AGX Dynamics 2.42.3.1
Loading...
Searching...
No Matches
agxTerrain::DeformController Class Reference

#include <DeformController.h>

+ Inheritance diagram for agxTerrain::DeformController:

Public Member Functions

 DeformController (agx::Frame *parentFrame)
 
void addDeformer (DeformerCollection *deformer)
 
void addNotification (agxSDK::Simulation *simulation)
 
agx::Real calculateShovelAggregateContactArea (const agx::Vec3Vector &contactPoints, agx::Real voxelArea) const
 
void clearDeformers ()
 
agxCollide::GeometryPtrVector getActiveZoneGeometries ()
 
ActiveZonePtrVector getActiveZones ()
 
const agxTerrain::AggregateContactDepthModel & getAggregateDepthModel (agx::UInt i) const
 
agx::ContactMaterial * getAggregateShovelContactMaterial (agx::UInt i) const
 Get the internal shovel <-> aggregate contact material of the specified deformer denoted by an index.
 
agx::ContactMaterial * getAggregateTerrainContactMaterial (agx::UInt i) const
 Get the internal aggregate <-> terrain contact material of the specified deformer denoted by an index.
 
DeformerCollection * getDeformerCollection (size_t i)
 
bool getEnableCustomFrictionModels () const
 
agxCollide::GeometryContactPtrVector getGeometryContacts (agxSDK::Simulation *simulation) const
 
size_t getNumDeformers ()
 
SoilParticleAggregatePtrVector getSoilParticleAggregates ()
 
void initializeAggregateTerrainContactMaterial (Terrain *terrain, size_t deformerMode)
 
void initializeContactMaterials (Terrain *terrain, Shovel *shovel)
 
void initializeContactMaterialsExternalDeformer (agx::RigidBody *parentBody, Terrain *terrain)
 
void initializeDepthModels ()
 
void initializeFrictionModels ()
 
void onEnableChanged (bool enable)
 
void onPost (Shovel *shovel, Terrain *terrain)
 
void onPre (Terrain *terrain, Shovel *shovel)
 
void onPreCollide (Terrain *terrain, bool shouldDeformMass)
 
void removeNotification (agxSDK::Simulation *simulation)
 
void resetAggregateContactHistories ()
 
void resetAggregateContactHistory (agx::UInt i)
 
void setEnableCustomFrictionModels (bool enable)
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referenced & operator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Protected Member Functions

virtual ~DeformController ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Definition at line 32 of file DeformController.h.

Constructor & Destructor Documentation

◆ DeformController()

agxTerrain::DeformController::DeformController ( agx::Frame *  parentFrame)

◆ ~DeformController()

virtual agxTerrain::DeformController::~DeformController ( )
protectedvirtual

Member Function Documentation

◆ addDeformer()

void agxTerrain::DeformController::addDeformer ( DeformerCollection *  deformer)

◆ addNotification()

void agxTerrain::DeformController::addNotification ( agxSDK::Simulation *  simulation)

◆ calculateShovelAggregateContactArea()

agx::Real agxTerrain::DeformController::calculateShovelAggregateContactArea ( const agx::Vec3Vector &  contactPoints,
agx::Real  voxelArea 
) const

◆ clearDeformers()

void agxTerrain::DeformController::clearDeformers ( )

◆ getActiveZoneGeometries()

agxCollide::GeometryPtrVector agxTerrain::DeformController::getActiveZoneGeometries ( )

◆ getActiveZones()

ActiveZonePtrVector agxTerrain::DeformController::getActiveZones ( )

◆ getAggregateDepthModel()

const agxTerrain::AggregateContactDepthModel & agxTerrain::DeformController::getAggregateDepthModel ( agx::UInt  i) const

◆ getAggregateShovelContactMaterial()

agx::ContactMaterial * agxTerrain::DeformController::getAggregateShovelContactMaterial ( agx::UInt  i) const

Get the internal shovel <-> aggregate contact material of the specified deformer denoted by an index.

Parameters
i- index of the deformer which contact material should be accessed. [0-2]
Returns
the contact material of the specified deformer.

◆ getAggregateTerrainContactMaterial()

agx::ContactMaterial * agxTerrain::DeformController::getAggregateTerrainContactMaterial ( agx::UInt  i) const

Get the internal aggregate <-> terrain contact material of the specified deformer denoted by an index.

Parameters
i- index of the deformer which contact material should be accessed. [0-2]
Returns
the contact material of the specified deformer.

◆ getDeformerCollection()

DeformerCollection * agxTerrain::DeformController::getDeformerCollection ( size_t  i)

◆ getEnableCustomFrictionModels()

bool agxTerrain::DeformController::getEnableCustomFrictionModels ( ) const

◆ getGeometryContacts()

agxCollide::GeometryContactPtrVector agxTerrain::DeformController::getGeometryContacts ( agxSDK::Simulation *  simulation) const

◆ getNumDeformers()

size_t agxTerrain::DeformController::getNumDeformers ( )

◆ getSoilParticleAggregates()

SoilParticleAggregatePtrVector agxTerrain::DeformController::getSoilParticleAggregates ( )

◆ initializeAggregateTerrainContactMaterial()

void agxTerrain::DeformController::initializeAggregateTerrainContactMaterial ( Terrain *  terrain,
size_t  deformerMode 
)

◆ initializeContactMaterials()

void agxTerrain::DeformController::initializeContactMaterials ( Terrain *  terrain,
Shovel *  shovel 
)

◆ initializeContactMaterialsExternalDeformer()

void agxTerrain::DeformController::initializeContactMaterialsExternalDeformer ( agx::RigidBody *  parentBody,
Terrain *  terrain 
)

◆ initializeDepthModels()

void agxTerrain::DeformController::initializeDepthModels ( )

◆ initializeFrictionModels()

void agxTerrain::DeformController::initializeFrictionModels ( )

◆ onEnableChanged()

void agxTerrain::DeformController::onEnableChanged ( bool  enable)

◆ onPost()

void agxTerrain::DeformController::onPost ( Shovel *  shovel,
Terrain *  terrain 
)

◆ onPre()

void agxTerrain::DeformController::onPre ( Terrain *  terrain,
Shovel *  shovel 
)

◆ onPreCollide()

void agxTerrain::DeformController::onPreCollide ( Terrain *  terrain,
bool  shouldDeformMass 
)

◆ removeNotification()

void agxTerrain::DeformController::removeNotification ( agxSDK::Simulation *  simulation)

◆ resetAggregateContactHistories()

void agxTerrain::DeformController::resetAggregateContactHistories ( )

◆ resetAggregateContactHistory()

void agxTerrain::DeformController::resetAggregateContactHistory ( agx::UInt  i)

◆ setEnableCustomFrictionModels()

void agxTerrain::DeformController::setEnableCustomFrictionModels ( bool  enable)

The documentation for this class was generated from the following file: