updated COLLADA-DOM to the latest bleeding-edge (1.4.1) SVN version of today
This commit is contained in:
@@ -13,6 +13,12 @@
|
||||
|
||||
#include <dae/daeDom.h>
|
||||
#include <dom/domNode.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>
|
||||
|
||||
daeElementRef
|
||||
domNode::create(daeInt bytes)
|
||||
@@ -29,26 +35,107 @@ domNode::registerElement()
|
||||
|
||||
_Meta = new daeMetaElement;
|
||||
_Meta->setName( "node" );
|
||||
_Meta->setStaticPointerAddress(&domNode::_Meta);
|
||||
_Meta->registerConstructor(domNode::create);
|
||||
|
||||
// Add elements: asset, lookat, matrix, rotate, scale, skew, translate, instance_camera, instance_controller, instance_geometry, instance_light, instance_node, node, extra
|
||||
_Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domNode,elemAsset));
|
||||
_Meta->appendArrayElement(domLookat::registerElement(),daeOffsetOf(domNode,elemLookat_array));
|
||||
_Meta->appendArrayElement(domMatrix::registerElement(),daeOffsetOf(domNode,elemMatrix_array));
|
||||
_Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domNode,elemRotate_array));
|
||||
_Meta->appendArrayElement(domScale::registerElement(),daeOffsetOf(domNode,elemScale_array));
|
||||
_Meta->appendArrayElement(domSkew::registerElement(),daeOffsetOf(domNode,elemSkew_array));
|
||||
_Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domNode,elemTranslate_array));
|
||||
_Meta->appendArrayElement(domInstance_camera::registerElement(),daeOffsetOf(domNode,elemInstance_camera_array));
|
||||
_Meta->appendArrayElement(domInstance_controller::registerElement(),daeOffsetOf(domNode,elemInstance_controller_array));
|
||||
_Meta->appendArrayElement(domInstance_geometry::registerElement(),daeOffsetOf(domNode,elemInstance_geometry_array));
|
||||
_Meta->appendArrayElement(domInstance_light::registerElement(),daeOffsetOf(domNode,elemInstance_light_array));
|
||||
_Meta->appendArrayElement(domInstance_node::registerElement(),daeOffsetOf(domNode,elemInstance_node_array));
|
||||
_Meta->appendArrayElement(domNode::registerElement(),daeOffsetOf(domNode,elemNode_array));
|
||||
_Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domNode,elemExtra_array));
|
||||
daeMetaCMPolicy *cm = NULL;
|
||||
daeMetaElementAttribute *mea = NULL;
|
||||
cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 );
|
||||
|
||||
mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 );
|
||||
mea->setName( "asset" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemAsset) );
|
||||
mea->setElementType( domAsset::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "lookat" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemLookat_array) );
|
||||
mea->setElementType( domLookat::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "matrix" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemMatrix_array) );
|
||||
mea->setElementType( domMatrix::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "rotate" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemRotate_array) );
|
||||
mea->setElementType( domRotate::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "scale" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemScale_array) );
|
||||
mea->setElementType( domScale::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "skew" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemSkew_array) );
|
||||
mea->setElementType( domSkew::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 );
|
||||
mea->setName( "translate" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemTranslate_array) );
|
||||
mea->setElementType( domTranslate::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
cm->setMaxOrdinal( 0 );
|
||||
cm->getParent()->appendChild( cm );
|
||||
cm = cm->getParent();
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3002, 0, -1 );
|
||||
mea->setName( "instance_camera" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemInstance_camera_array) );
|
||||
mea->setElementType( domInstance_camera::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 );
|
||||
mea->setName( "instance_controller" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemInstance_controller_array) );
|
||||
mea->setElementType( domInstance_controller::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3004, 0, -1 );
|
||||
mea->setName( "instance_geometry" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemInstance_geometry_array) );
|
||||
mea->setElementType( domInstance_geometry::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3005, 0, -1 );
|
||||
mea->setName( "instance_light" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemInstance_light_array) );
|
||||
mea->setElementType( domInstance_light::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3006, 0, -1 );
|
||||
mea->setName( "instance_node" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemInstance_node_array) );
|
||||
mea->setElementType( domInstance_node::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3007, 0, -1 );
|
||||
mea->setName( "node" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemNode_array) );
|
||||
mea->setElementType( domNode::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
mea = new daeMetaElementArrayAttribute( _Meta, cm, 3008, 0, -1 );
|
||||
mea->setName( "extra" );
|
||||
mea->setOffset( daeOffsetOf(domNode,elemExtra_array) );
|
||||
mea->setElementType( domExtra::registerElement() );
|
||||
cm->appendChild( mea );
|
||||
|
||||
cm->setMaxOrdinal( 3008 );
|
||||
_Meta->setCMRoot( cm );
|
||||
// Ordered list of sub-elements
|
||||
_Meta->addContents(daeOffsetOf(domNode,_contents));
|
||||
_Meta->addContentsOrder(daeOffsetOf(domNode,_contentsOrder));
|
||||
|
||||
|
||||
// Add attribute: id
|
||||
|
||||
Reference in New Issue
Block a user