00001 #include <OgreNoMemoryMacros.h>
00002
00003 #include <xercesc/parsers/XercesDOMParser.hpp>
00004 #include <xercesc/dom/DOM.hpp>
00005 #include <xercesc/sax/HandlerBase.hpp>
00006 #include <xercesc/util/XMLString.hpp>
00007 #include <xercesc/util/PlatformUtils.hpp>
00008
00009 #if defined(XERCES_NEW_IOSTREAMS)
00010 #include <iostream>
00011 #else
00012 #include <iostream.h>
00013 #endif
00014 #include <OgreMemoryMacros.h>
00015 #include <vector>
00016
00017
00018 XERCES_CPP_NAMESPACE_USE
00019 using namespace std;
00020
00021
00022
00024 class IndividualJoint {
00025
00026 private:
00027 char name[30];
00028 float minX, maxX;
00029 float minY, maxY;
00030 float minZ, maxZ;
00031
00032 public:
00033 IndividualJoint();
00034
00035 char * getName() ;
00036 float getMinX();
00037 float getMinY();
00038 float getMinZ();
00039 float getMaxX();
00040 float getMaxY();
00041 float getMaxZ();
00042
00043 void setName(char* name);
00044 void setMinX(float angle);
00045 void setMinY(float angle);
00046 void setMinZ(float angle);
00047 void setMaxX(float angle);
00048 void setMaxY(float angle);
00049 void setMaxZ(float angle);
00050
00051 };
00053 class Joints {
00054 private:
00055 vector<IndividualJoint> joints;
00056 public:
00057 Joints(char* fileName);
00058 int getNumberOfJoints();
00059 vector<IndividualJoint> getJoints();
00060
00061 IndividualJoint* getIndividualJointByName(char* name);
00062
00063 float getMappedSliderValue(float currentValue, char* axisName, char* hebeName);
00064
00065 float getMappedCurrentValue(float currentValue, char* axisName, char* hebeName);
00066
00067
00068 };
00069
00070
00071