V-ART
Public Member Functions | List of all members
VART::PolyaxialJoint Class Reference

A joint with three rotational degrees of freedom. More...

#include <polyaxialjoint.h>

Inheritance diagram for VART::PolyaxialJoint:
VART::Joint VART::Transform VART::SceneNode VART::MemoryObj

Public Member Functions

 PolyaxialJoint ()
 
 PolyaxialJoint (const VART::PolyaxialJoint &joint)
 Creates a new copy of an PolyaxialJoint. More...
 
VART::PolyaxialJointoperator= (const VART::PolyaxialJoint &joint)
 Copy the polyaxialJoint data to another PolyaxialJoint. More...
 
virtual VART::SceneNodeCopy ()
 Returns a copy of an PolyaxialJoint. Every derived class must reimplements this method, to avoid errors with VART::SceneNode::RecursiveCopy. More...
 
virtual ~PolyaxialJoint ()
 
void SetFlexionTo (float value)
 
void SetAductionTo (float value)
 
void SetTwistTo (float value)
 
void Flex (float variance)
 Moves the first DOF. More...
 
void Adduct (float variance)
 
void Twist (float variance)
 
void AddDof (Dof *dof)
 Adds a Dof. More...
 
- Public Member Functions inherited from VART::Joint
 Joint ()
 Creates an uninitialized joint. More...
 
 Joint (const Joint &j)
 
virtual ~Joint ()
 
virtual void CopyDofListFrom (VART::Joint &joint)
 Copy the dofList atribute from an joint, setting the ownerJoint atribute of copied dof to 'this' joint instance. More...
 
const Jointoperator= (const Joint &j)
 
unsigned short int GetNumDofs () const
 
virtual DofAddDof (const Point4D &vec, const Point4D &pos, float min, float max)
 Adds a Dof. More...
 
void MakeLim ()
 Updates the LIM, based on DOFs' situation. More...
 
const DofGetDof (DofID dof) const
 Returns a joint's DOF. More...
 
void GetDofs (std::list< Dof * > *dofListPtr)
 Returns all DOFs. More...
 
DofID GetDofID (const Dof *dofPtr) const
 Returns the DofID of some member Dof. More...
 
void SetAtRest ()
 Put the joint in a rest position. More...
 
bool MoveDof (DofID dof, float variance)
 Moves a joint's DOF. More...
 
bool HasDof (DofID dof)
 Checks whether a DOF exists in the joint. More...
 
virtual TypeID GetID ()
 Returns type identification of the node. More...
 
virtual void XmlPrintOn (std::ostream &os, unsigned int indent) const
 Outputs XML representation of the scene. More...
 
- Public Member Functions inherited from VART::Transform
 Transform ()
 Creates an uninitialized transform. More...
 
 Transform (const Transform &trans)
 Copy constructor. More...
 
void MakeIdentity ()
 Turns transform into identity. More...
 
Point4D operator* (const Point4D &point) const
 Applies transformation to a point. More...
 
Transform operator* (const Transform &t) const
 Applies transformation to another transform. More...
 
Transformoperator= (const Transform &t)
 Copies data from anoter transform. More...
 
void Apply (const Transform &t)
 Applies a transformation to itself. More...
 
void ApplyTo (Point4D *ptPoint) const
 Applies tranformation to a point. More...
 
void MakeTranslation (const Point4D &translationVector)
 Turns transform into a translation. More...
 
void MakeTranslation (double tx, double ty, double tz)
 Turns transform into a translation. More...
 
void MakeXRotation (double radians)
 Turns transform into a rotation around the X axis. More...
 
void MakeYRotation (double radians)
 Turns transform into a rotation around the Y axis. More...
 
void MakeZRotation (double radians)
 Turns transform into a rotation around the Z axis. More...
 
void MakeRotation (const Point4D &refVec, const float radians)
 Turns transform into a rotation (around some reference vetor). More...
 
void MakeRotation (const Point4D &refPoint, const Point4D &refVec, const float radians)
 Turns transform into a rotation (around some reference axis). More...
 
void MakeScale (double sX, double sY, double sZ)
 Turns transform into a scale. More...
 
void MakeShear (double shX, double shY)
 Turns transform into a shear. More...
 
void SetData (double *data)
 Set all data in the transform. More...
 
const double * GetData () const
 Returns the address of transformation matrix. More...
 
void GetVectorX (Point4D *result) const
 Returns the X vector of the transform. More...
 
void GetVectorY (Point4D *result) const
 Returns the Y vector of the transform. More...
 
void GetVectorZ (Point4D *result) const
 Returns the Z vector of the transform. More...
 
void GetTranslation (Point4D *result) const
 Returns the translation part of the transform. More...
 
bool HasNaN () const
 Check for NaNs inside the matrix. More...
 
virtual bool DrawOGL () const
 Apply transform to rendering engine. More...
 
virtual void DrawForPicking () const
 Draws and object, setting pick info. More...
 
virtual TypeID GetID () const
 Returns type identification of the node. More...
 
virtual bool RecursiveBoundingBox (BoundingBox *bBox)
 Returns the recursive bounding box. More...
 
void ToggleRecVisibility ()
 Toggles the recursive object's visibility. More...
 
void CopyMatrix (const Transform &t)
 Copies matrix data from another transform. More...
 
- Public Member Functions inherited from VART::SceneNode
 SceneNode ()
 Creates an uninitialized scene node. More...
 
 SceneNode (SceneNode &node)
 
virtual ~SceneNode ()
 
SceneNodeoperator= (const SceneNode &node)
 
virtual SceneNodeRecursiveCopy ()
 
const std::string & GetDescription () const
 Returns a copy of the object's description. More...
 
void SetDescription (const std::string &desc)
 Changes the object's description. More...
 
void AddChild (SceneNode &child)
 Add a child at the end of child list. More...
 
bool DetachChild (SceneNode *childPtr)
 Removes a child from the child list. More...
 
void AutoDeleteChildren () const
 Deletes (dealocate memory) recursively all children marked as 'autoDelete'. More...
 
SceneNodeFindChildByName (const std::string &name) const
 Recusively searches its children for a given name. More...
 
std::list< SceneNode * > GetChilds ()
 
bool FindPathTo (SceneNode *targetPtr, SGPath *resultPtr) const
 Search target among children. More...
 
bool FindPathTo (const std::string &targetName, SGPath *resultPtr) const
 Search target among children. More...
 
int GetNodeTypeList (TypeID type, std::list< SceneNode * > &nodeList)
 Find all the nodes of with typeID 'type'. More...
 
virtual void TraverseDepthFirst (SNOperator *operatorPtr) const
 Process all children in depth-first order. More...
 
virtual void TraverseBreadthFirst (SNOperator *operatorPtr) const
 Process all children in breadth-first order. More...
 
virtual void LocateDepthFirst (SNLocator *locatorPtr) const
 Seaches for a particular scene node (depth first) More...
 
virtual void LocateBreadthFirst (SNLocator *locatorPtr) const
 Seaches for a particular scene node (breadth first) More...
 
- Public Member Functions inherited from VART::MemoryObj
 MemoryObj ()
 Default constructor. More...
 
 MemoryObj (const VART::MemoryObj &obj)
 Copy constructor. More...
 

Additional Inherited Members

- Public Types inherited from VART::Joint
enum  DofID { FLEXION, ADDUCTION, TWIST }
 
- Public Types inherited from VART::SceneNode
enum  TypeID {
  NONE, GRAPHIC_OBJ, BOX, CONE,
  CURVE, BEZIER, CYLINDER, IMAGE,
  IMAGE_2D, VOLUME, MESH_OBJECT, SPHERE,
  JOINT, BIAXIAL_JOINT, CONDYLAR_JOINT, ELLIPSOID_JOINT,
  SADDLE_JOINT, PLANE_JOINT, POLYAXIAL_JOINT, UNIAXIAL_JOINT,
  HINGE_JOINT, PIVOT_JOINT, TRANSFORM
}
 
- Public Attributes inherited from VART::MemoryObj
bool autoDelete
 
- Static Public Attributes inherited from VART::SceneNode
static bool recursivePrinting = true
 
- Protected Member Functions inherited from VART::SceneNode
virtual bool DrawInstanceOGL () const
 Non-recursive drawing - should be overriden by every derived class. More...
 
bool RecursiveFindPathTo (SceneNode *targetPtr, SGPath *resultPtr) const
 Recursive auxiliar method for FindPathTo. More...
 
bool RecursiveFindPathTo (const std::string &targetName, SGPath *resultPtr) const
 Recursive auxiliar method for FindPathTo. More...
 
- Protected Attributes inherited from VART::Joint
std::list< Dof * > dofList
 
- Protected Attributes inherited from VART::Transform
double matrix [16]
 
- Protected Attributes inherited from VART::SceneNode
std::list< SceneNode * > childList
 Child list. More...
 
std::string description
 Textual identification. More...
 

Detailed Description

A joint with three rotational degrees of freedom.

FixMe: Put detailed description here.

Definition at line 16 of file polyaxialjoint.h.

Constructor & Destructor Documentation

VART::PolyaxialJoint::PolyaxialJoint ( )

Definition at line 10 of file polyaxialjoint.cpp.

VART::PolyaxialJoint::PolyaxialJoint ( const VART::PolyaxialJoint joint)

Creates a new copy of an PolyaxialJoint.

Definition at line 14 of file polyaxialjoint.cpp.

virtual VART::PolyaxialJoint::~PolyaxialJoint ( )
inlinevirtual

Definition at line 30 of file polyaxialjoint.h.

Member Function Documentation

void VART::PolyaxialJoint::AddDof ( VART::Dof dof)
virtual

Adds a Dof.

Reimplemented from VART::Joint.

Definition at line 73 of file polyaxialjoint.cpp.

References VART::Joint::AddDof().

Referenced by VART::XmlScene::LoadSceneNode().

void VART::PolyaxialJoint::Adduct ( float  variance)

Definition at line 54 of file polyaxialjoint.cpp.

References VART::Dof::Move().

VART::SceneNode * VART::PolyaxialJoint::Copy ( )
virtual

Returns a copy of an PolyaxialJoint. Every derived class must reimplements this method, to avoid errors with VART::SceneNode::RecursiveCopy.

Reimplemented from VART::Joint.

Definition at line 25 of file polyaxialjoint.cpp.

References VART::Joint::CopyDofListFrom().

void VART::PolyaxialJoint::Flex ( float  variance)
inline

Moves the first DOF.

Definition at line 35 of file polyaxialjoint.h.

References VART::Joint::dofList.

VART::PolyaxialJoint & VART::PolyaxialJoint::operator= ( const VART::PolyaxialJoint joint)

Copy the polyaxialJoint data to another PolyaxialJoint.

Definition at line 19 of file polyaxialjoint.cpp.

void VART::PolyaxialJoint::SetAductionTo ( float  value)

Definition at line 39 of file polyaxialjoint.cpp.

References VART::Dof::MoveTo().

void VART::PolyaxialJoint::SetFlexionTo ( float  value)

Definition at line 34 of file polyaxialjoint.cpp.

References VART::Dof::MoveTo().

void VART::PolyaxialJoint::SetTwistTo ( float  value)

Definition at line 46 of file polyaxialjoint.cpp.

References VART::Dof::MoveTo().

void VART::PolyaxialJoint::Twist ( float  variance)

Definition at line 63 of file polyaxialjoint.cpp.

References VART::Dof::Move().


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