00001 #ifndef __domFormula_h__ 00002 #define __domFormula_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFormula_newparam.h> 00009 #include <dom/domCommon_float_or_param.h> 00010 #include <dom/domFormula_technique.h> 00011 #include <dom/domTechnique.h> 00012 class DAE; 00013 00014 class domFormula : public daeElement 00015 { 00016 public: 00017 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMULA; } 00018 static daeInt ID() { return 478; } 00019 virtual daeInt typeID() const { return ID(); } 00020 protected: // Attributes 00021 xsID attrId; 00022 xsToken attrName; 00023 domSid attrSid; 00024 00025 protected: // Elements 00026 domFormula_newparam_Array elemNewparam_array; 00027 domCommon_float_or_paramRef elemTarget; 00028 domFormula_techniqueRef elemTechnique_common; 00029 domTechnique_Array elemTechnique_array; 00030 00031 public: //Accessors and Mutators 00036 xsID getId() const { return attrId; } 00041 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00042 if( _document != NULL ) _document->changeElementID( this, attrId ); 00043 } 00044 00049 xsToken getName() const { return attrName; } 00054 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00055 00060 domSid getSid() const { return attrSid; } 00065 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00066 00071 domFormula_newparam_Array &getNewparam_array() { return elemNewparam_array; } 00076 const domFormula_newparam_Array &getNewparam_array() const { return elemNewparam_array; } 00081 const domCommon_float_or_paramRef getTarget() const { return elemTarget; } 00086 const domFormula_techniqueRef getTechnique_common() const { return elemTechnique_common; } 00091 domTechnique_Array &getTechnique_array() { return elemTechnique_array; } 00096 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; } 00097 protected: 00101 domFormula(DAE& dae) : daeElement(dae), attrId(), attrName(), attrSid(), elemNewparam_array(), elemTarget(), elemTechnique_common(), elemTechnique_array() {} 00105 virtual ~domFormula() {} 00109 virtual domFormula &operator=( const domFormula &cpy ) { (void)cpy; return *this; } 00110 00111 public: // STATIC METHODS 00116 static DLLSPEC daeElementRef create(DAE& dae); 00122 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00123 }; 00124 00125 00126 #endif