AGX Dynamics 2.40.0.0
Loading...
Searching...
No Matches
agxTerrain Namespace Reference

The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes. More...

Namespaces

namespace  deprecated
 
namespace  GroundCollapse
 
namespace  Profiler
 
namespace  TerrainContactForceCalculator
 Utility namespace for calculating excavation forces in the terrain.
 

Classes

class  ActiveZone
 
struct  ActiveZoneIntersectionData
 
class  AdvancedShovelSettings
 
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  ClamShellBucket
 ClamShellBucket is a CompositeShovel class that models a clamshell bucket that consists of two opposing shovels. 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  CompositeShovel
 CompositeShovel is a base abstract class representation of Shovels types that consists of multiple child Shovel instances. 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  ForbiddenBound
 Class for specifying a 3D bound where terrain operations like merging and avalanching is forbbiden. More...
 
class  ForbiddenIndex2DBound
 Class for specifying a 2D terrain index bound where terrain operations like merging and avalanching is forbbiden. More...
 
class  ForbiddenIndexBound
 Class for specifying a 3D terrain index bound where terrain operations like merging and avalanching is forbbiden. More...
 
class  Grid
 Extended pure virtual interface for Grid storage classes. More...
 
struct  GridElement
 
class  HashVoxelGrid
 Class implementing the BasicGrid interface. More...
 
class  IForbiddenBound
 Base abstract class for specifying different types of bounds bound where terrain operations like merging and avalanching is forbbiden. More...
 
struct  PointData
 
class  PrimaryActiveZone
 
class  ScopeReportSystemJob
 
class  ScopeTimer
 
class  Shovel
 Shovel object used to interact with a terrain via an active zone that converts solid terrain to dynamic terrain which can be moved by the shovel rigid body. More...
 
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  ShovelSettings
 
class  ShovelUtils
 
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  TerrainJournalRecorder
 
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  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...
 
struct  ToolShapeData
 
class  TrajectoryCalculator
 
struct  TrajectorySettings
 
class  VoxelGridUtils
 

Typedefs

typedef agx::observer_ptr< const ActiveZoneActiveZoneConstObserver
 
typedef agx::ref_ptr< const ActiveZoneActiveZoneConstRef
 
typedef agx::observer_ptr< ActiveZoneActiveZoneObserver
 
typedef agx::Vector< ActiveZoneObserverActiveZoneObserverVector
 
typedef agx::VectorPOD< ActiveZone * > ActiveZonePtrVector
 
typedef agx::ref_ptr< ActiveZoneActiveZoneRef
 
typedef agx::Vector< ActiveZoneRefActiveZoneRefVector
 
typedef agx::Vector< MeshIntersectionTestDataActiveZoneShapes
 
typedef agx::observer_ptr< const AdvancedShovelSettingsAdvancedShovelSettingsConstObserver
 
typedef agx::ref_ptr< const AdvancedShovelSettingsAdvancedShovelSettingsConstRef
 
typedef agx::observer_ptr< AdvancedShovelSettingsAdvancedShovelSettingsObserver
 
typedef agx::ref_ptr< AdvancedShovelSettingsAdvancedShovelSettingsRef
 
typedef agx::observer_ptr< const AggregateContactGeneratorAggregateContactGeneratorConstObserver
 
typedef agx::ref_ptr< const AggregateContactGeneratorAggregateContactGeneratorConstRef
 
typedef agx::observer_ptr< AggregateContactGeneratorAggregateContactGeneratorObserver
 
typedef agx::ref_ptr< AggregateContactGeneratorAggregateContactGeneratorRef
 
typedef agx::observer_ptr< const BasicGridBasicGridConstObserver
 
typedef agx::ref_ptr< const BasicGridBasicGridConstRef
 
typedef agx::observer_ptr< BasicGridBasicGridObserver
 
typedef agx::ref_ptr< BasicGridBasicGridRef
 
typedef agx::observer_ptr< const ClamShellBucketClamShellBucketConstObserver
 
typedef agx::ref_ptr< const ClamShellBucketClamShellBucketConstRef
 
typedef agx::observer_ptr< ClamShellBucketClamShellBucketObserver
 
typedef agx::Vector< ClamShellBucketObserverClamShellBucketObserverVector
 
typedef agx::VectorPOD< ClamShellBucket * > ClamShellBucketPtrVector
 
typedef agx::ref_ptr< ClamShellBucketClamShellBucketRef
 
typedef agx::Vector< ClamShellBucketRefClamShellBucketRefVector
 
typedef agx::observer_ptr< const ClamShellDebugRenderSettings > ClamShellDebugRenderSettingsConstObserver
 
typedef agx::ref_ptr< const ClamShellDebugRenderSettings > ClamShellDebugRenderSettingsConstRef
 
typedef agx::observer_ptr< ClamShellDebugRenderSettings > ClamShellDebugRenderSettingsObserver
 
typedef agx::ref_ptr< ClamShellDebugRenderSettings > ClamShellDebugRenderSettingsRef
 
typedef agx::observer_ptr< const CompactionControllerCompactionControllerConstObserver
 
typedef agx::ref_ptr< const CompactionControllerCompactionControllerConstRef
 
typedef agx::observer_ptr< CompactionControllerCompactionControllerObserver
 
typedef agx::Vector< CompactionControllerObserverCompactionControllerObserverVector
 
typedef agx::VectorPOD< CompactionController * > CompactionControllerPtrVector
 
typedef agx::ref_ptr< CompactionControllerCompactionControllerRef
 
typedef agx::Vector< CompactionControllerRefCompactionControllerRefVector
 
typedef agx::observer_ptr< const CompositeShovelCompositeShovelConstObserver
 
typedef agx::ref_ptr< const CompositeShovelCompositeShovelConstRef
 
typedef agx::observer_ptr< CompositeShovelCompositeShovelObserver
 
typedef agx::Vector< CompositeShovelObserverCompositeShovelObserverVector
 
typedef agx::VectorPOD< CompositeShovel * > CompositeShovelPtrVector
 
typedef agx::ref_ptr< CompositeShovelCompositeShovelRef
 
typedef agx::Vector< CompositeShovelRefCompositeShovelRefVector
 
typedef agx::observer_ptr< const DeformControllerDeformControllerConstObserver
 
typedef agx::ref_ptr< const DeformControllerDeformControllerConstRef
 
typedef agx::observer_ptr< DeformControllerDeformControllerObserver
 
typedef agx::ref_ptr< DeformControllerDeformControllerRef
 
typedef agx::observer_ptr< const DeformerActiveZoneDeformerActiveZoneConstObserver
 
typedef agx::ref_ptr< const DeformerActiveZoneDeformerActiveZoneConstRef
 
typedef agx::observer_ptr< DeformerActiveZoneDeformerActiveZoneObserver
 
typedef agx::ref_ptr< DeformerActiveZoneDeformerActiveZoneRef
 
typedef agx::observer_ptr< const DeformerCollectionDeformerCollectionConstObserver
 
typedef agx::ref_ptr< const DeformerCollectionDeformerCollectionConstRef
 
typedef agx::observer_ptr< DeformerCollectionDeformerCollectionObserver
 
typedef agx::ref_ptr< DeformerCollectionDeformerCollectionRef
 
typedef agx::observer_ptr< const ForbiddenBoundForbiddenBoundConstObserver
 
typedef agx::ref_ptr< const ForbiddenBoundForbiddenBoundConstRef
 
typedef agx::observer_ptr< ForbiddenBoundForbiddenBoundObserver
 
typedef agx::ref_ptr< ForbiddenBoundForbiddenBoundRef
 
typedef agx::observer_ptr< const ForbiddenIndex2DBoundForbiddenIndex2DBoundConstObserver
 
typedef agx::ref_ptr< const ForbiddenIndex2DBoundForbiddenIndex2DBoundConstRef
 
typedef agx::observer_ptr< ForbiddenIndex2DBoundForbiddenIndex2DBoundObserver
 
typedef agx::ref_ptr< ForbiddenIndex2DBoundForbiddenIndex2DBoundRef
 
typedef agx::observer_ptr< const ForbiddenIndexBoundForbiddenIndexBoundConstObserver
 
typedef agx::ref_ptr< const ForbiddenIndexBoundForbiddenIndexBoundConstRef
 
typedef agx::observer_ptr< ForbiddenIndexBoundForbiddenIndexBoundObserver
 
typedef agx::ref_ptr< ForbiddenIndexBoundForbiddenIndexBoundRef
 
typedef agx::HashTable< agxCollide::Geometry *, agx::RealGeometryContactTimeTable
 
typedef agx::HashSet< agxCollide::Geometry * > GeometryHashSet
 
typedef agx::HashVector< agxCollide::Geometry *, agxCollide::LocalGeometryContactGeometryLocalContactTable
 
typedef agx::observer_ptr< const GridGridConstObserver
 
typedef agx::ref_ptr< const GridGridConstRef
 
typedef agx::observer_ptr< GridGridObserver
 
typedef agx::ref_ptr< GridGridRef
 
typedef agx::observer_ptr< const IForbiddenBoundIForbiddenBoundConstObserver
 
typedef agx::ref_ptr< const IForbiddenBoundIForbiddenBoundConstRef
 
typedef agx::observer_ptr< IForbiddenBoundIForbiddenBoundObserver
 
typedef agx::Vector< IForbiddenBoundObserverIForbiddenBoundObserverVector
 
typedef agx::VectorPOD< IForbiddenBound * > IForbiddenBoundPtrVector
 
typedef agx::ref_ptr< IForbiddenBoundIForbiddenBoundRef
 
typedef agx::Vector< IForbiddenBoundRefIForbiddenBoundRefVector
 
typedef std::queue< agx::Vec2iIndexQueue
 
typedef agx::HashTable< agx::Vec3i, ParticleWeightPairVectorIndexToParticleWeightPairVector
 
typedef std::tuple< const agxCollide::Mesh *, agx::AffineMatrix4x4, agxCollide::BoundingAABBMeshIntersectionTestData
 
typedef std::pair< agxCollide::MeshRef, agx::AffineMatrix4x4MeshTransformPair
 
typedef agx::Vector< MeshTransformPairMeshTransformPairVector
 
typedef agx::VectorPOD< agx::RealVectormodifiedCompactionVector
 
typedef agx::SetVector< agx::Vec2iModifiedVerticesSetVector
 
typedef agx::Vector< agx::Vec2iModifiedVerticesVector
 
typedef agx::Vector< std::pair< SoilParticlePtr, float > > ParticleDeltaVector
 
typedef std::pair< SoilParticlePtr, agx::RealParticleWeightPair
 
typedef agx::Vector< ParticleWeightPairParticleWeightPairVector
 
typedef agx::observer_ptr< const PrimaryActiveZonePrimaryActiveZoneConstObserver
 
typedef agx::ref_ptr< const PrimaryActiveZonePrimaryActiveZoneConstRef
 
typedef agx::observer_ptr< PrimaryActiveZonePrimaryActiveZoneObserver
 
typedef agx::ref_ptr< PrimaryActiveZonePrimaryActiveZoneRef
 
typedef agx::observer_ptr< const ScopeReportSystemJobScopeReportSystemJobConstObserver
 
typedef agx::ref_ptr< const ScopeReportSystemJobScopeReportSystemJobConstRef
 
typedef agx::observer_ptr< ScopeReportSystemJobScopeReportSystemJobObserver
 
typedef agx::ref_ptr< ScopeReportSystemJobScopeReportSystemJobRef
 
typedef agx::observer_ptr< const ScopeTimerScopeTimerConstObserver
 
typedef agx::ref_ptr< const ScopeTimerScopeTimerConstRef
 
typedef agx::observer_ptr< ScopeTimerScopeTimerObserver
 
typedef agx::ref_ptr< ScopeTimerScopeTimerRef
 
typedef std::tuple< const agxCollide::Shape *, agx::AffineMatrix4x4, agxCollide::BoundingAABBShapeIntersectionTestData
 
typedef agx::observer_ptr< const ShovelAggregateContactMaterialContainerShovelAggregateContactMaterialContainerConstObserver
 
typedef agx::ref_ptr< const ShovelAggregateContactMaterialContainerShovelAggregateContactMaterialContainerConstRef
 
typedef agx::observer_ptr< ShovelAggregateContactMaterialContainerShovelAggregateContactMaterialContainerObserver
 
typedef agx::Vector< ShovelAggregateContactMaterialContainerObserverShovelAggregateContactMaterialContainerObserverVector
 
typedef agx::VectorPOD< ShovelAggregateContactMaterialContainer * > ShovelAggregateContactMaterialContainerPtrVector
 
typedef agx::ref_ptr< ShovelAggregateContactMaterialContainerShovelAggregateContactMaterialContainerRef
 
typedef agx::Vector< ShovelAggregateContactMaterialContainerRefShovelAggregateContactMaterialContainerRefVector
 
typedef agx::observer_ptr< const ShovelAggregateFrictionModelShovelAggregateFrictionModelConstObserver
 
typedef agx::ref_ptr< const ShovelAggregateFrictionModelShovelAggregateFrictionModelConstRef
 
typedef agx::observer_ptr< ShovelAggregateFrictionModelShovelAggregateFrictionModelObserver
 
typedef agx::ref_ptr< ShovelAggregateFrictionModelShovelAggregateFrictionModelRef
 
typedef agx::observer_ptr< const ShovelShovelConstObserver
 
typedef agx::ref_ptr< const ShovelShovelConstRef
 
typedef agx::observer_ptr< ShovelShovelObserver
 
typedef agx::Vector< ShovelObserverShovelObserverVector
 
typedef agx::VectorPOD< Shovel * > ShovelPtrVector
 
typedef agx::ref_ptr< ShovelShovelRef
 
typedef agx::Vector< ShovelRefShovelRefVector
 
typedef agx::observer_ptr< const ShovelSettingsShovelSettingsConstObserver
 
typedef agx::ref_ptr< const ShovelSettingsShovelSettingsConstRef
 
typedef agx::observer_ptr< ShovelSettingsShovelSettingsObserver
 
typedef agx::ref_ptr< ShovelSettingsShovelSettingsRef
 
typedef agx::observer_ptr< const SoilParticleAggregateSoilParticleAggregateConstObserver
 
typedef agx::ref_ptr< const SoilParticleAggregateSoilParticleAggregateConstRef
 
typedef agx::observer_ptr< SoilParticleAggregateSoilParticleAggregateObserver
 
typedef agx::Vector< SoilParticleAggregateObserverSoilParticleAggregateObserverVector
 
typedef agx::VectorPOD< SoilParticleAggregate * > SoilParticleAggregatePtrVector
 
typedef agx::ref_ptr< SoilParticleAggregateSoilParticleAggregateRef
 
typedef agx::Vector< SoilParticleAggregateRefSoilParticleAggregateRefVector
 
typedef agx::Physics::GranularBodyPtrArray SoilParticleArray
 
typedef agx::Physics::GranularBodyPtr SoilParticlePtr
 
typedef agx::Physics::GranularBodyPtrVector SoilParticlePtrVector
 
typedef agx::Physics::GranularBodyPtrVector SoilParticleVector
 
typedef agx::observer_ptr< const SoilPenetrationResistanceSoilPenetrationResistanceConstObserver
 
typedef agx::ref_ptr< const SoilPenetrationResistanceSoilPenetrationResistanceConstRef
 
typedef agx::observer_ptr< SoilPenetrationResistanceSoilPenetrationResistanceObserver
 
typedef agx::ref_ptr< SoilPenetrationResistanceSoilPenetrationResistanceRef
 
typedef agx::observer_ptr< const SoilSimulationInterfaceSoilSimulationInterfaceConstObserver
 
typedef agx::ref_ptr< const SoilSimulationInterfaceSoilSimulationInterfaceConstRef
 
typedef agx::observer_ptr< SoilSimulationInterfaceSoilSimulationInterfaceObserver
 
typedef agx::ref_ptr< SoilSimulationInterfaceSoilSimulationInterfaceRef
 
typedef agx::Vector< SoilWedgeSoilWedgeVector
 
typedef agx::observer_ptr< const TerrainTerrainConstObserver
 
typedef agx::ref_ptr< const TerrainTerrainConstRef
 
typedef agx::observer_ptr< const TerrainContactTerrainContactConstObserver
 
typedef agx::ref_ptr< const TerrainContactTerrainContactConstRef
 
typedef agx::observer_ptr< const TerrainContactGeneratorTerrainContactGeneratorConstObserver
 
typedef agx::ref_ptr< const TerrainContactGeneratorTerrainContactGeneratorConstRef
 
typedef agx::observer_ptr< TerrainContactGeneratorTerrainContactGeneratorObserver
 
typedef agx::Vector< TerrainContactGeneratorObserverTerrainContactGeneratorObserverVector
 
typedef agx::VectorPOD< TerrainContactGenerator * > TerrainContactGeneratorPtrVector
 
typedef agx::ref_ptr< TerrainContactGeneratorTerrainContactGeneratorRef
 
typedef agx::Vector< TerrainContactGeneratorRefTerrainContactGeneratorRefVector
 
typedef agx::observer_ptr< TerrainContactTerrainContactObserver
 
typedef agx::Vector< TerrainContactObserverTerrainContactObserverVector
 
typedef agx::VectorPOD< TerrainContact * > TerrainContactPtrVector
 
typedef agx::ref_ptr< TerrainContactTerrainContactRef
 
typedef agx::Vector< TerrainContactRefTerrainContactRefVector
 
typedef agx::observer_ptr< const TerrainDataSourceTerrainDataSourceConstObserver
 
typedef agx::ref_ptr< const TerrainDataSourceTerrainDataSourceConstRef
 
typedef agx::observer_ptr< TerrainDataSourceTerrainDataSourceObserver
 
typedef agx::ref_ptr< TerrainDataSourceTerrainDataSourceRef
 
typedef agx::observer_ptr< const TerrainGridControlTerrainGridControlConstObserver
 
typedef agx::ref_ptr< const TerrainGridControlTerrainGridControlConstRef
 
typedef agx::observer_ptr< TerrainGridControlTerrainGridControlObserver
 
typedef agx::Vector< TerrainGridControlObserverTerrainGridControlObserverVector
 
typedef agx::VectorPOD< TerrainGridControl * > TerrainGridControlPtrVector
 
typedef agx::ref_ptr< TerrainGridControlTerrainGridControlRef
 
typedef agx::Vector< TerrainGridControlRefTerrainGridControlRefVector
 
using TerrainIndexSet = agx::HashSet< agx::Vec2i >
 
typedef agx::HashTable< agx::Vec2i, agx::RealTerrainIndexToDepthTable
 
typedef agx::observer_ptr< const TerrainJournalRecorderTerrainJournalRecorderConstObserver
 
typedef agx::ref_ptr< const TerrainJournalRecorderTerrainJournalRecorderConstRef
 
typedef agx::observer_ptr< TerrainJournalRecorderTerrainJournalRecorderObserver
 
typedef agx::ref_ptr< TerrainJournalRecorderTerrainJournalRecorderRef
 
typedef agx::observer_ptr< const TerrainMassOccupancyControllerTerrainMassOccupancyControllerConstObserver
 
typedef agx::ref_ptr< const TerrainMassOccupancyControllerTerrainMassOccupancyControllerConstRef
 
typedef agx::observer_ptr< TerrainMassOccupancyControllerTerrainMassOccupancyControllerObserver
 
typedef agx::Vector< TerrainMassOccupancyControllerObserverTerrainMassOccupancyControllerObserverVector
 
typedef agx::VectorPOD< TerrainMassOccupancyController * > TerrainMassOccupancyControllerPtrVector
 
typedef agx::ref_ptr< TerrainMassOccupancyControllerTerrainMassOccupancyControllerRef
 
typedef agx::Vector< TerrainMassOccupancyControllerRefTerrainMassOccupancyControllerRefVector
 
typedef agx::observer_ptr< const TerrainMaterialTerrainMaterialConstObserver
 
typedef agx::ref_ptr< const TerrainMaterialTerrainMaterialConstRef
 
typedef agx::observer_ptr< TerrainMaterialTerrainMaterialObserver
 
typedef agx::ref_ptr< TerrainMaterialTerrainMaterialRef
 
typedef agx::observer_ptr< TerrainTerrainObserver
 
typedef agx::Vector< TerrainObserverTerrainObserverVector
 
typedef agx::observer_ptr< const TerrainPagerTerrainPagerConstObserver
 
typedef agx::ref_ptr< const TerrainPagerTerrainPagerConstRef
 
typedef agx::observer_ptr< TerrainPagerTerrainPagerObserver
 
typedef agx::Vector< TerrainPagerObserverTerrainPagerObserverVector
 
typedef agx::VectorPOD< TerrainPager * > TerrainPagerPtrVector
 
typedef agx::ref_ptr< TerrainPagerTerrainPagerRef
 
typedef agx::Vector< TerrainPagerRefTerrainPagerRefVector
 
typedef agx::observer_ptr< const TerrainPropertiesTerrainPropertiesConstObserver
 
typedef agx::ref_ptr< const TerrainPropertiesTerrainPropertiesConstRef
 
typedef agx::observer_ptr< TerrainPropertiesTerrainPropertiesObserver
 
typedef agx::ref_ptr< TerrainPropertiesTerrainPropertiesRef
 
using TerrainPtrVec = agx::VectorPOD< Terrain * >
 
typedef agx::VectorPOD< Terrain * > TerrainPtrVector
 
typedef agx::ref_ptr< TerrainTerrainRef
 
typedef agx::Vector< TerrainRefTerrainRefVector
 
typedef agx::Vec2i32 TileId
 A TileId is a 2D-coordinate that specifies where a in grid a tile is located.
 
typedef agx::VectorPOD< TileModificationTileModificationVector
 
typedef agx::Vector< std::array< agx::Vec3, 3 > > TriangleVector
 
typedef agx::HashSet< agx::Vec3iVoxelHashSet
 
typedef agx::HashSet< agx::Vec3iVoxelIndexSet
 
typedef agx::HashTable< agx::Vec3i, agx::RealVoxelStressTable
 
using WedgePlaneVector = agx::Vector< std::array< agx::Plane, 3 > >
 

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 (const agx::Vec3 &normal, const 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.
 
agxCollide::LocalGeometryContactVector AGXTERRAIN_EXPORT computeAggregatePairContacts (agxTerrain::Shovel *shovel1, agxTerrain::Shovel *shovel2, agx::ContactMaterial *contactMaterial=nullptr, bool debugRenderContacts=false, agx::Real size=0.1)
 Computes the contact set between two aggregate in the cut top plane of shovel one.
 
AGXTERRAIN_EXPORT ToolShapeData createCustomBucketData (const std::vector< std::pair< agx::Vec3, agx::Real > > &sizes, bool createWalls=true)
 Utility function that creates a custom bucket from a list of box half-vectors and angles and associated edges and vectors.
 
agx::Real AGXTERRAIN_EXPORT estimateContactDepth (agx::ContactMaterial *contactMaterial, Shovel *shovel, agx::Real bodyMass, 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 Terrain *terrain, const Shovel *shovel, 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::MaterialfindShovelMaterial (agxTerrain::Shovel *shovel)
 Find the agx::Material on the first contact valid contact geometry in the specified shovel.
 
template<typename ContainerT >
void freeContainerMemory (ContainerT &container)
 Free the memory held by the given container by swapping it with a default-constructed instance.
 
agx::Real getAverageContactForce (agxCollide::GeometryContactPtrVector matches, bool print=false)
 
AGXTERRAIN_EXPORT agxCollide::GeometrygetFirstContactValidGeometry (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 setShovelAggregateContactMaterialFromParticles (agx::ContactMaterial *shovelAggregateCM, agx::Real contactArea, Shovel *shovel)
 
AGXTERRAIN_EXPORT void setShovelAggregateContactMaterialProperties (agx::ContactMaterial *shovelAggregateCM, agx::Real contactArea, const agx::RealVector &weights, Terrain *terrain, Shovel *shovel)
 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, agx::Real excavationStiffnessMultiplier)
 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, Terrain *terrain, Shovel *shovel, agx::Vec3Vector &points)
 Configure the contact material that is to be used in shovel-aggregate contacts.
 
AGXTERRAIN_EXPORT std::vector< PointDatatraceShovelActiveShapeOutline (agxTerrain::Shovel *shovel, size_t numSamplingPoints=200, bool debugRender=false)
 This function traces the inner outline of the specified Shovel's inner body ActiveZone to find the internal cross section geometry outline.
 

Detailed Description

The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes.

Typedef Documentation

◆ ActiveZoneConstObserver

Definition at line 49 of file ActiveZone.h.

◆ ActiveZoneConstRef

Definition at line 49 of file ActiveZone.h.

◆ ActiveZoneObserver

◆ ActiveZoneObserverVector

◆ ActiveZonePtrVector

Definition at line 50 of file ActiveZone.h.

◆ ActiveZoneRef

Definition at line 49 of file ActiveZone.h.

◆ ActiveZoneRefVector

◆ ActiveZoneShapes

◆ AdvancedShovelSettingsConstObserver

◆ AdvancedShovelSettingsConstRef

◆ AdvancedShovelSettingsObserver

◆ AdvancedShovelSettingsRef

◆ AggregateContactGeneratorConstObserver

◆ AggregateContactGeneratorConstRef

◆ AggregateContactGeneratorObserver

◆ AggregateContactGeneratorRef

◆ BasicGridConstObserver

Definition at line 57 of file Grid.h.

◆ BasicGridConstRef

Definition at line 57 of file Grid.h.

◆ BasicGridObserver

Definition at line 57 of file Grid.h.

◆ BasicGridRef

Definition at line 57 of file Grid.h.

◆ ClamShellBucketConstObserver

◆ ClamShellBucketConstRef

◆ ClamShellBucketObserver

◆ ClamShellBucketObserverVector

◆ ClamShellBucketPtrVector

◆ ClamShellBucketRef

◆ ClamShellBucketRefVector

◆ ClamShellDebugRenderSettingsConstObserver

typedef agx::observer_ptr< const ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsConstObserver

Definition at line 36 of file ClamShellBucket.h.

◆ ClamShellDebugRenderSettingsConstRef

typedef agx::ref_ptr< const ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsConstRef

Definition at line 36 of file ClamShellBucket.h.

◆ ClamShellDebugRenderSettingsObserver

Definition at line 36 of file ClamShellBucket.h.

◆ ClamShellDebugRenderSettingsRef

typedef agx::ref_ptr< ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsRef

Definition at line 36 of file ClamShellBucket.h.

◆ CompactionControllerConstObserver

◆ CompactionControllerConstRef

◆ CompactionControllerObserver

◆ CompactionControllerObserverVector

◆ CompactionControllerPtrVector

◆ CompactionControllerRef

◆ CompactionControllerRefVector

◆ CompositeShovelConstObserver

◆ CompositeShovelConstRef

◆ CompositeShovelObserver

◆ CompositeShovelObserverVector

◆ CompositeShovelPtrVector

◆ CompositeShovelRef

◆ CompositeShovelRefVector

◆ DeformControllerConstObserver

◆ DeformControllerConstRef

◆ DeformControllerObserver

◆ DeformControllerRef

◆ DeformerActiveZoneConstObserver

◆ DeformerActiveZoneConstRef

◆ DeformerActiveZoneObserver

◆ DeformerActiveZoneRef

◆ DeformerCollectionConstObserver

◆ DeformerCollectionConstRef

◆ DeformerCollectionObserver

◆ DeformerCollectionRef

◆ ForbiddenBoundConstObserver

◆ ForbiddenBoundConstRef

◆ ForbiddenBoundObserver

◆ ForbiddenBoundRef

◆ ForbiddenIndex2DBoundConstObserver

◆ ForbiddenIndex2DBoundConstRef

◆ ForbiddenIndex2DBoundObserver

◆ ForbiddenIndex2DBoundRef

◆ ForbiddenIndexBoundConstObserver

◆ ForbiddenIndexBoundConstRef

◆ ForbiddenIndexBoundObserver

◆ ForbiddenIndexBoundRef

◆ GeometryContactTimeTable

◆ GeometryHashSet

◆ GeometryLocalContactTable

◆ GridConstObserver

Definition at line 58 of file Grid.h.

◆ GridConstRef

Definition at line 58 of file Grid.h.

◆ GridObserver

Definition at line 58 of file Grid.h.

◆ GridRef

Definition at line 58 of file Grid.h.

◆ IForbiddenBoundConstObserver

◆ IForbiddenBoundConstRef

◆ IForbiddenBoundObserver

◆ IForbiddenBoundObserverVector

◆ IForbiddenBoundPtrVector

◆ IForbiddenBoundRef

◆ IForbiddenBoundRefVector

◆ IndexQueue

typedef std::queue<agx::Vec2i> agxTerrain::IndexQueue

Definition at line 47 of file TerrainContactGenerator.h.

◆ IndexToParticleWeightPairVector

◆ MeshIntersectionTestData

◆ MeshTransformPair

◆ MeshTransformPairVector

◆ modifiedCompactionVector

◆ ModifiedVerticesSetVector

◆ ModifiedVerticesVector

◆ ParticleDeltaVector

Definition at line 64 of file Terrain.h.

◆ ParticleWeightPair

Definition at line 59 of file Terrain.h.

◆ ParticleWeightPairVector

◆ PrimaryActiveZoneConstObserver

◆ PrimaryActiveZoneConstRef

◆ PrimaryActiveZoneObserver

◆ PrimaryActiveZoneRef

◆ ScopeReportSystemJobConstObserver

◆ ScopeReportSystemJobConstRef

◆ ScopeReportSystemJobObserver

◆ ScopeReportSystemJobRef

◆ ScopeTimerConstObserver

◆ ScopeTimerConstRef

Definition at line 44 of file ProfilingTools.h.

◆ ScopeTimerObserver

◆ ScopeTimerRef

Definition at line 44 of file ProfilingTools.h.

◆ ShapeIntersectionTestData

◆ ShovelAggregateContactMaterialContainerConstObserver

◆ ShovelAggregateContactMaterialContainerConstRef

◆ ShovelAggregateContactMaterialContainerObserver

◆ ShovelAggregateContactMaterialContainerObserverVector

◆ ShovelAggregateContactMaterialContainerPtrVector

◆ ShovelAggregateContactMaterialContainerRef

◆ ShovelAggregateContactMaterialContainerRefVector

◆ ShovelAggregateFrictionModelConstObserver

◆ ShovelAggregateFrictionModelConstRef

◆ ShovelAggregateFrictionModelObserver

◆ ShovelAggregateFrictionModelRef

◆ ShovelConstObserver

Definition at line 45 of file Shovel.h.

◆ ShovelConstRef

Definition at line 45 of file Shovel.h.

◆ ShovelObserver

Definition at line 45 of file Shovel.h.

◆ ShovelObserverVector

◆ ShovelPtrVector

Definition at line 46 of file Shovel.h.

◆ ShovelRef

Definition at line 45 of file Shovel.h.

◆ ShovelRefVector

Definition at line 46 of file Shovel.h.

◆ ShovelSettingsConstObserver

◆ ShovelSettingsConstRef

◆ ShovelSettingsObserver

◆ ShovelSettingsRef

◆ SoilParticleAggregateConstObserver

◆ SoilParticleAggregateConstRef

◆ SoilParticleAggregateObserver

◆ SoilParticleAggregateObserverVector

◆ SoilParticleAggregatePtrVector

◆ SoilParticleAggregateRef

◆ SoilParticleAggregateRefVector

◆ SoilParticleArray

◆ SoilParticlePtr

◆ SoilParticlePtrVector

◆ SoilParticleVector

◆ SoilPenetrationResistanceConstObserver

◆ SoilPenetrationResistanceConstRef

◆ SoilPenetrationResistanceObserver

◆ SoilPenetrationResistanceRef

◆ SoilSimulationInterfaceConstObserver

◆ SoilSimulationInterfaceConstRef

◆ SoilSimulationInterfaceObserver

◆ SoilSimulationInterfaceRef

◆ SoilWedgeVector

Definition at line 127 of file SoilWedge.h.

◆ TerrainConstObserver

Definition at line 67 of file Terrain.h.

◆ TerrainConstRef

Definition at line 67 of file Terrain.h.

◆ TerrainContactConstObserver

◆ TerrainContactConstRef

◆ TerrainContactGeneratorConstObserver

◆ TerrainContactGeneratorConstRef

◆ TerrainContactGeneratorObserver

◆ TerrainContactGeneratorObserverVector

◆ TerrainContactGeneratorPtrVector

◆ TerrainContactGeneratorRef

◆ TerrainContactGeneratorRefVector

◆ TerrainContactObserver

◆ TerrainContactObserverVector

◆ TerrainContactPtrVector

◆ TerrainContactRef

◆ TerrainContactRefVector

◆ TerrainDataSourceConstObserver

◆ TerrainDataSourceConstRef

◆ TerrainDataSourceObserver

◆ TerrainDataSourceRef

◆ TerrainGridControlConstObserver

◆ TerrainGridControlConstRef

◆ TerrainGridControlObserver

◆ TerrainGridControlObserverVector

◆ TerrainGridControlPtrVector

◆ TerrainGridControlRef

◆ TerrainGridControlRefVector

◆ TerrainIndexSet

Definition at line 65 of file Terrain.h.

◆ TerrainIndexToDepthTable

◆ TerrainJournalRecorderConstObserver

◆ TerrainJournalRecorderConstRef

◆ TerrainJournalRecorderObserver

◆ TerrainJournalRecorderRef

◆ TerrainMassOccupancyControllerConstObserver

◆ TerrainMassOccupancyControllerConstRef

◆ TerrainMassOccupancyControllerObserver

◆ TerrainMassOccupancyControllerObserverVector

◆ TerrainMassOccupancyControllerPtrVector

◆ TerrainMassOccupancyControllerRef

◆ TerrainMassOccupancyControllerRefVector

◆ TerrainMaterialConstObserver

◆ TerrainMaterialConstRef

◆ TerrainMaterialObserver

◆ TerrainMaterialRef

◆ TerrainObserver

Definition at line 67 of file Terrain.h.

◆ TerrainObserverVector

◆ TerrainPagerConstObserver

◆ TerrainPagerConstRef

Definition at line 38 of file TerrainPager.h.

◆ TerrainPagerObserver

◆ TerrainPagerObserverVector

◆ TerrainPagerPtrVector

◆ TerrainPagerRef

Definition at line 38 of file TerrainPager.h.

◆ TerrainPagerRefVector

◆ TerrainPropertiesConstObserver

◆ TerrainPropertiesConstRef

◆ TerrainPropertiesObserver

◆ TerrainPropertiesRef

◆ TerrainPtrVec

Definition at line 43 of file Shovel.h.

◆ TerrainPtrVector

Definition at line 68 of file Terrain.h.

◆ TerrainRef

Definition at line 67 of file Terrain.h.

◆ TerrainRefVector

Definition at line 68 of file Terrain.h.

◆ 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.

◆ TileModificationVector

◆ TriangleVector

Definition at line 54 of file Grid.h.

◆ VoxelHashSet

◆ VoxelIndexSet

Definition at line 58 of file Terrain.h.

◆ VoxelStressTable

◆ WedgePlaneVector

using agxTerrain::WedgePlaneVector = typedef agx::Vector<std::array<agx::Plane, 3> >

Definition at line 47 of file ActiveZone.h.

Function Documentation

◆ calculateContactReferencePoint()

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.

Parameters
contactPoints- The contact points that is used to calculate the reference point used in the contact model
Returns
the reference point to be used in the aggregate contact model

◆ calculateGravityVector()

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.

◆ calculateGv()

agx::Real AGXTERRAIN_EXPORT agxTerrain::calculateGv ( const agx::Vec3 normal,
const 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.

◆ computeAggregatePairContacts()

agxCollide::LocalGeometryContactVector AGXTERRAIN_EXPORT agxTerrain::computeAggregatePairContacts ( agxTerrain::Shovel shovel1,
agxTerrain::Shovel shovel2,
agx::ContactMaterial contactMaterial = nullptr,
bool  debugRenderContacts = false,
agx::Real  size = 0.1 
)

Computes the contact set between two aggregate in the cut top plane of shovel one.

◆ createCustomBucketData()

AGXTERRAIN_EXPORT ToolShapeData agxTerrain::createCustomBucketData ( const std::vector< std::pair< agx::Vec3, agx::Real > > &  sizes,
bool  createWalls = true 
)

Utility function that creates a custom bucket from a list of box half-vectors and angles and associated edges and vectors.

The list vectors need to be in the following format:

[ (Vec3(thicknes, width, length), angle), (Vec3(thicknes, width, length), angle), ... ].

The boxes will be placed at the end of each box segement in the [x, z] plane with a rotation in the Y-axis specified by the angle element.

Parameters
sizes- vector of pairs of agx::Vec3 half extents of a box and a rotational angle.
createWalls- true if walls should be created on the side of the bucket geometry, false otherwise.
Returns
a ToolShapeData structure with the body, lines and vectors needed to create a shovel.

◆ estimateContactDepth()

agx::Real AGXTERRAIN_EXPORT agxTerrain::estimateContactDepth ( agx::ContactMaterial contactMaterial,
Shovel shovel,
agx::Real  bodyMass,
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.

◆ estimateMaximumAggregateForce()

agx::Real AGXTERRAIN_EXPORT agxTerrain::estimateMaximumAggregateForce ( const Terrain terrain,
const Shovel shovel,
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.

Parameters
terrain- The terrain the shovel is digging in.
shovel- the shovel the aggregate is in.
soilAggregateMass- the mass of the specified soil aggregate in the contact.
contactArea- the contact area in the aggregate <-> terrain contact.
Returns
the estimated maximum force that can be generated in the terrain <-> aggregate contact based on the Mohr-Coulomb condition for soil failure.

◆ findShovelMaterial()

AGXTERRAIN_EXPORT agx::Material * agxTerrain::findShovelMaterial ( agxTerrain::Shovel shovel)

Find the agx::Material on the first contact valid contact geometry in the specified shovel.

Parameters
shovel- the specified shovel.
Returns
the agx::Material found on the first contact valid geometry in the specified shovel body. Returns nullptr if no contact valid geometry is found.

◆ freeContainerMemory()

template<typename ContainerT >
void agxTerrain::freeContainerMemory ( ContainerT &  container)

Free the memory held by the given container by swapping it with a default-constructed instance.

This is required when an application is using a different system allocator than the AGX Dynamics shared library and a container is passed by-value from AGX Dynamics to the application. When the container goes out of scope the application's system allocator will try to deallocate the container's buffer, a buffer that was allocated with AGX Dynamics' system allocator. This will either cause memory errors or a crash. By first calling freeContainerMemory the buffer will be freed inside AGX Dynamics, with AGX Dynamics' system allocator, and the application's system allocator will not need to do anything.

◆ getAverageContactForce()

agx::Real agxTerrain::getAverageContactForce ( agxCollide::GeometryContactPtrVector  matches,
bool  print = false 
)

◆ getFirstContactValidGeometry()

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.

Parameters
shovelBody- The rigid body of the Shovel that will be checked.
Returns
the first valid geometry for aggregate contacts available in the shovel body. If no one exists, return nullptr.

◆ isValidContactGeometry()

AGXTERRAIN_EXPORT bool agxTerrain::isValidContactGeometry ( agxCollide::Geometry geometry)

Checks if the specified geometry is valid for creating aggregate contacts against.

Returns
true if the specified geometry can be used for aggregate contacts.

◆ setShovelAggregateContactMaterialFromParticles()

AGXTERRAIN_EXPORT void agxTerrain::setShovelAggregateContactMaterialFromParticles ( agx::ContactMaterial shovelAggregateCM,
agx::Real  contactArea,
Shovel shovel 
)

◆ setShovelAggregateContactMaterialProperties()

AGXTERRAIN_EXPORT void agxTerrain::setShovelAggregateContactMaterialProperties ( agx::ContactMaterial shovelAggregateCM,
agx::Real  contactArea,
const agx::RealVector weights,
Terrain terrain,
Shovel shovel 
)

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.

Parameters
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.
terrain- the terrain from which to fetch terrain material properties for the constructed shovel-aggregate contact material.
shovel- the shovel which is interacting with the aggregate.

◆ setShovelExplicitShovelContactMaterial()

AGXTERRAIN_EXPORT void agxTerrain::setShovelExplicitShovelContactMaterial ( agx::ContactMaterial shovelAggregateCM,
agx::Real  contactArea,
const agx::ContactMaterial sourceMaterial,
agx::Real  excavationStiffnessMultiplier 
)

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.

Parameters
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.
excavationStiffnessMultiplier- The excavation stiffness multiplier to be used in the explicit contacts.

◆ setupShovelAggregateContactMaterial()

AGXTERRAIN_EXPORT bool agxTerrain::setupShovelAggregateContactMaterial ( agx::ContactMaterial shovelAggregateCM,
agx::Real  contactArea,
Shovel::ExcavationMode  mode,
Terrain terrain,
Shovel shovel,
agx::Vec3Vector points 
)

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.

Parameters
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.
terrain- The terrain which the aggregate comes from.
shovel- The shovel that interacts with the aggregate.
Returns
true if the shovelAggregateCM was configured successfully, false otherwise.

◆ traceShovelActiveShapeOutline()

AGXTERRAIN_EXPORT std::vector< PointData > agxTerrain::traceShovelActiveShapeOutline ( agxTerrain::Shovel shovel,
size_t  numSamplingPoints = 200,
bool  debugRender = false 
)

This function traces the inner outline of the specified Shovel's inner body ActiveZone to find the internal cross section geometry outline.

The returned data is in the local shape coordinate system.

Parameters
shovel- the specified shovel to trace.
numSamplingPoints- the number of points to use in the sampling.
debugRender- true if the outline points should be debug rendered or not.