AGX Dynamics 2.42.3.1
Loading...
Searching...
No Matches
agxWire::NodeFrame Class Reference

Node coordinate frame in another frame. More...

#include <Node.h>

Public Types

enum  Elements { ORG_TRANSLATE , TRANSLATE , REL_BODY_TRANSLATE , ENUM_SIZE }
 

Public Member Functions

 NodeFrame ()
 Default constructor.
 
 ~NodeFrame ()
 Destructor.
 
agx::Vec3 calculateCmOffset (const agx::RigidBody *rb) const
 Manly for writing Jacobian data to the solver.
 
agx::Vec3 & getElement (Elements element)
 Data access.
 
const agx::Vec3 & getElement (Elements element) const
 Data access.
 
agx::RigidBody * getRigidBody () const
 
const agx::Vec3 & getTranslate () const
 
const agx::Vec3 & getWorldPosition () const
 
void setRigidBody (agx::RigidBody *body)
 Set rigid body.
 
void setTranslate (agx::Real x, agx::Real y, agx::Real z)
 Set original translate (world frame if this node frame doesn't have a rigid body).
 
void setTranslate (const agx::Vec3 &translate)
 Set original translate (world frame if this node frame doesn't have a rigid body).
 
void transform ()
 Recalculates TRANSLATE and REL_BODY_TRANSLATE.
 

Protected Attributes

agx::Vec3 m_data [ENUM_SIZE]
 
agx::RigidBodyRef m_rb
 

Detailed Description

Node coordinate frame in another frame.

Holds data for original local translate, current world (transformed) translate and relative (transformed) translate.

Definition at line 88 of file agxWire/Node.h.

Member Enumeration Documentation

◆ Elements

Enumerator
ORG_TRANSLATE 

Original translate.

TRANSLATE 

Current transformed translate.

REL_BODY_TRANSLATE 

Current transformed relative.

ENUM_SIZE 

Definition at line 91 of file agxWire/Node.h.

Constructor & Destructor Documentation

◆ NodeFrame()

agxWire::NodeFrame::NodeFrame ( )

Default constructor.

◆ ~NodeFrame()

agxWire::NodeFrame::~NodeFrame ( )

Destructor.

Member Function Documentation

◆ calculateCmOffset()

agx::Vec3 agxWire::NodeFrame::calculateCmOffset ( const agx::RigidBody *  rb) const

Manly for writing Jacobian data to the solver.

Calculates the vector from center of mass of the rigid body (world origin if rigid body is null) to this node.

Note
Assumes 'transform' has been called, i.e., all data is up to date.
Parameters
rb- rigid body from which the vector starts, world if null
Returns
the vector from center of mass to the node

◆ getElement() [1/2]

agx::Vec3 & agxWire::NodeFrame::getElement ( Elements  element)

Data access.

Parameters
element- index (see Elements)
Returns
data for current index

◆ getElement() [2/2]

const agx::Vec3 & agxWire::NodeFrame::getElement ( Elements  element) const

Data access.

Parameters
element- index (see Elements)
Returns
data for current index

◆ getRigidBody()

agx::RigidBody * agxWire::NodeFrame::getRigidBody ( ) const
Returns
rigid body of this frame

Definition at line 2061 of file agxWire/Node.h.

◆ getTranslate()

const agx::Vec3 & agxWire::NodeFrame::getTranslate ( ) const
Returns
original translate in parent frame (world or body)

◆ getWorldPosition()

const agx::Vec3 & agxWire::NodeFrame::getWorldPosition ( ) const
Returns
the world position

Definition at line 2056 of file agxWire/Node.h.

Referenced by agxWire::findPointOnWire().

◆ setRigidBody()

void agxWire::NodeFrame::setRigidBody ( agx::RigidBody *  body)

Set rigid body.

◆ setTranslate() [1/2]

void agxWire::NodeFrame::setTranslate ( agx::Real  x,
agx::Real  y,
agx::Real  z 
)

Set original translate (world frame if this node frame doesn't have a rigid body).

Parameters
x- x position in parent frame (world or body)
y- y position in parent frame (world or body)
z- z position in parent frame (world or body)

◆ setTranslate() [2/2]

void agxWire::NodeFrame::setTranslate ( const agx::Vec3 &  translate)

Set original translate (world frame if this node frame doesn't have a rigid body).

Parameters
translate- position in parent frame (world or body)

◆ transform()

void agxWire::NodeFrame::transform ( )

Recalculates TRANSLATE and REL_BODY_TRANSLATE.

Member Data Documentation

◆ m_data

agx::Vec3 agxWire::NodeFrame::m_data[ENUM_SIZE]
protected

Definition at line 175 of file agxWire/Node.h.

◆ m_rb

agx::RigidBodyRef agxWire::NodeFrame::m_rb
protected

Definition at line 174 of file agxWire/Node.h.


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