CreateVRMLWithMarkers.h

Go to the documentation of this file.
00001 
00017 #ifndef CREATE_VRML_H
00018 #define CREATE_VRML_H
00019 
00020 // Standard includes
00021 #include <stdio.h>
00022 #include <stdlib.h>
00023 
00024 #define TRUE 1
00025 #define FALSE 0
00026 
00027 #define NMARKER 28
00028 
00029 
00033 struct VRMLFeatures {
00034         int useJava;           
00037         int nbSamples;         
00038         double dt;             
00039         int nbJoints;          
00040         double *jointsRot;     
00043         double *jointsPos;     
00046         char **jointsNames;    
00047         char *geomFilename;    
00049         char *outputFilename;  
00051         int nbPhysVec;         
00053         char **physVecNames;   
00055         double *physVecRGB;    
00058         double *physVecRot;    
00061         double *physVecPos;    
00064         double *physVecScale;  
00068         int nbMarker; 
00070         char **markerNames; 
00072         double *markerPos; 
00075         double markerColor[3]; 
00078 };
00079 
00080 struct MatList {
00081   char name[64];
00082   struct MatList *next;
00083 
00084 };
00085         
00086 
00087 // Enum types
00088 
00089 enum InterpType {
00090   POSITION,
00091   ORIENTATION,
00092   COLOR,
00093   SCALE
00094 };
00095 
00096 void InitVRMLFeaturesWithMarkers();
00097 
00098 void ResetVRMLFeaturesWithMarkers();
00099 
00100 int SetUpVRMLFile(char *outputFilename, int useJava);
00101 
00102 int SetUpVRMLInterpolation( int nbS,
00103                                                                 double dt);
00104 
00105 int SetUpVRMLCharacter( char *geomFilename,
00106                                                 int nb,
00107                                                 char **names,
00108                                                 double *rot,
00109                                                 double *pos);
00110 
00111 int SetUpVRMLPhysVec(int nb,
00112                                          char **names,
00113                                          double *rot,
00114                                          double *pos,
00115                                          double *scale,
00116                                          double *RGB);
00117 
00118 int SetUpVRMLMarkers(int nb,
00119                                                                  char **names,
00120                                                                  double *pos,
00121                                                                  double *col);
00122                                         
00123 
00131 int WriteVRMLPhysVec(FILE *f,
00132                                          int index,
00133                                          char *name,
00134                                          double *data);
00135 
00143 int WriteVRMLMarker(FILE *f,
00144                                          char *name,
00145                                          double *col);
00146 
00158 int WriteVRMLInterpolator(FILE *f,
00159                                           enum InterpType type,
00160                                           int index,
00161                                           char *name,
00162                                           int nbItems,
00163                                                   int nbSamples,
00164                                           double *data);
00165 
00166 
00167                                                 
00168 
00169 
00176 int CreateVRMLWithMarkers( );
00177         
00185 extern void 
00186 HAnimPosition(double *Pos, double *q, double *L);
00187 
00195 extern void 
00196 HAnimOrientations(double *Or, double *q);
00197 
00210 extern void 
00211 HAnimVPos(double *VPOS, double *Lambda, double *q, double *L, double *AddL);
00212 
00221 extern void 
00222 HAnimVScale(double *VScale, double *Lambda);
00223 
00232 extern void 
00233 HAnimVRot(double *VRot, double *Lambda);
00234                         
00235 
00236 #endif // CREATE_VRML_H
00237 
00238 
00239 
00240 
00241 
00242 
00243 
00244 
00245 
00246 
00247 
00248 
00249 
00250 
00251 
00252 

HuMAnS

humans-users@inrialpes.fr


Generated on Tue Mar 6 14:12:04 2007 for HuMAnS by doxygen 1.4.7