#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 |
1.4.7