diff options
Diffstat (limited to '1.4.0/dom/src/1.4/dom/domP.cpp')
-rw-r--r-- | 1.4.0/dom/src/1.4/dom/domP.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/1.4.0/dom/src/1.4/dom/domP.cpp b/1.4.0/dom/src/1.4/dom/domP.cpp new file mode 100644 index 0000000..4d4353f --- /dev/null +++ b/1.4.0/dom/src/1.4/dom/domP.cpp @@ -0,0 +1,56 @@ +/* +* Copyright 2006 Sony Computer Entertainment Inc. +* +* Licensed under the MIT Open Source License, for details please see license.txt or the website +* http://www.opensource.org/licenses/mit-license.php +* +*/ + +#include <dae.h> +#include <dae/daeDom.h> +#include <1.4/dom/domP.h> +#include <dae/daeMetaCMPolicy.h> +#include <dae/daeMetaSequence.h> +#include <dae/daeMetaChoice.h> +#include <dae/daeMetaGroup.h> +#include <dae/daeMetaAny.h> +#include <dae/daeMetaElementAttribute.h> + + +namespace ColladaDOM141 { +daeElementRef +domP::create(DAE& dae) +{ + domPRef ref = new domP(dae); + return ref; +} + + +daeMetaElement * +domP::registerElement(DAE& dae) +{ + daeMetaElement* meta = dae.getMeta(ID()); + if ( meta != NULL ) return meta; + + meta = new daeMetaElement(dae); + dae.setMeta(ID(), *meta); + meta->setName( "p" ); + meta->registerClass(domP::create); + + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaArrayAttribute; + ma->setName( "_value" ); + ma->setType( dae.getAtomicTypes().get("ListOfUInts")); + ma->setOffset( daeOffsetOf( domP , _value )); + ma->setContainer( meta ); + meta->appendAttribute(ma); + } + + meta->setElementSize(sizeof(domP)); + meta->validate(); + + return meta; +} + +} // ColladaDOM141 |