AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxOSG::PressureAtlasManager Class Reference

#include <PressureAtlasManager.h>

+ Inheritance diagram for agxOSG::PressureAtlasManager:

Public Types

typedef agx::HashTable< const agxCollide::Trimesh *, std::pair< agxCollide::TrimeshConstObserver, agxOSG::PressureAtlasRef > > MeshToAtlasTable
 
- Public Types inherited from agx::Object
typedef agx::observer_ptr< const Event > EventConstObserver
 
typedef agx::ref_ptr< const Event > EventConstRef
 
typedef agx::observer_ptr< Event > EventObserver
 
typedef agx::Vector< EventObserver > EventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< Event > EventRef
 
typedef agx::Vector< EventRef > EventRefVector
 

Public Member Functions

 PressureAtlasManager (agxSDK::Simulation *simulation, agx::Real defaultTexelsPerMeter)
 
void createConstraintPressureGenerator (const agxCollide::Trimesh *mesh, const agx::Constraint *constraint)
 Not implemented.
 
void createContactPressureGenerator (const agxCollide::Trimesh *mesh)
 
agxOSG::PressureAtlas * getAtlas (const agxCollide::Trimesh *mesh)
 
const MeshToAtlasTable & getAtlases ()
 
agxSDK::Simulation * getSimulation () const
 
agxOSG::PressureAtlas * registerMesh (const agxCollide::Trimesh *mesh, agx::Real texelsPerMeter=agx::Real(-1.0))
 Create a pressure atlas for a mesh.
 
- Public Member Functions inherited from agx::Object
 Object (const Name &name=Name(), Model *model=Object::ClassModel())
 
void addListener (EventListener *listener)
 
virtual void buildNavigationTree (agxJson::Value &eNode) const
 
virtual void configure (TiXmlElement *)
 
agx::String fullName () const
 
agx::String fullPath () const
 
agx::String fullPath (const agx::Object *root) const
 
template<typename T >
T * getAutoScopedResource (const agx::Path &path)
 
template<typename T >
const T * getAutoScopedResource (const agx::Path &path) const
 
agx::Object * getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::Object * getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::Object * getContext ()
 
template<typename T >
T * getContext ()
 
const agx::Object * getContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::Name & getImplementationName () const
 
agx::Model * getModel ()
 
const agx::Model * getModel () const
 
const agx::Name & getName () const
 
agx::Object * getNextSibling ()
 
const agx::Object * getNextSibling () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
template<typename T >
T * getResource (const agx::Path &path)
 
template<typename T >
const T * getResource (const agx::Path &path) const
 
agx::Object * getResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::Object * getResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::Object * getResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::Object * getRootContext ()
 
const agx::Object * getRootContext () const
 
bool hasListener (EventListener *listener)
 
bool hasParent (const agx::Object *node) const
 
bool isUnique () const
 
virtual void printSubtree () const
 
virtual void rebind ()
 
void removeListener (EventListener *listener)
 
virtual void save (TiXmlElement *) const
 
virtual void setContext (agx::Object *context)
 
void setId (UInt32 id)
 
void setModel (agx::Model *model)
 Set the object model (handled automatically).
 
void setName (const agx::Name &name)
 Set the name of the object.
 
virtual void snapshot (TiXmlNode *, const String &) const
 
- 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 ~PressureAtlasManager ()
 
- Protected Member Functions inherited from agx::Object
virtual ~Object ()
 
- 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::Object
static agx::Model * ClassModel ()
 
static agx::String generateName (const agx::String &bindPath)
 
static const HashSet< Object * > & getActiveObjects ()
 
static bool getEnableRebind ()
 Should rebinding be allowed? Right now a global setting.
 
static Object * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
static Object * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
static void load (const String &path, Device *device, ObjectPtrVector &loadedObjects)
 
static Object * load (TiXmlElement *eObject, Device *device)
 
template<typename T >
static T * load (TiXmlElement *eObject, Device *device)
 
static TiXmlDocument openDocument (const String &path)
 
static void setEnableRebind (bool flag)
 Sets if rebinding of objects should be allowed (Right now a global setting).
 
- 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 48 of file PressureAtlasManager.h.

Member Typedef Documentation

◆ MeshToAtlasTable

Constructor & Destructor Documentation

◆ PressureAtlasManager()

agxOSG::PressureAtlasManager::PressureAtlasManager ( agxSDK::Simulation *  simulation,
agx::Real  defaultTexelsPerMeter 
)

◆ ~PressureAtlasManager()

virtual agxOSG::PressureAtlasManager::~PressureAtlasManager ( )
protectedvirtual

Member Function Documentation

◆ createConstraintPressureGenerator()

void agxOSG::PressureAtlasManager::createConstraintPressureGenerator ( const agxCollide::Trimesh *  mesh,
const agx::Constraint *  constraint 
)

Not implemented.

◆ createContactPressureGenerator()

void agxOSG::PressureAtlasManager::createContactPressureGenerator ( const agxCollide::Trimesh *  mesh)

◆ getAtlas()

agxOSG::PressureAtlas * agxOSG::PressureAtlasManager::getAtlas ( const agxCollide::Trimesh *  mesh)

◆ getAtlases()

const MeshToAtlasTable & agxOSG::PressureAtlasManager::getAtlases ( )

◆ getSimulation()

agxSDK::Simulation * agxOSG::PressureAtlasManager::getSimulation ( ) const

◆ registerMesh()

agxOSG::PressureAtlas * agxOSG::PressureAtlasManager::registerMesh ( const agxCollide::Trimesh *  mesh,
agx::Real  texelsPerMeter = agx::Real(-1.0) 
)

Create a pressure atlas for a mesh.

If a positive 'texelsPerMeter' is given, then that resolution will be used for the atlas. Otherwise the default resolution set for this manager is used.

If the mesh has been registered already then nullptr will be returned. Use 'getAtlas' to fetch the atlas for a already registered mesh.

No pressure generators are created by the registering process. Use the various 'create.*PressureGenerator' methods provided, or call 'addForce' on the atlas through some other means.

Parameters
meshThe mesh for which a pressure map is to be generated.
texelsPerMeterThe resolution of the pressure map. Passing a non-positive value gives the default.
Returns
A newly created PressureAtlas, or nullptr if the mesh was registered previously.

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