RX90/CreateVRML.h

Go to the documentation of this file.
00001 /* Copyright (C) INRIA 1999-2005
00002 ** 
00003 ** This program is free software; you can redistribute it and/or modify it
00004 ** under the terms of the GNU General Public License version 2 as published
00005 ** by the Free Software Foundation.
00006 ** 
00007 ** This program is distributed in the hope that it will be useful, but
00008 ** WITHOUT ANY WARRANTY; without even the implied warranty of
00009 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
00010 ** Public License for more details.
00011 ** 
00012 ** You should have received a copy of the GNU General Public License along
00013 ** with this program; if not, write to the Free Software Foundation, Inc.,
00014 ** 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00015 ** 
00016 */
00028 #ifndef CREATE_VRML_H
00029 #define CREATE_VRML_H
00030 
00031 #ifdef WINDOWS
00032 #define extern __declspec (dllexport)
00033 #endif
00034 
00035 // Standard includes
00036 #include <stdio.h>
00037 #include <stdlib.h>
00038 
00039 #define TRUE 1
00040 #define FALSE 0
00041 
00042 
00046 struct VRMLFeatures {
00047         int useJava;           
00050         int nbSamples;         
00051         double dt;             
00052         int nbJoints;          
00053         double *jointsRot;     
00056         double *jointsPos;     
00059         char **jointsNames;    
00060         char *geomFilename;    
00062         char *outputFilename;  
00064         int nbPhysVec;         
00066         char **physVecNames;   
00068         double *physVecRGB;    
00071         double *physVecRot;    
00074         double *physVecPos;    
00077         double *physVecScale;  
00081 };
00082 
00083 struct MatList {
00084   char name[64];
00085   struct MatList *next;
00086 
00087 };
00088         
00089 
00090 // Enum types
00091 
00092 enum InterpType {
00093   POSITION,
00094   ORIENTATION,
00095   COLOR,
00096   SCALE
00097 };
00098 
00099 void InitVRMLFeatures();
00100 
00101 void ResetVRMLFeatures();
00102 
00103 int SetUpVRMLFile(char *outputFilename, int useJava);
00104 
00105 int SetUpVRMLInterpolation( int nbS,
00106                                                                 double dt);
00107 
00108 int SetUpVRMLCharacter( char *geomFilename,
00109                                                 int nb,
00110                                                 char **names,
00111                                                 double *rot,
00112                                                 double *pos);
00113 
00114 int SetUpVRMLPhysVec(int nb,
00115                                          char **names,
00116                                          double *rot,
00117                                          double *pos,
00118                                          double *scale,
00119                                          double *RGB);
00120                                         
00121 
00129 int WriteVRMLPhysVec(FILE *f,
00130                                          int index,
00131                                          char *name,
00132                                          double *data);
00133 
00145 int WriteVRMLInterpolator(FILE *f,
00146                                           enum InterpType type,
00147                                           int index,
00148                                           char *name,
00149                                           int nbItems,
00150                                                 int nbSamples,
00151                                           double *data);
00152 
00153 
00154                                                 
00155 
00162 int CreateVRML( );
00163                                 
00171 extern void 
00172 HAnimPosition(double *Pos, double*q);
00173 
00174 
00182 extern void 
00183 HAnimOrientations(double *Or, double *q);
00184 
00195 extern void 
00196 HAnimVPos(double *VPOS, double *Lambda, double *q);
00197 
00207 extern void 
00208 HAnimVScale(double *VScale, double *Lambda, double *q);
00209 
00219 extern void 
00220 HAnimVRot(double *VRot, double *Lambda, double *q);
00221 
00222 #endif // CREATE_VRML_H
00223 
00224 
00225 
00226 
00227 
00228 
00229 
00230 
00231 
00232 
00233 
00234 
00235 
00236 
00237 
00238 

HuMAnS

humans-users@inrialpes.fr


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