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 */
|