opal-commits Mailing List for Open Physics Abstraction Layer (Page 9)
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-08-16 19:04:30
|
Update of /cvsroot/opal/opal/samples/playpen/vc8 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4938/vc8 Log Message: Directory /cvsroot/opal/opal/samples/playpen/vc8 added to the repository |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 19:04:29
|
Update of /cvsroot/opal/opal/samples/playpen/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4938/vc71 Log Message: Directory /cvsroot/opal/opal/samples/playpen/vc71 added to the repository |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 19:01:20
|
Update of /cvsroot/opal/opal/samples/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3692/samples/bin Modified Files: plugins.cfg Log Message: Removed iterator from Solid::internal_applyForces to avoid assertions from VC++ 8.0 "Debug Iterator Support." Index: plugins.cfg =================================================================== RCS file: /cvsroot/opal/opal/samples/bin/plugins.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** plugins.cfg 21 Apr 2005 17:04:51 -0000 1.3 --- plugins.cfg 16 Aug 2005 19:01:11 -0000 1.4 *************** *** 5,9 **** # Define plugins - Plugin=RenderSystem_Direct3D7 Plugin=RenderSystem_Direct3D9 Plugin=RenderSystem_GL --- 5,8 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 19:01:20
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3692/src Modified Files: Blueprint.cpp Solid.cpp Log Message: Removed iterator from Solid::internal_applyForces to avoid assertions from VC++ 8.0 "Debug Iterator Support." Index: Solid.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Solid.cpp,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** Solid.cpp 21 Jul 2005 15:59:01 -0000 1.37 --- Solid.cpp 16 Aug 2005 19:01:11 -0000 1.38 *************** *** 228,260 **** } ! std::vector<Force>::iterator forceIter; ! for (forceIter = mForceList.begin(); forceIter != mForceList.end();) { ! if (true == (*forceIter).singleStep) { ! (*forceIter).duration = stepSize; } ! else if ((*forceIter).duration < stepSize) { // Scale the size of the force/torque. ! (*forceIter).vec *= ((*forceIter).duration / stepSize); } // Apply the actual force/torque. ! applyForce(*forceIter); // The following is ok for all cases (even when duration is // < mStepSize). ! (*forceIter).duration -= stepSize; ! if ((*forceIter).duration <= 0) { // Delete this force. ! (*forceIter) = mForceList.back(); mForceList.pop_back(); } else { ! ++forceIter; } } --- 228,261 ---- } ! real invStepSize = 1 / stepSize; ! ! for (unsigned int i = 0; i < mForceList.size();) { ! if (true == mForceList[i].singleStep) { ! mForceList[i].duration = stepSize; } ! else if (mForceList[i].duration < stepSize) { // Scale the size of the force/torque. ! mForceList[i].vec *= (mForceList[i].duration * invStepSize); } // Apply the actual force/torque. ! applyForce(mForceList[i]); // The following is ok for all cases (even when duration is // < mStepSize). ! mForceList[i].duration -= stepSize; ! if (mForceList[i].duration <= 0) { // Delete this force. ! mForceList[i] = mForceList.back(); mForceList.pop_back(); } else { ! ++i; } } Index: Blueprint.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Blueprint.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** Blueprint.cpp 18 Apr 2005 22:21:02 -0000 1.23 --- Blueprint.cpp 16 Aug 2005 19:01:11 -0000 1.24 *************** *** 90,96 **** { OPAL_LOGGER("warning") << ! "opal::Blueprint::finalize: Invalid reference \ ! in Joint " << data->name << ". Removing the Joint from the Blueprint." ! << std::endl; delete data; --- 90,96 ---- { OPAL_LOGGER("warning") << ! "opal::Blueprint::finalize: Invalid reference " ! << "in Joint " << data->name << ". Removing the Joint " ! << "from the Blueprint." << std::endl; delete data; |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 19:01:20
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3692 Modified Files: changelog.txt Log Message: Removed iterator from Solid::internal_applyForces to avoid assertions from VC++ 8.0 "Debug Iterator Support." Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** changelog.txt 16 Aug 2005 08:28:21 -0000 1.38 --- changelog.txt 16 Aug 2005 19:01:10 -0000 1.39 *************** *** 15,18 **** --- 15,20 ---- ------------------------------------------ + * 8-16-05: Removed iterator from Solid::internal_applyForces to avoid assertions from VC++ 8.0 "Debug Iterator Support." (Tyler Streeter) + * 8-16-05: Added VC8 (i.e. .NET 2005) project files. (Tyler Streeter) |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 08:28:29
|
Update of /cvsroot/opal/opal/vc8 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16644/vc8 Added Files: opal-ode.vcproj opal.sln Log Message: Added VC8 (i.e. .NET 2005) project files. --- NEW FILE: opal-ode.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="opal-ode" ProjectGUID="{312196D4-105B-4444-A33A-2ECE3C7D6D64}" RootNamespace="opal-ode" Keyword="Win32Proj" > <Platforms> <Platform Name="Win32" /> </Platforms> <ToolFiles> </ToolFiles> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory="..\build\win32\Debug" IntermediateDirectory="$(OutDir)" ConfigurationType="2" CharacterSet="2" > <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" AdditionalOptions="/wd4996" Optimization="0" InlineFunctionExpansion="0" EnableIntrinsicFunctions="false" FavorSizeOrSpeed="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPAL_DLL_EXPORTING" MinimalRebuild="true" BasicRuntimeChecks="0" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" AdditionalDependencies="ode_d.lib" OutputFile="$(OutDir)/opal-ode_d.dll" IgnoreDefaultLibraryNames="libcmt" GenerateDebugInformation="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCManifestTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCAppVerifierTool" /> <Tool Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Release|Win32" OutputDirectory="..\build\win32\Release" IntermediateDirectory="$(OutDir)" ConfigurationType="2" CharacterSet="2" > <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" AdditionalOptions="/wd4996" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" AdditionalIncludeDirectories="" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPAL_DLL_EXPORTING" RuntimeLibrary="2" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="true" DebugInformationFormat="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" AdditionalDependencies="ode.lib" OutputFile="$(OutDir)/opal-ode.dll" IgnoreDefaultLibraryNames="libcmt" OptimizeReferences="2" EnableCOMDATFolding="2" /> <Tool Name="VCALinkTool" /> <Tool Name="VCManifestTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCAppVerifierTool" /> <Tool Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" > <File RelativePath="..\src\AccelerationSensor.cpp" > </File> <File RelativePath="..\src\AttractorMotor.cpp" > </File> <File RelativePath="..\src\Blueprint.cpp" > </File> <File RelativePath="..\src\BlueprintInstance.cpp" > </File> <File RelativePath="..\src\BlueprintManager.cpp" > </File> <File RelativePath="..\src\CollisionEventHandler.cpp" > </File> <File RelativePath="..\src\GearedMotor.cpp" > </File> <File RelativePath="..\src\InclineSensor.cpp" > </File> <File RelativePath="..\src\Joint.cpp" > </File> <File RelativePath="..\src\Logger.cpp" > </File> <File RelativePath="..\src\Motor.cpp" > </File> <File RelativePath="..\src\RaycastSensor.cpp" > </File> <File RelativePath="..\src\Sensor.cpp" > </File> <File RelativePath="..\src\ServoMotor.cpp" > </File> <File RelativePath="..\src\Simulator.cpp" > </File> <File RelativePath="..\src\Solid.cpp" > </File> <File RelativePath="..\src\SolidData.cpp" > </File> <File RelativePath="..\src\Space.cpp" > </File> <File RelativePath="..\src\SpringMotor.cpp" > </File> <File RelativePath="..\src\ThrusterMotor.cpp" > </File> <File RelativePath="..\src\VolumeSensor.cpp" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\src\AccelerationSensor.h" > </File> <File RelativePath="..\src\AccelerationSensorData.h" > </File> <File RelativePath="..\src\AttractorMotor.h" > </File> <File RelativePath="..\src\AttractorMotorData.h" > </File> <File RelativePath="..\src\Blueprint.h" > </File> <File RelativePath="..\src\BlueprintInstance.h" > </File> <File RelativePath="..\src\BlueprintManager.h" > </File> <File RelativePath="..\src\BoxShapeData.h" > </File> <File RelativePath="..\src\CapsuleShapeData.h" > </File> <File RelativePath="..\src\CollisionEventHandler.h" > </File> <File RelativePath="..\src\Defines.h" > </File> <File RelativePath="..\src\EventHandler.h" > </File> <File RelativePath="..\src\GearedMotor.h" > </File> <File RelativePath="..\src\GearedMotorData.h" > </File> <File RelativePath="..\src\InclineSensor.h" > </File> <File RelativePath="..\src\InclineSensorData.h" > </File> <File RelativePath="..\src\Joint.h" > </File> <File RelativePath="..\src\JointBreakEventHandler.h" > </File> <File RelativePath="..\src\JointData.h" > </File> <File RelativePath="..\src\Logger.h" > </File> <File RelativePath="..\src\MeshShapeData.h" > </File> <File RelativePath="..\src\Motor.h" > </File> <File RelativePath="..\src\MotorData.h" > </File> <File RelativePath="..\src\opal.h" > </File> <File RelativePath="..\src\PlaneShapeData.h" > </File> <File RelativePath="..\src\Portability.h" > </File> <File RelativePath="..\src\PostStepEventHandler.h" > </File> <File RelativePath="..\src\RaycastSensor.h" > </File> <File RelativePath="..\src\RaycastSensorData.h" > </File> <File RelativePath="..\src\Sensor.h" > </File> <File RelativePath="..\src\SensorData.h" > </File> <File RelativePath="..\src\ServoMotor.h" > </File> <File RelativePath="..\src\ServoMotorData.h" > </File> <File RelativePath="..\src\ShapeData.h" > </File> <File RelativePath="..\src\Simulator.h" > </File> <File RelativePath="..\src\Singleton.h" > </File> <File RelativePath="..\src\Solid.h" > </File> <File RelativePath="..\src\SolidData.h" > </File> <File RelativePath="..\src\Space.h" > </File> <File RelativePath="..\src\SphereShapeData.h" > </File> <File RelativePath="..\src\SpringMotor.h" > </File> <File RelativePath="..\src\SpringMotorData.h" > </File> <File RelativePath="..\src\ThrusterMotor.h" > </File> <File RelativePath="..\src\ThrusterMotorData.h" > </File> <File RelativePath="..\src\VolumeSensor.h" > </File> <File RelativePath="..\src\VolumeSensorData.h" > </File> </Filter> <Filter Name="ODE-Specific" > <Filter Name="Source Files" > <File RelativePath="..\src\Ode\ODEJoint.cpp" > </File> <File RelativePath="..\src\Ode\ODESimulator.cpp" > </File> <File RelativePath="..\src\Ode\ODESolid.cpp" > </File> <File RelativePath="..\src\Ode\ODESpace.cpp" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\src\Ode\ODEJoint.h" > </File> <File RelativePath="..\src\Ode\ODESimulator.h" > </File> <File RelativePath="..\src\Ode\ODESolid.h" > </File> <File RelativePath="..\src\Ode\ODESpace.h" > </File> </Filter> </Filter> <Filter Name="Math" > <File RelativePath="..\src\Matrix44r.h" > </File> <File RelativePath="..\src\OpalMath.h" > </File> <File RelativePath="..\src\Point3r.h" > </File> <File RelativePath="..\src\Quaternion.h" > </File> <File RelativePath="..\src\Rayr.h" > </File> <File RelativePath="..\src\Vec3r.h" > </File> </Filter> <Filter Name="TinyXml" > <Filter Name="Source Files" > <File RelativePath="..\src\external\tinyxml\tinystr.cpp" > </File> <File RelativePath="..\src\external\tinyxml\tinyxml.cpp" > </File> <File RelativePath="..\src\external\tinyxml\tinyxmlerror.cpp" > </File> <File RelativePath="..\src\external\tinyxml\tinyxmlparser.cpp" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\src\external\tinyxml\tinystr.h" > </File> <File RelativePath="..\src\external\tinyxml\tinyxml.h" > </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> --- NEW FILE: opal.sln --- Microsoft Visual Studio Solution File, Format Version 9.00 # Visual C++ Express 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opal-ode", "opal-ode.vcproj", "{312196D4-105B-4444-A33A-2ECE3C7D6D64}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {312196D4-105B-4444-A33A-2ECE3C7D6D64}.Debug|Win32.ActiveCfg = Debug|Win32 {312196D4-105B-4444-A33A-2ECE3C7D6D64}.Debug|Win32.Build.0 = Debug|Win32 {312196D4-105B-4444-A33A-2ECE3C7D6D64}.Release|Win32.ActiveCfg = Release|Win32 {312196D4-105B-4444-A33A-2ECE3C7D6D64}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 08:28:29
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16644 Modified Files: changelog.txt Log Message: Added VC8 (i.e. .NET 2005) project files. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** changelog.txt 6 Aug 2005 05:58:24 -0000 1.37 --- changelog.txt 16 Aug 2005 08:28:21 -0000 1.38 *************** *** 15,18 **** --- 15,20 ---- ------------------------------------------ + * 8-16-05: Added VC8 (i.e. .NET 2005) project files. (Tyler Streeter) + * 8-6-05: Fixed bug in ODE function found by EarthquakeProof - a VolumeSensor using a volume Solid with an offset shape caused a segmentation fault when getting user data from its ODE geomID in ODESimulator::internal_queryVolume. (Tyler Streeter) |
|
From: tylerstreeter <tyl...@us...> - 2005-08-16 06:01:37
|
Update of /cvsroot/opal/opal/vc8 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19317/vc8 Log Message: Directory /cvsroot/opal/opal/vc8 added to the repository |
|
From: tylerstreeter <tyl...@us...> - 2005-08-10 01:27:21
|
Update of /cvsroot/opal/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21328 Modified Files: tutorial2.html users.html Log Message: added Olex's Ukrainian Rumble to users page Index: tutorial2.html =================================================================== RCS file: /cvsroot/opal/web/tutorial2.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** tutorial2.html 20 Apr 2005 03:45:47 -0000 1.5 --- tutorial2.html 9 Aug 2005 07:44:09 -0000 1.6 *************** *** 25,39 **** <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> --- 25,39 ---- <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>128</o:Revision> ! <o:TotalTime>214</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-07-15T18:53:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>420</o:Words> ! <o:Characters>2394</o:Characters> <o:Company>none</o:Company> ! <o:Lines>19</o:Lines> <o:Paragraphs>5</o:Paragraphs> ! <o:CharactersWithSpaces>2809</o:CharactersWithSpaces> <o:Version>10.6714</o:Version> </o:DocumentProperties> *************** *** 43,46 **** --- 43,50 ---- <w:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</w:GrammarState> + <w:DocumentVariables> + <w:dgnword-docGUID>{F1FC9714-203F-4FDB-897B-71B72F8764F4}</w:dgnword-docGUID> + <w:dgnword-eventsink>10838504</w:dgnword-eventsink> + </w:DocumentVariables> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> *************** *** 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> --- 119,123 ---- </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="60418"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> *************** *** 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 --- 155,165 ---- 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, 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> --- 192,197 ---- <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 --- 309,315 ---- <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 *************** *** 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> --- 374,379 ---- <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> Index: users.html =================================================================== RCS file: /cvsroot/opal/web/users.html,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** users.html 27 Jun 2005 23:43:30 -0000 1.8 --- users.html 9 Aug 2005 07:44:09 -0000 1.9 *************** *** 3,6 **** --- 3,7 ---- xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" + xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40"> *************** *** 21,47 **** <![endif]--> <title>OPAL: Open Physics Abstraction Layer</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>118</o:Revision> ! <o:TotalTime>140</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-06-27T23:42:00Z</o:LastSaved> ! <o:Pages>2</o:Pages> ! <o:Words>629</o:Words> ! <o:Characters>3590</o:Characters> <o:Company>none</o:Company> ! <o:Lines>29</o:Lines> <o:Paragraphs>8</o:Paragraphs> ! <o:CharactersWithSpaces>4211</o:CharactersWithSpaces> ! <o:Version>10.6714</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> - <w:Zoom>90</w:Zoom> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> ! </xml><![endif]--> <style> <!-- --- 22,56 ---- <![endif]--> <title>OPAL: Open Physics Abstraction Layer</title> + <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" + name="City"/> + <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" + name="place"/> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Tyler Streeter</o:Author> <o:LastAuthor>Tyler Streeter</o:LastAuthor> ! <o:Revision>120</o:Revision> ! <o:TotalTime>143</o:TotalTime> <o:Created>2004-06-05T15:20:00Z</o:Created> ! <o:LastSaved>2005-08-09T07:40:00Z</o:LastSaved> ! <o:Pages>1</o:Pages> ! <o:Words>671</o:Words> ! <o:Characters>3831</o:Characters> <o:Company>none</o:Company> ! <o:Lines>31</o:Lines> <o:Paragraphs>8</o:Paragraphs> ! <o:CharactersWithSpaces>4494</o:CharactersWithSpaces> ! <o:Version>10.6735</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> ! </xml><![endif]--><!--[if !mso]><object ! classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object> ! <style> ! st1\:*{behavior:url(#ieooui) } ! </style> ! <![endif]--> <style> <!-- *************** *** 99,103 **** </style> <![endif]--><!--[if gte mso 9]><xml> ! <o:shapedefaults v:ext="edit" spidmax="56322"> <o:colormenu v:ext="edit" fillcolor="white"/> </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> --- 108,112 ---- </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> *************** *** 182,188 **** <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 ! you would like to have your OPAL project added to this list, email Tyler with ! the projects name, a short description, a link to the projects website, and ! screenshot.<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 align=center style='text-align:center'><span --- 191,198 ---- <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 ! you would like to have your OPAL project added to this list, email </span><st1:City><st1:place><span ! style='font-family:"Book Antiqua";color:black'>Tyler</span></st1:place></st1:City><span ! style='font-family:"Book Antiqua";color:black'> with the projects name, a ! short description, a link to the projects website, and screenshot.<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 align=center style='text-align:center'><span *************** *** 321,325 **** <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:#333333'><img ! border=0 width=318 height=239 id="_x0000_i1037" src="files/verve.png"></span><span style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><b --- 331,349 ---- <p class=MsoNormal align=center style='text-align:center'><span style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:#333333'><img ! border=0 width=407 height=304 id="_x0000_i1037" src="files/ukrainian_rumble.jpg"></span><span ! style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> ! <p class=MsoNormal align=center style='text-align:center'><b ! style='mso-bidi-font-weight:normal'><span style='font-family:"Book Antiqua"; ! color:black'><a ! href="http://ox.slug.louisville.edu/~o0lozi01/wiki/index.php/Ukrainian_Rumble_2:_Heritage">Ukrainian ! Rumble</a></span></b><span style='font-family:"Book Antiqua";color:black'>: A ! mechanical FPS with destructible physics. <o:p></o:p></span></p> ! <p class=MsoNormal align=center style='text-align:center'><span ! style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> ! <p class=MsoNormal align=center style='text-align:center'><span ! style='font-family:"Book Antiqua";color:black'><o:p> </o:p></span></p> ! <p class=MsoNormal align=center style='text-align:center'><span ! style='font-family:"Book Antiqua";mso-bidi-font-family:Arial;color:#333333'><img ! border=0 width=318 height=239 id="_x0000_i1038" src="files/verve.png"></span><span style='font-family:"Book Antiqua";color:black'><o:p></o:p></span></p> <p class=MsoNormal align=center style='text-align:center'><b |
|
From: tylerstreeter <tyl...@us...> - 2005-08-10 01:07:41
|
Update of /cvsroot/opal/web/files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21328/files Added Files: ukrainian_rumble.jpg Log Message: added Olex's Ukrainian Rumble to users page --- NEW FILE: ukrainian_rumble.jpg --- (This appears to be a binary file; contents omitted.) |
|
From: tylerstreeter <tyl...@us...> - 2005-08-06 05:58:33
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30485/vc71 Modified Files: opal.suo Log Message: Fixed bug in ODE function found by EarthquakeProof - a VolumeSensor using a volume Solid with an offset shape caused a segmentation fault when getting user data from its ODE geomID in ODESimulator::internal_queryVolume. Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 Binary files /tmp/cvsS4322Q and /tmp/cvsWNE6uS differ |
|
From: tylerstreeter <tyl...@us...> - 2005-08-06 05:58:33
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30485 Modified Files: changelog.txt Log Message: Fixed bug in ODE function found by EarthquakeProof - a VolumeSensor using a volume Solid with an offset shape caused a segmentation fault when getting user data from its ODE geomID in ODESimulator::internal_queryVolume. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** changelog.txt 27 Jul 2005 06:30:03 -0000 1.36 --- changelog.txt 6 Aug 2005 05:58:24 -0000 1.37 *************** *** 15,19 **** ------------------------------------------ ! * 7-27-05: Fixed 'simple' sample app's SConstruct to make it install to the right place. Also, in the same app, changed the SDL.h include to look in <SDL/SDL.h>, not <sdl/SDL.h>. * 7-21-05: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. (Tyler Streeter) --- 15,21 ---- ------------------------------------------ ! * 8-6-05: Fixed bug in ODE function found by EarthquakeProof - a VolumeSensor using a volume Solid with an offset shape caused a segmentation fault when getting user data from its ODE geomID in ODESimulator::internal_queryVolume. (Tyler Streeter) ! ! * 7-27-05: Fixed 'simple' sample app's SConstruct to make it install to the right place. Also, in the same app, changed the SDL.h include to look in <SDL/SDL.h>, not <sdl/SDL.h>. (Tyler Streeter) * 7-21-05: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. (Tyler Streeter) |
|
From: tylerstreeter <tyl...@us...> - 2005-08-06 05:58:33
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30485/src/ODE Modified Files: ODESimulator.cpp Log Message: Fixed bug in ODE function found by EarthquakeProof - a VolumeSensor using a volume Solid with an offset shape caused a segmentation fault when getting user data from its ODE geomID in ODESimulator::internal_queryVolume. Index: ODESimulator.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESimulator.cpp,v retrieving revision 1.105 retrieving revision 1.106 diff -C2 -d -r1.105 -r1.106 *** ODESimulator.cpp 24 Jun 2005 18:46:29 -0000 1.105 --- ODESimulator.cpp 6 Aug 2005 05:58:24 -0000 1.106 *************** *** 1058,1062 **** for (iter = geomList->begin(); iter != geomList->end(); ++iter) { ! dSpaceCollide2((*iter)->geomID, (dGeomID)mRootSpaceID, this, &ode_hidden::internal_volumeCollisionCallback); } --- 1058,1069 ---- for (iter = geomList->begin(); iter != geomList->end(); ++iter) { ! dGeomID geomID = (*iter)->geomID; ! if ((*iter)->transformID) ! { ! // Using geom transform. ! geomID = (*iter)->transformID; ! } ! ! dSpaceCollide2(geomID, (dGeomID)mRootSpaceID, this, &ode_hidden::internal_volumeCollisionCallback); } |
|
From: tylerstreeter <tyl...@us...> - 2005-07-27 06:30:13
|
Update of /cvsroot/opal/opal/samples/simple In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2841/samples/simple Modified Files: SConstruct main.cpp Log Message: Fixed 'simple' sample app's SConstruct to make it install to the right place. Also, in the same app, changed the SDL.h include to look in <SDL/SDL.h>, not <sdl/SDL.h>. Index: SConstruct =================================================================== RCS file: /cvsroot/opal/opal/samples/simple/SConstruct,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SConstruct 25 Jun 2005 06:45:41 -0000 1.2 --- SConstruct 27 Jul 2005 06:30:03 -0000 1.3 *************** *** 32,36 **** # Install the executable. ! inst = env.Install('../bin/simple', exe) # Tell scons to build and install the executable by default. --- 32,36 ---- # Install the executable. ! inst = env.Install('../bin/release', exe) # Tell scons to build and install the executable by default. Index: main.cpp =================================================================== RCS file: /cvsroot/opal/opal/samples/simple/main.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.cpp 25 Jun 2005 06:45:41 -0000 1.2 --- main.cpp 27 Jul 2005 06:30:03 -0000 1.3 *************** *** 47,51 **** #include <opal/opal.h> ! #include <sdl/SDL.h> #include "Timer.h" --- 47,51 ---- #include <opal/opal.h> ! #include <SDL/SDL.h> #include "Timer.h" |
|
From: tylerstreeter <tyl...@us...> - 2005-07-27 06:30:13
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2841 Modified Files: changelog.txt Log Message: Fixed 'simple' sample app's SConstruct to make it install to the right place. Also, in the same app, changed the SDL.h include to look in <SDL/SDL.h>, not <sdl/SDL.h>. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** changelog.txt 21 Jul 2005 15:59:00 -0000 1.35 --- changelog.txt 27 Jul 2005 06:30:03 -0000 1.36 *************** *** 15,18 **** --- 15,20 ---- ------------------------------------------ + * 7-27-05: Fixed 'simple' sample app's SConstruct to make it install to the right place. Also, in the same app, changed the SDL.h include to look in <SDL/SDL.h>, not <sdl/SDL.h>. + * 7-21-05: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. (Tyler Streeter) |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 16:26:58
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343/samples/playpen Modified Files: playpen.suo Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 Binary files /tmp/cvsyakfuL and /tmp/cvsMp62gY differ |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 15:59:46
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343 Modified Files: changelog.txt todo.txt Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** changelog.txt 19 Jul 2005 17:53:28 -0000 1.34 --- changelog.txt 21 Jul 2005 15:59:00 -0000 1.35 *************** *** 15,19 **** ------------------------------------------ ! * 7-19-05: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) * 7-19-05: Cleaned up more Visual Studio warnings in Matrix44r::getQuaternion(). (Tyler Streeter) --- 15,21 ---- ------------------------------------------ ! * 7-21-05: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. (Tyler Streeter) ! ! * 7-19-05: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) (Tyler Streeter) * 7-19-05: Cleaned up more Visual Studio warnings in Matrix44r::getQuaternion(). (Tyler Streeter) Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** todo.txt 19 Jul 2005 17:53:28 -0000 1.86 --- todo.txt 21 Jul 2005 15:59:00 -0000 1.87 *************** *** 17,20 **** --- 17,25 ---- - people can then do this: opal::defaults::motor::enabled = false; ... to affect all future motor creation + * remove plane from shapes; just make it a special object? + - need a separate Plane tag in xml + + * store meshes (at least references) in xml? + For Version 0.4.0 ================= *************** *** 30,37 **** * 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 - - do the same for trimeshes? - * check places where we don't have to iterate over every object - have a list of solids that have forces applied and only update those per time step --- 35,38 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 15:59:46
|
Update of /cvsroot/opal/opal/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343/src Modified Files: BoxShapeData.h CapsuleShapeData.h MeshShapeData.h PlaneShapeData.h ShapeData.h Solid.cpp Solid.h SphereShapeData.h Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: CapsuleShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/CapsuleShapeData.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CapsuleShapeData.h 31 Mar 2005 08:47:02 -0000 1.6 --- CapsuleShapeData.h 21 Jul 2005 15:59:01 -0000 1.7 *************** *** 69,72 **** --- 69,84 ---- } + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) + { + // The standard initial capsule orientation in OPAL is to + // align it along the Z axis. + aabb[0] = -radius; + aabb[1] = radius; + aabb[2] = -radius; + aabb[3] = radius; + aabb[4] = -(real)0.5 * length - radius; + aabb[5] = (real)0.5 * length + radius; + } + /// The capsule's radius. real radius; Index: SphereShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/SphereShapeData.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SphereShapeData.h 11 Mar 2005 05:31:56 -0000 1.5 --- SphereShapeData.h 21 Jul 2005 15:59:01 -0000 1.6 *************** *** 66,69 **** --- 66,79 ---- } + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) + { + aabb[0] = -radius; + aabb[1] = radius; + aabb[2] = -radius; + aabb[3] = radius; + aabb[4] = -radius; + aabb[5] = radius; + } + /// The sphere's radius. real radius; Index: ShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/ShapeData.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ShapeData.h 25 Mar 2005 02:44:19 -0000 1.8 --- ShapeData.h 21 Jul 2005 15:59:01 -0000 1.9 *************** *** 63,67 **** } ! /// Returns the Shape's type. OPAL_DECL virtual ShapeType OPAL_CALL getType()const { --- 63,67 ---- } ! /// Returns the ShapeData's type. OPAL_DECL virtual ShapeType OPAL_CALL getType()const { *************** *** 69,72 **** --- 69,77 ---- } + /// Returns the axis-aligned bounding box of the ShapeData relative + /// to its center. The 'aabb' array stores data in the following + /// order: min x, max x, min y, max y, min z, max z. + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) = 0; + /// The offset transform from a Solid's transform. Matrix44r offset; Index: PlaneShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/PlaneShapeData.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PlaneShapeData.h 11 Mar 2005 05:31:56 -0000 1.5 --- PlaneShapeData.h 21 Jul 2005 15:59:01 -0000 1.6 *************** *** 73,76 **** --- 73,82 ---- } + /// Planes don't have a bounding box, so this does nothing. + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) + { + // Do nothing. + } + /// Parameters used to define the plane equation: /// a*x + b*y + c*z = d. Index: Solid.h =================================================================== RCS file: /cvsroot/opal/opal/src/Solid.h,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** Solid.h 4 May 2005 21:04:01 -0000 1.90 --- Solid.h 21 Jul 2005 15:59:01 -0000 1.91 *************** *** 39,48 **** class ShapeData; ! /// Solids are the physical objects in the simulation. Solids can be ! /// static or dynamic. Static Solids are simple collision shapes; ! /// they are not physically simulated but can still be positioned ! /// manually. Dynamic Solids have collision shapes and are also ! /// physically simulated. All Solids start out enabled, but they don't ! /// do much until Shapes are added. class Solid { --- 39,47 ---- class ShapeData; ! /// Solids are the physical objects in a simulation. Solids can be ! /// static or dynamic: basically, dynamic Solids move, and static Solids ! /// don't move. (Static Solids can still be positioned manually.) All ! /// Solids start out enabled, but they don't do much until Shapes are ! /// added. class Solid { *************** *** 138,146 **** virtual Quaternion OPAL_CALL getQuaternion()const; ! /// Removes all shapes from this Solid. virtual void OPAL_CALL clearShapes() = 0; ! /// Adds a Shape to this Solid. ! virtual void OPAL_CALL addShape(const ShapeData& data) = 0; /// Applies a force/torque to this Solid. If the Solid is disabled, --- 137,155 ---- virtual Quaternion OPAL_CALL getQuaternion()const; ! /// Returns the axis-aligned bounding box for all of the Solid's ! /// shapes relative to the Solid. ! virtual void OPAL_CALL getLocalAABB(real aabb[6])const; ! ! /// Returns the axis-aligned bounding box for all of the Solid's ! /// shapes in global coordinates. ! virtual void OPAL_CALL getGlobalAABB(real aabb[6])const; ! ! /// Removes all shapes from this Solid. Resets the Solid's ! /// axis-aligned bounding box. virtual void OPAL_CALL clearShapes() = 0; ! /// Adds a Shape to this Solid. Updates the Solid's axis-aligned ! /// bounding box. ! virtual void OPAL_CALL addShape(ShapeData& data) = 0; /// Applies a force/torque to this Solid. If the Solid is disabled, *************** *** 237,240 **** --- 246,255 ---- virtual void applyForce(const Force& f) = 0; + /// Adds the given axis-aligned bounding box to the Solid's AABB. + void addToLocalAABB(const real aabb[6]); + + /// Resets the Solid's axis-aligned bounding box. + void resetAABB(); + /// An internal list of this Solid's pending Forces. std::vector<Force> mForceList; *************** *** 243,246 **** --- 258,267 ---- SolidData mData; + /// The axis-aligned bounding box of all shapes in local + /// coordinates. This array stores data in the following order: + /// min x, max x, min y, max y, min z, max z. This gets updated + /// whenever a shape is added or removed. + real mLocalAABB[6]; + /// Pointer to this Solid's collision event handler. CollisionEventHandler* mCollisionEventHandler; Index: Solid.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/Solid.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** Solid.cpp 4 May 2005 21:04:01 -0000 1.36 --- Solid.cpp 21 Jul 2005 15:59:01 -0000 1.37 *************** *** 35,38 **** --- 35,39 ---- setCollisionEventHandler(NULL); setUserData(NULL); + resetAABB(); } *************** *** 160,163 **** --- 161,189 ---- } + void Solid::getLocalAABB(real aabb[6])const + { + for (unsigned int i = 0; i < 6; ++i) + { + aabb[i] = mLocalAABB[i]; + } + } + + void Solid::getGlobalAABB(real aabb[6])const + { + Point3r minExtents(mLocalAABB[0], mLocalAABB[2], mLocalAABB[4]); + Point3r maxExtents(mLocalAABB[1], mLocalAABB[3], mLocalAABB[5]); + + // Transform the AABB extents to global coordinates. + minExtents = mData.transform * minExtents; + maxExtents = mData.transform * maxExtents; + + aabb[0] = minExtents[0]; + aabb[1] = maxExtents[0]; + aabb[2] = minExtents[1]; + aabb[3] = maxExtents[1]; + aabb[4] = minExtents[2]; + aabb[5] = maxExtents[2]; + } + //void Solid::addPlane(const Point3r& point, const Vec3r& normal, const Material& m) //{ *************** *** 245,248 **** --- 271,299 ---- } + void Solid::addToLocalAABB(const real aabb[6]) + { + // Loop over the 3 dimensions of the AABB's extents. + for (unsigned int i = 0; i < 3; ++i) + { + if (aabb[i * 2] < mLocalAABB[i * 2]) + { + mLocalAABB[i * 2] = aabb[i * 2]; + } + + if (aabb[i * 2 + 1] > mLocalAABB[i * 2 + 1]) + { + mLocalAABB[i * 2 + 1] = aabb[i * 2 + 1]; + } + } + } + + void Solid::resetAABB() + { + for (unsigned int i = 0; i < 6; ++i) + { + mLocalAABB[i] = 0; + } + } + //void Solid::internal_updateSleeping() //{ Index: BoxShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/BoxShapeData.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BoxShapeData.h 11 Mar 2005 05:31:56 -0000 1.5 --- BoxShapeData.h 21 Jul 2005 15:59:01 -0000 1.6 *************** *** 65,68 **** --- 65,78 ---- } + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) + { + aabb[0] = -(real)0.5 * dimensions[0]; + aabb[1] = (real)0.5 * dimensions[0]; + aabb[2] = -(real)0.5 * dimensions[1]; + aabb[3] = (real)0.5 * dimensions[1]; + aabb[4] = -(real)0.5 * dimensions[2]; + aabb[5] = (real)0.5 * dimensions[2]; + } + /// The box's dimensions. Vec3r dimensions; Index: MeshShapeData.h =================================================================== RCS file: /cvsroot/opal/opal/src/MeshShapeData.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MeshShapeData.h 18 Jun 2005 17:45:53 -0000 1.6 --- MeshShapeData.h 21 Jul 2005 15:59:01 -0000 1.7 *************** *** 58,61 **** --- 58,66 ---- triangleArray = NULL; numTriangles = 0; + + for (unsigned int i = 0; i < 6; ++i) + { + localAABB[i] = 0; + } } *************** *** 81,84 **** --- 86,143 ---- triangleArray = data.triangleArray; numTriangles = data.numTriangles; + + for (unsigned int i = 0; i < 6; ++i) + { + localAABB[i] = data.localAABB[i]; + } + } + + /// This recomputes the axis-aligned bounding box from the vertex + /// data, so it should not be called very often. + OPAL_DECL virtual void OPAL_CALL getLocalAABB(real aabb[6]) + { + // Compute the AABB from the vertex data. + if (vertexArray) + { + for (unsigned int i = 0; i < numVertices; ++i) + { + unsigned int vertexIndex = i * 3; + + // Check x component. + if (vertexArray[vertexIndex] < localAABB[0]) + { + localAABB[0] = vertexArray[vertexIndex]; + } + else if (vertexArray[vertexIndex] > localAABB[1]) + { + localAABB[1] = vertexArray[vertexIndex]; + } + + // Check y component. + if (vertexArray[vertexIndex + 1] < localAABB[2]) + { + localAABB[2] = vertexArray[vertexIndex + 1]; + } + else if (vertexArray[vertexIndex + 1] > localAABB[3]) + { + localAABB[3] = vertexArray[vertexIndex + 1]; + } + + // Check z component. + if (vertexArray[vertexIndex + 2] < localAABB[4]) + { + localAABB[4] = vertexArray[vertexIndex + 2]; + } + else if (vertexArray[vertexIndex + 2] > localAABB[5]) + { + localAABB[5] = vertexArray[vertexIndex+ 2]; + } + } + } + + for (unsigned int i = 0; i < 6; ++i) + { + aabb[i] = localAABB[i]; + } } *************** *** 110,113 **** --- 169,177 ---- protected: + /// The mesh's local axis-aligned bounding box. This array stores + /// data in the following order: min x, max x, min y, max y, min z, + /// max z. This will be updated automatically when the mesh is + /// added to a Solid. + real localAABB[6]; private: |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 15:59:45
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343/vc71 Modified Files: opal.suo Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 Binary files /tmp/cvsSePeVY and /tmp/cvsqTZ4zc differ |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 15:59:45
|
Update of /cvsroot/opal/opal/samples/simple In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343/samples/simple Modified Files: simple.suo Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: simple.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/simple/simple.suo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvscfhkk2 and /tmp/cvsYoSCgf differ |
|
From: tylerstreeter <tyl...@us...> - 2005-07-21 15:59:45
|
Update of /cvsroot/opal/opal/src/ODE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21343/src/ODE Modified Files: ODESolid.cpp ODESolid.h Log Message: Added 'getLocalAABB' function to ShapeData. Added 'getLocalAABB' and 'getGlobalAABB' functions to Solid. Index: ODESolid.h =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESolid.h,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** ODESolid.h 24 Jun 2005 19:04:22 -0000 1.70 --- ODESolid.h 21 Jul 2005 15:59:01 -0000 1.71 *************** *** 83,87 **** virtual void OPAL_CALL clearShapes(); ! virtual void OPAL_CALL addShape(const ShapeData& data); virtual void OPAL_CALL setLocalLinearVel(const Vec3r& vel); --- 83,87 ---- virtual void OPAL_CALL clearShapes(); ! virtual void OPAL_CALL addShape(ShapeData& data); virtual void OPAL_CALL setLocalLinearVel(const Vec3r& vel); Index: ODESolid.cpp =================================================================== RCS file: /cvsroot/opal/opal/src/ODE/ODESolid.cpp,v retrieving revision 1.89 retrieving revision 1.90 diff -C2 -d -r1.89 -r1.90 *** ODESolid.cpp 19 Jul 2005 17:53:29 -0000 1.89 --- ODESolid.cpp 21 Jul 2005 15:59:01 -0000 1.90 *************** *** 74,77 **** --- 74,78 ---- { destroyGeoms(); + resetAABB(); } *************** *** 492,496 **** } ! void ODESolid::addShape(const ShapeData& data) { assert(data.material.density >= 0); --- 493,497 ---- } ! void ODESolid::addShape(ShapeData& data) { assert(data.material.density >= 0); *************** *** 498,504 **** dGeomID newGeomID = NULL; dGeomID newTransformID = NULL; - dTriMeshDataID newTrimeshDataID = NULL; - dSpaceID spaceID = NULL; dMass newMass; --- 499,503 ---- *************** *** 656,659 **** --- 655,674 ---- mData.addShape(data); + // Update the Solid's local AABB. The new shape's local AABB + // must be transformed using the shape's offset from the Solid. + real shapeAABB[6] = {0, 0, 0, 0, 0, 0}; + data.getLocalAABB(shapeAABB); + Point3r minExtents(shapeAABB[0], shapeAABB[2], shapeAABB[4]); + Point3r maxExtents(shapeAABB[1], shapeAABB[3], shapeAABB[5]); + minExtents = data.offset * minExtents; + maxExtents = data.offset * maxExtents; + shapeAABB[0] = minExtents[0]; + shapeAABB[1] = maxExtents[0]; + shapeAABB[2] = minExtents[1]; + shapeAABB[3] = maxExtents[1]; + shapeAABB[4] = minExtents[2]; + shapeAABB[5] = maxExtents[2]; + addToLocalAABB(shapeAABB); + // Setup GeomData. newGeomData->solid = this; |
|
From: tylerstreeter <tyl...@us...> - 2005-07-19 17:54:11
|
Update of /cvsroot/opal/opal/samples/simple In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1099/samples/simple Modified Files: simple.suo Log Message: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) Index: simple.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/simple/simple.suo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsWKCsuk and /tmp/cvskFMazZ differ |
|
From: tylerstreeter <tyl...@us...> - 2005-07-19 17:54:11
|
Update of /cvsroot/opal/opal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1099 Modified Files: changelog.txt todo.txt Log Message: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) Index: changelog.txt =================================================================== RCS file: /cvsroot/opal/opal/changelog.txt,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** changelog.txt 19 Jul 2005 17:29:12 -0000 1.33 --- changelog.txt 19 Jul 2005 17:53:28 -0000 1.34 *************** *** 15,18 **** --- 15,20 ---- ------------------------------------------ + * 7-19-05: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) + * 7-19-05: Cleaned up more Visual Studio warnings in Matrix44r::getQuaternion(). (Tyler Streeter) Index: todo.txt =================================================================== RCS file: /cvsroot/opal/opal/todo.txt,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** todo.txt 19 Jul 2005 17:29:12 -0000 1.85 --- todo.txt 19 Jul 2005 17:53:28 -0000 1.86 *************** *** 17,33 **** - people can then do this: opal::defaults::motor::enabled = false; ... to affect all future motor creation - * In Simulator::simulate(), replace this: - - // Get each Solid's new transform from the physics engine. - solid->internal_updateOPALTransform(); - - ...with this: - - // Get each dynamic, awake Solid's new transform from the physics engine. - if (!solid->isStatic() && !solid->isSleeping()) - { - solid->internal_updateOPALTransform(); - } - For Version 0.4.0 ================= --- 17,20 ---- |
|
From: tylerstreeter <tyl...@us...> - 2005-07-19 17:54:10
|
Update of /cvsroot/opal/opal/samples/playpen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1099/samples/playpen Modified Files: playpen.suo Log Message: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) Index: playpen.suo =================================================================== RCS file: /cvsroot/opal/opal/samples/playpen/playpen.suo,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 Binary files /tmp/cvsNZlDCD and /tmp/cvsOcFz7h differ |
|
From: tylerstreeter <tyl...@us...> - 2005-07-19 17:53:44
|
Update of /cvsroot/opal/opal/vc71 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1099/vc71 Modified Files: opal.suo Log Message: Performance improvement, especially for simulations with a lot of sleeping Solids. (In Simulator::simulate(), we were previously copying an updated transform matrix for each dynamic Solid every time step. Now we only perform this operation for dynamic, awake Solids.) Index: opal.suo =================================================================== RCS file: /cvsroot/opal/opal/vc71/opal.suo,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 Binary files /tmp/cvsHcOXDe and /tmp/cvs0sdhxy differ |