opal-commits Mailing List for Open Physics Abstraction Layer (Page 14)
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-04-20 03:59:43
|
Update of /cvsroot/opal/opal/samples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25347/samples Modified Files: readme.txt todo.txt Log Message: fixed bug in ogre sample; now model normals are unaffected by scaling Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/samples/todo.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** todo.txt 18 Apr 2005 22:21:07 -0000 1.1 --- todo.txt 20 Apr 2005 03:59:35 -0000 1.2 *************** *** 2,9 **** ================= ! * add license to all source files ! * fix Ogre problems where graphics look ugly when not running from within Visual Studio ! - maybe exporting normals with model files would help ! * test Playpen on linux \ No newline at end of file --- 2,17 ---- ================= ! * replace mesh files with low poly versions ! For Version 0.4.0 ! ================= ! * fix problem where picking a still object sometimes causes it to move slightly initially ! - maybe look for problems in SpringMotor ! ! New Sample App Ideas ! ==================== ! ! * vehicle and terrain ! ! * ragdoll launched out of a canon? \ No newline at end of file Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/samples/readme.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** readme.txt 18 Apr 2005 22:21:07 -0000 1.1 --- readme.txt 20 Apr 2005 03:59:34 -0000 1.2 *************** *** 6,9 **** Available applications: ------------------------------------ ! Playpen - An arena where objects can be created and manipulated. Uses a Raycast Sensor and Spring Motor to allow the user to pick and move any dynamic object in the scene. Use arrow keys to move the camera, 1-9 to create objects, 'r' to reset the scene, and 'h' to toggle shadows. --- 6,12 ---- Available applications: ------------------------------------ ! ! Playpen ! ------- ! An arena where objects can be created and manipulated. Uses a Raycast Sensor and Spring Motor to allow the user to pick and move any dynamic object in the scene. Click and drag the left mouse button to move objects, arrow or 'wasd' keys to move the camera, 1-9 to create objects, 'r' to reset the scene, 'h' to toggle shadows, and 'l' to toggle a second light source. |
|
From: tylerstreeter <tyl...@us...> - 2005-04-20 03:59:42
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25347/samples/playpen Modified Files: main.cpp Log Message: fixed bug in ogre sample; now model normals are unaffected by scaling Index: main.cpp =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/main.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** main.cpp 19 Apr 2005 14:02:27 -0000 1.12 --- main.cpp 20 Apr 2005 03:59:33 -0000 1.13 *************** *** 1,2 **** --- 1,29 ---- + /************************************************************************* + * * + * Open Physics Abstraction Layer * + * Copyright (C) 2004-2005 * + * Alan Fischer ala...@gm... * + * Andres Reinot an...@re... * + * Tyler Streeter tyl...@gm... * + * All rights reserved. * + * Web: opal.sourceforge.net * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of EITHER: * + * (1) The GNU Lesser General Public License as published by the Free * + * Software Foundation; either version 2.1 of the License, or (at * + * your option) any later version. The text of the GNU Lesser * + * General Public License is included with this library in the * + * file license-LGPL.txt. * + * (2) The BSD-style license that is included with this library in * + * the file license-BSD.txt. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * + * license-LGPL.txt and license-BSD.txt for more details. * + * * + *************************************************************************/ + #include <time.h> #include "../src/BaseOpalApp.h" *************** *** 41,48 **** /// Point where new objects are created. opal::Point3r mCreationPoint; - - /// A visual line that represents the PhysicalCamera's grasping - /// spring. - //opalSamples::OgreLine* mGraspingSpringLine; }; --- 68,71 ---- *************** *** 52,80 **** mUseShadows = true; mCreationPoint.set(-55, 60, -55); - //mGraspingSpringLine = NULL; } PlaypenApp::~PlaypenApp() { - //if (mGraspingSpringLine) - //{ - // // Destroy the grasping line and its SceneNode. - // Ogre::SceneNode* sn = mGraspingSpringLine->getParentSceneNode(); - - // // Detach and destroy all objects from the SceneNode. The - // // scene node should only have the OgreLine attached which - // // we must delete explicitly. - // while(sn->numAttachedObjects() > 0) - // { - // MovableObject* thisObject = - // sn->detachObject(static_cast<unsigned short>(0)); - // delete thisObject; - // } - - // // Destroy the SceneNodes all of its children. - // sn->removeAndDestroyAllChildren(); - // mSceneMgr->getRootSceneNode()->removeAndDestroyChild( - // sn->getName()); - //} } --- 75,82 ---- *************** *** 101,108 **** Ogre::Light* light = mSceneMgr->createLight("light0"); light->setType(Ogre::Light::LT_POINT); ! light->setDiffuseColour(1.0, 1.0, 1.0); ! light->setSpecularColour(1.0, 1.0, 1.0); light->setPosition(100.0, 300.0, 100.0); // Setup the initial camera position. mPhysicalCamera->setPosition(opal::Point3r(0, 20, 30)); --- 103,118 ---- Ogre::Light* light = mSceneMgr->createLight("light0"); light->setType(Ogre::Light::LT_POINT); ! light->setDiffuseColour(0.5, 0.5, 0.5); ! light->setSpecularColour(0.5, 0.5, 0.5); light->setPosition(100.0, 300.0, 100.0); + // Create another light source. + light = mSceneMgr->createLight("light1"); + light->setType(Ogre::Light::LT_POINT); + light->setDiffuseColour(0.5, 0.5, 0.5); + light->setSpecularColour(0.5, 0.5, 0.5); + light->setPosition(-100.0, 300.0, 100.0); + light->setVisible(false); + // Setup the initial camera position. mPhysicalCamera->setPosition(opal::Point3r(0, 20, 30)); *************** *** 112,129 **** mSceneMgr->setSkyBox(true, "Skyboxes/Gray", 5000); - // Create the visual line used to represent the PhysicalCamera's - // grasping spring. Just create two points for now that will - // be updated later. - //mGraspingSpringLine = - // new opalSamples::OgreLine(); - //mGraspingSpringLine->addPoint(0, 0, 0); - //mGraspingSpringLine->addPoint(0, 0, 0); - //mGraspingSpringLine->update(); - //SceneNode* lineNode = - // mSceneMgr->getRootSceneNode()->createChildSceneNode("graspLine"); - //lineNode->attachObject(mGraspingSpringLine); - //mGraspingSpringLine->setCastShadows(false); - //mGraspingSpringLine->setVisible(false); - // Make a sphere used to show the grasp position. Ogre::SceneNode* sphereNode = mSceneMgr->getRootSceneNode()-> --- 122,125 ---- *************** *** 178,195 **** } - //if (!mGraspingSpringLine->isVisible()) - //{ - // mGraspingSpringLine->setVisible(true); - //} - opal::Point3r desiredPos = mPhysicalCamera->getGraspGlobalPos(); Ogre::Vector3 point0(desiredPos[0], desiredPos[1], desiredPos[2]); - //mGraspingSpringLine->setPoint(0, point); opal::Point3r attachPos = mPhysicalCamera->getAttachGlobalPos(); Ogre::Vector3 point1(attachPos[0], attachPos[1], attachPos[2]); - //mGraspingSpringLine->setPoint(1, point); - //mGraspingSpringLine->update(); pickingSphere->getParentSceneNode()->setPosition(point1); --- 174,183 ---- *************** *** 225,233 **** springLine->setVisible(false); } - - //if (mGraspingSpringLine->isVisible()) - //{ - // mGraspingSpringLine->setVisible(false); - //} } --- 213,216 ---- *************** *** 363,366 **** --- 346,350 ---- sn->scale(logScale, logScale, logScale); Entity* e = mSceneMgr->createEntity(name, "log.mesh"); + e->setNormaliseNormals(true); e->setMaterialName("Textured/Wood"); sn->attachObject(e); *************** *** 509,512 **** --- 493,514 ---- } + // Toggle second light source. + if(mInputDevice->isKeyDown(KC_L) && mTimeUntilNextToggle <= 0) + { + Ogre::Light* light1 = mSceneMgr->getLight("light1"); + + if (light1->isVisible()) + { + light1->setVisible(false); + } + else + { + light1->setVisible(true); + } + + // Reset the timer for toggle keys. + mTimeUntilNextToggle = 0.5; + } + // Toggle GUI. if (mInputDevice->isKeyDown(KC_G) && mTimeUntilNextToggle <= 0) *************** *** 565,583 **** void PlaypenApp::setupInitialPhysicalEntities() { - //// Create a physical ground plane. - //mSimulator->createPlane(0, 1, 0, 0); - - //// Create a visual ground plane. - //Ogre::Plane plane(Ogre::Vector3(0, 0, -1), 0); - //Ogre::MeshManager::getSingleton().createPlane("plane", "General", - // plane, 3000, 3000, 10, 10); - //Entity* e = mSceneMgr->createEntity("ground plane", "plane"); - //e->setMaterialName("Flat/Gray"); - //Ogre::SceneNode* sn = mSceneMgr->getRootSceneNode()-> - // createChildSceneNode("ground plane"); - //sn->attachObject(e); - //Ogre::Radian angle(Ogre::Degree(90)); - //sn->rotate(Ogre::Vector3(1, 0, 0), angle); - opal::Matrix44r m; --- 567,570 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-20 03:59:42
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25347 Modified Files: changelog.txt todo.txt Log Message: fixed bug in ogre sample; now model normals are unaffected by scaling Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** changelog.txt 18 Apr 2005 22:20:53 -0000 1.16 --- changelog.txt 20 Apr 2005 03:59:33 -0000 1.17 *************** *** 1,4 **** Version 0.3.0 ! April 18, 2005 ------------------------------------------ * All objects can now be created from and saved to a data object --- 1,4 ---- Version 0.3.0 ! April 20, 2005 ------------------------------------------ * All objects can now be created from and saved to a data object Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** todo.txt 18 Apr 2005 22:21:00 -0000 1.73 --- todo.txt 20 Apr 2005 03:59:33 -0000 1.74 *************** *** 2,8 **** ================= - * replace the scons gather scripts with simple shell scripts - - write scons for sample - * try building on win32 and linux --- 2,5 ---- *************** *** 56,66 **** - search ode mailing list for "Any BloodRayne 2 developers listening?" ! Build System ! ============ ! * fix vc6 project to create a dll ! ! * we only need a single visual studio project for all physics engines: just do #ifdef ENGINE_NAME for each source file and a conditional link to the physics engine lib ! ! * add SConstructs to samples Possible Ideas --- 53,57 ---- - search ode mailing list for "Any BloodRayne 2 developers listening?" ! * move includes from headers to cpp files wherever possible Possible Ideas *************** *** 72,87 **** * GearedMotor ! - talk to Jim Bernard ! ! * trigger Solids - set a boolean that makes contacts always ignored ! ! * joint break events ! - automatically destroy joint? or just notify the user and let them decide what to do? * collision events - generate collision state (START_COLLISION_STATE, CONTINUE_COLLISION_STATE, END_COLLISION_STATE) - * move includes from headers to cpp files wherever possible - * change the internal_dependsOn functions -> have bidirectional references (dependency lists) so we don't have to search lists for dependencies - dependencies --- 63,71 ---- * GearedMotor ! - make more accurate * collision events - generate collision state (START_COLLISION_STATE, CONTINUE_COLLISION_STATE, END_COLLISION_STATE) * change the internal_dependsOn functions -> have bidirectional references (dependency lists) so we don't have to search lists for dependencies - dependencies *************** *** 91,102 **** - Sensors -> Joints, Solids - * Put BlueprintManager stuff into the Simulator itself and remove BlueprintManager? - * contact filtering - averaging - other methods? - * in the cases where overloaded functions call the original function (e.g. derived setParam calls parent class setParam function), should we keep it this way? or should the overloaded version just do everything? - * materials - have the simulator store a cached list of named materials --- 75,82 ---- *************** *** 104,108 **** * handle blown frame cases: ! - desired frame rate (max dt)? ask ace... - partially complete frame; stop simulation early, resulting in a slow-motion look - complete frame, resulting in a jerky frame rate --- 84,88 ---- * handle blown frame cases: ! - desired frame rate (max dt)? - partially complete frame; stop simulation early, resulting in a slow-motion look - complete frame, resulting in a jerky frame rate *************** *** 113,131 **** * small objects rotate weirdly - due to small mass not causing deep enough penetrations, thus they have little friction and just slide around? - - * make an 'enable acceleration calculations' function so they don't get calculated unnecessarily - - solution: flag which pieces of the solid state are kept up to date (local/global accelerations, prev velocities, etc) - - better solution: use acceleration sensor * make sure everything is stepsize independent - maybe pass dt to all update functions, especially motors - * Sample apps using OGRE - - vehicle and terrain - - ragdoll (launched out of a canon?) - - - - * search code for TODOs - * blueprints could have a single boolean space parameter like "insert the whole bp into a space or not" - this could even just be a bool passed to the instantiate function --- 93,100 ---- *************** *** 161,163 **** - add to instantiateBlueprint - add to Blueprint finalize function ! - add to Blueprint addSensor/addMotor function \ No newline at end of file --- 130,132 ---- - add to instantiateBlueprint - add to Blueprint finalize function ! - add to Blueprint addSensor/addMotor function |
|
From: tylerstreeter <tyl...@us...> - 2005-04-20 03:46:24
|
Update of /cvsroot/opal/web/api In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18095/api Modified Files: Doxyfile Log Message: cleaned up stuff to prepare for 0.3.0 Index: Doxyfile =================================================================== RCS file: /cvsroot/opal/web/api/Doxyfile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Doxyfile 25 Feb 2005 19:56:16 -0000 1.1 --- Doxyfile 20 Apr 2005 03:45:44 -0000 1.2 *************** *** 25,30 **** ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO ! FULL_PATH_NAMES = YES ! STRIP_FROM_PATH = "C:/Documents and Settings/Tyler/" STRIP_FROM_INC_PATH = SHORT_NAMES = NO --- 25,30 ---- ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO ! FULL_PATH_NAMES = NO ! STRIP_FROM_PATH = "C:/Documents and Settings/Tyler/Desktop/opal" STRIP_FROM_INC_PATH = SHORT_NAMES = NO *************** *** 81,85 **** # configuration options related to the input files #--------------------------------------------------------------------------- ! INPUT = "C:/Documents and Settings/Tyler/Desktop/opal/src" FILE_PATTERNS = *.c \ *.cc \ --- 81,85 ---- # configuration options related to the input files #--------------------------------------------------------------------------- ! INPUT = "C:/Documents and Settings/Tyler/Desktop/opal/opal/src" FILE_PATTERNS = *.c \ *.cc \ |
|
From: tylerstreeter <tyl...@us...> - 2005-04-20 03:46:03
|
Update of /cvsroot/opal/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18095 Modified Files: index.html todo.txt tutorial2.html tutorial5.html Log Message: cleaned up stuff to prepare for 0.3.0 Index: index.html =================================================================== RCS file: /cvsroot/opal/web/index.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** index.html 23 Mar 2005 07:55:39 -0000 1.6 --- index.html 20 Apr 2005 03:45:46 -0000 1.7 *************** *** 25,43 **** <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>98</o:Revision> <o:TotalTime>189</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-03-23T07:18:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>377</o:Words> ! <o:Characters>2155</o:Characters> <o:Company>none</o:Company> ! <o:Lines>17</o:Lines> <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2527</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> --- 25,44 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>100</o:Revision> <o:TotalTime>189</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-04-04T12:36:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>387</o:Words> ! <o:Characters>2209</o:Characters> <o:Company>none</o:Company> ! <o:Lines>18</o:Lines> <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2591</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> *************** *** 81,86 **** /* List Definitions */ @list l0 ! {mso-list-id:171844398; ! mso-list-template-ids:-869517624;} @list l0:level1 {mso-level-number-format:bullet; --- 82,87 ---- /* List Definitions */ @list l0 ! {mso-list-id:362249975; ! mso-list-template-ids:1024381750;} @list l0:level1 {mso-level-number-format:bullet; *************** *** 92,110 **** font-family:Symbol;} @list l1 - {mso-list-id:436142960; - mso-list-template-ids:859236786;} - @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; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} - @list l2 {mso-list-id:503857615; mso-list-type:hybrid; mso-list-template-ids:-1557992790 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 93,100 ---- font-family:Symbol;} @list l1 {mso-list-id:503857615; mso-list-type:hybrid; mso-list-template-ids:-1557992790 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 113,151 **** text-indent:-.25in; font-family:Symbol;} ! @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:577516275; ! mso-list-template-ids:-1370983320;} @list l3:level1 {mso-level-number-format:bullet; --- 103,152 ---- 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;} + @list l2 + {mso-list-id:546113970; + mso-list-template-ids:1656267630;} + @list l2: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 l3 ! {mso-list-id:623929220; ! mso-list-template-ids:-192747984;} @list l3:level1 {mso-level-number-format:bullet; *************** *** 157,162 **** font-family:Symbol;} @list l4 ! {mso-list-id:580214128; ! mso-list-template-ids:-1706784210;} @list l4:level1 {mso-level-number-format:bullet; --- 158,163 ---- font-family:Symbol;} @list l4 ! {mso-list-id:719520252; ! mso-list-template-ids:-1495240466;} @list l4:level1 {mso-level-number-format:bullet; *************** *** 168,173 **** font-family:Symbol;} @list l5 ! {mso-list-id:746732468; ! mso-list-template-ids:1762963106;} @list l5:level1 {mso-level-number-format:bullet; --- 169,174 ---- font-family:Symbol;} @list l5 ! {mso-list-id:823476395; ! mso-list-template-ids:1415209826;} @list l5:level1 {mso-level-number-format:bullet; *************** *** 179,184 **** font-family:Symbol;} @list l6 ! {mso-list-id:1383825032; ! mso-list-template-ids:82584310;} @list l6:level1 {mso-level-number-format:bullet; --- 180,185 ---- font-family:Symbol;} @list l6 ! {mso-list-id:1107624745; ! mso-list-template-ids:-290036226;} @list l6:level1 {mso-level-number-format:bullet; *************** *** 240,247 **** text-indent:-.25in;} @list l8 {mso-list-id:1754929923; mso-list-type:hybrid; mso-list-template-ids:339369474 67698689 67698689 67698691 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l8:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 241,259 ---- text-indent:-.25in;} @list l8 + {mso-list-id:1522283136; + mso-list-template-ids:682788248;} + @list l8: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 l9 {mso-list-id:1754929923; mso-list-type:hybrid; mso-list-template-ids:339369474 67698689 67698689 67698691 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l9:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 250,254 **** text-indent:-.25in; font-family:Symbol;} ! @list l8:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 262,266 ---- text-indent:-.25in; font-family:Symbol;} ! @list l9:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 258,262 **** text-indent:-.25in; font-family:Symbol;} ! @list l8:level3 {mso-level-number-format:bullet; mso-level-text:o; --- 270,274 ---- text-indent:-.25in; font-family:Symbol;} ! @list l9:level3 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 265,297 **** text-indent:-.25in; font-family:"Courier New";} ! @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:1756780587; mso-list-type:hybrid; mso-list-template-ids:1949436616 67698689 67698689 67698691 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l9:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 277,309 ---- text-indent:-.25in; font-family:"Courier New";} ! @list l9:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10 {mso-list-id:1756780587; mso-list-type:hybrid; mso-list-template-ids:1949436616 67698689 67698689 67698691 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l10:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 300,304 **** text-indent:-.25in; font-family:Symbol;} ! @list l9:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 312,316 ---- text-indent:-.25in; font-family:Symbol;} ! @list l10:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 308,312 **** text-indent:-.25in; font-family:Symbol;} ! @list l9:level3 {mso-level-number-format:bullet; mso-level-text:o; --- 320,324 ---- text-indent:-.25in; font-family:Symbol;} ! @list l10:level3 {mso-level-number-format:bullet; mso-level-text:o; *************** *** 315,347 **** text-indent:-.25in; font-family:"Courier New";} ! @list l9:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l9:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10 {mso-list-id:1774857287; mso-list-type:hybrid; mso-list-template-ids:-937668496 67698689 67698689 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l10:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 327,359 ---- text-indent:-.25in; font-family:"Courier New";} ! @list l10:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11 {mso-list-id:1774857287; mso-list-type:hybrid; mso-list-template-ids:-937668496 67698689 67698689 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} ! @list l11:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 350,354 **** text-indent:-.25in; font-family:Symbol;} ! @list l10:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; --- 362,366 ---- text-indent:-.25in; font-family:Symbol;} ! @list l11:level2 {mso-level-number-format:bullet; mso-level-text:\F0B7; *************** *** 358,400 **** text-indent:-.25in; font-family:Symbol;} ! @list l10:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l10:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l11 - {mso-list-id:1867909557; - mso-list-template-ids:1077425990;} - @list l11: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;} ol {margin-bottom:0in;} --- 370,401 ---- text-indent:-.25in; font-family:Symbol;} ! @list l11:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} ! @list l11:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} *************** *** 420,424 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="47106"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 421,425 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="49154"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 509,516 **** Physics Engines<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l2 level1 lfo3;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'><a href="http://www.ode.org/">Open Dynamics Engine</a>: support ! for Linux, Irix, Windows, and Mac OS X versions.<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: --- 510,517 ---- Physics Engines<o:p></o:p></span></b></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";mso-bidi-font-family: Arial'><a href="http://www.ode.org/">Open Dynamics Engine</a>: support ! for Linux, IRIX, Windows, and Mac OS X versions.<o:p></o:p></span></li> </ul> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: *************** *** 520,553 **** Features<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Open Source<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Cross-platform<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Tested on Linux, Irix, Windows, and Mac OS X<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>XML file loading<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Breakable joints<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Linear and angular motion damping<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Per-shape material settings<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Contact groups (define which objects can interact physically)<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Collision detection primitive shapes<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 521,554 ---- Features<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Open Source<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Cross-platform<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Tested on Linux, Irix, Windows, and Mac OS X<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>XML file loading<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Breakable joints<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Linear and angular motion damping<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Per-shape material settings<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Contact groups (define which objects can interact physically)<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Collision detection primitive shapes<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 555,559 **** mso-bidi-font-family:Arial;color:black'>Boxes<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 556,560 ---- mso-bidi-font-family:Arial;color:black'>Boxes<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 561,565 **** mso-bidi-font-family:Arial;color:black'>Spheres<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 562,566 ---- mso-bidi-font-family:Arial;color:black'>Spheres<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 567,571 **** mso-bidi-font-family:Arial;color:black'>Capsules (i.e. capped cylinders)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 568,572 ---- mso-bidi-font-family:Arial;color:black'>Capsules (i.e. capped cylinders)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 573,582 **** mso-bidi-font-family:Arial;color:black'>Planes<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Joints<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 574,583 ---- mso-bidi-font-family:Arial;color:black'>Planes<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Joints<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 585,589 **** of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 586,590 ---- of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 592,596 **** degrees of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 593,597 ---- degrees of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 599,603 **** of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 600,604 ---- of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 606,610 **** of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 607,611 ---- of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 613,617 **** one translational degree of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l8 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 614,618 ---- one translational degree of freedom)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo11;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 620,624 **** freedom)<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Motors<o:p></o:p></span></li> --- 621,625 ---- freedom)<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Motors<o:p></o:p></span></li> *************** *** 660,669 **** force on an object)<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Sensors<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 661,670 ---- force on an object)<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Sensors<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 671,675 **** mso-bidi-font-family:Arial;color:black'>Acceleration sensors<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 672,676 ---- mso-bidi-font-family:Arial;color:black'>Acceleration sensors<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 677,681 **** mso-bidi-font-family:Arial;color:black'>Raycast sensors<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 678,682 ---- mso-bidi-font-family:Arial;color:black'>Raycast sensors<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 683,692 **** mso-bidi-font-family:Arial;color:black'>Volume sensors<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Event handlers<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 684,693 ---- mso-bidi-font-family:Arial;color:black'>Volume sensors<o:p></o:p></span></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Event handlers<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 695,699 **** when objects collide)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 696,700 ---- when objects collide)<o:p></o:p></span></p> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> *************** *** 701,704 **** --- 702,712 ---- mso-bidi-font-family:Arial;color:black'>Joint break event handler (notified when a joint breaks)<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: + l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span + style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; + color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> + </span></span></span><![endif]><span style='font-family:"Book Antiqua"; + mso-bidi-font-family:Arial;color:black'>Post-step event handler (notified at + the end of each time step)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial;color:black'><o:p> </o:p></span></p> *************** *** 707,722 **** Features<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>XML file saving<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>OPAL XML exporters for Blender and 3ds Max<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l10 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Sensors<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l9 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> --- 715,730 ---- Features<o:p></o:p></span></b></p> <ul style='margin-top:0in' type=disc> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>XML file saving<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>OPAL XML exporters for Blender and 3ds Max<o:p></o:p></span></li> ! <li class=MsoNormal style='color:black;mso-list:l11 level1 lfo6;tab-stops: list .5in'><span style='font-family:"Book Antiqua";mso-bidi-font-family: Arial'>Sensors<o:p></o:p></span></li> </ul> <p class=MsoNormal style='margin-left:68.3pt;text-indent:-.25in;mso-list: ! l10 level3 lfo8;tab-stops:list 68.3pt 1.5in'><![if !supportLists]><span style='font-family:"Courier New";mso-fareast-font-family:"Courier New"; color:black'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'> Index: tutorial5.html =================================================================== RCS file: /cvsroot/opal/web/tutorial5.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** tutorial5.html 28 Mar 2005 18:45:53 -0000 1.4 --- tutorial5.html 20 Apr 2005 03:45:47 -0000 1.5 *************** *** 25,45 **** <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>169</o:Revision> ! <o:TotalTime>358</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-03-28T18:44:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>557</o:Words> ! <o:Characters>3180</o:Characters> <o:Company>none</o:Company> ! <o:Lines>26</o:Lines> ! <o:Paragraphs>7</o:Paragraphs> ! <o:CharactersWithSpaces>3730</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> ! <w:Zoom>75</w:Zoom> ! <w:GrammarState>Clean</w:GrammarState> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> --- 25,44 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>178</o:Revision> ! <o:TotalTime>372</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-04-18T19:14:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>670</o:Words> ! <o:Characters>3821</o:Characters> <o:Company>none</o:Company> ! <o:Lines>31</o:Lines> ! <o:Paragraphs>8</o:Paragraphs> ! <o:CharactersWithSpaces>4483</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> *************** *** 108,112 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="63490"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 107,111 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="65538"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 207,211 **** <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::Vec3r ! accel = accelSensor-></span><span style='font-size:10.0pt;font-family: "Courier New";color:windowtext'>getGlobalLinearAccel();</span><span style='font-family:Courier;color:black'><o:p></o:p></span></p> --- 206,210 ---- <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::Vec3r ! accel = accelSensor-></span><span style='font-family:Courier;mso-bidi-font-family: "Courier New";color:windowtext'>getGlobalLinearAccel();</span><span style='font-family:Courier;color:black'><o:p></o:p></span></p> *************** *** 225,236 **** <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'>The Sensor ! is automatically attached to the Solid if its Solid pointer is set.<span ! style='mso-spacerun:yes'> </span>It calculates the linear and angular acceleration of the attached Solid at the point of the Sensor (which can be ! offset from the Solid by using the Sensors transform).<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'>Raycast Sensor<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>The next Sensor is the Raycast Sensor:<o:p></o:p></span></p> --- 224,292 ---- <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'>The ! Sensor is automatically attached to the Solid if its Solid pointer is ! set.<span style='mso-spacerun:yes'> </span>It calculates the linear and angular acceleration of the attached Solid at the point of the Sensor (which can be ! offset from the Solid by using the Sensors transform).<span ! style='mso-spacerun:yes'> </span>It could be used in a simulated robot to ! give it the ability to sense which way it is falling.<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'>Incline ! Sensor<o:p></o:p></span></b></p> ! <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>The ! next Sensor is the Incline Sensor:<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::InclineSensorData ! data;<o:p></o:p></span></p> ! <p class=MsoNormal><span style='font-family:Courier;color:black'>data.solid ! = solid;<o:p></o:p></span></p> ! <p class=MsoNormal><span style='font-family:Courier;color:black'>data.axis.set(1, ! 0, 0);<o:p></o:p></span></p> ! <p class=MsoNormal><span style='font-family:Courier;color:black'>opal::InclineSensor* ! inclinometer = sim->createInclineSensor();<o:p></o:p></span></p> ! <p class=MsoNormal><span style='font-family:Courier;color:black'>inclinometer->init(data);<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'>...<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::real ! angle = inclinometer->getAngle();<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><span style='font-family:"Book Antiqua";color:black'><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:"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'>The ! Sensor takes a local rotation axis relative to its attached Solid.<span ! style='mso-spacerun:yes'> </span>It calculates and returns the angle the ! Solid has rotated around this axis.<span style='mso-spacerun:yes'> ! </span>Multiple Incline Sensors could be attached to a vehicle, for instance, ! to simulate a real inclinometer.<span style='mso-spacerun:yes'> </span>The ! combination of an Acceleration Sensor and an Incline Sensor could be used to ! simulate the human vestibular system.<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'>Raycast ! Sensor<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>The next Sensor is the Raycast Sensor:<o:p></o:p></span></p> *************** *** 296,301 **** intersection (if any) from the rays origin.<span style='mso-spacerun:yes'> </span>The Raycast Sensor uses a contact group to limit which objects it ! collides with.<span style='mso-spacerun:yes'> </span>(See other tutorials ! for more information on contact groups.)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> --- 352,357 ---- intersection (if any) from the rays origin.<span style='mso-spacerun:yes'> </span>The Raycast Sensor uses a contact group to limit which objects it ! collides with.<span style='mso-spacerun:yes'> </span>(See other tutorials for ! more information on contact groups.)<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> *************** *** 409,413 **** <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'>Destroying Sensors<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>When you are done with a Sensor, tell the Simulator to destroy it:<o:p></o:p></span></p> --- 465,470 ---- <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'>Destroying ! Sensors<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>When you are done with a Sensor, tell the Simulator to destroy it:<o:p></o:p></span></p> Index: tutorial2.html =================================================================== RCS file: /cvsroot/opal/web/tutorial2.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** tutorial2.html 23 Mar 2005 20:26:23 -0000 1.4 --- tutorial2.html 20 Apr 2005 03:45:47 -0000 1.5 *************** *** 25,43 **** <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>126</o:Revision> ! <o:TotalTime>212</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-03-23T19:19:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>424</o:Words> ! <o:Characters>2418</o:Characters> <o:Company>none</o:Company> <o:Lines>20</o:Lines> <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2837</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</w:GrammarState> --- 25,44 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>127</o:Revision> ! <o:TotalTime>213</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-04-07T00:41:00Z</o:LastSaved> <o:Pages>1</o:Pages> ! <o:Words>420</o:Words> ! <o:Characters>2400</o:Characters> <o:Company>none</o:Company> <o:Lines>20</o:Lines> <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2815</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:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</w:GrammarState> *************** *** 114,118 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="58370"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 115,119 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="59394"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 150,160 **** style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Solids<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>A ! Solid is analogous to a physical object in the real world. It can be ! static (just a shape, not physically simulated) or dynamic (has a shape, ! mass, and is physically simulated). The available Shapes are: boxes, ! spheres, capsule, planes, rays, and triangular meshes.<span ! style='mso-spacerun:yes'> </span>A Solid contains no moving parts. ! Complex objects with moving parts can be built from multiple Solids with ! Joints.<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'>Create --- 151,160 ---- style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Solids<o:p></o:p></span></b></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>A ! Solid is analogous to a physical object in the real world. It can be static ! (just a shape, not physically simulated) or dynamic (has a shape, mass, and ! is physically simulated). The available Shapes are: boxes, spheres, ! capsule, planes, rays, and triangular meshes.<span style='mso-spacerun:yes'> ! </span>A Solid contains no moving parts. Complex objects with moving ! parts can be built from multiple Solids with Joints.<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'>Create *************** *** 187,192 **** <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'>Once ! you have a Solid, you can set its various parameters.<span style='mso-spacerun:yes'> </span>For example <o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> --- 187,192 ---- <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'>Once you ! have a Solid, you can set its various parameters.<span style='mso-spacerun:yes'> </span>For example <o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> *************** *** 304,310 **** <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'>If ! other <span class=GramE>things depends</span> on this Solid, like Joints, ! Motors, or Sensors, they will automatically be disabled.<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 --- 304,310 ---- <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'>If other ! <span class=GramE>things depends</span> on this Solid, like Joints, Motors, ! or Sensors, they will automatically be disabled.<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 *************** *** 312,318 **** <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>An important part of creating a Solid is giving it Shapes.<span ! style='mso-spacerun:yes'> </span>A Solid can contain any number of Shapes.<span ! style='mso-spacerun:yes'> </span>To add box and sphere Shapes to the Solid, ! do the following:<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 --- 312,318 ---- <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>An important part of creating a Solid is giving it Shapes.<span ! style='mso-spacerun:yes'> </span>A Solid can contain any number of ! Shapes.<span style='mso-spacerun:yes'> </span>To add box and sphere Shapes ! to the Solid, do the following:<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 *************** *** 331,336 **** color:black'> <span class=SpellE>boxData</span>;<o:p></o:p></span></p> <p class=MsoNormal><span class=SpellE><span style='font-family:Courier; ! color:black'>boxData.dimensions.dimensions.set</span></span><span ! style='font-family:Courier;color:black'>(1.0, 1.0, 2.0);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid-><span class=SpellE>addShape</span>(<span class=SpellE>boxData</span>);<o:p></o:p></span></p> --- 331,336 ---- color:black'> <span class=SpellE>boxData</span>;<o:p></o:p></span></p> <p class=MsoNormal><span class=SpellE><span style='font-family:Courier; ! color:black'>boxData.dimensions.set</span></span><span style='font-family: ! Courier;color:black'>(1.0, 1.0, 2.0);<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:Courier;color:black'>solid-><span class=SpellE>addShape</span>(<span class=SpellE>boxData</span>);<o:p></o:p></span></p> *************** *** 369,374 **** <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Materials<o:p></o:p></span></b></p> ! <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>Each ! Shape can have different Material properties.<span style='mso-spacerun:yes'> </span>Now for a demonstration of using a custom Material:<o:p></o:p></span></p> <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> --- 369,374 ---- <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span style='font-size:16.0pt;font-family:"Book Antiqua";color:black'>Materials<o:p></o:p></span></b></p> ! <p class=MsoNormal><span style='font-family:"Book Antiqua";color:black'>Each Shape ! can have different Material properties.<span style='mso-spacerun:yes'> </span>Now for a demonstration of using a custom Material:<o:p></o:p></span></p> <p cla... [truncated message content] |
|
From: tylerstreeter <tyl...@us...> - 2005-04-20 03:45:55
|
Update of /cvsroot/opal/web/files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18095/files Modified Files: example.xml Log Message: cleaned up stuff to prepare for 0.3.0 Index: example.xml =================================================================== RCS file: /cvsroot/opal/web/files/example.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** example.xml 23 Mar 2005 20:26:24 -0000 1.8 --- example.xml 20 Apr 2005 03:45:45 -0000 1.9 *************** *** 199,202 **** --- 199,208 ---- </Sensor> <Sensor> + <Name value="inclinometer1"/> + <Type value="incline"/> + <References solid="object1"/> + <Axis x="1.0" y="0.0" z="0.0"/> + </Sensor> + <Sensor> <Name value="raySensor1"/> <Type value="raycast"/> |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:29:06
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22224/samples/playpen Modified Files: SConstruct Log Message: small fix for playpen SConstruct Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/SConstruct,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SConstruct 19 Apr 2005 14:02:26 -0000 1.2 --- SConstruct 19 Apr 2005 14:28:57 -0000 1.3 *************** *** 7,22 **** env = Environment( ENV = os.environ, - # CXX = [''], - # CCFLAGS = [''], CXXFLAGS = ['-DGCC_3_1', '-DEXT_HASH'], - # CPPPATH = [''], - # LINK = [''], - # LINKFLAGS = ['pkg-config --libs OGRE'], - # AR = [''], - # ARFLAGS = [''], - # LIBPATH = [''], - # SHLIBSUFFIX='.so', LIBS = ['opal-ode', 'OgreMain'] ) ! env.Program('playpen', sources) --- 7,22 ---- env = Environment( ENV = os.environ, CXXFLAGS = ['-DGCC_3_1', '-DEXT_HASH'], LIBS = ['opal-ode', 'OgreMain'] ) ! # Build the executable. ! exe = env.Program('playpen', sources) ! ! # Install the executable. ! inst = env.Install('../bin/release', exe) ! ! # Tell scons to build and install the executable by default. ! env.Default(exe) ! env.Default(inst) ! |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:20:48
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18173/src Modified Files: BlueprintManager.cpp BlueprintManager.h Defines.h Logger.cpp Logger.h Portability.h opal.h Log Message: added some comments to make the doxygen documentation look better Index: opal.h =================================================================== RCS file: /cvsroot/opal/opal/src/opal.h,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** opal.h 18 Apr 2005 22:21:04 -0000 1.27 --- opal.h 19 Apr 2005 14:20:36 -0000 1.28 *************** *** 74,85 **** { /// Creates a Simulator. ! OPAL_EXPORT_FUNCTION(Simulator*) createSimulator(); /// Loads a Blueprint from an OPAL XML file. ! OPAL_EXPORT_FUNCTION(void) loadFile(Blueprint& bp, const std::string& filename); /// Saves a Blueprint in an OPAL XML file. ! //OPAL_EXPORT_FUNCTION(void) saveFile(const Blueprint& bp, // const std::string& filename); } --- 74,85 ---- { /// Creates a Simulator. ! OPAL_EXPORT_FUNCTION Simulator* OPAL_CALL createSimulator(); /// Loads a Blueprint from an OPAL XML file. ! OPAL_EXPORT_FUNCTION void OPAL_CALL loadFile(Blueprint& bp, const std::string& filename); /// Saves a Blueprint in an OPAL XML file. ! //OPAL_EXPORT_FUNCTION void OPAL_CALL saveFile(const Blueprint& bp, // const std::string& filename); } Index: Defines.h =================================================================== RCS file: /cvsroot/opal/opal/src/Defines.h,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** Defines.h 14 Apr 2005 09:15:06 -0000 1.76 --- Defines.h 19 Apr 2005 14:20:35 -0000 1.77 *************** *** 44,48 **** #include "Logger.h" ! /// The main namespace that contains everything of OPAL. namespace opal { --- 44,48 ---- #include "Logger.h" ! /// The main namespace that contains everything in OPAL. namespace opal { *************** *** 305,308 **** --- 305,309 ---- } + /// Default parameters used in Shape creation. namespace shape { Index: Portability.h =================================================================== RCS file: /cvsroot/opal/opal/src/Portability.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Portability.h 18 Apr 2005 22:21:03 -0000 1.7 --- Portability.h 19 Apr 2005 14:20:36 -0000 1.8 *************** *** 52,62 **** /// Macro for exporting functions that keeps function names from being ! /// mangled and uses the correct calling convention. Note: All class ! /// methods for classes instantiated by OPAL (through factory creation ! /// calls) simply need to be virtual. Classes instantiated by the user ! /// should simply OPAL_DECL to export their public symbols. This doesn't ! /// allow extern "C" to be used to avoid name mangling of those class ! /// methods, but that probably isn't even possible...) ! #define OPAL_EXPORT_FUNCTION(returnType) extern "C" OPAL_DECL returnType OPAL_CALL // In Visual Studio, this is the only way to conditionally link with --- 52,62 ---- /// Macro for exporting functions that keeps function names from being ! /// mangled. Note: All class methods for classes instantiated by OPAL ! /// (through factory creation calls) simply need to be virtual. Classes ! /// instantiated by the user should simply OPAL_DECL to export their ! /// public symbols. This doesn't allow extern "C" to be used to avoid ! /// name mangling of those class methods, but that isn't possible. ! //#define OPAL_EXPORT_FUNCTION(returnType) extern "C" OPAL_DECL returnType OPAL_CALL ! #define OPAL_EXPORT_FUNCTION extern "C" OPAL_DECL // In Visual Studio, this is the only way to conditionally link with Index: BlueprintManager.h =================================================================== RCS file: /cvsroot/opal/opal/src/BlueprintManager.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** BlueprintManager.h 18 Apr 2005 22:21:03 -0000 1.20 --- BlueprintManager.h 19 Apr 2005 14:20:35 -0000 1.21 *************** *** 47,51 **** class VolumeSensorData; ! namespace blueprint_manager { class BlueprintManager --- 47,52 ---- class VolumeSensorData; ! /// A namespace for the BlueprintManager singleton implementation. ! namespace blueprintManagerImpl { class BlueprintManager *************** *** 180,184 **** }; } ! typedef Singleton<blueprint_manager::BlueprintManager> BlueprintManager; } --- 181,185 ---- }; } ! typedef Singleton<blueprintManagerImpl::BlueprintManager> BlueprintManager; } Index: BlueprintManager.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/BlueprintManager.cpp,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** BlueprintManager.cpp 18 Apr 2005 22:21:03 -0000 1.40 --- BlueprintManager.cpp 19 Apr 2005 14:20:34 -0000 1.41 *************** *** 49,53 **** namespace opal { ! OPAL_EXPORT_FUNCTION(void) loadFile(Blueprint& bp, const std::string& filename) { --- 49,53 ---- namespace opal { ! OPAL_EXPORT_FUNCTION void OPAL_CALL loadFile(Blueprint& bp, const std::string& filename) { *************** *** 55,59 **** } ! namespace blueprint_manager { BlueprintManager::BlueprintManager() --- 55,59 ---- } ! namespace blueprintManagerImpl { BlueprintManager::BlueprintManager() Index: Logger.h =================================================================== RCS file: /cvsroot/opal/opal/src/Logger.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Logger.h 8 Mar 2005 16:10:23 -0000 1.4 --- Logger.h 19 Apr 2005 14:20:35 -0000 1.5 *************** *** 51,55 **** namespace opal { ! namespace logger { /// This class is used to log any events, errors, or warnings that may --- 51,56 ---- namespace opal { ! /// A namespace for the Logger singleton implementation. ! namespace loggerImpl { /// This class is used to log any events, errors, or warnings that may *************** *** 91,95 **** }; } ! typedef Singleton<logger::Logger> Logger; } --- 92,96 ---- }; } ! typedef Singleton<loggerImpl::Logger> Logger; } Index: Logger.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Logger.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Logger.cpp 18 Apr 2005 22:21:03 -0000 1.4 --- Logger.cpp 19 Apr 2005 14:20:35 -0000 1.5 *************** *** 4,8 **** namespace opal { ! namespace logger { Logger::Logger() --- 4,8 ---- namespace opal { ! namespace loggerImpl { Logger::Logger() |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:20:47
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18173/src/ODE Modified Files: ODESimulator.cpp Log Message: added some comments to make the doxygen documentation look better Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.101 retrieving revision 1.102 diff -C2 -d -r1.101 -r1.102 *** ODESimulator.cpp 18 Apr 2005 22:21:05 -0000 1.101 --- ODESimulator.cpp 19 Apr 2005 14:20:37 -0000 1.102 *************** *** 31,35 **** namespace opal { ! OPAL_EXPORT_FUNCTION(opal::Simulator*) createSimulator() { return new opal::ODESimulator(); --- 31,35 ---- namespace opal { ! OPAL_EXPORT_FUNCTION opal::Simulator* OPAL_CALL createSimulator() { return new opal::ODESimulator(); |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:03:04
|
Update of /cvsroot/opal/opal/samples/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7749/samples/bin Modified Files: plugins.cfg readme.txt Log Message: Made playpen app work on Linux. Index: plugins.cfg =================================================================== RCS file: /cvsroot/opal/opal/samples/bin/plugins.cfg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** plugins.cfg 18 Apr 2005 22:21:07 -0000 1.1 --- plugins.cfg 19 Apr 2005 14:02:25 -0000 1.2 *************** *** 5,9 **** # Define plugins - Plugin=RenderSystem_Direct3D7 - Plugin=RenderSystem_Direct3D9 Plugin=RenderSystem_GL --- 5,7 ---- Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/samples/bin/readme.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** readme.txt 18 Apr 2005 22:21:07 -0000 1.1 --- readme.txt 19 Apr 2005 14:02:25 -0000 1.2 *************** *** 1 **** ! For OPAL-Ogre applications, make sure that the plugins.cfg and resources.cfg files are copied to to the same directory as the executables. Also, check resources.cfg to make sure its paths point to the correct resource directories. \ No newline at end of file --- 1,6 ---- ! A few things need to be setup for Ogre before running OPAL-Ogre applications: ! ! 1. The 'plugins.cfg' and 'resources.cfg' files must be in the same directory as the executables. ! 2. The paths in 'resources.cfg' must point to the correct resource directories. ! 3. On platforms besides win32, make sure 'plugins.cfg' does not contain Direct3D plugins. ! 4. Note the 'PluginsFolder' path in 'plugins.cfg'. The plugins listed in this file must exist in this path. |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:02:45
|
Update of /cvsroot/opal/opal/samples/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7749/samples/src Modified Files: PhysicalCamera.h Log Message: Made playpen app work on Linux. Index: PhysicalCamera.h =================================================================== RCS file: /cvsroot/opal/opal/samples/src/PhysicalCamera.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PhysicalCamera.h 15 Apr 2005 08:50:42 -0000 1.6 --- PhysicalCamera.h 19 Apr 2005 14:02:35 -0000 1.7 *************** *** 270,274 **** // should be set manually here because we constantly // reset the camera's orientation. ! opal::Rayr r(opal::Point3r(), rayDir); mGraspingSensor->setRay(r); } --- 270,275 ---- // should be set manually here because we constantly // reset the camera's orientation. ! opal::Point3r dummyPoint; ! opal::Rayr r(dummyPoint, rayDir); mGraspingSensor->setRay(r); } *************** *** 278,283 **** // straight forward into the scene. Ogre::Vector3 ogreCamPos = mOgreCamera->getPosition(); ! opal::Rayr r(opal::Point3r(ogreCamPos[0], ogreCamPos[1], ! ogreCamPos[2]), rayDir); mGraspingSensor->setRay(r); } --- 279,285 ---- // straight forward into the scene. Ogre::Vector3 ogreCamPos = mOgreCamera->getPosition(); ! opal::Point3r opalCamPos(ogreCamPos[0], ogreCamPos[1], ! ogreCamPos[2]); ! opal::Rayr r(opalCamPos, rayDir); mGraspingSensor->setRay(r); } |
|
From: tylerstreeter <tyl...@us...> - 2005-04-19 14:02:45
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7749/samples/playpen Modified Files: SConstruct main.cpp Log Message: Made playpen app work on Linux. Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/SConstruct,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SConstruct 18 Apr 2005 22:21:02 -0000 1.1 --- SConstruct 19 Apr 2005 14:02:26 -0000 1.2 *************** *** 5,22 **** """) - env = Environment( ENV = os.environ, ! CXX = [''], ! CCFLAGS = [''], ! CXXFLAGS = [''], ! CPPPATH = [''], ! LINK = [''], ! LINKFLAGS = [''], ! AR = [''], ! ARFLAGS = [''], ! LIBPATH = [''], ! SHLIBSUFFIX='.so', ! LIBS = [''] ) --- 5,21 ---- """) env = Environment( ENV = os.environ, ! # CXX = [''], ! # CCFLAGS = [''], ! CXXFLAGS = ['-DGCC_3_1', '-DEXT_HASH'], ! # CPPPATH = [''], ! # LINK = [''], ! # LINKFLAGS = ['pkg-config --libs OGRE'], ! # AR = [''], ! # ARFLAGS = [''], ! # LIBPATH = [''], ! # SHLIBSUFFIX='.so', ! LIBS = ['opal-ode', 'OgreMain'] ) Index: main.cpp =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/main.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** main.cpp 18 Apr 2005 22:21:02 -0000 1.11 --- main.cpp 19 Apr 2005 14:02:27 -0000 1.12 *************** *** 688,692 **** { opal::Matrix44r wallBaseTransform = baseTransform; ! opal::real length = 0; switch(wall) --- 688,692 ---- { opal::Matrix44r wallBaseTransform = baseTransform; ! unsigned int length = 0; switch(wall) |
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/src Modified Files: Blueprint.cpp BlueprintManager.cpp BlueprintManager.h Joint.cpp Joint.h Logger.cpp Matrix44r.h Motor.cpp Motor.h OpalMath.h Point3r.h Portability.h Quaternion.h Rayr.h SConscript Sensor.cpp Sensor.h Simulator.cpp Solid.cpp Solid.h Space.h Vec3r.h opal.h Added Files: Space.cpp Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: BlueprintManager.h =================================================================== RCS file: /cvsroot/opal/opal/src/BlueprintManager.h,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** BlueprintManager.h 23 Mar 2005 07:54:34 -0000 1.19 --- BlueprintManager.h 18 Apr 2005 22:21:03 -0000 1.20 *************** *** 43,46 **** --- 43,47 ---- class ThrusterMotorData; class AccelerationSensorData; + class InclineSensorData; class RaycastSensorData; class VolumeSensorData; *************** *** 140,143 **** --- 141,150 ---- const std::string& filename); + /// Helper function for parsing InclineSensor XML elements. + /// Allocates and returns a pointer to a new InclineSensorData + /// object. Returns NULL if the element could not be loaded. + InclineSensorData* loadInclineSensor(const TiXmlNode* nodePtr, + const Blueprint& bp, const std::string& filename); + /// Helper function for parsing RaycastSensor XML elements. /// Allocates and returns a pointer to a new RaycastSensorData Index: Motor.h =================================================================== RCS file: /cvsroot/opal/opal/src/Motor.h,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** Motor.h 30 Mar 2005 23:26:22 -0000 1.39 --- Motor.h 18 Apr 2005 22:21:03 -0000 1.40 *************** *** 50,55 **** Motor(); - virtual ~Motor(); - /// Sets whether the Motor has any effect. virtual void OPAL_CALL setEnabled(bool e) = 0; --- 50,53 ---- *************** *** 92,96 **** --- 90,99 ---- //virtual bool OPAL_CALL internal_isCustom(); + /// Internal function used to destroy this object. + virtual void OPAL_CALL internal_destroy(); + protected: + virtual ~Motor(); + /// Called by subclasses when they are initialized. void init(); Index: Blueprint.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Blueprint.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** Blueprint.cpp 31 Mar 2005 08:47:02 -0000 1.22 --- Blueprint.cpp 18 Apr 2005 22:21:02 -0000 1.23 *************** *** 357,360 **** --- 357,366 ---- break; } + case INCLINE_SENSOR: + { + newData = + new InclineSensorData(*((InclineSensorData*)data)); + break; + } case RAYCAST_SENSOR: { Index: Space.h =================================================================== RCS file: /cvsroot/opal/opal/src/Space.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Space.h 18 Feb 2005 23:59:37 -0000 1.9 --- Space.h 18 Apr 2005 22:21:04 -0000 1.10 *************** *** 40,48 **** { public: ! Space() ! {} ! ! virtual ~Space() ! {} /// Removes the Space from its current parent Space and adds it to --- 40,44 ---- { public: ! Space(); /// Removes the Space from its current parent Space and adds it to *************** *** 50,54 **** --- 46,54 ---- virtual void OPAL_CALL setParentSpace(Space* parentSpace) = 0; + /// Internal function used to destroy this object. + virtual void OPAL_CALL internal_destroy(); + protected: + virtual ~Space(); private: Index: OpalMath.h =================================================================== RCS file: /cvsroot/opal/opal/src/OpalMath.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** OpalMath.h 12 Apr 2005 06:46:43 -0000 1.10 --- OpalMath.h 18 Apr 2005 22:21:03 -0000 1.11 *************** *** 43,46 **** --- 43,47 ---- } + /// Converts a value from degrees to radians. inline real degToRad(real deg) { *************** *** 49,52 **** --- 50,54 ---- } + /// Converts a value from radians to degrees. inline real radToDeg(real rad) { *************** *** 55,58 **** --- 57,61 ---- } + /// Returns the absolute value of a real number. inline real abs(real value) { --- NEW FILE: Space.cpp --- /************************************************************************* * * * Open Physics Abstraction Layer * * Copyright (C) 2004-2005 * * Alan Fischer ala...@gm... * * Andres Reinot an...@re... * * Tyler Streeter tyl...@gm... * * All rights reserved. * * Web: opal.sourceforge.net * * * * This library is free software; you can redistribute it and/or * * modify it under the terms of EITHER: * * (1) The GNU Lesser General Public License as published by the Free * * Software Foundation; either version 2.1 of the License, or (at * * your option) any later version. The text of the GNU Lesser * * General Public License is included with this library in the * * file license-LGPL.txt. * * (2) The BSD-style license that is included with this library in * * the file license-BSD.txt. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * * license-LGPL.txt and license-BSD.txt for more details. * * * *************************************************************************/ #include "Space.h" namespace opal { Space::Space() { } Space::~Space() { } void Space::internal_destroy() { delete this; } } Index: Simulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Simulator.cpp,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** Simulator.cpp 15 Apr 2005 08:50:42 -0000 1.62 --- Simulator.cpp 18 Apr 2005 22:21:03 -0000 1.63 *************** *** 76,80 **** while (!mSpaceList.empty()) { ! delete mSpaceList.back(); mSpaceList.pop_back(); } --- 76,80 ---- while (!mSpaceList.empty()) { ! mSpaceList.back()->internal_destroy(); mSpaceList.pop_back(); } *************** *** 510,513 **** --- 510,524 ---- break; } + case INCLINE_SENSOR: + { + // Make a local copy of the Sensor's data. + InclineSensorData data = *(InclineSensorData*)sensorData; + data.solid = solidPtr; + data.transform = transform; + + s = createInclineSensor(); + ((InclineSensor*)s)->init(data); + break; + } case RAYCAST_SENSOR: { *************** *** 934,938 **** if(mSolidList[i] == s) { ! delete s; mSolidList[i] = mSolidList.back(); mSolidList.pop_back(); --- 945,949 ---- if(mSolidList[i] == s) { ! s->internal_destroy(); mSolidList[i] = mSolidList.back(); mSolidList.pop_back(); *************** *** 969,973 **** if(mJointList[i] == j) { ! delete j; mJointList[i] = mJointList.back(); mJointList.pop_back(); --- 980,984 ---- if(mJointList[i] == j) { ! j->internal_destroy(); mJointList[i] = mJointList.back(); mJointList.pop_back(); *************** *** 993,997 **** // delete m; //} ! delete m; mMotorList[i] = mMotorList.back(); mMotorList.pop_back(); --- 1004,1008 ---- // delete m; //} ! m->internal_destroy(); mMotorList[i] = mMotorList.back(); mMotorList.pop_back(); *************** *** 1013,1017 **** if(mSensorList[i] == s) { ! delete s; mSensorList[i] = mSensorList.back(); mSensorList.pop_back(); --- 1024,1028 ---- if(mSensorList[i] == s) { ! s->internal_destroy(); mSensorList[i] = mSensorList.back(); mSensorList.pop_back(); Index: BlueprintManager.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/BlueprintManager.cpp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** BlueprintManager.cpp 29 Mar 2005 03:05:46 -0000 1.39 --- BlueprintManager.cpp 18 Apr 2005 22:21:03 -0000 1.40 *************** *** 49,53 **** namespace opal { ! OPAL_EXPORT void OPAL_CALL loadFile(Blueprint& bp, const std::string& filename) { --- 49,53 ---- namespace opal { ! OPAL_EXPORT_FUNCTION(void) loadFile(Blueprint& bp, const std::string& filename) { *************** *** 1218,1221 **** --- 1218,1225 ---- data = loadAccelerationSensor(nodePtr, bp, filename); } + else if ("incline" == type) + { + data = loadInclineSensor(nodePtr, bp, filename); + } else if ("raycast" == type) { *************** *** 1306,1309 **** --- 1310,1341 ---- } + InclineSensorData* BlueprintManager::loadInclineSensor( + const TiXmlNode* nodePtr, const Blueprint& bp, + const std::string& filename) + { + // This data structure automatically gets initialized to + // default values in its constructor. + InclineSensorData* data = new InclineSensorData(); + + #ifdef OPAL_USE_XML + + TiXmlNode* paramNodePtr = NULL; + + // Load Ray element if it exists. + paramNodePtr = + const_cast<TiXmlNode*>(nodePtr)->FirstChild("Axis"); + if (NULL != paramNodePtr) + { + Vec3r axis; + axis[0] = getAttributeReal(paramNodePtr, "x"); + axis[1] = getAttributeReal(paramNodePtr, "y"); + axis[2] = getAttributeReal(paramNodePtr, "z"); + data->axis = axis; + } + + #endif + return data; + } + RaycastSensorData* BlueprintManager::loadRaycastSensor( const TiXmlNode* nodePtr, const Blueprint& bp, Index: Solid.h =================================================================== RCS file: /cvsroot/opal/opal/src/Solid.h,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** Solid.h 12 Apr 2005 06:46:44 -0000 1.88 --- Solid.h 18 Apr 2005 22:21:04 -0000 1.89 *************** *** 50,55 **** Solid(); - virtual ~Solid(); - /// Initializes the Solid with the given data structure. Calling /// this more than once will automatically destroy all the old --- 50,53 ---- *************** *** 229,233 **** --- 227,236 ---- void internal_updateSleeping(); + /// Internal function used to destroy this object. + virtual void OPAL_CALL internal_destroy(); + protected: + virtual ~Solid(); + /// Physics engine-specific function for applying Forces to /// Solids. Index: Matrix44r.h =================================================================== RCS file: /cvsroot/opal/opal/src/Matrix44r.h,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** Matrix44r.h 15 Apr 2005 08:50:42 -0000 1.32 --- Matrix44r.h 18 Apr 2005 22:21:03 -0000 1.33 *************** *** 34,39 **** namespace opal { ! // internally the matrix is column major order (openGL) ! // the accessors are (row, col), but the set)16 x real) function // is column, row order because then it is easier to write // the 16 real out. --- 34,39 ---- namespace opal { ! // Internally the matrix is column major order (openGL) ! // the accessors are (row, col), but the set(16 x real) function // is column, row order because then it is easier to write // the 16 real out. *************** *** 46,51 **** --- 46,58 ---- inline Point3r operator*(const Matrix44r & m, const Point3r &p); inline Rayr operator*(const Matrix44r & m, const Rayr &r); + + /// Inverts src, and puts the result into dest, and returns true. + /// If no valid inverse is found, returns false and leaves dest unchanged. inline bool inverse(Matrix44r & dest, const Matrix44r & src); + + /// Fast invert function for affine transformations only. inline void fastInverse(Matrix44r & dest, const Matrix44r & src); + + /// Prints the Matrix44r to the given output stream. inline std::ostream& operator<<(std::ostream& o, const Matrix44r& m); *************** *** 507,513 **** } }; ! ! // inverts src and puts the result into dest if valid ! // if no valid inverse is found, returns false and leaves dest unchanged inline bool inverse(Matrix44r & dest, const Matrix44r & src) { --- 514,518 ---- } }; ! inline bool inverse(Matrix44r & dest, const Matrix44r & src) { *************** *** 519,525 **** return true; } ! ! // assumes a transform matrix with only rotation, scale, and translation ! // components inline void fastInverse(Matrix44r & result, const Matrix44r & source) { --- 524,528 ---- return true; } ! inline void fastInverse(Matrix44r & result, const Matrix44r & source) { Index: Sensor.h =================================================================== RCS file: /cvsroot/opal/opal/src/Sensor.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Sensor.h 30 Mar 2005 23:26:22 -0000 1.11 --- Sensor.h 18 Apr 2005 22:21:03 -0000 1.12 *************** *** 45,50 **** Sensor(); - virtual ~Sensor(); - /// Sets whether the Sensor can update its measurements. virtual void OPAL_CALL setEnabled(bool e) = 0; --- 45,48 ---- *************** *** 83,87 **** --- 81,90 ---- virtual bool OPAL_CALL internal_dependsOnSolid(Solid* s); + /// Internal function used to destroy this object. + virtual void OPAL_CALL internal_destroy(); + protected: + virtual ~Sensor(); + /// Called by subclasses when they are initialized. void init(); Index: opal.h =================================================================== RCS file: /cvsroot/opal/opal/src/opal.h,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** opal.h 29 Mar 2005 03:05:46 -0000 1.26 --- opal.h 18 Apr 2005 22:21:04 -0000 1.27 *************** *** 74,85 **** { /// Creates a Simulator. ! OPAL_EXPORT Simulator* OPAL_CALL createSimulator(); /// Loads a Blueprint from an OPAL XML file. ! OPAL_EXPORT void OPAL_CALL loadFile(Blueprint& bp, const std::string& filename); /// Saves a Blueprint in an OPAL XML file. ! //OPAL_EXPORT void OPAL_CALL saveFile(const Blueprint& bp, // const std::string& filename); } --- 74,85 ---- { /// Creates a Simulator. ! OPAL_EXPORT_FUNCTION(Simulator*) createSimulator(); /// Loads a Blueprint from an OPAL XML file. ! OPAL_EXPORT_FUNCTION(void) loadFile(Blueprint& bp, const std::string& filename); /// Saves a Blueprint in an OPAL XML file. ! //OPAL_EXPORT_FUNCTION(void) saveFile(const Blueprint& bp, // const std::string& filename); } Index: Quaternion.h =================================================================== RCS file: /cvsroot/opal/opal/src/Quaternion.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Quaternion.h 12 Apr 2005 06:46:43 -0000 1.8 --- Quaternion.h 18 Apr 2005 22:21:03 -0000 1.9 *************** *** 38,42 **** inline Quaternion operator*(const Quaternion& q, real scalar); inline Quaternion operator*(real scalar, const Quaternion& q); ! inline std::ostream& operator<<(std::ostream& o, const Point3r& p); class Quaternion --- 38,44 ---- inline Quaternion operator*(const Quaternion& q, real scalar); inline Quaternion operator*(real scalar, const Quaternion& q); ! ! /// Prints the Quaternion to the given output stream. ! inline std::ostream& operator<<(std::ostream& o, const Quaternion& q); class Quaternion Index: Vec3r.h =================================================================== RCS file: /cvsroot/opal/opal/src/Vec3r.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Vec3r.h 12 Apr 2005 06:46:44 -0000 1.15 --- Vec3r.h 18 Apr 2005 22:21:04 -0000 1.16 *************** *** 62,66 **** inline bool areCollinear(const Vec3r& u, const Vec3r& v); ! /// Basic printing helper function. inline std::ostream& operator<<(std::ostream& o, const Vec3r& v); --- 62,66 ---- inline bool areCollinear(const Vec3r& u, const Vec3r& v); ! /// Prints the Vec3r to the given output stream. inline std::ostream& operator<<(std::ostream& o, const Vec3r& v); Index: SConscript =================================================================== RCS file: /cvsroot/opal/opal/src/SConscript,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** SConscript 29 Mar 2005 03:05:46 -0000 1.19 --- SConscript 18 Apr 2005 22:21:03 -0000 1.20 *************** *** 77,80 **** --- 77,81 ---- Solid.cpp SolidData.cpp + Space.cpp SpringMotor.cpp ThrusterMotor.cpp Index: Sensor.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Sensor.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Sensor.cpp 23 Mar 2005 04:04:30 -0000 1.6 --- Sensor.cpp 18 Apr 2005 22:21:03 -0000 1.7 *************** *** 40,43 **** --- 40,48 ---- } + void Sensor::internal_destroy() + { + delete this; + } + void Sensor::init() { Index: Rayr.h =================================================================== RCS file: /cvsroot/opal/opal/src/Rayr.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Rayr.h 12 Apr 2005 06:46:43 -0000 1.7 --- Rayr.h 18 Apr 2005 22:21:03 -0000 1.8 *************** *** 34,37 **** --- 34,39 ---- { class Rayr; + + /// Prints the Rayr to the given output stream. inline std::ostream& operator<<(std::ostream& o, const Rayr& r); Index: Motor.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Motor.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Motor.cpp 23 Mar 2005 04:04:30 -0000 1.17 --- Motor.cpp 18 Apr 2005 22:21:03 -0000 1.18 *************** *** 41,44 **** --- 41,49 ---- } + void Motor::internal_destroy() + { + delete this; + } + void Motor::init() { Index: Solid.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Solid.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** Solid.cpp 10 Apr 2005 23:09:21 -0000 1.33 --- Solid.cpp 18 Apr 2005 22:21:04 -0000 1.34 *************** *** 42,45 **** --- 42,50 ---- } + void Solid::internal_destroy() + { + delete this; + } + const SolidData& Solid::getData()const { Index: Joint.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Joint.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Joint.cpp 25 Mar 2005 04:18:59 -0000 1.29 --- Joint.cpp 18 Apr 2005 22:21:03 -0000 1.30 *************** *** 47,50 **** --- 47,55 ---- } + void Joint::internal_destroy() + { + delete this; + } + void Joint::init(const JointData& data) { Index: Portability.h =================================================================== RCS file: /cvsroot/opal/opal/src/Portability.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Portability.h 15 Apr 2005 08:50:42 -0000 1.6 --- Portability.h 18 Apr 2005 22:21:03 -0000 1.7 *************** *** 51,58 **** #endif ! // Macro for keeping function names from being mangled. ! // TODO: change all OPAL_DECL to use OPAL_EXPORT to prevent name mangling. ! //#define OPAL_EXPORT(rtype) extern "C" OPAL_DECL rtype OPAL_CALL ! #define OPAL_EXPORT extern "C" OPAL_DECL // In Visual Studio, this is the only way to conditionally link with --- 51,62 ---- #endif ! /// Macro for exporting functions that keeps function names from being ! /// mangled and uses the correct calling convention. Note: All class ! /// methods for classes instantiated by OPAL (through factory creation ! /// calls) simply need to be virtual. Classes instantiated by the user ! /// should simply OPAL_DECL to export their public symbols. This doesn't ! /// allow extern "C" to be used to avoid name mangling of those class ! /// methods, but that probably isn't even possible...) ! #define OPAL_EXPORT_FUNCTION(returnType) extern "C" OPAL_DECL returnType OPAL_CALL // In Visual Studio, this is the only way to conditionally link with Index: Joint.h =================================================================== RCS file: /cvsroot/opal/opal/src/Joint.h,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** Joint.h 30 Mar 2005 23:26:22 -0000 1.67 --- Joint.h 18 Apr 2005 22:21:03 -0000 1.68 *************** *** 57,62 **** Joint(); - virtual ~Joint(); - /// Initializes the Joint with the given data structure. Calling /// this more than once will automatically detach the Joint from --- 57,60 ---- *************** *** 224,228 **** --- 222,231 ---- virtual bool OPAL_CALL internal_dependsOnSolid(Solid* s); + /// Internal function used to destroy this object. + virtual void OPAL_CALL internal_destroy(); + protected: + virtual ~Joint(); + /// Sets the Solids constrained by this Joint. void setSolids(Solid* s0, Solid* s1); Index: Point3r.h =================================================================== RCS file: /cvsroot/opal/opal/src/Point3r.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Point3r.h 12 Apr 2005 06:46:43 -0000 1.12 --- Point3r.h 18 Apr 2005 22:21:03 -0000 1.13 *************** *** 34,37 **** --- 34,52 ---- namespace opal { + class Point3r; + inline Point3r operator+(const Point3r &u, const Vec3r &v); + inline Point3r operator-(const Point3r &u, const Vec3r &v); + inline Vec3r operator-(const Point3r &u, const Point3r &v); + inline Point3r operator*(const Point3r &v, real scalar); + inline Point3r operator*(real scalar, const Point3r &v); + inline Point3r operator/(const Point3r &v, real scalar); + inline Point3r operator-(const Point3r &p); + + /// Returns the Euclidean distance between two points. + inline real distance(const Point3r& p1, const Point3r& p2); + + /// Prints the Point3r to the given output stream. + inline std::ostream& operator<<(std::ostream& o, const Point3r& p); + class Point3r { Index: Logger.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Logger.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Logger.cpp 8 Mar 2005 16:10:23 -0000 1.3 --- Logger.cpp 18 Apr 2005 22:21:03 -0000 1.4 *************** *** 65,69 **** if(s.mark != '\0') { ! std::cout<<s.mark; std::cout.flush(); } --- 65,69 ---- if(s.mark != '\0') { ! std::cout << s.mark; std::cout.flush(); } |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/samples/data/overlays In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/samples/data/overlays Modified Files: general.overlay Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: general.overlay =================================================================== RCS file: /cvsroot/opal/opal/samples/data/overlays/general.overlay,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** general.overlay 15 Apr 2005 08:50:40 -0000 1.2 --- general.overlay 18 Apr 2005 22:21:01 -0000 1.3 *************** *** 6,10 **** container Panel(General/Dot) { - // Center it horzontally, put it at the top left 0.495 top 0.494 --- 6,9 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/tools/3dsmax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/tools/3dsmax Modified Files: opalExporter.ms readme.txt Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: opalExporter.ms =================================================================== RCS file: /cvsroot/opal/opal/tools/3dsmax/opalExporter.ms,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** opalExporter.ms 8 Apr 2005 15:49:35 -0000 1.1 --- opalExporter.ms 18 Apr 2005 22:21:06 -0000 1.2 *************** *** 1,201 **** ! global D_TRUE = 1 ! global D_FALSE = 0 ! global D_BOX_ID = #(16,0) ! global D_SPHERE_ID = #(17,0) ! --global D_CYLINDER_ID = #(18,0) ! global D_CAPSULE_ID = #(1832744876, 2043230633) ! ! -- Path for output files. ! global savePath ! ! -- Global handle for the output file. ! global outFile ! ! -- Checks if the scene is in the proper format for exporting. ! function checkScene = ! ( ! -- is something selected? ! if selection.count == 0 then ! ( ! displayTempPrompt "Opal Error: nothing is selected!" 5000 ! return D_FALSE ! ) ! ! -- if saving is canceled return false ! savePath = getSaveFileName caption:"Export Solid To..." filename:"untitled" types:"Opal Blueprint(*.xml)|*.xml|All|*.*" ! if savePath == undefined then return D_FALSE ! ! return D_TRUE ! ) ! ! -- Prints an offset element for Solid. ! function printSolidOffset trans angle axis = ! ( ! format "\t\t<Offset>\n" to:outFile ! ! format "\t\t\t<Transform type=\"translate\" x=\"%\" y=\"%\" z=\"%\"/>\n" trans.x trans.y trans.z to:outFile ! ! -- Only save the rotation if it's significant. ! if abs(angle) > 0.001 then ! ( ! format "\t\t\t<Transform type=\"rotate\" angle=\"%\" x=\"%\" y=\"%\" z=\"%\"/>\n" angle axis.x axis.y axis.z to:outFile ! ) ! ! format "\t\t</Offset>\n" to:outFile ! ) ! ! -- Prints an offset element for Shapes. ! function printShapeOffset trans angle axis = ! ( ! format "\t\t\t<Offset>\n" to:outFile ! ! format "\t\t\t\t<Transform type=\"translate\" x=\"%\" y=\"%\" z=\"%\"/>\n" trans.x trans.y trans.z to:outFile ! ! -- Only save the rotation if it's significant. ! if abs(angle) > 0.001 then ! ( ! format "\t\t\t\t<Transform type=\"rotate\" angle=\"%\" x=\"%\" y=\"%\" z=\"%\"/>\n" angle axis.x axis.y axis.z to:outFile ! ) ! ! format "\t\t\t</Offset>\n" to:outFile ! ) ! ! -- Prints a Shape element for the given object. ! function printShape object printOffset = ! ( ! if object.classID[1] == D_SPHERE_ID[1] then ! ( ! format "\t\t<Shape type=\"sphere\">\n" to:outFile ! format "\t\t\t<Dimensions radius=\"%\"/>\n" (abs(object.scale[1] * object.radius)) to:outFile ! ! ) ! else if object.classID[1] == D_CAPSULE_ID[1] then ! ( ! format "\t\t<Shape type=\"capsule\">\n" to:outFile ! format "\t\t\t<Dimensions radius=\"%\" length=\"%\"/>\n" (abs(object.scale[1] * object.radius)) (abs(object.scale[1] * object.height)) to:outFile ! ) ! -- Default to boxes for everything else. ! else ! ( ! -- We need to find the extents of the object's locally-aligned bounding box. ! -- The MAXScript bounding box extents are wrong for the local coordsys, ! -- so we'll just move the object to the global origin, gets its extents, ! -- and then move it back. ! ! -- First, store the object's original transform. ! originalTransform = object.transform ! ! -- Set its transform to the identity. ! object.transform = Matrix3(1) ! ! -- Calculate the bounding box's extents. ! dimensions = object.max - object.min ! ! -- Restore the object's original transform. ! object.transform = originalTransform ! ! format "\t\t<Shape type=\"box\">\n" to:outFile ! format "\t\t\t<Dimensions x=\"%\" y=\"%\" z=\"%\"/>\n" dimensions.x dimensions.y dimensions.z to:outFile ! ) ! ! -- If requested, print the Shape's offset from its parent. ! if (true == printOffset) then ! ( ! in coordsys parent offsetTranslation = object.center ! in coordsys parent offsetRotation = object.rotation ! printShapeOffset offsetTranslation offsetRotation.angle offsetRotation.axis ! ) ! ! format "\t\t</Shape>\n" to:outFile ! ) ! ! -- Check if the scene is valid. ! readyToGo = checkScene() ! ! if(readyToGo == D_TRUE) then ! ( ! -- Create the output file. ! outFile = createfile savePath ! ! -- Add the XML version and initial Blueprint tags. ! format "<?xml version=\"1.0\"?>\n" to:outFile ! format "<OpalBlueprint>\n" to:outFile ! ! -- Handle Solids. ! --i = 0 ! for object in selection do ! ( ! -- Only print a Solid element for group heads and non-group members. ! if isGroupHead object or false == isGroupMember object then ! ( ! format "\t<Solid>\n" to:outFile ! ! -- Use the object name for the Solid name. ! format "\t\t<Name value=\"%\"/>\n" object.name to:outFile ! ! -- If the group has the "static" user property defined, add an element for it. ! -- Otherwise, the Solid will just use the default OPAL setting. ! isStatic = getUserProp object "static" ! if isStatic != undefined then ! ( ! if "true" == isStatic then ! ( ! format "\t\t<Static value=\"true\"/>\n" to:outFile ! ) ! else if "false" == isStatic then ! ( ! format "\t\t<Static value=\"false\"/>\n" to:outFile ! ) ! else ! ( ! displayTempPrompt "Opal Warning: invalid value for \"static\" user property" 2000 ! ) ! ) ! ! -- Handle group objects. ! if isGroupHead object then ! ( ! -- Create a Shape for each group member. ! ! -- Loop over the group members. ! for member in object do ! ( ! -- The group head "is" the Solid; use its transform as the Solid's transform. ! if true == isGroupHead member then ! ( ! in coordsys world worldTranslation = member.center ! in coordsys world worldRotation = member.rotation ! printSolidOffset worldTranslation worldRotation.angle worldRotation.axis ! ) ! -- Create a Shape for each group member. Their transforms represent offsets from ! -- the group head. ! else ! ( ! printShape member true ! ) ! ) ! ) ! -- Handle "normal" (non-group) objects. Just create a single Shape. ! else if false == isGroupMember object then ! ( ! -- Print the Solid's transform. ! in coordsys world worldTranslation = object.center ! in coordsys world worldRotation = object.rotation ! printSolidOffset worldTranslation worldRotation.angle worldRotation.axis ! ! -- Print the Shape with no offset from its Solid. ! printShape object false ! ) ! ! format "\t</Solid>\n" to:outFile ! ) ! ) ! ! -- Add the closing Blueprint tag. ! format "</OpalBlueprint>\n" to:outFile ! ! -- Close the output file. ! close outFile ! ! displayTempPrompt "Finished exporting OPAL Blueprint" 10000 ! ) --- 1,182 ---- ! global D_TRUE = 1 ! global D_FALSE = 0 ! global D_BOX_ID = #(16,0) ! global D_SPHERE_ID = #(17,0) ! --global D_CYLINDER_ID = #(18,0) ! global D_CAPSULE_ID = #(1832744876, 2043230633) ! ! -- Path for output files. ! global savePath ! ! -- Global handle for the output file. ! global outFile ! ! -- Checks if the scene is in the proper format for exporting. ! function checkScene = ! ( ! -- is something selected? ! if selection.count == 0 then ! ( ! displayTempPrompt "Opal Error: nothing is selected!" 5000 ! return D_FALSE ! ) ! ! -- if saving is canceled return false ! savePath = getSaveFileName caption:"Export Solid To..." filename:"untitled" types:"Opal Blueprint(*.xml)|*.xml|All|*.*" ! if savePath == undefined then return D_FALSE ! ! return D_TRUE ! ) ! ! -- Prints an offset element for Solid. ! function printSolidOffset trans angle axis = ! ( ! format "\t\t<Offset>\n" to:outFile ! ! format "\t\t\t<Transform type=\"translate\" x=\"%\" y=\"%\" z=\"%\"/>\n" trans.x trans.y trans.z to:outFile ! ! -- Only save the rotation if it's significant. ! if abs(angle) > 0.001 then ! ( ! format "\t\t\t<Transform type=\"rotate\" angle=\"%\" x=\"%\" y=\"%\" z=\"%\"/>\n" angle axis.x axis.y axis.z to:outFile ! ) ! ! format "\t\t</Offset>\n" to:outFile ! ) ! ! -- Prints an offset element for Shapes. ! function printShapeOffset trans angle axis = ! ( ! format "\t\t\t<Offset>\n" to:outFile ! ! format "\t\t\t\t<Transform type=\"translate\" x=\"%\" y=\"%\" z=\"%\"/>\n" trans.x trans.y trans.z to:outFile ! ! -- Only save the rotation if it's significant. ! if abs(angle) > 0.001 then ! ( ! format "\t\t\t\t<Transform type=\"rotate\" angle=\"%\" x=\"%\" y=\"%\" z=\"%\"/>\n" angle axis.x axis.y axis.z to:outFile ! ) ! ! format "\t\t\t</Offset>\n" to:outFile ! ) ! ! -- Prints a Shape element for the given object. ! function printShape object printOffset = ! ( ! if object.classID[1] == D_SPHERE_ID[1] then ! ( ! format "\t\t<Shape type=\"sphere\">\n" to:outFile ! format "\t\t\t<Dimensions radius=\"%\"/>\n" (abs(object.scale[1] * object.radius)) to:outFile ! ! ) ! else if object.classID[1] == D_CAPSULE_ID[1] then ! ( ! format "\t\t<Shape type=\"capsule\">\n" to:outFile ! format "\t\t\t<Dimensions radius=\"%\" length=\"%\"/>\n" (abs(object.scale[1] * object.radius)) (abs(object.scale[1] * object.height)) to:outFile ! ) ! -- Default to boxes for everything else. ! else ! ( ! -- We need to find the extents of the object's locally-aligned bounding box. ! -- The MAXScript bounding box extents are wrong for the local coordsys, ! -- so we'll just move the object to the global origin, gets its extents, ! -- and then move it back. ! ! -- First, store the object's original transform. ! originalTransform = object.transform ! ! -- Set its transform to the identity. ! object.transform = Matrix3(1) ! ! -- Calculate the bounding box's extents. ! dimensions = object.max - object.min ! ! -- Restore the object's original transform. ! object.transform = originalTransform ! ! format "\t\t<Shape type=\"box\">\n" to:outFile ! format "\t\t\t<Dimensions x=\"%\" y=\"%\" z=\"%\"/>\n" dimensions.x dimensions.y dimensions.z to:outFile ! ) ! ! -- If requested, print the Shape's offset from its parent. ! if (true == printOffset) then ! ( ! in coordsys parent offsetTranslation = object.center ! in coordsys parent offsetRotation = object.rotation ! printShapeOffset offsetTranslation offsetRotation.angle offsetRotation.axis ! ) ! ! format "\t\t</Shape>\n" to:outFile ! ) ! ! -- Check if the scene is valid. ! readyToGo = checkScene() ! ! if(readyToGo == D_TRUE) then ! ( ! -- Create the output file. ! outFile = createfile savePath ! ! -- Add the XML version and initial Blueprint tags. ! format "<?xml version=\"1.0\"?>\n" to:outFile ! format "<OpalBlueprint>\n" to:outFile ! ! -- Handle Solids. ! --i = 0 ! for object in selection do ! ( ! -- Only print a Solid element for group heads and non-group members. ! if isGroupHead object or false == isGroupMember object then ! ( ! format "\t<Solid>\n" to:outFile ! ! -- Use the object name for the Solid name. ! format "\t\t<Name value=\"%\"/>\n" object.name to:outFile ! ! -- Handle group objects. ! if isGroupHead object then ! ( ! -- Create a Shape for each group member. ! ! -- Loop over the group members. ! for member in object do ! ( ! -- The group head "is" the Solid; use its transform as the Solid's transform. ! if true == isGroupHead member then ! ( ! in coordsys world worldTranslation = member.center ! in coordsys world worldRotation = member.rotation ! printSolidOffset worldTranslation worldRotation.angle worldRotation.axis ! ) ! -- Create a Shape for each group member. Their transforms represent offsets from ! -- the group head. ! else ! ( ! printShape member true ! ) ! ) ! ) ! -- Handle "normal" (non-group) objects. Just create a single Shape. ! else if false == isGroupMember object then ! ( ! -- Print the Solid's transform. ! in coordsys world worldTranslation = object.center ! in coordsys world worldRotation = object.rotation ! printSolidOffset worldTranslation worldRotation.angle worldRotation.axis ! ! -- Print the Shape with no offset from its Solid. ! printShape object false ! ) ! ! format "\t</Solid>\n" to:outFile ! ) ! ) ! ! -- Add the closing Blueprint tag. ! format "</OpalBlueprint>\n" to:outFile ! ! -- Close the output file. ! close outFile ! ! displayTempPrompt "Finished exporting OPAL Blueprint" 10000 ! ) \ No newline at end of file Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/tools/3dsmax/readme.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** readme.txt 8 Apr 2005 15:49:36 -0000 1.1 --- readme.txt 18 Apr 2005 22:21:06 -0000 1.2 *************** *** 1,28 **** ! OPAL 3ds max Exporter ! --------------------- ! ! This exporter for 3ds max generates an OPAL XML file. It is currently limited to a subset of the possible OPAL XML elements. The current feature list includes: ! ! * Single-Shape Solids ! - Ungrouped objects in 3dsmax ! * Multi-Shape Solids ! - Grouped objects are automatically added to a single Solid ! * Shapes ! - Box (3dsmax "box" primitive) ! - Sphere (3dsmax "sphere" primitive) ! - Capsule (3dsmax "capsule" primitive) ! - All other object types are exported as boxes, using the objects' locally-aligned bounding boxes ! * Static/dynamic ! - Solids' static/dynamic property defaults to OPAL's default setting ! - To explicitly set a Solid as static or dynamic, set a "static" user-defined property for the object/group (right-click on the object/group, go to "Properties", then "User Defined"). For example, static=true or static=false. ! ! Note: All objects' local transforms refer to the center of their bounding boxes. For Solids with a single Shape, this refers to the Shape's bounding box center. For grouped objects (multi-Shape Solids), this refers to the group's bounding box center. ! ! ! Planned Features ! ---------------- ! ! * Joints ! - Joint type ! - anchor point ! - axes --- 1,27 ---- ! OPAL 3ds max Exporter ! --------------------- ! ! This exporter for 3ds max generates an OPAL XML file. It is currently limited to a subset of the possible OPAL XML elements. The current feature list includes: ! ! * Single-Shape Solids ! - Ungrouped objects in 3dsmax ! * Multi-Shape Solids ! - Grouped objects are automatically added to a single Solid ! * Shapes ! - Box (3dsmax "box" primitive) ! - Sphere (3dsmax "sphere" primitive) ! - Capsule (3dsmax "capsule" primitive) ! - All other object types are exported as boxes, using the objects' locally-aligned bounding boxes ! ! Note: All properties not supported by the exporter will use OPAL's default settings upon instantiation. ! ! Note: All objects' local transforms refer to the center of their bounding boxes. For Solids with a single Shape, this refers to the Shape's bounding box center. For grouped objects (multi-Shape Solids), this refers to the group's bounding box center. ! ! ! Planned Features ! ---------------- ! ! * Joints ! - Joint type ! - anchor point ! - axes \ No newline at end of file |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/tools/blender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/tools/blender Modified Files: readme.txt Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/tools/blender/readme.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** readme.txt 30 Mar 2005 23:26:25 -0000 1.1 --- readme.txt 18 Apr 2005 22:21:06 -0000 1.2 *************** *** 1 **** ! The current Blender exporter script in this directory is outdated and should not be used. --- 1 ---- ! The current Blender exporter script in this directory is outdated (from before version 0.2.0) and should not be used. This script will be updated eventually. |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/tools/tinyxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/tools/tinyxml Modified Files: SConstruct Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/tools/tinyxml/SConstruct,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SConstruct 13 Apr 2005 17:31:40 -0000 1.2 --- SConstruct 18 Apr 2005 22:21:07 -0000 1.3 *************** *** 8,12 **** env = Environment( ENV = os.environ, ! CXX = ['g++'], CCFLAGS = [''], CXXFLAGS = [''], --- 8,12 ---- env = Environment( ENV = os.environ, ! CXX = [''], CCFLAGS = [''], CXXFLAGS = [''], *************** *** 14,19 **** LINK = [''], LINKFLAGS = [''], ! AR = ['ar'], ! ARFLAGS = ['rc'], LIBPATH = [''], SHLIBSUFFIX='.so', --- 14,19 ---- LINK = [''], LINKFLAGS = [''], ! AR = [''], ! ARFLAGS = [''], LIBPATH = [''], SHLIBSUFFIX='.so', |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/src/ODE Modified Files: ODESimulator.cpp Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.100 retrieving revision 1.101 diff -C2 -d -r1.100 -r1.101 *** ODESimulator.cpp 14 Apr 2005 09:15:07 -0000 1.100 --- ODESimulator.cpp 18 Apr 2005 22:21:05 -0000 1.101 *************** *** 31,35 **** namespace opal { ! OPAL_EXPORT opal::Simulator* OPAL_CALL createSimulator() { return new opal::ODESimulator(); --- 31,35 ---- namespace opal { ! OPAL_EXPORT_FUNCTION(opal::Simulator*) createSimulator() { return new opal::ODESimulator(); |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:52
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/samples/playpen Modified Files: main.cpp playpen.vcproj Added Files: SConstruct Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- NEW FILE: SConstruct --- import os sources = Split(""" main.cpp """) env = Environment( ENV = os.environ, CXX = [''], CCFLAGS = [''], CXXFLAGS = [''], CPPPATH = [''], LINK = [''], LINKFLAGS = [''], AR = [''], ARFLAGS = [''], LIBPATH = [''], SHLIBSUFFIX='.so', LIBS = [''] ) env.Program('playpen', sources) Index: main.cpp =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/main.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** main.cpp 15 Apr 2005 08:50:42 -0000 1.10 --- main.cpp 18 Apr 2005 22:21:02 -0000 1.11 *************** *** 1,5 **** #include <time.h> #include "../src/BaseOpalApp.h" - #include "../src/OgreLine.h" namespace playpen --- 1,4 ---- *************** *** 93,97 **** //mSceneMgr->showBoundingBoxes(true); ! mSimulator->setStepSize(0.02); mSimulator->setGravity(opal::Vec3r(0, -30, 0)); --- 92,96 ---- //mSceneMgr->showBoundingBoxes(true); ! //mSimulator->setStepSize(0.02); mSimulator->setGravity(opal::Vec3r(0, -30, 0)); Index: playpen.vcproj =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.vcproj,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** playpen.vcproj 6 Apr 2005 04:48:43 -0000 1.4 --- playpen.vcproj 18 Apr 2005 22:21:02 -0000 1.5 *************** *** 34,38 **** Name="VCLinkerTool" AdditionalDependencies="ogremain_d.lib opal-ode_d.lib" ! OutputFile="../win32bin/debug/playpen.exe" LinkIncremental="2" AdditionalLibraryDirectories="" --- 34,38 ---- Name="VCLinkerTool" AdditionalDependencies="ogremain_d.lib opal-ode_d.lib" ! OutputFile="../bin/Debug/playpen.exe" LinkIncremental="2" AdditionalLibraryDirectories="" *************** *** 86,90 **** Name="VCLinkerTool" AdditionalDependencies="ogremain.lib opal-ode.lib" ! OutputFile="../win32bin/release/playpen.exe" LinkIncremental="1" AdditionalLibraryDirectories="" --- 86,90 ---- Name="VCLinkerTool" AdditionalDependencies="ogremain.lib opal-ode.lib" ! OutputFile="../bin/Release/playpen.exe" LinkIncremental="1" AdditionalLibraryDirectories="" |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:41
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731 Modified Files: changelog.txt readme.txt todo.txt Added Files: gatherSrcRelease.bat gatherWin32BinaryRelease.bat win32BinaryReadme.txt Removed Files: design_notes.txt gatherCommon.py gatherSrcRelease.py gatherWin32Release.py win32Readme.txt Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** todo.txt 12 Apr 2005 06:46:42 -0000 1.72 --- todo.txt 18 Apr 2005 22:21:00 -0000 1.73 *************** *** 2,51 **** ================= ! * finish testing incline sensor - maybe with picking system? ! ! * incline/orientation sensor: takes a local rotation axis; measures the angle the Solid has moved around that local axis; returns a real value (angle in degrees) ! - doesn't use teh sensor's transform ! - add example to sensors tutorial ! ! * search for TODOs in InclineSensor ! ! * Things to do for InclineSensor: ! - parse from xml ! - add to xml example ! - add to instantiateBlueprint ! - add to Blueprint finalize function ! - add to Blueprint addSensor/addMotor function ! ! * samples ! - clean up old ones OR make new ones ! - add license to all source files ! - add instructions for making your own opal-ogre app ! ! * build (and distribute) with ode dll? ! ! * comment math functions ! ! * make an OPAL_ASSERT that prints informative messages; replace all assert() calls ! ! * move samples to a separate module? ! ! * within 'samples', make an 'ogre' directory? ! ! * add 'sleeping' user prop to max exporter ! ! * rename 'vc7' to 'vc71' ! * stop supporting vc6? * finish web todo for 0.3.0 ! * update change log ! ! * update readme files ! ! * add ogre plugins.cfg and resources.cfg files to samples for non-win32 ! ! * announce opal 0.3.0 to ode community ! - mention freely-spinning stability fix to ode community after initial announcement For Version 0.4.0 --- 2,13 ---- ================= ! * replace the scons gather scripts with simple shell scripts ! - write scons for sample ! * try building on win32 and linux * finish web todo for 0.3.0 ! * finish samples todo for 0.3.0 For Version 0.4.0 *************** *** 54,57 **** --- 16,21 ---- * private constructors for opal-managed objects? + * look into automatic shape generation from model files + * remove plane from shapes; just make it a special object? - it isn't really something you would store in a blueprint *************** *** 69,72 **** --- 33,38 ---- - non-fatal errors just print a warning + * make an OPAL_ASSERT that prints informative messages; replace all assert() calls + * joint motion damping? - useful for ragdolls *************** *** 86,93 **** * separate Joint back into separate subclasses? - * get rid of custom motors? - - for one thing, we can't use them in xml - - if we use them, should we also have custom sensors? - * investigate sleeping for entire islands - this may make stacks a lot more stable --- 52,55 ---- --- NEW FILE: gatherSrcRelease.bat --- mkdir opal-0.3.0-src cd opal-0.3.0-src copy ..\readme.txt . copy ..\changelog.txt . copy ..\license-LGPL.txt . copy ..\license-BSD.txt . copy ..\SConstruct . mkdir src copy ..\src\SConscript src copy ..\src\*.h src copy ..\src\*.cpp src mkdir src\ODE copy ..\src\ODE\SConscript src\ODE copy ..\src\ODE\*.h src\ODE copy ..\src\ODE\*.cpp src\ODE mkdir vc71 copy ..\vc71\opal.sln vc71 copy ..\vc71\opal-ode.vcproj vc71 mkdir tools mkdir tools\3dsmax copy ..\tools\3dsmax\*.ms tools\3dsmax copy ..\tools\3dsmax\*.txt tools\3dsmax mkdir tools\blender 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 copy ..\samples\readme.txt samples mkdir samples\data mkdir samples\data\blueprints copy ..\samples\data\blueprints\*.xml samples\data\blueprints mkdir samples\data\materials copy ..\samples\data\materials\*.material samples\data\materials mkdir samples\data\models copy ..\samples\data\models\*.mesh samples\data\models mkdir samples\data\overlays copy ..\samples\data\overlays\*.overlay samples\data\overlays mkdir samples\data\packs copy ..\samples\data\packs\*.zip samples\data\packs mkdir samples\data\textures copy ..\samples\data\textures\*.* samples\data\textures mkdir samples\src copy ..\samples\src\*.h samples\src copy ..\samples\src\*.cpp samples\src mkdir samples\bin copy ..\samples\bin\readme.txt samples\bin copy ..\samples\bin\*.cfg samples\bin mkdir samples\playpen copy ..\samples\playpen\SConstruct samples\playpen copy ..\samples\playpen\playpen.sln samples\playpen copy ..\samples\playpen\playpen.vcproj samples\playpen copy ..\samples\playpen\main.cpp samples\playpen cd .. --- win32Readme.txt DELETED --- --- NEW FILE: win32BinaryReadme.txt --- OPAL - Open Physics Absraction Layer opal.sourceforge.net This file contains basic installation info. For more documentation, visit the OPAL website. ------------------------------------ Package contents: ------------------------------------ include - OPAL headers lib - OPAL libraries* (debug and release versions of the OPAL dll and import library) samples - executable versions of sample applications and required dlls license-BSD.txt - BSD Open Source license license-LGPL.txt - LGPL Open Source license win32BinaryReadme.txt - you're reading it * The OPAL libraries have been built with the following options: XML=true MESH=true ------------------------------------ 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. ------------------------------------ Installation: ------------------------------------ Copy the OPAL headers and import libraries into your include and library path, respectively. Put the dlls into the same directory as your executable or into the places where Windows looks for dlls (e.g. c:\WINDOWS\SYSTEM32). ------------------------------------ Using OPAL in your application: ------------------------------------ Add #include <opal/opal.h> in your application and link against the OPAL library. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** changelog.txt 12 Apr 2005 06:46:41 -0000 1.15 --- changelog.txt 18 Apr 2005 22:20:53 -0000 1.16 *************** *** 1,13 **** Version 0.3.0 ! , 2005 ------------------------------------------ ! * New additional object creation system: all objects can be created from/saved to a data object * EventHandler was changed to a base class * Added CollisionEventHandler, JointBreakEventHandler, and PostStepEventHandler * Collision events now get queued up during collision detection and handled at the end of each time step * Added AccelerationSensor, InclineSensor, RaycastSensor, and VolumeSensor ! * Overhauled XML loading system; now all Solid, Shape, Joint, Motor, and Sensor data can be loaded from OPAL XML files ! * Joints have a parameter to allow contacts between connected Solids or not * Increased stability for freely-spinning objects with non-symmetric inertia tensors * Numerous API changes * Various bug fixes --- 1,16 ---- Version 0.3.0 ! April 18, 2005 ------------------------------------------ ! * All objects can now be created from and saved to a data object * EventHandler was changed to a base class * Added CollisionEventHandler, JointBreakEventHandler, and PostStepEventHandler * Collision events now get queued up during collision detection and handled at the end of each time step * Added AccelerationSensor, InclineSensor, RaycastSensor, and VolumeSensor ! * Overhauled XML loading system; now all Solid, Joint, Motor, and Sensor data can be loaded from OPAL XML files * Increased stability for freely-spinning objects with non-symmetric inertia tensors + * Added contact group system to give users more control over contact generation + * Joints have a parameter to allow or ignore contacts between connected Solids + * Added an option to allow or ignore contacts between static and sleeping Solids + * Added tutorials and API documentation to OPAL website * Numerous API changes * Various bug fixes --- design_notes.txt DELETED --- --- NEW FILE: gatherWin32BinaryRelease.bat --- mkdir opal-0.3.0-win32 cd opal-0.3.0-win32 copy ..\win32BinaryReadme.txt . copy ..\changelog.txt . copy ..\license-LGPL.txt . copy ..\license-BSD.txt . mkdir include copy ..\src\*.h include mkdir lib copy ..\build\win32\Debug\*.lib lib copy ..\build\win32\Debug\*.dll lib copy ..\build\win32\Release\*.lib lib copy ..\build\win32\Release\*.dll lib mkdir samples copy ..\samples\readme.txt samples mkdir samples\data mkdir samples\data\blueprints copy ..\samples\data\blueprints\*.xml samples\data\blueprints mkdir samples\data\materials copy ..\samples\data\materials\*.material samples\data\materials mkdir samples\data\models copy ..\samples\data\models\*.mesh samples\data\models mkdir samples\data\overlays copy ..\samples\data\overlays\*.overlay samples\data\overlays mkdir samples\data\packs copy ..\samples\data\packs\*.zip samples\data\packs mkdir samples\data\textures copy ..\samples\data\textures\*.* samples\data\textures mkdir samples\bin mkdir samples\bin\release copy ..\samples\bin\*.cfg samples\bin\release copy ..\samples\bin\Release\*.exe samples\bin\release copy ..\samples\bin\Release\*.dll samples\bin\release cd .. --- gatherCommon.py DELETED --- --- gatherWin32Release.py DELETED --- --- gatherSrcRelease.py DELETED --- Index: readme.txt =================================================================== RCS file: /cvsroot/opal/opal/readme.txt,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** readme.txt 5 Mar 2005 21:26:23 -0000 1.36 --- readme.txt 18 Apr 2005 22:21:00 -0000 1.37 *************** *** 10,15 **** 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) ! vc6 - Visual Studio 6 project files ! vc7 - Visual Studio 7 project files (.NET 2003 or later) license-BSD.txt - BSD Open Source license license-LGPL.txt - LGPL Open Source license --- 10,14 ---- 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 license-BSD.txt - BSD Open Source license license-LGPL.txt - LGPL Open Source license *************** *** 32,50 **** For example, to build the OPAL library with ODE support, type: ! 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: ! scons ODE extra_include_path=/path/to/includes extra_lib_path=/path/to/libs Finally, to install the OPAL headers and library, do this: ! scons ODE install prefix=/path/to/install/dir ! This will create "include" and "lib" directories if they don't exist in the given prefix. The "install" will automatically make sure the built library is up-to-date. You can actually just type "scons ODE install prefix=/path/to/install/dir" to have SCons build and install everything. Be aware that any paths used here should be full paths, not relative ones. --- 31,49 ---- For example, to build the OPAL library with ODE support, type: ! 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: ! scons ODE extra_include_path=/path/to/includes extra_lib_path=/path/to/libs Finally, to install the OPAL headers and library, do this: ! scons ODE install prefix=/path/to/install/dir ! This will create "include" and "lib" directories if they don't exist in the given prefix. The "install" will automatically make sure the built library is up-to-date. You can just type "scons ODE install prefix=/path/to/install/dir" to have SCons build and install everything. Be aware that any paths used here should be full paths, not relative ones. *************** *** 54,58 **** Visual Studio build instructions: ------------------------------------ ! Use the included project files (in the vc6 or vc7 directory) to build a shared library for OPAL. The SConstruct's "install" target can be used to copy the headers and libraries into your include and library path, respectively (or you can just copy them manually). Put the dlls into the same directory as your executable or into the places where Windows looks for dlls (e.g. c:\WINDOWS\SYSTEM32). --- 53,57 ---- Visual Studio build instructions: ------------------------------------ ! Use the included Visual Studio project files to build a shared library (win32 .dll file and .lib import library file containing all the dll symbols) for OPAL. After building the library, copy the headers and .lib file into your include and library path, respectively. Put the .dll into the same directory as your executable or into the places where Windows looks for dlls (e.g. c:\WINDOWS\SYSTEM32). |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:26
|
Update of /cvsroot/opal/opal/vc7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/vc7 Removed Files: opal-ode.vcproj opal.sln Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- opal-ode.vcproj DELETED --- --- opal.sln DELETED --- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:25
|
Update of /cvsroot/opal/opal/samples/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/samples/src Removed Files: Base3DObject.h BoxObject.cpp BoxObject.h CapsuleObject.cpp CapsuleObject.h CarObject.cpp CarObject.h OgreLine.h SphereObject.cpp SphereObject.h Timer.cpp Timer.h Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- CapsuleObject.h DELETED --- --- Timer.h DELETED --- --- Base3DObject.h DELETED --- --- CarObject.cpp DELETED --- --- CarObject.h DELETED --- --- BoxObject.h DELETED --- --- BoxObject.cpp DELETED --- --- Timer.cpp DELETED --- --- SphereObject.cpp DELETED --- --- OgreLine.h DELETED --- --- CapsuleObject.cpp DELETED --- --- SphereObject.h DELETED --- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:25
|
Update of /cvsroot/opal/opal/vc6 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/vc6 Removed Files: opal.dsw opalode.dsp Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- opalode.dsp DELETED --- --- opal.dsw DELETED --- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:25
|
Update of /cvsroot/opal/opal/samples/simple_objects In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/samples/simple_objects Removed Files: SDL.dll main.cpp ragdoll.xml simple_objects.sln simple_objects.vcproj Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- SDL.dll DELETED --- --- simple_objects.sln DELETED --- --- main.cpp DELETED --- --- simple_objects.vcproj DELETED --- --- ragdoll.xml DELETED --- |
|
From: tylerstreeter <tyl...@us...> - 2005-04-18 22:21:19
|
Update of /cvsroot/opal/opal/samples/car In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32731/samples/car Removed Files: SDL.dll car.sln car.vcproj main.cpp Log Message: made destructor protected for objects instantiated by OPAL; cleaned up a lot of things to prepare for 0.3.0 release --- SDL.dll DELETED --- --- main.cpp DELETED --- --- car.vcproj DELETED --- --- car.sln DELETED --- |