Add ExtraTags class for handling tags inside an extra block.

This commit is contained in:
Nathan Letwory
2011-03-25 11:07:57 +00:00
parent 6d08597688
commit 32abf5eca8
7 changed files with 151 additions and 11 deletions

View File

@@ -101,7 +101,15 @@ DocumentImporter::DocumentImporter(bContext *C, const char *filename) :
anim_importer(&unit_converter, &armature_importer, CTX_data_scene(C))
{}
DocumentImporter::~DocumentImporter() {}
DocumentImporter::~DocumentImporter()
{
std::map<COLLADAFW::UniqueId, ExtraTags*>::iterator etit;
etit = uid_tags_map.begin();
while(etit!=uid_tags_map.end()) {
delete etit->second;
etit++;
}
}
bool DocumentImporter::import()
{
@@ -997,8 +1005,17 @@ bool DocumentImporter::writeKinematicsScene( const COLLADAFW::KinematicsScene* k
return true;
}
bool DocumentImporter::addElementData( const COLLADAFW::UniqueId &uid)
ExtraTags* DocumentImporter::getExtraTags(const COLLADAFW::UniqueId &uid)
{
if(uid_tags_map.find(uid)==uid_tags_map.end()) {
return NULL;
}
return uid_tags_map[uid];
}
bool DocumentImporter::addExtraTags( const COLLADAFW::UniqueId &uid, ExtraTags *extra_tags)
{
uid_tags_map[uid] = extra_tags;
return true;
}