- Timestamp:
- 02/19/07 09:16:59 (18 years ago)
- Location:
- GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include
- Files:
-
- 1 added
- 1 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/camera.h
r2090 r2127 18 18 } Camera; 19 19 20 extern Camera *loadCameras(GLdouble radius, char* filename, GLuint *numCameras);21 extern void saveCameras(char* filename, Camera *cameras, GLuint numCameras);20 extern Camera *loadCameras(GLdouble radius, char* filename, int *numCameras); 21 extern void saveCameras(char* filename, Camera *cameras, int numCameras); 22 22 extern void copyToCameras(Camera *cameras, int numVertices, GLdouble vertices[][3]); 23 extern void setCameraWeights(Camera *cameras, GLuint numCameras, GLdouble *weights);24 extern Camera *setCameras(GLdouble radius, GLuint type, GLuint *numCameras);25 extern void printCameras(Camera *cameras, GLuint numCameras);23 extern void setCameraWeights(Camera *cameras, int numCameras, GLdouble *weights); 24 extern Camera *setCameras(GLdouble radius, int type, int *numCameras); 25 extern void printCameras(Camera *cameras, int numCameras); 26 26 27 27 extern void drawSphere(Camera *cameras, GLdouble radius, int slices, int stacks); -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/change.h
r2090 r2127 68 68 extern void modifyTriangle(Triangle *t, int c, int p); 69 69 extern int isATriangleToModify(Triangle *t, int c); 70 extern Triangle *getTrianglesToModify(Mesh *mesh, Change *c, GLuint *numMod);70 extern Triangle *getTrianglesToModify(Mesh *mesh, Change *c, int *numMod); 71 71 extern int isATriangleToDelete(Triangle *t, int c, int p); 72 extern Triangle *getTrianglesToDelete(Mesh *mesh, Change *c, GLuint *numDel);72 extern Triangle *getTrianglesToDelete(Mesh *mesh, Change *c, int *numDel); 73 73 74 74 extern void modifyTriangles(Mesh *mesh, Change *c); … … 85 85 86 86 extern void modifyEdges(Mesh *mesh, Change *c); 87 extern void deleteEdges(Mesh *mesh, Change *c); 87 extern int find(int *edges, int num, int v_); 88 extern void updateEdgeAdj(Mesh *mesh, Change *c) ; 88 89 89 90 // Save simplification sequence in Geometry Game Tools format. … … 92 93 //extern std::map<int, INTVECTOR> inversemap; 93 94 extern void swap(int *i, int *j); 94 extern int hasEdge(Triangle *t, int e); 95 extern void getEdges(Triangle *t, Change *c, int *d, int *a); 95 96 96 } 97 97 #endif -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/color.h
r2090 r2127 14 14 } Color; 15 15 16 extern Color *initColors( GLuint numColors);17 extern void fillAllColors(Color *colors, GLuint numColors, GLuint begin, GLuint end, GLubyte color);18 extern void setColors(Color *colors, GLuint numPasses, GLuint begin, GLuint end);19 extern void setColors2(Color *colors, GLuint numColors, GLuint begin, GLuint end);20 extern void setColors3(Color *colors, GLuint numColors, GLubyte color);21 extern void setColors4(Color *colors, GLuint numColors);22 extern void viewColors(Color *colors, GLuint numColors);16 extern Color *initColors(int numColors); 17 extern void fillAllColors(Color *colors, int numColors, int begin, int end, GLubyte color); 18 extern void setColors(Color *colors, int numPasses, int begin, int end); 19 extern void setColors2(Color *colors, int numColors, int begin, int end); 20 extern void setColors3(Color *colors, int numColors, GLubyte color); 21 extern void setColors4(Color *colors, int numColors); 22 extern void viewColors(Color *colors, int numColors); 23 23 24 24 } -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/global.h
r2090 r2127 60 60 //#define SALIENCY 61 61 62 #define CHECK_LOCAL_INVERSION 63 62 64 // Extension added into the filename 63 65 #ifdef KL // Kullback-Leibler … … 73 75 #define EXT "VCS" 74 76 #endif 75 76 //#define USE_EDGE_ADJACENCY77 77 78 78 #define CHECK_OPENGL_ERROR( cmd ) \ … … 109 109 110 110 extern Camera *cameras; 111 extern GLuint numCameras;111 extern int numCameras; 112 112 113 113 extern Color *colors; 114 114 115 extern GLuint **histogram,116 115 extern int **histogram; 116 extern GLuint *queries; 117 117 118 118 extern Mesh *mesh; … … 122 122 extern GLdouble radius; 123 123 extern GLdouble fov; 124 extern GLuint numDemandedTriangles,124 extern int numDemandedTriangles, 125 125 cameraType; 126 126 extern GLboolean bBeQuiet, … … 138 138 extern void init(void); 139 139 140 extern void renderScene(GLuint **histogram, GLuint numCameras); 141 extern void renderSceneWin(GLuint **histogram, GLuint numCameras, Change *c); 140 extern void resetProjectedAreas(int **histogram, int numCameras); 141 extern void getProjectedAreas(int **histogram, int numCameras); 142 extern void getProjectedAreasWin(int **histogram, int numCameras, Change *c); 142 143 143 144 extern void renderGeometry(void); … … 150 151 151 152 extern void applyHWAcceleration(void); 153 extern void updateHWAcceleration(Change *c); 152 154 extern void setOrthographicProjection(void); 153 155 extern void resetPerspectiveProjection(void); -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/histogram.h
r2090 r2127 11 11 { 12 12 13 extern void getSubHistogram( GLuint subHistoGram[][4]);14 extern void copySubHistogram(Color *colors, GLuint *histogram, GLuint begin, GLuint end, GLuint subHistoGram[][4]);15 extern void printHistogram( GLuint histoGram[][4]);16 extern void plotHistogram( GLuint histoGram[][4]);13 extern void getSubHistogram(int subHistoGram[][4]); 14 extern void copySubHistogram(Color *colors, int *histogram, int begin, int end, int subHistoGram[][4]); 15 extern void printHistogram(int histoGram[][4]); 16 extern void plotHistogram(int histoGram[][4]); 17 17 18 extern GLuint **initHistogram(GLuint numTriangles, GLuint numCameras);19 extern void deleteHistogram( GLuint **histogram, GLuint numCameras);20 extern void printFullHistogram( GLuint **histogram, GLuint numCameras, GLuint numTriangles);21 extern void getSWHistogram( GLuint *histogram, GLubyte *pixels);22 extern void getSWHistogramWin( GLuint *histogram, GLubyte *pixels, GLfloat min[3], GLfloat max[3], Change *c);23 extern void getSWHistoByOcclusionQuery(Mesh *mesh, Color *colors, GLuint *histogram);18 extern int **initHistogram(int numTriangles, int numCameras); 19 extern void deleteHistogram(int **histogram, int numCameras); 20 extern void printFullHistogram(int **histogram, int numCameras, int numTriangles); 21 extern void getSWHistogram(int *histogram, GLubyte *pixels); 22 extern void getSWHistogramWin(int *histogram, GLubyte *pixels, GLfloat min[3], GLfloat max[3], Change *c); 23 extern void getSWHistoByOcclusionQuery(Mesh *mesh, Color *colors, int *histogram); 24 24 25 extern void resetSWHistogram( GLuint *histogram, GLuint numTriangles);25 extern void resetSWHistogram(int *histogram, int numTriangles); 26 26 extern void getBoundingBox(Change *c, GLfloat min[3], GLfloat max[3]); 27 27 extern void getWindow(GLfloat min[3], GLfloat max[3], int minw[2], int maxw[2]); -
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 -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/metrics.h
r2090 r2127 8 8 namespace VMI 9 9 { 10 extern GLdouble computeMI(Mesh *mesh, GLuint **histogram, GLuint numCameras, GLuint cam);11 extern GLdouble decMI(GLdouble I, GLuint **histogram, GLuint numCameras, GLuint cam, Change *c);12 extern GLdouble incMI(GLdouble I, GLuint **histogram, GLuint numCameras, GLuint cam, Change *c);10 extern GLdouble computeMI(Mesh *mesh, int **histogram, int numCameras, int cam); 11 extern GLdouble decMI(GLdouble I, int **histogram, int numCameras, int cam, Change *c); 12 extern GLdouble incMI(GLdouble I, int **histogram, int numCameras, int cam, Change *c); 13 13 14 extern GLdouble computeHE(Mesh *mesh, GLuint *histogram);15 extern GLdouble computeKL(Mesh *mesh, GLuint *histogram);16 extern GLdouble computeCS(Mesh *mesh, GLuint *histogram);14 extern GLdouble computeHE(Mesh *mesh, int *histogram); 15 extern GLdouble computeKL(Mesh *mesh, int *histogram); 16 extern GLdouble computeCS(Mesh *mesh, int *histogram); 17 17 18 extern GLdouble computeMeanProjArea( GLuint **histogram, GLuint numCameras, int t);19 extern GLdouble computeJS( GLuint **histogram, GLuint numCameras, GLuint j, GLuint k);20 extern GLdouble computeEntropy( GLuint **histogram, GLuint numCameras, GLuint k);21 extern GLdouble computeMixedEntropy(GLdouble *mixed, GLuint numCameras);22 extern GLdouble computeMeanProjAreaNoBG( GLuint **histogram, GLuint numCameras, int t);18 extern GLdouble computeMeanProjArea(int **histogram, int numCameras, int t); 19 extern GLdouble computeJS(int **histogram, int numCameras, int j, int k); 20 extern GLdouble computeEntropy(int **histogram, int numCameras, int k); 21 extern GLdouble computeMixedEntropy(GLdouble *mixed, int numCameras); 22 extern GLdouble computeMeanProjAreaNoBG(int **histogram, int numCameras, int t); 23 23 24 extern void getProjectedAreas(GLuint **histogram, GLuint numCameras); 25 extern void getProjectedAreasWin(GLuint **histogram, GLuint numCameras, Change *c); 26 extern void resetProjectedAreas(GLuint **histogram, GLuint numCameras); 27 28 extern GLdouble *initIs(GLuint numCameras); 29 extern void computeCameraIs(GLuint **histogram, GLuint numCameras, GLdouble *mis); 30 extern void printIs(GLdouble *mis, GLuint numCameras); 24 extern GLdouble *initIs(int numCameras); 25 extern void computeCameraIs(int **histogram, int numCameras, GLdouble *mis); 26 extern void printIs(GLdouble *mis, int numCameras); 31 27 } 32 28 #endif -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/saliency.h
r2090 r2127 13 13 extern double percentile; 14 14 15 extern void computeSaliency(Mesh *mesh, GLuint **histogram, GLuint numCameras);16 extern void updateTriangleSaliency(Mesh *mesh, GLuint **histogram, GLuint numCameras, int v);15 extern void computeSaliency(Mesh *mesh, int **histogram, int numCameras); 16 extern void updateTriangleSaliency(Mesh *mesh, int **histogram, int numCameras, int v); 17 17 18 extern double computeTriangleSaliency(Mesh *mesh, GLuint **histogram, GLuint numCameras, GLuint k);18 extern double computeTriangleSaliency(Mesh *mesh, int **histogram, int numCameras, int k); 19 19 20 20 extern double computeEdgeSaliency(Mesh *mesh, Change *c, double p); -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/simplify.h
r2090 r2127 19 19 extern bheap_t *updateHeap(bheap_t *h, Mesh *mesh, Change *c); 20 20 21 extern void simplifyModel(Mesh *mesh, GLuint numDemandedTri);21 extern void simplifyModel(Mesh *mesh, int numDemandedTri); 22 22 23 23 24 24 extern void bh_mydump(Mesh *mesh, bheap_t *h); 25 extern GLdouble computeEdgeLength(Vertex *vertices, int u, int v);26 25 27 26 extern void chooseBestEndPoints(Mesh *mesh, int e); -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/include/vmi_simplifier.h
r983 r2127 13 13 #include "saliency.h" 14 14 #include "simplify.h" 15 #include " interleave.h"15 #include "buffers.h" 16 16
Note: See TracChangeset
for help on using the changeset viewer.