#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 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
enum InterpType |
int CreateVRMLWithMarkers | ( | ) |
Creates a VRML h-anim compliant file describing geometry and HUMANS simulated motion
void HAnimOrientations | ( | double * | Or, | |
double * | q | |||
) |
Compute the matrix of global orientation of the model in the h-anim referential.
[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.
[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.
[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.
[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.
[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
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
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
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 |