RioEngine  0.1
My first attempt to create a 3D WYSIWYG Game Engine
clinstancematerial.h
Go to the documentation of this file.
1 //--------------------------------------------------------------- @License begins
2 // RioEngine: The late night Coke -without whores- debugging sessions
3 // 2012-2015 Leopoldo Lomas Flores. Torreon, Coahuila. MEXICO
4 // leopoldolomas [at] gmail
5 // www.rioengine.com
6 // www.leopoldolomas.info
7 // "You have a problem, you face it like a man."
8 //
9 // This is free and unencumbered software released into the public domain.
10 //
11 // Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
12 // software, either in source code form or as a compiled binary, for any purpose,
13 // commercial or non-commercial, and by any means.
14 //
15 // In jurisdictions that recognize copyright laws, the author or authors of this
16 // software dedicate any and all copyright interest in the software to the public
17 // domain. We make this dedication for the benefit of the public at large and to
18 // the detriment of our heirs and successors. We intend this dedication to be
19 // an overt act of relinquishment in perpetuity of all present and future
20 // rights to this software under copyright law.
21 //
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS
24 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26 // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 //--------------------------------------------------------------- @License ends
29 
30 #ifndef RIOENGINE_CLENGINE_CLINSTANCEMATERIAL_H_
31 #define RIOENGINE_CLENGINE_CLINSTANCEMATERIAL_H_
32 
33 #include <string>
34 #include <vector>
35 #include "cengine/cobject.h"
36 
37 template <class T> class CArray;
38 class CLBindVertexInput;
39 
40 class CLInstanceMaterial : public CObject {
41  Q_OBJECT
42  Q_PROPERTY(QString Symbol READ symbolAsQString WRITE setSymbolFromQString DESIGNABLE false)
43  Q_PROPERTY(QString Target READ targetAsQString WRITE setTargetFromQString DESIGNABLE false)
44 
45 public:
47  CLInstanceMaterial(const CLInstanceMaterial& instance_material);
48  CLInstanceMaterial(const std::string& symbolAsQString, const std::string& targetAsQString);
49 
50  CLInstanceMaterial& operator=(const CLInstanceMaterial& instance_material);
51 
54 
55  void setSymbol(const std::string& symbol);
56  void setSymbolFromQString(const QString& symbol);
57  void setTarget(const std::string& target);
58  void setTargetFromQString(const QString& target);
59 
60  const std::string& symbol() const;
61  QString symbolAsQString();
62  const std::string& target() const;
63  QString targetAsQString();
64 
65  ~CLInstanceMaterial(void);
66 
67 protected:
68  virtual void copyValuesFromObject(const CLInstanceMaterial& instance_material);
69 
70 private:
71  std::string m_symbol;
72  std::string m_target;
73 
74  CArray<CLBindVertexInput>* m_bindVertexInputList;
75 };
76 
77 #endif // RIOENGINE_CLENGINE_CLINSTANCEMATERIAL_H_
void setBindVertexInputList(CArray< CLBindVertexInput > *_array)
const std::string & target() const
virtual void copyValuesFromObject(const CLInstanceMaterial &instance_material)
void setTarget(const std::string &target)
CArray< CLBindVertexInput > * bindVertexInputList() const
void setTargetFromQString(const QString &target)
Definition: carray.h:43
void setSymbolFromQString(const QString &symbol)
void setSymbol(const std::string &symbol)
const std::string & symbol() const