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

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

#include <biaxialjoint.h>

Inheritance diagram for VART::BiaxialJoint:
VART::Joint VART::Transform VART::SceneNode VART::MemoryObj VART::CondylarJoint VART::EllipsoidJoint VART::SaddlelJoint

Public Member Functions

 BiaxialJoint ()
 Creates an uninitialized biaxial (2 DOFs) joint. More...
 
 BiaxialJoint (const VART::BiaxialJoint &joint)
 
VART::BiaxialJointoperator= (const VART::BiaxialJoint &joint)
 
virtual VART::SceneNodeCopy ()
 Returns a copy of an biaxialJoint. Every derived class must reimplements this method, to avoid errors with VART::SceneNode::RecursiveCopy. More...
 
virtual ~BiaxialJoint ()
 
void SetFlexionTo (float value)
 Sets the first DOF. More...
 
void Flex (float variance)
 Moves the first DOF. More...
 
void SetAductionTo (float value)
 Sets the second DOF. More...
 
void SetAdductionTo (float value)
 Sets the second DOF. More...
 
void Adduct (float variance)
 Moves the second DOF. More...
 
void AddDof (Dof *dof)
 Add a DOF to the joint. 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 two rotational degrees of freedom.

FixMe: Put detailed description here.

Definition at line 16 of file biaxialjoint.h.

Constructor & Destructor Documentation

VART::BiaxialJoint::BiaxialJoint ( )

Creates an uninitialized biaxial (2 DOFs) joint.

Before using the joint, two DOFs should be added to it.

Definition at line 10 of file biaxialjoint.cpp.

VART::BiaxialJoint::BiaxialJoint ( const VART::BiaxialJoint joint)

Definition at line 14 of file biaxialjoint.cpp.

VART::BiaxialJoint::~BiaxialJoint ( )
virtual

Definition at line 34 of file biaxialjoint.cpp.

Member Function Documentation

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

Add a DOF to the joint.

Parameters
dof[in] A pointer to the DOF that is to be added.

At most two DOFs can be added to a biaxial joint. Joint's destructor will dealocate DOFs marked as autoDelete.

Reimplemented from VART::Joint.

Definition at line 68 of file biaxialjoint.cpp.

References VART::Joint::AddDof().

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

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

Moves the second DOF.

Parameters
variance[in] A number in the range [0:1] - will be added to the second DOF's position (see Dof::GetCurrent).

Definition at line 59 of file biaxialjoint.cpp.

References VART::Dof::Move().

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

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

Reimplemented from VART::Joint.

Definition at line 25 of file biaxialjoint.cpp.

References VART::Joint::CopyDofListFrom().

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

Moves the first DOF.

Parameters
variance[in] A number in the range [0:1] - will be added to the first DOF's position (see Dof::GetCurrent).

Definition at line 42 of file biaxialjoint.h.

References VART::Joint::dofList.

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

Definition at line 19 of file biaxialjoint.cpp.

void VART::BiaxialJoint::SetAdductionTo ( float  value)

Sets the second DOF.

Parameters
value[in] A number in the range [0:1] - zero means "set to minimal angle" and 1 means "set to maximal angle".

Definition at line 50 of file biaxialjoint.cpp.

References VART::Dof::MoveTo().

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

Sets the second DOF.

Deprecated:
Spelling has been corrected to SetAdductionTo.

Definition at line 44 of file biaxialjoint.cpp.

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

Sets the first DOF.

Parameters
value[in] A number in the range [0:1] - zero means "set to minimal angle" and 1 means "set to maximal angle".

Definition at line 38 of file biaxialjoint.cpp.

References VART::Dof::MoveTo().


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