From: Markus R. <rol...@us...> - 2006-02-23 13:38:42
|
Update of /cvsroot/simspark/simspark/spark/oxygen/geometryserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16269 Modified Files: geometryserver.cpp geometryserver.h Log Message: - factored out registration of a new mesh into the public method RegisterMesh() Index: geometryserver.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/geometryserver/geometryserver.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** geometryserver.cpp 5 Dec 2005 21:16:49 -0000 1.1 --- geometryserver.cpp 23 Feb 2006 13:38:36 -0000 1.2 *************** *** 133,138 **** if (meshName == "") { - mesh->SetName(name); meshName = name; } --- 133,138 ---- if (meshName == "") { meshName = name; + mesh->SetName(name); } *************** *** 142,146 **** << importer->GetName() << "'\n"; ! mMeshMap[meshName] = mesh; return mesh; } --- 142,147 ---- << importer->GetName() << "'\n"; ! RegisterMesh(mesh); ! return mesh; } *************** *** 152,153 **** --- 153,181 ---- } + void GeometryServer::RegisterMesh(shared_ptr<TriMesh> mesh) + { + if (mesh.get() == 0) + { + GetLog()->Debug() << "(GeometryServer) RegisterMesh called with NULL mesh\n"; + return; + } + + std::string name = mesh->GetName(); + if (name.empty()) + { + GetLog()->Error() << "(GeometryServer) Cannot register a mesh without a name\n"; + return; + } + + TMeshMap::iterator iter = mMeshMap.find(name); + if (iter != mMeshMap.end()) + { + GetLog()->Debug() << "(GeometryServer) replacing mesh " << name << "\n"; + } + + mMeshMap[name] = mesh; + GetLog()->Normal() << "(GeometryServer) mesh " << name << " registered\n"; + } + + + Index: geometryserver.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/geometryserver/geometryserver.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** geometryserver.h 5 Dec 2005 21:16:49 -0000 1.1 --- geometryserver.h 23 Feb 2006 13:38:36 -0000 1.2 *************** *** 54,57 **** --- 54,62 ---- (const std::string& name, const zeitgeist::ParameterList& parameter); + /** register a trimesh to the GeometryServer. The name of the mesh + has to be set + */ + void RegisterMesh(boost::shared_ptr<TriMesh> mesh); + protected: /** registers the standard mesh importer */ |