GEL
2
GEL is a library for Geometry and Linear Algebra
|
00001 #ifndef __GEOMETRY_TESSELATE_H 00002 #define __GEOMETRY_TESSELATE_H 00003 00004 #include "CGLA/Vec3f.h" 00005 #include "Util/Grid2D.h" 00006 #include "IndexedFaceSet.h" 00007 00008 namespace Geometry 00009 { 00010 00011 class ParSurf 00012 { 00013 public: 00014 virtual CGLA::Vec3f operator()(float u, float v) const = 0; 00015 }; 00016 00017 extern float MAX_ERR; 00018 extern float MAX_DIST; 00019 extern int ADAPTIVE; 00020 00021 00022 void tessellate(IndexedFaceSet& face_set, ParSurf& s, 00023 float u_min, float u_max, float v_min, float v_max, 00024 int n, int m); 00025 00026 void tessellate(IndexedFaceSet& face_set, ParSurf& s, 00027 Util::Grid2D<CGLA::Vec3f>& inigrid); 00028 00029 void tessellate(IndexedFaceSet& face_set, ParSurf& s, 00030 std::vector<CGLA::Vec2f> uv_points, 00031 std::vector<CGLA::Vec3i> triangles); 00032 } 00033 00034 #endif