Ignore:
Timestamp:
02/19/07 09:16:59 (17 years ago)
Author:
gumbau
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/mesh.h

    r2090 r2127  
    77 
    88typedef 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; 
    1214    int enable; 
    1315                int     movable;        //      If vertex is part of a border. 
     
    1517 
    1618typedef 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 
    2020    int enable; 
    2121} Edge; 
    2222 
    2323typedef 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 
    3231    int                         enable; 
    3332} Triangle; 
     
    3534typedef struct _Mesh { 
    3635    Vertex *vertices;           // Mesh vertices 
    37     GLuint numVertices;         // Number of vertices 
    38     GLuint currentNumVertices;  // Current number of vertices 
     36    int numVertices;         // Number of vertices 
     37    int currentNumVertices;  // Current number of vertices 
    3938    Edge *edges;                // Mesh edges 
    40     GLuint numEdges;            // Number of edges 
     39    int numEdges;            // Number of edges 
    4140    Triangle *triangles;        // Mesh triangles 
    42     GLuint numTriangles;        // Number of triangles 
    43     GLuint currentNumTriangles; // Current number of triangles 
     41    int numTriangles;        // Number of triangles 
     42    int currentNumTriangles; // Current number of triangles 
    4443} Mesh; 
    4544 
    4645extern GLdouble computeTriangleArea(Vertex *vertices, Triangle *t); 
     46extern double computeEdgeLength(Vertex *vertices, int u, int v); 
    4747extern void computeTriangleNormal(Vertex *vertices, Triangle *t); 
     48extern double computeTriangleVolume(Vertex *vertices, Triangle *t); 
    4849 
    4950extern 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); 
     51extern int findEdge(Edge *e, int num, int _u, int _v); 
    5152extern 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); 
     53extern GLboolean findVertex(float *vertices, int num, float x, float y, float z, int *pos); 
    5354 
    5455extern Mesh *initMesh(GLMmodel* pmodel); 
     
    5657extern void printMesh(Mesh *mesh); 
    5758extern void saveModel(char *filename, GLMmodel* pmodel, Mesh *mesh); 
    58 extern void updateModel(GLMmodel* pmodel, Mesh *mesh, GLuint numVertices, GLuint numTriangles); 
     59extern void updateModel(GLMmodel* pmodel, Mesh *mesh, int numVertices, int numTriangles); 
    5960 
    6061extern int *trianglesAdjToEdge(Mesh *mesh, int e, int *n); 
    6162extern int *verticesAdjToVertex(Mesh *mesh, int v, int *n); 
    62 extern int *edgesAdjToVertex(Mesh *mesh, int v, int *n); 
    6363extern int *edgesAdjToVertices(Mesh *mesh, int *vertices, int numVertices, int *n); 
    6464 
Note: See TracChangeset for help on using the changeset viewer.