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 __DAE_META_GROUP_H__ 00010 #define __DAE_META_GROUP_H__ 00011 00012 #include <dae/daeMetaCMPolicy.h> 00013 00014 class daeMetaElementAttribute; 00015 00019 class daeMetaGroup : public daeMetaCMPolicy 00020 { 00021 public: 00032 daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container, daeMetaCMPolicy *parent = NULL, 00033 daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); 00034 00038 ~daeMetaGroup(); 00039 00040 daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); 00041 daeBool removeElement(daeElement* parent, daeElement* child); 00042 daeMetaElement *findChild( daeString elementName ); 00043 void getChildren( daeElement* parent, daeElementRefArray &array ); 00044 00045 protected: 00046 daeMetaElementAttribute *_elementContainer; 00047 }; 00048 00049 #endif 00050