00001 //## begin module%37542C1B0011.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%37542C1B0011.cm 00004 00005 //## begin module%37542C1B0011.cp preserve=no 00006 //## end module%37542C1B0011.cp 00007 00008 //## Module: CD_JointLimits%37542C1B0011; Pseudo Package specification 00009 //## Source file: C:\project\mpk\code\CollisionDetectors\CD_JointLimits.h 00010 00011 #ifndef CD_JointLimits_h 00012 #define CD_JointLimits_h 1 00013 00014 //## begin module%37542C1B0011.additionalIncludes preserve=no 00015 //## end module%37542C1B0011.additionalIncludes 00016 00017 //## begin module%37542C1B0011.includes preserve=yes 00018 //## end module%37542C1B0011.includes 00019 00020 // CollisionDetectorBase 00021 #include "CollisionDetectors\CollisionDetectorBase.h" 00022 00023 class Configuration; 00024 class VectorN; 00025 00026 //## begin module%37542C1B0011.additionalDeclarations preserve=yes 00027 //## end module%37542C1B0011.additionalDeclarations 00028 00029 00030 //## begin CD_JointLimits%37542C1B0011.preface preserve=yes 00031 //## end CD_JointLimits%37542C1B0011.preface 00032 00033 //## Class: CD_JointLimits%37542C1B0011; Abstract 00034 //## Category: CollisionDetectors%36FB14140230 00035 //## Persistence: Transient 00036 //## Cardinality/Multiplicity: n 00037 00038 //## Uses: <unnamed>%376FF9D70265;Configuration { -> F} 00039 00040 class CD_JointLimits : virtual public CollisionDetectorBase //## Inherits: <unnamed>%3949B1F80384 00041 { 00042 //## begin CD_JointLimits%37542C1B0011.initialDeclarations preserve=yes 00043 //## end CD_JointLimits%37542C1B0011.initialDeclarations 00044 00045 public: 00046 //## Destructor (generated) 00047 virtual ~CD_JointLimits(); 00048 00049 00050 //## Other Operations (specified) 00051 //## Operation: JointMax%928263325 00052 virtual double JointMax (const unsigned int jointNum) const = 0; 00053 00054 //## Operation: JointMin%928263326 00055 virtual double JointMin (const unsigned int jointNum) const = 0; 00056 00057 //## Operation: DOF%928263332 00058 virtual unsigned int DOF () const = 0; 00059 00060 //## Operation: JointWraps%928263334 00061 virtual bool JointWraps (const unsigned int jointNum) const = 0; 00062 00063 //## Operation: DistanceBetween%930083383 00064 double DistanceBetween (const Configuration& c1, const Configuration& c2) const; 00065 00066 // Calculates the wrapping (if applicable) displacement of each joint between the two 00067 // given configurations: returns c2 - c1. 00068 VectorN JointDisplacement(const Configuration& c1, const Configuration& c2) const; 00069 00070 00071 // Additional Public Declarations 00072 //## begin CD_JointLimits%37542C1B0011.public preserve=yes 00073 //## end CD_JointLimits%37542C1B0011.public 00074 00075 protected: 00076 // Additional Protected Declarations 00077 //## begin CD_JointLimits%37542C1B0011.protected preserve=yes 00078 //## end CD_JointLimits%37542C1B0011.protected 00079 00080 private: 00081 // Additional Private Declarations 00082 //## begin CD_JointLimits%37542C1B0011.private preserve=yes 00083 //## end CD_JointLimits%37542C1B0011.private 00084 00085 private: //## implementation 00086 // Additional Implementation Declarations 00087 //## begin CD_JointLimits%37542C1B0011.implementation preserve=yes 00088 //## end CD_JointLimits%37542C1B0011.implementation 00089 00090 }; 00091 00092 //## begin CD_JointLimits%37542C1B0011.postscript preserve=yes 00093 //## end CD_JointLimits%37542C1B0011.postscript 00094 00095 // Class CD_JointLimits 00096 00097 //## begin module%37542C1B0011.epilog preserve=yes 00098 //## end module%37542C1B0011.epilog 00099 00100 00101 #endif