OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
attribute.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 ATTRIBUTE_H
19 #define ATTRIBUTE_H
20 
21 #include "index.h"
22 
23 namespace Engine
24 {
25 
26  /* List of Index values (aka. Attribute Values ) */
27  using AttrIndexList = std::list<int>;
28 
33  class Attribute : public Arch::IComponent
34  {
35 
36  public:
37 
38  Attribute();
39  ~Attribute();
40 
46  void addAttribut( int attribute_id );
47 
54  bool hasAttribut( int attribute_id );
55 
61  void remove( int attribute_id );
62 
68  AttrIndexList getAttrList(void);
69 
70  private:
71 
72  AttrIndexList mIndexList;
73  };
74 
75 }
76 
77 
78 
79 #endif // ATTRIBUTE_H
The Attribute class.
Definition: attribute.h:33
Definition: element.h:23
AttrIndexList getAttrList(void)
getAttrList
Definition: Attribute.cpp:54
bool hasAttribut(int attribute_id)
hasAttribut
Definition: Attribute.cpp:39
void addAttribut(int attribute_id)
addAttribut
Definition: Attribute.cpp:34