DH_Chain< DataType, dim > Class Template Reference

#include <DH_Chain.h>

List of all members.

Public Types

typedef Joint< DataType, dim > JointType
typedef DH_Link< DataType, dim > LinkType
typedef Scene< DataType, dim > SceneType

Public Member Functions

 DH_Chain ()
 DH_Chain (const DH_Chain &v)
 ~DH_Chain ()
virtual void AddJoint (JointType *j)
virtual void AddJoint (JointType &j)
void addLink (LinkType *l)
void addLink (LinkType &l)
void addNativeLink (LinkType *l)
void addNativeLink (LinkType &l)
int GetNumNativeLinks () const
LinkType * GetNthNative (int i)
void addTernLink (int link, int nativeLink)
int GetNumTernLinks () const
int GetNumLinks () const
LinkType * GetNthLink (int i)
void calcDHMat (int baseLink, int targetLink)
void calcNativeDHMat (SceneType &TheScene, LinkType *native, int baseLink, int targetLink)
void updateLinks ()
void setParentChain (int val)
int getParentChain ()
void print (Scene< DataType, dim > &thisScene, int level)
virtual void Restart (std::ifstream &ifs, int &pos, double &t, double &dt)
virtual void Checkpointing (std::ofstream &ofs)
void setId (int val)

Protected Attributes

int id
std::vector< JointType * > joints
std::vector< LinkType * > links
std::vector< LinkType * > natives
std::vector< boost::array< int, 2 > > terNlinks
bool mobile
int parentChainId
MType tipDHMat
int num_terNlinks
int num_joints
int num_links
int num_natives

Friends

class Joint< DataType, dim >
class DH_Link< DataType, dim >
class SceneBase< DataType, dim >
class Scene< DataType, dim >

Detailed Description

template<class DataType, int dim>
class DH_Chain< DataType, dim >

Container used to expresss the pose of a connection of N DH_Links.


Member Typedef Documentation

template<class DataType , int dim>
typedef Joint<DataType,dim> DH_Chain< DataType, dim >::JointType
template<class DataType , int dim>
typedef DH_Link<DataType,dim> DH_Chain< DataType, dim >::LinkType
template<class DataType , int dim>
typedef Scene<DataType,dim> DH_Chain< DataType, dim >::SceneType

Constructor & Destructor Documentation

template<class DataType , int dim>
DH_Chain< DataType, dim >::~DH_Chain (  )  [inline]

Member Function Documentation

template<class DataType , int dim>
virtual void DH_Chain< DataType, dim >::AddJoint ( JointType &  j  )  [inline, virtual]
template<class DataType , int dim>
virtual void DH_Chain< DataType, dim >::AddJoint ( JointType *  j  )  [inline, virtual]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::addLink ( LinkType &  l  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::addLink ( LinkType *  l  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::addNativeLink ( LinkType &  l  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::addNativeLink ( LinkType *  l  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::addTernLink ( int  link,
int  nativeLink 
) [inline]
template<class DataType , int dim>
LinkType* DH_Chain< DataType, dim >::GetNthLink ( int  i  )  [inline]
template<class DataType , int dim>
LinkType* DH_Chain< DataType, dim >::GetNthNative ( int  i  )  [inline]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::GetNumLinks (  )  const [inline]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::GetNumNativeLinks (  )  const [inline]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::GetNumTernLinks (  )  const [inline]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::getParentChain (  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::setId ( int  val  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::setParentChain ( int  val  )  [inline]
template<class DataType , int dim>
void DH_Chain< DataType, dim >::updateLinks (  )  [inline]

Friends And Related Function Documentation

template<class DataType , int dim>
friend class DH_Link< DataType, dim > [friend]
template<class DataType , int dim>
friend class Joint< DataType, dim > [friend]
template<class DataType , int dim>
friend class Scene< DataType, dim > [friend]
template<class DataType , int dim>
friend class SceneBase< DataType, dim > [friend]

Member Data Documentation

template<class DataType , int dim>
int DH_Chain< DataType, dim >::id [protected]

index number in Scene DH_chains

Referenced by DH_Chain< DataType, dim >::DH_Chain().

template<class DataType , int dim>
bool DH_Chain< DataType, dim >::mobile [protected]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::num_joints [protected]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::num_links [protected]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::num_natives [protected]
template<class DataType , int dim>
int DH_Chain< DataType, dim >::num_terNlinks [protected]
template<class DataType , int dim>
std::vector<boost::array<int, 2> > DH_Chain< DataType, dim >::terNlinks [protected]

terNlinks[$i$][$a_i$][$b_i$] indicates the $ i^{th} $ ternery link fromed by links[$a_i$] and natives[$b_i$]. It relates a Part's or Assembly's $ oxyz $ (natives[$b_i$]->child points to a joint at $ oxyz $) to link[$a_i$] in the kinetic chain.
The three distinct joints are links[$a_i$]->parent, links[$a_i$]->child $ \equiv $ natives[$b_i$]->parent, and natives[$b_i$]->child.

Referenced by DH_Chain< DataType, dim >::addTernLink(), DH_Chain< DataType, dim >::Checkpointing(), DH_Chain< DataType, dim >::DH_Chain(), DH_Chain< DataType, dim >::GetNumTernLinks(), DH_Chain< DataType, dim >::print(), and DH_Chain< DataType, dim >::Restart().


The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:18:58 2016 for Motion - rigid body dynamics solver by  doxygen 1.6.3