|
AGX Dynamics 2.41.3.0
|
Class defining a node that is part of a wire. More...
#include <Node.h>
Inheritance diagram for agxWire::Node:Public Types | |
| enum | StateInfo { STANDARD = 0 , WAS_CONTACT = (1<< 0) , IS_HIGH_RES = (1<< 1) , IGNORE_BEND = (1<< 2) , NO_LUMP_NEAR = (1<< 3) , NO_CIRCLE_CONTACT = (1<< 4) , GYPSY_CONTACT = (1<< 5) , NO_MOVEMENT_RANGE = (1<< 6) , NO_FRICTION = (1<< 7) , SPLIT_ENABLED = (1<< 8) , INSIDE_OBJECT = (1<< 9) , WAS_CONTACT_LAST_TIMESTEP = (1<<10) , PERMANENT_LUMP = (1<<11) , REPLACE_SUPERBEND_WITH_BEND = (1<<12) , LUMPED_NODE = (1<<13) , LUMP_CONTACT = (1<<14) , WW_STABILIZED = (1<<15) } |
| Internal state a node may have. More... | |
| enum | Type { NOT_DEFINED = 0 , EYE = (1<<0) , MISSING = (1<<1) , CONNECTING = (1<<2) , FREE = (1<<3) , CONTACT = (1<<4) , BODY_FIXED = (1<<5) , STOP = (1 << 6) , SHAPE_CONTACT = (1<<7) } |
| The supported node types. More... | |
Public Member Functions | |
| void | addState (int state) |
| Add state mask to the current state. | |
| BodyFixedNode * | getAsBodyFixed () |
| const BodyFixedNode * | getAsBodyFixed () const |
| ConnectingNode * | getAsConnecting () |
| const ConnectingNode * | getAsConnecting () const |
| ContactNode * | getAsContact () |
| const ContactNode * | getAsContact () const |
| EyeNode * | getAsEye () |
| const EyeNode * | getAsEye () const |
| EyeNode * | getAsEyeLineNode () |
| const EyeNode * | getAsEyeLineNode () const |
| FreeNode * | getAsFree () |
| const FreeNode * | getAsFree () const |
| ShapeContactNode * | getAsShapeContact () |
| const ShapeContactNode * | getAsShapeContact () const |
| StopNode * | getAsStop () |
| const StopNode * | getAsStop () const |
| agx::Referenced * | getCustomData () const |
| NodeFrame * | getFrame () |
| const NodeFrame * | getFrame () const |
| HighResolutionRange * | getHighResolutionRange () |
| const HighResolutionRange * | getHighResolutionRange () const |
| bool | getIgnoreBend () const |
| agx::Vec3 | getIntegratedPosition (agx::Real t, bool onlyTranslational=true) const |
| Calculates the position of this node at time t from now. | |
| NodeMaterial * | getMaterial () |
| const NodeMaterial * | getMaterial () const |
| NodeFrame & | getNodeFrame () |
| Type | getNodeType () const |
| const agx::Vec3 & | getPosition () const |
| agx::RigidBody * | getRigidBody () const |
| int | getState () const |
| const agx::Vec3 & | getTranslate () const |
| Node::Type | getType () const |
| virtual agx::Vec3 | getVelocity () const |
| const agx::Vec3 & | getWorldPosition () const |
| agx::Bool | isType (agx::Int typeMask) const |
| Test several types, e.g., node->isType( agxWire::Node::EYE | agxWire::Node::CONNECTING ). | |
| void | removeState (int state) |
| Remove state mask from the current state. | |
| virtual void | reverse () |
| Only for internal use! Reverses all, internal, direction dependent structures. | |
| void | setCustomData (agx::Referenced *customData) |
| Set custom data to this node. | |
| void | setIgnoreBend (bool ignoreBend) |
| Flag if bend constraints should be ignored over this node. | |
| void | setTranslate (agx::Real x, agx::Real y, agx::Real z) |
| Set the relative translate of this node in parent frame (body frame if body is set, otherwise world frame) | |
| virtual void | setTranslate (const agx::Vec3 &translate) |
| Set the relative translate of this node in parent frame (body frame if body is set, otherwise world frame) | |
| void | transform () |
| Transforms the frame. | |
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. | |
Public Member Functions inherited from agxStream::Serializable | |
| 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. | |
Static Public Member Functions | |
| static int | findNodeState (const agxCollide::Geometry *geometry) |
| Class used to track nodes when CCD is used. | |
| static agx::Bool | isContactType (const Node *node) |
| static agx::Bool | isContactType (const Node::Type &type) |
Static Public Member Functions inherited from agx::Referenced | |
| template<typename T > | |
| static bool | ValidateCast (const Referenced *object) |
Static Public Member Functions inherited from agxStream::Serializable | |
| static void | setEnableUuidGeneration (bool flag) |
| Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled. | |
Protected Member Functions | |
| Node () | |
| Default constructor. | |
| Node (Type type) | |
| Constructor given general node type. | |
| virtual | ~Node () |
| Destructor. | |
Protected Member Functions inherited from agx::Referenced | |
| virtual | ~Referenced () |
| Destructor. | |
| void | allocateObserverVector () const |
| void | deleteUsingDeleteHandler () const |
Protected Member Functions inherited from agxStream::Serializable | |
| Serializable () | |
| Default constructor. | |
| Serializable (const Serializable &other) | |
| Copy constructor. | |
| void | generateUuid () |
Protected Attributes | |
| BodyFixedNode * | m_bodyFixed |
| ConnectingNode * | m_connecting |
| ContactNode * | m_contact |
| ContactForce | m_contactForce |
| agx::ref_ptr< agx::Referenced > | m_customData |
| EyeNode * | m_eye |
| FreeNode * | m_free |
| HighResolutionRange | m_highResolutionRange |
| NodeMaterial | m_material |
| NodeFrame | m_nf |
| int | m_nodeState |
| agx::observer_ptr< Node > | m_parent |
| ShapeContactNode * | m_shapeContact |
| SpatialState | m_spatialState |
| StopNode * | m_stop |
| StoreRestoreData | m_storeRestoreData |
| Tension | m_tension |
| Type | m_type |
Protected Attributes inherited from agx::Referenced | |
| Mutex | m_mutex |
| ObserverContainer | m_observers |
| AtomicValue | m_refCount |
Additional Inherited Members | |
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. | |
Class defining a node that is part of a wire.
Definition at line 511 of file agxWire/Node.h.
Internal state a node may have.
Definition at line 535 of file agxWire/Node.h.
| enum agxWire::Node::Type |
The supported node types.
| Enumerator | |
|---|---|
| NOT_DEFINED | Default type is undefined. |
| EYE | Eye nodes are nodes that slides along the wire. |
| MISSING | Node not used. |
| CONNECTING | Connecting nodes contains two nodes, one at center of mass and the other at the user defined position. Used to handle heavy loads and carries special constraints for stability. |
| FREE | Free nodes are used to route the wire. |
| CONTACT | Contact nodes may appear during contact with other objects. |
| BODY_FIXED | Body fixed node has a fixed position relative a parent (body or world). |
| STOP | Stop nodes are an internal node used round winches. |
| SHAPE_CONTACT | Stop nodes are an internal node used round winches. |
Definition at line 517 of file agxWire/Node.h.
|
protected |
Constructor given general node type.
|
protected |
Default constructor.
|
protectedvirtual |
Destructor.
| void agxWire::Node::addState | ( | int | state | ) |
Add state mask to the current state.
| state | - state to add |
|
static |
Class used to track nodes when CCD is used.
Finds initial node state given geometry.
| geometry | - the geometry |
| BodyFixedNode * agxWire::Node::getAsBodyFixed | ( | ) |
Definition at line 2129 of file agxWire/Node.h.
| const BodyFixedNode * agxWire::Node::getAsBodyFixed | ( | ) | const |
Definition at line 2134 of file agxWire/Node.h.
| ConnectingNode * agxWire::Node::getAsConnecting | ( | ) |
Definition at line 2149 of file agxWire/Node.h.
| const ConnectingNode * agxWire::Node::getAsConnecting | ( | ) | const |
Definition at line 2154 of file agxWire/Node.h.
| ContactNode * agxWire::Node::getAsContact | ( | ) |
Definition at line 2169 of file agxWire/Node.h.
| const ContactNode * agxWire::Node::getAsContact | ( | ) | const |
Definition at line 2174 of file agxWire/Node.h.
| EyeNode * agxWire::Node::getAsEye | ( | ) |
Definition at line 2139 of file agxWire/Node.h.
| const EyeNode * agxWire::Node::getAsEye | ( | ) | const |
Definition at line 2144 of file agxWire/Node.h.
| EyeNode * agxWire::Node::getAsEyeLineNode | ( | ) |
| const EyeNode * agxWire::Node::getAsEyeLineNode | ( | ) | const |
| FreeNode * agxWire::Node::getAsFree | ( | ) |
| const FreeNode * agxWire::Node::getAsFree | ( | ) | const |
| ShapeContactNode * agxWire::Node::getAsShapeContact | ( | ) |
Definition at line 2184 of file agxWire/Node.h.
| const ShapeContactNode * agxWire::Node::getAsShapeContact | ( | ) | const |
Definition at line 2179 of file agxWire/Node.h.
| StopNode * agxWire::Node::getAsStop | ( | ) |
Definition at line 2159 of file agxWire/Node.h.
| const StopNode * agxWire::Node::getAsStop | ( | ) | const |
Definition at line 2164 of file agxWire/Node.h.
| agx::Referenced * agxWire::Node::getCustomData | ( | ) | const |
| NodeFrame * agxWire::Node::getFrame | ( | ) |
Definition at line 2109 of file agxWire/Node.h.
Referenced by agxWire::findPointOnWire().
| const NodeFrame * agxWire::Node::getFrame | ( | ) | const |
Definition at line 2114 of file agxWire/Node.h.
| HighResolutionRange * agxWire::Node::getHighResolutionRange | ( | ) |
| const HighResolutionRange * agxWire::Node::getHighResolutionRange | ( | ) | const |
| bool agxWire::Node::getIgnoreBend | ( | ) | const |
Calculates the position of this node at time t from now.
| t | - delta time from now |
| onlyTranslational | - if true (default) the angular velocity of the body will not be taken into account |
| NodeMaterial * agxWire::Node::getMaterial | ( | ) |
| const NodeMaterial * agxWire::Node::getMaterial | ( | ) | const |
| NodeFrame & agxWire::Node::getNodeFrame | ( | ) |
| Type agxWire::Node::getNodeType | ( | ) | const |
| const agx::Vec3 & agxWire::Node::getPosition | ( | ) | const |
| agx::RigidBody * agxWire::Node::getRigidBody | ( | ) | const |
Definition at line 2124 of file agxWire/Node.h.
| int agxWire::Node::getState | ( | ) | const |
| const agx::Vec3 & agxWire::Node::getTranslate | ( | ) | const |
| Node::Type agxWire::Node::getType | ( | ) | const |
Definition at line 2099 of file agxWire/Node.h.
|
virtual |
Reimplemented in agxWire::ShapeContactNode.
| const agx::Vec3 & agxWire::Node::getWorldPosition | ( | ) | const |
Definition at line 2119 of file agxWire/Node.h.
|
static |
Test several types, e.g., node->isType( agxWire::Node::EYE | agxWire::Node::CONNECTING ).
Definition at line 2104 of file agxWire/Node.h.
| void agxWire::Node::removeState | ( | int | state | ) |
Remove state mask from the current state.
| state | - state to remove |
|
virtual |
Only for internal use! Reverses all, internal, direction dependent structures.
Reimplemented in agxWire::EyeNode.
| void agxWire::Node::setCustomData | ( | agx::Referenced * | customData | ) |
Set custom data to this node.
| customData | - custom data |
| void agxWire::Node::setIgnoreBend | ( | bool | ignoreBend | ) |
Flag if bend constraints should be ignored over this node.
Set the relative translate of this node in parent frame (body frame if body is set, otherwise world frame)
|
virtual |
Set the relative translate of this node in parent frame (body frame if body is set, otherwise world frame)
Reimplemented in agxWire::ContactNode.
| void agxWire::Node::transform | ( | ) |
Transforms the frame.
|
protected |
Definition at line 1141 of file agxWire/Node.h.
|
protected |
Definition at line 1143 of file agxWire/Node.h.
|
protected |
Definition at line 1145 of file agxWire/Node.h.
|
protected |
Definition at line 1136 of file agxWire/Node.h.
|
protected |
Definition at line 1138 of file agxWire/Node.h.
|
protected |
Definition at line 1142 of file agxWire/Node.h.
|
protected |
Definition at line 1140 of file agxWire/Node.h.
|
protected |
Definition at line 1132 of file agxWire/Node.h.
|
protected |
Definition at line 1133 of file agxWire/Node.h.
|
protected |
Definition at line 1130 of file agxWire/Node.h.
|
protected |
Definition at line 1134 of file agxWire/Node.h.
|
protected |
Definition at line 1151 of file agxWire/Node.h.
|
protected |
Definition at line 1146 of file agxWire/Node.h.
|
protected |
Definition at line 1149 of file agxWire/Node.h.
|
protected |
Definition at line 1144 of file agxWire/Node.h.
|
protected |
Definition at line 1148 of file agxWire/Node.h.
|
protected |
Definition at line 1135 of file agxWire/Node.h.
|
protected |
Definition at line 1131 of file agxWire/Node.h.