![]() |
AGX Dynamics 2.40.0.0
|
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 |
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::Material * | findShovelMaterial (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::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 | 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< PointData > | 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 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 AdvancedShovelSettings > agxTerrain::AdvancedShovelSettingsConstObserver |
Definition at line 32 of file ShovelSettings.h.
typedef agx::ref_ptr< const AdvancedShovelSettings > agxTerrain::AdvancedShovelSettingsConstRef |
Definition at line 32 of file ShovelSettings.h.
Definition at line 32 of file ShovelSettings.h.
Definition at line 32 of file ShovelSettings.h.
typedef agx::observer_ptr< const AggregateContactGenerator > agxTerrain::AggregateContactGeneratorConstObserver |
Definition at line 37 of file AggregateContactGenerator.h.
typedef agx::ref_ptr< const AggregateContactGenerator > agxTerrain::AggregateContactGeneratorConstRef |
Definition at line 37 of file AggregateContactGenerator.h.
typedef agx::observer_ptr< AggregateContactGenerator > agxTerrain::AggregateContactGeneratorObserver |
Definition at line 37 of file AggregateContactGenerator.h.
Definition at line 37 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 ClamShellBucket > agxTerrain::ClamShellBucketConstObserver |
Definition at line 38 of file ClamShellBucket.h.
typedef agx::ref_ptr< const ClamShellBucket > agxTerrain::ClamShellBucketConstRef |
Definition at line 38 of file ClamShellBucket.h.
Definition at line 38 of file ClamShellBucket.h.
Definition at line 39 of file ClamShellBucket.h.
Definition at line 39 of file ClamShellBucket.h.
Definition at line 38 of file ClamShellBucket.h.
Definition at line 39 of file ClamShellBucket.h.
typedef agx::observer_ptr< const ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsConstObserver |
Definition at line 36 of file ClamShellBucket.h.
typedef agx::ref_ptr< const ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsConstRef |
Definition at line 36 of file ClamShellBucket.h.
typedef agx::observer_ptr< ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsObserver |
Definition at line 36 of file ClamShellBucket.h.
typedef agx::ref_ptr< ClamShellDebugRenderSettings > agxTerrain::ClamShellDebugRenderSettingsRef |
Definition at line 36 of file ClamShellBucket.h.
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 CompositeShovel > agxTerrain::CompositeShovelConstObserver |
Definition at line 36 of file CompositeShovel.h.
typedef agx::ref_ptr< const CompositeShovel > agxTerrain::CompositeShovelConstRef |
Definition at line 36 of file CompositeShovel.h.
Definition at line 36 of file CompositeShovel.h.
Definition at line 37 of file CompositeShovel.h.
Definition at line 37 of file CompositeShovel.h.
Definition at line 36 of file CompositeShovel.h.
Definition at line 37 of file CompositeShovel.h.
typedef agx::observer_ptr< const DeformController > agxTerrain::DeformControllerConstObserver |
Definition at line 30 of file DeformController.h.
typedef agx::ref_ptr< const DeformController > agxTerrain::DeformControllerConstRef |
Definition at line 30 of file DeformController.h.
Definition at line 30 of file DeformController.h.
Definition at line 30 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 29 of file DeformerCollection.h.
typedef agx::ref_ptr< const DeformerCollection > agxTerrain::DeformerCollectionConstRef |
Definition at line 29 of file DeformerCollection.h.
Definition at line 29 of file DeformerCollection.h.
Definition at line 29 of file DeformerCollection.h.
typedef agx::observer_ptr< const ForbiddenBound > agxTerrain::ForbiddenBoundConstObserver |
Definition at line 115 of file ForbiddenBound.h.
typedef agx::ref_ptr< const ForbiddenBound > agxTerrain::ForbiddenBoundConstRef |
Definition at line 115 of file ForbiddenBound.h.
Definition at line 115 of file ForbiddenBound.h.
Definition at line 115 of file ForbiddenBound.h.
typedef agx::observer_ptr< const ForbiddenIndex2DBound > agxTerrain::ForbiddenIndex2DBoundConstObserver |
Definition at line 248 of file ForbiddenBound.h.
typedef agx::ref_ptr< const ForbiddenIndex2DBound > agxTerrain::ForbiddenIndex2DBoundConstRef |
Definition at line 248 of file ForbiddenBound.h.
Definition at line 248 of file ForbiddenBound.h.
Definition at line 248 of file ForbiddenBound.h.
Definition at line 188 of file ForbiddenBound.h.
typedef agx::ref_ptr< const ForbiddenIndexBound > agxTerrain::ForbiddenIndexBoundConstRef |
Definition at line 188 of file ForbiddenBound.h.
Definition at line 188 of file ForbiddenBound.h.
Definition at line 188 of file ForbiddenBound.h.
Definition at line 36 of file CompactionController.h.
Definition at line 35 of file AggregateContactGenerator.h.
typedef agx::HashVector<agxCollide::Geometry*, agxCollide::LocalGeometryContact> agxTerrain::GeometryLocalContactTable |
Definition at line 34 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 agx::observer_ptr< const IForbiddenBound > agxTerrain::IForbiddenBoundConstObserver |
Definition at line 32 of file ForbiddenBound.h.
typedef agx::ref_ptr< const IForbiddenBound > agxTerrain::IForbiddenBoundConstRef |
Definition at line 32 of file ForbiddenBound.h.
Definition at line 32 of file ForbiddenBound.h.
Definition at line 33 of file ForbiddenBound.h.
Definition at line 33 of file ForbiddenBound.h.
Definition at line 32 of file ForbiddenBound.h.
Definition at line 33 of file ForbiddenBound.h.
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 ScopeReportSystemJob > agxTerrain::ScopeReportSystemJobConstObserver |
Definition at line 72 of file ProfilingTools.h.
typedef agx::ref_ptr< const ScopeReportSystemJob > agxTerrain::ScopeReportSystemJobConstRef |
Definition at line 72 of file ProfilingTools.h.
Definition at line 72 of file ProfilingTools.h.
Definition at line 72 of file ProfilingTools.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 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 ShovelSettings > agxTerrain::ShovelSettingsConstObserver |
Definition at line 35 of file ShovelSettings.h.
typedef agx::ref_ptr< const ShovelSettings > agxTerrain::ShovelSettingsConstRef |
Definition at line 35 of file ShovelSettings.h.
Definition at line 35 of file ShovelSettings.h.
Definition at line 35 of file ShovelSettings.h.
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.
Definition at line 28 of file SoilSimulationInterface.h.
Definition at line 32 of file SoilParticleAggregate.h.
Definition at line 33 of file SoilParticleAggregate.h.
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 TerrainJournalRecorder > agxTerrain::TerrainJournalRecorderConstObserver |
Definition at line 34 of file TerrainJournalRecorder.h.
typedef agx::ref_ptr< const TerrainJournalRecorder > agxTerrain::TerrainJournalRecorderConstRef |
Definition at line 34 of file TerrainJournalRecorder.h.
Definition at line 34 of file TerrainJournalRecorder.h.
Definition at line 34 of file TerrainJournalRecorder.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.
using agxTerrain::TerrainPtrVec = typedef agx::VectorPOD<Terrain*> |
typedef agx::VectorPOD< Terrain *> agxTerrain::TerrainPtrVector |
typedef agx::ref_ptr< Terrain > agxTerrain::TerrainRef |
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 | ( | 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 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.
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.
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. |
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.
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.
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. |
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. |
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.
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::setShovelAggregateContactMaterialFromParticles | ( | agx::ContactMaterial * | shovelAggregateCM, |
agx::Real | contactArea, | ||
Shovel * | shovel | ||
) |
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.
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. |
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.
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. |
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.
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. |
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.
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. |