1 /* 2 *_________________________________________________________________________* 3 * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE * 4 * DESCRIPTION: SEE READ-ME * 5 * FILE NAME: prismaticjoint.cpp * 6 * AUTHORS: See Author List * 7 * GRANTS: See Grants List * 8 * COPYRIGHT: (C) 2005 by Authors as listed in Author's List * 9 * LICENSE: Please see License Agreement * 10 * DOWNLOAD: Free at www.rpi.edu/~anderk5 * 11 * ADMINISTRATOR: Prof. Kurt Anderson * 12 * Computational Dynamics Lab * 13 * Rensselaer Polytechnic Institute * 14 * 110 8th St. Troy NY 12180 * 15 * CONTACT: anderk5@rpi.edu * 16 *_________________________________________________________________________*/ 17 18 #ifndef PRISMATICJOINT_H 19 #define PRISMATICJOINT_H 20 21 #include "joint.h" 22 #include "vect3.h" 23 #include "mat3x3.h" 24 25 26 27 class PrismaticJoint : public Joint { 28 Vect3 axis_pk; // unit vector in body1 basis 29 Vect3 axis_k; // unit vector in body2 basis 30 public: 31 PrismaticJoint(); 32 ~PrismaticJoint(); 33 JointType GetType(); 34 bool ReadInJointData(std::istream& in); 35 void WriteOutJointData(std::ostream& out); 36 Matrix GetForward_sP(); 37 Matrix GetBackward_sP(); 38 void UpdateForward_sP( Matrix& sP); 39 void UpdateBackward_sP( Matrix& sP); 40 void ComputeForwardTransforms(); 41 void ComputeBackwardTransforms(); 42 void ComputeLocalTransform(); 43 void ForwardKinematics(); 44 void BackwardKinematics(); 45 }; 46 47 #endif 48