vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PointShell_Object_Data_Geometry.h
Go to the documentation of this file.
1 #ifndef POINTSHELL_OBJECT_DATA_GEOMETRY_H
2 #define POINTSHELL_OBJECT_DATA_GEOMETRY_H
3 
4 namespace APSpacePartitioning {
5 
7 
8 public :
9 
10 struct V{
11  osg::Vec3f pos; // position of vertex
12  osg::Vec3f norm; // real normal of a vertex
13 };
14 
15 struct E{
16  int v1ID;
17  int v2ID;
18 };
19 
20 struct P{
21  int v1ID;
22  int v2ID;
23  int v3ID;
24  osg::Vec3f norm;
25 };
26 
29 
30 virtual void setVerticesCount(int count) = 0;
31 virtual void setPolygonsCount(int count) = 0;
32 virtual void setEdgesCount(int count) = 0;
33 
34 virtual void writeVertex(int seqnum,osg::Vec3f pos, osg::Vec3f norm) = 0; // writes a new vertex into a mesh
35 virtual void writeVertex(int seqnum,osg::Vec3f pos) = 0; // writes a new vertex into a mesh
36 virtual void writeEdge(int seqnum,int vertexPos1, int vertexPos2) = 0; // writes an edge into a mesh
37 virtual void writePolygon(int seqnum, int v1, int v2, int v3) = 0; // writes a new polygon in a mesh
38 
39 virtual vector<PointShell_Object_Data_Geometry::V> getVertices() = 0; // returns all vertices of geometry
40 virtual vector<PointShell_Object_Data_Geometry::E> getEdges() = 0; // returns all edges of geometry
41 virtual vector<PointShell_Object_Data_Geometry::P> getPolygons() = 0; // returns all polygons of geometry
42 
43 virtual PointShell_Object_Data_Geometry::V getVertex(int seqnum) = 0; // returns a vertex
44 
45 };
46 }
47 #endif