Ignore:
Timestamp:
06/09/06 08:24:19 (18 years ago)
Author:
gumbau
Message:
 
File:
1 edited

Legend:

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

    r983 r1007  
    22#define __change_h_ 
    33 
    4 #include "mesh.h" 
     4#include        "mesh.h" 
     5#include        <vector> 
    56 
    67namespace       VMI 
    78{ 
    8 typedef struct change { 
    9   int e; 
    10   int u, v;           // Edge 
    11   int numDel;         // Number of deleted triangles 
    12   Triangle *deleted;  // List of deleted triangles  
    13   int numMod;         // Number of modified triangles  
    14   Triangle *modified; // List of triangles deleted   
    15 } Change; 
     9        typedef struct change 
     10        { 
     11                int e; 
     12                int u, v;           // Edge 
     13                int numDel;         // Number of deleted triangles 
     14                Triangle *deleted;  // List of deleted triangles  
     15                int numMod;         // Number of modified triangles  
     16                Triangle *modified; // List of triangles deleted   
     17        } Change; 
    1618 
    17 extern Change *createChange (Mesh *mesh, int e); 
    18 extern void writeChange(FILE* file, Change *c); 
    19 extern void deleteChange(Change *c); 
    20 extern void printChange(Change *c); 
     19        // Represents a simplification step in the sequence. 
     20        struct vmiStep 
     21        { 
     22                unsigned int    mV0; 
     23                unsigned int    mV1; 
     24                unsigned int    mT0; 
     25                unsigned int    mT1; 
     26                float x; 
     27                float   y; 
     28                float   z; 
     29                 
     30                std::vector<unsigned int>       mModfaces; 
    2131 
    22 extern void modifyTriangle(Triangle *t, int c, int p); 
    23 extern int isATriangleToModify(Triangle *t, int c, int p); 
    24 extern int getTrianglesToModify(Mesh *mesh, int c, int p, Triangle *modified); 
    25 extern int isATriangleToDelete(Triangle *t, int c, int p); 
    26 extern int getTrianglesToDelete(Mesh *mesh, int numMod, Triangle *modified, Triangle *deleted, int c, int p); 
     32                //      Indicates the the step is obligatory to execute 
     33                //      joined width the following step. 
     34                unsigned int obligatory; 
     35        }; 
    2736 
    28 extern void modifyTriangles(Mesh *mesh, Change *c); 
    29 extern void unmodifyTriangles(Mesh *mesh, Change *c); 
    30 extern void deleteTriangles(Mesh *mesh, Change *c); 
    31 extern void undeleteTriangles(Mesh *mesh, Change *c); 
     37        // Stores all the simplification steps. 
     38        extern  std::vector<vmiStep> mVMISteps; 
    3239 
    33 extern void printList(Triangle *list, int n); 
    34 extern void deleteItem(Triangle *list, int *n, int item); 
     40        extern Change *createChange (Mesh *mesh, int e); 
     41        extern void writeChange(FILE* file, Change *c); 
     42        extern void deleteChange(Change *c); 
     43        extern void printChange(Change *c); 
    3544 
    36 extern void doChange(Mesh *mesh, Change *c); 
    37 extern void undoChange(Mesh *mesh, Change *c); 
    38 extern void computeChanges(Mesh *mesh, Change *c); 
     45        extern void modifyTriangle(Triangle *t, int c, int p); 
     46        extern int isATriangleToModify(Triangle *t, int c, int p); 
     47        extern int getTrianglesToModify(Mesh *mesh, int c, int p, Triangle *modified); 
     48        extern int isATriangleToDelete(Triangle *t, int c, int p); 
     49        extern int getTrianglesToDelete(Mesh *mesh, int numMod, Triangle *modified, Triangle *deleted, int c, int p); 
    3950 
     51        extern void modifyTriangles(Mesh *mesh, Change *c); 
     52        extern void unmodifyTriangles(Mesh *mesh, Change *c); 
     53        extern void deleteTriangles(Mesh *mesh, Change *c); 
     54        extern void undeleteTriangles(Mesh *mesh, Change *c); 
     55 
     56        extern void printList(Triangle *list, int n); 
     57        extern void deleteItem(Triangle *list, int *n, int item); 
     58 
     59        extern void doChange(Mesh *mesh, Change *c); 
     60        extern void undoChange(Mesh *mesh, Change *c); 
     61        extern void computeChanges(Mesh *mesh, Change *c); 
     62 
     63        //      Save simplification sequence in Geometry Game Tools format. 
     64        extern void     saveSimplificationSequence(Change       *c); 
    4065} 
    4166 
Note: See TracChangeset for help on using the changeset viewer.