You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(153) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(48) |
Feb
(46) |
Mar
(12) |
Apr
(4) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
(263) |
Mar
(235) |
Apr
(66) |
May
(42) |
Jun
(270) |
Jul
(65) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Markus R. <rol...@us...> - 2007-06-13 13:23:28
|
Update of /cvsroot/simspark/simspark/spark/plugin/rosimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25507 Modified Files: Tag: ROSIMPORTER_XLAB roselements.cpp roselements.h Log Message: - define 'canCollide', 'min', 'max', 'slider' 'deflection', 'color' and 'interactivebutton' Index: roselements.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/roselements.h,v retrieving revision 1.5.8.1 retrieving revision 1.5.8.2 diff -C2 -d -r1.5.8.1 -r1.5.8.2 *** roselements.h 20 May 2007 16:31:53 -0000 1.5.8.1 --- roselements.h 13 Jun 2007 13:23:15 -0000 1.5.8.2 *************** *** 61,64 **** --- 61,65 ---- // PhysicalAttributes #define RA_VALUE "value" + #define RA_CANCOLLIDE "canCollide" // Use *************** *** 69,72 **** --- 70,77 ---- #define RA_VERTEXLIST "vertexList" + // Axis Deflection + #define RA_MIN "min" + #define RA_MAX "max" + class RosElements { *************** *** 109,116 **** --- 114,123 ---- RE_HINGE, RE_UNIVERSAL, + RE_SLIDER, RE_ANCHORPOINT, RE_AXIS, RE_AXIS1, RE_AXIS2, + RE_DEFLECTION, RE_GLOBALPHYSICALPARAMETERS, *************** *** 123,127 **** RE_DEFAULTAPPEARANCE, RE_AMBIENTLIGHTCOLOR, ! RE_COLOR }; --- 130,136 ---- RE_DEFAULTAPPEARANCE, RE_AMBIENTLIGHTCOLOR, ! RE_COLOR, ! ! RE_INTERACTIVEBUTTON }; Index: roselements.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/roselements.cpp,v retrieving revision 1.5.8.1 retrieving revision 1.5.8.2 diff -C2 -d -r1.5.8.1 -r1.5.8.2 *** roselements.cpp 20 May 2007 16:31:53 -0000 1.5.8.1 --- roselements.cpp 13 Jun 2007 13:23:06 -0000 1.5.8.2 *************** *** 80,83 **** --- 80,84 ---- ROS_DEFINE_ELEMENT(RE_HINGE,"Hinge"); + ROS_DEFINE_ELEMENT(RE_SLIDER,"Slider"); ROS_DEFINE_ELEMENT(RE_UNIVERSAL,"UniversalJoint"); ROS_DEFINE_ELEMENT(RE_ANCHORPOINT,"AnchorPoint"); *************** *** 85,88 **** --- 86,90 ---- ROS_DEFINE_ELEMENT(RE_AXIS1,"Axis1"); ROS_DEFINE_ELEMENT(RE_AXIS2,"Axis2"); + ROS_DEFINE_ELEMENT(RE_DEFLECTION,"Deflection"); ROS_DEFINE_ELEMENT(RE_GLOBALPHYSICALPARAMETERS,"GlobalPhysicalParameters"); *************** *** 97,100 **** --- 99,103 ---- ROS_DEFINE_ELEMENT(RE_COLOR, "Color"); + ROS_DEFINE_ELEMENT(RE_INTERACTIVEBUTTON,"InteractiveButton"); } |
|
From: Markus R. <rol...@us...> - 2007-06-13 13:21:45
|
Update of /cvsroot/simspark/simspark/contrib/rsgedit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25071 Modified Files: Tag: ROSIMPORTER_XLAB property.cpp property.h Log Message: - add GetAngle() and GetAngleRate() properties for Hinge- and UniversalJoint Index: property.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/property.cpp,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -C2 -d -r1.9 -r1.9.2.1 *** property.cpp 17 May 2007 17:49:23 -0000 1.9 --- property.cpp 13 Jun 2007 13:21:41 -0000 1.9.2.1 *************** *** 36,39 **** --- 36,41 ---- #include <oxygen/physicsserver/body.h> #include <oxygen/physicsserver/joint.h> + #include <oxygen/physicsserver/hingejoint.h> + #include <oxygen/physicsserver/universaljoint.h> #include <oxygen/physicsserver/world.h> #include <oxygen/physicsserver/collisionhandler.h> *************** *** 108,111 **** --- 110,115 ---- mClassMap[_T("/classes/oxygen/Body")] = CL_BODY; mClassMap[_T("/classes/oxygen/Joint")] = CL_JOINT; + mClassMap[_T("/classes/oxygen/HingeJoint")] = CL_HINGEJOINT; + mClassMap[_T("/classes/oxygen/UniversalJoint")] = CL_UNIVERSALJOINT; mClassMap[_T("/classes/oxygen/World")] = CL_WORLD; mClassMap[_T("/classes/oxygen/CollisionHandler")] = CL_COLLISIONHANDLER; *************** *** 201,204 **** --- 205,224 ---- } + void Property::GenHingeEntries(shared_ptr<Leaf> leaf, TEntryList& entries) const + { + const HingeJoint& hinge = *shared_static_cast<HingeJoint>(leaf); + entries.push_back(Entry(_T("GetAngle"),FormatFloat(hinge.GetAngle()))); + entries.push_back(Entry(_T("GetAngleRate"),FormatFloat(hinge.GetAngleRate()))); + } + + void Property::GenUniversalEntries(shared_ptr<Leaf> leaf, TEntryList& entries) const + { + const UniversalJoint& universal = *shared_static_cast<UniversalJoint>(leaf); + entries.push_back(Entry(_T("GetAngle(0)"),FormatFloat(universal.GetAngle(Joint::AI_FIRST)))); + entries.push_back(Entry(_T("GetAngle(1)"),FormatFloat(universal.GetAngle(Joint::AI_SECOND)))); + entries.push_back(Entry(_T("GetAngleRate(0)"),FormatFloat(universal.GetAngleRate(Joint::AI_FIRST)))); + entries.push_back(Entry(_T("GetAngleRate(1)"),FormatFloat(universal.GetAngleRate(Joint::AI_SECOND)))); + } + void Property::GenJointEntries(shared_ptr<Leaf> leaf, TEntryList& entries) const { *************** *** 383,386 **** --- 403,414 ---- break; + case CL_HINGEJOINT: + GenHingeEntries(leaf, entries); + break; + + case CL_UNIVERSALJOINT: + GenUniversalEntries(leaf, entries); + break; + case CL_JOINT: GenJointEntries(leaf, entries); Index: property.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/property.h,v retrieving revision 1.6 retrieving revision 1.6.4.1 diff -C2 -d -r1.6 -r1.6.4.1 *** property.h 15 Mar 2007 07:26:24 -0000 1.6 --- property.h 13 Jun 2007 13:21:41 -0000 1.6.4.1 *************** *** 47,50 **** --- 47,52 ---- CL_BODY, CL_JOINT, + CL_HINGEJOINT, + CL_UNIVERSALJOINT, CL_WORLD, CL_COLLISIONHANDLER, *************** *** 86,89 **** --- 88,93 ---- void GenTransformEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; void GenBodyEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; + void GenHingeEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; + void GenUniversalEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; void GenJointEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; void GenWorldEntries(boost::shared_ptr<zeitgeist::Leaf> leaf, TEntryList& entries) const; |
|
From: Markus R. <rol...@us...> - 2007-06-13 13:20:28
|
Update of /cvsroot/simspark/simspark/contrib/rsgedit In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24618 Modified Files: Tag: ROSIMPORTER_XLAB sparkglrender.cpp sparkglrender.h Log Message: - refactor RenderSelectedNode() - highlight connected bodies when a joint node is selected Index: sparkglrender.h =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparkglrender.h,v retrieving revision 1.6 retrieving revision 1.6.4.1 diff -C2 -d -r1.6 -r1.6.4.1 *** sparkglrender.h 15 Apr 2007 12:19:12 -0000 1.6 --- sparkglrender.h 13 Jun 2007 13:20:22 -0000 1.6.4.1 *************** *** 44,47 **** --- 44,54 ---- class SparkGLRender { + protected: + struct RenderSelectionContext + { + RenderSelectionContext(boost::shared_ptr<oxygen::BaseNode> node); + ~RenderSelectionContext(); + }; + public: SparkGLRender(); Index: sparkglrender.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/contrib/rsgedit/sparkglrender.cpp,v retrieving revision 1.5 retrieving revision 1.5.4.1 diff -C2 -d -r1.5 -r1.5.4.1 *** sparkglrender.cpp 15 Apr 2007 12:19:12 -0000 1.5 --- sparkglrender.cpp 13 Jun 2007 13:20:22 -0000 1.5.4.1 *************** *** 20,23 **** --- 20,25 ---- #include "sparkglrender.h" #include <zeitgeist/logserver/logserver.h> + #include <oxygen/physicsserver/body.h> + #include <oxygen/physicsserver/joint.h> #include <oxygen/sceneserver/camera.h> #include <oxygen/sceneserver/sceneserver.h> *************** *** 36,39 **** --- 38,57 ---- using namespace kerosin; + // ---- SparkGLRender::RenderSelectionContext + + SparkGLRender::RenderSelectionContext::RenderSelectionContext(shared_ptr<BaseNode> node) + { + assert(node.get() != 0); + glPushMatrix(); + glMultMatrixf(node->GetWorldTransform().m); + } + + SparkGLRender::RenderSelectionContext::~RenderSelectionContext() + { + glPopMatrix(); + } + + // ---- SparkGLRender + SparkGLRender::SparkGLRender() { *************** *** 110,116 **** --- 128,136 ---- if (sMatNode.get() != 0) { + shared_ptr<Material> material = sMatNode->GetMaterial(); sMatNode->SetMaterial("matSelected"); + RenderSelectionContext context(sMatNode); sMatNode->RenderInternal(); *************** *** 128,138 **** if (renderNode.get() != 0) { renderNode->RenderInternal(); return; } const salt::AABB3& bb = node->GetWorldBoundingBox(); float size = std::max<float>(GLRENDER_MIN_AXIS_WIDTH, bb.GetRadius()); ! Axis::RenderAxis(size); } --- 148,193 ---- if (renderNode.get() != 0) { + RenderSelectionContext context(renderNode); renderNode->RenderInternal(); return; } + shared_ptr<Joint> jointNode = + shared_dynamic_cast<Joint>(node); + + if (jointNode.get() != 0) + { + for ( + int i=Joint::BI_FIRST; + i<=Joint::BI_SECOND; + ++i + ) + { + shared_ptr<Body> body = + jointNode->GetBody(static_cast<Joint::EBodyIndex>(i)); + + if (body.get() == 0) + { + continue; + } + + RenderNodeSelection(body); + } + + { + RenderSelectionContext context(jointNode); + Axis::RenderAxis(0.5); + } + + return; + } + const salt::AABB3& bb = node->GetWorldBoundingBox(); float size = std::max<float>(GLRENDER_MIN_AXIS_WIDTH, bb.GetRadius()); ! ! { ! RenderSelectionContext context(node); ! Axis::RenderAxis(size); ! } } *************** *** 150,158 **** glDisable(GL_DEPTH_TEST); - glPushMatrix(); - glMultMatrixf(node->GetWorldTransform().m); - RenderNodeSelection(node); - - glPopMatrix(); } --- 205,208 ---- |
|
From: Markus R. <rol...@us...> - 2007-06-13 13:19:21
|
Update of /cvsroot/simspark/simspark/spark/oxygen/physicsserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24088 Modified Files: Tag: ROSIMPORTER_XLAB hingejoint.cpp hingejoint.h universaljoint.cpp universaljoint.h Log Message: - const correctness Index: hingejoint.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/physicsserver/hingejoint.cpp,v retrieving revision 1.5 retrieving revision 1.5.8.1 diff -C2 -d -r1.5 -r1.5.8.1 *** hingejoint.cpp 19 Feb 2006 13:15:26 -0000 1.5 --- hingejoint.cpp 13 Jun 2007 13:19:15 -0000 1.5.8.1 *************** *** 118,127 **** } ! float HingeJoint::GetAngle() { return gRadToDeg(dJointGetHingeAngle(mODEJoint)); } ! float HingeJoint::GetAngleRate() { return gRadToDeg(dJointGetHingeAngleRate(mODEJoint)); --- 118,127 ---- } ! float HingeJoint::GetAngle() const { return gRadToDeg(dJointGetHingeAngle(mODEJoint)); } ! float HingeJoint::GetAngleRate() const { return gRadToDeg(dJointGetHingeAngleRate(mODEJoint)); Index: hingejoint.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/physicsserver/hingejoint.h,v retrieving revision 1.5 retrieving revision 1.5.8.1 diff -C2 -d -r1.5 -r1.5.8.1 *** hingejoint.h 19 Feb 2006 13:15:26 -0000 1.5 --- hingejoint.h 13 Jun 2007 13:19:15 -0000 1.5.8.1 *************** *** 63,70 **** bodies, or between the body and the static environment. */ ! float GetAngle(); /** returns the time derivate of the hinge angle */ ! float GetAngleRate(); /** sets a joint parameter value */ --- 63,70 ---- bodies, or between the body and the static environment. */ ! float GetAngle() const; /** returns the time derivate of the hinge angle */ ! float GetAngleRate() const; /** sets a joint parameter value */ Index: universaljoint.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/physicsserver/universaljoint.cpp,v retrieving revision 1.3 retrieving revision 1.3.8.1 diff -C2 -d -r1.3 -r1.3.8.1 *** universaljoint.cpp 12 Feb 2006 11:36:52 -0000 1.3 --- universaljoint.cpp 13 Jun 2007 13:19:15 -0000 1.3.8.1 *************** *** 79,83 **** } ! void UniversalJoint::SetAxis1(Vector3f & axis) { Vector3f first(GetWorldTransform().Rotate(axis)); --- 79,83 ---- } ! void UniversalJoint::SetAxis1(const Vector3f & axis) { Vector3f first(GetWorldTransform().Rotate(axis)); *************** *** 85,89 **** } ! void UniversalJoint::SetAxis2(Vector3f & axis) { Vector3f second(GetWorldTransform().Rotate(axis)); --- 85,89 ---- } ! void UniversalJoint::SetAxis2(const Vector3f & axis) { Vector3f second(GetWorldTransform().Rotate(axis)); *************** *** 91,95 **** } ! Vector3f UniversalJoint::GetAxis(EAxisIndex idx) { Vector3f vec(0,0,0); --- 91,95 ---- } ! Vector3f UniversalJoint::GetAxis(EAxisIndex idx) const { Vector3f vec(0,0,0); *************** *** 118,122 **** } ! float UniversalJoint::GetAngle(EAxisIndex idx) { switch (idx) --- 118,122 ---- } ! float UniversalJoint::GetAngle(EAxisIndex idx) const { switch (idx) *************** *** 133,137 **** } ! float UniversalJoint::GetAngleRate(EAxisIndex idx) { switch (idx) --- 133,137 ---- } ! float UniversalJoint::GetAngleRate(EAxisIndex idx) const { switch (idx) Index: universaljoint.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/physicsserver/universaljoint.h,v retrieving revision 1.3 retrieving revision 1.3.8.1 diff -C2 -d -r1.3 -r1.3.8.1 *** universaljoint.h 12 Feb 2006 11:36:52 -0000 1.3 --- universaljoint.h 13 Jun 2007 13:19:15 -0000 1.3.8.1 *************** *** 48,57 **** \param axis a vector describing the axis in relative coordinates */ ! void SetAxis1(salt::Vector3f & axis); /** This function sets up the second axis of the joint \param axis a vector describing the axis in local coordinates */ ! void SetAxis2(salt::Vector3f & axis); /** returns the vector describing one of the two axis --- 48,57 ---- \param axis a vector describing the axis in relative coordinates */ ! void SetAxis1(const salt::Vector3f & axis); /** This function sets up the second axis of the joint \param axis a vector describing the axis in local coordinates */ ! void SetAxis2(const salt::Vector3f & axis); /** returns the vector describing one of the two axis *************** *** 59,63 **** \param idx index of the desired axis */ ! salt::Vector3f GetAxis(EAxisIndex idx); /** returns one of the axis angles in degrees, measured between --- 59,63 ---- \param idx index of the desired axis */ ! salt::Vector3f GetAxis(EAxisIndex idx) const; /** returns one of the axis angles in degrees, measured between *************** *** 65,72 **** environment. */ ! float GetAngle(EAxisIndex idx); /** returns the time derivate of one of the hinge angles */ ! float GetAngleRate(EAxisIndex idx); /** sets a joint parameter value */ --- 65,72 ---- environment. */ ! float GetAngle(EAxisIndex idx) const; /** returns the time derivate of one of the hinge angles */ ! float GetAngleRate(EAxisIndex idx) const; /** sets a joint parameter value */ |
|
From: Markus R. <rol...@us...> - 2007-06-13 13:17:50
|
Update of /cvsroot/simspark/simspark/spark/oxygen/sceneserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23208 Modified Files: Tag: ROSIMPORTER_XLAB basenode.cpp basenode.h Log Message: - make GetLocalPos() const Index: basenode.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/sceneserver/basenode.h,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -C2 -d -r1.1 -r1.1.8.1 *** basenode.h 5 Dec 2005 21:21:17 -0000 1.1 --- basenode.h 13 Jun 2007 13:17:44 -0000 1.1.8.1 *************** *** 111,115 **** /** returns the corresponding local coordinates to the given world coordinates */ ! salt::Vector3f GetLocalPos(const salt::Vector3f& worldPos); /** updates internal state before physics calculation */ --- 111,115 ---- /** returns the corresponding local coordinates to the given world coordinates */ ! salt::Vector3f GetLocalPos(const salt::Vector3f& worldPos) const; /** updates internal state before physics calculation */ Index: basenode.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/sceneserver/basenode.cpp,v retrieving revision 1.2 retrieving revision 1.2.8.1 diff -C2 -d -r1.2 -r1.2.8.1 *** basenode.cpp 15 Feb 2006 01:00:19 -0000 1.2 --- basenode.cpp 13 Jun 2007 13:17:44 -0000 1.2.8.1 *************** *** 201,205 **** } ! salt::Vector3f BaseNode::GetLocalPos(const salt::Vector3f& worldPos) { Matrix invWorld = GetWorldTransform(); --- 201,205 ---- } ! salt::Vector3f BaseNode::GetLocalPos(const salt::Vector3f& worldPos) const { Matrix invWorld = GetWorldTransform(); |
|
From: Markus R. <rol...@us...> - 2007-06-11 17:27:08
|
Update of /cvsroot/simspark/simspark/spark/zeitgeist In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12259 Modified Files: Tag: ROSIMPORTER_XLAB leaf.h Log Message: - fix the recursive case for FindChildSupportingClass() Index: leaf.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/zeitgeist/leaf.h,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** leaf.h 17 May 2007 17:46:45 -0000 1.3 --- leaf.h 11 Jun 2007 17:27:05 -0000 1.3.2.1 *************** *** 130,134 **** if (recursive) { ! return (*i)->FindChildSupportingClass<CLASS>(recursive); } } --- 130,138 ---- if (recursive) { ! child = (*i)->FindChildSupportingClass<CLASS>(recursive); ! if (child.get() != 0) ! { ! return child; ! } } } |
|
From: Oliver O. <fr...@us...> - 2007-06-04 03:02:18
|
Update of /cvsroot/simspark/simspark/spark/plugin/objimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv26386 Added Files: Tag: projectx .cvsignore export.cpp objimporter.cpp objimporter.h objimporter_c.cpp Log Message: copied objimporter from rcssserver3D CVS --- NEW FILE: .cvsignore --- .deps .libs Makefile Makefile.in *.la *.lo --- NEW FILE: export.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: export.cpp,v 1.1.2.1 2007/06/04 03:02:14 fruit Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "objimporter.h" #include <zeitgeist/zeitgeist.h> using namespace oxygen; ZEITGEIST_EXPORT_BEGIN() ZEITGEIST_EXPORT(ObjImporter); ZEITGEIST_EXPORT_END() --- NEW FILE: objimporter.h --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef OBJIMPORTER_H #define OBJIMPORTER_H #include <oxygen/geometryserver/meshimporter.h> struct VTNIndex { unsigned int v; // vertex index unsigned int vt; // texture coord index unsigned int vn; // normal index }; struct FaceIndex { VTNIndex vertex[3]; }; typedef std::list<FaceIndex> TFaceIndexList; /** \class ObjImporter is a MeshImporter the reads the Wavefront .obj format. This is a _very_ simple implementation that only reads the vertices, the texture coordinates, the vertex normals, and the texture information. Everything else is ignored for now. */ class ObjImporter : public oxygen::MeshImporter { public: ObjImporter(); ~ObjImporter(); virtual boost::shared_ptr<oxygen::TriMesh> ImportMesh (const std::string& name,const zeitgeist::ParameterList& parameter); protected: void ExplodeString(std::string & input, std::vector<std::string> & output, std::string & del); }; DECLARE_CLASS(ObjImporter); #endif // OBJIMPORTER_H --- NEW FILE: objimporter_c.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "objimporter.h" void CLASS(ObjImporter)::DefineClass() { DEFINE_BASECLASS(oxygen/MeshImporter); } --- NEW FILE: objimporter.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "objimporter.h" #include <zeitgeist/logserver/logserver.h> #include <fstream> #include <sstream> #include <iostream> #include <cstdlib> using namespace zeitgeist; using namespace salt; using namespace oxygen; using namespace std; using namespace boost; ObjImporter::ObjImporter() { } ObjImporter::~ObjImporter() { } shared_ptr<TriMesh> ObjImporter::ImportMesh (const string& name, const ParameterList& parameter) { // open file ifstream ifs; ifs.open(name.c_str()); if (! ifs) { GetLog()->Error() << "(ObjImporter) ERROR: cannot open file '" << name << "'\n"; return shared_ptr<TriMesh>(); } // buffers to hold lines from the file string buffer, templine; // skip first 2 lines (comment) getline(ifs, buffer); getline(ifs, buffer); // skip material lib info, we take care of this in a later version ;-) getline(ifs, buffer); // skip object name getline(ifs, buffer); // we need to store vertices, texture coords, vertex normals, // and material (texture) names vector<Vector3f> pos, tex, norm; vector<string> materials; TFaceIndexList faces; GetLog()->Normal() << "(ObjImporter) Loading " << name << "\n"; float x,y,z; string mat, f1, f2, f3; VTNIndex idx1, idx2, idx3; FaceIndex tempFace; while(! ifs.eof()) { getline(ifs, templine); stringstream str(templine); str >> buffer; if (buffer == "v") // vertex pos { str >> x >> y >> z; pos.push_back(Vector3f(x, y, z)); } else if (buffer == "vt") // vertex texture coords { str >> x >> y; tex.push_back(Vector3f(x, y, 0.0)); } else if (buffer == "vn") // vertex normal { str >> x >> y >> z; norm.push_back(Vector3f(x, y, z)); } else if (buffer == "usemtl") // material { str >> mat; // cut away the 'Material_' part mat = mat.substr(9, mat.length() - 9); materials.push_back(mat); } else if (buffer == "f") // face { // three indeces for each face: // vertex pos / texture coord / normal str >> f1 >> f2 >> f3; string del("/"); vector<string> exploded; ExplodeString(f1, exploded, del); idx1.v = atoi(exploded[0].c_str()); idx1.vt = atoi(exploded[1].c_str()); idx1.vn = atoi(exploded[2].c_str()); exploded.clear(); ExplodeString(f2, exploded, del); idx2.v = atoi(exploded[0].c_str()); idx2.vt = atoi(exploded[1].c_str()); idx2.vn = atoi(exploded[2].c_str()); exploded.clear(); ExplodeString(f3, exploded, del); idx3.v = atoi(exploded[0].c_str()); idx3.vt = atoi(exploded[1].c_str()); idx3.vn = atoi(exploded[2].c_str()); exploded.clear(); tempFace.vertex[0] = idx1; tempFace.vertex[1] = idx2; tempFace.vertex[2] = idx3; faces.push_back(tempFace); } } // close the file ifs.close(); // Now we should have all the vertex positions, texture coordinates, // normals, faces, and material names. These need to be converted into // shared arrays for the respective TriMesh methods. We need to use the // information in the face list to put the right information to the // correct indeces in the arrays. shared_array<float> posArray(new float[faces.size() * 9]); shared_array<float> texArray(new float[faces.size() * 9]); shared_array<float> normArray(new float[faces.size() * 9]); // store the vertex indices in an IndexBuffer shared_ptr<IndexBuffer> indeces(new IndexBuffer()); indeces->EnsureFit(faces.size() * 3); shared_ptr<TriMesh> triMesh(new TriMesh()); unsigned int faceCount = 0; // loop over the face list and setup the new arrays for ( TFaceIndexList::iterator iter = faces.begin(); iter != faces.end(); ++iter ) { unsigned int j = 0; for (int i = 0; i < 3; ++i) { j = iter->vertex[i].v - 1; posArray[faceCount * 9 + i * 3] = pos[j].x(); posArray[faceCount * 9 + i * 3 + 1] = pos[j].y(); posArray[faceCount * 9 + i * 3 + 2] = pos[j].z(); // cache vertex index indeces->Cache(faceCount * 3 + i); j = iter->vertex[i].vt - 1; texArray[faceCount * 9 + i * 3] = tex[j].x(); texArray[faceCount * 9 + i * 3 + 1] = tex[j].y(); texArray[faceCount * 9 + i * 3 + 2] = tex[j].z(); j = iter->vertex[i].vn - 1; normArray[faceCount * 9 + i * 3] = norm[j].x(); normArray[faceCount * 9 + i * 3 + 1] = norm[j].y(); normArray[faceCount * 9 + i * 3 + 2] = norm[j].z(); } // increase counter ++faceCount; } // add faces (only 1 material allowed right now!) triMesh->AddFace(indeces, materials[0]); triMesh->SetPos(posArray, faces.size() * 9); triMesh->SetTexCoords(texArray); triMesh->SetNormals(normArray); GetLog()->Normal() << "(ObjImporter) Done importing .obj file " << name << "\n"; return triMesh; } void ObjImporter::ExplodeString(string & input, vector<string> & output, string & del) { size_t pos1 = 0; size_t pos2 = 0; while ((pos2 = input.find(del, pos1)) != string::npos) { output.push_back(input.substr(pos1, pos2 - pos1)); pos1 = pos2 + 1; pos2 = input.find(del, pos1); } output.push_back(input.substr(pos1, input.length() - pos1)); } |
|
From: Oliver O. <fr...@us...> - 2007-06-04 03:01:09
|
Update of /cvsroot/simspark/simspark/spark/plugin/objimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25968 Added Files: Tag: projectx Makefile.am Log Message: - imported objimporter vom rcssserver3D CVS --- NEW FILE: Makefile.am --- pkglib_LTLIBRARIES = objimporter.la objimporter_la_SOURCES = export.cpp \ objimporter.cpp objimporter_c.cpp objimporter.h objimporter_la_LDFLAGS = -module -avoid-version AM_CPPFLAGS = -I${top_srcdir}/lib -I${top_srcdir}/utility @RUBY_CPPFLAGS@ |
|
From: Oliver O. <fr...@us...> - 2007-06-04 02:58:11
|
Update of /cvsroot/simspark/simspark/spark/plugin/objimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24747/objimporter Log Message: Directory /cvsroot/simspark/simspark/spark/plugin/objimporter added to the repository --> Using per-directory sticky tag `projectx' |
Update of /cvsroot/simspark/simspark/spark/plugin/voidmeshimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv17154 Added Files: Tag: projectx .cvsignore export.cpp voidmeshimporter.cpp voidmeshimporter.h voidmeshimporter_c.cpp Log Message: copied voidmeshimporter from rcssserver3D CVS --- NEW FILE: .cvsignore --- *.la *.lo .deps .libs Makefile Makefile.in --- NEW FILE: export.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: export.cpp,v 1.1.2.1 2007/06/04 01:14:19 fruit Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "voidmeshimporter.h" #include <zeitgeist/zeitgeist.h> using namespace oxygen; ZEITGEIST_EXPORT_BEGIN() ZEITGEIST_EXPORT(VoidMeshImporter); ZEITGEIST_EXPORT_END() --- NEW FILE: voidmeshimporter.h --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: voidmeshimporter.h,v 1.1.2.1 2007/06/04 01:14:19 fruit Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef VOIDMESHIMPORTER_H #define VOIDMESHIMPORTER_H #include <oxygen/geometryserver/meshimporter.h> /** \class VoidMeshImporter is a MehsImporter the reads the custom .void format */ class VoidMeshImporter : public oxygen::MeshImporter { public: VoidMeshImporter(); ~VoidMeshImporter(); virtual boost::shared_ptr<oxygen::TriMesh> ImportMesh (const std::string& name,const zeitgeist::ParameterList& parameter); }; DECLARE_CLASS(VoidMeshImporter); #endif // VOIDMESHIMPORTER_H --- NEW FILE: voidmeshimporter.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: voidmeshimporter.cpp,v 1.1.2.1 2007/06/04 01:14:19 fruit Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "voidmeshimporter.h" #include <zeitgeist/logserver/logserver.h> #include <zeitgeist/fileserver/fileserver.h> #include <kerosin/sceneserver/helper/NVMeshMender.h> using namespace zeitgeist; using namespace oxygen; using namespace std; using namespace boost; VoidMeshImporter::VoidMeshImporter() { } VoidMeshImporter::~VoidMeshImporter() { } shared_ptr<TriMesh> VoidMeshImporter::ImportMesh (const string& name, const ParameterList& parameter) { // open file shared_ptr<FileServer> fileServer = shared_static_cast<FileServer> (GetCore()->Get("/sys/server/file")); if (fileServer.get() == 0) { GetLog()->Error() << "(VoidMeshImporter) ERROR: cannot find FileServer\n"; return shared_ptr<TriMesh>(); } shared_ptr<salt::RFile> file = fileServer->Open(name); if (file.get() == 0) { GetLog()->Error() << "(VoidMeshImporter) ERROR: cannot open file '" << name << "'\n"; return shared_ptr<TriMesh>(); } NVMeshMender meshmender; NVMeshMender::VAVector input, output; NVMeshMender::VertexAttribute att; char buffer[1024]; int temp; int i; // minimal check whether we're importing a void file string tempBuffer(buffer); if (tempBuffer.find("TotalTriCount") == string::npos) { GetLog()->Normal() << "(VoidMeshImporter) not a .void mesh, aborting.\n"; return shared_ptr<TriMesh>(); } GetLog()->Normal() << "(VoidMeshImporter) Loading " << name << "\n"; file->Gets(buffer, 1024); sscanf(buffer, "TotalTriCount: %d", &temp); GetLog()->Normal() << "(VoidMeshImporter) TotalTriCount: " << temp << "\n"; int vertexCount; file->Gets(buffer, 1024); sscanf(buffer, "VertexCount: %d", &vertexCount); GetLog()->Normal() << "(VoidMeshImporter) VertexCount: " << vertexCount << "\n"; int meshCount; file->Gets(buffer, 1024); sscanf(buffer, "MeshCount: %d", &meshCount); GetLog()->Normal() << "(VoidMeshImporter) MeshCount: " << meshCount << "\n"; file->Gets(buffer, 1024); // load position and texture coordinates of this object NVMeshMender::VertexAttribute position; position.Name_ = "position"; NVMeshMender::VertexAttribute tex0; tex0.Name_ = "tex0"; for (int v = 0; v < vertexCount; ++v) { float x, y, z; file->Gets(buffer, 1024); sscanf(buffer, "%f %f %f", &x, &y, &z); position.floatVector_.push_back(x); position.floatVector_.push_back(y); position.floatVector_.push_back(z); file->Gets(buffer, 1024); sscanf(buffer, "%f %f", &x, &y); tex0.floatVector_.push_back(x); tex0.floatVector_.push_back(y); tex0.floatVector_.push_back(1); } input.push_back(position); input.push_back(tex0); file->Gets(buffer, 1024); // for every mesh in the object NVMeshMender::VertexAttribute accumulatedIndices; vector<NVMeshMender::VertexAttribute> indices; indices.resize(meshCount); NVMeshMender::VertexAttribute material; material.Name_ = "material"; material.intVector_.resize(position.floatVector_.size()); accumulatedIndices.Name_ = "indices"; for (int m = 0; m < meshCount; ++m) { int matId = 0; // skip header file->Gets(buffer, 1024); // material file->Gets(buffer, 1024); sscanf(buffer, " Material: %d", &matId); // face count int faceCount; file->Gets(buffer, 1024); sscanf(buffer, " FaceCount: %d", &faceCount); //printf("FaceCount: %d\n", faceCount); // skip file->Gets(buffer, 1024); indices[m].Name_ = "indices"; for(int f = 0; f < faceCount; ++f) { int a, b, c; file->Gets(buffer, 1024); sscanf(buffer, " %d %d %d", &a, &b, &c); indices[m].intVector_.push_back(a); material.intVector_[3*a] = matId; accumulatedIndices.intVector_.push_back(a); indices[m].intVector_.push_back(b); material.intVector_[3*b] = matId; accumulatedIndices.intVector_.push_back(b); indices[m].intVector_.push_back(c); material.intVector_[3*c] = matId; accumulatedIndices.intVector_.push_back(c); } file->Gets(buffer, 1024); } input.push_back(accumulatedIndices); input.push_back(material); // Read Materials vector<string> materials; while (! file->Eof()) { if (file->Gets(buffer, 1024)>0 && buffer[0] == 'M') { char matName[256]; int dummy; sscanf(buffer, "Material %d: %s", &dummy, matName); GetLog()->Normal() << "(VoidMeshImporter) Material '" << matName << "'\n"; materials.push_back(matName); } } file->Close(); // output att.Name_ = "position"; output.push_back(att); att.Name_ = "tex0"; output.push_back(att); att.Name_ = "normal"; output.push_back(att); att.Name_ = "indices"; output.push_back(att); att.Name_ = "material"; output.push_back(att); // munge shared_ptr<TriMesh> triMesh(new TriMesh()); meshmender.Munge(input, output, 3.141592654f/3.0f, 0, NVMeshMender::FixTangents, NVMeshMender::DontFixCylindricalTexGen, NVMeshMender::WeightNormalsByFaceSize); NVMeshMender::VertexAttribute outIndices; NVMeshMender::VertexAttribute outMaterial; for (i=0; i < (int)output.size(); ++i) { string b = output[i].Name_; if (output[i].Name_ == "position") { vertexCount = output[i].floatVector_.size()/3; shared_array<float> pos(new float[vertexCount * 3]); for (int j = 0; j < (vertexCount*3); ++j) { pos[j] = output[i].floatVector_[j]; } triMesh->SetPos(pos,vertexCount); } if (output[i].Name_ == "tex0") { int size = output[i].floatVector_.size()/3; shared_array<float> texCoords(new float[size * 3]); for (int j = 0; j < (size*3); ++j) { texCoords[j] = output[i].floatVector_[j]; } triMesh->SetTexCoords(texCoords); } if (output[i].Name_ == "normal") { int size = output[i].floatVector_.size()/3; shared_array<float> normal(new float[size * 3]); for (int j = 0; j < (size * 3); ++j) { normal[j] = output[i].floatVector_[j]; } triMesh->SetNormals(normal); } if (output[i].Name_ == "indices") { outIndices = output[i]; } if (output[i].Name_ == "material") { outMaterial = output[i]; } } std::vector<int> faceCount; faceCount.resize(meshCount); for (i = 0; i<meshCount; ++i) { faceCount[i] = 0; } int totalFaceCount = outIndices.intVector_.size()/3; for (i = 0; i < totalFaceCount; ++i) { faceCount[outMaterial.intVector_[outIndices.intVector_[3*i]*3]]++; } for (i = 0; i<meshCount; ++i) { shared_ptr<IndexBuffer> indeces(new IndexBuffer()); indeces->EnsureFit(faceCount[i] * 3); unsigned int* faces = indeces->GetIndex().get(); for (int f = 0; f < totalFaceCount; ++f) { if (outMaterial.intVector_[outIndices.intVector_[3*f]*3]==i) { // add face int triBase = 3*f; indeces->Cache(outIndices.intVector_[triBase]); indeces->Cache(outIndices.intVector_[triBase+1]); indeces->Cache(outIndices.intVector_[triBase+2]); } } triMesh->AddFace(indeces, materials[i]); } return triMesh; } --- NEW FILE: voidmeshimporter_c.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: voidmeshimporter_c.cpp,v 1.1.2.1 2007/06/04 01:14:19 fruit Exp $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "voidmeshimporter.h" void CLASS(VoidMeshImporter)::DefineClass() { DEFINE_BASECLASS(oxygen/MeshImporter); } |
|
From: Oliver O. <fr...@us...> - 2007-06-04 01:12:48
|
Update of /cvsroot/simspark/simspark/spark/plugin/voidmeshimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16391 Added Files: Tag: projectx Makefile.am Log Message: - copied voidmeshimporter from rcssserver3D CVS --- NEW FILE: Makefile.am --- pkglib_LTLIBRARIES = voidmeshimporter.la voidmeshimporter_la_SOURCES = export.cpp \ voidmeshimporter.cpp voidmeshimporter_c.cpp voidmeshimporter.h voidmeshimporter_la_LDFLAGS = -module -avoid-version -L${top_srcdir}/utility/sfsexp/ AM_CPPFLAGS = -I${top_srcdir}/lib -I${top_srcdir}/utility @RUBY_CPPFLAGS@ |
|
From: Oliver O. <fr...@us...> - 2007-06-04 01:05:32
|
Update of /cvsroot/simspark/simspark/spark/plugin/voidmeshimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13643/voidmeshimporter Log Message: Directory /cvsroot/simspark/simspark/spark/plugin/voidmeshimporter added to the repository --> Using per-directory sticky tag `projectx' |
|
From: Oliver O. <fr...@us...> - 2007-06-04 01:03:52
|
Update of /cvsroot/simspark/simspark/spark/plugin/inputois In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12878/inputois Log Message: Directory /cvsroot/simspark/simspark/spark/plugin/inputois added to the repository --> Using per-directory sticky tag `projectx' |
|
From: Oliver O. <fr...@us...> - 2007-06-01 15:20:28
|
Update of /cvsroot/simspark/simspark/spark/oxygen/simulationserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv835 Modified Files: Tag: projectx simulationserver_c.cpp Log Message: removed faulty return Index: simulationserver_c.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/oxygen/simulationserver/simulationserver_c.cpp,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** simulationserver_c.cpp 1 Jun 2007 07:01:06 -0000 1.1.4.1 --- simulationserver_c.cpp 1 Jun 2007 15:20:23 -0000 1.1.4.2 *************** *** 36,40 **** string inClassName; string inName; ! return true; if ( (in.GetSize() != 2) || --- 36,40 ---- string inClassName; string inName; ! if ( (in.GetSize() != 2) || |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:29:07
|
Update of /cvsroot/simspark/simspark/spark/zeitgeist In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21005 Modified Files: Tag: projectx class.h Log Message: removed using hash_map from class (always using STL map) Index: class.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/zeitgeist/class.h,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** class.h 30 Mar 2007 03:37:36 -0000 1.2.4.1 --- class.h 1 Jun 2007 13:29:04 -0000 1.2.4.2 *************** *** 36,45 **** #endif - #ifdef HAVE_HASH_MAP - #include <hash_map> - #else #include <map> - #endif - #include <string> #include <vector> --- 36,40 ---- *************** *** 153,161 **** /** defines a mapping from member names to command procedures */ - #ifdef HAVE_HASH_MAP - typedef std::hash_map<std::string, TCmdProc> TCommandMap; - #else typedef std::map<std::string, TCmdProc> TCommandMap; - #endif private: --- 148,152 ---- |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:25:19
|
Update of /cvsroot/simspark/simspark/spark/kerosin/textureserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv19491 Modified Files: Tag: projectx texture.cpp textureserver.cpp textureserver.h Log Message: whitespace; removed unimplemented InLink() Index: textureserver.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/textureserver/textureserver.cpp,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.2.2.1 diff -C2 -d -r1.1.2.2 -r1.1.2.2.2.1 *** textureserver.cpp 16 Feb 2007 15:40:53 -0000 1.1.2.2 --- textureserver.cpp 1 Jun 2007 13:25:15 -0000 1.1.2.2.2.1 *************** *** 1,22 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ --- 1,22 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ Index: textureserver.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/textureserver/textureserver.h,v retrieving revision 1.1.2.1.2.1 retrieving revision 1.1.2.1.2.2 diff -C2 -d -r1.1.2.1.2.1 -r1.1.2.1.2.2 *** textureserver.h 30 Mar 2007 01:58:39 -0000 1.1.2.1.2.1 --- textureserver.h 1 Jun 2007 13:25:15 -0000 1.1.2.1.2.2 *************** *** 1,5 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University --- 1,5 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University *************** *** 81,84 **** --- 81,87 ---- virtual void OnLink(); + /** reset OpenGLServer and ImageServer reference */ + // virtual void OnUnlink(); + // // members Index: texture.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/textureserver/texture.cpp,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.3.2.1 diff -C2 -d -r1.1.2.3 -r1.1.2.3.2.1 *** texture.cpp 28 Feb 2007 04:22:33 -0000 1.1.2.3 --- texture.cpp 1 Jun 2007 13:25:15 -0000 1.1.2.3.2.1 *************** *** 1,22 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "texture.h" --- 1,22 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "texture.h" |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:21:23
|
Update of /cvsroot/simspark/simspark/spark/kerosin/sceneserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv17771/sceneserver Modified Files: Tag: projectx axis.cpp Log Message: comments only Index: axis.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/sceneserver/axis.cpp,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.1.2.1 diff -C2 -d -r1.2.2.1 -r1.2.2.1.2.1 *** axis.cpp 23 Feb 2007 19:21:10 -0000 1.2.2.1 --- axis.cpp 1 Jun 2007 13:21:20 -0000 1.2.2.1.2.1 *************** *** 1,22 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "axis.h" --- 1,22 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "axis.h" |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:19:14
|
Update of /cvsroot/simspark/simspark/spark/kerosin/renderserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16855 Modified Files: Tag: projectx rendercontrol.cpp Log Message: whitespace only Index: rendercontrol.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/renderserver/rendercontrol.cpp,v retrieving revision 1.1.2.1.2.1 retrieving revision 1.1.2.1.2.2 diff -C2 -d -r1.1.2.1.2.1 -r1.1.2.1.2.2 *** rendercontrol.cpp 30 Mar 2007 01:53:58 -0000 1.1.2.1.2.1 --- rendercontrol.cpp 1 Jun 2007 13:19:10 -0000 1.1.2.1.2.2 *************** *** 80,86 **** (mRenderServer.expired()) ) ! { ! return; ! } // update the window (pumps event loop, etc..) and render the --- 80,86 ---- (mRenderServer.expired()) ) ! { ! return; ! } // update the window (pumps event loop, etc..) and render the |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:16:06
|
Update of /cvsroot/simspark/simspark/spark/kerosin/renderserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15297 Modified Files: Tag: projectx baserenderserver.h Log Message: - added virtual methods to get the width, the height, and the contents of the current screen Index: baserenderserver.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/renderserver/Attic/baserenderserver.h,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** baserenderserver.h 30 Mar 2007 04:04:33 -0000 1.1.2.1 --- baserenderserver.h 1 Jun 2007 13:16:01 -0000 1.1.2.2 *************** *** 53,56 **** --- 53,63 ---- virtual void Render() = 0; + //! width of the render target + virtual int Width() const { return 0; } + //! height of the render target + virtual int Height() const { return 0; } + //! get a shot of the current frame + virtual bool CopyFrame(char* /* buffer */) const { return false; } + protected: /** get the active scene node from the sceneServer */ |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:08:18
|
Update of /cvsroot/simspark/simspark/spark/kerosin/openglserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12404 Modified Files: Tag: projectx openglserver.h Log Message: - replaced GetWindowHandleStr() by GetWindowHandle() (suggested by Markus) Index: openglserver.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/openglserver/openglserver.h,v retrieving revision 1.1.2.2.2.1 retrieving revision 1.1.2.2.2.2 diff -C2 -d -r1.1.2.2.2.1 -r1.1.2.2.2.2 *** openglserver.h 30 Mar 2007 01:49:18 -0000 1.1.2.2.2.1 --- openglserver.h 1 Jun 2007 13:08:12 -0000 1.1.2.2.2.2 *************** *** 87,91 **** //! return the main window handle from the gl subsystem ! std::string GetWindowHandleStr() const; protected: --- 87,91 ---- //! return the main window handle from the gl subsystem ! long int GetWindowHandle() const; protected: |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:07:41
|
Update of /cvsroot/simspark/simspark/spark/kerosin/openglserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11999 Modified Files: Tag: projectx openglserver.cpp Log Message: - replaced GetWindowHandleStr() by GetWindowHandle() (suggested by Markus) Index: openglserver.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/openglserver/openglserver.cpp,v retrieving revision 1.1.2.3.2.1 retrieving revision 1.1.2.3.2.2 diff -C2 -d -r1.1.2.3.2.1 -r1.1.2.3.2.2 *** openglserver.cpp 30 Mar 2007 01:48:20 -0000 1.1.2.3.2.1 --- openglserver.cpp 1 Jun 2007 13:07:38 -0000 1.1.2.3.2.2 *************** *** 212,226 **** } ! std::string ! OpenGLServer::GetWindowHandleStr() const { ! long int handle = 0; ! ! if (mGLSystem.get() != 0) { ! handle = mGLSystem->GetWindowHandle(); } ! std::ostringstream ost; ! ost << handle; ! return ost.str(); } --- 212,222 ---- } ! long int ! OpenGLServer::GetWindowHandle() const { ! if (mGLSystem.get() == 0) { ! return 0; } ! return mGLSystem->GetWindowHandle(); } |
|
From: Oliver O. <fr...@us...> - 2007-06-01 13:02:49
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10020 Modified Files: Tag: projectx materialsolid_c.cpp Log Message: - added a flag and methods indicating if depth checks for the material should be enabled - added a value and methods for the shininess of a material Index: materialsolid_c.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/materialserver/materialsolid_c.cpp,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** materialsolid_c.cpp 5 Dec 2005 21:38:22 -0000 1.1 --- materialsolid_c.cpp 1 Jun 2007 13:02:46 -0000 1.1.4.1 *************** *** 1,5 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University --- 1,5 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University *************** *** 43,46 **** --- 43,69 ---- } + #if 0 + static bool + readRGBAVal(const zeitgeist::ParameterList& in, RGBA& m) + { + int r,g,b; + + if ( + (in.GetSize() != 4) || + (! in.GetValue(in[0], r)) || + (! in.GetValue(in[1], g)) || + (! in.GetValue(in[2], b)) || + (! in.GetValue(in[3], m.a())) + ) + { + return false; + } + m.r() = r / 255.0; + m.g() = g / 255.0; + m.b() = b / 255.0; + return true; + } + #endif + FUNCTION(MaterialSolid,setAmbient) { *************** *** 67,70 **** --- 90,107 ---- } + #if 0 + FUNCTION(MaterialSolid,setDiffuseVal) + { + RGBA m; + if (! readRGBAVal(in,m)) + { + return false; + } + + obj->SetDiffuse(m); + return true; + } + #endif + FUNCTION(MaterialSolid,setSpecular) { *************** *** 91,94 **** --- 128,161 ---- } + FUNCTION(MaterialSolid,setDepthCheck) + { + bool depthCheck; + if ( + (in.GetSize() == 0) || + (! in.GetValue(in[0], depthCheck)) + ) + { + return false; + } + + obj->SetDepthCheck(depthCheck); + return true; + } + + FUNCTION(MaterialSolid,setShininess) + { + float val; + if ( + (in.GetSize() == 0) || + (! in.GetValue(in[0], val)) + ) + { + return false; + } + + obj->SetShininess(val); + return true; + } + void CLASS(MaterialSolid)::DefineClass() { *************** *** 96,100 **** --- 163,170 ---- DEFINE_FUNCTION(setAmbient); DEFINE_FUNCTION(setDiffuse); + // DEFINE_FUNCTION(setDiffuseVal); DEFINE_FUNCTION(setSpecular); DEFINE_FUNCTION(setEmission); + DEFINE_FUNCTION(setDepthCheck); + DEFINE_FUNCTION(setShininess); } |
|
From: Oliver O. <fr...@us...> - 2007-06-01 12:59:44
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8755 Modified Files: Tag: projectx materialsolid.cpp Log Message: - added a flag and methods indicating if depth checks for the material should be enabled - added a value and methods for the shininess of a material Index: materialsolid.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/materialserver/materialsolid.cpp,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.1.2.1 diff -C2 -d -r1.2.2.1 -r1.2.2.1.2.1 *** materialsolid.cpp 23 Feb 2007 19:21:09 -0000 1.2.2.1 --- materialsolid.cpp 1 Jun 2007 12:59:41 -0000 1.2.2.1.2.1 *************** *** 1,5 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University --- 1,5 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University *************** *** 35,39 **** mDiffuse(1.0f,1.0f,1.0f,1.0f), mSpecular(0.0f,0.0f,0.0f,1.0f), ! mEmission(0.0f,0.0f,0.0f,1.0f) { } --- 35,41 ---- mDiffuse(1.0f,1.0f,1.0f,1.0f), mSpecular(0.0f,0.0f,0.0f,1.0f), ! mEmission(0.0f,0.0f,0.0f,1.0f), ! mDepthCheck(true), ! mShininess(128.0f) { } *************** *** 101,109 **** } ! const RGBA& MaterialSolid::GetEmission() const { return mEmission; } --- 103,133 ---- } ! const RGBA& ! MaterialSolid::GetEmission() const { return mEmission; } + bool + MaterialSolid::DepthCheck() const + { + return mDepthCheck; + } + + void + MaterialSolid::SetDepthCheck(bool depthCheck) + { + mDepthCheck = depthCheck; + } + void + MaterialSolid::SetShininess(float val) + { + mShininess = val; + } + float + MaterialSolid::GetShininess() const + { + return mShininess; + } |
|
From: Oliver O. <fr...@us...> - 2007-06-01 12:58:23
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8302 Modified Files: Tag: projectx materialsolid.h Log Message: - added a flag and methods indicating if depth checks for the material should be enabled - added a value and methods for the shininess of a material Index: materialsolid.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/materialserver/materialsolid.h,v retrieving revision 1.2 retrieving revision 1.2.4.1 diff -C2 -d -r1.2 -r1.2.4.1 *** materialsolid.h 18 Feb 2006 19:41:48 -0000 1.2 --- materialsolid.h 1 Jun 2007 12:58:19 -0000 1.2.4.1 *************** *** 1,5 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University --- 1,5 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University *************** *** 64,67 **** --- 64,88 ---- const RGBA& GetEmission() const; + /** a hint for the graphics engine if the depth-buffer should be checked + for this material or not. + @returns true if the depth-check should be enabled for this material + */ + bool DepthCheck() const; + + //! set the flag if the depth-buffer should be checked. + void SetDepthCheck(bool depthCheck); + + /** Set the shininess of the material. + When specular light is reflected, this value determines the size of + the region that appears shiny. + @param val + */ + void SetShininess(float val); + + /** get the shininess of the material. + @return a value representing the shininess. + */ + float GetShininess() const; + protected: /** sets up all lighting material properties */ *************** *** 83,86 **** --- 104,114 ---- /** the emitted light intensity of the material */ RGBA mEmission; + + //! flag if depth-buffer should be checked + bool mDepthCheck; + + //! value for the size of the reflecting region + float mShininess; + }; |
|
From: Oliver O. <fr...@us...> - 2007-06-01 12:51:14
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv5330 Modified Files: Tag: projectx materialserver.cpp Log Message: - added log messages / changed comments Index: materialserver.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/materialserver/materialserver.cpp,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** materialserver.cpp 8 May 2007 03:26:48 -0000 1.2.4.1 --- materialserver.cpp 1 Jun 2007 12:51:03 -0000 1.2.4.2 *************** *** 1,22 **** /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of rcssserver3D ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "materialserver.h" --- 1,22 ---- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- ! this file is part of simspark ! Fri May 9 2003 ! Copyright (C) 2002,2003 Koblenz University ! Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group ! $Id$ ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; version 2 of the License. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "materialserver.h" *************** *** 115,118 **** --- 115,119 ---- MaterialServer::ExportAllMaterial() { + GetLog()->Debug() << "(MaterialServer) ExportAllMaterial\n"; TLeafList materials; ListChildrenSupportingClass<Material>(materials); *************** *** 123,126 **** --- 124,128 ---- ExportMaterial(m); } + GetLog()->Debug() << "(MaterialServer) ExportAllMaterial done\n"; } |