57 #ifndef __BASEIMPORTER_HH__ 58 #define __BASEIMPORTER_HH__ 68 #include <OpenMesh/Core/System/config.h> 69 #include <OpenMesh/Core/Geometry/VectorT.hh> 70 #include <OpenMesh/Core/Mesh/BaseKernel.hh> 97 virtual VertexHandle add_vertex(
const Vec3f& _point) = 0;
103 typedef std::vector<VertexHandle> VHandles;
104 virtual FaceHandle add_face(
const VHandles& _indices) = 0;
107 virtual void add_face_texcoords(
FaceHandle _fh,
VertexHandle _vh,
const std::vector<Vec2f>& _face_texcoords) = 0;
110 virtual void set_face_texindex(
FaceHandle _fh,
int _texId ) = 0;
113 virtual void set_point(
VertexHandle _vh,
const Vec3f& _point) = 0;
116 virtual void set_normal(
VertexHandle _vh,
const Vec3f& _normal) = 0;
119 virtual void set_color(
VertexHandle _vh,
const Vec3uc& _color) = 0;
122 virtual void set_color(
VertexHandle _vh,
const Vec4uc& _color) = 0;
125 virtual void set_color(
VertexHandle _vh,
const Vec3f& _color) = 0;
128 virtual void set_color(
VertexHandle _vh,
const Vec4f& _color) = 0;
131 virtual void set_texcoord(
VertexHandle _vh,
const Vec2f& _texcoord) = 0;
134 virtual void set_texcoord(
HalfedgeHandle _heh,
const Vec2f& _texcoord) = 0;
137 virtual void set_color(
EdgeHandle _eh,
const Vec3uc& _color) = 0;
140 virtual void set_color(
EdgeHandle _eh,
const Vec4uc& _color) = 0;
143 virtual void set_color(
EdgeHandle _eh,
const Vec3f& _color) = 0;
146 virtual void set_color(
EdgeHandle _eh,
const Vec4f& _color) = 0;
149 virtual void set_normal(
FaceHandle _fh,
const Vec3f& _normal) = 0;
152 virtual void set_color(
FaceHandle _fh,
const Vec3uc& _color) = 0;
155 virtual void set_color(
FaceHandle _fh,
const Vec4uc& _color) = 0;
158 virtual void set_color(
FaceHandle _fh,
const Vec3f& _color) = 0;
161 virtual void set_color(
FaceHandle _fh,
const Vec4f& _color) = 0;
165 virtual void add_texture_information(
int _id , std::string _name ) = 0;
170 virtual bool is_triangle_mesh()
const {
return false; }
173 virtual void reserve(
unsigned int ,
178 virtual size_t n_vertices()
const = 0;
179 virtual size_t n_faces()
const = 0;
180 virtual size_t n_edges()
const = 0;
184 virtual void prepare() {}
187 virtual void finish() {}
Handle for a edge entity.
Definition: Handles.hh:135
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:64
Handle for a halfedge entity.
Definition: Handles.hh:128
Base class for importer modules.
Definition: BaseImporter.hh:88
This class provides the basic property management like adding/removing properties and access to prope...
Definition: BaseKernel.hh:99
Handle for a face entity.
Definition: Handles.hh:142
Handle for a vertex entity.
Definition: Handles.hh:121