33 class TerrainDataAtlas;
34 class TerrainMassOccupancyController;
140 agx::Bool compactColumnWithPointForcesUniformDiskLoad(
141 const
agx::Vec2i& terrainIndex,
agx::Real surfaceStress,
agx::Real loadRadius,
agx::Real currentContactTime);
147 agx::Bool compactColumnWithPointForces(const
agx::Vec2i& terrainIndex,
149 agx::Real surfaceStress,
150 bool voxelSurfacecIsInContactArea,
153 agx::Real currentContactTime);
156 bool doCompactionInVoxel(const
agx::Vec3i& voxelIndex,
agx::Real compactionStress,
agx::Real timeFactor);
159 agx::Real calculateTotalSubSoilStress(const
agx::Vec3& voxelPoint,
160 bool voxelSurfacecIsInContactArea,
163 void debugRenderStressInNode(const
agx::Vec3& position,
agx::Real stress) const;
172 agx::HashSet<
agx::Vec2i> m_compressedTerrainIndices;
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGXTERRAIN_STORE_RESTORE_INTERFACE
#define AGXTERRAIN_EXPORT
#define AGX_DECLARE_VECTOR_TYPES(type)
Controller that handles compaction in the terrain from generated terrain contacts in TerrainContactGe...
bool applyCompactionFromSurfaceForce(const agx::Vec2i &terrainIndex, agx::Real surfaceForce, agx::Real contactTime)
Create compaction from an artificially applied surface force.
void setStressMethod(StressCalculationMethod stressMethod)
Set the stress method used when calculating compaction.
void onPost()
The onPost function updates compaction from terrain contacts.
agx::Real getStressInVoxel(const agx::Vec3i &voxelIndex) const
Get the current active stress in the specified voxelIndex.
CompactionMethod getCompactionMethod() const
Get the compaction method used when calculating compaction.
CompactionController(Terrain *terrain)
Construct given terrain instance.
StressCalculationMethod getStressMethod() const
Get the stress method used when calculating compaction.
void setCompactionMethod(CompactionMethod compactionMethod)
Set the compaction method used when calculating compaction.
const agx::HashSet< agx::Vec2i > & getCompressedTerrainIndices() const
Get the indices that has been compressed this time step after the post step of the compactionControll...
Class that handles and sanity checks the mass logic in the terrain.
A terrain model based a 3D grid model with overlapping height field that can be deformed by interacti...
Inheritance with partial specialization due to bug with ref_ptr containers.
Inheritance with partial specialization due to bug with ref_ptr containers.
Base class providing referencing counted objects.
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
This namespace consists of a set of classes for handling geometric intersection tests including boole...
The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes.
agx::HashTable< agxCollide::Geometry *, agx::Real > GeometryContactTimeTable
agx::HashTable< agx::Vec3i, agx::Real > VoxelStressTable
The agx namespace contains the dynamics/math part of the AGX Dynamics API.