OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
vertexgroup.h
1 /*
2  Copyright (C) 2014 - 2016 Mutzii
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 */
18 #ifndef VERTEXGROUP_H
19 #define VERTEXGROUP_H
20 
21 #include "index.h"
22 
23 namespace Engine
24 {
25 
31 {
32 
33  public:
34 
35  VertexGroup();
36  virtual ~VertexGroup(){}
37 
43  std::string getName(void);
44 
49  void setId( int id );
50 
56  void setName( const std::string & name );
57 
63  void setVertices( Vector3fv vertices );
64 
70  void setIndices( Indices indices );
71 
77  void addIndex(int index );
78 
84  void addVertex( const Vector3f & offset );
85 
91  Vector3fv getVertices(void);
92 
98  Indices getIndices(void);
99 
106  bool hasIndex(int index);
107 
114  bool hasVertex( const Vector3f &offset );
115 
123  VertexGroups getGroupsByIndex( VertexGroups group_list , int index );
124 
130  int getId(void);
131 
132  protected:
133 
134  VertexGroup( const std::string &name );
135 
136  Vector3fv mVertices;
137  Indices mIndices;
140  private:
141  std::string mName;
143  int mId;
144 };
145 
146 }
147 
148 
149 
150 #endif // VERTEXGROUP_H
void addIndex(int index)
addIndex
Definition: VertexGroup.cpp:61
Vector3fv mVertices
Definition: vertexgroup.h:136
Vector3fv getVertices(void)
getVertices
Definition: VertexGroup.cpp:93
The VertexGroup class.
Definition: vertexgroup.h:30
Definition: element.h:23
void addVertex(const Vector3f &offset)
addVertex
Definition: VertexGroup.cpp:66
void setVertices(Vector3fv vertices)
setVertices
Definition: VertexGroup.cpp:51
Indices getIndices(void)
getIndices
Definition: VertexGroup.cpp:98
void setIndices(Indices indices)
setIndices
Definition: VertexGroup.cpp:56
Indices mIndices
Definition: vertexgroup.h:137
bool hasVertex(const Vector3f &offset)
hasVertex
Definition: VertexGroup.cpp:71
VertexGroups getGroupsByIndex(VertexGroups group_list, int index)
getGroupsByIndex
Definition: VertexGroup.cpp:104
std::string getName(void)
getName
Definition: VertexGroup.cpp:41
int getId(void)
getId
Definition: VertexGroup.cpp:36
void setId(int id)
setId
Definition: VertexGroup.cpp:31
void setName(const std::string &name)
setName
Definition: VertexGroup.cpp:46
bool hasIndex(int index)
hasIndex
Definition: VertexGroup.cpp:82