00001 #include <esg/Group.h> 00002 #include <esg/iterator/IteratorSDS.h> 00003 00004 using namespace esg; 00005 00006 Group::Group(const SDS& ss, OID oid, const char* name) 00007 : SceneGraphObject(oid, name) 00008 { 00009 _repository = (SDS*) ss.clone(); 00010 } 00011 00012 Group::~Group() 00013 { 00014 if (_repository) delete _repository; 00015 } 00016 00017 bool Group::hasSubnodes() const 00018 { 00019 return (_repository != NULL); 00020 } 00021 00022 IteratorSDS* Group::traverseSubnodes() const 00023 { 00024 return ((_repository) 00025 ? (IteratorSDS*) _repository->createIterator() 00026 : NULL); 00027 } 00028