AGX Dynamics 2.38.0.0
|
The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes. More...
Namespaces | |
namespace | Profiler |
namespace | TerrainContactForceCalculator |
Utility namespace for calculating excavation forces in the terrain. | |
Classes | |
class | ActiveZone |
struct | ActiveZoneIntersectionData |
class | AggregateContactDepthModel |
Class used to calculate the contact depth in the soil aggregate <-> terrain contacts to mimic an elasto-plastic contact model. More... | |
class | AggregateContactGenerator |
class | BasicGrid |
Pure virtual interface class for the data storage grid classes we have. More... | |
class | ColumnHeightGrid |
Class implementing the BasicGrid interface. More... | |
class | CompactionController |
Controller that handles compaction in the terrain from generated terrain contacts in TerrainContactGenerator The controller features two methods that calculate stress depth propagation in the terrain soil: BOUSSINESQ - Two part method that calculates the stress field by combining the calculated surface stress and subsoil stress based on the surface contact point loads. More... | |
class | DeformController |
class | DeformerActiveZone |
class | DeformerCollection |
class | ExternalTerrainDataSource |
This class provides a concrete, serializable base class which classes written in other languages can inherit from to create data sources. More... | |
class | Grid |
Extended pure virtual interface for Grid storage classes. More... | |
class | HashVoxelGrid |
Class implementing the BasicGrid interface. More... | |
class | PrimaryActiveZone |
class | ScopeTimer |
class | Shovel |
class | ShovelAggregateContactMaterialContainer |
Simple container class for storing and handling explicit contact material for shovel-aggregate contacts, indexed by specified excavation mode. More... | |
class | ShovelAggregateFrictionModel |
class | SoilParticleAggregate |
struct | SoilParticleStatistics |
class | SoilPenetrationResistance |
class | SoilSimulationInterface |
Interface class for accessing data and functions for the internal soil particle simulation used in agxTerrain. More... | |
class | SoilWedge |
class | Terrain |
A terrain model based a 3D grid model with overlapping height field that can be deformed by interacting shovels objects performing digging motions, converting solid mass to dynamic mass which can be moved. More... | |
class | TerrainCache |
The TerrainCache is used internally by the TerrainPager to provide requested terrain tiles. More... | |
class | TerrainContact |
Class that contains information about a terrain contact between an external object and the terrain geometry. More... | |
class | TerrainContactGenerator |
This class has two main responsibilities: More... | |
class | TerrainDataSource |
Abstract interface for requesting height data for a Terrain tile. More... | |
class | TerrainGridControl |
Interface class for accessing and manipulating the underlying 3D grid data in the terrain using terrain index (x,y) as well as depth index (z). More... | |
class | TerrainMassOccupancyController |
Class that handles and sanity checks the mass logic in the terrain. More... | |
class | TerrainMaterial |
This class is used to describe the general material properties of the Terrain. More... | |
class | TerrainMaterialLibrary |
Class that is used for interfacing with different TerrainMaterial presets with calibrated bulk and contact properties of different archetypes of soil, such as dirt, gravel and sand. More... | |
class | TerrainMaterialReaderWriter |
Utility class for reading and writing TerrainMaterial objects to JSON format. More... | |
class | TerrainPager |
A pager that will dynamically handle terrain tiles in a agxSDK::Simulation. More... | |
class | TerrainPhysics |
Utility class where most of the physics calculation used in agxTerrain is gathered. More... | |
class | TerrainProperties |
Class for containing and managing the different agxTerrain::Terrain settings. More... | |
class | TerrainRasterizer |
This class performs raycasting against the source geometry to get height data for tiles. More... | |
struct | TerrainTile |
Struct with data to describe a terrain tile. More... | |
class | TerrainToolCollection |
Collection of terrain tool (currently Shovel) related objects which are terrain instance specific. More... | |
class | TileModification |
TileModifications are used to provide a delta for paged terrain changes. More... | |
class | TileSpecification |
A TileSpecification determines where in the world a 2D TileId is located and contains utility methods for coordinate transforms. More... | |
class | TrajectoryCalculator |
struct | TrajectorySettings |
Functions | |
agx::Vec3 AGXTERRAIN_EXPORT | calculateContactReferencePoint (const agx::Vec3Vector &contactPoints) |
Calculates the reference point that will be used in the contact model from specified contact points. | |
agx::Vec3 AGXTERRAIN_EXPORT | calculateGravityVector (agxSDK::Simulation *simulation, const agx::Vec3 &position) |
Utility method for calculating the gravity vector given a point. | |
agx::Real AGXTERRAIN_EXPORT | calculateGv (agx::Vec3 normal, agx::Vec3 point, const agx::RigidBody *rb1, const agx::RigidBody *rb2) |
Utility method for calculating the relative velocity of two bodies in a contact normal direction. | |
agx::Real AGXTERRAIN_EXPORT | estimateContactDepth (agx::ContactMaterial *contactMaterial, TerrainToolCollection *collection, agx::Real contactVelocity, agx::Real contactGravity, agx::Real contactArea, agx::Real elasticRestLength, size_t numContacts) |
Utility method for estimating the contact depth of a shovel <-> aggregate contact from contact velocity and gravity. | |
agx::Real AGXTERRAIN_EXPORT | estimateMaximumAggregateForce (const TerrainToolCollection *collection, agx::Real soilAggregateMass, agx::Real contactArea, agx::Real frictionAngle) |
Estimate the maximum force that can be generated from a soil aggregate in the contact between the aggregate and the terrain. | |
AGXTERRAIN_EXPORT agx::Material * | findShovelMaterial (agxTerrain::Shovel *shovel) |
Find the agx::Material on the first contact valid contact geometry in the specified shovel. | |
agx::Real | getAverageContactForce (agxCollide::GeometryContactPtrVector matches, bool print=false) |
AGXTERRAIN_EXPORT agxCollide::Geometry * | getFirstContactValidGeometry (const agx::RigidBody *shovelBody) |
Get first contact valid geometry in the shovel rigid body for contact. | |
AGXTERRAIN_EXPORT bool | isValidContactGeometry (agxCollide::Geometry *geometry) |
Checks if the specified geometry is valid for creating aggregate contacts against. | |
AGXTERRAIN_EXPORT void | setShovelAggregateContactMaterialProperties (agx::ContactMaterial *shovelAggregateCM, agx::Real contactArea, const agx::RealVector &weights, TerrainToolCollection *collection) |
Set the shovel-aggregate contact material properties from a source contact material that should either be from regular shovel-terrain contact material based on a non-homogeneous configuration in the terrain. | |
AGXTERRAIN_EXPORT void | setShovelExplicitShovelContactMaterial (agx::ContactMaterial *shovelAggregateCM, agx::Real contactArea, const agx::ContactMaterial *sourceMaterial, const agx::RealVector &weights, TerrainToolCollection *collection) |
Set the shovel-aggregate contact material properties from a source contact material that should be a user-specified contact material for a given excavation mode. | |
AGXTERRAIN_EXPORT bool | setupShovelAggregateContactMaterial (agx::ContactMaterial *shovelAggregateCM, agx::Real contactArea, Shovel::ExcavationMode mode, TerrainToolCollection *collection, const agx::RealVector &weights) |
Configure the contact material that is to be used in shovel-aggregate contacts. | |
The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes.
typedef agx::observer_ptr< const ActiveZone > agxTerrain::ActiveZoneConstObserver |
Definition at line 49 of file ActiveZone.h.
typedef agx::ref_ptr< const ActiveZone > agxTerrain::ActiveZoneConstRef |
Definition at line 49 of file ActiveZone.h.
Definition at line 49 of file ActiveZone.h.
Definition at line 50 of file ActiveZone.h.
typedef agx::VectorPOD< ActiveZone *> agxTerrain::ActiveZonePtrVector |
Definition at line 50 of file ActiveZone.h.
typedef agx::ref_ptr< ActiveZone > agxTerrain::ActiveZoneRef |
Definition at line 49 of file ActiveZone.h.
Definition at line 50 of file ActiveZone.h.
typedef agx::observer_ptr< const AggregateContactGenerator > agxTerrain::AggregateContactGeneratorConstObserver |
Definition at line 40 of file AggregateContactGenerator.h.
typedef agx::ref_ptr< const AggregateContactGenerator > agxTerrain::AggregateContactGeneratorConstRef |
Definition at line 40 of file AggregateContactGenerator.h.
typedef agx::observer_ptr< AggregateContactGenerator > agxTerrain::AggregateContactGeneratorObserver |
Definition at line 40 of file AggregateContactGenerator.h.
Definition at line 40 of file AggregateContactGenerator.h.
typedef agx::observer_ptr< const BasicGrid > agxTerrain::BasicGridConstObserver |
typedef agx::ref_ptr< const BasicGrid > agxTerrain::BasicGridConstRef |
typedef agx::ref_ptr< BasicGrid > agxTerrain::BasicGridRef |
typedef agx::observer_ptr< const CompactionController > agxTerrain::CompactionControllerConstObserver |
Definition at line 39 of file CompactionController.h.
typedef agx::ref_ptr< const CompactionController > agxTerrain::CompactionControllerConstRef |
Definition at line 39 of file CompactionController.h.
Definition at line 39 of file CompactionController.h.
Definition at line 40 of file CompactionController.h.
Definition at line 40 of file CompactionController.h.
Definition at line 39 of file CompactionController.h.
Definition at line 40 of file CompactionController.h.
typedef agx::observer_ptr< const DeformController > agxTerrain::DeformControllerConstObserver |
Definition at line 27 of file DeformController.h.
typedef agx::ref_ptr< const DeformController > agxTerrain::DeformControllerConstRef |
Definition at line 27 of file DeformController.h.
Definition at line 27 of file DeformController.h.
Definition at line 27 of file DeformController.h.
Definition at line 29 of file DeformerActiveZone.h.
typedef agx::ref_ptr< const DeformerActiveZone > agxTerrain::DeformerActiveZoneConstRef |
Definition at line 29 of file DeformerActiveZone.h.
Definition at line 29 of file DeformerActiveZone.h.
Definition at line 29 of file DeformerActiveZone.h.
Definition at line 27 of file DeformerCollection.h.
typedef agx::ref_ptr< const DeformerCollection > agxTerrain::DeformerCollectionConstRef |
Definition at line 27 of file DeformerCollection.h.
Definition at line 27 of file DeformerCollection.h.
Definition at line 27 of file DeformerCollection.h.
Definition at line 36 of file CompactionController.h.
Definition at line 38 of file AggregateContactGenerator.h.
typedef agx::HashVector<agxCollide::Geometry*, agxCollide::LocalGeometryContact> agxTerrain::GeometryLocalContactTable |
Definition at line 37 of file AggregateContactGenerator.h.
typedef agx::observer_ptr< const Grid > agxTerrain::GridConstObserver |
typedef agx::ref_ptr< const Grid > agxTerrain::GridConstRef |
typedef agx::observer_ptr< Grid > agxTerrain::GridObserver |
typedef agx::ref_ptr< Grid > agxTerrain::GridRef |
typedef std::queue<agx::Vec2i> agxTerrain::IndexQueue |
Definition at line 47 of file TerrainContactGenerator.h.
typedef std::tuple<const agxCollide::Mesh*, agx::AffineMatrix4x4, agxCollide::BoundingAABB> agxTerrain::MeshIntersectionTestData |
typedef std::pair<agxCollide::MeshRef, agx::AffineMatrix4x4> agxTerrain::MeshTransformPair |
Definition at line 44 of file ActiveZone.h.
Definition at line 45 of file ActiveZone.h.
Definition at line 44 of file TerrainCache.h.
typedef agx::Vector<std::pair<SoilParticlePtr, float> > agxTerrain::ParticleDeltaVector |
typedef std::pair<SoilParticlePtr, agx::Real> agxTerrain::ParticleWeightPair |
typedef agx::observer_ptr< const PrimaryActiveZone > agxTerrain::PrimaryActiveZoneConstObserver |
Definition at line 28 of file PrimaryActiveZone.h.
typedef agx::ref_ptr< const PrimaryActiveZone > agxTerrain::PrimaryActiveZoneConstRef |
Definition at line 28 of file PrimaryActiveZone.h.
Definition at line 28 of file PrimaryActiveZone.h.
Definition at line 28 of file PrimaryActiveZone.h.
typedef agx::observer_ptr< const ScopeTimer > agxTerrain::ScopeTimerConstObserver |
Definition at line 44 of file ProfilingTools.h.
typedef agx::ref_ptr< const ScopeTimer > agxTerrain::ScopeTimerConstRef |
Definition at line 44 of file ProfilingTools.h.
Definition at line 44 of file ProfilingTools.h.
typedef agx::ref_ptr< ScopeTimer > agxTerrain::ScopeTimerRef |
Definition at line 44 of file ProfilingTools.h.
typedef std::tuple<const agxCollide::Shape*, agx::AffineMatrix4x4, agxCollide::BoundingAABB> agxTerrain::ShapeIntersectionTestData |
typedef agx::observer_ptr< const ShovelAggregateContactMaterialContainer > agxTerrain::ShovelAggregateContactMaterialContainerConstObserver |
Definition at line 28 of file ShovelAggregateContactUtils.h.
typedef agx::ref_ptr< const ShovelAggregateContactMaterialContainer > agxTerrain::ShovelAggregateContactMaterialContainerConstRef |
Definition at line 28 of file ShovelAggregateContactUtils.h.
typedef agx::observer_ptr< ShovelAggregateContactMaterialContainer > agxTerrain::ShovelAggregateContactMaterialContainerObserver |
Definition at line 28 of file ShovelAggregateContactUtils.h.
typedef agx::Vector< ShovelAggregateContactMaterialContainerObserver> agxTerrain::ShovelAggregateContactMaterialContainerObserverVector |
Definition at line 29 of file ShovelAggregateContactUtils.h.
typedef agx::VectorPOD< ShovelAggregateContactMaterialContainer *> agxTerrain::ShovelAggregateContactMaterialContainerPtrVector |
Definition at line 29 of file ShovelAggregateContactUtils.h.
typedef agx::ref_ptr< ShovelAggregateContactMaterialContainer > agxTerrain::ShovelAggregateContactMaterialContainerRef |
Definition at line 28 of file ShovelAggregateContactUtils.h.
typedef agx::Vector< ShovelAggregateContactMaterialContainerRef> agxTerrain::ShovelAggregateContactMaterialContainerRefVector |
Definition at line 29 of file ShovelAggregateContactUtils.h.
typedef agx::observer_ptr< const ShovelAggregateFrictionModel > agxTerrain::ShovelAggregateFrictionModelConstObserver |
Definition at line 33 of file TerrainFrictionModels.h.
typedef agx::ref_ptr< const ShovelAggregateFrictionModel > agxTerrain::ShovelAggregateFrictionModelConstRef |
Definition at line 33 of file TerrainFrictionModels.h.
typedef agx::observer_ptr< ShovelAggregateFrictionModel > agxTerrain::ShovelAggregateFrictionModelObserver |
Definition at line 33 of file TerrainFrictionModels.h.
Definition at line 33 of file TerrainFrictionModels.h.
typedef agx::observer_ptr< const Shovel > agxTerrain::ShovelConstObserver |
typedef agx::ref_ptr< const Shovel > agxTerrain::ShovelConstRef |
typedef agx::observer_ptr< Shovel > agxTerrain::ShovelObserver |
typedef agx::VectorPOD< Shovel *> agxTerrain::ShovelPtrVector |
typedef agx::ref_ptr< Shovel > agxTerrain::ShovelRef |
typedef agx::Vector< ShovelRef> agxTerrain::ShovelRefVector |
typedef agx::observer_ptr< const SoilParticleAggregate > agxTerrain::SoilParticleAggregateConstObserver |
Definition at line 36 of file SoilParticleAggregate.h.
typedef agx::ref_ptr< const SoilParticleAggregate > agxTerrain::SoilParticleAggregateConstRef |
Definition at line 36 of file SoilParticleAggregate.h.
Definition at line 36 of file SoilParticleAggregate.h.
Definition at line 37 of file SoilParticleAggregate.h.
Definition at line 37 of file SoilParticleAggregate.h.
Definition at line 36 of file SoilParticleAggregate.h.
Definition at line 37 of file SoilParticleAggregate.h.
typedef agx::Physics::GranularBodyPtrArray agxTerrain::SoilParticleArray |
Definition at line 28 of file SoilSimulationInterface.h.
typedef agx::Physics::GranularBodyPtr agxTerrain::SoilParticlePtr |
Definition at line 32 of file SoilParticleAggregate.h.
typedef agx::Physics::GranularBodyPtrVector agxTerrain::SoilParticlePtrVector |
Definition at line 33 of file SoilParticleAggregate.h.
typedef agx::Physics::GranularBodyPtrVector agxTerrain::SoilParticleVector |
Definition at line 27 of file SoilSimulationInterface.h.
typedef agx::observer_ptr< const SoilPenetrationResistance > agxTerrain::SoilPenetrationResistanceConstObserver |
Definition at line 30 of file SoilPenetrationResistance.h.
typedef agx::ref_ptr< const SoilPenetrationResistance > agxTerrain::SoilPenetrationResistanceConstRef |
Definition at line 30 of file SoilPenetrationResistance.h.
typedef agx::observer_ptr< SoilPenetrationResistance > agxTerrain::SoilPenetrationResistanceObserver |
Definition at line 30 of file SoilPenetrationResistance.h.
Definition at line 30 of file SoilPenetrationResistance.h.
typedef agx::observer_ptr< const SoilSimulationInterface > agxTerrain::SoilSimulationInterfaceConstObserver |
Definition at line 30 of file SoilSimulationInterface.h.
Definition at line 30 of file SoilSimulationInterface.h.
Definition at line 30 of file SoilSimulationInterface.h.
Definition at line 30 of file SoilSimulationInterface.h.
Definition at line 127 of file SoilWedge.h.
typedef agx::observer_ptr< const Terrain > agxTerrain::TerrainConstObserver |
typedef agx::ref_ptr< const Terrain > agxTerrain::TerrainConstRef |
typedef agx::observer_ptr< const TerrainContact > agxTerrain::TerrainContactConstObserver |
Definition at line 29 of file TerrainContact.h.
typedef agx::ref_ptr< const TerrainContact > agxTerrain::TerrainContactConstRef |
Definition at line 29 of file TerrainContact.h.
typedef agx::observer_ptr< const TerrainContactGenerator > agxTerrain::TerrainContactGeneratorConstObserver |
Definition at line 49 of file TerrainContactGenerator.h.
Definition at line 49 of file TerrainContactGenerator.h.
Definition at line 49 of file TerrainContactGenerator.h.
typedef agx::Vector< TerrainContactGeneratorObserver> agxTerrain::TerrainContactGeneratorObserverVector |
Definition at line 50 of file TerrainContactGenerator.h.
Definition at line 50 of file TerrainContactGenerator.h.
Definition at line 49 of file TerrainContactGenerator.h.
Definition at line 50 of file TerrainContactGenerator.h.
Definition at line 29 of file TerrainContact.h.
Definition at line 30 of file TerrainContact.h.
Definition at line 30 of file TerrainContact.h.
Definition at line 29 of file TerrainContact.h.
Definition at line 30 of file TerrainContact.h.
typedef agx::observer_ptr< const TerrainDataSource > agxTerrain::TerrainDataSourceConstObserver |
Definition at line 34 of file TerrainDataSource.h.
typedef agx::ref_ptr< const TerrainDataSource > agxTerrain::TerrainDataSourceConstRef |
Definition at line 34 of file TerrainDataSource.h.
Definition at line 34 of file TerrainDataSource.h.
Definition at line 34 of file TerrainDataSource.h.
Definition at line 27 of file TerrainGridControl.h.
typedef agx::ref_ptr< const TerrainGridControl > agxTerrain::TerrainGridControlConstRef |
Definition at line 27 of file TerrainGridControl.h.
Definition at line 27 of file TerrainGridControl.h.
Definition at line 28 of file TerrainGridControl.h.
Definition at line 28 of file TerrainGridControl.h.
Definition at line 27 of file TerrainGridControl.h.
Definition at line 28 of file TerrainGridControl.h.
using agxTerrain::TerrainIndexSet = typedef agx::HashSet<agx::Vec2i> |
Definition at line 27 of file TerrainContact.h.
typedef agx::observer_ptr< const TerrainMassOccupancyController > agxTerrain::TerrainMassOccupancyControllerConstObserver |
Definition at line 29 of file TerrainMassOccupancyController.h.
typedef agx::ref_ptr< const TerrainMassOccupancyController > agxTerrain::TerrainMassOccupancyControllerConstRef |
Definition at line 29 of file TerrainMassOccupancyController.h.
typedef agx::observer_ptr< TerrainMassOccupancyController > agxTerrain::TerrainMassOccupancyControllerObserver |
Definition at line 29 of file TerrainMassOccupancyController.h.
typedef agx::Vector< TerrainMassOccupancyControllerObserver> agxTerrain::TerrainMassOccupancyControllerObserverVector |
Definition at line 30 of file TerrainMassOccupancyController.h.
typedef agx::VectorPOD< TerrainMassOccupancyController *> agxTerrain::TerrainMassOccupancyControllerPtrVector |
Definition at line 30 of file TerrainMassOccupancyController.h.
typedef agx::ref_ptr< TerrainMassOccupancyController > agxTerrain::TerrainMassOccupancyControllerRef |
Definition at line 29 of file TerrainMassOccupancyController.h.
typedef agx::Vector< TerrainMassOccupancyControllerRef> agxTerrain::TerrainMassOccupancyControllerRefVector |
Definition at line 30 of file TerrainMassOccupancyController.h.
typedef agx::observer_ptr< const TerrainMaterial > agxTerrain::TerrainMaterialConstObserver |
Definition at line 27 of file TerrainMaterial.h.
typedef agx::ref_ptr< const TerrainMaterial > agxTerrain::TerrainMaterialConstRef |
Definition at line 27 of file TerrainMaterial.h.
Definition at line 27 of file TerrainMaterial.h.
Definition at line 27 of file TerrainMaterial.h.
typedef agx::observer_ptr< Terrain > agxTerrain::TerrainObserver |
typedef agx::observer_ptr< const TerrainPager > agxTerrain::TerrainPagerConstObserver |
Definition at line 38 of file TerrainPager.h.
typedef agx::ref_ptr< const TerrainPager > agxTerrain::TerrainPagerConstRef |
Definition at line 38 of file TerrainPager.h.
Definition at line 38 of file TerrainPager.h.
Definition at line 39 of file TerrainPager.h.
Definition at line 39 of file TerrainPager.h.
typedef agx::ref_ptr< TerrainPager > agxTerrain::TerrainPagerRef |
Definition at line 38 of file TerrainPager.h.
Definition at line 39 of file TerrainPager.h.
typedef agx::observer_ptr< const TerrainProperties > agxTerrain::TerrainPropertiesConstObserver |
Definition at line 27 of file TerrainProperties.h.
typedef agx::ref_ptr< const TerrainProperties > agxTerrain::TerrainPropertiesConstRef |
Definition at line 27 of file TerrainProperties.h.
Definition at line 27 of file TerrainProperties.h.
Definition at line 27 of file TerrainProperties.h.
typedef agx::VectorPOD< Terrain *> agxTerrain::TerrainPtrVector |
typedef agx::ref_ptr< Terrain > agxTerrain::TerrainRef |
typedef agx::observer_ptr< const TerrainToolCollection > agxTerrain::TerrainToolCollectionConstObserver |
Definition at line 29 of file TerrainToolCollection.h.
typedef agx::ref_ptr< const TerrainToolCollection > agxTerrain::TerrainToolCollectionConstRef |
Definition at line 29 of file TerrainToolCollection.h.
Definition at line 29 of file TerrainToolCollection.h.
Definition at line 30 of file TerrainToolCollection.h.
Definition at line 30 of file TerrainToolCollection.h.
Definition at line 29 of file TerrainToolCollection.h.
Definition at line 30 of file TerrainToolCollection.h.
typedef agx::Vec2i32 agxTerrain::TileId |
A TileId is a 2D-coordinate that specifies where a in grid a tile is located.
Together with a TileSpecification, a location in world coordinates can be calculated.
Definition at line 48 of file TileSpecification.h.
Definition at line 62 of file TileSpecification.h.
typedef agx::Vector<std::array<agx::Vec3, 3> > agxTerrain::TriangleVector |
Definition at line 34 of file SoilParticleAggregate.h.
Definition at line 37 of file CompactionController.h.
using agxTerrain::WedgePlaneVector = typedef agx::Vector<std::array<agx::Plane, 3> > |
Definition at line 47 of file ActiveZone.h.
agx::Vec3 AGXTERRAIN_EXPORT agxTerrain::calculateContactReferencePoint | ( | const agx::Vec3Vector & | contactPoints | ) |
Calculates the reference point that will be used in the contact model from specified contact points.
contactPoints | - The contact points that is used to calculate the reference point used in the contact model |
agx::Vec3 AGXTERRAIN_EXPORT agxTerrain::calculateGravityVector | ( | agxSDK::Simulation * | simulation, |
const agx::Vec3 & | position | ||
) |
Utility method for calculating the gravity vector given a point.
Used in the shovel <-> aggregate contact model and in penetration resistance. This function is used to handle terrain gravity computation for different types gravity fields.
agx::Real AGXTERRAIN_EXPORT agxTerrain::calculateGv | ( | agx::Vec3 | normal, |
agx::Vec3 | point, | ||
const agx::RigidBody * | rb1, | ||
const agx::RigidBody * | rb2 | ||
) |
Utility method for calculating the relative velocity of two bodies in a contact normal direction.
agx::Real AGXTERRAIN_EXPORT agxTerrain::estimateContactDepth | ( | agx::ContactMaterial * | contactMaterial, |
TerrainToolCollection * | collection, | ||
agx::Real | contactVelocity, | ||
agx::Real | contactGravity, | ||
agx::Real | contactArea, | ||
agx::Real | elasticRestLength, | ||
size_t | numContacts | ||
) |
Utility method for estimating the contact depth of a shovel <-> aggregate contact from contact velocity and gravity.
agx::Real AGXTERRAIN_EXPORT agxTerrain::estimateMaximumAggregateForce | ( | const TerrainToolCollection * | collection, |
agx::Real | soilAggregateMass, | ||
agx::Real | contactArea, | ||
agx::Real | frictionAngle | ||
) |
Estimate the maximum force that can be generated from a soil aggregate in the contact between the aggregate and the terrain.
This is based on the Mohr-Coulomb criteria for soil failure.
collection | - The specified collection. |
soilAggregateMass | - the mass of the specified soil aggregate in the contact. |
contactArea | - the contact area in the aggregate <-> terrain contact. |
AGXTERRAIN_EXPORT agx::Material * agxTerrain::findShovelMaterial | ( | agxTerrain::Shovel * | shovel | ) |
Find the agx::Material on the first contact valid contact geometry in the specified shovel.
shovel | - the specified shovel. |
agx::Real agxTerrain::getAverageContactForce | ( | agxCollide::GeometryContactPtrVector | matches, |
bool | print = false |
||
) |
AGXTERRAIN_EXPORT agxCollide::Geometry * agxTerrain::getFirstContactValidGeometry | ( | const agx::RigidBody * | shovelBody | ) |
Get first contact valid geometry in the shovel rigid body for contact.
The geometry must be enabled and also not a sensor.
shovelBody | - The rigid body of the Shovel that will be checked. |
AGXTERRAIN_EXPORT bool agxTerrain::isValidContactGeometry | ( | agxCollide::Geometry * | geometry | ) |
Checks if the specified geometry is valid for creating aggregate contacts against.
AGXTERRAIN_EXPORT void agxTerrain::setShovelAggregateContactMaterialProperties | ( | agx::ContactMaterial * | shovelAggregateCM, |
agx::Real | contactArea, | ||
const agx::RealVector & | weights, | ||
TerrainToolCollection * | collection | ||
) |
Set the shovel-aggregate contact material properties from a source contact material that should either be from regular shovel-terrain contact material based on a non-homogeneous configuration in the terrain.
shovelAggregateCM | - the shovel-aggregate contact material where properties will be set. |
contactArea | - The area of the shovel-aggregate contact for the specified excavation mode. Used in scaling of Young's modulus. |
weights | - the weights vector used to average the contact materials in the terrain. |
collection | - The specified collection that has the shovel object in the contact. |
AGXTERRAIN_EXPORT void agxTerrain::setShovelExplicitShovelContactMaterial | ( | agx::ContactMaterial * | shovelAggregateCM, |
agx::Real | contactArea, | ||
const agx::ContactMaterial * | sourceMaterial, | ||
const agx::RealVector & | weights, | ||
TerrainToolCollection * | collection | ||
) |
Set the shovel-aggregate contact material properties from a source contact material that should be a user-specified contact material for a given excavation mode.
shovelAggregateCM | - the shovel-aggregate contact material where properties will be set. |
contactArea | - The area of the shovel-aggregate contact for the specified excavation mode. Used in scaling of Young's modulus. |
sourceMaterial | - the base material whose properties will be used in the setup. |
weights | - the weights vector used to average the contact materials in the terrain. |
collection | - The specified collection that has the shovel object in the contact. |
AGXTERRAIN_EXPORT bool agxTerrain::setupShovelAggregateContactMaterial | ( | agx::ContactMaterial * | shovelAggregateCM, |
agx::Real | contactArea, | ||
Shovel::ExcavationMode | mode, | ||
TerrainToolCollection * | collection, | ||
const agx::RealVector & | weights | ||
) |
Configure the contact material that is to be used in shovel-aggregate contacts.
The contact material properties are set from the contact material between the shovel geometries and the terrain geometry by default. The user can override it by specifying an explicit contact material that is used in the different kinds of excavation modes. See 'setShovelAggregateContactMaterial' in agxTerrain::Terrain.
shovelAggregateCM | - the shovel-aggregate contact material that should be configured. |
contactArea | - The area of the shovel-aggregate contact for the specified excavation mode. Used in scaling of Young's modulus. |
mode | - the excavation mode that is used to search if an explicit contact material has be set for the contact. If so, it is used instead of the shovel-terrain contact material. |
collection | - The specified collection that has the shovel object in the contact. |