95 lines
1.7 KiB
C
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
|
|
|