AGX Dynamics 2.41.1.2
Loading...
Searching...
No Matches
agxUtil::CollectBodiesAndWiresVisitor Class Reference

This visitor will visit each rigid body and wire in an assembly (or collection) and extract them to a vector with all bodies. More...

#include <CollectBodiesAndWiresVisitor.h>

+ Inheritance diagram for agxUtil::CollectBodiesAndWiresVisitor:

Public Types

using RigidBodyPtrSetVector = agx::SetVector< agx::RigidBody * >
 
using WireNodeRefVector = agx::Vector< agxWire::NodeRef >
 
using WirePtrSetVector = agx::SetVector< agxWire::Wire * >
 

Public Member Functions

 CollectBodiesAndWiresVisitor ()
 Constructor.
 
virtual ~CollectBodiesAndWiresVisitor ()
 Destructor.
 
RigidBodyPtrSetVectorgetBodies ()
 
const RigidBodyPtrSetVectorgetBodies () const
 
const WireNodeRefVectorgetUserWireNodes () const
 
WirePtrSetVectorgetWires ()
 
const WirePtrSetVectorgetWires () const
 
- Public Member Functions inherited from agxSDK::AssemblyVisitor
 AssemblyVisitor ()
 
virtual ~AssemblyVisitor ()
 
bool succeed () const
 

Protected Member Functions

virtual void visit (agx::RigidBody *body)
 
virtual void visit (agxSDK::Assembly *assembly)
 
virtual void visit (agxSDK::EventListener *listener)
 
virtual void visit (const agx::RigidBody *body) const
 
virtual void visit (const agxSDK::Assembly *assembly) const
 
virtual void visit (const agxSDK::EventListener *listener) const
 
- Protected Member Functions inherited from agxSDK::AssemblyVisitor
void setSucceed (bool flag)
 
virtual void visit (agx::Constraint *)
 
virtual void visit (agx::ContactMaterial *)
 
virtual void visit (agx::Emitter *)
 
virtual void visit (agx::Interaction *)
 
virtual void visit (agx::MergedBody *)
 
virtual void visit (agx::ObserverFrame *)
 
virtual void visit (agx::ParticleSystem *)
 
virtual void visit (agx::RigidBody *)
 
virtual void visit (agxCollide::Geometry *)
 
virtual void visit (agxSDK::TerrainInstance *)
 
virtual void visit (agxSDK::TerrainToolInstance *)
 
virtual void visit (Assembly *)
 
virtual void visit (const agx::Constraint *) const
 
virtual void visit (const agx::ContactMaterial *) const
 
virtual void visit (const agx::Emitter *) const
 
virtual void visit (const agx::Interaction *) const
 
virtual void visit (const agx::MergedBody *) const
 
virtual void visit (const agx::ObserverFrame *) const
 
virtual void visit (const agx::ParticleSystem *) const
 
virtual void visit (const agx::RigidBody *) const
 
virtual void visit (const agxCollide::Geometry *) const
 
virtual void visit (const agxSDK::TerrainInstance *) const
 
virtual void visit (const agxSDK::TerrainToolInstance *) const
 
virtual void visit (const Assembly *) const
 
virtual void visit (const EventListener *) const
 
virtual void visit (EventListener *)
 

Protected Attributes

RigidBodyPtrSetVector m_bodies
 
WireNodeRefVector m_userWireNodes
 
WirePtrSetVector m_wires
 
- Protected Attributes inherited from agxSDK::AssemblyVisitor
bool m_succeed
 

Detailed Description

This visitor will visit each rigid body and wire in an assembly (or collection) and extract them to a vector with all bodies.

Excluded are bodies which has isPowerlineBody() == true Bodies are stored as raw pointers. Do not store and use the result between time steps as bodies will come and go. Also, make sure the wire is added to the simulation (initialized).

Definition at line 32 of file CollectBodiesAndWiresVisitor.h.

Member Typedef Documentation

◆ RigidBodyPtrSetVector

◆ WireNodeRefVector

◆ WirePtrSetVector

Constructor & Destructor Documentation

◆ CollectBodiesAndWiresVisitor()

agxUtil::CollectBodiesAndWiresVisitor::CollectBodiesAndWiresVisitor ( )
inline

Constructor.

Definition at line 41 of file CollectBodiesAndWiresVisitor.h.

◆ ~CollectBodiesAndWiresVisitor()

virtual agxUtil::CollectBodiesAndWiresVisitor::~CollectBodiesAndWiresVisitor ( )
inlinevirtual

Destructor.

Definition at line 44 of file CollectBodiesAndWiresVisitor.h.

Member Function Documentation

◆ getBodies() [1/2]

RigidBodyPtrSetVector & agxUtil::CollectBodiesAndWiresVisitor::getBodies ( )
inline
Returns
the vector of all collected bodies

Definition at line 47 of file CollectBodiesAndWiresVisitor.h.

◆ getBodies() [2/2]

const RigidBodyPtrSetVector & agxUtil::CollectBodiesAndWiresVisitor::getBodies ( ) const
inline
Returns
the vector of all collected bodies

Definition at line 49 of file CollectBodiesAndWiresVisitor.h.

◆ getUserWireNodes()

const WireNodeRefVector & agxUtil::CollectBodiesAndWiresVisitor::getUserWireNodes ( ) const
inline
Returns
vector with wire nodes fixed to other (non-wire-specific) objects

Definition at line 57 of file CollectBodiesAndWiresVisitor.h.

◆ getWires() [1/2]

WirePtrSetVector & agxUtil::CollectBodiesAndWiresVisitor::getWires ( )
inline
Returns
the vector of all collected wires

Definition at line 52 of file CollectBodiesAndWiresVisitor.h.

◆ getWires() [2/2]

const WirePtrSetVector & agxUtil::CollectBodiesAndWiresVisitor::getWires ( ) const
inline
Returns
the vector of all collected wires

Definition at line 54 of file CollectBodiesAndWiresVisitor.h.

◆ visit() [1/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( agx::RigidBody body)
inlineprotectedvirtual

Reimplemented from agxSDK::AssemblyVisitor.

Definition at line 63 of file CollectBodiesAndWiresVisitor.h.

References agx::RigidBody::isPowerlineBody().

◆ visit() [2/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( agxSDK::Assembly assembly)
inlineprotectedvirtual

Reimplemented from agxSDK::AssemblyVisitor.

Definition at line 70 of file CollectBodiesAndWiresVisitor.h.

References agxSDK::Assembly::traverse().

◆ visit() [3/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( agxSDK::EventListener listener)
inlineprotectedvirtual

◆ visit() [4/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( const agx::RigidBody body) const
inlineprotectedvirtual

Reimplemented from agxSDK::AssemblyVisitor.

Definition at line 97 of file CollectBodiesAndWiresVisitor.h.

◆ visit() [5/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( const agxSDK::Assembly assembly) const
inlineprotectedvirtual

Reimplemented from agxSDK::AssemblyVisitor.

Definition at line 102 of file CollectBodiesAndWiresVisitor.h.

◆ visit() [6/6]

virtual void agxUtil::CollectBodiesAndWiresVisitor::visit ( const agxSDK::EventListener listener) const
inlineprotectedvirtual

Reimplemented from agxSDK::AssemblyVisitor.

Definition at line 107 of file CollectBodiesAndWiresVisitor.h.

Member Data Documentation

◆ m_bodies

RigidBodyPtrSetVector agxUtil::CollectBodiesAndWiresVisitor::m_bodies
protected

Definition at line 112 of file CollectBodiesAndWiresVisitor.h.

◆ m_userWireNodes

WireNodeRefVector agxUtil::CollectBodiesAndWiresVisitor::m_userWireNodes
protected

Definition at line 114 of file CollectBodiesAndWiresVisitor.h.

◆ m_wires

WirePtrSetVector agxUtil::CollectBodiesAndWiresVisitor::m_wires
protected

Definition at line 113 of file CollectBodiesAndWiresVisitor.h.


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