// // File: vrml2_mesh.h // // (C) 2000-2006 Helmut Cantzler // // Licensed under the terms of the Lesser General Public License. // #ifndef _VRML2_MESH_H #define _VRML2_MESH_H #include "mesh.h" using namespace std; class Vrml2_Mesh : public Mesh { public: int read(FILE *f, int (*update)(int pos), void (*set_total)(int size)); void write(FILE *f, const char *comment = ""); private: int new_shape(FILE *f, list *transform_vertices, int shape_nr); int new_transform(FILE *f, list *transform_vertices, int *shapes, char *start, int iter); // read support methods int read_next_token(FILE *f, char *s); int read_vertex(FILE *f, float *x, float *y, float *z); int read_triangle(FILE *f, int *p1, int *p2, int *p3); int read_text_coord(FILE *f, float *s, float *t); int (*update_progress)(int pos); char buffer[101]; }; #endif