- Timestamp:
- 02/19/07 09:16:59 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/mesh.h
r2090 r2127 7 7 8 8 typedef struct _Vertex { 9 GLfloat x, y, z; // Vertex coordinates 10 GLuint numTriangles; // Number of triangles 11 GLuint *triangles; // List of triangles 9 float x, y, z; // Vertex coordinates 10 int numTriangles; // Number of triangles 11 int *triangles; // List of triangles 12 int numEdges; 13 int *edges; 12 14 int enable; 13 15 int movable; // If vertex is part of a border. … … 15 17 16 18 typedef struct _Edge { 17 GLuint u, v; // Edge vertices 18 GLuint *triangles; // Edge triangles 19 GLuint numTriangles; // Number of triangles 19 int u, v; // Edge vertices 20 20 int enable; 21 21 } Edge; 22 22 23 23 typedef struct _Triangle { 24 GLuint id; // Triangle id 25 GLuint group; // Triangle group 26 GLuint submesh; // Triangle submesh 27 GLuint indices[3]; // Triangle vertices 28 GLuint edges[3]; // Triangle edges 29 GLfloat normal[3]; // Triangle normal 30 GLdouble area; // Triangle area 31 GLdouble saliency; // Triangle saliency 24 int id; // Triangle id 25 int group; // Triangle group 26 int submesh; // Triangle submesh 27 int indices[3]; // Triangle vertices 28 float normal[3]; // Triangle normal 29 double area; // Triangle area 30 double saliency; // Triangle saliency 32 31 int enable; 33 32 } Triangle; … … 35 34 typedef struct _Mesh { 36 35 Vertex *vertices; // Mesh vertices 37 GLuint numVertices; // Number of vertices38 GLuint currentNumVertices; // Current number of vertices36 int numVertices; // Number of vertices 37 int currentNumVertices; // Current number of vertices 39 38 Edge *edges; // Mesh edges 40 GLuint numEdges; // Number of edges39 int numEdges; // Number of edges 41 40 Triangle *triangles; // Mesh triangles 42 GLuint numTriangles; // Number of triangles43 GLuint currentNumTriangles; // Current number of triangles41 int numTriangles; // Number of triangles 42 int currentNumTriangles; // Current number of triangles 44 43 } Mesh; 45 44 46 45 extern GLdouble computeTriangleArea(Vertex *vertices, Triangle *t); 46 extern double computeEdgeLength(Vertex *vertices, int u, int v); 47 47 extern void computeTriangleNormal(Vertex *vertices, Triangle *t); 48 extern double computeTriangleVolume(Vertex *vertices, Triangle *t); 48 49 49 50 extern Vertex *addVertex(Vertex *list, int *n, float x, float y, float z, int *pos); 50 extern int findEdge(Edge *e, GLuint num, GLuint _u, GLuint _v);51 extern int findEdge(Edge *e, int num, int _u, int _v); 51 52 extern Edge *addEdge(Edge *list, int *n, int u, int v, int *pos); 52 extern GLboolean findVertex( GLfloat *vertices, GLuint num, GLfloat x, GLfloat y, GLfloat z, int *pos);53 extern GLboolean findVertex(float *vertices, int num, float x, float y, float z, int *pos); 53 54 54 55 extern Mesh *initMesh(GLMmodel* pmodel); … … 56 57 extern void printMesh(Mesh *mesh); 57 58 extern void saveModel(char *filename, GLMmodel* pmodel, Mesh *mesh); 58 extern void updateModel(GLMmodel* pmodel, Mesh *mesh, GLuint numVertices, GLuint numTriangles);59 extern void updateModel(GLMmodel* pmodel, Mesh *mesh, int numVertices, int numTriangles); 59 60 60 61 extern int *trianglesAdjToEdge(Mesh *mesh, int e, int *n); 61 62 extern int *verticesAdjToVertex(Mesh *mesh, int v, int *n); 62 extern int *edgesAdjToVertex(Mesh *mesh, int v, int *n);63 63 extern int *edgesAdjToVertices(Mesh *mesh, int *vertices, int numVertices, int *n); 64 64
Note: See TracChangeset
for help on using the changeset viewer.