reman3/Rayman_X/cpa/Appli/Max23Dos/inc/GeoObj.h

95 lines
1.7 KiB
C

/*=========================================================================
*
* GeoObj.h.h - Geometric Object
*
* Version 1.0
* Revision date
*
*=======================================================================*/
#ifndef __MLT_GEOOBJ_H
#define __MLT_GEOOBJ_H
//--- Includes --------------------------------------------------------
#include "MTH.h"
#include "typedef.h"
#include "matrix.h"
#include "element.h"
//--- structures --------------------------------------------------------
// vector for normals
typedef struct MLT_tdstVector_
{
int iIndex[200];
int *iIndexObj;
int *iIndexPoint;
int iIndexElem[200];
}
MLT_tdstVector;
// geometric object
typedef struct MLT_tdstGeometricObject_
{
// name
xString sName;
// flag
BOOL bNotForSave;
// associated physical
xString sPhysicalSection;
long lNumberInTable;
long lNbLod;
// comment
xString sComment;
// vertices
xString sPointsOf;
long xNbPoints;
MTH3D_tdstVector *d_stListOfPoints;
MTH3D_tdstVector *d_stListOfPointsNormals;
MLT_tdstColor *d_stListOfPointsReceivedLightIntensity;
// min&max
MTH3D_tdstVector stMinPoint;
MTH3D_tdstVector stMaxPoint;
// elements
xString *sElementOf;
BOOL bHasElementOf;
long *sIndexOf;
long xNbElements;
long *d_xListOfElementsTypes;
void **d_stListOfElements;
// edges
xString sEdgesOf;
long xNbEdges;
MLT_tdstDoubledIndex *d_stListOfEdges;
// for altimap
int iFlags;
// for symmetry
char cGeom;
double fGeom;
// for LookAt
char sConstraintAxis[7];
// normals
MLT_tdstMatrix *p_stMatrix;
MLT_tdstVector *p_stFaceIndexes;
}
MLT_tdstGeometricObject;
#endif // __MLT_GEOOBJ_H