CreateVRMLWithMarkers.h File Reference

#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  MatList
struct  VRMLFeatures

Defines

#define FALSE   0
#define NMARKER   28
#define TRUE   1
 Creation of the VRML file containing HUMANS simulated motion.

Enumerations

enum  InterpType { POSITION, ORIENTATION, COLOR, SCALE }

Functions

int CreateVRMLWithMarkers ()
void HAnimOrientations (double *Or, double *q)
 Compute the matrix of global orientation of the model in the h-anim referential.
void HAnimPosition (double *Pos, double *q, double *L)
 Compute the matrix of global position of the model in the h-anim referential.
void HAnimVPos (double *VPOS, double *Lambda, double *q, double *L, double *AddL)
 Compute the matrix of position of the center of pressure(COP) of the contact solids and in the last column the sum of the forces vertical components in the h-anim referential.
void HAnimVRot (double *VRot, double *Lambda)
 Compute the matrix of orientations(angle/axe) of the forces on the contact solids and of the total forces in the h-anim referential NCONTSOL is the number of contact solids and NCONT the number of contact points.
void HAnimVScale (double *VScale, double *Lambda)
 Compute the scale along the h-anim x, y and z axes.
void InitVRMLFeaturesWithMarkers ()
void ResetVRMLFeaturesWithMarkers ()
int SetUpVRMLCharacter (char *geomFilename, int nb, char **names, double *rot, double *pos)
int SetUpVRMLFile (char *outputFilename, int useJava)
int SetUpVRMLInterpolation (int nbS, double dt)
int SetUpVRMLMarkers (int nb, char **names, double *pos, double *col)
int SetUpVRMLPhysVec (int nb, char **names, double *rot, double *pos, double *scale, double *RGB)
int WriteVRMLInterpolator (FILE *f, enum InterpType type, int index, char *name, int nbItems, int nbSamples, double *data)
int WriteVRMLMarker (FILE *f, char *name, double *col)
int WriteVRMLPhysVec (FILE *f, int index, char *name, double *data)


Define Documentation

#define FALSE   0

#define NMARKER   28

#define TRUE   1

Creation of the VRML file containing HUMANS simulated motion.

--------------------------------------------------------------------------
Creation : 2005/04/14
Author(s) : Laurence Boissieux
Last modification :

--------------------------------------------------------------------------
Contents: - CreateVRML function

-------------------------------------------------------------------------
Revisions:
03/2006: added leds targets as red spheres


Enumeration Type Documentation

enum InterpType

Enumerator:
POSITION 
ORIENTATION 
COLOR 
SCALE 


Function Documentation

int CreateVRMLWithMarkers (  ) 

Creates a VRML h-anim compliant file describing geometry and HUMANS simulated motion

Returns:
return 1 on success, exit(-1) on error

void HAnimOrientations ( double *  Or,
double *  q 
)

Compute the matrix of global orientation of the model in the h-anim referential.

Parameters:
[out] Or Matrix of global orientation dim 1x4
[in] q Joint State Vector dim NDOF

void HAnimPosition ( double *  Pos,
double *  q,
double *  L 
)

Compute the matrix of global position of the model in the h-anim referential.

Parameters:
[out] Pos Matrix of global position dim 1x3
[in] q Joint State Vector dim NDOF

void HAnimVPos ( double *  VPOS,
double *  Lambda,
double *  q,
double *  L,
double *  AddL 
)

Compute the matrix of position of the center of pressure(COP) of the contact solids and in the last column the sum of the forces vertical components in the h-anim referential.

NCONTSOL is the number of contact solids and NCONT the number of contact points.

Parameters:
[out] VPOS Matrix of COP positions dim NCONTSOLx4
[in] Lambda the forces vector on the contact points dim 3*NCONT
[in] q Joint State Vector dim NDOF
[in] L Anatomical lengths row Vector dim NLANAT
[in] AddL Tags Positions in their attached frame row Vector dim NLTAGS

void HAnimVRot ( double *  VRot,
double *  Lambda 
)

Compute the matrix of orientations(angle/axe) of the forces on the contact solids and of the total forces in the h-anim referential NCONTSOL is the number of contact solids and NCONT the number of contact points.

Parameters:
[out] VRot Matrix of forces orientations dim NCONTSOLx4
[in] Lambda the forces vector on the contact points dim 3*NCONT

void HAnimVScale ( double *  VScale,
double *  Lambda 
)

Compute the scale along the h-anim x, y and z axes.

The return is a matrix NCONTSOLx3. The rows correspond to the scales for one contact solid.

Parameters:
[out] VScale Matrix of forces scales dim NCONTSOLx4
[in] Lambda the forces vector on the contact points dim 3*NCONT

void InitVRMLFeaturesWithMarkers (  ) 

void ResetVRMLFeaturesWithMarkers (  ) 

int SetUpVRMLCharacter ( char *  geomFilename,
int  nb,
char **  names,
double *  rot,
double *  pos 
)

int SetUpVRMLFile ( char *  outputFilename,
int  useJava 
)

int SetUpVRMLInterpolation ( int  nbS,
double  dt 
)

int SetUpVRMLMarkers ( int  nb,
char **  names,
double *  pos,
double *  col 
)

int SetUpVRMLPhysVec ( int  nb,
char **  names,
double *  rot,
double *  pos,
double *  scale,
double *  RGB 
)

int WriteVRMLInterpolator ( FILE *  f,
enum InterpType  type,
int  index,
char *  name,
int  nbItems,
int  nbSamples,
double *  data 
)

Writes in VRML an interpolator bloc for a given joint, physical Vector or marker

Parameters:
file (FILE *) the descriptor of the file to write into
type (InterpType) type of the Intepolator bloc, POSITION, ORIENTATION, COLOR or SCALAR
index (int) index of the joint, physical vector or marker for which is written the interpolator
name (char *) name of the joint, physical vector or marker
nbItems (int) number of joints or physical vectors
nbSamples (int) number of time samples
data (double *) interpolation data

int WriteVRMLMarker ( FILE *  f,
char *  name,
double *  col 
)

Writes in VRML a transform bloc for a given marker

Parameters:
file (FILE *) the descriptor of the file to write into
index (int) index of the marker for which is written the transform node
name (char *) name of the marker
col (double *) RGB color, red by default

int WriteVRMLPhysVec ( FILE *  f,
int  index,
char *  name,
double *  data 
)

Writes in VRML a transform bloc for a given physical Vector

Parameters:
file (FILE *) the descriptor of the file to write into
index (int) index of the physical vector for which is written the transform node
name (char *) name of the physical vector
data (double *) RGB colors

HuMAnS

humans-users@inrialpes.fr


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