From: Markus R. <rol...@us...> - 2006-02-19 11:12:07
|
Update of /cvsroot/simspark/simspark/spark/plugin/rosimporter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3172 Modified Files: rosimporter.cpp Log Message: - use the MaterialServer::RegisterMaterial() method instead of directly instancing a new material. This assures that multiple runs of the RosImporter don't create multiple instanes of one material definition Index: rosimporter.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/rosimporter.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** rosimporter.cpp 19 Feb 2006 10:44:28 -0000 1.3 --- rosimporter.cpp 19 Feb 2006 11:11:58 -0000 1.4 *************** *** 33,36 **** --- 33,37 ---- #include <oxygen/physicsserver/hingejoint.h> #include <kerosin/openglserver/glbase.h> + #include <kerosin/materialserver/materialserver.h> #include <kerosin/materialserver/materialsolid.h> #include <kerosin/sceneserver/box.h> *************** *** 272,276 **** bool RosImporter::ReadAppearenceDef(TiXmlElement* element) { ! shared_ptr<Node> materialServer = shared_dynamic_cast<Node> (GetCore()->Get("/sys/server/material")); --- 273,277 ---- bool RosImporter::ReadAppearenceDef(TiXmlElement* element) { ! shared_ptr<MaterialServer> materialServer = shared_dynamic_cast<MaterialServer> (GetCore()->Get("/sys/server/material")); *************** *** 314,318 **** material->SetDiffuse(rgba); ! materialServer->AddChildReference(material); GetLog()->Debug() << "(RosImporter) defined SolidMaterial " << name << "\n"; --- 315,319 ---- material->SetDiffuse(rgba); ! materialServer->RegisterMaterial(material); GetLog()->Debug() << "(RosImporter) defined SolidMaterial " << name << "\n"; |