opal-commits Mailing List for Open Physics Abstraction Layer (Page 11)
Status: Inactive
Brought to you by:
tylerstreeter
You can subscribe to this list here.
| 2005 |
Jan
|
Feb
(162) |
Mar
(134) |
Apr
(113) |
May
(13) |
Jun
(60) |
Jul
(18) |
Aug
(25) |
Sep
|
Oct
(2) |
Nov
(35) |
Dec
(76) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(3) |
Apr
(8) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(1) |
Mar
(12) |
Apr
(16) |
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
(3) |
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(15) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 19:04:32
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29465/samples/playpen Modified Files: playpen.suo Log Message: Removed the OPAL_USE_MESH compile-time flag because it isn't needed. (It was originally intended for IRIX usage because ODE's trimesh support doesn't compile on IRIX with certain versions of the MipsPro compiler. However, the ODE trimesh function calls can still be used without trimeshes compiled into ODE; they just don't do anything.) Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 Binary files /tmp/cvsLHqchS and /tmp/cvs7Cv9kW differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 18:46:41
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21144/vc71 Modified Files: opal.suo Log Message: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Binary files /tmp/cvsJFgr5f and /tmp/cvskM1dwa differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 18:46:40
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21144/src Modified Files: Simulator.h Log Message: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. Index: Simulator.h =================================================================== RCS file: /cvsroot/opal/opal/src/Simulator.h,v retrieving revision 1.100 retrieving revision 1.101 diff -C2 -d -r1.100 -r1.101 *** Simulator.h 19 Jun 2005 17:09:13 -0000 1.100 --- Simulator.h 24 Jun 2005 18:46:29 -0000 1.101 *************** *** 69,78 **** /// This function performs collision detection and simulates /// everything ahead by the given dt. Internally, it steps through ! /// the simulation iteratively using a fixed step size. "Leftover" ! /// time will be saved until the next time this is called. The ! /// function returns true if at least one time step has been taken. ! /// During collision detection, the following cases are ignored ! /// when deciding whether to collide two Solids (both for physical ! /// contact generation and collision event handling): /// 1. Two static Solids, each without a CollisionEventHandler. /// 2. Two Shapes that are part of the same Solid. --- 69,80 ---- /// This function performs collision detection and simulates /// everything ahead by the given dt. Internally, it steps through ! /// the simulation iteratively using a fixed step size (so you can ! /// pass in whatever dt you want; it will be broken up into fixed ! /// increments automatically). Any "leftover" time will be saved ! /// until the next time this is called. The function returns true ! /// if at least one time step has been taken. During collision ! /// detection, the following cases are ignored when deciding whether ! /// to collide two Solids (ignored both for physical contact ! /// generation and collision event handling): /// 1. Two static Solids, each without a CollisionEventHandler. /// 2. Two Shapes that are part of the same Solid. *************** *** 80,88 **** /// 4. Two Solids connected by a fixed Joint. /// 5. Two Solids connected by a Joint with contacts disabled. ! /// 6. Solid0 is static, Solid1 is sleeping, /// static-to-sleeping contacts are ignored by the /// Simulator, and neither Solid has a /// CollisionEventHandler. ! /// 7. Solid1 is static, Solid0 is sleeping, /// static-to-sleeping contacts are ignored by the /// Simulator, and neither Solid has a --- 82,90 ---- /// 4. Two Solids connected by a fixed Joint. /// 5. Two Solids connected by a Joint with contacts disabled. ! /// 6. Solid0 is static, Solid1 dynamic and is sleeping, /// static-to-sleeping contacts are ignored by the /// Simulator, and neither Solid has a /// CollisionEventHandler. ! /// 7. Solid1 is static, Solid0 dynamic and is sleeping, /// static-to-sleeping contacts are ignored by the /// Simulator, and neither Solid has a |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 18:46:39
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21144/src/ODE Modified Files: ODESimulator.cpp Log Message: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -d -r1.104 -r1.105 *** ODESimulator.cpp 24 Jun 2005 16:40:49 -0000 1.104 --- ODESimulator.cpp 24 Jun 2005 18:46:29 -0000 1.105 *************** *** 344,352 **** // contacts) with contacts disabled (note: both must have // bodies to check this): this is enforced. ! // 6. Solid0 is static, Solid1 is sleeping, // static-to-sleeping contacts are ignored by the // Simulator, and neither Solid has a // CollisionEventHandler: this is enforced. ! // 7. Solid1 is static, Solid0 is sleeping, // static-to-sleeping contacts are ignored by the // Simulator, and neither Solid has a --- 344,352 ---- // contacts) with contacts disabled (note: both must have // bodies to check this): this is enforced. ! // 6. Solid0 is static, Solid1 is dynamic and is sleeping, // static-to-sleeping contacts are ignored by the // Simulator, and neither Solid has a // CollisionEventHandler: this is enforced. ! // 7. Solid1 is static, Solid0 is dynamic and is sleeping, // static-to-sleeping contacts are ignored by the // Simulator, and neither Solid has a *************** *** 415,420 **** bool neitherHasEventHandler = !(handler0 || handler1); ! // It is important here that we don't check if a static body ! // is disabled (sleeping) because that crashes ODE. if ((neitherHasEventHandler && solid0Static && solid1Static) //case 1 --- 415,421 ---- bool neitherHasEventHandler = !(handler0 || handler1); ! // Now do the actual tests to see if we should return early. ! // It is important here that we don't call dBodyIsEnabled on ! // a static body because that crashes ODE. if ((neitherHasEventHandler && solid0Static && solid1Static) //case 1 *************** *** 426,433 **** || (commonJoint && !commonJoint->areContactsEnabled()) // case 5 ! || (solid0Static && !dBodyIsEnabled(o1BodyID) && ignoreStaticSleepingContacts && neitherHasEventHandler) //case 6 ! || (solid1Static && !dBodyIsEnabled(o0BodyID) && ignoreStaticSleepingContacts && neitherHasEventHandler) //case 7 --- 427,436 ---- || (commonJoint && !commonJoint->areContactsEnabled()) // case 5 ! || (solid0Static && 0 != o1BodyID ! && !dBodyIsEnabled(o1BodyID) && ignoreStaticSleepingContacts && neitherHasEventHandler) //case 6 ! || (solid1Static && 0 != o0BodyID ! && !dBodyIsEnabled(o0BodyID) && ignoreStaticSleepingContacts && neitherHasEventHandler) //case 7 |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 18:46:39
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21144 Modified Files: changelog.txt todo.txt Log Message: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** changelog.txt 24 Jun 2005 17:50:47 -0000 1.28 --- changelog.txt 24 Jun 2005 18:46:27 -0000 1.29 *************** *** 15,18 **** --- 15,20 ---- ------------------------------------------ + * 6-24-05: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. (Tyler Streeter) + * 6-24-05: Put TinyXml source in with the OPAL source to make it easier to build for everyone. (Tyler Streeter) Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** todo.txt 24 Jun 2005 17:50:47 -0000 1.81 --- todo.txt 24 Jun 2005 18:46:28 -0000 1.82 *************** *** 2,7 **** ================= ! * from EarthquakeProof in the forum: ! "I've noticed another thing too, when two Solids which are static collide, there is an error. So I've modified a little ODESimulator.cpp to solve that (the problem is a call to dGeomIsBodyEnabled when the body is 0 which is the case with static Solids. " * add simple sample app --- 2,6 ---- ================= ! * remove OPAL_USE_MESH * add simple sample app |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 18:46:39
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21144/samples/playpen Modified Files: playpen.suo Log Message: Fixed bug where collisions between two static Solids (at least one of them using a CollisionEventHandler) caused a crash in an ODE function call. Thanks to EarthquakeProof in the forum for catching this. Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Binary files /tmp/cvswibJva and /tmp/cvs57db83 differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:51:03
|
Update of /cvsroot/opal/opal/src/external/tinyxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529/src/external/tinyxml Added Files: SConscript tinystr.cpp tinystr.h tinyxml.cpp tinyxml.h tinyxmlerror.cpp tinyxmlparser.cpp Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. --- NEW FILE: tinyxmlparser.cpp --- /* www.sourceforge.net/projects/tinyxml Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. [...1469 lines suppressed...] standalone = attrib.Value(); } else { // Read over whatever it is. while( p && *p && *p != '>' && !IsWhiteSpace( *p ) ) ++p; } } return 0; } bool TiXmlText::Blank() const { for ( unsigned i=0; i<value.length(); i++ ) if ( !IsWhiteSpace( value[i] ) ) return false; return true; } --- NEW FILE: tinystr.cpp --- /* www.sourceforge.net/projects/tinyxml Original file by Yves Berquin. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #include "tinyxml.h" #ifndef TIXML_USE_STL #include <stdlib.h> #include <string.h> #include <ctype.h> #include "tinystr.h" // TiXmlString constructor, based on a C string TiXmlString::TiXmlString (const char* instring) { size_t newlen; char * newstring; if (!instring) { allocated = 0; cstring = NULL; current_length = 0; return; } newlen = strlen (instring) + 1; newstring = new char [newlen]; memcpy (newstring, instring, newlen); // strcpy (newstring, instring); allocated = newlen; cstring = newstring; current_length = newlen - 1; } // TiXmlString copy constructor TiXmlString::TiXmlString (const TiXmlString& copy) { size_t newlen; char * newstring; // Prevent copy to self! if ( © == this ) return; if (! copy . allocated) { allocated = 0; cstring = NULL; current_length = 0; return; } newlen = copy . length () + 1; newstring = new char [newlen]; // strcpy (newstring, copy . cstring); memcpy (newstring, copy . cstring, newlen); allocated = newlen; cstring = newstring; current_length = newlen - 1; } // TiXmlString = operator. Safe when assign own content void TiXmlString ::operator = (const char * content) { size_t newlen; char * newstring; if (! content) { empty_it (); return; } newlen = strlen (content) + 1; newstring = new char [newlen]; // strcpy (newstring, content); memcpy (newstring, content, newlen); empty_it (); allocated = newlen; cstring = newstring; current_length = newlen - 1; } // = operator. Safe when assign own content void TiXmlString ::operator = (const TiXmlString & copy) { size_t newlen; char * newstring; if (! copy . length ()) { empty_it (); return; } newlen = copy . length () + 1; newstring = new char [newlen]; // strcpy (newstring, copy . c_str ()); memcpy (newstring, copy . c_str (), newlen); empty_it (); allocated = newlen; cstring = newstring; current_length = newlen - 1; } // append a const char * to an existing TiXmlString void TiXmlString::append( const char* str, size_t len ) { char * new_string; size_t new_alloc, new_size, size_suffix; // don't use strlen - it can overrun the len passed in! const char* p = str; size_suffix = 0; while ( *p && size_suffix < (unsigned)len ) { ++p; ++size_suffix; } if ( !size_suffix) return; new_size = length () + size_suffix + 1; // check if we need to expand if (new_size > allocated) { // compute new size new_alloc = assign_new_size (new_size); // allocate new buffer new_string = new char [new_alloc]; new_string [0] = 0; // copy the previous allocated buffer into this one if (allocated && cstring) // strcpy (new_string, cstring); memcpy (new_string, cstring, length ()); // append the suffix. It does exist, otherwize we wouldn't be expanding // strncat (new_string, str, len); memcpy (new_string + length (), str, size_suffix); // return previsously allocated buffer if any if (allocated && cstring) delete [] cstring; // update member variables cstring = new_string; allocated = new_alloc; } else { // we know we can safely append the new string // strncat (cstring, str, len); memcpy (cstring + length (), str, size_suffix); } current_length = new_size - 1; cstring [current_length] = 0; } // append a const char * to an existing TiXmlString void TiXmlString::append( const char * suffix ) { char * new_string; size_t new_alloc, new_size; new_size = length () + strlen (suffix) + 1; // check if we need to expand if (new_size > allocated) { // compute new size new_alloc = assign_new_size (new_size); // allocate new buffer new_string = new char [new_alloc]; new_string [0] = 0; // copy the previous allocated buffer into this one if (allocated && cstring) memcpy (new_string, cstring, 1 + length ()); // strcpy (new_string, cstring); // append the suffix. It does exist, otherwize we wouldn't be expanding // strcat (new_string, suffix); memcpy (new_string + length (), suffix, strlen (suffix) + 1); // return previsously allocated buffer if any if (allocated && cstring) delete [] cstring; // update member variables cstring = new_string; allocated = new_alloc; } else { // we know we can safely append the new string // strcat (cstring, suffix); memcpy (cstring + length (), suffix, strlen (suffix) + 1); } current_length = new_size - 1; } // Check for TiXmlString equuivalence //bool TiXmlString::operator == (const TiXmlString & compare) const //{ // return (! strcmp (c_str (), compare . c_str ())); //} //unsigned TiXmlString::length () const //{ // if (allocated) // // return strlen (cstring); // return current_length; // return 0; //} unsigned TiXmlString::find (char tofind, unsigned offset) const { char * lookup; if (offset >= length ()) return (unsigned) notfound; for (lookup = cstring + offset; * lookup; lookup++) if (* lookup == tofind) return (unsigned)(lookup - cstring); return (unsigned) notfound; } bool TiXmlString::operator == (const TiXmlString & compare) const { if ( allocated && compare.allocated ) { assert( cstring ); assert( compare.cstring ); return ( strcmp( cstring, compare.cstring ) == 0 ); } else if ( length() == 0 && compare.length() == 0 ) { return true; } return false; } bool TiXmlString::operator == (const char* compare) const { if ( allocated && compare && *compare ) { assert( cstring ); return ( strcmp( cstring, compare ) == 0 ); } else if ( length() == 0 && (!compare || !*compare ) ) // this is a little dubious, but try to duplicate behavior in other operator== { return true; } return false; } bool TiXmlString::operator < (const TiXmlString & compare) const { if ( allocated && compare.allocated ) { assert( cstring ); assert( compare.cstring ); return ( strcmp( cstring, compare.cstring ) > 0 ); } return false; } bool TiXmlString::operator > (const TiXmlString & compare) const { if ( allocated && compare.allocated ) { assert( cstring ); assert( compare.cstring ); return ( strcmp( cstring, compare.cstring ) < 0 ); } return false; } #endif // TIXML_USE_STL --- NEW FILE: tinyxml.h --- /* www.sourceforge.net/projects/tinyxml Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. [...1387 lines suppressed...] /// Return the handle as a TiXmlNode. This may return null. TiXmlNode* Node() const { return node; } /// Return the handle as a TiXmlElement. This may return null. TiXmlElement* Element() const { return ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); } /// Return the handle as a TiXmlText. This may return null. TiXmlText* Text() const { return ( ( node && node->ToText() ) ? node->ToText() : 0 ); } /// Return the handle as a TiXmlUnknown. This may return null; TiXmlUnknown* Unknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); } private: TiXmlNode* node; }; #ifdef _MSC_VER #pragma warning( default : 4530 ) #pragma warning( default : 4786 ) #endif #endif --- NEW FILE: tinyxmlerror.cpp --- /* www.sourceforge.net/projects/tinyxml Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #include "tinyxml.h" // The goal of the seperate error file is to make the first // step towards localization. tinyxml (currently) only supports // latin-1, but at least the error messages could now be translated. // // It also cleans up the code a bit. // const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] = { "No error", "Error", "Failed to open file", "Memory allocation failed.", "Error parsing Element.", "Failed to read Element name", "Error reading Element value.", "Error reading Attributes.", "Error: empty tag.", "Error reading end tag.", "Error parsing Unknown.", "Error parsing Comment.", "Error parsing Declaration.", "Error document empty.", "Error null (0) or unexpected EOF found in input stream.", }; --- NEW FILE: SConscript --- Import('env') sources = Split(""" tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp """) objects = env.SharedObject(sources) Return('objects') --- NEW FILE: tinystr.h --- /* www.sourceforge.net/projects/tinyxml Original file by Yves Berquin. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ #include "tinyxml.h" #ifndef TIXML_USE_STL #ifndef TIXML_STRING_INCLUDED #define TIXML_STRING_INCLUDED #ifdef _MSC_VER #pragma warning( disable : 4530 ) #pragma warning( disable : 4786 ) #endif #include <assert.h> /* TiXmlString is an emulation of the std::string template. Its purpose is to allow compiling TinyXML on compilers with no or poor STL support. Only the member functions relevant to the TinyXML project have been implemented. The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase a string and there's no more room, we allocate a buffer twice as big as we need. */ class TiXmlString { public : // TiXmlString constructor, based on a string, mark explicit to force // us to find unnecessary casting. explicit TiXmlString (const char * instring); // TiXmlString empty constructor TiXmlString () { allocated = 0; cstring = NULL; current_length = 0; } // TiXmlString copy constructor explicit TiXmlString (const TiXmlString& copy); // TiXmlString destructor ~ TiXmlString () { empty_it (); } // Convert a TiXmlString into a classical char * const char * c_str () const { if (allocated) return cstring; return ""; } // Return the length of a TiXmlString size_t length () const { return ( allocated ) ? current_length : 0; } // TiXmlString = operator void operator = (const char * content); // = operator void operator = (const TiXmlString & copy); // += operator. Maps to append TiXmlString& operator += (const char * suffix) { append (suffix); return *this; } // += operator. Maps to append TiXmlString& operator += (char single) { append (single); return *this; } // += operator. Maps to append TiXmlString& operator += (TiXmlString & suffix) { append (suffix); return *this; } bool operator == (const TiXmlString & compare) const; bool operator == (const char* compare) const; bool operator < (const TiXmlString & compare) const; bool operator > (const TiXmlString & compare) const; // Checks if a TiXmlString is empty bool empty () const { return length () ? false : true; } // single char extraction const char& at (unsigned index) const { assert( index < length ()); return cstring [index]; } // find a char in a string. Return TiXmlString::notfound if not found unsigned find (char lookup) const { return find (lookup, 0); } // find a char in a string from an offset. Return TiXmlString::notfound if not found unsigned find (char tofind, unsigned offset) const; /* Function to reserve a big amount of data when we know we'll need it. Be aware that this function clears the content of the TiXmlString if any exists. */ void reserve (unsigned size) { empty_it (); if (size) { allocated = size; cstring = new char [size]; cstring [0] = 0; current_length = 0; } } // [] operator char& operator [] (unsigned index) const { assert( index < length ()); return cstring [index]; } // Error value for find primitive enum { notfound = 0xffffffff, npos = notfound }; void append (const char *str, size_t len ); protected : // The base string char * cstring; // Number of chars allocated size_t allocated; // Current string size size_t current_length; // New size computation. It is simplistic right now : it returns twice the amount // we need size_t assign_new_size (size_t minimum_to_allocate) { return minimum_to_allocate * 2; } // Internal function that clears the content of a TiXmlString void empty_it () { if (cstring) delete [] cstring; cstring = NULL; allocated = 0; current_length = 0; } void append (const char *suffix ); // append function for another TiXmlString void append (const TiXmlString & suffix) { append (suffix . c_str ()); } // append for a single char. void append (char single) { if ( cstring && current_length < (allocated-1) ) { cstring[ current_length ] = single; ++current_length; cstring[ current_length ] = 0; } else { char smallstr [2]; smallstr [0] = single; smallstr [1] = 0; append (smallstr); } } } ; /* TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString. Only the operators that we need for TinyXML have been developped. */ class TiXmlOutStream : public TiXmlString { public : TiXmlOutStream () : TiXmlString () {} // TiXmlOutStream << operator. Maps to TiXmlString::append TiXmlOutStream & operator << (const char * in) { append (in); return (* this); } // TiXmlOutStream << operator. Maps to TiXmlString::append TiXmlOutStream & operator << (const TiXmlString & in) { append (in . c_str ()); return (* this); } } ; #ifdef _MSC_VER #pragma warning( default : 4530 ) #pragma warning( default : 4786 ) #endif #endif // TIXML_STRING_INCLUDED #endif // TIXML_USE_STL --- NEW FILE: tinyxml.cpp --- /* www.sourceforge.net/projects/tinyxml Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. [...1553 lines suppressed...] } TiXmlHandle TiXmlHandle::ChildElement( const char* value, int count ) const { if ( node ) { int i; TiXmlElement* child = node->FirstChildElement( value ); for ( i=0; child && i<count; child = child->NextSiblingElement( value ), ++i ) { // nothing } if ( child ) return TiXmlHandle( child ); } return TiXmlHandle( 0 ); } |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:51:00
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529/vc71 Modified Files: opal-ode.vcproj opal.suo Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. Index: opal-ode.vcproj =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal-ode.vcproj,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** opal-ode.vcproj 3 May 2005 15:55:54 -0000 1.3 --- opal-ode.vcproj 24 Jun 2005 17:50:48 -0000 1.4 *************** *** 26,30 **** FavorSizeOrSpeed="0" AdditionalIncludeDirectories="" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPAL_DLL_EXPORTING;OPAL_USE_XML;OPAL_USE_MESH" MinimalRebuild="TRUE" BasicRuntimeChecks="0" --- 26,30 ---- FavorSizeOrSpeed="0" AdditionalIncludeDirectories="" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPAL_DLL_EXPORTING;OPAL_USE_MESH" MinimalRebuild="TRUE" BasicRuntimeChecks="0" *************** *** 76,80 **** FavorSizeOrSpeed="1" AdditionalIncludeDirectories="" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPAL_DLL_EXPORTING;OPAL_USE_XML;OPAL_USE_MESH" RuntimeLibrary="2" UsePrecompiledHeader="0" --- 76,80 ---- FavorSizeOrSpeed="1" AdditionalIncludeDirectories="" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPAL_DLL_EXPORTING;OPAL_USE_MESH" RuntimeLibrary="2" UsePrecompiledHeader="0" *************** *** 383,386 **** --- 383,416 ---- </File> </Filter> + <Filter + Name="TinyXml" + Filter=""> + <Filter + Name="Source Files" + Filter=""> + <File + RelativePath="..\src\external\tinyxml\tinystr.cpp"> + </File> + <File + RelativePath="..\src\external\tinyxml\tinyxml.cpp"> + </File> + <File + RelativePath="..\src\external\tinyxml\tinyxmlerror.cpp"> + </File> + <File + RelativePath="..\src\external\tinyxml\tinyxmlparser.cpp"> + </File> + </Filter> + <Filter + Name="Header Files" + Filter=""> + <File + RelativePath="..\src\external\tinyxml\tinystr.h"> + </File> + <File + RelativePath="..\src\external\tinyxml\tinyxml.h"> + </File> + </Filter> + </Filter> </Files> <Globals> Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsP6HNUs and /tmp/cvsQE0cKk differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:51:00
|
Update of /cvsroot/opal/opal/tools/tinyxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529/tools/tinyxml Removed Files: SConstruct readme.txt Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. --- SConstruct DELETED --- --- readme.txt DELETED --- |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:50:59
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529/src Modified Files: BlueprintManager.cpp Portability.h SConscript Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. Index: SConscript =================================================================== RCS file: /cvsroot/opal/opal/src/SConscript,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** SConscript 18 Apr 2005 22:21:03 -0000 1.20 --- SConscript 24 Jun 2005 17:50:48 -0000 1.21 *************** *** 83,93 **** """) - # Add in XML source if desired - if env['XML']: - if env['debug'] == True: - env.Append(LIBS = ['tinyxmld']) - else: - env.Append(LIBS = ['tinyxml']) - objects = env.SharedObject(sources) --- 83,86 ---- Index: BlueprintManager.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/BlueprintManager.cpp,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** BlueprintManager.cpp 3 May 2005 15:55:53 -0000 1.42 --- BlueprintManager.cpp 24 Jun 2005 17:50:48 -0000 1.43 *************** *** 43,49 **** #include "VolumeSensorData.h" ! #ifdef OPAL_USE_XML ! #include <tinyxml/tinyxml.h> ! #endif namespace opal --- 43,47 ---- #include "VolumeSensorData.h" ! #include "external/tinyxml/tinyxml.h" namespace opal *************** *** 68,73 **** const std::string& filename) { - #ifdef OPAL_USE_XML - // Load the file. TiXmlDocument file; --- 66,69 ---- *************** *** 85,91 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadFile: \ ! Missing root element in " << filename ! << ". Ignoring file." << std::endl; return; } --- 81,86 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadFile: Missing root element " ! << "in " << filename << ". Ignoring file." << std::endl; return; } *************** *** 155,159 **** // Finalized the Blueprint. bp.finalize(); - #endif } --- 150,153 ---- *************** *** 165,170 **** SolidData* data = new SolidData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 159,162 ---- *************** *** 317,321 **** } } ! #endif return data; } --- 309,313 ---- } } ! return data; } *************** *** 328,333 **** JointData* data = new JointData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 320,323 ---- *************** *** 613,617 **** } } ! #endif return data; } --- 603,607 ---- } } ! return data; } *************** *** 624,629 **** MotorData* data = NULL; - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 614,617 ---- *************** *** 697,701 **** } } ! #endif return data; } --- 685,689 ---- } } ! return data; } *************** *** 709,714 **** AttractorMotorData* data = new AttractorMotorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 697,700 ---- *************** *** 744,754 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadAttractorMotor: Missing \ ! References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! #endif return data; } --- 730,740 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadAttractorMotor: Missing " ! << "References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! return data; } *************** *** 762,767 **** GearedMotorData* data = new GearedMotorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 748,751 ---- *************** *** 777,784 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Invalid \ ! value " << data->jointAxisNum << " for GearedMotor \ ! JointAxisNum parameter in " << filename ! << " will be ignored." << std::endl; data->jointAxisNum = 0; } --- 761,768 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Invalid " ! << "value " << data->jointAxisNum << " for " ! << "GearedMotor JointAxisNum parameter in " ! << filename << " will be ignored." << std::endl; data->jointAxisNum = 0; } *************** *** 822,832 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Missing \ ! References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! #endif return data; } --- 806,816 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Missing " ! << "References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! return data; } *************** *** 840,845 **** ServoMotorData* data = new ServoMotorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 824,827 ---- *************** *** 855,862 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Invalid \ ! value " << data->jointAxisNum << " for GearedMotor \ ! JointAxisNum parameter in " << filename ! << " will be ignored." << std::endl; data->jointAxisNum = 0; } --- 837,844 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadGearedMotor: Invalid " ! << "value " << data->jointAxisNum << " for " ! << "GearedMotor JointAxisNum parameter in " ! << filename << " will be ignored." << std::endl; data->jointAxisNum = 0; } *************** *** 881,886 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadServoMotor: Invalid \ ! Mode " << mode << " in " << data->name << " in " << filename << " will be ignored." << std::endl; --- 863,868 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadServoMotor: Invalid " ! << "Mode " << mode << " in " << data->name << " in " << filename << " will be ignored." << std::endl; *************** *** 933,943 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadServoMotor: Missing \ ! References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! #endif return data; } --- 915,925 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadServoMotor: Missing " ! << "References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! return data; } *************** *** 951,956 **** SpringMotorData* data = new SpringMotorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 933,936 ---- *************** *** 977,983 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSpringMotor: Invalid \ ! Mode " << mode << " in " << data->name << ! " in " << filename << " will be ignored." << std::endl; } --- 957,963 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSpringMotor: Invalid " ! " Mode " << mode << " in " << data->name ! << " in " << filename << " will be ignored." << std::endl; } *************** *** 1079,1089 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSpringMotor: Missing \ ! References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! #endif return data; } --- 1059,1069 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSpringMotor: Missing " ! " References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! return data; } *************** *** 1097,1102 **** ThrusterMotorData* data = new ThrusterMotorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 1077,1080 ---- *************** *** 1143,1149 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadThrusterMotor: Invalid \ ! Force type " << forceType << " in " << data->name << ! " in " << filename << " will be ignored." << std::endl; } --- 1121,1127 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadThrusterMotor: Invalid " ! << "Force type " << forceType << " in " << data->name ! << " in " << filename << " will be ignored." << std::endl; } *************** *** 1183,1193 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSolidMotor: Missing \ ! References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! #endif return data; } --- 1161,1171 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadSolidMotor: Missing " ! << "References element in " << data->name << " in " << filename << ". Ignoring the Motor." << std::endl; delete data; return NULL; } ! return data; } *************** *** 1200,1205 **** SensorData* data = NULL; - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 1178,1181 ---- *************** *** 1292,1296 **** data->solidBlueprintRefName = ""; } ! #endif return data; } --- 1268,1272 ---- data->solidBlueprintRefName = ""; } ! return data; } *************** *** 1304,1310 **** AccelerationSensorData* data = new AccelerationSensorData(); - #ifdef OPAL_USE_XML // Nothing special to load for AccelerationSensors. ! #endif return data; } --- 1280,1285 ---- AccelerationSensorData* data = new AccelerationSensorData(); // Nothing special to load for AccelerationSensors. ! return data; } *************** *** 1318,1323 **** InclineSensorData* data = new InclineSensorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 1293,1296 ---- *************** *** 1334,1338 **** } - #endif return data; } --- 1307,1310 ---- *************** *** 1346,1351 **** RaycastSensorData* data = new RaycastSensorData(); - #ifdef OPAL_USE_XML - TiXmlNode* paramNodePtr = NULL; --- 1318,1321 ---- *************** *** 1377,1381 **** } - #endif return data; } --- 1347,1350 ---- *************** *** 1389,1395 **** VolumeSensorData* data = new VolumeSensorData(); - #ifdef OPAL_USE_XML // Nothing special to load for VolumeSensors. ! #endif return data; } --- 1358,1363 ---- VolumeSensorData* data = new VolumeSensorData(); // Nothing special to load for VolumeSensors. ! return data; } *************** *** 1402,1407 **** ShapeData* data = NULL; - #ifdef OPAL_USE_XML - std::string type = getAttributeString(nodePtr, "type"); --- 1370,1373 ---- *************** *** 1505,1509 **** } - #endif return data; } --- 1471,1474 ---- *************** *** 1512,1517 **** const TiXmlNode* nodePtr, const std::string& filename) { - #ifdef OPAL_USE_XML - // Loop over all Transform sub-elements. TiXmlNode* transformNodePtr = NULL; --- 1477,1480 ---- *************** *** 1579,1587 **** { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadOffset: Invalid \ ! transform type " << type << " in " << filename << std::endl; } } - #endif } --- 1542,1550 ---- { OPAL_LOGGER("warning") << ! "opal::BlueprintManager::loadOffset: Invalid " ! << "transform type " << type << " in " << filename ! << std::endl; } } } *************** *** 1589,1594 **** const std::string& name)const { - #ifdef OPAL_USE_XML - TiXmlElement* elementPtr = const_cast<TiXmlNode*>(nodePtr)->ToElement(); --- 1552,1555 ---- *************** *** 1608,1614 **** return (real)temp; } - #else - return 0; - #endif } --- 1569,1572 ---- *************** *** 1616,1621 **** const TiXmlNode* nodePtr, const std::string& name)const { - #ifdef OPAL_USE_XML - TiXmlElement* elementPtr = const_cast<TiXmlNode*>(nodePtr)->ToElement(); --- 1574,1577 ---- *************** *** 1635,1641 **** return temp; } - #else - return ""; - #endif } } --- 1591,1594 ---- Index: Portability.h =================================================================== RCS file: /cvsroot/opal/opal/src/Portability.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Portability.h 19 Apr 2005 14:20:36 -0000 1.8 --- Portability.h 24 Jun 2005 17:50:48 -0000 1.9 *************** *** 60,74 **** #define OPAL_EXPORT_FUNCTION extern "C" OPAL_DECL - // In Visual Studio, this is the only way to conditionally link with - // external libraries. - #if defined (OPAL_USE_XML) - #if defined(WIN32) || defined(_WIN32) - #if defined(_DEBUG) - #pragma comment(lib,"tinyxmld.lib") - #else - #pragma comment(lib,"tinyxml.lib") - #endif - #endif - #endif - #endif --- 60,62 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:50:59
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529/samples/playpen Modified Files: playpen.suo Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvs0kTx6M and /tmp/cvs12tpoE differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:50:59
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27529 Modified Files: SConstruct changelog.txt gatherSrcRelease.bat readme.txt todo.txt win32BinaryReadme.txt Log Message: Put TinyXml source in with the OPAL source to make it easier to build for everyone. Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** todo.txt 24 Jun 2005 16:40:48 -0000 1.80 --- todo.txt 24 Jun 2005 17:50:47 -0000 1.81 *************** *** 2,7 **** ================= - * put TinyXML in with the OPAL source to make it easier to build; remove conditional compilation options from sconstruct and win32 source - * from EarthquakeProof in the forum: "I've noticed another thing too, when two Solids which are static collide, there is an error. So I've modified a little ODESimulator.cpp to solve that (the problem is a call to dGeomIsBodyEnabled when the body is 0 which is the case with static Solids. " --- 2,5 ---- Index: gatherSrcRelease.bat =================================================================== RCS file: /cvsroot/opal/opal/gatherSrcRelease.bat,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gatherSrcRelease.bat 18 Apr 2005 22:21:00 -0000 1.1 --- gatherSrcRelease.bat 24 Jun 2005 17:50:47 -0000 1.2 *************** *** 15,18 **** --- 15,23 ---- copy ..\src\ODE\*.h src\ODE copy ..\src\ODE\*.cpp src\ODE + mkdir src\external + mkdir src\external\tinyxml + copy ..\src\external\tinyxml\SConscript src\external\tinyxml + copy ..\src\external\tinyxml\*.h src\external\tinyxml + copy ..\src\external\tinyxml\*.cpp src\external\tinyxml mkdir vc71 *************** *** 27,33 **** copy ..\tools\blender\*.py tools\blender copy ..\tools\blender\*.txt tools\blender - mkdir tools\tinyxml - copy ..\tools\tinyxml\SConstruct tools\tinyxml - copy ..\tools\tinyxml\*.txt tools\tinyxml mkdir samples --- 32,35 ---- Index: win32BinaryReadme.txt =================================================================== RCS file: /cvsroot/opal/opal/win32BinaryReadme.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** win32BinaryReadme.txt 21 Apr 2005 17:04:50 -0000 1.2 --- win32BinaryReadme.txt 24 Jun 2005 17:50:47 -0000 1.3 *************** *** 16,20 **** * The OPAL libraries have been built with the following options: ! XML=true MESH=true --- 16,20 ---- * The OPAL libraries have been built with the following options: ! double=false MESH=true *************** *** 22,26 **** Dependencies: ------------------------------------ ! 1. TinyXML: headers are required because the OPAL libraries in this package are built with the XML option; if you don't want this, you can rebuild the OPAL libraries without the XML option. --- 22,26 ---- Dependencies: ------------------------------------ ! None. Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/SConstruct,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SConstruct 24 Jun 2005 16:40:47 -0000 1.10 --- SConstruct 24 Jun 2005 17:50:47 -0000 1.11 *************** *** 1,5 **** import os ! def printOptions(debugMode, engine, XML): print 'Building OPAL with the following options: ' if debugMode == True: --- 1,5 ---- import os ! def printOptions(debugMode, engine, useDouble): print 'Building OPAL with the following options: ' if debugMode == True: *************** *** 8,15 **** print 'mode = release' print 'engine = ' + engine ! if XML == True: ! print 'Use XML functions = true' else: ! print 'Use XML functions = false' def setupBaseEnvironment(): --- 8,15 ---- print 'mode = release' print 'engine = ' + engine ! if useDouble == True: ! print 'Use double precision = true' else: ! print 'Use double precision = false' def setupBaseEnvironment(): *************** *** 72,78 **** opts.AddOptions( BoolOption('debug', 'Build in debug mode', False), - BoolOption('XML', 'Build with XML saving/loading functions (TinyXML headers required)', True), BoolOption('mesh', 'Build with Mesh Shape functionality', True), ! BoolOption('double', 'Build with OPAL's reals set to double instead of float', False), PathOption('extra_include_path', 'Additional include directory', '.'), PathOption('extra_lib_path', 'Additional lib directory', '.')) --- 72,77 ---- opts.AddOptions( BoolOption('debug', 'Build in debug mode', False), BoolOption('mesh', 'Build with Mesh Shape functionality', True), ! BoolOption('double', 'Build with reals set to double instead of float', False), PathOption('extra_include_path', 'Additional include directory', '.'), PathOption('extra_lib_path', 'Additional lib directory', '.')) *************** *** 105,112 **** buildDir = 'build/' + env['PLATFORM'] + '/release' - # Add XML support if desired. - if env['XML'] == True: - env.Append(CPPDEFINES = ['OPAL_USE_XML']) - # Add mesh support if desired. if env['mesh'] == True: --- 104,107 ---- *************** *** 118,122 **** if len(COMMAND_LINE_TARGETS) != 0: ! printOptions(env['debug'], physicsEngine, env['XML']) #else: # printTargetsMessage() --- 113,117 ---- if len(COMMAND_LINE_TARGETS) != 0: ! printOptions(env['debug'], physicsEngine, env['double']) #else: # printTargetsMessage() *************** *** 124,130 **** # Generate command line help text env.Help(opts.GenerateHelpText(env) + ! '\nSpecify one of the following targets: ' + '\n-> ODE: build with ODE support' + '\n-> install: install libraries and header files to <prefix>' + '\n') --- 119,128 ---- # Generate command line help text env.Help(opts.GenerateHelpText(env) + ! '\nSpecify one or more of the following targets (Note: a physics engine target is required): ' + '\n-> ODE: build with ODE support' + '\n-> install: install libraries and header files to <prefix>' + + '\nExample 1 (build debug library with ODE support): scons ODE debug=true' + + '\nExample 2 (build with ODE support and install): scons ODE install prefix=/path/to/install/dir' + + '\nExample 3 (build with ODE support and specify header/lib paths): scons ODE extra_include_path=/path/to/includes extra_lib_path=/path/to/libs' + '\n') *************** *** 135,140 **** objects = SConscript(dirs = ['src'], build_dir = buildDir, duplicate = 0) ! # Add in XML-related objects (does nothing if XML is not used) ! #objects += SConscript(dirs = ['external/src/tinyxml'], build_dir = buildDir + '/tinyxml', duplicate = 0) opalLib = '' --- 133,138 ---- objects = SConscript(dirs = ['src'], build_dir = buildDir, duplicate = 0) ! # Add in XML-related objects ! objects += SConscript(dirs = ['src/external/tinyxml'], build_dir = buildDir + '/external/tinyxml', duplicate = 0) opalLib = '' Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** changelog.txt 24 Jun 2005 16:40:48 -0000 1.27 --- changelog.txt 24 Jun 2005 17:50:47 -0000 1.28 *************** *** 15,19 **** ------------------------------------------ ! * 6-24-05: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. * 6-19-05: Added Spaces tutorial to website. (Tyler Streeter) --- 15,21 ---- ------------------------------------------ ! * 6-24-05: Put TinyXml source in with the OPAL source to make it easier to build for everyone. (Tyler Streeter) ! ! * 6-24-05: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. (Tyler Streeter) * 6-19-05: Added Spaces tutorial to website. (Tyler Streeter) Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/readme.txt,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** readme.txt 2 May 2005 16:40:58 -0000 1.40 --- readme.txt 24 Jun 2005 17:50:47 -0000 1.41 *************** *** 8,12 **** ------------------------------------ samples - directory containing example applications that show how to use OPAL ! src - directory containing the OPAL source code (including base OPAL functions and support for various physics engines) tools - miscellaneous utilities (e.g. exporter scripts for 3rd-party content generation software) vc71 - Visual Studio .NET 2003 project files --- 8,12 ---- ------------------------------------ samples - directory containing example applications that show how to use OPAL ! src - directory containing the OPAL source code (base OPAL code and support for specific physics engines) tools - miscellaneous utilities (e.g. exporter scripts for 3rd-party content generation software) vc71 - Visual Studio .NET 2003 project files *************** *** 23,29 **** 1. A physics engine: at least one physics engine must be installed; see the OPAL website for a list of supported physics engines 2. SCons (and Python): Scons is required unless you want to use the Visual Studio projects; Scons requires Python - 3. TinyXML (optional): headers and static library are required for OPAL's XML functions (a tinyxml SConstruct is provided in the 'tools' directory) - - * Warning: When using ODE, make sure ODE's dReals and OPAL's reals are set to the same floating point precision. OPAL's reals are typedef'd to 'float' by default. If you would rather use doubles, change OPAL's real typedef to double. --- 23,26 ---- *************** *** 37,43 **** scons ODE ! This should generate opal-ode.so or opal-ode.dll, depending on the platform. Note that it builds the optimized version by default. To build the debug version without XML support, type: ! scons ODE debug=true XML=false You can specify additional include and library paths like this: --- 34,41 ---- scons ODE ! This should generate opal-ode.so or opal-ode.dll, depending on the platform. Note that it builds the optimized version by default. ! To build the debug version with double precision reals (instead of the default, which uses floats), type: ! scons ODE debug=true double=true You can specify additional include and library paths like this: |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:02:38
|
Update of /cvsroot/opal/opal/src/external/tinyxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4589/tinyxml Log Message: Directory /cvsroot/opal/opal/src/external/tinyxml added to the repository |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 17:02:20
|
Update of /cvsroot/opal/opal/src/external In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4446/external Log Message: Directory /cvsroot/opal/opal/src/external added to the repository |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 16:40:58
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27140/vc71 Modified Files: opal.suo Log Message: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsmAgVAH and /tmp/cvs0LggRZ differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 16:40:58
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27140/src Modified Files: OpalMath.h Log Message: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. Index: OpalMath.h =================================================================== RCS file: /cvsroot/opal/opal/src/OpalMath.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** OpalMath.h 2 May 2005 16:40:59 -0000 1.13 --- OpalMath.h 24 Jun 2005 16:40:49 -0000 1.14 *************** *** 33,37 **** namespace opal { ! typedef float real; namespace globals --- 33,41 ---- namespace opal { ! #ifdef OPAL_USE_DOUBLE ! typedef double real; ! #else ! typedef float real; ! #endif namespace globals |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 16:40:57
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27140/src/ODE Modified Files: ODESimulator.cpp Log Message: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -d -r1.103 -r1.104 *** ODESimulator.cpp 19 Jun 2005 17:09:13 -0000 1.103 --- ODESimulator.cpp 24 Jun 2005 16:40:49 -0000 1.104 *************** *** 33,36 **** --- 33,45 ---- OPAL_EXPORT_FUNCTION opal::Simulator* OPAL_CALL createSimulator() { + // Check to make to ODE's reals are the same size as OPAL's reals. + if (sizeof(real) != sizeof(dReal)) + { + OPAL_LOGGER("warning") << "The size of data types (OPAL) real " + << "and (ODE) dReal do not match. Make sure these " + << "libraries are built using the same floating point " + << "precision (float or double)." << std::endl; + } + return new opal::ODESimulator(); } |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 16:40:57
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27140/samples/playpen Modified Files: playpen.suo Log Message: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsROJTQw and /tmp/cvsmcpkfO differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-24 16:40:57
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27140 Modified Files: SConstruct changelog.txt todo.txt Log Message: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/SConstruct,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** SConstruct 14 Apr 2005 09:15:06 -0000 1.9 --- SConstruct 24 Jun 2005 16:40:47 -0000 1.10 *************** *** 74,77 **** --- 74,78 ---- BoolOption('XML', 'Build with XML saving/loading functions (TinyXML headers required)', True), BoolOption('mesh', 'Build with Mesh Shape functionality', True), + BoolOption('double', 'Build with OPAL's reals set to double instead of float', False), PathOption('extra_include_path', 'Additional include directory', '.'), PathOption('extra_lib_path', 'Additional lib directory', '.')) *************** *** 104,115 **** buildDir = 'build/' + env['PLATFORM'] + '/release' ! # Add XML support if desired if env['XML'] == True: env.Append(CPPDEFINES = ['OPAL_USE_XML']) ! # Add mesh support if desired if env['mesh'] == True: env.Append(CPPDEFINES = ['OPAL_USE_MESH']) if len(COMMAND_LINE_TARGETS) != 0: printOptions(env['debug'], physicsEngine, env['XML']) --- 105,120 ---- buildDir = 'build/' + env['PLATFORM'] + '/release' ! # Add XML support if desired. if env['XML'] == True: env.Append(CPPDEFINES = ['OPAL_USE_XML']) ! # Add mesh support if desired. if env['mesh'] == True: env.Append(CPPDEFINES = ['OPAL_USE_MESH']) + # Add double floating point precision support if desired. + if env['double'] == True: + env.Append(CPPDEFINES = ['OPAL_USE_DOUBLE']) + if len(COMMAND_LINE_TARGETS) != 0: printOptions(env['debug'], physicsEngine, env['XML']) Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** changelog.txt 19 Jun 2005 17:09:13 -0000 1.26 --- changelog.txt 24 Jun 2005 16:40:48 -0000 1.27 *************** *** 15,18 **** --- 15,22 ---- ------------------------------------------ + * 6-24-05: Added a compile-time flag OPAL_USE_DOUBLE which determines whether OPAL's reals are floats or doubles. Also added a run-time check when a physics engine-specific Simulator (e.g. ODESimulator) is created to make sure OPAL's reals are the same size as the physics engine's reals. + + * 6-19-05: Added Spaces tutorial to website. (Tyler Streeter) + * 6-19-05: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. (Tyler Streeter) Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** todo.txt 18 Jun 2005 17:45:52 -0000 1.79 --- todo.txt 24 Jun 2005 16:40:48 -0000 1.80 *************** *** 4,13 **** * put TinyXML in with the OPAL source to make it easier to build; remove conditional compilation options from sconstruct and win32 source - * #ifdef OPAL_USE_DOUBLE - typedef double real; - #else - typedef float real; - #endif - * from EarthquakeProof in the forum: "I've noticed another thing too, when two Solids which are static collide, there is an error. So I've modified a little ODESimulator.cpp to solve that (the problem is a call to dGeomIsBodyEnabled when the body is 0 which is the case with static Solids. " --- 4,7 ---- *************** *** 15,18 **** --- 9,22 ---- * add simple sample app + * keep track of solids that have moved; allows users to only update visuals when necessary + - store a 'isMoving' variable + - set 'isMoving' to false each time step? + - certain events set 'isMoving' to true + - setPosition + - solid is awake and dynamic + - basically, the only only thing that has 'isMoving' false is a solid that is sleeping or static that hasn't been moved manually via setPosition + + * add option for SpringMotor to depend on mass/inertia or not + For Version 0.4.0 ================= |
|
From: tylerstreeter <tyl...@us...> - 2005-06-20 01:28:57
|
Update of /cvsroot/opal/web/files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29634/files Added Files: space_diagram1.png space_diagram2.png space_diagram3.png space_diagrams.doc Log Message: Added Spaces tutorial. --- NEW FILE: space_diagram1.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: space_diagrams.doc --- (This appears to be a binary file; contents omitted.) --- NEW FILE: space_diagram3.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: space_diagram2.png --- (This appears to be a binary file; contents omitted.) |
|
From: tylerstreeter <tyl...@us...> - 2005-06-20 01:28:57
|
Update of /cvsroot/opal/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29634 Modified Files: documentation.html overview.html todo.txt Added Files: tutorial11.html Log Message: Added Spaces tutorial. Index: documentation.html =================================================================== RCS file: /cvsroot/opal/web/documentation.html,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** documentation.html 18 Jun 2005 19:19:45 -0000 1.19 --- documentation.html 20 Jun 2005 01:28:48 -0000 1.20 *************** *** 25,39 **** <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>124</o:Revision> <o:TotalTime>125</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-06-18T19:15:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>365</o:Words> ! <o:Characters>2086</o:Characters> <o:Company>none</o:Company> ! <o:Lines>17</o:Lines> ! <o:Paragraphs>4</o:Paragraphs> ! <o:CharactersWithSpaces>2447</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> --- 25,39 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>126</o:Revision> <o:TotalTime>125</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-06-20T00:54:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>381</o:Words> ! <o:Characters>2178</o:Characters> <o:Company>none</o:Company> ! <o:Lines>18</o:Lines> ! <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2554</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> *************** *** 41,44 **** --- 41,46 ---- <w:WordDocument> <w:Zoom>90</w:Zoom> + <w:SpellingState>Clean</w:SpellingState> + <w:GrammarState>Clean</w:GrammarState> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> *************** *** 72,75 **** --- 74,80 ---- text-decoration:underline; text-underline:single;} + span.SpellE + {mso-style-name:""; + mso-spl-e:yes;} @page Section1 {size:8.5in 11.0in; *************** *** 99,103 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="68610"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 104,108 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="69634"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 234,238 **** <p class=MsoNormal><span style='font-size:14.0pt;font-family:"Book Antiqua"; color:black'><a href="tutorial10.html">Tutorial 10</a></span><span ! style='font-family:"Book Antiqua";color:black'>: Mesh Shapes.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-size:14.0pt;font-family:"Book Antiqua"; --- 239,247 ---- <p class=MsoNormal><span style='font-size:14.0pt;font-family:"Book Antiqua"; color:black'><a href="tutorial10.html">Tutorial 10</a></span><span ! style='font-family:"Book Antiqua";color:black'>: Mesh Shapes<o:p></o:p></span></p> ! <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> ! <p class=MsoNormal><span style='font-size:14.0pt;font-family:"Book Antiqua"; ! color:black'><a href="tutorial11.html">Tutorial 11</a></span><span ! style='font-family:"Book Antiqua";color:black'>: Spaces<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-size:14.0pt;font-family:"Book Antiqua"; *************** *** 247,252 **** people wanting to request/submit changes to OPAL via bug reports, feature requests, or actual patch submissions.<span style='mso-spacerun:yes'> ! </span>Also contains information on OPALs design philosophy and coding ! conventions for those writing patches.</span></p> </td> </tr> --- 256,261 ---- people wanting to request/submit changes to OPAL via bug reports, feature requests, or actual patch submissions.<span style='mso-spacerun:yes'> ! </span>Also contains information on <span class=SpellE>OPALs</span> design ! philosophy and coding conventions for those writing patches.</span></p> </td> </tr> --- NEW FILE: tutorial11.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 10"> <meta name=Originator content="Microsoft Word 10"> <link rel=File-List href="tutorial11_files/filelist.xml"> <link rel=Edit-Time-Data href="tutorial11_files/editdata.mso"> <!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--> <title>OPAL: Open Physics Abstraction Layer</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> <o:Revision>345</o:Revision> <o:TotalTime>712</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> <o:LastSaved>2005-06-20T01:26:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>524</o:Words> <o:Characters>2993</o:Characters> <o:Company>none</o:Company> <o:Lines>24</o:Lines> <o:Paragraphs>7</o:Paragraphs> <o:CharactersWithSpaces>3510</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>90</w:Zoom> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <style> <!-- /* Font Definitions */ @font-face {font-family:Courier; panose-1:2 7 4 9 2 2 5 2 4 4; mso-font-charset:0; mso-generic-font-family:modern; mso-font-format:other; mso-font-pitch:fixed; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:"Book Antiqua"; panose-1:2 4 6 2 5 3 5 3 3 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:647 0 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; color:white;} a:link, span.MsoHyperlink {color:#3366FF; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:#000066; text-decoration:underline; text-underline:single;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:490411747; mso-list-template-ids:-1789258516;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l1 {mso-list-id:1871063244; mso-list-type:hybrid; mso-list-template-ids:-876452524 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:Symbol;} @list l1:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} @list l1:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";} </style> <![endif]--><!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="78850"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> <o:regrouptable v:ext="edit"> <o:entry new="1" old="0"/> <o:entry new="2" old="0"/> <o:entry new="3" old="0"/> <o:entry new="4" old="0"/> </o:regrouptable> </o:shapelayout></xml><![endif]--> </head> <body bgcolor=white lang=EN-US link="#3366FF" vlink="#000066" style='tab-interval: .5in' alink="#ffcc33"> <div class=Section1> <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width="95%" style='width:95.58%;mso-cellspacing:0in;mso-padding-alt:7.5pt 7.5pt 7.5pt 7.5pt'> <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'> <td width=1295 valign=top style='width:777.0pt;padding:7.5pt 7.5pt 7.5pt 7.5pt'> <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:black'><o:p> </o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:black'><o:p> </o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:#333333'><img width=534 height=129 id="_x0000_i1025" src="files/opal_logo.jpg" border=0><o:p></o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:black'><o:p> </o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:black'><o:p> </o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><span style='font-size:22.0pt;font-family:"Book Antiqua";mso-bidi-font-family:Arial; color:black'>Tutorial 11: Spaces<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>Spaces are useful for optimizing collision detection in application-specific ways.<span style='mso-spacerun:yes'> </span>They allow you to setup a customized space-partitioning scheme by encapsulating groups of Shapes.<span style='mso-spacerun:yes'> </span>Here are a few important concepts to keep in mind:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=disc> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>Every Shape is contained within a Space.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>Spaces can contain Shapes and other Spaces.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>Every Simulator has a single root Space internally which contains all of its Shapes and possibly other Spaces.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>By default, all new Solids Shapes are added to the Simulators root Space.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>Every Shape within a single Solid must be contained within the same Space.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>Collision checks are performed among all of a Spaces contents (Shapes and/or Spaces).<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>If two Spaces collide, collision checks are performed between the contents of one Space and the contents of the other Space.<o:p></o:p></span></li> <li class=MsoNormal style='color:black;mso-list:l1 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua"'>If a Shape collides with a Space, collision checks are performed between the Shape and the contents of the Space.<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>Spaces are mainly useful when you have lots of Shapes that are naturally grouped together.<span style='mso-spacerun:yes'> </span>For a simple example, say your application contains ten simulated robots, each using ten Solids (each Solid using a single Shape).<span style='mso-spacerun:yes'> </span>You have two options: leave all the Solids in the Simulators root Space, or create a new Space for each robot.<span style='mso-spacerun:yes'> </span>In the first case there would be 100 * 100 collision checks every time step because every Shape needs to be checked against every other Shape.<span style='mso-spacerun:yes'> </span>In the second case, as long as the robots werent near each other, there would only be 10 * 10 collision checks per time step because every Space would be checked against the other Spaces.<span style='mso-spacerun:yes'> </span>Obviously, this can save a lot of time.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>The following examples show a few different ways to setup Spaces.<span style='mso-spacerun:yes'> </span>Each example contains sample code and a diagram showing the Space hierarchy.<span style='mso-spacerun:yes'> </span>Note that Solids are shown in the diagrams, but it is the Shapes that are actually contained within the Spaces.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Example 1</span></b><span style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial;color:#333333'><img width=465 height=286 id="_x0000_i1026" src="files/space_diagram1.png" border=0></span><span style='font-family:"Book Antiqua"; color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 align=left style='background:silver;border-collapse:collapse;border:none;mso-border-alt: solid windowtext .25pt;mso-table-lspace:9.0pt;margin-left:.1in;mso-table-rspace: 9.0pt;margin-right:.1in;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal: page;mso-table-left:7.35pt;mso-table-top:12.7pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:22.95pt'> <td width=974 valign=top style='width:584.6pt;border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .25pt;padding:0in 5.4pt 0in 5.4pt; height:22.95pt'> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Simulator* sim = opal::createSimulator();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid1 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid2 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid3 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>// Add Shapes to the Solids.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> </td> </tr> </table> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Example 2</span></b><span style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial;color:#333333'><img width=502 height=373 id="_x0000_i1027" src="files/space_diagram2.png" border=0></span><span style='font-family:"Book Antiqua"; color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 align=left style='background:silver;border-collapse:collapse;border:none;mso-border-alt: solid windowtext .25pt;mso-table-lspace:9.0pt;margin-left:.1in;mso-table-rspace: 9.0pt;margin-right:.1in;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal: page;mso-table-left:7.35pt;mso-table-top:12.7pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:22.95pt'> <td width=974 valign=top style='width:584.6pt;border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .25pt;padding:0in 5.4pt 0in 5.4pt; height:22.95pt'> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Simulator* sim = opal::createSimulator();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid1 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid2 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid3 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>// Add Shapes to the Solids.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Space* space1 = sim->createSpace();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid2->setSpace(space1);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid3->setSpace(space1);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> </td> </tr> </table> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Example 3</span></b><span style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial;color:#333333'><img width=562 height=466 id="_x0000_i1028" src="files/space_diagram3.png" border=0></span><span style='font-family:"Book Antiqua"; color:black'><o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 align=left style='background:silver;border-collapse:collapse;border:none;mso-border-alt: solid windowtext .25pt;mso-table-lspace:9.0pt;margin-left:.1in;mso-table-rspace: 9.0pt;margin-right:.1in;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal: page;mso-table-left:7.35pt;mso-table-top:12.7pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:22.95pt'> <td width=974 valign=top style='width:584.6pt;border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .25pt;padding:0in 5.4pt 0in 5.4pt; height:22.95pt'> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Simulator* sim = opal::createSimulator();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid1 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid2 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid3 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Solid* solid4 = sim->createSolid();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>// Add Shapes to the Solids.<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Space* space1 = sim->createSpace();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::Space* space2 = sim->createSpace();<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>space2->setParentSpace(space1);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid2->setSpace(space1);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid3->setSpace(space2);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid4->setSpace(space2);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'><o:p> </o:p></span></p> </td> </tr> </table> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> </td> </tr> </table> <p class=MsoNormal align=center style='margin-bottom:12.0pt;text-align:center'><span style='font-size:10.0pt;font-family:"Book Antiqua";mso-bidi-font-family:Arial; color:#333333'><o:p> </o:p></span></p> <p class=MsoNormal align=center style='margin-bottom:12.0pt;text-align:center'><span style='font-size:8.0pt;font-family:"Book Antiqua";mso-bidi-font-family:Arial; color:black'>OPAL is Copyright © 2004-2005 Alan Fischer, Andres Reinot, and Tyler Streeter<o:p></o:p></span></p> </div> </body> </html> Index: overview.html =================================================================== RCS file: /cvsroot/opal/web/overview.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** overview.html 28 Mar 2005 18:45:52 -0000 1.3 --- overview.html 20 Jun 2005 01:28:48 -0000 1.4 *************** *** 25,39 **** <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>103</o:Revision> ! <o:TotalTime>167</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-03-28T16:36:00Z</o:LastSaved> ! <o:Pages>1</o:Pages> ! <o:Words>430</o:Words> ! <o:Characters>2451</o:Characters> <o:Company>none</o:Company> ! <o:Lines>20</o:Lines> ! <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2876</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> --- 25,39 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>113</o:Revision> ! <o:TotalTime>175</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-06-20T01:27:00Z</o:LastSaved> ! <o:Pages>2</o:Pages> ! <o:Words>460</o:Words> ! <o:Characters>2623</o:Characters> <o:Company>none</o:Company> ! <o:Lines>21</o:Lines> ! <o:Paragraphs>6</o:Paragraphs> ! <o:CharactersWithSpaces>3077</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> *************** *** 82,87 **** /* List Definitions */ @list l0 ! {mso-list-id:101925727; ! mso-list-template-ids:-2002638942;} @list l0:level1 {mso-level-number-format:bullet; --- 82,87 ---- /* List Definitions */ @list l0 ! {mso-list-id:111634651; ! mso-list-template-ids:-550203810;} @list l0:level1 {mso-level-number-format:bullet; *************** *** 94,99 **** mso-bidi-font-family:"Times New Roman";} @list l1 ! {mso-list-id:418791444; ! mso-list-template-ids:195823180;} @list l1:level1 {mso-level-number-format:bullet; --- 94,99 ---- mso-bidi-font-family:"Times New Roman";} @list l1 ! {mso-list-id:243950843; ! mso-list-template-ids:-2139086922;} @list l1:level1 {mso-level-number-format:bullet; *************** *** 106,113 **** mso-bidi-font-family:"Times New Roman";} @list l2 {mso-list-id:482813319; mso-list-type:hybrid; mso-list-template-ids:-413384936 67698691 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l2:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 106,137 ---- mso-bidi-font-family:"Times New Roman";} @list l2 + {mso-list-id:285697193; + mso-list-template-ids:-709855812;} + @list l2:level1 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + mso-ansi-font-size:10.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} + @list l3 + {mso-list-id:354617698; + mso-list-template-ids:900488952;} + @list l3:level1 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:.5in; + mso-level-number-position:left; + text-indent:-.25in; + mso-ansi-font-size:10.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} + @list l4 {mso-list-id:482813319; mso-list-type:hybrid; mso-list-template-ids:-413384936 67698691 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l4:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 116,155 **** text-indent:-.25in; font-family:"Courier New";} ! @list l2:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l2:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l3 ! {mso-list-id:493492135; ! mso-list-template-ids:1098305926;} ! @list l3:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 140,179 ---- text-indent:-.25in; font-family:"Courier New";} ! @list l4:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l4:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l5 ! {mso-list-id:566887069; ! mso-list-template-ids:69642502;} ! @list l5:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 160,167 **** font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l4 ! {mso-list-id:620653719; ! mso-list-template-ids:2100696208;} ! @list l4:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 184,191 ---- font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l6 ! {mso-list-id:1031420846; ! mso-list-template-ids:-2004724822;} ! @list l6:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 172,179 **** font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l5 ! {mso-list-id:779030331; ! mso-list-template-ids:381684224;} ! @list l5:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 196,203 ---- font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l7 ! {mso-list-id:1142037032; ! mso-list-template-ids:815400762;} ! @list l7:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 184,192 **** font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l6 {mso-list-id:1377509408; mso-list-type:hybrid; mso-list-template-ids:986361314 67698691 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l6:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 208,216 ---- font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l8 {mso-list-id:1377509408; mso-list-type:hybrid; mso-list-template-ids:986361314 67698691 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l8:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 195,246 **** text-indent:-.25in; font-family:"Courier New";} ! @list l6:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l6:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l7 ! {mso-list-id:1431507290; ! mso-list-template-ids:-691753928;} ! @list l7:level1 ! {mso-level-number-format:bullet; ! mso-level-text:o; ! mso-level-tab-stop:.5in; ! mso-level-number-position:left; ! text-indent:-.25in; ! mso-ansi-font-size:10.0pt; ! font-family:"Courier New"; ! mso-bidi-font-family:"Times New Roman";} ! @list l8 ! {mso-list-id:1598639177; ! mso-list-template-ids:-1577564508;} ! @list l8:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 219,258 ---- text-indent:-.25in; font-family:"Courier New";} ! @list l8:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l8:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9 ! {mso-list-id:1614508887; ! mso-list-template-ids:1190971354;} ! @list l9:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 251,258 **** font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l9 ! {mso-list-id:1920555368; ! mso-list-template-ids:1359089026;} ! @list l9:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 263,270 ---- font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l10 ! {mso-list-id:1744913378; ! mso-list-template-ids:-120979262;} ! @list l10:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 263,270 **** font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l10 ! {mso-list-id:2114787976; ! mso-list-template-ids:-228535600;} ! @list l10:level1 {mso-level-number-format:bullet; mso-level-text:o; --- 275,282 ---- font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} ! @list l11 ! {mso-list-id:1894266376; ! mso-list-template-ids:530464416;} ! @list l11:level1 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 298,302 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="51202"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 310,314 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="55298"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 350,354 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l6 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Simulators</span></b><span --- 362,366 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l8 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Simulators</span></b><span *************** *** 360,364 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l6 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Solids</span></b><span --- 372,376 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l8 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Solids</span></b><span *************** *** 373,377 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l6 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Joints</span></b><span --- 385,389 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l8 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Joints</span></b><span *************** *** 383,387 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l6 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Motors</span></b><span --- 395,399 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l8 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Motors</span></b><span *************** *** 393,403 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l6 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Sensors</span></b><span style='font-family:"Book Antiqua"'>: Sensors acquire data from a simulation.<span style='mso-spacerun:yes'> </span>There are several ! types of Sensors.<span style='mso-spacerun:yes'> </span>They can be ! attached to Solids or just positioned staticly within an environment.<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: --- 405,415 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l8 level1 lfo3;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Sensors</span></b><span style='font-family:"Book Antiqua"'>: Sensors acquire data from a simulation.<span style='mso-spacerun:yes'> </span>There are several ! types of Sensors.<span style='mso-spacerun:yes'> </span>They can be attached ! to Solids or just positioned staticly within an environment.<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: *************** *** 409,430 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l2 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Shapes</span></b><span ! style='font-family:"Book Antiqua"'>: Shapes are used for collision detection.<span ! style='mso-spacerun:yes'> </span>They are added to Solids; if a Solid ! doesnt contain any Shapes, it cannot collide with anything.<span ! style='mso-spacerun:yes'> </span>There are several types of ! Shapes.<span style='mso-spacerun:yes'> </span>Each Shape can use a different Material<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l2 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Materials</span></b><span style='font-family:"Book Antiqua"; ! mso-bidi-font-family:Arial'>: Materials define what happens when two Solids ! (or, more specifically, two Shapes) collide.<span style='mso-spacerun:yes'> </span>Materials consist of several properties, including friction, bounciness, density, etc.</span><span --- 421,442 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l4 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Shapes</span></b><span ! style='font-family:"Book Antiqua"'>: Shapes are used for collision ! detection.<span style='mso-spacerun:yes'> </span>They are added to ! Solids; if a Solid doesnt contain any Shapes, it cannot collide with ! anything.<span style='mso-spacerun:yes'> </span>There are several types ! of Shapes.<span style='mso-spacerun:yes'> </span>Each Shape can use a different Material<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l4 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Materials</span></b><span style='font-family:"Book Antiqua"; ! mso-bidi-font-family:Arial'>: Materials define what happens when two ! Solids (or, more specifically, two Shapes) collide.<span style='mso-spacerun:yes'> </span>Materials consist of several properties, including friction, bounciness, density, etc.</span><span *************** *** 433,437 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l2 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Data Objects and --- 445,462 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l4 level1 lfo10;tab-stops: ! list .5in'><b style='mso-bidi-font-weight:normal'><span ! style='font-size:14.0pt;font-family:"Book Antiqua";mso-bidi-font-family: ! Arial'>Spaces</span></b><span style='font-family:"Book Antiqua"; ! mso-bidi-font-family:Arial'>: Spaces are useful for optimizing collision ! detection in application-specific ways.<span style='mso-spacerun:yes'> ! </span>Shapes that are naturally grouped together can be put into a ! Space to save time during collision detection.</span><span ! style='font-family:"Book Antiqua"'><o:p></o:p></span></li> ! </ul> ! <p class=MsoNormal style='margin-left:.25in'><span style='font-family:"Book Antiqua"; ! color:black'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> ! <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l4 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua"'>Data Objects and *************** *** 453,463 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l2 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Event Handlers</span></b><span style='font-family:"Book Antiqua"; ! mso-bidi-font-family:Arial'>: These get notified when certain event occur, ! allowing users to handle those events in application-specific ways.</span><span ! style='font-family:"Book Antiqua"'><o:p></o:p></span></li> </ul> </td> --- 478,488 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> <ul style='margin-top:0in' type=circle> ! <li class=MsoNormal style='color:black;mso-list:l4 level1 lfo10;tab-stops: list .5in'><b style='mso-bidi-font-weight:normal'><span style='font-size:14.0pt;font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Event Handlers</span></b><span style='font-family:"Book Antiqua"; ! mso-bidi-font-family:Arial'>: These get notified when certain event ! occur, allowing users to handle those events in application-specific ! ways.</span><span style='font-family:"Book Antiqua"'><o:p></o:p></span></li> </ul> </td> Index: todo.txt =================================================================== RCS file: /cvsroot/opal/web/todo.txt,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** todo.txt 25 Apr 2005 19:47:17 -0000 1.13 --- todo.txt 20 Jun 2005 01:28:48 -0000 1.14 *************** *** 6,11 **** - shows how to ignore updating an entity when the solid hasn't changed - * add Spaces to the overview and a Spaces tutorial? - * update doxygen api notes from source --- 6,9 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-06-19 17:09:25
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13627 Modified Files: changelog.txt Log Message: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** changelog.txt 18 Jun 2005 17:45:51 -0000 1.25 --- changelog.txt 19 Jun 2005 17:09:13 -0000 1.26 *************** *** 15,19 **** ------------------------------------------ ! * 6-18-05: Added page to OPAL website describing bug report, feature request, and patch submission process. (Tyler Streeter) * 6-4-05: Fixed bug in ServoMotor::init() that kept it from being enabled without explicitly enabling it. (Tyler Streeter) --- 15,21 ---- ------------------------------------------ ! * 6-19-05: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. (Tyler Streeter) ! ! * 6-18-05: Added page to OPAL website describing bug report, feature request, and patch submission process. (Alan Fischer, Andres Reinot, Tyler Streeter) * 6-4-05: Fixed bug in ServoMotor::init() that kept it from being enabled without explicitly enabling it. (Tyler Streeter) |
|
From: tylerstreeter <tyl...@us...> - 2005-06-19 17:09:25
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13627/src/ODE Modified Files: ODESimulator.cpp Log Message: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.102 retrieving revision 1.103 diff -C2 -d -r1.102 -r1.103 *** ODESimulator.cpp 19 Apr 2005 14:20:37 -0000 1.102 --- ODESimulator.cpp 19 Jun 2005 17:09:13 -0000 1.103 *************** *** 98,102 **** Space* ODESimulator::createSpace() { ! Space* newSpace = new ODESpace(); addSpace(newSpace); return newSpace; --- 98,106 ---- Space* ODESimulator::createSpace() { ! ODESpace* newSpace = new ODESpace(); ! ! // Add this new Space as a child of the Simulator's root Space. ! dSpaceAdd(mRootSpaceID, (dGeomID)newSpace->internal_getSpaceID()); ! addSpace(newSpace); return newSpace; |
|
From: tylerstreeter <tyl...@us...> - 2005-06-19 17:09:25
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13627/vc71 Modified Files: opal.suo Log Message: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsZ2XkoX and /tmp/cvsBseOUg differ |
|
From: tylerstreeter <tyl...@us...> - 2005-06-19 17:09:25
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13627/src Modified Files: Simulator.h Log Message: New Spaces are now automatically children of the Simulator root Space. Previously, there was no way for new Spaces to be children of the Simulator root Space. Index: Simulator.h =================================================================== RCS file: /cvsroot/opal/opal/src/Simulator.h,v retrieving revision 1.99 retrieving revision 1.100 diff -C2 -d -r1.99 -r1.100 *** Simulator.h 14 Apr 2005 09:15:07 -0000 1.99 --- Simulator.h 19 Jun 2005 17:09:13 -0000 1.100 *************** *** 291,296 **** // SPACES ! /// Creates and returns a pointer to a Space with its parent Space ! /// set to NULL. virtual Space* OPAL_CALL createSpace() = 0; --- 291,296 ---- // SPACES ! /// Creates and returns a pointer to a Space which is a child of ! /// the Simulator's root Space. virtual Space* OPAL_CALL createSpace() = 0; |