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: Oliver O. <fr...@us...> - 2007-06-17 13:38:43
|
Update of /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/plugin/rubysceneimporter Modified Files: rubysceneimporter.cpp rubysceneimporter.h Log Message: merge from projectx branch Index: rubysceneimporter.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter/rubysceneimporter.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rubysceneimporter.h 17 May 2007 17:49:23 -0000 1.4 --- rubysceneimporter.h 17 Jun 2007 13:38:38 -0000 1.5 *************** *** 57,60 **** --- 57,63 ---- typedef std::list<ParamEnv> TParameterStack; + //! mapping from abbreviations to key words + typedef std::map<std::string, std::string> TTranslationTable; + public: RubySceneImporter(); *************** *** 106,109 **** --- 109,117 ---- ParamEnv& GetParamEnv(); + void InitTranslationTable(); + + std::string Lookup(const std::string& key); + + protected: /** true if a scene is automatically unlinked before a new scene *************** *** 128,131 **** --- 136,142 ---- /** a stack of parameter environments */ TParameterStack mParameterStack; + + /** the abbreviaton table */ + TTranslationTable mTranslationTable; }; Index: rubysceneimporter.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter/rubysceneimporter.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rubysceneimporter.cpp 17 May 2007 17:49:23 -0000 1.4 --- rubysceneimporter.cpp 17 Jun 2007 13:38:38 -0000 1.5 *************** *** 76,79 **** --- 76,81 ---- mAutoUnlink = false; mUpdateSceneDict = false; + + InitTranslationTable(); } *************** *** 87,91 **** } ! void RubySceneImporter::EnableSceneDictionary(bool enable) { mUpdateSceneDict = enable; --- 89,126 ---- } ! void ! RubySceneImporter::InitTranslationTable() ! { ! mTranslationTable.clear(); ! ! // ! mTranslationTable["nd"] = S_NODE; ! mTranslationTable["sel"] = S_SELECT; ! mTranslationTable["pwd"] = S_PWD; ! mTranslationTable["templ"] = S_TEMPLATE; ! mTranslationTable["def"] = S_DEFINE; ! mTranslationTable["att"] = S_ATTACH; ! mTranslationTable["RDS"] = S_DELTASCENE; ! mTranslationTable["RSG"] = S_SCENEGRAPH; ! mTranslationTable["SLT"] = "setLocalTransform"; ! } ! ! ! string RubySceneImporter::Lookup(const std::string& key) ! { ! return ((mTranslationTable.find(key) != mTranslationTable.end()) ? ! mTranslationTable[key] : key); ! // if (mTranslationTable.find(key) != mTranslationTable.end()) ! // { ! // return mTranslationTable[key]; ! // } else { ! // GetLog()->Debug() << "DEBUG: " << key << " not in TranslationTable\n"; ! // return key; ! // } ! } ! ! ! void ! RubySceneImporter::EnableSceneDictionary(bool enable) { mUpdateSceneDict = enable; *************** *** 235,241 **** return false; } ! ! string val(sexp->val); ! mDeltaScene = false; if (val == S_DELTASCENE) --- 270,276 ---- return false; } ! ! string val = Lookup(string(sexp->val)); ! mDeltaScene = false; if (val == S_DELTASCENE) *************** *** 319,323 **** } ! string className(sexp->val); // create a class instance --- 354,358 ---- } ! string className(Lookup(sexp->val)); // create a class instance *************** *** 421,425 **** } ! string pred = sexp->val; if (pred != "eval") { --- 456,460 ---- } ! string pred = Lookup(sexp->val); if (pred != "eval") { *************** *** 439,443 **** if (sexp->ty == SEXP_VALUE) { ! atom = sexp->val; if ( (atom[0] == '$') && --- 474,478 ---- if (sexp->ty == SEXP_VALUE) { ! atom = sexp->val; //todo: use TranslationTable here? if ( (atom[0] == '$') && *************** *** 580,584 **** // read the method name ! string method = sexp->val; sexp = sexp->next; --- 615,619 ---- // read the method name ! string method = Lookup(sexp->val); sexp = sexp->next; *************** *** 601,605 **** } else { ! param = sexp->val; if ( --- 636,640 ---- } else { ! param = sexp->val; //Todo: use TranslationTable here? if ( *************** *** 622,626 **** bool RubySceneImporter::ParseDefine(sexp_t* sexp) { ! string varname = sexp->val; sexp = sexp->next; --- 657,661 ---- bool RubySceneImporter::ParseDefine(sexp_t* sexp) { ! string varname = sexp->val; //Todo: use TranslationTable here? sexp = sexp->next; *************** *** 705,709 **** ) { ! string param = sexp->val; if (param.size() == 0) --- 740,744 ---- ) { ! string param = sexp->val; //todo: use abbrevTable here? if (param.size() == 0) *************** *** 754,759 **** case SEXP_VALUE: { - string name(sexp->val); if (name == S_NODE) { --- 789,795 ---- case SEXP_VALUE: { + string name = Lookup(string(sexp->val)); + if (name == S_NODE) { *************** *** 780,784 **** if ( (sub->ty == SEXP_VALUE) && ! (string(sub->val) == S_NODE) ) { --- 816,820 ---- if ( (sub->ty == SEXP_VALUE) && ! (Lookup(string(sub->val)) == S_NODE) ) { *************** *** 817,822 **** case SEXP_VALUE: { ! string name(sexp->val); ! if (name == S_NODE) { --- 853,859 ---- case SEXP_VALUE: { ! ! string name = Lookup(string(sexp->val)); ! if (name == S_NODE) { *************** *** 835,839 **** { sexp = sexp->next; ! string name(sexp->val); shared_ptr<BaseNode> node = --- 872,876 ---- { sexp = sexp->next; ! string name(sexp->val); //todo: use abbrevTable here? shared_ptr<BaseNode> node = |
From: Oliver O. <fr...@us...> - 2007-06-17 13:38:43
|
Update of /cvsroot/simspark/simspark/spark/plugin/rosimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/plugin/rosimporter Added Files: .cvsignore Log Message: merge from projectx branch --- NEW FILE: .cvsignore --- *.la *.lo .deps .dirstamp .libs Makefile Makefile.in |
From: Oliver O. <fr...@us...> - 2007-06-17 13:38:43
|
Update of /cvsroot/simspark/simspark/spark/plugin/openglsyssdl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/plugin/openglsyssdl Added Files: .cvsignore Log Message: merge from projectx branch --- NEW FILE: .cvsignore --- *.la *.lo .deps .dirstamp .libs Makefile Makefile.in |
From: Oliver O. <fr...@us...> - 2007-06-17 13:38:43
|
Update of /cvsroot/simspark/simspark/spark/plugin/objimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/plugin/objimporter Added Files: .cvsignore Makefile.am export.cpp objimporter.cpp objimporter.h objimporter_c.cpp Log Message: merge from projectx branch --- 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.2 2007/06/17 13:38:35 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() * 3); 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)); } --- 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-17 13:38:43
|
Update of /cvsroot/simspark/simspark/spark/win32 In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/win32 Added Files: sparkconfig.h Log Message: merge from projectx branch --- NEW FILE: sparkconfig.h --- /** this is a static (i.e. not auto generated) win32 specific configuration file */ #define HAVE_KEROSIN_KEROSIN_H 1 #define PACKAGE_NAME "simspark" #define HAVE_WINSOCK2_H 1 #define HAVE_SOCKET 1 #define HAVE_SOCKETTYPE 1 |
From: Oliver O. <fr...@us...> - 2007-06-17 13:38:37
|
Update of /cvsroot/simspark/simspark/spark/macosX In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/macosX Added Files: .cvsignore Log Message: merge from projectx branch --- NEW FILE: .cvsignore --- libSDLmain.a SDLMain.o |
From: Oliver O. <fr...@us...> - 2007-06-17 13:38:36
|
Update of /cvsroot/simspark/simspark/spark/plugin In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21072/plugin Added Files: .cvsignore Log Message: merge from projectx branch --- NEW FILE: .cvsignore --- .dirstamp Makefile Makefile.in |
From: Oliver O. <fr...@us...> - 2007-06-17 12:35:48
|
Update of /cvsroot/simspark/simspark/spark/utility/libobj In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28210/libobj Added Files: .cvsignore Log Message: merge from projectx --- NEW FILE: .cvsignore --- *.la *.lo .deps .dirstamp .libs Makefile Makefile.in |
From: Oliver O. <fr...@us...> - 2007-06-17 12:35:48
|
Update of /cvsroot/simspark/simspark/spark/utility/rcssnet In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28210/rcssnet Modified Files: addr.cpp exception.cpp socket.cpp socket.hpp tcpsocket.cpp udpsocket.cpp Log Message: merge from projectx Index: tcpsocket.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/tcpsocket.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tcpsocket.cpp 15 Mar 2007 07:26:30 -0000 1.2 --- tcpsocket.cpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 21,26 **** #include "tcpsocket.hpp" ! #ifdef HAVE_CONFIG_H ! #include <config.h> #endif --- 21,26 ---- #include "tcpsocket.hpp" ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif Index: socket.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/socket.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** socket.cpp 15 Mar 2007 07:26:30 -0000 1.2 --- socket.cpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 19,24 **** #include "socket.hpp" ! #ifdef HAVE_CONFIG_H ! #include "config.h" #endif --- 19,24 ---- #include "socket.hpp" ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif Index: addr.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/addr.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** addr.cpp 15 Mar 2007 07:26:30 -0000 1.2 --- addr.cpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 21,26 **** #include "addr.hpp" ! #ifdef HAVE_CONFIG_H ! #include "config.h" #endif --- 21,26 ---- #include "addr.hpp" ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif Index: socket.hpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/socket.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** socket.hpp 15 Mar 2007 07:26:30 -0000 1.2 --- socket.hpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 22,27 **** #define RCSS_NET_SOCKET_HPP ! #ifdef HAVE_CONFIG_H ! #include <config.h> #endif --- 22,27 ---- #define RCSS_NET_SOCKET_HPP ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif Index: udpsocket.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/udpsocket.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** udpsocket.cpp 15 Mar 2007 07:26:30 -0000 1.2 --- udpsocket.cpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 21,26 **** #include "udpsocket.hpp" ! #ifdef HAVE_CONFIG_H ! #include "config.h" #endif --- 21,26 ---- #include "udpsocket.hpp" ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif Index: exception.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/rcssnet/exception.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** exception.cpp 15 Mar 2007 07:26:30 -0000 1.2 --- exception.cpp 17 Jun 2007 12:35:31 -0000 1.3 *************** *** 19,24 **** ***************************************************************************/ ! #ifdef HAVE_CONFIG_H ! #include "config.h" #endif --- 19,24 ---- ***************************************************************************/ ! #if HAVE_CONFIG_H ! #include <sparkconfig.h> #endif |
From: Oliver O. <fr...@us...> - 2007-06-17 12:35:48
|
Update of /cvsroot/simspark/simspark/spark/utility/tinyxml In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28210/tinyxml Added Files: .cvsignore Log Message: merge from projectx --- NEW FILE: .cvsignore --- *.la *.lo .deps .dirstamp .libs Makefile Makefile.in |
From: Oliver O. <fr...@us...> - 2007-06-17 12:20:24
|
Update of /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15262 Modified Files: Tag: projectx rubysceneimporter.cpp rubysceneimporter.h rubysceneimporter_c.cpp Log Message: merged from HEAD Index: rubysceneimporter.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter/rubysceneimporter.h,v retrieving revision 1.2.2.2 retrieving revision 1.2.2.2.2.1 diff -C2 -d -r1.2.2.2 -r1.2.2.2.2.1 *** rubysceneimporter.h 14 Feb 2007 12:34:09 -0000 1.2.2.2 --- rubysceneimporter.h 17 Jun 2007 12:03:00 -0000 1.2.2.2.2.1 *************** *** 57,60 **** --- 57,63 ---- typedef std::list<ParamEnv> TParameterStack; + //! mapping from abbreviations to key words + typedef std::map<std::string, std::string> TTranslationTable; + public: RubySceneImporter(); *************** *** 76,79 **** --- 79,85 ---- void SetUnlinkOnCompleteScenes(bool unlink); + /** registers all created nodes in the RubySceneDict */ + void EnableSceneDictionary(bool enable); + protected: virtual bool ParseScene(const char* scene, int size, *************** *** 103,106 **** --- 109,117 ---- ParamEnv& GetParamEnv(); + void InitTranslationTable(); + + std::string Lookup(const std::string& key); + + protected: /** true if a scene is automatically unlinked before a new scene *************** *** 111,114 **** --- 122,128 ---- bool mDeltaScene; + /** true, if all created nodes are registered in the RubySceneDict */ + bool mUpdateSceneDict; + /** the major version of the scen graph file */ int mVersionMajor; *************** *** 122,125 **** --- 136,142 ---- /** a stack of parameter environments */ TParameterStack mParameterStack; + + /** the abbreviaton table */ + TTranslationTable mTranslationTable; }; Index: rubysceneimporter.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter/rubysceneimporter.cpp,v retrieving revision 1.2.2.3 retrieving revision 1.2.2.3.2.1 diff -C2 -d -r1.2.2.3 -r1.2.2.3.2.1 *** rubysceneimporter.cpp 18 Feb 2007 12:05:52 -0000 1.2.2.3 --- rubysceneimporter.cpp 17 Jun 2007 12:03:00 -0000 1.2.2.3.2.1 *************** *** 25,28 **** --- 25,29 ---- #include <zeitgeist/scriptserver/scriptserver.h> #include <oxygen/sceneserver/transform.h> + #include <oxygen/sceneserver/scenedict.h> #include <boost/scoped_array.hpp> *************** *** 74,77 **** --- 75,81 ---- mDeltaScene = false; mAutoUnlink = false; + mUpdateSceneDict = false; + + InitTranslationTable(); } *************** *** 85,88 **** --- 89,130 ---- } + void + RubySceneImporter::InitTranslationTable() + { + mTranslationTable.clear(); + + // + mTranslationTable["nd"] = S_NODE; + mTranslationTable["sel"] = S_SELECT; + mTranslationTable["pwd"] = S_PWD; + mTranslationTable["templ"] = S_TEMPLATE; + mTranslationTable["def"] = S_DEFINE; + mTranslationTable["att"] = S_ATTACH; + mTranslationTable["RDS"] = S_DELTASCENE; + mTranslationTable["RSG"] = S_SCENEGRAPH; + mTranslationTable["SLT"] = "setLocalTransform"; + } + + + string RubySceneImporter::Lookup(const std::string& key) + { + return ((mTranslationTable.find(key) != mTranslationTable.end()) ? + mTranslationTable[key] : key); + // if (mTranslationTable.find(key) != mTranslationTable.end()) + // { + // return mTranslationTable[key]; + // } else { + // GetLog()->Debug() << "DEBUG: " << key << " not in TranslationTable\n"; + // return key; + // } + } + + + void + RubySceneImporter::EnableSceneDictionary(bool enable) + { + mUpdateSceneDict = enable; + } + bool RubySceneImporter::ImportScene(const std::string& fileName, shared_ptr<BaseNode> root, *************** *** 99,102 **** --- 141,145 ---- } + std::string oldFileName = mFileName; mFileName = fileName; *************** *** 106,110 **** buffer[file->Size()] = 0; ! return ParseScene(buffer.get(), file->Size(), root, parameter); } --- 149,156 ---- buffer[file->Size()] = 0; ! bool ok = ParseScene(buffer.get(), file->Size(), root, parameter); ! mFileName = oldFileName; ! ! return ok; } *************** *** 144,147 **** --- 190,203 ---- sexp = iparse_sexp(const_cast<char*>(scene),size,pcont); + if (sexp == 0) + { + GetLog()->Error() + << "(RubySceneImporter) ERROR: failed to parse S-Expressions. " + << "Last read line was " << pcont->line << "\n"; + root->UnlinkChildren(); + return false; + + } + if ( (! mDeltaScene) && *************** *** 214,220 **** return false; } ! ! string val(sexp->val); ! mDeltaScene = false; if (val == S_DELTASCENE) --- 270,276 ---- return false; } ! ! string val = Lookup(string(sexp->val)); ! mDeltaScene = false; if (val == S_DELTASCENE) *************** *** 298,302 **** } ! string className(sexp->val); // create a class instance --- 354,358 ---- } ! string className(Lookup(sexp->val)); // create a class instance *************** *** 322,325 **** --- 378,390 ---- } + if ( + (mUpdateSceneDict) && + (mSceneDict != 0) + ) + { + mSceneDict->Insert + (node, SceneDict::FileRef(mFileName,sexp->line)); + } + return node; } *************** *** 391,395 **** } ! string pred = sexp->val; if (pred != "eval") { --- 456,460 ---- } ! string pred = Lookup(sexp->val); if (pred != "eval") { *************** *** 409,413 **** if (sexp->ty == SEXP_VALUE) { ! atom = sexp->val; if ( (atom[0] == '$') && --- 474,478 ---- if (sexp->ty == SEXP_VALUE) { ! atom = sexp->val; //todo: use TranslationTable here? if ( (atom[0] == '$') && *************** *** 550,554 **** // read the method name ! string method = sexp->val; sexp = sexp->next; --- 615,619 ---- // read the method name ! string method = Lookup(sexp->val); sexp = sexp->next; *************** *** 571,575 **** } else { ! param = sexp->val; if ( --- 636,640 ---- } else { ! param = sexp->val; //Todo: use TranslationTable here? if ( *************** *** 592,596 **** bool RubySceneImporter::ParseDefine(sexp_t* sexp) { ! string varname = sexp->val; sexp = sexp->next; --- 657,661 ---- bool RubySceneImporter::ParseDefine(sexp_t* sexp) { ! string varname = sexp->val; //Todo: use TranslationTable here? sexp = sexp->next; *************** *** 675,679 **** ) { ! string param = sexp->val; if (param.size() == 0) --- 740,744 ---- ) { ! string param = sexp->val; //todo: use abbrevTable here? if (param.size() == 0) *************** *** 724,729 **** case SEXP_VALUE: { - string name(sexp->val); if (name == S_NODE) { --- 789,795 ---- case SEXP_VALUE: { + string name = Lookup(string(sexp->val)); + if (name == S_NODE) { *************** *** 750,754 **** if ( (sub->ty == SEXP_VALUE) && ! (string(sub->val) == S_NODE) ) { --- 816,820 ---- if ( (sub->ty == SEXP_VALUE) && ! (Lookup(string(sub->val)) == S_NODE) ) { *************** *** 787,792 **** case SEXP_VALUE: { ! string name(sexp->val); ! if (name == S_NODE) { --- 853,859 ---- case SEXP_VALUE: { ! ! string name = Lookup(string(sexp->val)); ! if (name == S_NODE) { *************** *** 805,809 **** { sexp = sexp->next; ! string name(sexp->val); shared_ptr<BaseNode> node = --- 872,876 ---- { sexp = sexp->next; ! string name(sexp->val); //todo: use abbrevTable here? shared_ptr<BaseNode> node = Index: rubysceneimporter_c.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rubysceneimporter/rubysceneimporter_c.cpp,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** rubysceneimporter_c.cpp 13 Dec 2005 21:48:50 -0000 1.1 --- rubysceneimporter_c.cpp 17 Jun 2007 12:03:00 -0000 1.1.4.1 *************** *** 23,26 **** --- 23,42 ---- #include "rubysceneimporter.h" + FUNCTION(RubySceneImporter,enableSceneDictionary) + { + bool enable; + + if ( + (in.GetSize() != 1) || + (! in.GetValue(in[0], enable)) + ) + { + return false; + } + + obj->EnableSceneDictionary(enable); + return true; + } + FUNCTION(RubySceneImporter,setUnlinkOnCompleteScenes) { *************** *** 43,46 **** --- 59,63 ---- DEFINE_BASECLASS(oxygen/SceneImporter); DEFINE_FUNCTION(setUnlinkOnCompleteScenes); + DEFINE_FUNCTION(enableSceneDictionary); } |
From: Oliver O. <fr...@us...> - 2007-06-17 12:19:11
|
Update of /cvsroot/simspark/simspark/spark/utility/sfsexp In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv14820 Modified Files: Tag: projectx parser.c sexp.c sexp.h sexp_ops.c Log Message: merged from HEAD Index: sexp.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/sfsexp/sexp.h,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** sexp.h 19 Dec 2005 19:13:30 -0000 1.1 --- sexp.h 17 Jun 2007 12:01:44 -0000 1.1.4.1 *************** *** 291,294 **** --- 291,299 ---- */ unsigned int binlength; + + /** + * The line number of the element start + */ + unsigned int line; } sexp_t; *************** *** 462,465 **** --- 467,475 ---- */ char *bindata; + + /** + * The current line number, i.e. the number of \n seen + */ + unsigned int line; } pcont_t; Index: parser.c =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/sfsexp/parser.c,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** parser.c 19 Dec 2005 19:13:30 -0000 1.1 --- parser.c 17 Jun 2007 12:01:44 -0000 1.1.4.1 *************** *** 330,333 **** --- 330,334 ---- cc->qdepth = 0; cc->squoted = 0; + cc->line = 1; return cc; *************** *** 458,461 **** --- 459,464 ---- t = s; cc->sbuffer = str; + + cc->line = 1; } *************** *** 487,490 **** --- 490,497 ---- /* space,tab,CR,LF considered white space */ case '\n': + cc->line++; + t++; + break; + case ' ': case '\t': *************** *** 567,571 **** sx->next = NULL; sx->list = NULL; ! if (stack->height < 1) { --- 574,579 ---- sx->next = NULL; sx->list = NULL; ! sx->line = cc->line; ! if (stack->height < 1) { *************** *** 707,711 **** sx->val_allocated = val_allocated; sx->val_used = val_used; ! sx->next = NULL; if (squoted != 0) sx->aty = SEXP_SQUOTE; --- 715,721 ---- sx->val_allocated = val_allocated; sx->val_used = val_used; ! sx->next = NULL; ! sx->line = cc->line; ! if (squoted != 0) sx->aty = SEXP_SQUOTE; *************** *** 837,841 **** sx->val_used = val_used; sx->val_allocated = val_allocated; ! sx->next = NULL; if (squoted == 1) { --- 847,852 ---- sx->val_used = val_used; sx->val_allocated = val_allocated; ! sx->next = NULL; ! sx->line = cc->line; if (squoted == 1) { *************** *** 993,996 **** --- 1004,1008 ---- sx->next = NULL; sx->aty = SEXP_SQUOTE; + sx->line = cc->line; val = (char *)malloc(sizeof(char)*sexp_val_start_size); *************** *** 1060,1063 **** --- 1072,1076 ---- case 11: if (t[0] == '\n') { + cc->line++; state = 1; } *************** *** 1161,1164 **** --- 1174,1178 ---- sx->next = NULL; sx->aty = SEXP_BINARY; + sx->line = cc->line; bindata = NULL; Index: sexp_ops.c =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/sfsexp/sexp_ops.c,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** sexp_ops.c 19 Dec 2005 19:13:30 -0000 1.1 --- sexp_ops.c 17 Jun 2007 12:01:44 -0000 1.1.4.1 *************** *** 146,150 **** snew->list = copy_sexp(s->list); } ! snew->next = copy_sexp(s->next); --- 146,151 ---- snew->list = copy_sexp(s->list); } ! ! snew->line = s->line; snew->next = copy_sexp(s->next); *************** *** 257,260 **** --- 258,262 ---- cd->next = NULL; cd->list = copy_sexp(s->list->next); + cd->line = s->line; return cd; } Index: sexp.c =================================================================== RCS file: /cvsroot/simspark/simspark/spark/utility/sfsexp/sexp.c,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.1.2.1 diff -C2 -d -r1.1.2.1 -r1.1.2.1.2.1 *** sexp.c 9 Feb 2007 16:15:16 -0000 1.1.2.1 --- sexp.c 17 Jun 2007 12:01:44 -0000 1.1.2.1.2.1 *************** *** 96,99 **** --- 96,100 ---- fakehead->next = NULL; /* this is the important part of fakehead */ fakehead->aty = sx->aty; + fakehead->line = 0; if (fakehead->ty == SEXP_VALUE) { *************** *** 496,499 **** --- 497,502 ---- sx->list = sx->next = NULL; + sx->line = 0; + return sx; } |
From: Oliver O. <fr...@us...> - 2007-06-17 12:18:45
|
Update of /cvsroot/simspark/simspark/spark In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv21501 Modified Files: Tag: projectx ChangeLog Log Message: *** empty log message *** Index: ChangeLog =================================================================== RCS file: /cvsroot/simspark/simspark/spark/ChangeLog,v retrieving revision 1.1.2.2.2.4 retrieving revision 1.1.2.2.2.5 diff -C2 -d -r1.1.2.2.2.4 -r1.1.2.2.2.5 *** ChangeLog 8 May 2007 03:44:59 -0000 1.1.2.2.2.4 --- ChangeLog 17 Jun 2007 12:18:40 -0000 1.1.2.2.2.5 *************** *** 1,3 **** ! 2007-05-08 Oliver Obst <fr...@us...> * kerosin/Makefile.am: --- 1,165 ---- ! 2007-06-17 Oliver Obst <fr...@us...> ! ! * acinclude.m4: ! - added check for boost thread lib ! * spark/spark.h: ! - added compiler warning for compiling without kerosin ! * plugin/inputsdl/inputsystemsdl.cpp: ! - some SDL fixes for MacOS ! * plugin/objimporter/objimporter.cpp: ! - fixed a constant (number of faces) ! * kerosin/materialserver/materialexternal_c.cpp: ! * kerosin/materialserver/materialexternal.cpp: ! * kerosin/materialserver/materialexternal.h: ! - added materialexternal ! * kerosin/Makefile.am: ! - added materialexternal ! - finally removed glextensionreg stuff ! * kerosin/kerosin-config.in: ! - added extra framework flags for Darwin (MacOS) ! * kerosin/kerosin.h: ! * kerosin/kerosin.cpp: ! - added materialexternal ! * kerosin/kerosin.rb: ! - changed application title to SimSpark ! * kerosin/inputserver/inputserver.cpp: ! - added debug code (not compiled by default) ! * kerosin/materialserver/material2dtexture.cpp: ! * kerosin/materialserver/material2dtexture.h: ! - added methods to access names of the different textures used ! * kerosin/openglserver/openglserver.cpp: ! * kerosin/openglserver/openglserver.h: ! - added method IsGLLocked(), to access the same method from the GL subsystem ! * kerosin/openglserver/openglsystem.h: ! - added virtual method IsGLLocked(), ! used to indicate that the GL System wants to prevent direct GL access by other classes ! * kerosin/openglserver/openglwrapper.h: ! - for MacOS (at least), glu is needed, too. ! * kerosin/renderserver/renderserver.cpp: ! * kerosin/renderserver/renderserver.h: ! - merged from HEAD ! - added methods to deliver Width() and Height() of current view ! - added method to copy current view into a buffer ! * kerosin/sceneserver/staticmesh.h: ! * kerosin/sceneserver/staticmesh.cpp: ! - added method to set flag if an external mesh should be used (for external GE) ! - added method to set external mesh name (for external GE) ! - added method to set external mesh scale ! * kerosin/sceneserver/staticmesh_c.cpp: ! - fixed bug with setting the scale of staticmesh ! - added method to set flag if an external mesh should be used (for external GE) ! - added method to set external mesh name (for external GE) ! - added method to set external mesh scale ! * kerosin/textureserver/texture.cpp: ! - added flag to constructor if gL methods should be used ! - access OpenGL only if GL is not "locked" (based on the flag used during construction) ! * kerosin/textureserver/texture.h: ! * kerosin/textureserver/texture2d.cpp: ! * kerosin/textureserver/texture2d.h: ! - added flag to constructor if GL methods should be used ! * kerosin/textureserver/textureserver.cpp: ! - call Texture constructors with a flag if GL methods should be used or not ! * kerosin/textureserver/textureserver.h: ! - removed method to access reference to GLServer ! * zeitgeist/scriptserver/scriptserver.h: ! - added script error type for (not initialized) ! * kerosin/inputserver/inputcontrol.cpp: ! * kerosin/inputserver/inputcontrol.h: ! * salt/matrix.cpp: ! * salt/matrix.h: ! * kerosin/sceneserver/axis.cpp: ! * kerosin/sceneserver/axis.h: ! * oxygen/Makefile.am: ! * oxygen/geometryserver/geometryserver.cpp: ! * oxygen/physicsserver/body.cpp: ! * oxygen/physicsserver/body.h: ! * oxygen/physicsserver/collider.cpp: ! * oxygen/physicsserver/collider.h: ! * oxygen/physicsserver/hingejoint.cpp: ! * oxygen/physicsserver/hingejoint.h: ! * oxygen/physicsserver/odeobject.cpp: ! * oxygen/physicsserver/odeobject.h: ! * oxygen/physicsserver/space.cpp: ! * oxygen/physicsserver/space.h: ! * oxygen/physicsserver/universaljoint.cpp: ! * oxygen/physicsserver/universaljoint.h: ! * oxygen/sceneserver/basenode.cpp: ! * oxygen/sceneserver/basenode.h: ! * oxygen/sceneserver/fpscontroller.cpp: ! * oxygen/sceneserver/fpscontroller.h: ! * oxygen/sceneserver/scenedict.cpp: ! * oxygen/sceneserver/scenedict.h: ! * oxygen/sceneserver/sceneimporter.h: ! * oxygen/sceneserver/sceneserver.cpp: ! * oxygen/sceneserver/transform.h: ! * oxygen/simulationserver/simulationserver_c.cpp: ! * oxygen/simulationserver/simulationserver.cpp: ! * oxygen/simulationserver/simulationserver.h: ! * oxygen/simulationserver/netmessage.cpp: ! * zeitgeist/leaf.h: ! - merge from HEAD ! ! 2007-06-04 Oliver Obst <fr...@us...> ! ! * plugin/voidmeshimporter/Makefile.am: ! * plugin/voidmeshimporter/voidmeshimporter.cpp: ! * plugin/voidmeshimporter/voidmeshimporter.h: ! * plugin/voidmeshimporter/voidmeshimporter_c.cpp: ! * plugin/voidmeshimporter/export.cpp: ! - copied voidmeshimporter from rcssserver3D CVS ! ! 2007-06-01 Oliver Obst <fr...@us...> ! ! * zeitgeist/class.h: ! removed using hash_map from class (always using STL map) ! ! * kerosin/renderserver/baserenderserver.h: ! - added virtual methods to get the width, the height, and the ! contents of the current screen ! ! * kerosin/openglserver/openglserver.h: ! * kerosin/openglserver/openglserver.cpp: ! - replaced GetWindowHandleStr() by GetWindowHandle() (suggested by Markus) ! ! * kerosin/materialserver/materialsolid_c.cpp: ! * kerosin/materialserver/materialsolid.cpp: ! * kerosin/materialserver/materialsolid.h: ! - 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 ! ! * kerosin/materialserver/materialserver.cpp: ! - added log messages / changed comments ! * kerosin/inputserver/inputserver.cpp: ! - whitespace changes ! ! * kerosin/inputserver/inputcontrol.cpp: ! - stopping the FPSController handle being reset during update ! ! * oxygen/agentaspect/agentaspect.cpp: ! * oxygen/agentaspect/agentaspect.h: ! - added agent ID to agentaspect ! ! * oxygen/gamecontrolserver/gamecontrolserver.cpp: ! - call AgentAspect::Init() using the agent id ! ! * oxygen/simulationserver/simulationserver_c.cpp: ! - returning success after calling quit ! (instead of returning an undefined value) ! ! * oxygen/sceneserver/camera.cpp: ! - increased default zfar to 10000 ! ! 2007-05-10 Oliver Obst <fr...@us...> ! ! * kerosin/sceneserver/staticmesh_c.cpp: ! * kerosin/sceneserver/staticmesh.cpp: ! * kerosin/sceneserver/staticmesh.h: ! - added methods to set/getflags if a mesh based object should cast ! shadows. This can be used by the graphics engine to ! disable/enable shadows for specific objects. The default value ! is "enabled" for all mesh based objects. ! ! 2007-05-08 Oliver Obst <fr...@us...> * kerosin/Makefile.am: *************** *** 128,131 **** --- 290,302 ---- - added baserenderserver + 2007-03-15 Oliver Obst <fr...@us...> + + * kerosin/kerosin-config.in: + - workaround for Mac OS included + * zeitgeist/scriptserver/scriptserver.cpp: + - fixed problem with including config.h an Mac OS + + * plugin/inputsdl/keyboardsdl.cpp: fixed bug with eNone enum + 2007-03-07 Oliver Obst <fr...@us...> |
From: Oliver O. <fr...@us...> - 2007-06-17 12:16:51
|
Update of /cvsroot/simspark/simspark/spark In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv17598 Modified Files: Tag: projectx acinclude.m4 Log Message: added check for boost thread lib Index: acinclude.m4 =================================================================== RCS file: /cvsroot/simspark/simspark/spark/acinclude.m4,v retrieving revision 1.4.2.2.2.1 retrieving revision 1.4.2.2.2.2 diff -C2 -d -r1.4.2.2.2.1 -r1.4.2.2.2.2 *** acinclude.m4 7 Mar 2007 10:01:45 -0000 1.4.2.2.2.1 --- acinclude.m4 17 Jun 2007 12:08:34 -0000 1.4.2.2.2.2 *************** *** 466,470 **** # RCSS_BOOST_REGEX([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # --------------------------------------------------------- ! # Checks for the spades library AC_DEFUN([RCSS_BOOST_REGEX], [AS_VAR_PUSHDEF([rcss_boost_regex], [rcss_cv_boost_regex])dnl --- 466,470 ---- # RCSS_BOOST_REGEX([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # --------------------------------------------------------- ! # Checks for the boost library AC_DEFUN([RCSS_BOOST_REGEX], [AS_VAR_PUSHDEF([rcss_boost_regex], [rcss_cv_boost_regex])dnl *************** *** 483,484 **** --- 483,510 ---- ])# RCSS_BOOST_REGEX + # RCSS_BOOST_THREADS_LIB + # --------------------------------------------------------- + # Checks for the boost threads library under various names + # Substitutes: @BOOST_THREADS_LIB@ + AC_DEFUN([RCSS_BOOST_THREADS_LIB], [ + AC_MSG_CHECKING(boost thread library) + AC_LANG_PUSH(C++) + OLD_LDFLAGS="$LDFLAGS" + LDFLAGS="$OLDLDFLAGS -lboost_thread" + AC_LINK_IFELSE([int main() { return 0; }], + [rcss_boost_threads_lib=boost_thread], + [LDFLAGS="$OLDLDFLAGS -lboost_thread-mt" + AC_LINK_IFELSE([int main() { return 0; }], + [rcss_boost_threads_lib=boost_thread-mt], + [ LDFLAGS="$OLDLDFLAGS -lboost_thread-gcc-mt" + AC_LINK_IFELSE([int main() { return 0; }], + [rcss_boost_threads_lib=boost_thread-gcc-mt], + [rcss_boost_threads_lib=]) + ]) + ]) + LDFLAGS="$OLD_LDFLAGS" + AC_LANG_POP(C++) + BOOST_THREADS_LIB=$rcss_boost_threads_lib + AC_MSG_RESULT($rcss_boost_threads_lib) + AC_SUBST(BOOST_THREADS_LIB) + ])# RCSS_BOOST_THREADS_LIBS |
From: Oliver O. <fr...@us...> - 2007-06-17 12:14:03
|
Update of /cvsroot/simspark/simspark/spark/spark In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16560 Modified Files: Tag: projectx spark.h Log Message: added compiler warning for compiling without kerosin Index: spark.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/spark/spark.h,v retrieving revision 1.3.2.1.2.2 retrieving revision 1.3.2.1.2.3 diff -C2 -d -r1.3.2.1.2.2 -r1.3.2.1.2.3 *** spark.h 30 Mar 2007 01:38:42 -0000 1.3.2.1.2.2 --- spark.h 17 Jun 2007 12:06:05 -0000 1.3.2.1.2.3 *************** *** 117,120 **** --- 117,122 ---- /** returns the render control node */ boost::shared_ptr<kerosin::RenderControl> GetRenderControl(); + #else + #warning "Compiling spark with no I/O" #endif |
From: Oliver O. <fr...@us...> - 2007-06-17 11:45:10
|
Update of /cvsroot/simspark/simspark/spark/plugin/inputsdl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8165 Modified Files: Tag: projectx inputsystemsdl.cpp Log Message: some SDL fixes for MacOS Index: inputsystemsdl.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/inputsdl/inputsystemsdl.cpp,v retrieving revision 1.3 retrieving revision 1.3.4.1 diff -C2 -d -r1.3 -r1.3.4.1 *** inputsystemsdl.cpp 8 Jan 2006 14:06:59 -0000 1.3 --- inputsystemsdl.cpp 17 Jun 2007 11:45:06 -0000 1.3.4.1 *************** *** 26,29 **** --- 26,30 ---- #include <zeitgeist/logserver/logserver.h> #include <SDL/SDL_thread.h> + #include <SDL/SDL_syswm.h> #include "timersdl.h" *************** *** 80,89 **** // input is part of the video subsystem (because of event loops, etc..) if (!SDL_WasInit(SDL_INIT_VIDEO)) { ! GetLog()->Error() ! << "ERROR: (InputSystemSDL) SDL not initialized!" ! << std::endl; return false; } // we need a mutex object --- 81,107 ---- // input is part of the video subsystem (because of event loops, etc..) if (!SDL_WasInit(SDL_INIT_VIDEO)) + { + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE) < 0) { ! GetLog()->Error() << "ERROR: (InputSystemSDL) SDL not initialized!\n"; return false; } + SDL_SetVideoMode(0,0,0,0); + static SDL_SysWMinfo pInfo; + SDL_VERSION(&pInfo.version); + SDL_GetWMInfo(&pInfo); + + // Also, SDL keeps an internal record of the window size + // and position. Because SDL does not own the window, it + // missed the WM_POSCHANGED message and has no record of + // either size or position. It defaults to {0, 0, 0, 0}, + // which is then used to trap the mouse "inside the + // window". We have to fake a window-move to allow SDL + // to catch up, after which we can safely grab input. + // RECT r; + // GetWindowRect(pInfo.window, &r); + // SetWindowPos(pInfo.window, 0, r.left, r.top, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + SDL_WM_GrabInput(SDL_GRAB_ON); + } // we need a mutex object *************** *** 177,181 **** bool ret = InputSystem::GetInput(input); SDL_UnlockMutex(mMutex); - return ret; } --- 195,198 ---- |
From: Oliver O. <fr...@us...> - 2007-06-17 11:42:10
|
Update of /cvsroot/simspark/simspark/spark/plugin/objimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7152 Modified Files: Tag: projectx objimporter.cpp Log Message: fixed a constant Index: objimporter.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/objimporter/Attic/objimporter.cpp,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** objimporter.cpp 4 Jun 2007 03:02:14 -0000 1.1.2.1 --- objimporter.cpp 17 Jun 2007 11:42:04 -0000 1.1.2.2 *************** *** 211,215 **** triMesh->AddFace(indeces, materials[0]); ! triMesh->SetPos(posArray, faces.size() * 9); triMesh->SetTexCoords(texArray); triMesh->SetNormals(normArray); --- 211,215 ---- triMesh->AddFace(indeces, materials[0]); ! triMesh->SetPos(posArray, faces.size() * 3); triMesh->SetTexCoords(texArray); triMesh->SetNormals(normArray); |
From: Oliver O. <fr...@us...> - 2007-06-17 11:38:46
|
Update of /cvsroot/simspark/simspark/spark/plugin/rosimporter In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv5788 Modified Files: Tag: projectx roselements.cpp roselements.h rosimporter.cpp rosimporter.h Log Message: merged from HEAD Index: roselements.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/roselements.h,v retrieving revision 1.5 retrieving revision 1.5.4.1 diff -C2 -d -r1.5 -r1.5.4.1 *** roselements.h 23 Feb 2006 13:40:23 -0000 1.5 --- roselements.h 17 Jun 2007 11:38:42 -0000 1.5.4.1 *************** *** 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 { *************** *** 108,113 **** --- 113,123 ---- RE_HINGE, + RE_UNIVERSAL, + RE_SLIDER, RE_ANCHORPOINT, RE_AXIS, + RE_AXIS1, + RE_AXIS2, + RE_DEFLECTION, RE_GLOBALPHYSICALPARAMETERS, *************** *** 120,124 **** 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 retrieving revision 1.5.4.1 diff -C2 -d -r1.5 -r1.5.4.1 *** roselements.cpp 23 Feb 2006 13:40:23 -0000 1.5 --- roselements.cpp 17 Jun 2007 11:38:42 -0000 1.5.4.1 *************** *** 80,85 **** --- 80,90 ---- ROS_DEFINE_ELEMENT(RE_HINGE,"Hinge"); + ROS_DEFINE_ELEMENT(RE_SLIDER,"Slider"); + ROS_DEFINE_ELEMENT(RE_UNIVERSAL,"UniversalJoint"); ROS_DEFINE_ELEMENT(RE_ANCHORPOINT,"AnchorPoint"); ROS_DEFINE_ELEMENT(RE_AXIS,"Axis"); + ROS_DEFINE_ELEMENT(RE_AXIS1,"Axis1"); + ROS_DEFINE_ELEMENT(RE_AXIS2,"Axis2"); + ROS_DEFINE_ELEMENT(RE_DEFLECTION,"Deflection"); ROS_DEFINE_ELEMENT(RE_GLOBALPHYSICALPARAMETERS,"GlobalPhysicalParameters"); *************** *** 94,97 **** --- 99,103 ---- ROS_DEFINE_ELEMENT(RE_COLOR, "Color"); + ROS_DEFINE_ELEMENT(RE_INTERACTIVEBUTTON,"InteractiveButton"); } Index: rosimporter.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/rosimporter.cpp,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.1.2.1 diff -C2 -d -r1.9.2.1 -r1.9.2.1.2.1 *** rosimporter.cpp 28 Feb 2007 08:12:36 -0000 1.9.2.1 --- rosimporter.cpp 17 Jun 2007 11:38:42 -0000 1.9.2.1.2.1 *************** *** 26,29 **** --- 26,30 ---- #include <oxygen/sceneserver/basenode.h> #include <oxygen/sceneserver/transform.h> + #include <oxygen/physicsserver/transformcollider.h> #include <oxygen/physicsserver/boxcollider.h> #include <oxygen/physicsserver/spherecollider.h> *************** *** 32,35 **** --- 33,38 ---- #include <oxygen/physicsserver/body.h> [...1990 lines suppressed...] + if (ja.axis2.setDeflection) + { + universal->SetParameter(dParamLoStop2, ja.axis2.loStop); + universal->SetParameter(dParamHiStop2, ja.axis2.hiStop); + universal->SetParameter(dParamLoStop2, ja.axis2.loStop); + } + + return; + } + + shared_ptr<SliderJoint> slider = shared_dynamic_cast<SliderJoint>(ja.joint); + if (slider.get() != 0) + { + // slider axis is set via parent transform node + // slider->SetAxis(ja.axis1); + return; + } + + assert(false); + } Index: rosimporter.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/plugin/rosimporter/rosimporter.h,v retrieving revision 1.8 retrieving revision 1.8.4.1 diff -C2 -d -r1.8 -r1.8.4.1 *** rosimporter.h 23 Feb 2006 13:40:23 -0000 1.8 --- rosimporter.h 17 Jun 2007 11:38:42 -0000 1.8.4.1 *************** *** 25,28 **** --- 25,29 ---- #include <map> #include <boost/shared_array.hpp> + #include <salt/matrix.h> #include <oxygen/sceneserver/sceneimporter.h> #include <oxygen/geometryserver/trimesh.h> *************** *** 34,40 **** --- 35,43 ---- class BaseNode; class Transform; + class TransformCollider; class ContactJointHandler; class Body; class Transform; + class Joint; } *************** *** 47,75 **** { public: ! enum ENodeContext { ! /** the node is read within a <Elements> tag, where no ! physical bodies are created ! */ ! NC_ELEMENTS, ! /** the node is read within a <Movable> tag or a joint ! node, where physical bodies are created ! */ ! NC_MOVABLE, ! }; ! struct Trans { public: ! salt::Vector3f translate; ! salt::Vector3f rotate; public: ! Trans() ! : translate(0.0, 0.0, 0.0), rotate (0.0, 0.0, 0.0) {} }; struct Appearance { --- 50,154 ---- { public: ! struct Trans ! { ! public: ! salt::Matrix matrix; ! ! public: ! Trans() { ! matrix.Identity(); ! } ! }; ! /** JointAxis describes a single joint axis along with associated ! joint parameters ! */ ! struct JointAxis ! { ! public: ! salt::Vector3f dir; ! //! true, iff loStop and hiStop angle are valid ! bool setDeflection; ! ! //! low stop angle (rad) ! double loStop; ! ! //! high stop angle (rad) ! double hiStop; ! ! public: ! JointAxis() ! : dir(0.0,0.0,0.0), setDeflection(false), ! loStop(0.0), hiStop(0.0) ! { ! } ! }; ! ! /** JointAttach describes how a joint connects two bodies along ! with the associated axis parameters ! */ ! struct JointAttach { public: ! boost::shared_ptr<oxygen::Joint> joint; ! boost::shared_ptr<oxygen::Body> body1; ! boost::shared_ptr<oxygen::Body> body2; ! JointAxis axis1; ! JointAxis axis2; public: ! JointAttach() ! { ! } ! }; ! ! /** RosContext refers to the current Transform parent node that is ! used to construct associated visual, geometric and physical ! nodes. It further describes mass and mass center of composite ! bodies. ! */ ! struct RosContext ! { ! public: ! boost::shared_ptr<oxygen::Transform> transform; ! boost::shared_ptr<oxygen::Body> body; ! bool adjustedPos; ! salt::Vector3f massCenter; ! double totalMass; ! bool movable; ! ! public: ! RosContext() ! : adjustedPos(false), massCenter(0.0,0.0,0.0), ! totalMass(0.0), movable(false) ! { ! } ! ! /** moves the Transform parent node in order to put the Body ! into the mass center of a composite body ! */ ! void AdjustPos(); + /** accumulates mass and adjusts the mass center */ + void AddMass(double mass, const Trans& trans); }; + /** declare a stack of RosContext nodes */ + typedef std::vector<RosContext > TRosStack; + + /** RosJointContext holds the child Body node that is connected to + the Body refered to in the current RosContext + */ + struct RosJointContext + { + boost::shared_ptr<oxygen::Body> body; + }; + + /** declare a stack of RosContext nodes */ + typedef std::vector<RosJointContext> TRosJointStack; + + /** Appearance holds a material definition */ struct Appearance { *************** *** 78,81 **** --- 157,163 ---- }; + /** Physical holds physical properties of the current + RosContext. + */ struct Physical { *************** *** 83,95 **** bool valid; double mass; salt::Vector3f massCenter; public: Physical() ! : valid(false), mass(0.0), massCenter(0.0, 0.0, 0.0) {} }; /** define a registry of macros; a macro is a XML subtree with the ! <Macro> node a the root element */ typedef std::map<std::string, boost::shared_ptr<TiXmlElement> > TMacroMap; --- 165,179 ---- bool valid; double mass; + bool canCollide; salt::Vector3f massCenter; public: Physical() ! : valid(false), mass(0.0), ! canCollide(true), massCenter(0.0, 0.0, 0.0) {} }; /** define a registry of macros; a macro is a XML subtree with the ! <Macro> node as the root element */ typedef std::map<std::string, boost::shared_ptr<TiXmlElement> > TMacroMap; *************** *** 101,107 **** salt::Vector3f vec; ! //! the index into an associated flat vertex array as used in ! //the TriMesh class int idx; public: TVertex() : idx(-1) {} --- 185,193 ---- salt::Vector3f vec; ! /** the index into an associated flat vertex array as used in ! the TriMesh class ! */ int idx; + public: TVertex() : idx(-1) {} *************** *** 150,153 **** --- 236,240 ---- }; + /** define a complex geom and it's associated vertices */ struct ComplexGeom { *************** *** 172,182 **** virtual bool ParseScene(const std::string& scene, ! boost::shared_ptr<oxygen::BaseNode> parent, ! boost::shared_ptr<zeitgeist::ParameterList> parameter); protected: virtual bool ParseScene(const char* scene, int size, ! boost::shared_ptr<oxygen::BaseNode> parent, ! boost::shared_ptr<zeitgeist::ParameterList> parameter); --- 259,280 ---- virtual bool ParseScene(const std::string& scene, ! boost::shared_ptr<oxygen::BaseNode> parent, ! boost::shared_ptr<zeitgeist::ParameterList> parameter); protected: + void PushContext(); + void PopContext(); + void PushJointContext(); + void PopJointContext(); + RosContext& GetContext(); + RosJointContext& RosImporter::GetJointContext(); + boost::shared_ptr<oxygen::Transform> GetContextTransform(boost::shared_ptr<oxygen::BaseNode> parent, const Trans& trans); + boost::shared_ptr<oxygen::Transform> CreateTransform(boost::shared_ptr<oxygen::BaseNode> parent, const Trans& trans); + boost::shared_ptr<oxygen::Body> GetContextBody(boost::shared_ptr<oxygen::BaseNode> parent); + void SetJointBody(boost::shared_ptr<oxygen::Body> body); + virtual bool ParseScene(const char* scene, int size, ! boost::shared_ptr<oxygen::BaseNode> parent, ! boost::shared_ptr<zeitgeist::ParameterList> parameter); *************** *** 185,189 **** bool IgnoreNode(const TiXmlNode* node) const; - bool HasBody(const Physical& physical, ENodeContext context); RosElements::ERosElement GetType(const TiXmlElement* element) const; --- 283,286 ---- *************** *** 192,196 **** void ApplyTransform(boost::shared_ptr<oxygen::Transform> transform, const Trans& trans); ! boost::shared_ptr<oxygen::Transform> CreateTransform (boost::shared_ptr<oxygen::BaseNode> parent, const Trans& trans); --- 289,293 ---- void ApplyTransform(boost::shared_ptr<oxygen::Transform> transform, const Trans& trans); ! boost::shared_ptr<oxygen::TransformCollider> CreateTransformCollider (boost::shared_ptr<oxygen::BaseNode> parent, const Trans& trans); *************** *** 209,219 **** bool ReadMacro(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadUse(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadChildElements(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadElements(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadCompound(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadMovable(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); bool ReadTrans(TiXmlElement* element, Trans& trans); --- 306,316 ---- bool ReadMacro(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadUse(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadChildElements(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadElements(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadCompound(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadMovable(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); bool ReadTrans(TiXmlElement* element, Trans& trans); *************** *** 222,242 **** bool ReadAppearance(TiXmlElement* element, Appearance& appear); ! bool ReadPhysical(TiXmlElement* element, Physical& physical, ENodeContext context); ! bool ReadBox(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadSphere(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadCylinder(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); ! bool ReadCappedCylinder(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); bool ReadAnchorPoint(TiXmlElement* element, salt::Vector3f& anchor); ! bool ReadAxis(TiXmlElement* element, salt::Vector3f& axis); ! boost::shared_ptr<oxygen::Body> RosImporter::GetJointParentBody(boost::shared_ptr<oxygen::BaseNode> parent); boost::shared_ptr<oxygen::Body> RosImporter::GetJointChildBody(boost::shared_ptr<oxygen::BaseNode> parent); ! bool ReadHinge(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); bool ReadVertexList(TiXmlElement* element); ! bool ReadComplexShape(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element, ENodeContext context); bool ReadGraphicalRep(TiXmlElement* element, boost::shared_ptr<oxygen::TriMesh> mesh, const Appearance& appear); bool ReadComplexElements(TiXmlElement* element, TComplexGeomList& geomList); --- 319,341 ---- bool ReadAppearance(TiXmlElement* element, Appearance& appear); ! bool ReadPhysical(TiXmlElement* element, Physical& physical); ! bool ReadBox(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadSphere(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadCylinder(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadCappedCylinder(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); bool ReadAnchorPoint(TiXmlElement* element, salt::Vector3f& anchor); ! bool ReadAxis(TiXmlElement* element, RosElements::ERosElement type, JointAxis& axis); ! boost::shared_ptr<oxygen::Body> RosImporter::GetJointParentBody(); boost::shared_ptr<oxygen::Body> RosImporter::GetJointChildBody(boost::shared_ptr<oxygen::BaseNode> parent); ! bool ReadHinge(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadSlider(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadUniversal(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); bool ReadVertexList(TiXmlElement* element); ! bool ReadComplexShape(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); bool ReadGraphicalRep(TiXmlElement* element, boost::shared_ptr<oxygen::TriMesh> mesh, const Appearance& appear); bool ReadComplexElements(TiXmlElement* element, TComplexGeomList& geomList); *************** *** 245,254 **** void BuildPolygon(oxygen::IndexBuffer& ibuffer, TVertexList& vertexList, const ComplexGeom& geom); ! bool ReadPhysicalRep(boost::shared_ptr<oxygen::Transform> transform, TiXmlElement* element, ENodeContext context); ! bool ReadSimpleBox(boost::shared_ptr<oxygen::Transform> transform, TiXmlElement* element, ENodeContext context); ! bool ReadSimpleSphere(boost::shared_ptr<oxygen::Transform> transform, TiXmlElement* element, ENodeContext context); ! bool ReadSimpleCappedCylinder(boost::shared_ptr<oxygen::Transform> transform, TiXmlElement* element, ENodeContext context); protected: /** the last supplied fileName */ std::string mFileName; --- 344,404 ---- void BuildPolygon(oxygen::IndexBuffer& ibuffer, TVertexList& vertexList, const ComplexGeom& geom); ! bool ReadPhysicalRep(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadSimpleBox(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadSimpleSphere(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! bool ReadSimpleCappedCylinder(boost::shared_ptr<oxygen::BaseNode> parent, TiXmlElement* element); ! ! void Attach(boost::shared_ptr<oxygen::Joint> joint, boost::shared_ptr<oxygen::Body> body1, boost::shared_ptr<oxygen::Body> body2, ! const JointAxis& axis1, const JointAxis& axis2 = JointAxis()); ! void AttachJoint(const JointAttach& ja); ! ! private: ! /** RosContextScope is a helper class that creates a new ! RosContext and destroys it when it goes ot ouf scope ! */ ! struct RosContextScope ! { ! public: ! RosContextScope(RosImporter* i) ! : importer(i) ! { ! importer->PushContext(); ! } ! ! ~RosContextScope() ! { ! importer->PopContext(); ! } ! ! protected: ! RosImporter* importer; ! }; ! ! /** RosJointScope is a helper class that creates a new joint scope ! and destroys it when it goes out of scope ! */ ! struct RosJointScope ! { ! RosJointScope(RosImporter* i) ! : importer(i) ! { ! importer->PushJointContext(); ! } ! ! ~RosJointScope() ! { ! importer->PopJointContext(); ! } ! ! protected: ! RosImporter* importer; ! }; protected: + /** reference to the parent node under wich the imported scene is + constructed + */ + boost::shared_ptr<oxygen::BaseNode> mSceneParent; + /** the last supplied fileName */ std::string mFileName; *************** *** 268,273 **** /** the static macro registry is shared across RosImporter instances ! */ static TMacroMap mMacroMap; }; --- 418,429 ---- /** the static macro registry is shared across RosImporter instances ! */ static TMacroMap mMacroMap; + + /** the stack of RosContext instances */ + TRosStack mStack; + + /* the stack of JointContext instances */ + TRosJointStack mJointStack; }; |
From: Oliver O. <fr...@us...> - 2007-06-17 11:36:16
|
Update of /cvsroot/simspark/simspark/spark/salt In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv4955 Modified Files: Tag: projectx matrix.cpp Log Message: merge from HEAD Index: matrix.cpp =================================================================== RCS file: /cvsroot/simspark/simspark/spark/salt/matrix.cpp,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** matrix.cpp 5 Dec 2005 20:56:00 -0000 1.1 --- matrix.cpp 17 Jun 2007 11:36:12 -0000 1.1.4.1 *************** *** 1,4 **** /* -*- mode: c++ -*- ! this file is part of rcssserver3D Fri May 9 2003 --- 1,4 ---- /* -*- mode: c++ -*- ! this file is part of rcssserver3D Fri May 9 2003 *************** *** 9,18 **** 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 --- 9,18 ---- 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 *************** *** 27,42 **** float Matrix::mIdentity[16]= { ! 1.0, 0.0, 0.0, 0.0, ! 0.0, 1.0, 0.0, 0.0, ! 0.0, 0.0, 1.0, 0.0, ! 0.0, 0.0, 0.0, 1.0 }; void Matrix::Dump() const { ! printf("%f %f %f %f\n", m[0], m[4], m[8], m[12]); ! printf("%f %f %f %f\n", m[1], m[5], m[9], m[13]); ! printf("%f %f %f %f\n", m[2], m[6], m[10], m[14]); ! printf("%f %f %f %f\n", m[3], m[7], m[11], m[15]); } --- 27,42 ---- float Matrix::mIdentity[16]= { ! 1.0, 0.0, 0.0, 0.0, ! 0.0, 1.0, 0.0, 0.0, ! 0.0, 0.0, 1.0, 0.0, ! 0.0, 0.0, 0.0, 1.0 }; void Matrix::Dump() const { ! printf("%f %f %f %f\n", m[0], m[4], m[8], m[12]); ! printf("%f %f %f %f\n", m[1], m[5], m[9], m[13]); ! printf("%f %f %f %f\n", m[2], m[6], m[10], m[14]); ! printf("%f %f %f %f\n", m[3], m[7], m[11], m[15]); } *************** *** 44,165 **** void Matrix::LookAt(const Vector3f & inEye, const Vector3f & inDirection, const Vector3f & inUp) { ! Vector3f forward = inDirection.Normalized(); ! Vector3f up = inUp.Normalized(); ! Vector3f right = forward.Cross(up); ! right.Normalize(); ! up = right.Cross(forward); ! // Make inverse rotation matrix using right, forward, up vectors ! Set( right.x(), right.y(), right.z(), 0.0f, ! up.x(), up.y(), up.z(), 0.0f, ! forward.x(), forward.y(), forward.z(), 0.0f, ! 0.0f, 0.0f, 0.0f, 1.0f); ! ! Pos() = Rotate(-inEye); } ! /*! Calculate an attenuation matrix. ! pos = world space position of light ! radius = radius of light (used for distance attenuation) */ void Matrix::CalcAttenuationNoRotation(const Vector3f &pos, float radius) { ! Matrix tmp1, tmp2; ! ! // translate to 'light space' ... no rotation needed ! tmp1.Translation(-pos); ! ! // create proper scaling matrix ! float invrad = 0.5f / radius; ! tmp2.Identity(); ! tmp2(0,0) = invrad; ! tmp2(1,1) = invrad; ! tmp2(2,2) = invrad; ! ! Identity (); ! Translation (Vector3f(0.5f, 0.5f, 0.5f)); ! *this *= tmp2 * tmp1; } void Matrix::CalcAttenuationWithRotation(const Matrix &lightWorldMatrix, float radius) { ! Matrix tmp1, tmp2; ! ! // translate to 'light space' ... this time with rotation ! tmp1 = lightWorldMatrix; ! tmp1.InvertRotationMatrix(); ! ! // create proper scaling matrix ! float invrad = 0.5f / radius; ! tmp2.Identity(); ! tmp2(0,0) = invrad; ! tmp2(1,1) = invrad; ! tmp2(2,2) = invrad; ! ! Identity (); ! Translation (Vector3f(0.5f, 0.5f, 0.5f)); ! *this *= tmp2 * tmp1; } void Matrix::CalcInfiniteProjection(float width, float height, float fov, float zNear) { ! const float halfWidth = zNear * (float)tan(gDegToRad(fov*0.5f)); ! const float halfHeight = halfWidth * (height/width); ! CalcInfiniteFrustum(-halfWidth, halfWidth, -halfHeight, halfHeight, zNear); } void Matrix::CalcInfiniteFrustum(float left, float right, float bottom, float top, float zNear) { ! Identity(); ! ! El(0,0) = (2*zNear) / (right - left); ! El(0,2) = (right + left) / (right - left); ! ! El(1,1) = (2*zNear) / (top - bottom); ! El(1,2) = (top + bottom) / (top - bottom); ! // nudge infinity in just slightly for lsb slop const float nudge = 1 - 1.0 / (1<<23); ! El(2,2) = -1 * nudge; ! El(2,3) = -2*zNear * nudge; ! ! El(3,2) = -1; ! El(3,3) = 0; } void Matrix::CalcSpotLight(const Matrix &lightWorldTransform, float fov, float width, float height, float zNear) { ! Matrix scale, proj, space; ! Vector3f halfVector(0.5f, 0.5f, 0.5f); ! Identity (); ! Translation (halfVector); ! scale.Identity (); ! scale.Scale (halfVector); ! // create projection matrix ! proj.CalcInfiniteProjection(width, height, fov, zNear); ! space = lightWorldTransform; ! space.InvertRotationMatrix(); ! // so, we transform first into light space, then project, then scale and ! // translate (this) ! *this *= scale * proj * space; } bool Matrix::IsEqual(const Matrix& matrix) const { ! for (int i=0; i<16; ++i) ! if (matrix.m[i] != m[i]) return false; ! return true; } --- 44,303 ---- void Matrix::LookAt(const Vector3f & inEye, const Vector3f & inDirection, const Vector3f & inUp) { ! Vector3f forward = inDirection.Normalized(); ! Vector3f up = inUp.Normalized(); ! Vector3f right = forward.Cross(up); ! right.Normalize(); ! up = right.Cross(forward); ! // Make inverse rotation matrix using right, forward, up vectors ! Set( right.x(), right.y(), right.z(), 0.0f, ! up.x(), up.y(), up.z(), 0.0f, ! forward.x(), forward.y(), forward.z(), 0.0f, ! 0.0f, 0.0f, 0.0f, 1.0f); ! ! Pos() = Rotate(-inEye); } ! /*! Calculate an attenuation matrix. ! pos = world space position of light ! radius = radius of light (used for distance attenuation) */ void Matrix::CalcAttenuationNoRotation(const Vector3f &pos, float radius) { ! Matrix tmp1, tmp2; ! // translate to 'light space' ... no rotation needed ! tmp1.Translation(-pos); ! // create proper scaling matrix ! float invrad = 0.5f / radius; ! ! tmp2.Identity(); ! tmp2(0,0) = invrad; ! tmp2(1,1) = invrad; ! tmp2(2,2) = invrad; ! ! Identity (); ! Translation (Vector3f(0.5f, 0.5f, 0.5f)); ! ! *this *= tmp2 * tmp1; } void Matrix::CalcAttenuationWithRotation(const Matrix &lightWorldMatrix, float radius) { ! Matrix tmp1, tmp2; ! // translate to 'light space' ... this time with rotation ! tmp1 = lightWorldMatrix; ! tmp1.InvertRotationMatrix(); ! // create proper scaling matrix ! float invrad = 0.5f / radius; ! ! tmp2.Identity(); ! tmp2(0,0) = invrad; ! tmp2(1,1) = invrad; ! tmp2(2,2) = invrad; ! ! Identity (); ! Translation (Vector3f(0.5f, 0.5f, 0.5f)); ! ! *this *= tmp2 * tmp1; } void Matrix::CalcInfiniteProjection(float width, float height, float fov, float zNear) { ! const float halfWidth = zNear * (float)tan(gDegToRad(fov*0.5f)); ! const float halfHeight = halfWidth * (height/width); ! CalcInfiniteFrustum(-halfWidth, halfWidth, -halfHeight, halfHeight, zNear); } void Matrix::CalcInfiniteFrustum(float left, float right, float bottom, float top, float zNear) { ! Identity(); ! ! El(0,0) = (2*zNear) / (right - left); ! El(0,2) = (right + left) / (right - left); ! ! El(1,1) = (2*zNear) / (top - bottom); ! El(1,2) = (top + bottom) / (top - bottom); ! // nudge infinity in just slightly for lsb slop const float nudge = 1 - 1.0 / (1<<23); ! El(2,2) = -1 * nudge; ! El(2,3) = -2*zNear * nudge; ! ! El(3,2) = -1; ! El(3,3) = 0; } void Matrix::CalcSpotLight(const Matrix &lightWorldTransform, float fov, float width, float height, float zNear) { ! Matrix scale, proj, space; ! Vector3f halfVector(0.5f, 0.5f, 0.5f); ! Identity (); ! Translation (halfVector); ! scale.Identity (); ! scale.Scale (halfVector); ! // create projection matrix ! proj.CalcInfiniteProjection(width, height, fov, zNear); ! space = lightWorldTransform; ! space.InvertRotationMatrix(); ! // so, we transform first into light space, then project, then scale and ! // translate (this) ! *this *= scale * proj * space; } bool Matrix::IsEqual(const Matrix& matrix) const { ! for (int i=0; i<16; ++i) ! if (matrix.m[i] != m[i]) return false; ! return true; ! } ! ! void Matrix::InvertMatrix() ! { ! float x00, x01, x02; ! float x10, x11, x12; ! float x20, x21, x22; ! float x30, x31, x32; ! float rcp; ! float y01, y02, y03, y12, y13, y23; ! float z02, z03, z12, z13, z22, z23, z32, z33; ! ! #define x03 x01 ! #define x13 x11 ! #define x23 x21 ! #define x33 x31 ! #define z00 x02 ! #define z10 x12 ! #define z20 x22 ! #define z30 x32 ! #define z01 x03 ! #define z11 x13 ! #define z21 x23 ! #define z31 x33 ! ! /* read 1st two columns of matrix into registers */ ! // col, row ! x00 = El(0,0); // src.xx ! x01 = El(0,1); // src.xy; 2nd column ! x10 = El(1,0); // src.yx; 1st column ! x11 = El(1,1); // src.yy; 2nd column ! x20 = El(2,0); // src.zx; 1st column ! x21 = El(2,1); // src.zy; 2nd column ! x30 = El(3,0); // src.wx; 1st column ! x31 = El(3,1); // src.wy; 2nd column ! ! /* compute all six 2x2 determinants of 1st two columns */ ! y01 = x00*x11 - x10*x01; ! y02 = x00*x21 - x20*x01; ! y03 = x00*x31 - x30*x01; ! y12 = x10*x21 - x20*x11; ! y13 = x10*x31 - x30*x11; ! y23 = x20*x31 - x30*x21; ! ! /* read 2nd two columns of matrix into registers */ ! x02 = El(0,2);// src.xz; ! x03 = El(0,3);// src.xw; ! x12 = El(1,2);// src.yz; ! x13 = El(1,3);// src.yw; ! x22 = El(2,2);// src.zz; ! x23 = El(2,3);// src.zw; ! x32 = El(3,2);// src.wz; ! x33 = El(3,3);// src.ww; ! ! /* compute all 3x3 cofactOMLs for 2nd two columns */ ! z33 = x02*y12 - x12*y02 + x22*y01; ! z23 = x12*y03 - x32*y01 - x02*y13; ! z13 = x02*y23 - x22*y03 + x32*y02; ! z03 = x22*y13 - x32*y12 - x12*y23; ! z32 = x13*y02 - x23*y01 - x03*y12; ! z22 = x03*y13 - x13*y03 + x33*y01; ! z12 = x23*y03 - x33*y02 - x03*y23; ! z02 = x13*y23 - x23*y13 + x33*y12; ! ! /* compute all six 2x2 determinants of 2nd two columns */ ! y01 = x02*x13 - x12*x03; ! y02 = x02*x23 - x22*x03; ! y03 = x02*x33 - x32*x03; ! y12 = x12*x23 - x22*x13; ! y13 = x12*x33 - x32*x13; ! y23 = x22*x33 - x32*x23; ! ! /* read 1st two columns of matrix into registers */ ! x00 = El(0,0);// src.xx ! x01 = El(0,1);// src.xy ! x10 = El(1,0);// src.yx ! x11 = El(1,1);// src.yy ! x20 = El(2,0);// src.zx ! x21 = El(2,1);// src.zy ! x30 = El(3,0);// src.wx ! x31 = El(3,1);// src.wy ! ! /* compute all 3x3 cofactOMLs for 1st column */ ! z30 = x11*y02 - x21*y01 - x01*y12; ! z20 = x01*y13 - x11*y03 + x31*y01; ! z10 = x21*y03 - x31*y02 - x01*y23; ! z00 = x11*y23 - x21*y13 + x31*y12; ! ! /* compute 4x4 determinant & its reciprocal */ ! rcp = x30*z30 + x20*z20 + x10*z10 + x00*z00; ! if (rcp == 0.0f) ! { ! /* the matrix can't be inverted */ ! return; ! } ! ! rcp = 1.0f/rcp; ! ! /* compute all 3x3 cofactOMLs for 2nd column */ ! z31 = x00*y12 - x10*y02 + x20*y01; ! z21 = x10*y03 - x30*y01 - x00*y13; ! z11 = x00*y23 - x20*y03 + x30*y02; ! z01 = x20*y13 - x30*y12 - x10*y23; ! ! Matrix invert; ! ! /* multiply all 3x3 cofactOMLs by reciprocal */ ! /* inverse.xx */ invert(0,0) = (z00*rcp); ! /* inverse.yx */ invert(1,0) = (z01*rcp); ! /* inverse.xy */ invert(0,1) = (z10*rcp); ! /* inverse.zx */ invert(2,0) = (z02*rcp); ! /* inverse.xz */ invert(0,2) = (z20*rcp); ! /* inverse.wx */ invert(3,0) = (z03*rcp); ! /* inverse.xw */ invert(0,3) = (z30*rcp); ! /* inverse.yy */ invert(1,1) = (z11*rcp); ! /* inverse.zy */ invert(2,1) = (z12*rcp); ! /* inverse.yz */ invert(1,2) = (z21*rcp); ! /* inverse.wy */ invert(3,1) = (z13*rcp); ! /* inverse.yw */ invert(1,3) = (z31*rcp); ! /* inverse.zz */ invert(2,2) = (z22*rcp); ! /* inverse.wz */ invert(3,2) = (z23*rcp); ! /* inverse.zw */ invert(2,3) = (z32*rcp); ! /* inverse.ww */ invert(3,3) = (z33*rcp); ! ! (*this) = invert; ! ! #undef x03 ! #undef x13 ! #undef x23 ! #undef x33 ! #undef z00 ! #undef z10 ! #undef z20 ! #undef z30 ! #undef z01 ! #undef z11 ! #undef z21 ! #undef z31 } |
From: Oliver O. <fr...@us...> - 2007-06-17 11:35:51
|
Update of /cvsroot/simspark/simspark/spark/salt In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv4613 Modified Files: Tag: projectx matrix.h Log Message: merge from HEAD Index: matrix.h =================================================================== RCS file: /cvsroot/simspark/simspark/spark/salt/matrix.h,v retrieving revision 1.1.4.2 retrieving revision 1.1.4.3 diff -C2 -d -r1.1.4.2 -r1.1.4.3 *** matrix.h 1 Jun 2007 06:32:19 -0000 1.1.4.2 --- matrix.h 17 Jun 2007 11:35:47 -0000 1.1.4.3 *************** *** 137,140 **** --- 137,143 ---- f_inline void InvertRotationMatrix(); + /** inverts a matrix */ + void InvertMatrix(); + /** multiplies the matrix with inVector */ f_inline Vector3f Transform(const Vector3f & inVector) const; |
From: Oliver O. <fr...@us...> - 2007-06-17 11:06:43
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv2838 Added Files: Tag: projectx materialexternal_c.cpp Log Message: added materialexternal --- NEW FILE: materialexternal_c.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of simspark Wed May 9 2007 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: materialexternal_c.cpp,v 1.1.2.1 2007/06/17 11:06:39 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 "materialexternal.h" using namespace zeitgeist; using namespace kerosin; using namespace salt; using namespace boost; FUNCTION(MaterialExternal,setReference) { std::string name; if ( (in.GetSize() == 0) || (! in.GetValue(in[0], name)) ) { return false; } obj->SetReference(name); return true; } void CLASS(MaterialExternal)::DefineClass() { DEFINE_BASECLASS(kerosin/MaterialSolid); DEFINE_FUNCTION(setReference); } |
From: Oliver O. <fr...@us...> - 2007-06-17 11:06:17
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv2786 Added Files: Tag: projectx materialexternal.cpp Log Message: added materialexternal --- NEW FILE: materialexternal.cpp --- /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- this file is part of simspark Wed May 9 2007 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group $Id: materialexternal.cpp,v 1.1.2.1 2007/06/17 11:06:13 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 "materialexternal.h" using namespace kerosin; MaterialExternal::MaterialExternal() : MaterialSolid(), mName("") { } MaterialExternal::~MaterialExternal() { } void MaterialExternal::SetupMaterial() { /* We don't do anything here. This overwrites the original SetupMaterial from MaterialSolid, which calles OpenGl functions. */ } void MaterialExternal::Bind() { /* We don't do anything here. This overwrites the original Bind from MaterialSolid, which calles OpenGl functions. */ } const std::string& MaterialExternal::GetReference() const { return mName; } void MaterialExternal::SetReference(const std::string& name) { mName = name; } |
From: Oliver O. <fr...@us...> - 2007-06-17 11:06:02
|
Update of /cvsroot/simspark/simspark/spark/kerosin/materialserver In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv2411 Added Files: Tag: projectx materialexternal.h Log Message: added materialexternal --- NEW FILE: materialexternal.h --- /* -*- 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: materialexternal.h,v 1.1.2.1 2007/06/17 11:05:58 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 KEROSIN_MATERIALEXTERNAL_H #define KEROSIN_MATERIALEXTERNAL_H #include "materialsolid.h" namespace kerosin { class MaterialExternal : public MaterialSolid { // Functions public: MaterialExternal(); virtual ~MaterialExternal(); virtual void Bind(); //! @return the name of the reference const std::string& GetReference() const; //! Set the name of the reference void SetReference(const std::string& name); protected: /** sets up all lighting material properties */ void SetupMaterial(); // Members protected: /** the external file reference */ std::string mName; }; DECLARE_CLASS(MaterialExternal); }; #endif // KEROSIN_MATERIALEXTERNAL_H |
From: Oliver O. <fr...@us...> - 2007-06-17 11:04:46
|
Update of /cvsroot/simspark/simspark/spark/kerosin In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv1940 Modified Files: Tag: projectx Makefile.am Log Message: - added materialexternal - finally removed glextensionreg stuff Index: Makefile.am =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/Makefile.am,v retrieving revision 1.6.2.2.2.2 retrieving revision 1.6.2.2.2.3 diff -C2 -d -r1.6.2.2.2.2 -r1.6.2.2.2.3 *** Makefile.am 8 May 2007 03:39:08 -0000 1.6.2.2.2.2 --- Makefile.am 17 Jun 2007 11:04:29 -0000 1.6.2.2.2.3 *************** *** 3,7 **** pkglib_LTLIBRARIES = libkerosin_debug.la libkerosin_debug_la_SOURCES = $(sources) - # nodist_libkerosin_debug_la_SOURCES = openglserver/glextensionreg.cpp libkerosin_debug_la_CXXFLAGS = -O -g -W -Wall libkerosin_debug_la_LIBADD = @FREETYPE_LIBADD@ @SDL_LIBADD@ @IL_LIBADD@ @GL_LIBADD@ --- 3,6 ---- *************** *** 10,14 **** pkglib_LTLIBRARIES = libkerosin.la libkerosin_la_SOURCES = $(sources) - # nodist_libkerosin_la_SOURCES = openglserver/glextensionreg.cpp libkerosin_la_CXXFLAGS = -O2 libkerosin_la_LIBADD = @FREETYPE_LIBADD@ @SDL_LIBADD@ @IL_LIBADD@ @GL_LIBADD@ --- 9,12 ---- *************** *** 18,33 **** bin_SCRIPTS = kerosin-config - # BUILT_SOURCES = openglserver/glextensionreg.h - # nobase_nodist_libpkginclude_HEADERS = openglserver/glextensionreg.h - - # openglserver/glextensionreg.cpp: ${top_srcdir}/utility/glextgen/glextensionreg.cpp - # @echo "Copying generated glextension sources" - # cp ${top_srcdir}/utility/glextgen/glextensionreg.cpp $@ - - # openglserver/glextensionreg.h: ${top_srcdir}/utility/glextgen/glextensionreg.h - # cp ${top_srcdir}/utility/glextgen/glextensionreg.h $@ - - # ${top_srcdir}/utility/glextgen/glextensionreg.cpp ${top_srcdir}/utility/glextgen/glextensionreg.h: - # cd ${top_srcdir}/utility/glextgen/ && $(MAKE) $(AM_MAKEFLAGS) all endif --- 16,19 ---- *************** *** 68,71 **** --- 54,59 ---- materialserver/material2dtexture.cpp \ materialserver/material2dtexture_c.cpp \ + materialserver/materialexternal.cpp \ + materialserver/materialexternal_c.cpp \ materialserver/materialsolid.cpp \ materialserver/materialsolid_c.cpp \ *************** *** 131,134 **** --- 119,123 ---- sceneserver/helper/nv_math/nv_mathdecl.h \ materialserver/material2dtexture.h \ + materialserver/materialexternal.h \ materialserver/materialsolid.h \ materialserver/materialexporter.h \ |
From: Oliver O. <fr...@us...> - 2007-06-17 11:03:40
|
Update of /cvsroot/simspark/simspark/spark/kerosin In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv1525 Modified Files: Tag: projectx kerosin-config.in Log Message: - added extra framework flags for Darwin (MacOS) Index: kerosin-config.in =================================================================== RCS file: /cvsroot/simspark/simspark/spark/kerosin/kerosin-config.in,v retrieving revision 1.2 retrieving revision 1.2.4.1 diff -C2 -d -r1.2 -r1.2.4.1 *** kerosin-config.in 25 Dec 2005 14:55:51 -0000 1.2 --- kerosin-config.in 17 Jun 2007 11:03:34 -0000 1.2.4.1 *************** *** 103,106 **** --- 103,109 ---- convlib="libkerosin.la" fi + if test `uname` = "Darwin"; then + convlib="$convlib -framework OpenGL -framework IL -framework SDL " + fi echo @libdir@/simspark/$convlib fi |