summaryrefslogtreecommitdiff
path: root/include/dae/daeMetaGroup.h
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2011-02-04 10:41:05 -0800
committerAlex Sakhartchouk <alexst@google.com>2011-02-04 10:41:05 -0800
commit87ac3e2db6d5ae163131102c066e9d19bdfdc139 (patch)
tree8bd1acdae6481671262b60318ce67a7ddb554c2a /include/dae/daeMetaGroup.h
parent36c504662cd1f55141297c216dc7646c7d62e76c (diff)
downloadcollada-87ac3e2db6d5ae163131102c066e9d19bdfdc139.tar.gz
Collada Dom 1.4
Used by the geometry converter tool Change-Id: Ifec30e54a5d041f82e9dfa293421e1c4335585fb
Diffstat (limited to 'include/dae/daeMetaGroup.h')
-rwxr-xr-xinclude/dae/daeMetaGroup.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/include/dae/daeMetaGroup.h b/include/dae/daeMetaGroup.h
new file mode 100755
index 0000000..9f848b1
--- /dev/null
+++ b/include/dae/daeMetaGroup.h
@@ -0,0 +1,50 @@
+/*
+* 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
+*
+*/
+
+#ifndef __DAE_META_GROUP_H__
+#define __DAE_META_GROUP_H__
+
+#include <dae/daeMetaCMPolicy.h>
+
+class daeMetaElementAttribute;
+
+/**
+ * The daeMetaGroup class defines the behavior of an xs:group ref content model from the COLLADA Schema.
+ */
+class daeMetaGroup : public daeMetaCMPolicy
+{
+public:
+ /**
+ * Constructor.
+ * @param econ The daeMetaElementAttribute that represents the group element in the parent.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container, daeMetaCMPolicy *parent = NULL,
+ daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 );
+
+ /**
+ * Destructor.
+ */
+ ~daeMetaGroup();
+
+ daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL );
+ daeBool removeElement(daeElement* parent, daeElement* child);
+ daeMetaElement *findChild( daeString elementName );
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+
+protected:
+ daeMetaElementAttribute *_elementContainer;
+};
+
+#endif
+