- Timestamp:
- 06/09/06 08:24:19 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/change.h
r983 r1007 2 2 #define __change_h_ 3 3 4 #include "mesh.h" 4 #include "mesh.h" 5 #include <vector> 5 6 6 7 namespace VMI 7 8 { 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; 16 18 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; 21 31 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 }; 27 36 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; 32 39 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); 35 44 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); 39 50 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); 40 65 } 41 66
Note: See TracChangeset
for help on using the changeset viewer.