Basic implementation of any structure where bodies are linked/constrained together in a well defined consecutive order.
More...
|
| virtual agx::Bool | addComponent (agxSDK::LinkedStructureComponent *component) |
| | Add new component to this linked structure.
|
| |
| virtual void | addGroup (agx::UInt32 id) |
| | Add group id to all segments in this linked structure.
|
| |
| virtual void | addGroup (const agx::Name &name) |
| | Add group name to all segments in this linked structure.
|
| |
| virtual void | addNotification (agxSDK::Simulation *) |
| | Called when this assembly is added to a simulation (given that it not already is in the simulation).
|
| |
| void | addNotification (agxSDK::Simulation *simulation) final override |
| | Called when this linked structure is added to the simulation.
|
| |
| virtual void | addNotification (Assembly *) |
| | Called when this assembly is added to another assembly.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxSDK::LinkedStructure) |
| |
| virtual agx::Real | findCurrentLength (agx::Real restLengthFromStart) const |
| | Calculates the current length of a given rest length.
|
| |
| virtual agxCollide::GroupIdCollection | findGroupIdCollection () const |
| |
| virtual agx::Vec3 | findPoint (agx::Real restLengthFromStart) const |
| | Finds center point on this structure given rest length from the start.
|
| |
| virtual agx::Vec3 | findPoint (const agx::Vec3 &worldPoint) const |
| | Given any world point, find a center point on this structure that is closest to the given worldPoint.
|
| |
| virtual agx::Real | findRestLength (agx::Real currentLengthFromStart) const |
| | Calculates the rest length of a given current length from start.
|
| |
| virtual agx::Real | findRestLengthTo (const agx::Vec3 &worldPoint) const |
| | Given any world point, find a center point on this structure that is closest to the given worldPoint and return the rest length from start.
|
| |
| virtual agx::Real | findRestLengthTo (const agxSDK::LinkedSegment *segment) const |
| | Finds rest length to the start of the given segment.
|
| |
| virtual agx::Vec3 | getAngularVelocityDamping () const |
| |
| template<typename T > |
| T * | getComponent () const |
| |
| agxSDK::LinkedStructureComponent * | getComponent (const agx::Name &name) const |
| |
| virtual agx::Real | getCurrentLength () const |
| | Calculates and returns the total length of this linked structure, at current state.
|
| |
| virtual agx::UInt32 | getDisabledCollisionGroupId () const |
| |
| virtual agx::Bool | getEnableCollisions (const agx::RigidBody *rb) const |
| |
| virtual agx::Bool | getEnableCollisions (const agxCollide::Geometry *geometry) const |
| |
| virtual agx::Vec3 | getLinearVelocityDamping () const |
| |
| virtual agx::Real | getMass () const |
| | Calculates and returns the total mass of this linked structure.
|
| |
| virtual agx::Material * | getMaterial () const |
| |
| virtual agx::Real | getRestLength () const |
| | Calculates and returns the total length of this linked structure, at rest.
|
| |
| virtual agx::Real | getRestVolume () const |
| | Calculates and returns the total volume of this linked structure, at rest.
|
| |
| template<> |
| LinkedSegment * | getSegment (const agx::RigidBody *rb) const |
| |
| agx::UInt | getSegmentIndex (const agx::RigidBody *rb) const |
| |
| const agxSDK::LinkedSegmentContainer & | getSegmentsContainer () const |
| |
| virtual agx::UInt32 | getUniqueId () const |
| |
| virtual agx::Bool | hasGroup (agx::UInt32 id) const |
| |
| virtual agx::Bool | hasGroup (const agx::Name &name) const |
| |
| virtual agx::Bool | rebind () |
| | Make the current relative positions of all nodes the rest state.
|
| |
| virtual agx::Bool | removeComponent (agxSDK::LinkedStructureComponent *component) |
| | Remove an added component from this linked structure.
|
| |
| virtual void | removeGroup (agx::UInt32 id) |
| | Remove group id from all segments in this linked structure.
|
| |
| virtual void | removeGroup (const agx::Name &name) |
| | Remove group name from all segments in this linked structure.
|
| |
| virtual void | removeNotification (agxSDK::Simulation *) |
| | Called when this assembly is removed from a simulation.
|
| |
| void | removeNotification (agxSDK::Simulation *simulation) final override |
| | Called when this linked structure is added to the simulation.
|
| |
| virtual void | removeNotification (Assembly *) |
| | Called when this assembly is removed from another assembly.
|
| |
| agxSDK::LinkedSegmentRange< agxSDK::LinkedSegment > | segments () |
| |
| virtual void | setAngularVelocityDamping (const agx::Vec3 &angularVelocityDamping) |
| | Assigns angular velocity damping to all segments in this linked structure.
|
| |
| virtual void | setEnableCollisions (agx::RigidBody *rb, agx::Bool enable) |
| | Enable/disable collisions between the rigid body and all segments of this linked structure.
|
| |
| virtual void | setEnableCollisions (agxCollide::Geometry *geometry, agx::Bool enable) |
| | Enable/disable collisions between the geometry and all segments of this linked structure.
|
| |
| virtual void | setLinearVelocityDamping (const agx::Vec3 &linearVelocityDamping) |
| | Assigns linear velocity damping to all segments in this linked structure.
|
| |
| virtual void | setMaterial (agx::Material *material) |
| | Assign material to all segments in this linked structure.
|
| |
| | Assembly () |
| | Default constructor.
|
| |
| bool | add (agx::Constraint *constraint) |
| | Add a constraint to the assembly.
|
| |
| bool | add (agx::ContactMaterial *contactMaterial) |
| | Add a contact material to this assembly.
|
| |
| bool | add (agx::Emitter *emitter) |
| | Add an emitter to this assembly.
|
| |
| bool | add (agx::Interaction *interaction) |
| | Add an interaction to this assembly.
|
| |
| bool | add (agx::MergedBody *mergedBody) |
| | Add a MergedBody to this assembly.
|
| |
| bool | add (agx::ObserverFrame *observerFrame) |
| | Add an ObserverFrame to this assembly.
|
| |
| bool | add (agx::RigidBody *body) |
| | Add a rigid body to the assembly.
|
| |
| bool | add (agxCollide::Geometry *geometry) |
| | Add a geometry to the assembly.
|
| |
| bool | add (agxSDK::EventListener *listener) |
| | Add a listener to the assembly.
|
| |
| bool | add (agxSDK::TerrainInstance *terrainInstance) |
| | Add a TerrainInstance to this assembly.
|
| |
| bool | add (agxSDK::TerrainToolInstance *toolInstance) |
| | Add a TerrainToolInstance to this assembly.
|
| |
| bool | add (agxStream::Serializable *object) |
| | Add an object of type serialized.
|
| |
| bool | add (Assembly *assembly) |
| | Add another assembly as child to this assembly.
|
| |
| virtual void | addNotification (agxSDK::Simulation *) |
| | Called when this assembly is added to a simulation (given that it not already is in the simulation).
|
| |
| virtual void | addNotification (Assembly *) |
| | Called when this assembly is added to another assembly.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxSDK::Assembly) |
| |
| size_t | collect (agx::ConstraintRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::EmitterRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::InteractionRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::MergedBodyRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::ObserverFrameRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::ParticleSystemRefVector &result, bool recursive=true) |
| |
| size_t | collect (agx::RigidBodyRefVector &result, bool recursive=true) |
| |
| size_t | collect (agxCollide::GeometryRefVector &result, bool recursive=true) |
| |
| size_t | collect (agxSDK::AssemblyRefVector &result, bool recursive=true) |
| |
| size_t | collect (agxSDK::EventListenerRefVector &result, bool recursive=true) |
| |
| size_t | collect (agxSDK::TerrainInstanceRefVector &result, bool recursive=true) |
| |
| size_t | collect (agxSDK::TerrainToolInstanceRefVector &result, bool recursive=true) |
| |
| bool | empty () const |
| |
| const AssemblyRefSetVector & | getAssemblies () const |
| |
| agxSDK::Assembly * | getAssembly (const agx::Name &name, bool recursive=true) |
| | Find (linear search) and return named Assembly.
|
| |
| const agxSDK::Assembly * | getAssembly (const agx::Name &name, bool recursive=true) const |
| | Find (linear search) and return named Assembly.
|
| |
| agxSDK::Assembly * | getAssembly (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return an Assembly matching the given uuid.
|
| |
| const agxSDK::Assembly * | getAssembly (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return an Assembly matching the given uuid.
|
| |
| agx::Constraint * | getConstraint (const agx::Name &name, bool recursive=true) |
| | Find (linear search) and return named Constraint.
|
| |
| template<typename T > |
| T * | getConstraint (const agx::Name &name, bool recursive=true) |
| | Find and return named Constraint of a template type, for example Hinge:
|
| |
| const agx::Constraint * | getConstraint (const agx::Name &name, bool recursive=true) const |
| | Find (linear search) and return named Constraint.
|
| |
| template<typename T > |
| const T * | getConstraint (const agx::Name &name, bool recursive=true) const |
| | Find and return named Constraint of a template type, for example Hinge:
|
| |
| agx::Constraint * | getConstraint (const agx::Uuid &uuid, bool recursive=true) |
| | Find and return a pointer to a Constraint with the given uuid.
|
| |
| const agx::Constraint * | getConstraint (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return a pointer to a Constraint with the given uuid.
|
| |
| agx::Constraint1DOF * | getConstraint1DOF (const agx::Name &name, bool recursive=true) |
| |
| agx::Constraint2DOF * | getConstraint2DOF (const agx::Name &name, bool recursive=true) |
| |
| const agx::ConstraintRefSetVector & | getConstraints () const |
| |
| const agx::EmitterRefSetVector & | getEmitters () const |
| |
| const EventListenerRefSetVector & | getEventListeners () const |
| |
| virtual agx::Frame * | getFrame () |
| | Return a reference to the frame containing transformation and velocity information for this assembly.
|
| |
| virtual const agx::Frame * | getFrame () const |
| |
| const agxCollide::GeometryRefSetVector & | getGeometries () const |
| |
| agxCollide::Geometry * | getGeometry (const agx::Name &name, bool recursive=true) |
| | Find (linear search) and return named collision Geometry.
|
| |
| const agxCollide::Geometry * | getGeometry (const agx::Name &name, bool recursive=true) const |
| | Find (linear search) and return named collision Geometry.
|
| |
| agxCollide::Geometry * | getGeometry (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return a Geometry matching the given uuid.
|
| |
| const agxCollide::Geometry * | getGeometry (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return a Geometry matching the given uuid.
|
| |
| const agx::InteractionRefSetVector & | getInteractions () const |
| |
| agx::Vec3 | getLocalPosition () const |
| |
| agx::Quat | getLocalRotation () const |
| |
| const agx::AffineMatrix4x4 & | getLocalTransform () const |
| |
| const agx::MergedBodyRefSetVector & | getMergedBodies () const |
| |
| agx::MergedBody * | getMergedBody (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return an MergedBody matching the given uuid.
|
| |
| const agx::MergedBody * | getMergedBody (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return an MergedBody matching the given uuid.
|
| |
| agx::Name | getName () const |
| |
| agx::ObserverFrame * | getObserverFrame (const agx::Name &name, bool recursive=true) |
| | Find (linear search) and return an ObserverFrame matching the given uuid.
|
| |
| const agx::ObserverFrame * | getObserverFrame (const agx::Name &name, bool recursive=true) const |
| | Find (linear search) and return an ObserverFrame matching the given uuid.
|
| |
| agx::ObserverFrame * | getObserverFrame (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return an ObserverFrame matching the given uuid.
|
| |
| const agx::ObserverFrame * | getObserverFrame (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return an ObserverFrame matching the given uuid.
|
| |
| const agx::ObserverFrameRefSetVector & | getObserverFrames () const |
| |
| Assembly * | getParent () |
| |
| const Assembly * | getParent () const |
| |
| agx::Frame * | getParentFrame () |
| |
| const agx::Frame * | getParentFrame () const |
| |
| const agx::ParticleSystemRefSetVector & | getParticleSystems () const |
| |
| const agx::RigidBodyRefSetVector & | getRigidBodies () const |
| |
| agx::RigidBody * | getRigidBody (const agx::Name &name, bool recursive=true) |
| | Find (linear search) and return named RigidBody.
|
| |
| const agx::RigidBody * | getRigidBody (const agx::Name &name, bool recursive=true) const |
| | Find (linear search) and return named RigidBody.
|
| |
| agx::RigidBody * | getRigidBody (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return a pointer to a RigidBody with the given uuid.
|
| |
| const agx::RigidBody * | getRigidBody (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return a pointer to a RigidBody with the given uuid.
|
| |
| agxSDK::Simulation * | getSimulation () |
| |
| const agxSDK::Simulation * | getSimulation () const |
| |
| agxSDK::TerrainInstance * | getTerrainInstance (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return an TerrainInstance matching the given uuid.
|
| |
| const agxSDK::TerrainInstance * | getTerrainInstance (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return an TerrainInstance matching the given uuid.
|
| |
| const agxSDK::TerrainInstanceRefSetVector & | getTerrainInstances () const |
| |
| agxSDK::TerrainToolInstance * | getTerrainToolInstance (const agx::Uuid &uuid, bool recursive=true) |
| | Find (linear search) and return an TerrainToolInstance matching the given uuid.
|
| |
| const agxSDK::TerrainToolInstance * | getTerrainToolInstance (const agx::Uuid &uuid, bool recursive=true) const |
| | Find (linear search) and return an TerrainToolInstance matching the given uuid.
|
| |
| const agxSDK::TerrainToolInstanceRefSetVector & | getTerrainToolInstances () const |
| |
| Type | getType () const |
| |
| bool | remove (agx::Constraint *constraint) |
| | Remove a constraint from this assembly (does not recurse down in tree).
|
| |
| bool | remove (agx::ContactMaterial *contactMaterial) |
| | Remove a contact material from this assembly.
|
| |
| bool | remove (agx::Emitter *emitter) |
| | Remove an emitter from this assembly.
|
| |
| bool | remove (agx::Interaction *interaction) |
| | Remove an interaction from this assembly.
|
| |
| bool | remove (agx::MergedBody *mergedBody) |
| | Remove a MergedBody from this assembly.
|
| |
| bool | remove (agx::ObserverFrame *observerFrame, bool resetParentFrame=true) |
| | Remove an ObserverFrame from this assembly.
|
| |
| bool | remove (agx::RigidBody *body, bool removeAssociatedGeometries=false, bool resetParentFrame=true) |
| | Remove a rigid body from this assembly (does not recurse down in tree).
|
| |
| bool | remove (agxCollide::Geometry *geometry, bool resetParentFrame=true) |
| | Remove a geometry from this assembly (does not recurse down in tree).
|
| |
| bool | remove (agxSDK::TerrainInstance *terrainInstance) |
| | Remove a TerrainInstance from this assembly.
|
| |
| bool | remove (agxSDK::TerrainToolInstance *toolInstance) |
| | Remove a TerrainToolInstance from this assembly.
|
| |
| bool | remove (Assembly *assembly, bool resetParentFrame=true) |
| | Remove a child assembly from a parent.
|
| |
| bool | remove (EventListener *listener) |
| | Remove an EventListener from the assembly.
|
| |
| virtual void | removeNotification (agxSDK::Simulation *) |
| | Called when this assembly is removed from a simulation.
|
| |
| virtual void | removeNotification (Assembly *) |
| | Called when this assembly is removed from another assembly.
|
| |
| bool | reset (bool resetParentFrame=true) |
| | If this assembly is not added to a simulation it will clear all added bodies etc.
|
| |
| virtual void | setAngularVelocity (const agx::Vec3 &velocity) |
| | Set the angular velocity (in world frame) recursively for all rigid bodies stored in assembly.
|
| |
| void | setLocalPosition (agx::Real x, agx::Real y, agx::Real z) |
| | Set the position of the assembly relative to its frame's parent frame.
|
| |
| void | setLocalPosition (const agx::Vec3 &p) |
| | Set the position of the assembly relative to its frame's parent frame.
|
| |
| void | setLocalRotation (const agx::EulerAngles &e) |
| | Set the rotation of the assembly relative to its frame's parent frame.
|
| |
| void | setLocalRotation (const agx::Quat &q) |
| | Set the rotation of the assembly relative to its frame's parent frame.
|
| |
| void | setLocalTransform (const agx::AffineMatrix4x4 &matrix) |
| | Assign the local transformation matrix for this assembly, ignoring any eventual parent transformation.
|
| |
| void | setName (const agx::Name &name) |
| | Set the name of this Assembly.
|
| |
| bool | setParentFrame (agx::Frame *frame) |
| | Set the parent frame of this assembly's frame.
|
| |
| void | setPosition (agx::Real x, agx::Real y, agx::Real z) |
| | Set the position of the frame in world coordinates.
|
| |
| void | setPosition (const agx::Vec3 &p) |
| | Set the position of the frame in world coordinates.
|
| |
| void | setRotation (const agx::EulerAngles &e) |
| | Set the rotation of the assembly relative to world frame.
|
| |
| void | setRotation (const agx::OrthoMatrix3x3 &m) |
| | Set the rotation of the assembly relative to world frame.
|
| |
| void | setRotation (const agx::Quat &q) |
| | Set the rotation of the assembly relative to world frame.
|
| |
| void | setTransform (const agx::AffineMatrix4x4 &matrix) |
| | Set the transform of the assembly.
|
| |
| virtual void | setVelocity (const agx::Vec3 &velocity) |
| | Set the linear velocity (in world frame) recursively for all rigid bodies stored in assembly.
|
| |
| bool | transfer (agxSDK::Assembly *target) |
| | Transfer all the content from this assembly to the target, including name and transformation.
|
| |
| virtual void | traverse (AssemblyVisitor *visitor) |
| | Traverse the assembly tree recursively using a visitor.
|
| |
| virtual void | traverse (const AssemblyVisitor *visitor) const |
| |
| | 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.
|
| |
| virtual | ~Serializable () |
| | Destructor for normal C++ use but hidden from SWIG bindings.
|
| |
| virtual const char * | getClassName () const |
| |
| bool | getEnableSerialization () const |
| |
| bool | getEnableUuidGeneration () |
| |
| agx::UInt32 | getIndex () const |
| | This index is given at creation of this object.
|
| |
| virtual StorageAgent * | getStorageAgent () const =0 |
| |
| agx::Uuid | getUuid () const |
| |
| bool | isFinished () const |
| |
| void | setEnableSerialization (bool flag) |
| | Set to false to disable serialization of this object.
|
| |
| void | setFinished () |
| | Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
|
| |
| void | setUuid (const agx::Uuid &uuid) |
| | Explicitly set a Uuid on a serializable object.
|
| |