00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __domPlane_h__ 00010 #define __domPlane_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domExtra.h> 00017 class DAE; 00018 00022 class domPlane : public daeElement 00023 { 00024 public: 00025 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PLANE; } 00026 static daeInt ID() { return 769; } 00027 virtual daeInt typeID() const { return ID(); } 00028 public: 00029 class domEquation; 00030 00031 typedef daeSmartRef<domEquation> domEquationRef; 00032 typedef daeTArray<domEquationRef> domEquation_Array; 00033 00038 class domEquation : public daeElement 00039 { 00040 public: 00041 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EQUATION; } 00042 static daeInt ID() { return 770; } 00043 virtual daeInt typeID() const { return ID(); } 00044 00045 protected: // Value 00049 domFloat4 _value; 00050 00051 public: //Accessors and Mutators 00056 domFloat4 &getValue() { return _value; } 00061 const domFloat4 &getValue() const { return _value; } 00066 void setValue( const domFloat4 &val ) { _value = val; } 00067 00068 protected: 00072 domEquation(DAE& dae) : daeElement(dae), _value() {} 00076 virtual ~domEquation() {} 00080 virtual domEquation &operator=( const domEquation &cpy ) { (void)cpy; return *this; } 00081 00082 public: // STATIC METHODS 00087 static DLLSPEC daeElementRef create(DAE& dae); 00093 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00094 }; 00095 00096 00097 00098 protected: // Elements 00103 domEquationRef elemEquation; 00107 domExtra_Array elemExtra_array; 00108 00109 public: //Accessors and Mutators 00114 const domEquationRef getEquation() const { return elemEquation; } 00119 domExtra_Array &getExtra_array() { return elemExtra_array; } 00124 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00125 protected: 00129 domPlane(DAE& dae) : daeElement(dae), elemEquation(), elemExtra_array() {} 00133 virtual ~domPlane() {} 00137 virtual domPlane &operator=( const domPlane &cpy ) { (void)cpy; return *this; } 00138 00139 public: // STATIC METHODS 00144 static DLLSPEC daeElementRef create(DAE& dae); 00150 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00151 }; 00152 00153 00154 #endif