SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
taoJoint Class Referenceabstract

Base joint class for articulated bodyThis provides a joint for articulated body dynamics. More...

#include <taoJoint.h>

Inheritance diagram for taoJoint:
Inheritance graph
[legend]
Collaboration diagram for taoJoint:
Collaboration graph
[legend]

Public Member Functions

virtual ~taoJoint ()
 
virtual deInt getDOF ()=0
 
virtual void reset ()=0
 
virtual void setDVar (taoDVar *var)
 
virtual taoDVargetDVar ()
 
virtual taoDVar const * getDVar () const
 
void setType (scl::EJointType t)
 
scl::EJointType getType () const
 
virtual void setABJoint (taoABJoint *joint)=0
 
virtual taoABJointgetABJoint ()=0
 
virtual taoABJoint const * getABJoint () const =0
 
void setDQclamp (deInt b)
 
deInt getDQclamp ()
 
void setNext (taoJoint *joint)
 
taoJointgetNext ()
 
virtual void setDQmax (deFloat dq)
 
virtual deFloat getDQmax ()
 
virtual void setDamping (deFloat d)
 
virtual deFloat getDamping ()
 
virtual void setInertia (deFloat i)
 
virtual deFloat getInertia ()
 
virtual void clampDQ ()=0
 
virtual void integrate (const deFloat dt)=0
 
virtual void updateFrameLocal (deFrame *local)=0
 
virtual void setTau (const deFloat *v)=0
 
virtual void zeroTau ()=0
 
virtual void setDDQ (const deFloat *v)=0
 
virtual void zeroDDQ ()=0
 
virtual void setDQ (const deFloat *v)=0
 
virtual void zeroDQ ()=0
 
virtual void setQ (const deFloat *v)=0
 
virtual void zeroQ ()=0
 
virtual void getTau (deFloat *v) const =0
 
virtual void getDDQ (deFloat *v) const =0
 
virtual void getDQ (deFloat *v) const =0
 
virtual void getQ (deFloat *v) const =0
 
virtual void getJgColumns (deVector6 *Jg_columns) const =0
 
virtual void addQdelta ()=0
 
virtual void addDQdelta ()=0
 

Public Attributes

std::string name_
 

Private Attributes

scl::EJointType _type
 
deInt _clamp_dQ
 
deFloat _max_dQ
 
deFloat _damping
 
deFloat _inertia
 
taoDVar_var
 
taoJoint_next
 

Detailed Description

Base joint class for articulated body

This provides a joint for articulated body dynamics.

Edited 2013-08-21 : Samir Menon smeno.nosp@m.n@st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u

See Also
taoDJoint

Constructor & Destructor Documentation

taoJoint::~taoJoint ( )
virtual

Edited 2013-08-21 : Samir Menon smeno.nosp@m.n@st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u

Member Function Documentation

virtual void taoJoint::getDDQ ( deFloat *  v) const
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::getDQ ( deFloat *  v) const
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::getJgColumns ( deVector6 Jg_columns) const
pure virtual

Retrieve the column(s) of the global Jacobian due to this joint. You have to pass in an array of deVector6 instances, the number of instances must be at least getDOF(), and each of them will be filled with the values of Jg_p (upper three entries) and Jg_w (lower three entries).

Note
This method was retrofitted because TAO did not provide a generic method of retrieving the global Jacobian. User were forced to jump through hoops and use dynamic casts, which is error prone and hard to maintain.

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::getQ ( deFloat *  v) const
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::getTau ( deFloat *  v) const
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::setDDQ ( const deFloat *  v)
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::setDQ ( const deFloat *  v)
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::setQ ( const deFloat *  v)
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

virtual void taoJoint::setTau ( const deFloat *  v)
pure virtual
Note
pointer semantics to support more than one DOF

Implemented in taoJointDOF1, and taoJointSpherical.

Member Data Documentation

taoJoint* taoJoint::_next
private

The above var uses a blank super class to create v-table entries for the follwing types: taoVarSpherical* _var_s; taoVarDOF1* _var_dof1;

NOTE TODO: Just remove the _var and use two vars instead.


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