diff --git a/CMakeLists.txt b/CMakeLists.txt index 301352b58..f0835d27c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,7 +197,7 @@ IF(BUILD_EXTRAS) SUBDIRS(Extras) ENDIF(BUILD_EXTRAS) -OPTION(BUILD_BULLET_MAYA_DYNAMICA_PLUGIN "Set when you want to build the Bullet Maya Dynamica Plugin (requires Extras)" OFF) +#Maya Dynamica plugin is moved to http://dynamica.googlecode.com SUBDIRS(src) diff --git a/ChangeLog b/ChangeLog index 1c10933ed..34302ce6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ Primary author and maintainer: Erwin Coumans This ChangeLog is incomplete, for an up-to-date list of all fixed issues see http://bullet.googlecode.com using http://tinyurl.com/yabmjjj +2010 March 6 + - Dynamica Maya plugin (and COLLADA support) is moved to http://dynamica.googlecode.com 2010 February - Bullet 2.76 release, revision 2010 diff --git a/Extras/CMakeLists.txt b/Extras/CMakeLists.txt index f89e45fa6..293a65cca 100644 --- a/Extras/CMakeLists.txt +++ b/Extras/CMakeLists.txt @@ -1,9 +1,7 @@ SUBDIRS( Serialize ConvexDecomposition GIMPACTUtils ) -IF (BUILD_BULLET_MAYA_DYNAMICA_PLUGIN) -SUBDIRS(MayaPlugin) -ENDIF(BUILD_BULLET_MAYA_DYNAMICA_PLUGIN) +#Maya Dynamica plugin is moved to http://dynamica.googlecode.com IF (USE_GLUT) SUBDIRS (glui) -ENDIF (USE_GLUT) \ No newline at end of file +ENDIF (USE_GLUT) diff --git a/Extras/MayaPlugin/BulletDynamica.6_module b/Extras/MayaPlugin/BulletDynamica.6_module deleted file mode 100644 index 8ef926e8f..000000000 --- a/Extras/MayaPlugin/BulletDynamica.6_module +++ /dev/null @@ -1 +0,0 @@ -+ BulletDynamica2.75 1.0 \ No newline at end of file diff --git a/Extras/MayaPlugin/BulletMayaPlugin.sln b/Extras/MayaPlugin/BulletMayaPlugin.sln deleted file mode 100644 index 0814b7ada..000000000 --- a/Extras/MayaPlugin/BulletMayaPlugin.sln +++ /dev/null @@ -1,80 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletMayaPlugin", "BulletMayaPlugin.vcproj", "{681412B0-F197-4A2F-9263-DEA2E8690146}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {A0958CD9-0E39-4A77-3711-9B488F508FBF} = {A0958CD9-0E39-4A77-3711-9B488F508FBF} - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {B1B5F775-54A9-2437-E4AC-7E817E492142} = {B1B5F775-54A9-2437-E4AC-7E817E492142} - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE} = {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletcollision", "..\..\msvc\8\libbulletcollision.vcproj", "{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletdynamics", "..\..\msvc\8\libbulletdynamics.vcproj", "{61BD1097-CF2E-B296-DAA9-73A6FE135319}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletmath", "..\..\msvc\8\libbulletmath.vcproj", "{7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGIMPACTUtils", "..\..\msvc\8\libGIMPACTUtils.vcproj", "{B1B5F775-54A9-2437-E4AC-7E817E492142}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblibxml", "..\..\msvc\8\liblibxml.vcproj", "{A0958CD9-0E39-4A77-3711-9B488F508FBF}" - ProjectSection(WebsiteProperties) = preProject - Debug.AspNetCompiler.Debug = "True" - Release.AspNetCompiler.Debug = "False" - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DebugDll|Win32 = DebugDll|Win32 - ReleaseDll|Win32 = ReleaseDll|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDll|Win32.Build.0 = DebugDll|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Extras/MayaPlugin/BulletMayaPlugin.vcproj b/Extras/MayaPlugin/BulletMayaPlugin.vcproj deleted file mode 100644 index 1a5b7e7e6..000000000 --- a/Extras/MayaPlugin/BulletMayaPlugin.vcproj +++ /dev/null @@ -1,1083 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Extras/MayaPlugin/BulletMayaPlugin.xcodeproj/project.pbxproj b/Extras/MayaPlugin/BulletMayaPlugin.xcodeproj/project.pbxproj deleted file mode 100644 index fa7aa43cb..000000000 --- a/Extras/MayaPlugin/BulletMayaPlugin.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2355 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - BC43404D1117F3C600C9C8D7 /* btBulletCollisionCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB01117F3C600C9C8D7 /* btBulletCollisionCommon.h */; }; - BC43404E1117F3C600C9C8D7 /* btBulletDynamicsCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB11117F3C600C9C8D7 /* btBulletDynamicsCommon.h */; }; - BC43404F1117F3C600C9C8D7 /* Bullet-C-Api.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB21117F3C600C9C8D7 /* Bullet-C-Api.h */; }; - BC4340501117F3C600C9C8D7 /* btAxisSweep3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EB51117F3C600C9C8D7 /* btAxisSweep3.cpp */; }; - BC4340511117F3C600C9C8D7 /* btAxisSweep3.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB61117F3C600C9C8D7 /* btAxisSweep3.h */; }; - BC4340521117F3C600C9C8D7 /* btBroadphaseInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB71117F3C600C9C8D7 /* btBroadphaseInterface.h */; }; - BC4340531117F3C600C9C8D7 /* btBroadphaseProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EB81117F3C600C9C8D7 /* btBroadphaseProxy.cpp */; }; - BC4340541117F3C600C9C8D7 /* btBroadphaseProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EB91117F3C600C9C8D7 /* btBroadphaseProxy.h */; }; - BC4340551117F3C600C9C8D7 /* btCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EBA1117F3C600C9C8D7 /* btCollisionAlgorithm.cpp */; }; - BC4340561117F3C600C9C8D7 /* btCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EBB1117F3C600C9C8D7 /* btCollisionAlgorithm.h */; }; - BC4340571117F3C600C9C8D7 /* btDbvt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EBC1117F3C600C9C8D7 /* btDbvt.cpp */; }; - BC4340581117F3C600C9C8D7 /* btDbvt.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EBD1117F3C600C9C8D7 /* btDbvt.h */; }; - BC4340591117F3C600C9C8D7 /* btDbvtBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EBE1117F3C600C9C8D7 /* btDbvtBroadphase.cpp */; }; - BC43405A1117F3C600C9C8D7 /* btDbvtBroadphase.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EBF1117F3C600C9C8D7 /* btDbvtBroadphase.h */; }; - BC43405B1117F3C600C9C8D7 /* btDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EC01117F3C600C9C8D7 /* btDispatcher.cpp */; }; - BC43405C1117F3C600C9C8D7 /* btDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EC11117F3C600C9C8D7 /* btDispatcher.h */; }; - BC43405D1117F3C600C9C8D7 /* btMultiSapBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EC21117F3C600C9C8D7 /* btMultiSapBroadphase.cpp */; }; - BC43405E1117F3C600C9C8D7 /* btMultiSapBroadphase.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EC31117F3C600C9C8D7 /* btMultiSapBroadphase.h */; }; - BC43405F1117F3C600C9C8D7 /* btOverlappingPairCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EC41117F3C600C9C8D7 /* btOverlappingPairCache.cpp */; }; - BC4340601117F3C600C9C8D7 /* btOverlappingPairCache.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EC51117F3C600C9C8D7 /* btOverlappingPairCache.h */; }; - BC4340611117F3C600C9C8D7 /* btOverlappingPairCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EC61117F3C600C9C8D7 /* btOverlappingPairCallback.h */; }; - BC4340621117F3C600C9C8D7 /* btQuantizedBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EC71117F3C600C9C8D7 /* btQuantizedBvh.cpp */; }; - BC4340631117F3C600C9C8D7 /* btQuantizedBvh.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EC81117F3C600C9C8D7 /* btQuantizedBvh.h */; }; - BC4340641117F3C600C9C8D7 /* btSimpleBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EC91117F3C600C9C8D7 /* btSimpleBroadphase.cpp */; }; - BC4340651117F3C600C9C8D7 /* btSimpleBroadphase.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ECA1117F3C600C9C8D7 /* btSimpleBroadphase.h */; }; - BC4340661117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ECD1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.cpp */; }; - BC4340671117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ECE1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.h */; }; - BC4340681117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ECF1117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.cpp */; }; - BC4340691117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED01117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.h */; }; - BC43406A1117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ED11117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.cpp */; }; - BC43406B1117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED21117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.h */; }; - BC43406C1117F3C600C9C8D7 /* btBoxBoxDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ED31117F3C600C9C8D7 /* btBoxBoxDetector.cpp */; }; - BC43406D1117F3C600C9C8D7 /* btBoxBoxDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED41117F3C600C9C8D7 /* btBoxBoxDetector.h */; }; - BC43406E1117F3C600C9C8D7 /* btCollisionConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED51117F3C600C9C8D7 /* btCollisionConfiguration.h */; }; - BC43406F1117F3C600C9C8D7 /* btCollisionCreateFunc.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED61117F3C600C9C8D7 /* btCollisionCreateFunc.h */; }; - BC4340701117F3C600C9C8D7 /* btCollisionDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ED71117F3C600C9C8D7 /* btCollisionDispatcher.cpp */; }; - BC4340711117F3C600C9C8D7 /* btCollisionDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433ED81117F3C600C9C8D7 /* btCollisionDispatcher.h */; }; - BC4340721117F3C600C9C8D7 /* btCollisionObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433ED91117F3C600C9C8D7 /* btCollisionObject.cpp */; }; - BC4340731117F3C600C9C8D7 /* btCollisionObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EDA1117F3C600C9C8D7 /* btCollisionObject.h */; }; - BC4340741117F3C600C9C8D7 /* btCollisionWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EDB1117F3C600C9C8D7 /* btCollisionWorld.cpp */; }; - BC4340751117F3C600C9C8D7 /* btCollisionWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EDC1117F3C600C9C8D7 /* btCollisionWorld.h */; }; - BC4340761117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EDD1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.cpp */; }; - BC4340771117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EDE1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.h */; }; - BC4340781117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EDF1117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.cpp */; }; - BC4340791117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EE01117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.h */; }; - BC43407A1117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EE11117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.cpp */; }; - BC43407B1117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EE21117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.h */; }; - BC43407C1117F3C600C9C8D7 /* btConvexConvexAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EE31117F3C600C9C8D7 /* btConvexConvexAlgorithm.cpp */; }; - BC43407D1117F3C600C9C8D7 /* btConvexConvexAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EE41117F3C600C9C8D7 /* btConvexConvexAlgorithm.h */; }; - BC43407E1117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EE51117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.cpp */; }; - BC43407F1117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EE61117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.h */; }; - BC4340801117F3C600C9C8D7 /* btDefaultCollisionConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EE71117F3C600C9C8D7 /* btDefaultCollisionConfiguration.cpp */; }; - BC4340811117F3C600C9C8D7 /* btDefaultCollisionConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EE81117F3C600C9C8D7 /* btDefaultCollisionConfiguration.h */; }; - BC4340821117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EE91117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.cpp */; }; - BC4340831117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EEA1117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.h */; }; - BC4340841117F3C600C9C8D7 /* btGhostObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EEB1117F3C600C9C8D7 /* btGhostObject.cpp */; }; - BC4340851117F3C600C9C8D7 /* btGhostObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EEC1117F3C600C9C8D7 /* btGhostObject.h */; }; - BC4340861117F3C600C9C8D7 /* btInternalEdgeUtility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EED1117F3C600C9C8D7 /* btInternalEdgeUtility.cpp */; }; - BC4340871117F3C600C9C8D7 /* btInternalEdgeUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EEE1117F3C600C9C8D7 /* btInternalEdgeUtility.h */; }; - BC4340881117F3C600C9C8D7 /* btManifoldResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EEF1117F3C600C9C8D7 /* btManifoldResult.cpp */; }; - BC4340891117F3C600C9C8D7 /* btManifoldResult.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EF01117F3C600C9C8D7 /* btManifoldResult.h */; }; - BC43408A1117F3C600C9C8D7 /* btSimulationIslandManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EF11117F3C600C9C8D7 /* btSimulationIslandManager.cpp */; }; - BC43408B1117F3C600C9C8D7 /* btSimulationIslandManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EF21117F3C600C9C8D7 /* btSimulationIslandManager.h */; }; - BC43408C1117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EF31117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.cpp */; }; - BC43408D1117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EF41117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.h */; }; - BC43408E1117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EF51117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.cpp */; }; - BC43408F1117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EF61117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.h */; }; - BC4340901117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EF71117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.cpp */; }; - BC4340911117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EF81117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.h */; }; - BC4340921117F3C600C9C8D7 /* btUnionFind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EF91117F3C600C9C8D7 /* btUnionFind.cpp */; }; - BC4340931117F3C600C9C8D7 /* btUnionFind.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EFA1117F3C600C9C8D7 /* btUnionFind.h */; }; - BC4340941117F3C600C9C8D7 /* SphereTriangleDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EFB1117F3C600C9C8D7 /* SphereTriangleDetector.cpp */; }; - BC4340951117F3C600C9C8D7 /* SphereTriangleDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EFC1117F3C600C9C8D7 /* SphereTriangleDetector.h */; }; - BC4340961117F3C600C9C8D7 /* btBox2dShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433EFE1117F3C600C9C8D7 /* btBox2dShape.cpp */; }; - BC4340971117F3C600C9C8D7 /* btBox2dShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433EFF1117F3C600C9C8D7 /* btBox2dShape.h */; }; - BC4340981117F3C600C9C8D7 /* btBoxShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F001117F3C600C9C8D7 /* btBoxShape.cpp */; }; - BC4340991117F3C600C9C8D7 /* btBoxShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F011117F3C600C9C8D7 /* btBoxShape.h */; }; - BC43409A1117F3C600C9C8D7 /* btBvhTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F021117F3C600C9C8D7 /* btBvhTriangleMeshShape.cpp */; }; - BC43409B1117F3C600C9C8D7 /* btBvhTriangleMeshShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F031117F3C600C9C8D7 /* btBvhTriangleMeshShape.h */; }; - BC43409C1117F3C600C9C8D7 /* btCapsuleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F041117F3C600C9C8D7 /* btCapsuleShape.cpp */; }; - BC43409D1117F3C600C9C8D7 /* btCapsuleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F051117F3C600C9C8D7 /* btCapsuleShape.h */; }; - BC43409E1117F3C600C9C8D7 /* btCollisionMargin.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F061117F3C600C9C8D7 /* btCollisionMargin.h */; }; - BC43409F1117F3C600C9C8D7 /* btCollisionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F071117F3C600C9C8D7 /* btCollisionShape.cpp */; }; - BC4340A01117F3C600C9C8D7 /* btCollisionShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F081117F3C600C9C8D7 /* btCollisionShape.h */; }; - BC4340A11117F3C600C9C8D7 /* btCompoundShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F091117F3C600C9C8D7 /* btCompoundShape.cpp */; }; - BC4340A21117F3C600C9C8D7 /* btCompoundShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F0A1117F3C600C9C8D7 /* btCompoundShape.h */; }; - BC4340A31117F3C600C9C8D7 /* btConcaveShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F0B1117F3C600C9C8D7 /* btConcaveShape.cpp */; }; - BC4340A41117F3C600C9C8D7 /* btConcaveShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F0C1117F3C600C9C8D7 /* btConcaveShape.h */; }; - BC4340A51117F3C600C9C8D7 /* btConeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F0D1117F3C600C9C8D7 /* btConeShape.cpp */; }; - BC4340A61117F3C600C9C8D7 /* btConeShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F0E1117F3C600C9C8D7 /* btConeShape.h */; }; - BC4340A71117F3C600C9C8D7 /* btConvex2dShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F0F1117F3C600C9C8D7 /* btConvex2dShape.cpp */; }; - BC4340A81117F3C600C9C8D7 /* btConvex2dShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F101117F3C600C9C8D7 /* btConvex2dShape.h */; }; - BC4340A91117F3C600C9C8D7 /* btConvexHullShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F111117F3C600C9C8D7 /* btConvexHullShape.cpp */; }; - BC4340AA1117F3C600C9C8D7 /* btConvexHullShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F121117F3C600C9C8D7 /* btConvexHullShape.h */; }; - BC4340AB1117F3C600C9C8D7 /* btConvexInternalShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F131117F3C600C9C8D7 /* btConvexInternalShape.cpp */; }; - BC4340AC1117F3C600C9C8D7 /* btConvexInternalShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F141117F3C600C9C8D7 /* btConvexInternalShape.h */; }; - BC4340AD1117F3C600C9C8D7 /* btConvexPointCloudShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F151117F3C600C9C8D7 /* btConvexPointCloudShape.cpp */; }; - BC4340AE1117F3C600C9C8D7 /* btConvexPointCloudShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F161117F3C600C9C8D7 /* btConvexPointCloudShape.h */; }; - BC4340AF1117F3C600C9C8D7 /* btConvexShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F171117F3C600C9C8D7 /* btConvexShape.cpp */; }; - BC4340B01117F3C600C9C8D7 /* btConvexShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F181117F3C600C9C8D7 /* btConvexShape.h */; }; - BC4340B11117F3C600C9C8D7 /* btConvexTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F191117F3C600C9C8D7 /* btConvexTriangleMeshShape.cpp */; }; - BC4340B21117F3C600C9C8D7 /* btConvexTriangleMeshShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F1A1117F3C600C9C8D7 /* btConvexTriangleMeshShape.h */; }; - BC4340B31117F3C600C9C8D7 /* btCylinderShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F1B1117F3C600C9C8D7 /* btCylinderShape.cpp */; }; - BC4340B41117F3C600C9C8D7 /* btCylinderShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F1C1117F3C600C9C8D7 /* btCylinderShape.h */; }; - BC4340B51117F3C600C9C8D7 /* btEmptyShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F1D1117F3C600C9C8D7 /* btEmptyShape.cpp */; }; - BC4340B61117F3C600C9C8D7 /* btEmptyShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F1E1117F3C600C9C8D7 /* btEmptyShape.h */; }; - BC4340B71117F3C600C9C8D7 /* btHeightfieldTerrainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F1F1117F3C600C9C8D7 /* btHeightfieldTerrainShape.cpp */; }; - BC4340B81117F3C600C9C8D7 /* btHeightfieldTerrainShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F201117F3C600C9C8D7 /* btHeightfieldTerrainShape.h */; }; - BC4340B91117F3C600C9C8D7 /* btMaterial.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F211117F3C600C9C8D7 /* btMaterial.h */; }; - BC4340BA1117F3C600C9C8D7 /* btMinkowskiSumShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F221117F3C600C9C8D7 /* btMinkowskiSumShape.cpp */; }; - BC4340BB1117F3C600C9C8D7 /* btMinkowskiSumShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F231117F3C600C9C8D7 /* btMinkowskiSumShape.h */; }; - BC4340BC1117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F241117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.cpp */; }; - BC4340BD1117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F251117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.h */; }; - BC4340BE1117F3C600C9C8D7 /* btMultiSphereShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F261117F3C600C9C8D7 /* btMultiSphereShape.cpp */; }; - BC4340BF1117F3C600C9C8D7 /* btMultiSphereShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F271117F3C600C9C8D7 /* btMultiSphereShape.h */; }; - BC4340C01117F3C600C9C8D7 /* btOptimizedBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F281117F3C600C9C8D7 /* btOptimizedBvh.cpp */; }; - BC4340C11117F3C600C9C8D7 /* btOptimizedBvh.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F291117F3C600C9C8D7 /* btOptimizedBvh.h */; }; - BC4340C21117F3C600C9C8D7 /* btPolyhedralConvexShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F2A1117F3C600C9C8D7 /* btPolyhedralConvexShape.cpp */; }; - BC4340C31117F3C600C9C8D7 /* btPolyhedralConvexShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F2B1117F3C600C9C8D7 /* btPolyhedralConvexShape.h */; }; - BC4340C41117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F2C1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.cpp */; }; - BC4340C51117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F2D1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.h */; }; - BC4340C61117F3C600C9C8D7 /* btShapeHull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F2E1117F3C600C9C8D7 /* btShapeHull.cpp */; }; - BC4340C71117F3C600C9C8D7 /* btShapeHull.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F2F1117F3C600C9C8D7 /* btShapeHull.h */; }; - BC4340C81117F3C600C9C8D7 /* btSphereShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F301117F3C600C9C8D7 /* btSphereShape.cpp */; }; - BC4340C91117F3C600C9C8D7 /* btSphereShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F311117F3C600C9C8D7 /* btSphereShape.h */; }; - BC4340CA1117F3C600C9C8D7 /* btStaticPlaneShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F321117F3C600C9C8D7 /* btStaticPlaneShape.cpp */; }; - BC4340CB1117F3C600C9C8D7 /* btStaticPlaneShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F331117F3C600C9C8D7 /* btStaticPlaneShape.h */; }; - BC4340CC1117F3C600C9C8D7 /* btStridingMeshInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F341117F3C600C9C8D7 /* btStridingMeshInterface.cpp */; }; - BC4340CD1117F3C600C9C8D7 /* btStridingMeshInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F351117F3C600C9C8D7 /* btStridingMeshInterface.h */; }; - BC4340CE1117F3C600C9C8D7 /* btTetrahedronShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F361117F3C600C9C8D7 /* btTetrahedronShape.cpp */; }; - BC4340CF1117F3C600C9C8D7 /* btTetrahedronShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F371117F3C600C9C8D7 /* btTetrahedronShape.h */; }; - BC4340D01117F3C600C9C8D7 /* btTriangleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F381117F3C600C9C8D7 /* btTriangleBuffer.cpp */; }; - BC4340D11117F3C600C9C8D7 /* btTriangleBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F391117F3C600C9C8D7 /* btTriangleBuffer.h */; }; - BC4340D21117F3C600C9C8D7 /* btTriangleCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F3A1117F3C600C9C8D7 /* btTriangleCallback.cpp */; }; - BC4340D31117F3C600C9C8D7 /* btTriangleCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F3B1117F3C600C9C8D7 /* btTriangleCallback.h */; }; - BC4340D41117F3C600C9C8D7 /* btTriangleIndexVertexArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F3C1117F3C600C9C8D7 /* btTriangleIndexVertexArray.cpp */; }; - BC4340D51117F3C600C9C8D7 /* btTriangleIndexVertexArray.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F3D1117F3C600C9C8D7 /* btTriangleIndexVertexArray.h */; }; - BC4340D61117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F3E1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.cpp */; }; - BC4340D71117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F3F1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.h */; }; - BC4340D81117F3C600C9C8D7 /* btTriangleMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F401117F3C600C9C8D7 /* btTriangleMesh.cpp */; }; - BC4340D91117F3C600C9C8D7 /* btTriangleMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F411117F3C600C9C8D7 /* btTriangleMesh.h */; }; - BC4340DA1117F3C600C9C8D7 /* btTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F421117F3C600C9C8D7 /* btTriangleMeshShape.cpp */; }; - BC4340DB1117F3C600C9C8D7 /* btTriangleMeshShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F431117F3C600C9C8D7 /* btTriangleMeshShape.h */; }; - BC4340DC1117F3C600C9C8D7 /* btTriangleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F441117F3C600C9C8D7 /* btTriangleShape.h */; }; - BC4340DD1117F3C600C9C8D7 /* btUniformScalingShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F451117F3C600C9C8D7 /* btUniformScalingShape.cpp */; }; - BC4340DE1117F3C600C9C8D7 /* btUniformScalingShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F461117F3C600C9C8D7 /* btUniformScalingShape.h */; }; - BC4340DF1117F3C600C9C8D7 /* btBoxCollision.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F491117F3C600C9C8D7 /* btBoxCollision.h */; }; - BC4340E01117F3C600C9C8D7 /* btClipPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F4A1117F3C600C9C8D7 /* btClipPolygon.h */; }; - BC4340E11117F3C600C9C8D7 /* btContactProcessing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F4B1117F3C600C9C8D7 /* btContactProcessing.cpp */; }; - BC4340E21117F3C600C9C8D7 /* btContactProcessing.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F4C1117F3C600C9C8D7 /* btContactProcessing.h */; }; - BC4340E31117F3C600C9C8D7 /* btGenericPoolAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F4D1117F3C600C9C8D7 /* btGenericPoolAllocator.cpp */; }; - BC4340E41117F3C600C9C8D7 /* btGenericPoolAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F4E1117F3C600C9C8D7 /* btGenericPoolAllocator.h */; }; - BC4340E51117F3C600C9C8D7 /* btGeometryOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F4F1117F3C600C9C8D7 /* btGeometryOperations.h */; }; - BC4340E61117F3C600C9C8D7 /* btGImpactBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F501117F3C600C9C8D7 /* btGImpactBvh.cpp */; }; - BC4340E71117F3C600C9C8D7 /* btGImpactBvh.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F511117F3C600C9C8D7 /* btGImpactBvh.h */; }; - BC4340E81117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F521117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.cpp */; }; - BC4340E91117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F531117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.h */; }; - BC4340EA1117F3C600C9C8D7 /* btGImpactMassUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F541117F3C600C9C8D7 /* btGImpactMassUtil.h */; }; - BC4340EB1117F3C600C9C8D7 /* btGImpactQuantizedBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F551117F3C600C9C8D7 /* btGImpactQuantizedBvh.cpp */; }; - BC4340EC1117F3C600C9C8D7 /* btGImpactQuantizedBvh.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F561117F3C600C9C8D7 /* btGImpactQuantizedBvh.h */; }; - BC4340ED1117F3C600C9C8D7 /* btGImpactShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F571117F3C600C9C8D7 /* btGImpactShape.cpp */; }; - BC4340EE1117F3C600C9C8D7 /* btGImpactShape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F581117F3C600C9C8D7 /* btGImpactShape.h */; }; - BC4340EF1117F3C600C9C8D7 /* btQuantization.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F591117F3C600C9C8D7 /* btQuantization.h */; }; - BC4340F01117F3C600C9C8D7 /* btTriangleShapeEx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F5A1117F3C600C9C8D7 /* btTriangleShapeEx.cpp */; }; - BC4340F11117F3C600C9C8D7 /* btTriangleShapeEx.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F5B1117F3C600C9C8D7 /* btTriangleShapeEx.h */; }; - BC4340F21117F3C600C9C8D7 /* gim_array.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F5C1117F3C600C9C8D7 /* gim_array.h */; }; - BC4340F31117F3C600C9C8D7 /* gim_basic_geometry_operations.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F5D1117F3C600C9C8D7 /* gim_basic_geometry_operations.h */; }; - BC4340F41117F3C600C9C8D7 /* gim_bitset.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F5E1117F3C600C9C8D7 /* gim_bitset.h */; }; - BC4340F51117F3C600C9C8D7 /* gim_box_collision.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F5F1117F3C600C9C8D7 /* gim_box_collision.h */; }; - BC4340F61117F3C600C9C8D7 /* gim_box_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F601117F3C600C9C8D7 /* gim_box_set.cpp */; }; - BC4340F71117F3C600C9C8D7 /* gim_box_set.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F611117F3C600C9C8D7 /* gim_box_set.h */; }; - BC4340F81117F3C600C9C8D7 /* gim_clip_polygon.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F621117F3C600C9C8D7 /* gim_clip_polygon.h */; }; - BC4340F91117F3C600C9C8D7 /* gim_contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F631117F3C600C9C8D7 /* gim_contact.cpp */; }; - BC4340FA1117F3C600C9C8D7 /* gim_contact.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F641117F3C600C9C8D7 /* gim_contact.h */; }; - BC4340FB1117F3C600C9C8D7 /* gim_geom_types.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F651117F3C600C9C8D7 /* gim_geom_types.h */; }; - BC4340FC1117F3C600C9C8D7 /* gim_geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F661117F3C600C9C8D7 /* gim_geometry.h */; }; - BC4340FD1117F3C600C9C8D7 /* gim_hash_table.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F671117F3C600C9C8D7 /* gim_hash_table.h */; }; - BC4340FE1117F3C600C9C8D7 /* gim_linear_math.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F681117F3C600C9C8D7 /* gim_linear_math.h */; }; - BC4340FF1117F3C600C9C8D7 /* gim_math.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F691117F3C600C9C8D7 /* gim_math.h */; }; - BC4341001117F3C600C9C8D7 /* gim_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F6A1117F3C600C9C8D7 /* gim_memory.cpp */; }; - BC4341011117F3C600C9C8D7 /* gim_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F6B1117F3C600C9C8D7 /* gim_memory.h */; }; - BC4341021117F3C600C9C8D7 /* gim_radixsort.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F6C1117F3C600C9C8D7 /* gim_radixsort.h */; }; - BC4341031117F3C600C9C8D7 /* gim_tri_collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F6D1117F3C600C9C8D7 /* gim_tri_collision.cpp */; }; - BC4341041117F3C600C9C8D7 /* gim_tri_collision.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F6E1117F3C600C9C8D7 /* gim_tri_collision.h */; }; - BC4341051117F3C600C9C8D7 /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = BC433F701117F3C600C9C8D7 /* Makefile */; }; - BC4341061117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC433F711117F3C600C9C8D7 /* Jamfile */; }; - BC4341071117F3C600C9C8D7 /* btContinuousConvexCollision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F731117F3C600C9C8D7 /* btContinuousConvexCollision.cpp */; }; - BC4341081117F3C600C9C8D7 /* btContinuousConvexCollision.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F741117F3C600C9C8D7 /* btContinuousConvexCollision.h */; }; - BC4341091117F3C600C9C8D7 /* btConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F751117F3C600C9C8D7 /* btConvexCast.cpp */; }; - BC43410A1117F3C600C9C8D7 /* btConvexCast.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F761117F3C600C9C8D7 /* btConvexCast.h */; }; - BC43410B1117F3C600C9C8D7 /* btConvexPenetrationDepthSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F771117F3C600C9C8D7 /* btConvexPenetrationDepthSolver.h */; }; - BC43410C1117F3C600C9C8D7 /* btDiscreteCollisionDetectorInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F781117F3C600C9C8D7 /* btDiscreteCollisionDetectorInterface.h */; }; - BC43410D1117F3C600C9C8D7 /* btGjkConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F791117F3C600C9C8D7 /* btGjkConvexCast.cpp */; }; - BC43410E1117F3C600C9C8D7 /* btGjkConvexCast.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F7A1117F3C600C9C8D7 /* btGjkConvexCast.h */; }; - BC43410F1117F3C600C9C8D7 /* btGjkEpa2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F7B1117F3C600C9C8D7 /* btGjkEpa2.cpp */; }; - BC4341101117F3C600C9C8D7 /* btGjkEpa2.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F7C1117F3C600C9C8D7 /* btGjkEpa2.h */; }; - BC4341111117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F7D1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.cpp */; }; - BC4341121117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F7E1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.h */; }; - BC4341131117F3C600C9C8D7 /* btGjkPairDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F7F1117F3C600C9C8D7 /* btGjkPairDetector.cpp */; }; - BC4341141117F3C600C9C8D7 /* btGjkPairDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F801117F3C600C9C8D7 /* btGjkPairDetector.h */; }; - BC4341151117F3C600C9C8D7 /* btManifoldPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F811117F3C600C9C8D7 /* btManifoldPoint.h */; }; - BC4341161117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F821117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.cpp */; }; - BC4341171117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F831117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.h */; }; - BC4341181117F3C600C9C8D7 /* btPersistentManifold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F841117F3C600C9C8D7 /* btPersistentManifold.cpp */; }; - BC4341191117F3C600C9C8D7 /* btPersistentManifold.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F851117F3C600C9C8D7 /* btPersistentManifold.h */; }; - BC43411A1117F3C600C9C8D7 /* btPointCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F861117F3C600C9C8D7 /* btPointCollector.h */; }; - BC43411B1117F3C600C9C8D7 /* btRaycastCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F871117F3C600C9C8D7 /* btRaycastCallback.cpp */; }; - BC43411C1117F3C600C9C8D7 /* btRaycastCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F881117F3C600C9C8D7 /* btRaycastCallback.h */; }; - BC43411D1117F3C600C9C8D7 /* btSimplexSolverInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F891117F3C600C9C8D7 /* btSimplexSolverInterface.h */; }; - BC43411E1117F3C600C9C8D7 /* btSubSimplexConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F8A1117F3C600C9C8D7 /* btSubSimplexConvexCast.cpp */; }; - BC43411F1117F3C600C9C8D7 /* btSubSimplexConvexCast.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F8B1117F3C600C9C8D7 /* btSubSimplexConvexCast.h */; }; - BC4341201117F3C600C9C8D7 /* btVoronoiSimplexSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F8C1117F3C600C9C8D7 /* btVoronoiSimplexSolver.cpp */; }; - BC4341211117F3C600C9C8D7 /* btVoronoiSimplexSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F8D1117F3C600C9C8D7 /* btVoronoiSimplexSolver.h */; }; - BC4341221117F3C600C9C8D7 /* btCharacterControllerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F901117F3C600C9C8D7 /* btCharacterControllerInterface.h */; }; - BC4341231117F3C600C9C8D7 /* btKinematicCharacterController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F911117F3C600C9C8D7 /* btKinematicCharacterController.cpp */; }; - BC4341241117F3C600C9C8D7 /* btKinematicCharacterController.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F921117F3C600C9C8D7 /* btKinematicCharacterController.h */; }; - BC4341251117F3C600C9C8D7 /* btConeTwistConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F951117F3C600C9C8D7 /* btConeTwistConstraint.cpp */; }; - BC4341261117F3C600C9C8D7 /* btConeTwistConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F961117F3C600C9C8D7 /* btConeTwistConstraint.h */; }; - BC4341271117F3C600C9C8D7 /* btConstraintSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F971117F3C600C9C8D7 /* btConstraintSolver.h */; }; - BC4341281117F3C600C9C8D7 /* btContactConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F981117F3C600C9C8D7 /* btContactConstraint.cpp */; }; - BC4341291117F3C600C9C8D7 /* btContactConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F991117F3C600C9C8D7 /* btContactConstraint.h */; }; - BC43412A1117F3C600C9C8D7 /* btContactSolverInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F9A1117F3C600C9C8D7 /* btContactSolverInfo.h */; }; - BC43412B1117F3C600C9C8D7 /* btGeneric6DofConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F9B1117F3C600C9C8D7 /* btGeneric6DofConstraint.cpp */; }; - BC43412C1117F3C600C9C8D7 /* btGeneric6DofConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F9C1117F3C600C9C8D7 /* btGeneric6DofConstraint.h */; }; - BC43412D1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F9D1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.cpp */; }; - BC43412E1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433F9E1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.h */; }; - BC43412F1117F3C600C9C8D7 /* btHinge2Constraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433F9F1117F3C600C9C8D7 /* btHinge2Constraint.cpp */; }; - BC4341301117F3C600C9C8D7 /* btHinge2Constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA01117F3C600C9C8D7 /* btHinge2Constraint.h */; }; - BC4341311117F3C600C9C8D7 /* btHingeConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FA11117F3C600C9C8D7 /* btHingeConstraint.cpp */; }; - BC4341321117F3C600C9C8D7 /* btHingeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA21117F3C600C9C8D7 /* btHingeConstraint.h */; }; - BC4341331117F3C600C9C8D7 /* btJacobianEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA31117F3C600C9C8D7 /* btJacobianEntry.h */; }; - BC4341341117F3C600C9C8D7 /* btPoint2PointConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FA41117F3C600C9C8D7 /* btPoint2PointConstraint.cpp */; }; - BC4341351117F3C600C9C8D7 /* btPoint2PointConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA51117F3C600C9C8D7 /* btPoint2PointConstraint.h */; }; - BC4341361117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FA61117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.cpp */; }; - BC4341371117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA71117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.h */; }; - BC4341381117F3C600C9C8D7 /* btSliderConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FA81117F3C600C9C8D7 /* btSliderConstraint.cpp */; }; - BC4341391117F3C600C9C8D7 /* btSliderConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FA91117F3C600C9C8D7 /* btSliderConstraint.h */; }; - BC43413A1117F3C600C9C8D7 /* btSolve2LinearConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FAA1117F3C600C9C8D7 /* btSolve2LinearConstraint.cpp */; }; - BC43413B1117F3C600C9C8D7 /* btSolve2LinearConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FAB1117F3C600C9C8D7 /* btSolve2LinearConstraint.h */; }; - BC43413C1117F3C600C9C8D7 /* btSolverBody.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FAC1117F3C600C9C8D7 /* btSolverBody.h */; }; - BC43413D1117F3C600C9C8D7 /* btSolverConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FAD1117F3C600C9C8D7 /* btSolverConstraint.h */; }; - BC43413E1117F3C600C9C8D7 /* btTypedConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FAE1117F3C600C9C8D7 /* btTypedConstraint.cpp */; }; - BC43413F1117F3C600C9C8D7 /* btTypedConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FAF1117F3C600C9C8D7 /* btTypedConstraint.h */; }; - BC4341401117F3C600C9C8D7 /* btUniversalConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FB01117F3C600C9C8D7 /* btUniversalConstraint.cpp */; }; - BC4341411117F3C600C9C8D7 /* btUniversalConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FB11117F3C600C9C8D7 /* btUniversalConstraint.h */; }; - BC4341421117F3C600C9C8D7 /* btActionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FB31117F3C600C9C8D7 /* btActionInterface.h */; }; - BC4341431117F3C600C9C8D7 /* btContinuousDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FB41117F3C600C9C8D7 /* btContinuousDynamicsWorld.cpp */; }; - BC4341441117F3C600C9C8D7 /* btContinuousDynamicsWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FB51117F3C600C9C8D7 /* btContinuousDynamicsWorld.h */; }; - BC4341451117F3C600C9C8D7 /* btDiscreteDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FB61117F3C600C9C8D7 /* btDiscreteDynamicsWorld.cpp */; }; - BC4341461117F3C600C9C8D7 /* btDiscreteDynamicsWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FB71117F3C600C9C8D7 /* btDiscreteDynamicsWorld.h */; }; - BC4341471117F3C600C9C8D7 /* btDynamicsWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FB81117F3C600C9C8D7 /* btDynamicsWorld.h */; }; - BC4341481117F3C600C9C8D7 /* btRigidBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FB91117F3C600C9C8D7 /* btRigidBody.cpp */; }; - BC4341491117F3C600C9C8D7 /* btRigidBody.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FBA1117F3C600C9C8D7 /* btRigidBody.h */; }; - BC43414A1117F3C600C9C8D7 /* btSimpleDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FBB1117F3C600C9C8D7 /* btSimpleDynamicsWorld.cpp */; }; - BC43414B1117F3C600C9C8D7 /* btSimpleDynamicsWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FBC1117F3C600C9C8D7 /* btSimpleDynamicsWorld.h */; }; - BC43414C1117F3C600C9C8D7 /* Bullet-C-API.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FBD1117F3C600C9C8D7 /* Bullet-C-API.cpp */; }; - BC43414D1117F3C600C9C8D7 /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = BC433FBF1117F3C600C9C8D7 /* Makefile */; }; - BC43414E1117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC433FC01117F3C600C9C8D7 /* Jamfile */; }; - BC43414F1117F3C600C9C8D7 /* btRaycastVehicle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FC21117F3C600C9C8D7 /* btRaycastVehicle.cpp */; }; - BC4341501117F3C600C9C8D7 /* btRaycastVehicle.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FC31117F3C600C9C8D7 /* btRaycastVehicle.h */; }; - BC4341511117F3C600C9C8D7 /* btVehicleRaycaster.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FC41117F3C600C9C8D7 /* btVehicleRaycaster.h */; }; - BC4341521117F3C600C9C8D7 /* btWheelInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FC51117F3C600C9C8D7 /* btWheelInfo.cpp */; }; - BC4341531117F3C600C9C8D7 /* btWheelInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FC61117F3C600C9C8D7 /* btWheelInfo.h */; }; - BC4341541117F3C600C9C8D7 /* btGpu3DGridBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FC81117F3C600C9C8D7 /* btGpu3DGridBroadphase.cpp */; }; - BC4341551117F3C600C9C8D7 /* btGpu3DGridBroadphase.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FC91117F3C600C9C8D7 /* btGpu3DGridBroadphase.h */; }; - BC4341561117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedCode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCA1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedCode.h */; }; - BC4341571117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCB1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedDefs.h */; }; - BC4341581117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCC1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedTypes.h */; }; - BC4341591117F3C600C9C8D7 /* btGpuDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCD1117F3C600C9C8D7 /* btGpuDefines.h */; }; - BC43415A1117F3C600C9C8D7 /* btGpuUtilsSharedCode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCE1117F3C600C9C8D7 /* btGpuUtilsSharedCode.h */; }; - BC43415B1117F3C600C9C8D7 /* btGpuUtilsSharedDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FCF1117F3C600C9C8D7 /* btGpuUtilsSharedDefs.h */; }; - BC43415C1117F3C600C9C8D7 /* btThreadSupportInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FD01117F3C600C9C8D7 /* btThreadSupportInterface.cpp */; }; - BC43415D1117F3C600C9C8D7 /* btThreadSupportInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FD11117F3C600C9C8D7 /* btThreadSupportInterface.h */; }; - BC43415E1117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC433FD31117F3C600C9C8D7 /* Jamfile */; }; - BC43415F1117F3C600C9C8D7 /* MiniCLTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FD61117F3C600C9C8D7 /* MiniCLTask.cpp */; }; - BC4341601117F3C600C9C8D7 /* MiniCLTask.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FD71117F3C600C9C8D7 /* MiniCLTask.h */; }; - BC4341611117F3C600C9C8D7 /* MiniCLTaskScheduler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FD81117F3C600C9C8D7 /* MiniCLTaskScheduler.cpp */; }; - BC4341621117F3C600C9C8D7 /* MiniCLTaskScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FD91117F3C600C9C8D7 /* MiniCLTaskScheduler.h */; }; - BC4341631117F3C600C9C8D7 /* PlatformDefinitions.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FDB1117F3C600C9C8D7 /* PlatformDefinitions.h */; }; - BC4341641117F3C600C9C8D7 /* PosixThreadSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FDC1117F3C600C9C8D7 /* PosixThreadSupport.cpp */; }; - BC4341651117F3C600C9C8D7 /* PosixThreadSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FDD1117F3C600C9C8D7 /* PosixThreadSupport.h */; }; - BC4341661117F3C600C9C8D7 /* PpuAddressSpace.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FDE1117F3C600C9C8D7 /* PpuAddressSpace.h */; }; - BC4341671117F3C600C9C8D7 /* SequentialThreadSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FDF1117F3C600C9C8D7 /* SequentialThreadSupport.cpp */; }; - BC4341681117F3C600C9C8D7 /* SequentialThreadSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE01117F3C600C9C8D7 /* SequentialThreadSupport.h */; }; - BC4341691117F3C600C9C8D7 /* SpuCollisionObjectWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FE11117F3C600C9C8D7 /* SpuCollisionObjectWrapper.cpp */; }; - BC43416A1117F3C600C9C8D7 /* SpuCollisionObjectWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE21117F3C600C9C8D7 /* SpuCollisionObjectWrapper.h */; }; - BC43416B1117F3C600C9C8D7 /* SpuCollisionTaskProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FE31117F3C600C9C8D7 /* SpuCollisionTaskProcess.cpp */; }; - BC43416C1117F3C600C9C8D7 /* SpuCollisionTaskProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE41117F3C600C9C8D7 /* SpuCollisionTaskProcess.h */; }; - BC43416D1117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FE51117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.cpp */; }; - BC43416E1117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE61117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.h */; }; - BC43416F1117F3C600C9C8D7 /* SpuDoubleBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE71117F3C600C9C8D7 /* SpuDoubleBuffer.h */; }; - BC4341701117F3C600C9C8D7 /* SpuFakeDma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FE81117F3C600C9C8D7 /* SpuFakeDma.cpp */; }; - BC4341711117F3C600C9C8D7 /* SpuFakeDma.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FE91117F3C600C9C8D7 /* SpuFakeDma.h */; }; - BC4341721117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FEA1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.cpp */; }; - BC4341731117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FEB1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.h */; }; - BC4341741117F3C600C9C8D7 /* SpuLibspe2Support.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FEC1117F3C600C9C8D7 /* SpuLibspe2Support.cpp */; }; - BC4341751117F3C600C9C8D7 /* SpuLibspe2Support.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FED1117F3C600C9C8D7 /* SpuLibspe2Support.h */; }; - BC4341761117F3C600C9C8D7 /* Box.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FEF1117F3C600C9C8D7 /* Box.h */; }; - BC4341771117F3C600C9C8D7 /* boxBoxDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FF01117F3C600C9C8D7 /* boxBoxDistance.cpp */; }; - BC4341781117F3C600C9C8D7 /* boxBoxDistance.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FF11117F3C600C9C8D7 /* boxBoxDistance.h */; }; - BC4341791117F3C600C9C8D7 /* SpuCollisionShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FF31117F3C600C9C8D7 /* SpuCollisionShapes.cpp */; }; - BC43417A1117F3C600C9C8D7 /* SpuCollisionShapes.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FF41117F3C600C9C8D7 /* SpuCollisionShapes.h */; }; - BC43417B1117F3C600C9C8D7 /* SpuContactResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FF51117F3C600C9C8D7 /* SpuContactResult.cpp */; }; - BC43417C1117F3C600C9C8D7 /* SpuContactResult.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FF61117F3C600C9C8D7 /* SpuContactResult.h */; }; - BC43417D1117F3C600C9C8D7 /* SpuConvexPenetrationDepthSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FF71117F3C600C9C8D7 /* SpuConvexPenetrationDepthSolver.h */; }; - BC43417E1117F3C600C9C8D7 /* SpuGatheringCollisionTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FF81117F3C600C9C8D7 /* SpuGatheringCollisionTask.cpp */; }; - BC43417F1117F3C600C9C8D7 /* SpuGatheringCollisionTask.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FF91117F3C600C9C8D7 /* SpuGatheringCollisionTask.h */; }; - BC4341801117F3C600C9C8D7 /* SpuLocalSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FFA1117F3C600C9C8D7 /* SpuLocalSupport.h */; }; - BC4341811117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC433FFB1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.cpp */; }; - BC4341821117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FFC1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.h */; }; - BC4341831117F3C600C9C8D7 /* SpuPreferredPenetrationDirections.h in Headers */ = {isa = PBXBuildFile; fileRef = BC433FFD1117F3C600C9C8D7 /* SpuPreferredPenetrationDirections.h */; }; - BC4341841117F3C600C9C8D7 /* SpuSampleTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340001117F3C600C9C8D7 /* SpuSampleTask.cpp */; }; - BC4341851117F3C600C9C8D7 /* SpuSampleTask.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340011117F3C600C9C8D7 /* SpuSampleTask.h */; }; - BC4341861117F3C600C9C8D7 /* SpuSampleTaskProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340021117F3C600C9C8D7 /* SpuSampleTaskProcess.cpp */; }; - BC4341871117F3C600C9C8D7 /* SpuSampleTaskProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340031117F3C600C9C8D7 /* SpuSampleTaskProcess.h */; }; - BC4341881117F3C600C9C8D7 /* boolInVec.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340071117F3C600C9C8D7 /* boolInVec.h */; }; - BC4341891117F3C600C9C8D7 /* floatInVec.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340081117F3C600C9C8D7 /* floatInVec.h */; }; - BC43418A1117F3C600C9C8D7 /* mat_aos.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340091117F3C600C9C8D7 /* mat_aos.h */; }; - BC43418B1117F3C600C9C8D7 /* quat_aos.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43400A1117F3C600C9C8D7 /* quat_aos.h */; }; - BC43418C1117F3C600C9C8D7 /* vec_aos.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43400B1117F3C600C9C8D7 /* vec_aos.h */; }; - BC43418D1117F3C600C9C8D7 /* vectormath_aos.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43400C1117F3C600C9C8D7 /* vectormath_aos.h */; }; - BC43418E1117F3C600C9C8D7 /* vectormath2bullet.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43400D1117F3C600C9C8D7 /* vectormath2bullet.h */; }; - BC43418F1117F3C600C9C8D7 /* Win32ThreadSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43400E1117F3C600C9C8D7 /* Win32ThreadSupport.cpp */; }; - BC4341901117F3C600C9C8D7 /* Win32ThreadSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43400F1117F3C600C9C8D7 /* Win32ThreadSupport.h */; }; - BC4341911117F3C600C9C8D7 /* btSoftBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340111117F3C600C9C8D7 /* btSoftBody.cpp */; }; - BC4341921117F3C600C9C8D7 /* btSoftBody.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340121117F3C600C9C8D7 /* btSoftBody.h */; }; - BC4341931117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340131117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.cpp */; }; - BC4341941117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340141117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.h */; }; - BC4341951117F3C600C9C8D7 /* btSoftBodyHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340151117F3C600C9C8D7 /* btSoftBodyHelpers.cpp */; }; - BC4341961117F3C600C9C8D7 /* btSoftBodyHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340161117F3C600C9C8D7 /* btSoftBodyHelpers.h */; }; - BC4341971117F3C600C9C8D7 /* btSoftBodyInternals.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340171117F3C600C9C8D7 /* btSoftBodyInternals.h */; }; - BC4341981117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340181117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.cpp */; }; - BC4341991117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340191117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.h */; }; - BC43419A1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43401A1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.cpp */; }; - BC43419B1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43401B1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.h */; }; - BC43419C1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43401C1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.cpp */; }; - BC43419D1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43401D1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.h */; }; - BC43419E1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43401E1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.cpp */; }; - BC43419F1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43401F1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.h */; }; - BC4341A01117F3C600C9C8D7 /* btSparseSDF.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340201117F3C600C9C8D7 /* btSparseSDF.h */; }; - BC4341A11117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC4340221117F3C600C9C8D7 /* Jamfile */; }; - BC4341A21117F3C600C9C8D7 /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = BC4340251117F3C600C9C8D7 /* Makefile */; }; - BC4341A31117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC4340261117F3C600C9C8D7 /* Jamfile */; }; - BC4341A41117F3C600C9C8D7 /* btAabbUtil2.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340281117F3C600C9C8D7 /* btAabbUtil2.h */; }; - BC4341A51117F3C600C9C8D7 /* btAlignedAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4340291117F3C600C9C8D7 /* btAlignedAllocator.cpp */; }; - BC4341A61117F3C600C9C8D7 /* btAlignedAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43402A1117F3C600C9C8D7 /* btAlignedAllocator.h */; }; - BC4341A71117F3C600C9C8D7 /* btAlignedObjectArray.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43402B1117F3C600C9C8D7 /* btAlignedObjectArray.h */; }; - BC4341A81117F3C600C9C8D7 /* btConvexHull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43402C1117F3C600C9C8D7 /* btConvexHull.cpp */; }; - BC4341A91117F3C600C9C8D7 /* btConvexHull.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43402D1117F3C600C9C8D7 /* btConvexHull.h */; }; - BC4341AA1117F3C600C9C8D7 /* btDefaultMotionState.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43402E1117F3C600C9C8D7 /* btDefaultMotionState.h */; }; - BC4341AB1117F3C600C9C8D7 /* btGeometryUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43402F1117F3C600C9C8D7 /* btGeometryUtil.cpp */; }; - BC4341AC1117F3C600C9C8D7 /* btGeometryUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340301117F3C600C9C8D7 /* btGeometryUtil.h */; }; - BC4341AD1117F3C600C9C8D7 /* btHashMap.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340311117F3C600C9C8D7 /* btHashMap.h */; }; - BC4341AE1117F3C600C9C8D7 /* btIDebugDraw.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340321117F3C600C9C8D7 /* btIDebugDraw.h */; }; - BC4341AF1117F3C600C9C8D7 /* btList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340331117F3C600C9C8D7 /* btList.h */; }; - BC4341B01117F3C600C9C8D7 /* btMatrix3x3.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340341117F3C600C9C8D7 /* btMatrix3x3.h */; }; - BC4341B11117F3C600C9C8D7 /* btMinMax.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340351117F3C600C9C8D7 /* btMinMax.h */; }; - BC4341B21117F3C600C9C8D7 /* btMotionState.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340361117F3C600C9C8D7 /* btMotionState.h */; }; - BC4341B31117F3C600C9C8D7 /* btPoolAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340371117F3C600C9C8D7 /* btPoolAllocator.h */; }; - BC4341B41117F3C600C9C8D7 /* btQuadWord.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340381117F3C600C9C8D7 /* btQuadWord.h */; }; - BC4341B51117F3C600C9C8D7 /* btQuaternion.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340391117F3C600C9C8D7 /* btQuaternion.h */; }; - BC4341B61117F3C600C9C8D7 /* btQuickprof.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43403A1117F3C600C9C8D7 /* btQuickprof.cpp */; }; - BC4341B71117F3C600C9C8D7 /* btQuickprof.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43403B1117F3C600C9C8D7 /* btQuickprof.h */; }; - BC4341B81117F3C600C9C8D7 /* btRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43403C1117F3C600C9C8D7 /* btRandom.h */; }; - BC4341B91117F3C600C9C8D7 /* btScalar.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43403D1117F3C600C9C8D7 /* btScalar.h */; }; - BC4341BA1117F3C600C9C8D7 /* btSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43403E1117F3C600C9C8D7 /* btSerializer.cpp */; }; - BC4341BB1117F3C600C9C8D7 /* btSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43403F1117F3C600C9C8D7 /* btSerializer.h */; }; - BC4341BC1117F3C600C9C8D7 /* btStackAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340401117F3C600C9C8D7 /* btStackAlloc.h */; }; - BC4341BD1117F3C600C9C8D7 /* btTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340411117F3C600C9C8D7 /* btTransform.h */; }; - BC4341BE1117F3C600C9C8D7 /* btTransformUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340421117F3C600C9C8D7 /* btTransformUtil.h */; }; - BC4341BF1117F3C600C9C8D7 /* btVector3.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4340431117F3C600C9C8D7 /* btVector3.h */; }; - BC4341C01117F3C600C9C8D7 /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = BC4340461117F3C600C9C8D7 /* Makefile */; }; - BC4341C11117F3C600C9C8D7 /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = BC4340471117F3C600C9C8D7 /* Jamfile */; }; - BC4341C21117F3C600C9C8D7 /* cl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43404A1117F3C600C9C8D7 /* cl.h */; }; - BC4341C31117F3C600C9C8D7 /* cl_gl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43404B1117F3C600C9C8D7 /* cl_gl.h */; }; - BC4341C41117F3C600C9C8D7 /* cl_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43404C1117F3C600C9C8D7 /* cl_platform.h */; }; - BC4342011117F4CF00C9C8D7 /* sphere_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341CF1117F4CF00C9C8D7 /* sphere_shape.h */; }; - BC4342021117F4CF00C9C8D7 /* sphere_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D01117F4CF00C9C8D7 /* sphere_shape_impl.h */; }; - BC4342031117F4CF00C9C8D7 /* solver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D11117F4CF00C9C8D7 /* solver.h */; }; - BC4342041117F4CF00C9C8D7 /* solver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341D21117F4CF00C9C8D7 /* solver.cpp */; }; - BC4342051117F4CF00C9C8D7 /* solver_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D31117F4CF00C9C8D7 /* solver_impl.h */; }; - BC4342061117F4CF00C9C8D7 /* shared_ptr.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D41117F4CF00C9C8D7 /* shared_ptr.h */; }; - BC4342071117F4CF00C9C8D7 /* rigidBodyNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D51117F4CF00C9C8D7 /* rigidBodyNode.h */; }; - BC4342081117F4CF00C9C8D7 /* rigidBodyNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341D61117F4CF00C9C8D7 /* rigidBodyNode.cpp */; }; - BC4342091117F4CF00C9C8D7 /* rigidBodyArrayNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D71117F4CF00C9C8D7 /* rigidBodyArrayNode.h */; }; - BC43420A1117F4CF00C9C8D7 /* rigidBodyArrayNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341D81117F4CF00C9C8D7 /* rigidBodyArrayNode.cpp */; }; - BC43420B1117F4CF00C9C8D7 /* rigid_body.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341D91117F4CF00C9C8D7 /* rigid_body.h */; }; - BC43420C1117F4CF00C9C8D7 /* rigid_body_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341DA1117F4CF00C9C8D7 /* rigid_body_impl.h */; }; - BC43420D1117F4CF00C9C8D7 /* pluginMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341DB1117F4CF00C9C8D7 /* pluginMain.cpp */; }; - BC43420E1117F4CF00C9C8D7 /* plane_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341DC1117F4CF00C9C8D7 /* plane_shape.h */; }; - BC43420F1117F4CF00C9C8D7 /* plane_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341DD1117F4CF00C9C8D7 /* plane_shape_impl.h */; }; - BC4342101117F4CF00C9C8D7 /* pdbIO.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341DE1117F4CF00C9C8D7 /* pdbIO.h */; }; - BC4342111117F4CF00C9C8D7 /* pdbIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341DF1117F4CF00C9C8D7 /* pdbIO.cpp */; }; - BC4342121117F4CF00C9C8D7 /* mesh_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E01117F4CF00C9C8D7 /* mesh_shape.h */; }; - BC4342131117F4CF00C9C8D7 /* mesh_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E11117F4CF00C9C8D7 /* mesh_shape_impl.h */; }; - BC4342141117F4CF00C9C8D7 /* mayaUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E21117F4CF00C9C8D7 /* mayaUtils.h */; }; - BC4342151117F4CF00C9C8D7 /* mathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E31117F4CF00C9C8D7 /* mathUtils.h */; }; - BC4342161117F4CF00C9C8D7 /* dSolverNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E41117F4CF00C9C8D7 /* dSolverNode.h */; }; - BC4342171117F4CF00C9C8D7 /* dSolverNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341E51117F4CF00C9C8D7 /* dSolverNode.cpp */; }; - BC4342181117F4CF00C9C8D7 /* dSolverCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E61117F4CF00C9C8D7 /* dSolverCmd.h */; }; - BC4342191117F4CF00C9C8D7 /* dSolverCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341E71117F4CF00C9C8D7 /* dSolverCmd.cpp */; }; - BC43421A1117F4CF00C9C8D7 /* dRigidBodyCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341E81117F4CF00C9C8D7 /* dRigidBodyCmd.h */; }; - BC43421B1117F4CF00C9C8D7 /* dRigidBodyCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341E91117F4CF00C9C8D7 /* dRigidBodyCmd.cpp */; }; - BC43421C1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341EA1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.h */; }; - BC43421D1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341EB1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.cpp */; }; - BC43421E1117F4CF00C9C8D7 /* drawUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341EC1117F4CF00C9C8D7 /* drawUtils.h */; }; - BC43421F1117F4CF00C9C8D7 /* drawUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341ED1117F4CF00C9C8D7 /* drawUtils.cpp */; }; - BC4342201117F4CF00C9C8D7 /* convex_hull_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341EE1117F4CF00C9C8D7 /* convex_hull_shape.h */; }; - BC4342211117F4CF00C9C8D7 /* convex_hull_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341EF1117F4CF00C9C8D7 /* convex_hull_shape_impl.h */; }; - BC4342221117F4CF00C9C8D7 /* collisionShapeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F01117F4CF00C9C8D7 /* collisionShapeNode.h */; }; - BC4342231117F4CF00C9C8D7 /* collisionShapeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341F11117F4CF00C9C8D7 /* collisionShapeNode.cpp */; }; - BC4342241117F4CF00C9C8D7 /* collision_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F21117F4CF00C9C8D7 /* collision_shape.h */; }; - BC4342251117F4CF00C9C8D7 /* collision_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F31117F4CF00C9C8D7 /* collision_shape_impl.h */; }; - BC4342261117F4CF00C9C8D7 /* bulletExport.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F41117F4CF00C9C8D7 /* bulletExport.h */; }; - BC4342271117F4CF00C9C8D7 /* bulletExport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341F51117F4CF00C9C8D7 /* bulletExport.cpp */; }; - BC4342281117F4CF00C9C8D7 /* bt_sphere_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F61117F4CF00C9C8D7 /* bt_sphere_shape.h */; }; - BC4342291117F4CF00C9C8D7 /* bt_solver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F71117F4CF00C9C8D7 /* bt_solver.h */; }; - BC43422A1117F4CF00C9C8D7 /* bt_solver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4341F81117F4CF00C9C8D7 /* bt_solver.cpp */; }; - BC43422B1117F4CF00C9C8D7 /* bt_rigid_body.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341F91117F4CF00C9C8D7 /* bt_rigid_body.h */; }; - BC43422C1117F4CF00C9C8D7 /* bt_plane_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FA1117F4CF00C9C8D7 /* bt_plane_shape.h */; }; - BC43422D1117F4CF00C9C8D7 /* bt_mesh_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FB1117F4CF00C9C8D7 /* bt_mesh_shape.h */; }; - BC43422E1117F4CF00C9C8D7 /* bt_convex_hull_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FC1117F4CF00C9C8D7 /* bt_convex_hull_shape.h */; }; - BC43422F1117F4CF00C9C8D7 /* bt_collision_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FD1117F4CF00C9C8D7 /* bt_collision_shape.h */; }; - BC4342301117F4CF00C9C8D7 /* bt_box_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FE1117F4CF00C9C8D7 /* bt_box_shape.h */; }; - BC4342311117F4CF00C9C8D7 /* box_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4341FF1117F4CF00C9C8D7 /* box_shape.h */; }; - BC4342321117F4CF00C9C8D7 /* box_shape_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342001117F4CF00C9C8D7 /* box_shape_impl.h */; }; - BC4342531117F51F00C9C8D7 /* sliderConstraintNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342371117F51F00C9C8D7 /* sliderConstraintNode.h */; }; - BC4342541117F51F00C9C8D7 /* sliderConstraintNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4342381117F51F00C9C8D7 /* sliderConstraintNode.cpp */; }; - BC4342551117F51F00C9C8D7 /* slider_constraint_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342391117F51F00C9C8D7 /* slider_constraint_impl.h */; }; - BC4342561117F51F00C9C8D7 /* sixdofConstraintNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43423A1117F51F00C9C8D7 /* sixdofConstraintNode.h */; }; - BC4342571117F51F00C9C8D7 /* sixdofConstraintNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43423B1117F51F00C9C8D7 /* sixdofConstraintNode.cpp */; }; - BC4342581117F51F00C9C8D7 /* sixdof_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43423C1117F51F00C9C8D7 /* sixdof_constraint.h */; }; - BC4342591117F51F00C9C8D7 /* sixdof_constraint_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43423D1117F51F00C9C8D7 /* sixdof_constraint_impl.h */; }; - BC43425A1117F51F00C9C8D7 /* nailConstraintNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43423E1117F51F00C9C8D7 /* nailConstraintNode.h */; }; - BC43425B1117F51F00C9C8D7 /* nailConstraintNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43423F1117F51F00C9C8D7 /* nailConstraintNode.cpp */; }; - BC43425C1117F51F00C9C8D7 /* nail_constraint_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342401117F51F00C9C8D7 /* nail_constraint_impl.h */; }; - BC43425D1117F51F00C9C8D7 /* hingeConstraintNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4342411117F51F00C9C8D7 /* hingeConstraintNode.cpp */; }; - BC43425E1117F51F00C9C8D7 /* hinge_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342421117F51F00C9C8D7 /* hinge_constraint.h */; }; - BC43425F1117F51F00C9C8D7 /* hinge_constraint_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342431117F51F00C9C8D7 /* hinge_constraint_impl.h */; }; - BC4342601117F51F00C9C8D7 /* dSliderConstraintCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342441117F51F00C9C8D7 /* dSliderConstraintCmd.h */; }; - BC4342611117F51F00C9C8D7 /* dSliderConstraintCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4342451117F51F00C9C8D7 /* dSliderConstraintCmd.cpp */; }; - BC4342621117F51F00C9C8D7 /* dsixdofConstraintCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342461117F51F00C9C8D7 /* dsixdofConstraintCmd.h */; }; - BC4342631117F51F00C9C8D7 /* dsixdofConstraintCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4342471117F51F00C9C8D7 /* dsixdofConstraintCmd.cpp */; }; - BC4342641117F51F00C9C8D7 /* dNailConstraintCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342481117F51F00C9C8D7 /* dNailConstraintCmd.h */; }; - BC4342651117F51F00C9C8D7 /* dNailConstraintCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4342491117F51F00C9C8D7 /* dNailConstraintCmd.cpp */; }; - BC4342661117F51F00C9C8D7 /* dHingeConstraintCmd.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43424A1117F51F00C9C8D7 /* dHingeConstraintCmd.h */; }; - BC4342671117F51F00C9C8D7 /* dHingeConstraintCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC43424B1117F51F00C9C8D7 /* dHingeConstraintCmd.cpp */; }; - BC4342681117F51F00C9C8D7 /* constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43424C1117F51F00C9C8D7 /* constraint.h */; }; - BC4342691117F51F00C9C8D7 /* constraint_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43424D1117F51F00C9C8D7 /* constraint_impl.h */; }; - BC43426A1117F51F00C9C8D7 /* bt_slider_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43424E1117F51F00C9C8D7 /* bt_slider_constraint.h */; }; - BC43426B1117F51F00C9C8D7 /* bt_sixdof_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC43424F1117F51F00C9C8D7 /* bt_sixdof_constraint.h */; }; - BC43426C1117F51F00C9C8D7 /* bt_nail_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342501117F51F00C9C8D7 /* bt_nail_constraint.h */; }; - BC43426D1117F51F00C9C8D7 /* bt_hinge_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342511117F51F00C9C8D7 /* bt_hinge_constraint.h */; }; - BC43426E1117F51F00C9C8D7 /* bt_constraint.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4342521117F51F00C9C8D7 /* bt_constraint.h */; }; - BC43427A1117F59800C9C8D7 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC4342791117F59800C9C8D7 /* OpenGL.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - BC433EB01117F3C600C9C8D7 /* btBulletCollisionCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBulletCollisionCommon.h; sourceTree = ""; }; - BC433EB11117F3C600C9C8D7 /* btBulletDynamicsCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBulletDynamicsCommon.h; sourceTree = ""; }; - BC433EB21117F3C600C9C8D7 /* Bullet-C-Api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bullet-C-Api.h"; sourceTree = ""; }; - BC433EB51117F3C600C9C8D7 /* btAxisSweep3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btAxisSweep3.cpp; sourceTree = ""; }; - BC433EB61117F3C600C9C8D7 /* btAxisSweep3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAxisSweep3.h; sourceTree = ""; }; - BC433EB71117F3C600C9C8D7 /* btBroadphaseInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBroadphaseInterface.h; sourceTree = ""; }; - BC433EB81117F3C600C9C8D7 /* btBroadphaseProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBroadphaseProxy.cpp; sourceTree = ""; }; - BC433EB91117F3C600C9C8D7 /* btBroadphaseProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBroadphaseProxy.h; sourceTree = ""; }; - BC433EBA1117F3C600C9C8D7 /* btCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EBB1117F3C600C9C8D7 /* btCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionAlgorithm.h; sourceTree = ""; }; - BC433EBC1117F3C600C9C8D7 /* btDbvt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDbvt.cpp; sourceTree = ""; }; - BC433EBD1117F3C600C9C8D7 /* btDbvt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDbvt.h; sourceTree = ""; }; - BC433EBE1117F3C600C9C8D7 /* btDbvtBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDbvtBroadphase.cpp; sourceTree = ""; }; - BC433EBF1117F3C600C9C8D7 /* btDbvtBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDbvtBroadphase.h; sourceTree = ""; }; - BC433EC01117F3C600C9C8D7 /* btDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDispatcher.cpp; sourceTree = ""; }; - BC433EC11117F3C600C9C8D7 /* btDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDispatcher.h; sourceTree = ""; }; - BC433EC21117F3C600C9C8D7 /* btMultiSapBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMultiSapBroadphase.cpp; sourceTree = ""; }; - BC433EC31117F3C600C9C8D7 /* btMultiSapBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMultiSapBroadphase.h; sourceTree = ""; }; - BC433EC41117F3C600C9C8D7 /* btOverlappingPairCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOverlappingPairCache.cpp; sourceTree = ""; }; - BC433EC51117F3C600C9C8D7 /* btOverlappingPairCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOverlappingPairCache.h; sourceTree = ""; }; - BC433EC61117F3C600C9C8D7 /* btOverlappingPairCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOverlappingPairCallback.h; sourceTree = ""; }; - BC433EC71117F3C600C9C8D7 /* btQuantizedBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btQuantizedBvh.cpp; sourceTree = ""; }; - BC433EC81117F3C600C9C8D7 /* btQuantizedBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuantizedBvh.h; sourceTree = ""; }; - BC433EC91117F3C600C9C8D7 /* btSimpleBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimpleBroadphase.cpp; sourceTree = ""; }; - BC433ECA1117F3C600C9C8D7 /* btSimpleBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimpleBroadphase.h; sourceTree = ""; }; - BC433ECB1117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC433ECD1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btActivatingCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433ECE1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btActivatingCollisionAlgorithm.h; sourceTree = ""; }; - BC433ECF1117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBox2dBox2dCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433ED01117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBox2dBox2dCollisionAlgorithm.h; sourceTree = ""; }; - BC433ED11117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxBoxCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433ED21117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxBoxCollisionAlgorithm.h; sourceTree = ""; }; - BC433ED31117F3C600C9C8D7 /* btBoxBoxDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxBoxDetector.cpp; sourceTree = ""; }; - BC433ED41117F3C600C9C8D7 /* btBoxBoxDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxBoxDetector.h; sourceTree = ""; }; - BC433ED51117F3C600C9C8D7 /* btCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionConfiguration.h; sourceTree = ""; }; - BC433ED61117F3C600C9C8D7 /* btCollisionCreateFunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionCreateFunc.h; sourceTree = ""; }; - BC433ED71117F3C600C9C8D7 /* btCollisionDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionDispatcher.cpp; sourceTree = ""; }; - BC433ED81117F3C600C9C8D7 /* btCollisionDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionDispatcher.h; sourceTree = ""; }; - BC433ED91117F3C600C9C8D7 /* btCollisionObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionObject.cpp; sourceTree = ""; }; - BC433EDA1117F3C600C9C8D7 /* btCollisionObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionObject.h; sourceTree = ""; }; - BC433EDB1117F3C600C9C8D7 /* btCollisionWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionWorld.cpp; sourceTree = ""; }; - BC433EDC1117F3C600C9C8D7 /* btCollisionWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionWorld.h; sourceTree = ""; }; - BC433EDD1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCompoundCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EDE1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCompoundCollisionAlgorithm.h; sourceTree = ""; }; - BC433EDF1117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvex2dConvex2dAlgorithm.cpp; sourceTree = ""; }; - BC433EE01117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvex2dConvex2dAlgorithm.h; sourceTree = ""; }; - BC433EE11117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexConcaveCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EE21117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexConcaveCollisionAlgorithm.h; sourceTree = ""; }; - BC433EE31117F3C600C9C8D7 /* btConvexConvexAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexConvexAlgorithm.cpp; sourceTree = ""; }; - BC433EE41117F3C600C9C8D7 /* btConvexConvexAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexConvexAlgorithm.h; sourceTree = ""; }; - BC433EE51117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexPlaneCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EE61117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexPlaneCollisionAlgorithm.h; sourceTree = ""; }; - BC433EE71117F3C600C9C8D7 /* btDefaultCollisionConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDefaultCollisionConfiguration.cpp; sourceTree = ""; }; - BC433EE81117F3C600C9C8D7 /* btDefaultCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDefaultCollisionConfiguration.h; sourceTree = ""; }; - BC433EE91117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btEmptyCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EEA1117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btEmptyCollisionAlgorithm.h; sourceTree = ""; }; - BC433EEB1117F3C600C9C8D7 /* btGhostObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGhostObject.cpp; sourceTree = ""; }; - BC433EEC1117F3C600C9C8D7 /* btGhostObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGhostObject.h; sourceTree = ""; }; - BC433EED1117F3C600C9C8D7 /* btInternalEdgeUtility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btInternalEdgeUtility.cpp; sourceTree = ""; }; - BC433EEE1117F3C600C9C8D7 /* btInternalEdgeUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btInternalEdgeUtility.h; sourceTree = ""; }; - BC433EEF1117F3C600C9C8D7 /* btManifoldResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btManifoldResult.cpp; sourceTree = ""; }; - BC433EF01117F3C600C9C8D7 /* btManifoldResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btManifoldResult.h; sourceTree = ""; }; - BC433EF11117F3C600C9C8D7 /* btSimulationIslandManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimulationIslandManager.cpp; sourceTree = ""; }; - BC433EF21117F3C600C9C8D7 /* btSimulationIslandManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimulationIslandManager.h; sourceTree = ""; }; - BC433EF31117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereBoxCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EF41117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereBoxCollisionAlgorithm.h; sourceTree = ""; }; - BC433EF51117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereSphereCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EF61117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereSphereCollisionAlgorithm.h; sourceTree = ""; }; - BC433EF71117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereTriangleCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433EF81117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereTriangleCollisionAlgorithm.h; sourceTree = ""; }; - BC433EF91117F3C600C9C8D7 /* btUnionFind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btUnionFind.cpp; sourceTree = ""; }; - BC433EFA1117F3C600C9C8D7 /* btUnionFind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btUnionFind.h; sourceTree = ""; }; - BC433EFB1117F3C600C9C8D7 /* SphereTriangleDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SphereTriangleDetector.cpp; sourceTree = ""; }; - BC433EFC1117F3C600C9C8D7 /* SphereTriangleDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SphereTriangleDetector.h; sourceTree = ""; }; - BC433EFE1117F3C600C9C8D7 /* btBox2dShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBox2dShape.cpp; sourceTree = ""; }; - BC433EFF1117F3C600C9C8D7 /* btBox2dShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBox2dShape.h; sourceTree = ""; }; - BC433F001117F3C600C9C8D7 /* btBoxShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxShape.cpp; sourceTree = ""; }; - BC433F011117F3C600C9C8D7 /* btBoxShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxShape.h; sourceTree = ""; }; - BC433F021117F3C600C9C8D7 /* btBvhTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBvhTriangleMeshShape.cpp; sourceTree = ""; }; - BC433F031117F3C600C9C8D7 /* btBvhTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBvhTriangleMeshShape.h; sourceTree = ""; }; - BC433F041117F3C600C9C8D7 /* btCapsuleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCapsuleShape.cpp; sourceTree = ""; }; - BC433F051117F3C600C9C8D7 /* btCapsuleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCapsuleShape.h; sourceTree = ""; }; - BC433F061117F3C600C9C8D7 /* btCollisionMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionMargin.h; sourceTree = ""; }; - BC433F071117F3C600C9C8D7 /* btCollisionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionShape.cpp; sourceTree = ""; }; - BC433F081117F3C600C9C8D7 /* btCollisionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionShape.h; sourceTree = ""; }; - BC433F091117F3C600C9C8D7 /* btCompoundShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCompoundShape.cpp; sourceTree = ""; }; - BC433F0A1117F3C600C9C8D7 /* btCompoundShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCompoundShape.h; sourceTree = ""; }; - BC433F0B1117F3C600C9C8D7 /* btConcaveShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConcaveShape.cpp; sourceTree = ""; }; - BC433F0C1117F3C600C9C8D7 /* btConcaveShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConcaveShape.h; sourceTree = ""; }; - BC433F0D1117F3C600C9C8D7 /* btConeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConeShape.cpp; sourceTree = ""; }; - BC433F0E1117F3C600C9C8D7 /* btConeShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConeShape.h; sourceTree = ""; }; - BC433F0F1117F3C600C9C8D7 /* btConvex2dShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvex2dShape.cpp; sourceTree = ""; }; - BC433F101117F3C600C9C8D7 /* btConvex2dShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvex2dShape.h; sourceTree = ""; }; - BC433F111117F3C600C9C8D7 /* btConvexHullShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexHullShape.cpp; sourceTree = ""; }; - BC433F121117F3C600C9C8D7 /* btConvexHullShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexHullShape.h; sourceTree = ""; }; - BC433F131117F3C600C9C8D7 /* btConvexInternalShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexInternalShape.cpp; sourceTree = ""; }; - BC433F141117F3C600C9C8D7 /* btConvexInternalShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexInternalShape.h; sourceTree = ""; }; - BC433F151117F3C600C9C8D7 /* btConvexPointCloudShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexPointCloudShape.cpp; sourceTree = ""; }; - BC433F161117F3C600C9C8D7 /* btConvexPointCloudShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexPointCloudShape.h; sourceTree = ""; }; - BC433F171117F3C600C9C8D7 /* btConvexShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexShape.cpp; sourceTree = ""; }; - BC433F181117F3C600C9C8D7 /* btConvexShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexShape.h; sourceTree = ""; }; - BC433F191117F3C600C9C8D7 /* btConvexTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexTriangleMeshShape.cpp; sourceTree = ""; }; - BC433F1A1117F3C600C9C8D7 /* btConvexTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexTriangleMeshShape.h; sourceTree = ""; }; - BC433F1B1117F3C600C9C8D7 /* btCylinderShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCylinderShape.cpp; sourceTree = ""; }; - BC433F1C1117F3C600C9C8D7 /* btCylinderShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCylinderShape.h; sourceTree = ""; }; - BC433F1D1117F3C600C9C8D7 /* btEmptyShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btEmptyShape.cpp; sourceTree = ""; }; - BC433F1E1117F3C600C9C8D7 /* btEmptyShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btEmptyShape.h; sourceTree = ""; }; - BC433F1F1117F3C600C9C8D7 /* btHeightfieldTerrainShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btHeightfieldTerrainShape.cpp; sourceTree = ""; }; - BC433F201117F3C600C9C8D7 /* btHeightfieldTerrainShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHeightfieldTerrainShape.h; sourceTree = ""; }; - BC433F211117F3C600C9C8D7 /* btMaterial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMaterial.h; sourceTree = ""; }; - BC433F221117F3C600C9C8D7 /* btMinkowskiSumShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMinkowskiSumShape.cpp; sourceTree = ""; }; - BC433F231117F3C600C9C8D7 /* btMinkowskiSumShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinkowskiSumShape.h; sourceTree = ""; }; - BC433F241117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMultimaterialTriangleMeshShape.cpp; sourceTree = ""; }; - BC433F251117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMultimaterialTriangleMeshShape.h; sourceTree = ""; }; - BC433F261117F3C600C9C8D7 /* btMultiSphereShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMultiSphereShape.cpp; sourceTree = ""; }; - BC433F271117F3C600C9C8D7 /* btMultiSphereShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMultiSphereShape.h; sourceTree = ""; }; - BC433F281117F3C600C9C8D7 /* btOptimizedBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOptimizedBvh.cpp; sourceTree = ""; }; - BC433F291117F3C600C9C8D7 /* btOptimizedBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOptimizedBvh.h; sourceTree = ""; }; - BC433F2A1117F3C600C9C8D7 /* btPolyhedralConvexShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPolyhedralConvexShape.cpp; sourceTree = ""; }; - BC433F2B1117F3C600C9C8D7 /* btPolyhedralConvexShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPolyhedralConvexShape.h; sourceTree = ""; }; - BC433F2C1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btScaledBvhTriangleMeshShape.cpp; sourceTree = ""; }; - BC433F2D1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btScaledBvhTriangleMeshShape.h; sourceTree = ""; }; - BC433F2E1117F3C600C9C8D7 /* btShapeHull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btShapeHull.cpp; sourceTree = ""; }; - BC433F2F1117F3C600C9C8D7 /* btShapeHull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btShapeHull.h; sourceTree = ""; }; - BC433F301117F3C600C9C8D7 /* btSphereShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereShape.cpp; sourceTree = ""; }; - BC433F311117F3C600C9C8D7 /* btSphereShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereShape.h; sourceTree = ""; }; - BC433F321117F3C600C9C8D7 /* btStaticPlaneShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btStaticPlaneShape.cpp; sourceTree = ""; }; - BC433F331117F3C600C9C8D7 /* btStaticPlaneShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStaticPlaneShape.h; sourceTree = ""; }; - BC433F341117F3C600C9C8D7 /* btStridingMeshInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btStridingMeshInterface.cpp; sourceTree = ""; }; - BC433F351117F3C600C9C8D7 /* btStridingMeshInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStridingMeshInterface.h; sourceTree = ""; }; - BC433F361117F3C600C9C8D7 /* btTetrahedronShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTetrahedronShape.cpp; sourceTree = ""; }; - BC433F371117F3C600C9C8D7 /* btTetrahedronShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTetrahedronShape.h; sourceTree = ""; }; - BC433F381117F3C600C9C8D7 /* btTriangleBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleBuffer.cpp; sourceTree = ""; }; - BC433F391117F3C600C9C8D7 /* btTriangleBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleBuffer.h; sourceTree = ""; }; - BC433F3A1117F3C600C9C8D7 /* btTriangleCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleCallback.cpp; sourceTree = ""; }; - BC433F3B1117F3C600C9C8D7 /* btTriangleCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleCallback.h; sourceTree = ""; }; - BC433F3C1117F3C600C9C8D7 /* btTriangleIndexVertexArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleIndexVertexArray.cpp; sourceTree = ""; }; - BC433F3D1117F3C600C9C8D7 /* btTriangleIndexVertexArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleIndexVertexArray.h; sourceTree = ""; }; - BC433F3E1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleIndexVertexMaterialArray.cpp; sourceTree = ""; }; - BC433F3F1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleIndexVertexMaterialArray.h; sourceTree = ""; }; - BC433F401117F3C600C9C8D7 /* btTriangleMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleMesh.cpp; sourceTree = ""; }; - BC433F411117F3C600C9C8D7 /* btTriangleMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleMesh.h; sourceTree = ""; }; - BC433F421117F3C600C9C8D7 /* btTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleMeshShape.cpp; sourceTree = ""; }; - BC433F431117F3C600C9C8D7 /* btTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleMeshShape.h; sourceTree = ""; }; - BC433F441117F3C600C9C8D7 /* btTriangleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleShape.h; sourceTree = ""; }; - BC433F451117F3C600C9C8D7 /* btUniformScalingShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btUniformScalingShape.cpp; sourceTree = ""; }; - BC433F461117F3C600C9C8D7 /* btUniformScalingShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btUniformScalingShape.h; sourceTree = ""; }; - BC433F471117F3C600C9C8D7 /* Doxyfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Doxyfile; sourceTree = ""; }; - BC433F491117F3C600C9C8D7 /* btBoxCollision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxCollision.h; sourceTree = ""; }; - BC433F4A1117F3C600C9C8D7 /* btClipPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btClipPolygon.h; sourceTree = ""; }; - BC433F4B1117F3C600C9C8D7 /* btContactProcessing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContactProcessing.cpp; sourceTree = ""; }; - BC433F4C1117F3C600C9C8D7 /* btContactProcessing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactProcessing.h; sourceTree = ""; }; - BC433F4D1117F3C600C9C8D7 /* btGenericPoolAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGenericPoolAllocator.cpp; sourceTree = ""; }; - BC433F4E1117F3C600C9C8D7 /* btGenericPoolAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGenericPoolAllocator.h; sourceTree = ""; }; - BC433F4F1117F3C600C9C8D7 /* btGeometryOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeometryOperations.h; sourceTree = ""; }; - BC433F501117F3C600C9C8D7 /* btGImpactBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactBvh.cpp; sourceTree = ""; }; - BC433F511117F3C600C9C8D7 /* btGImpactBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactBvh.h; sourceTree = ""; }; - BC433F521117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433F531117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactCollisionAlgorithm.h; sourceTree = ""; }; - BC433F541117F3C600C9C8D7 /* btGImpactMassUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactMassUtil.h; sourceTree = ""; }; - BC433F551117F3C600C9C8D7 /* btGImpactQuantizedBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactQuantizedBvh.cpp; sourceTree = ""; }; - BC433F561117F3C600C9C8D7 /* btGImpactQuantizedBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactQuantizedBvh.h; sourceTree = ""; }; - BC433F571117F3C600C9C8D7 /* btGImpactShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactShape.cpp; sourceTree = ""; }; - BC433F581117F3C600C9C8D7 /* btGImpactShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactShape.h; sourceTree = ""; }; - BC433F591117F3C600C9C8D7 /* btQuantization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuantization.h; sourceTree = ""; }; - BC433F5A1117F3C600C9C8D7 /* btTriangleShapeEx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleShapeEx.cpp; sourceTree = ""; }; - BC433F5B1117F3C600C9C8D7 /* btTriangleShapeEx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleShapeEx.h; sourceTree = ""; }; - BC433F5C1117F3C600C9C8D7 /* gim_array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_array.h; sourceTree = ""; }; - BC433F5D1117F3C600C9C8D7 /* gim_basic_geometry_operations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_basic_geometry_operations.h; sourceTree = ""; }; - BC433F5E1117F3C600C9C8D7 /* gim_bitset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_bitset.h; sourceTree = ""; }; - BC433F5F1117F3C600C9C8D7 /* gim_box_collision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_box_collision.h; sourceTree = ""; }; - BC433F601117F3C600C9C8D7 /* gim_box_set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_box_set.cpp; sourceTree = ""; }; - BC433F611117F3C600C9C8D7 /* gim_box_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_box_set.h; sourceTree = ""; }; - BC433F621117F3C600C9C8D7 /* gim_clip_polygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_clip_polygon.h; sourceTree = ""; }; - BC433F631117F3C600C9C8D7 /* gim_contact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_contact.cpp; sourceTree = ""; }; - BC433F641117F3C600C9C8D7 /* gim_contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_contact.h; sourceTree = ""; }; - BC433F651117F3C600C9C8D7 /* gim_geom_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_geom_types.h; sourceTree = ""; }; - BC433F661117F3C600C9C8D7 /* gim_geometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_geometry.h; sourceTree = ""; }; - BC433F671117F3C600C9C8D7 /* gim_hash_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_hash_table.h; sourceTree = ""; }; - BC433F681117F3C600C9C8D7 /* gim_linear_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_linear_math.h; sourceTree = ""; }; - BC433F691117F3C600C9C8D7 /* gim_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_math.h; sourceTree = ""; }; - BC433F6A1117F3C600C9C8D7 /* gim_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_memory.cpp; sourceTree = ""; }; - BC433F6B1117F3C600C9C8D7 /* gim_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_memory.h; sourceTree = ""; }; - BC433F6C1117F3C600C9C8D7 /* gim_radixsort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_radixsort.h; sourceTree = ""; }; - BC433F6D1117F3C600C9C8D7 /* gim_tri_collision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_tri_collision.cpp; sourceTree = ""; }; - BC433F6E1117F3C600C9C8D7 /* gim_tri_collision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_tri_collision.h; sourceTree = ""; }; - BC433F701117F3C600C9C8D7 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - BC433F711117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC433F731117F3C600C9C8D7 /* btContinuousConvexCollision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContinuousConvexCollision.cpp; sourceTree = ""; }; - BC433F741117F3C600C9C8D7 /* btContinuousConvexCollision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContinuousConvexCollision.h; sourceTree = ""; }; - BC433F751117F3C600C9C8D7 /* btConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexCast.cpp; sourceTree = ""; }; - BC433F761117F3C600C9C8D7 /* btConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexCast.h; sourceTree = ""; }; - BC433F771117F3C600C9C8D7 /* btConvexPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexPenetrationDepthSolver.h; sourceTree = ""; }; - BC433F781117F3C600C9C8D7 /* btDiscreteCollisionDetectorInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDiscreteCollisionDetectorInterface.h; sourceTree = ""; }; - BC433F791117F3C600C9C8D7 /* btGjkConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkConvexCast.cpp; sourceTree = ""; }; - BC433F7A1117F3C600C9C8D7 /* btGjkConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkConvexCast.h; sourceTree = ""; }; - BC433F7B1117F3C600C9C8D7 /* btGjkEpa2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkEpa2.cpp; sourceTree = ""; }; - BC433F7C1117F3C600C9C8D7 /* btGjkEpa2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkEpa2.h; sourceTree = ""; }; - BC433F7D1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkEpaPenetrationDepthSolver.cpp; sourceTree = ""; }; - BC433F7E1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkEpaPenetrationDepthSolver.h; sourceTree = ""; }; - BC433F7F1117F3C600C9C8D7 /* btGjkPairDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkPairDetector.cpp; sourceTree = ""; }; - BC433F801117F3C600C9C8D7 /* btGjkPairDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkPairDetector.h; sourceTree = ""; }; - BC433F811117F3C600C9C8D7 /* btManifoldPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btManifoldPoint.h; sourceTree = ""; }; - BC433F821117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMinkowskiPenetrationDepthSolver.cpp; sourceTree = ""; }; - BC433F831117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinkowskiPenetrationDepthSolver.h; sourceTree = ""; }; - BC433F841117F3C600C9C8D7 /* btPersistentManifold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPersistentManifold.cpp; sourceTree = ""; }; - BC433F851117F3C600C9C8D7 /* btPersistentManifold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPersistentManifold.h; sourceTree = ""; }; - BC433F861117F3C600C9C8D7 /* btPointCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPointCollector.h; sourceTree = ""; }; - BC433F871117F3C600C9C8D7 /* btRaycastCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRaycastCallback.cpp; sourceTree = ""; }; - BC433F881117F3C600C9C8D7 /* btRaycastCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRaycastCallback.h; sourceTree = ""; }; - BC433F891117F3C600C9C8D7 /* btSimplexSolverInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimplexSolverInterface.h; sourceTree = ""; }; - BC433F8A1117F3C600C9C8D7 /* btSubSimplexConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSubSimplexConvexCast.cpp; sourceTree = ""; }; - BC433F8B1117F3C600C9C8D7 /* btSubSimplexConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSubSimplexConvexCast.h; sourceTree = ""; }; - BC433F8C1117F3C600C9C8D7 /* btVoronoiSimplexSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btVoronoiSimplexSolver.cpp; sourceTree = ""; }; - BC433F8D1117F3C600C9C8D7 /* btVoronoiSimplexSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVoronoiSimplexSolver.h; sourceTree = ""; }; - BC433F901117F3C600C9C8D7 /* btCharacterControllerInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCharacterControllerInterface.h; sourceTree = ""; }; - BC433F911117F3C600C9C8D7 /* btKinematicCharacterController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btKinematicCharacterController.cpp; sourceTree = ""; }; - BC433F921117F3C600C9C8D7 /* btKinematicCharacterController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btKinematicCharacterController.h; sourceTree = ""; }; - BC433F931117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC433F951117F3C600C9C8D7 /* btConeTwistConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConeTwistConstraint.cpp; sourceTree = ""; }; - BC433F961117F3C600C9C8D7 /* btConeTwistConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConeTwistConstraint.h; sourceTree = ""; }; - BC433F971117F3C600C9C8D7 /* btConstraintSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConstraintSolver.h; sourceTree = ""; }; - BC433F981117F3C600C9C8D7 /* btContactConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContactConstraint.cpp; sourceTree = ""; }; - BC433F991117F3C600C9C8D7 /* btContactConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactConstraint.h; sourceTree = ""; }; - BC433F9A1117F3C600C9C8D7 /* btContactSolverInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactSolverInfo.h; sourceTree = ""; }; - BC433F9B1117F3C600C9C8D7 /* btGeneric6DofConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGeneric6DofConstraint.cpp; sourceTree = ""; }; - BC433F9C1117F3C600C9C8D7 /* btGeneric6DofConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeneric6DofConstraint.h; sourceTree = ""; }; - BC433F9D1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGeneric6DofSpringConstraint.cpp; sourceTree = ""; }; - BC433F9E1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeneric6DofSpringConstraint.h; sourceTree = ""; }; - BC433F9F1117F3C600C9C8D7 /* btHinge2Constraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btHinge2Constraint.cpp; sourceTree = ""; }; - BC433FA01117F3C600C9C8D7 /* btHinge2Constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHinge2Constraint.h; sourceTree = ""; }; - BC433FA11117F3C600C9C8D7 /* btHingeConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btHingeConstraint.cpp; sourceTree = ""; }; - BC433FA21117F3C600C9C8D7 /* btHingeConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHingeConstraint.h; sourceTree = ""; }; - BC433FA31117F3C600C9C8D7 /* btJacobianEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btJacobianEntry.h; sourceTree = ""; }; - BC433FA41117F3C600C9C8D7 /* btPoint2PointConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPoint2PointConstraint.cpp; sourceTree = ""; }; - BC433FA51117F3C600C9C8D7 /* btPoint2PointConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPoint2PointConstraint.h; sourceTree = ""; }; - BC433FA61117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSequentialImpulseConstraintSolver.cpp; sourceTree = ""; }; - BC433FA71117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSequentialImpulseConstraintSolver.h; sourceTree = ""; }; - BC433FA81117F3C600C9C8D7 /* btSliderConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSliderConstraint.cpp; sourceTree = ""; }; - BC433FA91117F3C600C9C8D7 /* btSliderConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSliderConstraint.h; sourceTree = ""; }; - BC433FAA1117F3C600C9C8D7 /* btSolve2LinearConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSolve2LinearConstraint.cpp; sourceTree = ""; }; - BC433FAB1117F3C600C9C8D7 /* btSolve2LinearConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolve2LinearConstraint.h; sourceTree = ""; }; - BC433FAC1117F3C600C9C8D7 /* btSolverBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolverBody.h; sourceTree = ""; }; - BC433FAD1117F3C600C9C8D7 /* btSolverConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolverConstraint.h; sourceTree = ""; }; - BC433FAE1117F3C600C9C8D7 /* btTypedConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTypedConstraint.cpp; sourceTree = ""; }; - BC433FAF1117F3C600C9C8D7 /* btTypedConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTypedConstraint.h; sourceTree = ""; }; - BC433FB01117F3C600C9C8D7 /* btUniversalConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btUniversalConstraint.cpp; sourceTree = ""; }; - BC433FB11117F3C600C9C8D7 /* btUniversalConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btUniversalConstraint.h; sourceTree = ""; }; - BC433FB31117F3C600C9C8D7 /* btActionInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btActionInterface.h; sourceTree = ""; }; - BC433FB41117F3C600C9C8D7 /* btContinuousDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContinuousDynamicsWorld.cpp; sourceTree = ""; }; - BC433FB51117F3C600C9C8D7 /* btContinuousDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContinuousDynamicsWorld.h; sourceTree = ""; }; - BC433FB61117F3C600C9C8D7 /* btDiscreteDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDiscreteDynamicsWorld.cpp; sourceTree = ""; }; - BC433FB71117F3C600C9C8D7 /* btDiscreteDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDiscreteDynamicsWorld.h; sourceTree = ""; }; - BC433FB81117F3C600C9C8D7 /* btDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDynamicsWorld.h; sourceTree = ""; }; - BC433FB91117F3C600C9C8D7 /* btRigidBody.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRigidBody.cpp; sourceTree = ""; }; - BC433FBA1117F3C600C9C8D7 /* btRigidBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRigidBody.h; sourceTree = ""; }; - BC433FBB1117F3C600C9C8D7 /* btSimpleDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimpleDynamicsWorld.cpp; sourceTree = ""; }; - BC433FBC1117F3C600C9C8D7 /* btSimpleDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimpleDynamicsWorld.h; sourceTree = ""; }; - BC433FBD1117F3C600C9C8D7 /* Bullet-C-API.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "Bullet-C-API.cpp"; sourceTree = ""; }; - BC433FBF1117F3C600C9C8D7 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - BC433FC01117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC433FC21117F3C600C9C8D7 /* btRaycastVehicle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRaycastVehicle.cpp; sourceTree = ""; }; - BC433FC31117F3C600C9C8D7 /* btRaycastVehicle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRaycastVehicle.h; sourceTree = ""; }; - BC433FC41117F3C600C9C8D7 /* btVehicleRaycaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVehicleRaycaster.h; sourceTree = ""; }; - BC433FC51117F3C600C9C8D7 /* btWheelInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btWheelInfo.cpp; sourceTree = ""; }; - BC433FC61117F3C600C9C8D7 /* btWheelInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btWheelInfo.h; sourceTree = ""; }; - BC433FC81117F3C600C9C8D7 /* btGpu3DGridBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGpu3DGridBroadphase.cpp; sourceTree = ""; }; - BC433FC91117F3C600C9C8D7 /* btGpu3DGridBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpu3DGridBroadphase.h; sourceTree = ""; }; - BC433FCA1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpu3DGridBroadphaseSharedCode.h; sourceTree = ""; }; - BC433FCB1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpu3DGridBroadphaseSharedDefs.h; sourceTree = ""; }; - BC433FCC1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpu3DGridBroadphaseSharedTypes.h; sourceTree = ""; }; - BC433FCD1117F3C600C9C8D7 /* btGpuDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpuDefines.h; sourceTree = ""; }; - BC433FCE1117F3C600C9C8D7 /* btGpuUtilsSharedCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpuUtilsSharedCode.h; sourceTree = ""; }; - BC433FCF1117F3C600C9C8D7 /* btGpuUtilsSharedDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGpuUtilsSharedDefs.h; sourceTree = ""; }; - BC433FD01117F3C600C9C8D7 /* btThreadSupportInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btThreadSupportInterface.cpp; sourceTree = ""; }; - BC433FD11117F3C600C9C8D7 /* btThreadSupportInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btThreadSupportInterface.h; sourceTree = ""; }; - BC433FD21117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC433FD31117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC433FD41117F3C600C9C8D7 /* Makefile.original */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.original; sourceTree = ""; }; - BC433FD61117F3C600C9C8D7 /* MiniCLTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiniCLTask.cpp; sourceTree = ""; }; - BC433FD71117F3C600C9C8D7 /* MiniCLTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiniCLTask.h; sourceTree = ""; }; - BC433FD81117F3C600C9C8D7 /* MiniCLTaskScheduler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiniCLTaskScheduler.cpp; sourceTree = ""; }; - BC433FD91117F3C600C9C8D7 /* MiniCLTaskScheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiniCLTaskScheduler.h; sourceTree = ""; }; - BC433FDB1117F3C600C9C8D7 /* PlatformDefinitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformDefinitions.h; sourceTree = ""; }; - BC433FDC1117F3C600C9C8D7 /* PosixThreadSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PosixThreadSupport.cpp; sourceTree = ""; }; - BC433FDD1117F3C600C9C8D7 /* PosixThreadSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PosixThreadSupport.h; sourceTree = ""; }; - BC433FDE1117F3C600C9C8D7 /* PpuAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpuAddressSpace.h; sourceTree = ""; }; - BC433FDF1117F3C600C9C8D7 /* SequentialThreadSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SequentialThreadSupport.cpp; sourceTree = ""; }; - BC433FE01117F3C600C9C8D7 /* SequentialThreadSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SequentialThreadSupport.h; sourceTree = ""; }; - BC433FE11117F3C600C9C8D7 /* SpuCollisionObjectWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuCollisionObjectWrapper.cpp; sourceTree = ""; }; - BC433FE21117F3C600C9C8D7 /* SpuCollisionObjectWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuCollisionObjectWrapper.h; sourceTree = ""; }; - BC433FE31117F3C600C9C8D7 /* SpuCollisionTaskProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuCollisionTaskProcess.cpp; sourceTree = ""; }; - BC433FE41117F3C600C9C8D7 /* SpuCollisionTaskProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuCollisionTaskProcess.h; sourceTree = ""; }; - BC433FE51117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuContactManifoldCollisionAlgorithm.cpp; sourceTree = ""; }; - BC433FE61117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuContactManifoldCollisionAlgorithm.h; sourceTree = ""; }; - BC433FE71117F3C600C9C8D7 /* SpuDoubleBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuDoubleBuffer.h; sourceTree = ""; }; - BC433FE81117F3C600C9C8D7 /* SpuFakeDma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuFakeDma.cpp; sourceTree = ""; }; - BC433FE91117F3C600C9C8D7 /* SpuFakeDma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuFakeDma.h; sourceTree = ""; }; - BC433FEA1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuGatheringCollisionDispatcher.cpp; sourceTree = ""; }; - BC433FEB1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuGatheringCollisionDispatcher.h; sourceTree = ""; }; - BC433FEC1117F3C600C9C8D7 /* SpuLibspe2Support.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuLibspe2Support.cpp; sourceTree = ""; }; - BC433FED1117F3C600C9C8D7 /* SpuLibspe2Support.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuLibspe2Support.h; sourceTree = ""; }; - BC433FEF1117F3C600C9C8D7 /* Box.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Box.h; sourceTree = ""; }; - BC433FF01117F3C600C9C8D7 /* boxBoxDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = boxBoxDistance.cpp; sourceTree = ""; }; - BC433FF11117F3C600C9C8D7 /* boxBoxDistance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boxBoxDistance.h; sourceTree = ""; }; - BC433FF21117F3C600C9C8D7 /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.txt; sourceTree = ""; }; - BC433FF31117F3C600C9C8D7 /* SpuCollisionShapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuCollisionShapes.cpp; sourceTree = ""; }; - BC433FF41117F3C600C9C8D7 /* SpuCollisionShapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuCollisionShapes.h; sourceTree = ""; }; - BC433FF51117F3C600C9C8D7 /* SpuContactResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuContactResult.cpp; sourceTree = ""; }; - BC433FF61117F3C600C9C8D7 /* SpuContactResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuContactResult.h; sourceTree = ""; }; - BC433FF71117F3C600C9C8D7 /* SpuConvexPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuConvexPenetrationDepthSolver.h; sourceTree = ""; }; - BC433FF81117F3C600C9C8D7 /* SpuGatheringCollisionTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuGatheringCollisionTask.cpp; sourceTree = ""; }; - BC433FF91117F3C600C9C8D7 /* SpuGatheringCollisionTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuGatheringCollisionTask.h; sourceTree = ""; }; - BC433FFA1117F3C600C9C8D7 /* SpuLocalSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuLocalSupport.h; sourceTree = ""; }; - BC433FFB1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuMinkowskiPenetrationDepthSolver.cpp; sourceTree = ""; }; - BC433FFC1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuMinkowskiPenetrationDepthSolver.h; sourceTree = ""; }; - BC433FFD1117F3C600C9C8D7 /* SpuPreferredPenetrationDirections.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuPreferredPenetrationDirections.h; sourceTree = ""; }; - BC433FFF1117F3C600C9C8D7 /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.txt; sourceTree = ""; }; - BC4340001117F3C600C9C8D7 /* SpuSampleTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuSampleTask.cpp; sourceTree = ""; }; - BC4340011117F3C600C9C8D7 /* SpuSampleTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuSampleTask.h; sourceTree = ""; }; - BC4340021117F3C600C9C8D7 /* SpuSampleTaskProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpuSampleTaskProcess.cpp; sourceTree = ""; }; - BC4340031117F3C600C9C8D7 /* SpuSampleTaskProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpuSampleTaskProcess.h; sourceTree = ""; }; - BC4340071117F3C600C9C8D7 /* boolInVec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boolInVec.h; sourceTree = ""; }; - BC4340081117F3C600C9C8D7 /* floatInVec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = floatInVec.h; sourceTree = ""; }; - BC4340091117F3C600C9C8D7 /* mat_aos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mat_aos.h; sourceTree = ""; }; - BC43400A1117F3C600C9C8D7 /* quat_aos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quat_aos.h; sourceTree = ""; }; - BC43400B1117F3C600C9C8D7 /* vec_aos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vec_aos.h; sourceTree = ""; }; - BC43400C1117F3C600C9C8D7 /* vectormath_aos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vectormath_aos.h; sourceTree = ""; }; - BC43400D1117F3C600C9C8D7 /* vectormath2bullet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vectormath2bullet.h; sourceTree = ""; }; - BC43400E1117F3C600C9C8D7 /* Win32ThreadSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Win32ThreadSupport.cpp; sourceTree = ""; }; - BC43400F1117F3C600C9C8D7 /* Win32ThreadSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Win32ThreadSupport.h; sourceTree = ""; }; - BC4340111117F3C600C9C8D7 /* btSoftBody.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBody.cpp; sourceTree = ""; }; - BC4340121117F3C600C9C8D7 /* btSoftBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBody.h; sourceTree = ""; }; - BC4340131117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyConcaveCollisionAlgorithm.cpp; sourceTree = ""; }; - BC4340141117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyConcaveCollisionAlgorithm.h; sourceTree = ""; }; - BC4340151117F3C600C9C8D7 /* btSoftBodyHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyHelpers.cpp; sourceTree = ""; }; - BC4340161117F3C600C9C8D7 /* btSoftBodyHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyHelpers.h; sourceTree = ""; }; - BC4340171117F3C600C9C8D7 /* btSoftBodyInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyInternals.h; sourceTree = ""; }; - BC4340181117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyRigidBodyCollisionConfiguration.cpp; sourceTree = ""; }; - BC4340191117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyRigidBodyCollisionConfiguration.h; sourceTree = ""; }; - BC43401A1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftRigidCollisionAlgorithm.cpp; sourceTree = ""; }; - BC43401B1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftRigidCollisionAlgorithm.h; sourceTree = ""; }; - BC43401C1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftRigidDynamicsWorld.cpp; sourceTree = ""; }; - BC43401D1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftRigidDynamicsWorld.h; sourceTree = ""; }; - BC43401E1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftSoftCollisionAlgorithm.cpp; sourceTree = ""; }; - BC43401F1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftSoftCollisionAlgorithm.h; sourceTree = ""; }; - BC4340201117F3C600C9C8D7 /* btSparseSDF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSparseSDF.h; sourceTree = ""; }; - BC4340211117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC4340221117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC4340231117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC4340251117F3C600C9C8D7 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - BC4340261117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC4340281117F3C600C9C8D7 /* btAabbUtil2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAabbUtil2.h; sourceTree = ""; }; - BC4340291117F3C600C9C8D7 /* btAlignedAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btAlignedAllocator.cpp; sourceTree = ""; }; - BC43402A1117F3C600C9C8D7 /* btAlignedAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedAllocator.h; sourceTree = ""; }; - BC43402B1117F3C600C9C8D7 /* btAlignedObjectArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedObjectArray.h; sourceTree = ""; }; - BC43402C1117F3C600C9C8D7 /* btConvexHull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexHull.cpp; sourceTree = ""; }; - BC43402D1117F3C600C9C8D7 /* btConvexHull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexHull.h; sourceTree = ""; }; - BC43402E1117F3C600C9C8D7 /* btDefaultMotionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDefaultMotionState.h; sourceTree = ""; }; - BC43402F1117F3C600C9C8D7 /* btGeometryUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGeometryUtil.cpp; sourceTree = ""; }; - BC4340301117F3C600C9C8D7 /* btGeometryUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeometryUtil.h; sourceTree = ""; }; - BC4340311117F3C600C9C8D7 /* btHashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHashMap.h; sourceTree = ""; }; - BC4340321117F3C600C9C8D7 /* btIDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btIDebugDraw.h; sourceTree = ""; }; - BC4340331117F3C600C9C8D7 /* btList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btList.h; sourceTree = ""; }; - BC4340341117F3C600C9C8D7 /* btMatrix3x3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMatrix3x3.h; sourceTree = ""; }; - BC4340351117F3C600C9C8D7 /* btMinMax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinMax.h; sourceTree = ""; }; - BC4340361117F3C600C9C8D7 /* btMotionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMotionState.h; sourceTree = ""; }; - BC4340371117F3C600C9C8D7 /* btPoolAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPoolAllocator.h; sourceTree = ""; }; - BC4340381117F3C600C9C8D7 /* btQuadWord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuadWord.h; sourceTree = ""; }; - BC4340391117F3C600C9C8D7 /* btQuaternion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuaternion.h; sourceTree = ""; }; - BC43403A1117F3C600C9C8D7 /* btQuickprof.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btQuickprof.cpp; sourceTree = ""; }; - BC43403B1117F3C600C9C8D7 /* btQuickprof.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuickprof.h; sourceTree = ""; }; - BC43403C1117F3C600C9C8D7 /* btRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRandom.h; sourceTree = ""; }; - BC43403D1117F3C600C9C8D7 /* btScalar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btScalar.h; sourceTree = ""; }; - BC43403E1117F3C600C9C8D7 /* btSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSerializer.cpp; sourceTree = ""; }; - BC43403F1117F3C600C9C8D7 /* btSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSerializer.h; sourceTree = ""; }; - BC4340401117F3C600C9C8D7 /* btStackAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStackAlloc.h; sourceTree = ""; }; - BC4340411117F3C600C9C8D7 /* btTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTransform.h; sourceTree = ""; }; - BC4340421117F3C600C9C8D7 /* btTransformUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTransformUtil.h; sourceTree = ""; }; - BC4340431117F3C600C9C8D7 /* btVector3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVector3.h; sourceTree = ""; }; - BC4340441117F3C600C9C8D7 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - BC4340461117F3C600C9C8D7 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - BC4340471117F3C600C9C8D7 /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; path = Jamfile; sourceTree = ""; }; - BC4340481117F3C600C9C8D7 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; - BC43404A1117F3C600C9C8D7 /* cl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cl.h; sourceTree = ""; }; - BC43404B1117F3C600C9C8D7 /* cl_gl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cl_gl.h; sourceTree = ""; }; - BC43404C1117F3C600C9C8D7 /* cl_platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cl_platform.h; sourceTree = ""; }; - BC4341CF1117F4CF00C9C8D7 /* sphere_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sphere_shape.h; sourceTree = ""; }; - BC4341D01117F4CF00C9C8D7 /* sphere_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sphere_shape_impl.h; sourceTree = ""; }; - BC4341D11117F4CF00C9C8D7 /* solver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = solver.h; sourceTree = ""; }; - BC4341D21117F4CF00C9C8D7 /* solver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = solver.cpp; sourceTree = ""; }; - BC4341D31117F4CF00C9C8D7 /* solver_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = solver_impl.h; sourceTree = ""; }; - BC4341D41117F4CF00C9C8D7 /* shared_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shared_ptr.h; sourceTree = ""; }; - BC4341D51117F4CF00C9C8D7 /* rigidBodyNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rigidBodyNode.h; sourceTree = ""; }; - BC4341D61117F4CF00C9C8D7 /* rigidBodyNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rigidBodyNode.cpp; sourceTree = ""; }; - BC4341D71117F4CF00C9C8D7 /* rigidBodyArrayNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rigidBodyArrayNode.h; sourceTree = ""; }; - BC4341D81117F4CF00C9C8D7 /* rigidBodyArrayNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rigidBodyArrayNode.cpp; sourceTree = ""; }; - BC4341D91117F4CF00C9C8D7 /* rigid_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rigid_body.h; sourceTree = ""; }; - BC4341DA1117F4CF00C9C8D7 /* rigid_body_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rigid_body_impl.h; sourceTree = ""; }; - BC4341DB1117F4CF00C9C8D7 /* pluginMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pluginMain.cpp; sourceTree = ""; }; - BC4341DC1117F4CF00C9C8D7 /* plane_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plane_shape.h; sourceTree = ""; }; - BC4341DD1117F4CF00C9C8D7 /* plane_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plane_shape_impl.h; sourceTree = ""; }; - BC4341DE1117F4CF00C9C8D7 /* pdbIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdbIO.h; sourceTree = ""; }; - BC4341DF1117F4CF00C9C8D7 /* pdbIO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdbIO.cpp; sourceTree = ""; }; - BC4341E01117F4CF00C9C8D7 /* mesh_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mesh_shape.h; sourceTree = ""; }; - BC4341E11117F4CF00C9C8D7 /* mesh_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mesh_shape_impl.h; sourceTree = ""; }; - BC4341E21117F4CF00C9C8D7 /* mayaUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mayaUtils.h; sourceTree = ""; }; - BC4341E31117F4CF00C9C8D7 /* mathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mathUtils.h; sourceTree = ""; }; - BC4341E41117F4CF00C9C8D7 /* dSolverNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dSolverNode.h; sourceTree = ""; }; - BC4341E51117F4CF00C9C8D7 /* dSolverNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dSolverNode.cpp; sourceTree = ""; }; - BC4341E61117F4CF00C9C8D7 /* dSolverCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dSolverCmd.h; sourceTree = ""; }; - BC4341E71117F4CF00C9C8D7 /* dSolverCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dSolverCmd.cpp; sourceTree = ""; }; - BC4341E81117F4CF00C9C8D7 /* dRigidBodyCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dRigidBodyCmd.h; sourceTree = ""; }; - BC4341E91117F4CF00C9C8D7 /* dRigidBodyCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dRigidBodyCmd.cpp; sourceTree = ""; }; - BC4341EA1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dRigidBodyArrayCmd.h; sourceTree = ""; }; - BC4341EB1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dRigidBodyArrayCmd.cpp; sourceTree = ""; }; - BC4341EC1117F4CF00C9C8D7 /* drawUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = drawUtils.h; sourceTree = ""; }; - BC4341ED1117F4CF00C9C8D7 /* drawUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawUtils.cpp; sourceTree = ""; }; - BC4341EE1117F4CF00C9C8D7 /* convex_hull_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convex_hull_shape.h; sourceTree = ""; }; - BC4341EF1117F4CF00C9C8D7 /* convex_hull_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convex_hull_shape_impl.h; sourceTree = ""; }; - BC4341F01117F4CF00C9C8D7 /* collisionShapeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collisionShapeNode.h; sourceTree = ""; }; - BC4341F11117F4CF00C9C8D7 /* collisionShapeNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = collisionShapeNode.cpp; sourceTree = ""; }; - BC4341F21117F4CF00C9C8D7 /* collision_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collision_shape.h; sourceTree = ""; }; - BC4341F31117F4CF00C9C8D7 /* collision_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = collision_shape_impl.h; sourceTree = ""; }; - BC4341F41117F4CF00C9C8D7 /* bulletExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bulletExport.h; sourceTree = ""; }; - BC4341F51117F4CF00C9C8D7 /* bulletExport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bulletExport.cpp; sourceTree = ""; }; - BC4341F61117F4CF00C9C8D7 /* bt_sphere_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_sphere_shape.h; sourceTree = ""; }; - BC4341F71117F4CF00C9C8D7 /* bt_solver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_solver.h; sourceTree = ""; }; - BC4341F81117F4CF00C9C8D7 /* bt_solver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bt_solver.cpp; sourceTree = ""; }; - BC4341F91117F4CF00C9C8D7 /* bt_rigid_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_rigid_body.h; sourceTree = ""; }; - BC4341FA1117F4CF00C9C8D7 /* bt_plane_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_plane_shape.h; sourceTree = ""; }; - BC4341FB1117F4CF00C9C8D7 /* bt_mesh_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_mesh_shape.h; sourceTree = ""; }; - BC4341FC1117F4CF00C9C8D7 /* bt_convex_hull_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_convex_hull_shape.h; sourceTree = ""; }; - BC4341FD1117F4CF00C9C8D7 /* bt_collision_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_collision_shape.h; sourceTree = ""; }; - BC4341FE1117F4CF00C9C8D7 /* bt_box_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bt_box_shape.h; sourceTree = ""; }; - BC4341FF1117F4CF00C9C8D7 /* box_shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = box_shape.h; sourceTree = ""; }; - BC4342001117F4CF00C9C8D7 /* box_shape_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = box_shape_impl.h; sourceTree = ""; }; - BC4342371117F51F00C9C8D7 /* sliderConstraintNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sliderConstraintNode.h; path = constraint/sliderConstraintNode.h; sourceTree = ""; }; - BC4342381117F51F00C9C8D7 /* sliderConstraintNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sliderConstraintNode.cpp; path = constraint/sliderConstraintNode.cpp; sourceTree = ""; }; - BC4342391117F51F00C9C8D7 /* slider_constraint_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = slider_constraint_impl.h; path = constraint/slider_constraint_impl.h; sourceTree = ""; }; - BC43423A1117F51F00C9C8D7 /* sixdofConstraintNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sixdofConstraintNode.h; path = constraint/sixdofConstraintNode.h; sourceTree = ""; }; - BC43423B1117F51F00C9C8D7 /* sixdofConstraintNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sixdofConstraintNode.cpp; path = constraint/sixdofConstraintNode.cpp; sourceTree = ""; }; - BC43423C1117F51F00C9C8D7 /* sixdof_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sixdof_constraint.h; path = constraint/sixdof_constraint.h; sourceTree = ""; }; - BC43423D1117F51F00C9C8D7 /* sixdof_constraint_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sixdof_constraint_impl.h; path = constraint/sixdof_constraint_impl.h; sourceTree = ""; }; - BC43423E1117F51F00C9C8D7 /* nailConstraintNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nailConstraintNode.h; path = constraint/nailConstraintNode.h; sourceTree = ""; }; - BC43423F1117F51F00C9C8D7 /* nailConstraintNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = nailConstraintNode.cpp; path = constraint/nailConstraintNode.cpp; sourceTree = ""; }; - BC4342401117F51F00C9C8D7 /* nail_constraint_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nail_constraint_impl.h; path = constraint/nail_constraint_impl.h; sourceTree = ""; }; - BC4342411117F51F00C9C8D7 /* hingeConstraintNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hingeConstraintNode.cpp; path = constraint/hingeConstraintNode.cpp; sourceTree = ""; }; - BC4342421117F51F00C9C8D7 /* hinge_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hinge_constraint.h; path = constraint/hinge_constraint.h; sourceTree = ""; }; - BC4342431117F51F00C9C8D7 /* hinge_constraint_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hinge_constraint_impl.h; path = constraint/hinge_constraint_impl.h; sourceTree = ""; }; - BC4342441117F51F00C9C8D7 /* dSliderConstraintCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dSliderConstraintCmd.h; path = constraint/dSliderConstraintCmd.h; sourceTree = ""; }; - BC4342451117F51F00C9C8D7 /* dSliderConstraintCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dSliderConstraintCmd.cpp; path = constraint/dSliderConstraintCmd.cpp; sourceTree = ""; }; - BC4342461117F51F00C9C8D7 /* dsixdofConstraintCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dsixdofConstraintCmd.h; path = constraint/dsixdofConstraintCmd.h; sourceTree = ""; }; - BC4342471117F51F00C9C8D7 /* dsixdofConstraintCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dsixdofConstraintCmd.cpp; path = constraint/dsixdofConstraintCmd.cpp; sourceTree = ""; }; - BC4342481117F51F00C9C8D7 /* dNailConstraintCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dNailConstraintCmd.h; path = constraint/dNailConstraintCmd.h; sourceTree = ""; }; - BC4342491117F51F00C9C8D7 /* dNailConstraintCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dNailConstraintCmd.cpp; path = constraint/dNailConstraintCmd.cpp; sourceTree = ""; }; - BC43424A1117F51F00C9C8D7 /* dHingeConstraintCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dHingeConstraintCmd.h; path = constraint/dHingeConstraintCmd.h; sourceTree = ""; }; - BC43424B1117F51F00C9C8D7 /* dHingeConstraintCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dHingeConstraintCmd.cpp; path = constraint/dHingeConstraintCmd.cpp; sourceTree = ""; }; - BC43424C1117F51F00C9C8D7 /* constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = constraint.h; path = constraint/constraint.h; sourceTree = ""; }; - BC43424D1117F51F00C9C8D7 /* constraint_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = constraint_impl.h; path = constraint/constraint_impl.h; sourceTree = ""; }; - BC43424E1117F51F00C9C8D7 /* bt_slider_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bt_slider_constraint.h; path = constraint/bt_slider_constraint.h; sourceTree = ""; }; - BC43424F1117F51F00C9C8D7 /* bt_sixdof_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bt_sixdof_constraint.h; path = constraint/bt_sixdof_constraint.h; sourceTree = ""; }; - BC4342501117F51F00C9C8D7 /* bt_nail_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bt_nail_constraint.h; path = constraint/bt_nail_constraint.h; sourceTree = ""; }; - BC4342511117F51F00C9C8D7 /* bt_hinge_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bt_hinge_constraint.h; path = constraint/bt_hinge_constraint.h; sourceTree = ""; }; - BC4342521117F51F00C9C8D7 /* bt_constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bt_constraint.h; path = constraint/bt_constraint.h; sourceTree = ""; }; - BC4342791117F59800C9C8D7 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - D2AAC0630554660B00DB518D /* BulletMayaPlugin.bundle */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = BulletMayaPlugin.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D289988505E68E00004EDB86 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BC43427A1117F59800C9C8D7 /* OpenGL.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* BulletMayaPlugin */ = { - isa = PBXGroup; - children = ( - BC433EAF1117F3C600C9C8D7 /* BulletSource */, - 08FB7795FE84155DC02AAC07 /* Source */, - 8A7F063208688F460064D097 /* Mel */, - 8A7F063308688F580064D097 /* Resources */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - BC4342791117F59800C9C8D7 /* OpenGL.framework */, - ); - name = BulletMayaPlugin; - sourceTree = ""; - }; - 08FB7795FE84155DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - BC4342371117F51F00C9C8D7 /* sliderConstraintNode.h */, - BC4342381117F51F00C9C8D7 /* sliderConstraintNode.cpp */, - BC4342391117F51F00C9C8D7 /* slider_constraint_impl.h */, - BC43423A1117F51F00C9C8D7 /* sixdofConstraintNode.h */, - BC43423B1117F51F00C9C8D7 /* sixdofConstraintNode.cpp */, - BC43423C1117F51F00C9C8D7 /* sixdof_constraint.h */, - BC43423D1117F51F00C9C8D7 /* sixdof_constraint_impl.h */, - BC43423E1117F51F00C9C8D7 /* nailConstraintNode.h */, - BC43423F1117F51F00C9C8D7 /* nailConstraintNode.cpp */, - BC4342401117F51F00C9C8D7 /* nail_constraint_impl.h */, - BC4342411117F51F00C9C8D7 /* hingeConstraintNode.cpp */, - BC4342421117F51F00C9C8D7 /* hinge_constraint.h */, - BC4342431117F51F00C9C8D7 /* hinge_constraint_impl.h */, - BC4342441117F51F00C9C8D7 /* dSliderConstraintCmd.h */, - BC4342451117F51F00C9C8D7 /* dSliderConstraintCmd.cpp */, - BC4342461117F51F00C9C8D7 /* dsixdofConstraintCmd.h */, - BC4342471117F51F00C9C8D7 /* dsixdofConstraintCmd.cpp */, - BC4342481117F51F00C9C8D7 /* dNailConstraintCmd.h */, - BC4342491117F51F00C9C8D7 /* dNailConstraintCmd.cpp */, - BC43424A1117F51F00C9C8D7 /* dHingeConstraintCmd.h */, - BC43424B1117F51F00C9C8D7 /* dHingeConstraintCmd.cpp */, - BC43424C1117F51F00C9C8D7 /* constraint.h */, - BC43424D1117F51F00C9C8D7 /* constraint_impl.h */, - BC43424E1117F51F00C9C8D7 /* bt_slider_constraint.h */, - BC43424F1117F51F00C9C8D7 /* bt_sixdof_constraint.h */, - BC4342501117F51F00C9C8D7 /* bt_nail_constraint.h */, - BC4342511117F51F00C9C8D7 /* bt_hinge_constraint.h */, - BC4342521117F51F00C9C8D7 /* bt_constraint.h */, - BC4341CF1117F4CF00C9C8D7 /* sphere_shape.h */, - BC4341D01117F4CF00C9C8D7 /* sphere_shape_impl.h */, - BC4341D11117F4CF00C9C8D7 /* solver.h */, - BC4341D21117F4CF00C9C8D7 /* solver.cpp */, - BC4341D31117F4CF00C9C8D7 /* solver_impl.h */, - BC4341D41117F4CF00C9C8D7 /* shared_ptr.h */, - BC4341D51117F4CF00C9C8D7 /* rigidBodyNode.h */, - BC4341D61117F4CF00C9C8D7 /* rigidBodyNode.cpp */, - BC4341D71117F4CF00C9C8D7 /* rigidBodyArrayNode.h */, - BC4341D81117F4CF00C9C8D7 /* rigidBodyArrayNode.cpp */, - BC4341D91117F4CF00C9C8D7 /* rigid_body.h */, - BC4341DA1117F4CF00C9C8D7 /* rigid_body_impl.h */, - BC4341DB1117F4CF00C9C8D7 /* pluginMain.cpp */, - BC4341DC1117F4CF00C9C8D7 /* plane_shape.h */, - BC4341DD1117F4CF00C9C8D7 /* plane_shape_impl.h */, - BC4341DE1117F4CF00C9C8D7 /* pdbIO.h */, - BC4341DF1117F4CF00C9C8D7 /* pdbIO.cpp */, - BC4341E01117F4CF00C9C8D7 /* mesh_shape.h */, - BC4341E11117F4CF00C9C8D7 /* mesh_shape_impl.h */, - BC4341E21117F4CF00C9C8D7 /* mayaUtils.h */, - BC4341E31117F4CF00C9C8D7 /* mathUtils.h */, - BC4341E41117F4CF00C9C8D7 /* dSolverNode.h */, - BC4341E51117F4CF00C9C8D7 /* dSolverNode.cpp */, - BC4341E61117F4CF00C9C8D7 /* dSolverCmd.h */, - BC4341E71117F4CF00C9C8D7 /* dSolverCmd.cpp */, - BC4341E81117F4CF00C9C8D7 /* dRigidBodyCmd.h */, - BC4341E91117F4CF00C9C8D7 /* dRigidBodyCmd.cpp */, - BC4341EA1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.h */, - BC4341EB1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.cpp */, - BC4341EC1117F4CF00C9C8D7 /* drawUtils.h */, - BC4341ED1117F4CF00C9C8D7 /* drawUtils.cpp */, - BC4341EE1117F4CF00C9C8D7 /* convex_hull_shape.h */, - BC4341EF1117F4CF00C9C8D7 /* convex_hull_shape_impl.h */, - BC4341F01117F4CF00C9C8D7 /* collisionShapeNode.h */, - BC4341F11117F4CF00C9C8D7 /* collisionShapeNode.cpp */, - BC4341F21117F4CF00C9C8D7 /* collision_shape.h */, - BC4341F31117F4CF00C9C8D7 /* collision_shape_impl.h */, - BC4341F41117F4CF00C9C8D7 /* bulletExport.h */, - BC4341F51117F4CF00C9C8D7 /* bulletExport.cpp */, - BC4341F61117F4CF00C9C8D7 /* bt_sphere_shape.h */, - BC4341F71117F4CF00C9C8D7 /* bt_solver.h */, - BC4341F81117F4CF00C9C8D7 /* bt_solver.cpp */, - BC4341F91117F4CF00C9C8D7 /* bt_rigid_body.h */, - BC4341FA1117F4CF00C9C8D7 /* bt_plane_shape.h */, - BC4341FB1117F4CF00C9C8D7 /* bt_mesh_shape.h */, - BC4341FC1117F4CF00C9C8D7 /* bt_convex_hull_shape.h */, - BC4341FD1117F4CF00C9C8D7 /* bt_collision_shape.h */, - BC4341FE1117F4CF00C9C8D7 /* bt_box_shape.h */, - BC4341FF1117F4CF00C9C8D7 /* box_shape.h */, - BC4342001117F4CF00C9C8D7 /* box_shape_impl.h */, - ); - name = Source; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - D2AAC0630554660B00DB518D /* BulletMayaPlugin.bundle */, - ); - name = Products; - sourceTree = ""; - }; - 8A7F063208688F460064D097 /* Mel */ = { - isa = PBXGroup; - children = ( - ); - name = Mel; - sourceTree = ""; - }; - 8A7F063308688F580064D097 /* Resources */ = { - isa = PBXGroup; - children = ( - ); - name = Resources; - sourceTree = ""; - }; - BC433EAF1117F3C600C9C8D7 /* BulletSource */ = { - isa = PBXGroup; - children = ( - BC433EB01117F3C600C9C8D7 /* btBulletCollisionCommon.h */, - BC433EB11117F3C600C9C8D7 /* btBulletDynamicsCommon.h */, - BC433EB21117F3C600C9C8D7 /* Bullet-C-Api.h */, - BC433EB31117F3C600C9C8D7 /* BulletCollision */, - BC433F8E1117F3C600C9C8D7 /* BulletDynamics */, - BC433FC71117F3C600C9C8D7 /* BulletMultiThreaded */, - BC4340101117F3C600C9C8D7 /* BulletSoftBody */, - BC4340231117F3C600C9C8D7 /* CMakeLists.txt */, - BC4340241117F3C600C9C8D7 /* ibmsdk */, - BC4340261117F3C600C9C8D7 /* Jamfile */, - BC4340271117F3C600C9C8D7 /* LinearMath */, - BC4340481117F3C600C9C8D7 /* Makefile.am */, - BC4340491117F3C600C9C8D7 /* MiniCL */, - ); - name = BulletSource; - path = ../../src; - sourceTree = SOURCE_ROOT; - }; - BC433EB31117F3C600C9C8D7 /* BulletCollision */ = { - isa = PBXGroup; - children = ( - BC433EB41117F3C600C9C8D7 /* BroadphaseCollision */, - BC433ECB1117F3C600C9C8D7 /* CMakeLists.txt */, - BC433ECC1117F3C600C9C8D7 /* CollisionDispatch */, - BC433EFD1117F3C600C9C8D7 /* CollisionShapes */, - BC433F471117F3C600C9C8D7 /* Doxyfile */, - BC433F481117F3C600C9C8D7 /* Gimpact */, - BC433F6F1117F3C600C9C8D7 /* ibmsdk */, - BC433F711117F3C600C9C8D7 /* Jamfile */, - BC433F721117F3C600C9C8D7 /* NarrowPhaseCollision */, - ); - path = BulletCollision; - sourceTree = ""; - }; - BC433EB41117F3C600C9C8D7 /* BroadphaseCollision */ = { - isa = PBXGroup; - children = ( - BC433EB51117F3C600C9C8D7 /* btAxisSweep3.cpp */, - BC433EB61117F3C600C9C8D7 /* btAxisSweep3.h */, - BC433EB71117F3C600C9C8D7 /* btBroadphaseInterface.h */, - BC433EB81117F3C600C9C8D7 /* btBroadphaseProxy.cpp */, - BC433EB91117F3C600C9C8D7 /* btBroadphaseProxy.h */, - BC433EBA1117F3C600C9C8D7 /* btCollisionAlgorithm.cpp */, - BC433EBB1117F3C600C9C8D7 /* btCollisionAlgorithm.h */, - BC433EBC1117F3C600C9C8D7 /* btDbvt.cpp */, - BC433EBD1117F3C600C9C8D7 /* btDbvt.h */, - BC433EBE1117F3C600C9C8D7 /* btDbvtBroadphase.cpp */, - BC433EBF1117F3C600C9C8D7 /* btDbvtBroadphase.h */, - BC433EC01117F3C600C9C8D7 /* btDispatcher.cpp */, - BC433EC11117F3C600C9C8D7 /* btDispatcher.h */, - BC433EC21117F3C600C9C8D7 /* btMultiSapBroadphase.cpp */, - BC433EC31117F3C600C9C8D7 /* btMultiSapBroadphase.h */, - BC433EC41117F3C600C9C8D7 /* btOverlappingPairCache.cpp */, - BC433EC51117F3C600C9C8D7 /* btOverlappingPairCache.h */, - BC433EC61117F3C600C9C8D7 /* btOverlappingPairCallback.h */, - BC433EC71117F3C600C9C8D7 /* btQuantizedBvh.cpp */, - BC433EC81117F3C600C9C8D7 /* btQuantizedBvh.h */, - BC433EC91117F3C600C9C8D7 /* btSimpleBroadphase.cpp */, - BC433ECA1117F3C600C9C8D7 /* btSimpleBroadphase.h */, - ); - path = BroadphaseCollision; - sourceTree = ""; - }; - BC433ECC1117F3C600C9C8D7 /* CollisionDispatch */ = { - isa = PBXGroup; - children = ( - BC433ECD1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.cpp */, - BC433ECE1117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.h */, - BC433ECF1117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.cpp */, - BC433ED01117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.h */, - BC433ED11117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.cpp */, - BC433ED21117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.h */, - BC433ED31117F3C600C9C8D7 /* btBoxBoxDetector.cpp */, - BC433ED41117F3C600C9C8D7 /* btBoxBoxDetector.h */, - BC433ED51117F3C600C9C8D7 /* btCollisionConfiguration.h */, - BC433ED61117F3C600C9C8D7 /* btCollisionCreateFunc.h */, - BC433ED71117F3C600C9C8D7 /* btCollisionDispatcher.cpp */, - BC433ED81117F3C600C9C8D7 /* btCollisionDispatcher.h */, - BC433ED91117F3C600C9C8D7 /* btCollisionObject.cpp */, - BC433EDA1117F3C600C9C8D7 /* btCollisionObject.h */, - BC433EDB1117F3C600C9C8D7 /* btCollisionWorld.cpp */, - BC433EDC1117F3C600C9C8D7 /* btCollisionWorld.h */, - BC433EDD1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.cpp */, - BC433EDE1117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.h */, - BC433EDF1117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.cpp */, - BC433EE01117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.h */, - BC433EE11117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.cpp */, - BC433EE21117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.h */, - BC433EE31117F3C600C9C8D7 /* btConvexConvexAlgorithm.cpp */, - BC433EE41117F3C600C9C8D7 /* btConvexConvexAlgorithm.h */, - BC433EE51117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.cpp */, - BC433EE61117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.h */, - BC433EE71117F3C600C9C8D7 /* btDefaultCollisionConfiguration.cpp */, - BC433EE81117F3C600C9C8D7 /* btDefaultCollisionConfiguration.h */, - BC433EE91117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.cpp */, - BC433EEA1117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.h */, - BC433EEB1117F3C600C9C8D7 /* btGhostObject.cpp */, - BC433EEC1117F3C600C9C8D7 /* btGhostObject.h */, - BC433EED1117F3C600C9C8D7 /* btInternalEdgeUtility.cpp */, - BC433EEE1117F3C600C9C8D7 /* btInternalEdgeUtility.h */, - BC433EEF1117F3C600C9C8D7 /* btManifoldResult.cpp */, - BC433EF01117F3C600C9C8D7 /* btManifoldResult.h */, - BC433EF11117F3C600C9C8D7 /* btSimulationIslandManager.cpp */, - BC433EF21117F3C600C9C8D7 /* btSimulationIslandManager.h */, - BC433EF31117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.cpp */, - BC433EF41117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.h */, - BC433EF51117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.cpp */, - BC433EF61117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.h */, - BC433EF71117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.cpp */, - BC433EF81117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.h */, - BC433EF91117F3C600C9C8D7 /* btUnionFind.cpp */, - BC433EFA1117F3C600C9C8D7 /* btUnionFind.h */, - BC433EFB1117F3C600C9C8D7 /* SphereTriangleDetector.cpp */, - BC433EFC1117F3C600C9C8D7 /* SphereTriangleDetector.h */, - ); - path = CollisionDispatch; - sourceTree = ""; - }; - BC433EFD1117F3C600C9C8D7 /* CollisionShapes */ = { - isa = PBXGroup; - children = ( - BC433EFE1117F3C600C9C8D7 /* btBox2dShape.cpp */, - BC433EFF1117F3C600C9C8D7 /* btBox2dShape.h */, - BC433F001117F3C600C9C8D7 /* btBoxShape.cpp */, - BC433F011117F3C600C9C8D7 /* btBoxShape.h */, - BC433F021117F3C600C9C8D7 /* btBvhTriangleMeshShape.cpp */, - BC433F031117F3C600C9C8D7 /* btBvhTriangleMeshShape.h */, - BC433F041117F3C600C9C8D7 /* btCapsuleShape.cpp */, - BC433F051117F3C600C9C8D7 /* btCapsuleShape.h */, - BC433F061117F3C600C9C8D7 /* btCollisionMargin.h */, - BC433F071117F3C600C9C8D7 /* btCollisionShape.cpp */, - BC433F081117F3C600C9C8D7 /* btCollisionShape.h */, - BC433F091117F3C600C9C8D7 /* btCompoundShape.cpp */, - BC433F0A1117F3C600C9C8D7 /* btCompoundShape.h */, - BC433F0B1117F3C600C9C8D7 /* btConcaveShape.cpp */, - BC433F0C1117F3C600C9C8D7 /* btConcaveShape.h */, - BC433F0D1117F3C600C9C8D7 /* btConeShape.cpp */, - BC433F0E1117F3C600C9C8D7 /* btConeShape.h */, - BC433F0F1117F3C600C9C8D7 /* btConvex2dShape.cpp */, - BC433F101117F3C600C9C8D7 /* btConvex2dShape.h */, - BC433F111117F3C600C9C8D7 /* btConvexHullShape.cpp */, - BC433F121117F3C600C9C8D7 /* btConvexHullShape.h */, - BC433F131117F3C600C9C8D7 /* btConvexInternalShape.cpp */, - BC433F141117F3C600C9C8D7 /* btConvexInternalShape.h */, - BC433F151117F3C600C9C8D7 /* btConvexPointCloudShape.cpp */, - BC433F161117F3C600C9C8D7 /* btConvexPointCloudShape.h */, - BC433F171117F3C600C9C8D7 /* btConvexShape.cpp */, - BC433F181117F3C600C9C8D7 /* btConvexShape.h */, - BC433F191117F3C600C9C8D7 /* btConvexTriangleMeshShape.cpp */, - BC433F1A1117F3C600C9C8D7 /* btConvexTriangleMeshShape.h */, - BC433F1B1117F3C600C9C8D7 /* btCylinderShape.cpp */, - BC433F1C1117F3C600C9C8D7 /* btCylinderShape.h */, - BC433F1D1117F3C600C9C8D7 /* btEmptyShape.cpp */, - BC433F1E1117F3C600C9C8D7 /* btEmptyShape.h */, - BC433F1F1117F3C600C9C8D7 /* btHeightfieldTerrainShape.cpp */, - BC433F201117F3C600C9C8D7 /* btHeightfieldTerrainShape.h */, - BC433F211117F3C600C9C8D7 /* btMaterial.h */, - BC433F221117F3C600C9C8D7 /* btMinkowskiSumShape.cpp */, - BC433F231117F3C600C9C8D7 /* btMinkowskiSumShape.h */, - BC433F241117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.cpp */, - BC433F251117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.h */, - BC433F261117F3C600C9C8D7 /* btMultiSphereShape.cpp */, - BC433F271117F3C600C9C8D7 /* btMultiSphereShape.h */, - BC433F281117F3C600C9C8D7 /* btOptimizedBvh.cpp */, - BC433F291117F3C600C9C8D7 /* btOptimizedBvh.h */, - BC433F2A1117F3C600C9C8D7 /* btPolyhedralConvexShape.cpp */, - BC433F2B1117F3C600C9C8D7 /* btPolyhedralConvexShape.h */, - BC433F2C1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.cpp */, - BC433F2D1117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.h */, - BC433F2E1117F3C600C9C8D7 /* btShapeHull.cpp */, - BC433F2F1117F3C600C9C8D7 /* btShapeHull.h */, - BC433F301117F3C600C9C8D7 /* btSphereShape.cpp */, - BC433F311117F3C600C9C8D7 /* btSphereShape.h */, - BC433F321117F3C600C9C8D7 /* btStaticPlaneShape.cpp */, - BC433F331117F3C600C9C8D7 /* btStaticPlaneShape.h */, - BC433F341117F3C600C9C8D7 /* btStridingMeshInterface.cpp */, - BC433F351117F3C600C9C8D7 /* btStridingMeshInterface.h */, - BC433F361117F3C600C9C8D7 /* btTetrahedronShape.cpp */, - BC433F371117F3C600C9C8D7 /* btTetrahedronShape.h */, - BC433F381117F3C600C9C8D7 /* btTriangleBuffer.cpp */, - BC433F391117F3C600C9C8D7 /* btTriangleBuffer.h */, - BC433F3A1117F3C600C9C8D7 /* btTriangleCallback.cpp */, - BC433F3B1117F3C600C9C8D7 /* btTriangleCallback.h */, - BC433F3C1117F3C600C9C8D7 /* btTriangleIndexVertexArray.cpp */, - BC433F3D1117F3C600C9C8D7 /* btTriangleIndexVertexArray.h */, - BC433F3E1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.cpp */, - BC433F3F1117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.h */, - BC433F401117F3C600C9C8D7 /* btTriangleMesh.cpp */, - BC433F411117F3C600C9C8D7 /* btTriangleMesh.h */, - BC433F421117F3C600C9C8D7 /* btTriangleMeshShape.cpp */, - BC433F431117F3C600C9C8D7 /* btTriangleMeshShape.h */, - BC433F441117F3C600C9C8D7 /* btTriangleShape.h */, - BC433F451117F3C600C9C8D7 /* btUniformScalingShape.cpp */, - BC433F461117F3C600C9C8D7 /* btUniformScalingShape.h */, - ); - path = CollisionShapes; - sourceTree = ""; - }; - BC433F481117F3C600C9C8D7 /* Gimpact */ = { - isa = PBXGroup; - children = ( - BC433F491117F3C600C9C8D7 /* btBoxCollision.h */, - BC433F4A1117F3C600C9C8D7 /* btClipPolygon.h */, - BC433F4B1117F3C600C9C8D7 /* btContactProcessing.cpp */, - BC433F4C1117F3C600C9C8D7 /* btContactProcessing.h */, - BC433F4D1117F3C600C9C8D7 /* btGenericPoolAllocator.cpp */, - BC433F4E1117F3C600C9C8D7 /* btGenericPoolAllocator.h */, - BC433F4F1117F3C600C9C8D7 /* btGeometryOperations.h */, - BC433F501117F3C600C9C8D7 /* btGImpactBvh.cpp */, - BC433F511117F3C600C9C8D7 /* btGImpactBvh.h */, - BC433F521117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.cpp */, - BC433F531117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.h */, - BC433F541117F3C600C9C8D7 /* btGImpactMassUtil.h */, - BC433F551117F3C600C9C8D7 /* btGImpactQuantizedBvh.cpp */, - BC433F561117F3C600C9C8D7 /* btGImpactQuantizedBvh.h */, - BC433F571117F3C600C9C8D7 /* btGImpactShape.cpp */, - BC433F581117F3C600C9C8D7 /* btGImpactShape.h */, - BC433F591117F3C600C9C8D7 /* btQuantization.h */, - BC433F5A1117F3C600C9C8D7 /* btTriangleShapeEx.cpp */, - BC433F5B1117F3C600C9C8D7 /* btTriangleShapeEx.h */, - BC433F5C1117F3C600C9C8D7 /* gim_array.h */, - BC433F5D1117F3C600C9C8D7 /* gim_basic_geometry_operations.h */, - BC433F5E1117F3C600C9C8D7 /* gim_bitset.h */, - BC433F5F1117F3C600C9C8D7 /* gim_box_collision.h */, - BC433F601117F3C600C9C8D7 /* gim_box_set.cpp */, - BC433F611117F3C600C9C8D7 /* gim_box_set.h */, - BC433F621117F3C600C9C8D7 /* gim_clip_polygon.h */, - BC433F631117F3C600C9C8D7 /* gim_contact.cpp */, - BC433F641117F3C600C9C8D7 /* gim_contact.h */, - BC433F651117F3C600C9C8D7 /* gim_geom_types.h */, - BC433F661117F3C600C9C8D7 /* gim_geometry.h */, - BC433F671117F3C600C9C8D7 /* gim_hash_table.h */, - BC433F681117F3C600C9C8D7 /* gim_linear_math.h */, - BC433F691117F3C600C9C8D7 /* gim_math.h */, - BC433F6A1117F3C600C9C8D7 /* gim_memory.cpp */, - BC433F6B1117F3C600C9C8D7 /* gim_memory.h */, - BC433F6C1117F3C600C9C8D7 /* gim_radixsort.h */, - BC433F6D1117F3C600C9C8D7 /* gim_tri_collision.cpp */, - BC433F6E1117F3C600C9C8D7 /* gim_tri_collision.h */, - ); - path = Gimpact; - sourceTree = ""; - }; - BC433F6F1117F3C600C9C8D7 /* ibmsdk */ = { - isa = PBXGroup; - children = ( - BC433F701117F3C600C9C8D7 /* Makefile */, - ); - path = ibmsdk; - sourceTree = ""; - }; - BC433F721117F3C600C9C8D7 /* NarrowPhaseCollision */ = { - isa = PBXGroup; - children = ( - BC433F731117F3C600C9C8D7 /* btContinuousConvexCollision.cpp */, - BC433F741117F3C600C9C8D7 /* btContinuousConvexCollision.h */, - BC433F751117F3C600C9C8D7 /* btConvexCast.cpp */, - BC433F761117F3C600C9C8D7 /* btConvexCast.h */, - BC433F771117F3C600C9C8D7 /* btConvexPenetrationDepthSolver.h */, - BC433F781117F3C600C9C8D7 /* btDiscreteCollisionDetectorInterface.h */, - BC433F791117F3C600C9C8D7 /* btGjkConvexCast.cpp */, - BC433F7A1117F3C600C9C8D7 /* btGjkConvexCast.h */, - BC433F7B1117F3C600C9C8D7 /* btGjkEpa2.cpp */, - BC433F7C1117F3C600C9C8D7 /* btGjkEpa2.h */, - BC433F7D1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.cpp */, - BC433F7E1117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.h */, - BC433F7F1117F3C600C9C8D7 /* btGjkPairDetector.cpp */, - BC433F801117F3C600C9C8D7 /* btGjkPairDetector.h */, - BC433F811117F3C600C9C8D7 /* btManifoldPoint.h */, - BC433F821117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.cpp */, - BC433F831117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.h */, - BC433F841117F3C600C9C8D7 /* btPersistentManifold.cpp */, - BC433F851117F3C600C9C8D7 /* btPersistentManifold.h */, - BC433F861117F3C600C9C8D7 /* btPointCollector.h */, - BC433F871117F3C600C9C8D7 /* btRaycastCallback.cpp */, - BC433F881117F3C600C9C8D7 /* btRaycastCallback.h */, - BC433F891117F3C600C9C8D7 /* btSimplexSolverInterface.h */, - BC433F8A1117F3C600C9C8D7 /* btSubSimplexConvexCast.cpp */, - BC433F8B1117F3C600C9C8D7 /* btSubSimplexConvexCast.h */, - BC433F8C1117F3C600C9C8D7 /* btVoronoiSimplexSolver.cpp */, - BC433F8D1117F3C600C9C8D7 /* btVoronoiSimplexSolver.h */, - ); - path = NarrowPhaseCollision; - sourceTree = ""; - }; - BC433F8E1117F3C600C9C8D7 /* BulletDynamics */ = { - isa = PBXGroup; - children = ( - BC433F8F1117F3C600C9C8D7 /* Character */, - BC433F931117F3C600C9C8D7 /* CMakeLists.txt */, - BC433F941117F3C600C9C8D7 /* ConstraintSolver */, - BC433FB21117F3C600C9C8D7 /* Dynamics */, - BC433FBE1117F3C600C9C8D7 /* ibmsdk */, - BC433FC01117F3C600C9C8D7 /* Jamfile */, - BC433FC11117F3C600C9C8D7 /* Vehicle */, - ); - path = BulletDynamics; - sourceTree = ""; - }; - BC433F8F1117F3C600C9C8D7 /* Character */ = { - isa = PBXGroup; - children = ( - BC433F901117F3C600C9C8D7 /* btCharacterControllerInterface.h */, - BC433F911117F3C600C9C8D7 /* btKinematicCharacterController.cpp */, - BC433F921117F3C600C9C8D7 /* btKinematicCharacterController.h */, - ); - path = Character; - sourceTree = ""; - }; - BC433F941117F3C600C9C8D7 /* ConstraintSolver */ = { - isa = PBXGroup; - children = ( - BC433F951117F3C600C9C8D7 /* btConeTwistConstraint.cpp */, - BC433F961117F3C600C9C8D7 /* btConeTwistConstraint.h */, - BC433F971117F3C600C9C8D7 /* btConstraintSolver.h */, - BC433F981117F3C600C9C8D7 /* btContactConstraint.cpp */, - BC433F991117F3C600C9C8D7 /* btContactConstraint.h */, - BC433F9A1117F3C600C9C8D7 /* btContactSolverInfo.h */, - BC433F9B1117F3C600C9C8D7 /* btGeneric6DofConstraint.cpp */, - BC433F9C1117F3C600C9C8D7 /* btGeneric6DofConstraint.h */, - BC433F9D1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.cpp */, - BC433F9E1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.h */, - BC433F9F1117F3C600C9C8D7 /* btHinge2Constraint.cpp */, - BC433FA01117F3C600C9C8D7 /* btHinge2Constraint.h */, - BC433FA11117F3C600C9C8D7 /* btHingeConstraint.cpp */, - BC433FA21117F3C600C9C8D7 /* btHingeConstraint.h */, - BC433FA31117F3C600C9C8D7 /* btJacobianEntry.h */, - BC433FA41117F3C600C9C8D7 /* btPoint2PointConstraint.cpp */, - BC433FA51117F3C600C9C8D7 /* btPoint2PointConstraint.h */, - BC433FA61117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.cpp */, - BC433FA71117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.h */, - BC433FA81117F3C600C9C8D7 /* btSliderConstraint.cpp */, - BC433FA91117F3C600C9C8D7 /* btSliderConstraint.h */, - BC433FAA1117F3C600C9C8D7 /* btSolve2LinearConstraint.cpp */, - BC433FAB1117F3C600C9C8D7 /* btSolve2LinearConstraint.h */, - BC433FAC1117F3C600C9C8D7 /* btSolverBody.h */, - BC433FAD1117F3C600C9C8D7 /* btSolverConstraint.h */, - BC433FAE1117F3C600C9C8D7 /* btTypedConstraint.cpp */, - BC433FAF1117F3C600C9C8D7 /* btTypedConstraint.h */, - BC433FB01117F3C600C9C8D7 /* btUniversalConstraint.cpp */, - BC433FB11117F3C600C9C8D7 /* btUniversalConstraint.h */, - ); - path = ConstraintSolver; - sourceTree = ""; - }; - BC433FB21117F3C600C9C8D7 /* Dynamics */ = { - isa = PBXGroup; - children = ( - BC433FB31117F3C600C9C8D7 /* btActionInterface.h */, - BC433FB41117F3C600C9C8D7 /* btContinuousDynamicsWorld.cpp */, - BC433FB51117F3C600C9C8D7 /* btContinuousDynamicsWorld.h */, - BC433FB61117F3C600C9C8D7 /* btDiscreteDynamicsWorld.cpp */, - BC433FB71117F3C600C9C8D7 /* btDiscreteDynamicsWorld.h */, - BC433FB81117F3C600C9C8D7 /* btDynamicsWorld.h */, - BC433FB91117F3C600C9C8D7 /* btRigidBody.cpp */, - BC433FBA1117F3C600C9C8D7 /* btRigidBody.h */, - BC433FBB1117F3C600C9C8D7 /* btSimpleDynamicsWorld.cpp */, - BC433FBC1117F3C600C9C8D7 /* btSimpleDynamicsWorld.h */, - BC433FBD1117F3C600C9C8D7 /* Bullet-C-API.cpp */, - ); - path = Dynamics; - sourceTree = ""; - }; - BC433FBE1117F3C600C9C8D7 /* ibmsdk */ = { - isa = PBXGroup; - children = ( - BC433FBF1117F3C600C9C8D7 /* Makefile */, - ); - path = ibmsdk; - sourceTree = ""; - }; - BC433FC11117F3C600C9C8D7 /* Vehicle */ = { - isa = PBXGroup; - children = ( - BC433FC21117F3C600C9C8D7 /* btRaycastVehicle.cpp */, - BC433FC31117F3C600C9C8D7 /* btRaycastVehicle.h */, - BC433FC41117F3C600C9C8D7 /* btVehicleRaycaster.h */, - BC433FC51117F3C600C9C8D7 /* btWheelInfo.cpp */, - BC433FC61117F3C600C9C8D7 /* btWheelInfo.h */, - ); - path = Vehicle; - sourceTree = ""; - }; - BC433FC71117F3C600C9C8D7 /* BulletMultiThreaded */ = { - isa = PBXGroup; - children = ( - BC433FC81117F3C600C9C8D7 /* btGpu3DGridBroadphase.cpp */, - BC433FC91117F3C600C9C8D7 /* btGpu3DGridBroadphase.h */, - BC433FCA1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedCode.h */, - BC433FCB1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedDefs.h */, - BC433FCC1117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedTypes.h */, - BC433FCD1117F3C600C9C8D7 /* btGpuDefines.h */, - BC433FCE1117F3C600C9C8D7 /* btGpuUtilsSharedCode.h */, - BC433FCF1117F3C600C9C8D7 /* btGpuUtilsSharedDefs.h */, - BC433FD01117F3C600C9C8D7 /* btThreadSupportInterface.cpp */, - BC433FD11117F3C600C9C8D7 /* btThreadSupportInterface.h */, - BC433FD21117F3C600C9C8D7 /* CMakeLists.txt */, - BC433FD31117F3C600C9C8D7 /* Jamfile */, - BC433FD41117F3C600C9C8D7 /* Makefile.original */, - BC433FD51117F3C600C9C8D7 /* MiniCLTask */, - BC433FD81117F3C600C9C8D7 /* MiniCLTaskScheduler.cpp */, - BC433FD91117F3C600C9C8D7 /* MiniCLTaskScheduler.h */, - BC433FDA1117F3C600C9C8D7 /* out */, - BC433FDB1117F3C600C9C8D7 /* PlatformDefinitions.h */, - BC433FDC1117F3C600C9C8D7 /* PosixThreadSupport.cpp */, - BC433FDD1117F3C600C9C8D7 /* PosixThreadSupport.h */, - BC433FDE1117F3C600C9C8D7 /* PpuAddressSpace.h */, - BC433FDF1117F3C600C9C8D7 /* SequentialThreadSupport.cpp */, - BC433FE01117F3C600C9C8D7 /* SequentialThreadSupport.h */, - BC433FE11117F3C600C9C8D7 /* SpuCollisionObjectWrapper.cpp */, - BC433FE21117F3C600C9C8D7 /* SpuCollisionObjectWrapper.h */, - BC433FE31117F3C600C9C8D7 /* SpuCollisionTaskProcess.cpp */, - BC433FE41117F3C600C9C8D7 /* SpuCollisionTaskProcess.h */, - BC433FE51117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.cpp */, - BC433FE61117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.h */, - BC433FE71117F3C600C9C8D7 /* SpuDoubleBuffer.h */, - BC433FE81117F3C600C9C8D7 /* SpuFakeDma.cpp */, - BC433FE91117F3C600C9C8D7 /* SpuFakeDma.h */, - BC433FEA1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.cpp */, - BC433FEB1117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.h */, - BC433FEC1117F3C600C9C8D7 /* SpuLibspe2Support.cpp */, - BC433FED1117F3C600C9C8D7 /* SpuLibspe2Support.h */, - BC433FEE1117F3C600C9C8D7 /* SpuNarrowPhaseCollisionTask */, - BC433FFE1117F3C600C9C8D7 /* SpuSampleTask */, - BC4340021117F3C600C9C8D7 /* SpuSampleTaskProcess.cpp */, - BC4340031117F3C600C9C8D7 /* SpuSampleTaskProcess.h */, - BC4340041117F3C600C9C8D7 /* vectormath */, - BC43400D1117F3C600C9C8D7 /* vectormath2bullet.h */, - BC43400E1117F3C600C9C8D7 /* Win32ThreadSupport.cpp */, - BC43400F1117F3C600C9C8D7 /* Win32ThreadSupport.h */, - ); - path = BulletMultiThreaded; - sourceTree = ""; - }; - BC433FD51117F3C600C9C8D7 /* MiniCLTask */ = { - isa = PBXGroup; - children = ( - BC433FD61117F3C600C9C8D7 /* MiniCLTask.cpp */, - BC433FD71117F3C600C9C8D7 /* MiniCLTask.h */, - ); - path = MiniCLTask; - sourceTree = ""; - }; - BC433FDA1117F3C600C9C8D7 /* out */ = { - isa = PBXGroup; - children = ( - ); - path = out; - sourceTree = ""; - }; - BC433FEE1117F3C600C9C8D7 /* SpuNarrowPhaseCollisionTask */ = { - isa = PBXGroup; - children = ( - BC433FEF1117F3C600C9C8D7 /* Box.h */, - BC433FF01117F3C600C9C8D7 /* boxBoxDistance.cpp */, - BC433FF11117F3C600C9C8D7 /* boxBoxDistance.h */, - BC433FF21117F3C600C9C8D7 /* readme.txt */, - BC433FF31117F3C600C9C8D7 /* SpuCollisionShapes.cpp */, - BC433FF41117F3C600C9C8D7 /* SpuCollisionShapes.h */, - BC433FF51117F3C600C9C8D7 /* SpuContactResult.cpp */, - BC433FF61117F3C600C9C8D7 /* SpuContactResult.h */, - BC433FF71117F3C600C9C8D7 /* SpuConvexPenetrationDepthSolver.h */, - BC433FF81117F3C600C9C8D7 /* SpuGatheringCollisionTask.cpp */, - BC433FF91117F3C600C9C8D7 /* SpuGatheringCollisionTask.h */, - BC433FFA1117F3C600C9C8D7 /* SpuLocalSupport.h */, - BC433FFB1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.cpp */, - BC433FFC1117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.h */, - BC433FFD1117F3C600C9C8D7 /* SpuPreferredPenetrationDirections.h */, - ); - path = SpuNarrowPhaseCollisionTask; - sourceTree = ""; - }; - BC433FFE1117F3C600C9C8D7 /* SpuSampleTask */ = { - isa = PBXGroup; - children = ( - BC433FFF1117F3C600C9C8D7 /* readme.txt */, - BC4340001117F3C600C9C8D7 /* SpuSampleTask.cpp */, - BC4340011117F3C600C9C8D7 /* SpuSampleTask.h */, - ); - path = SpuSampleTask; - sourceTree = ""; - }; - BC4340041117F3C600C9C8D7 /* vectormath */ = { - isa = PBXGroup; - children = ( - BC4340051117F3C600C9C8D7 /* scalar */, - ); - path = vectormath; - sourceTree = ""; - }; - BC4340051117F3C600C9C8D7 /* scalar */ = { - isa = PBXGroup; - children = ( - BC4340061117F3C600C9C8D7 /* cpp */, - ); - path = scalar; - sourceTree = ""; - }; - BC4340061117F3C600C9C8D7 /* cpp */ = { - isa = PBXGroup; - children = ( - BC4340071117F3C600C9C8D7 /* boolInVec.h */, - BC4340081117F3C600C9C8D7 /* floatInVec.h */, - BC4340091117F3C600C9C8D7 /* mat_aos.h */, - BC43400A1117F3C600C9C8D7 /* quat_aos.h */, - BC43400B1117F3C600C9C8D7 /* vec_aos.h */, - BC43400C1117F3C600C9C8D7 /* vectormath_aos.h */, - ); - path = cpp; - sourceTree = ""; - }; - BC4340101117F3C600C9C8D7 /* BulletSoftBody */ = { - isa = PBXGroup; - children = ( - BC4340111117F3C600C9C8D7 /* btSoftBody.cpp */, - BC4340121117F3C600C9C8D7 /* btSoftBody.h */, - BC4340131117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.cpp */, - BC4340141117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.h */, - BC4340151117F3C600C9C8D7 /* btSoftBodyHelpers.cpp */, - BC4340161117F3C600C9C8D7 /* btSoftBodyHelpers.h */, - BC4340171117F3C600C9C8D7 /* btSoftBodyInternals.h */, - BC4340181117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.cpp */, - BC4340191117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.h */, - BC43401A1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.cpp */, - BC43401B1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.h */, - BC43401C1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.cpp */, - BC43401D1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.h */, - BC43401E1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.cpp */, - BC43401F1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.h */, - BC4340201117F3C600C9C8D7 /* btSparseSDF.h */, - BC4340211117F3C600C9C8D7 /* CMakeLists.txt */, - BC4340221117F3C600C9C8D7 /* Jamfile */, - ); - path = BulletSoftBody; - sourceTree = ""; - }; - BC4340241117F3C600C9C8D7 /* ibmsdk */ = { - isa = PBXGroup; - children = ( - BC4340251117F3C600C9C8D7 /* Makefile */, - ); - path = ibmsdk; - sourceTree = ""; - }; - BC4340271117F3C600C9C8D7 /* LinearMath */ = { - isa = PBXGroup; - children = ( - BC4340281117F3C600C9C8D7 /* btAabbUtil2.h */, - BC4340291117F3C600C9C8D7 /* btAlignedAllocator.cpp */, - BC43402A1117F3C600C9C8D7 /* btAlignedAllocator.h */, - BC43402B1117F3C600C9C8D7 /* btAlignedObjectArray.h */, - BC43402C1117F3C600C9C8D7 /* btConvexHull.cpp */, - BC43402D1117F3C600C9C8D7 /* btConvexHull.h */, - BC43402E1117F3C600C9C8D7 /* btDefaultMotionState.h */, - BC43402F1117F3C600C9C8D7 /* btGeometryUtil.cpp */, - BC4340301117F3C600C9C8D7 /* btGeometryUtil.h */, - BC4340311117F3C600C9C8D7 /* btHashMap.h */, - BC4340321117F3C600C9C8D7 /* btIDebugDraw.h */, - BC4340331117F3C600C9C8D7 /* btList.h */, - BC4340341117F3C600C9C8D7 /* btMatrix3x3.h */, - BC4340351117F3C600C9C8D7 /* btMinMax.h */, - BC4340361117F3C600C9C8D7 /* btMotionState.h */, - BC4340371117F3C600C9C8D7 /* btPoolAllocator.h */, - BC4340381117F3C600C9C8D7 /* btQuadWord.h */, - BC4340391117F3C600C9C8D7 /* btQuaternion.h */, - BC43403A1117F3C600C9C8D7 /* btQuickprof.cpp */, - BC43403B1117F3C600C9C8D7 /* btQuickprof.h */, - BC43403C1117F3C600C9C8D7 /* btRandom.h */, - BC43403D1117F3C600C9C8D7 /* btScalar.h */, - BC43403E1117F3C600C9C8D7 /* btSerializer.cpp */, - BC43403F1117F3C600C9C8D7 /* btSerializer.h */, - BC4340401117F3C600C9C8D7 /* btStackAlloc.h */, - BC4340411117F3C600C9C8D7 /* btTransform.h */, - BC4340421117F3C600C9C8D7 /* btTransformUtil.h */, - BC4340431117F3C600C9C8D7 /* btVector3.h */, - BC4340441117F3C600C9C8D7 /* CMakeLists.txt */, - BC4340451117F3C600C9C8D7 /* ibmsdk */, - BC4340471117F3C600C9C8D7 /* Jamfile */, - ); - path = LinearMath; - sourceTree = ""; - }; - BC4340451117F3C600C9C8D7 /* ibmsdk */ = { - isa = PBXGroup; - children = ( - BC4340461117F3C600C9C8D7 /* Makefile */, - ); - path = ibmsdk; - sourceTree = ""; - }; - BC4340491117F3C600C9C8D7 /* MiniCL */ = { - isa = PBXGroup; - children = ( - BC43404A1117F3C600C9C8D7 /* cl.h */, - BC43404B1117F3C600C9C8D7 /* cl_gl.h */, - BC43404C1117F3C600C9C8D7 /* cl_platform.h */, - ); - path = MiniCL; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - D2AAC0600554660B00DB518D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - BC43404D1117F3C600C9C8D7 /* btBulletCollisionCommon.h in Headers */, - BC43404E1117F3C600C9C8D7 /* btBulletDynamicsCommon.h in Headers */, - BC43404F1117F3C600C9C8D7 /* Bullet-C-Api.h in Headers */, - BC4340511117F3C600C9C8D7 /* btAxisSweep3.h in Headers */, - BC4340521117F3C600C9C8D7 /* btBroadphaseInterface.h in Headers */, - BC4340541117F3C600C9C8D7 /* btBroadphaseProxy.h in Headers */, - BC4340561117F3C600C9C8D7 /* btCollisionAlgorithm.h in Headers */, - BC4340581117F3C600C9C8D7 /* btDbvt.h in Headers */, - BC43405A1117F3C600C9C8D7 /* btDbvtBroadphase.h in Headers */, - BC43405C1117F3C600C9C8D7 /* btDispatcher.h in Headers */, - BC43405E1117F3C600C9C8D7 /* btMultiSapBroadphase.h in Headers */, - BC4340601117F3C600C9C8D7 /* btOverlappingPairCache.h in Headers */, - BC4340611117F3C600C9C8D7 /* btOverlappingPairCallback.h in Headers */, - BC4340631117F3C600C9C8D7 /* btQuantizedBvh.h in Headers */, - BC4340651117F3C600C9C8D7 /* btSimpleBroadphase.h in Headers */, - BC4340671117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.h in Headers */, - BC4340691117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.h in Headers */, - BC43406B1117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.h in Headers */, - BC43406D1117F3C600C9C8D7 /* btBoxBoxDetector.h in Headers */, - BC43406E1117F3C600C9C8D7 /* btCollisionConfiguration.h in Headers */, - BC43406F1117F3C600C9C8D7 /* btCollisionCreateFunc.h in Headers */, - BC4340711117F3C600C9C8D7 /* btCollisionDispatcher.h in Headers */, - BC4340731117F3C600C9C8D7 /* btCollisionObject.h in Headers */, - BC4340751117F3C600C9C8D7 /* btCollisionWorld.h in Headers */, - BC4340771117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.h in Headers */, - BC4340791117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.h in Headers */, - BC43407B1117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.h in Headers */, - BC43407D1117F3C600C9C8D7 /* btConvexConvexAlgorithm.h in Headers */, - BC43407F1117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.h in Headers */, - BC4340811117F3C600C9C8D7 /* btDefaultCollisionConfiguration.h in Headers */, - BC4340831117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.h in Headers */, - BC4340851117F3C600C9C8D7 /* btGhostObject.h in Headers */, - BC4340871117F3C600C9C8D7 /* btInternalEdgeUtility.h in Headers */, - BC4340891117F3C600C9C8D7 /* btManifoldResult.h in Headers */, - BC43408B1117F3C600C9C8D7 /* btSimulationIslandManager.h in Headers */, - BC43408D1117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.h in Headers */, - BC43408F1117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.h in Headers */, - BC4340911117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.h in Headers */, - BC4340931117F3C600C9C8D7 /* btUnionFind.h in Headers */, - BC4340951117F3C600C9C8D7 /* SphereTriangleDetector.h in Headers */, - BC4340971117F3C600C9C8D7 /* btBox2dShape.h in Headers */, - BC4340991117F3C600C9C8D7 /* btBoxShape.h in Headers */, - BC43409B1117F3C600C9C8D7 /* btBvhTriangleMeshShape.h in Headers */, - BC43409D1117F3C600C9C8D7 /* btCapsuleShape.h in Headers */, - BC43409E1117F3C600C9C8D7 /* btCollisionMargin.h in Headers */, - BC4340A01117F3C600C9C8D7 /* btCollisionShape.h in Headers */, - BC4340A21117F3C600C9C8D7 /* btCompoundShape.h in Headers */, - BC4340A41117F3C600C9C8D7 /* btConcaveShape.h in Headers */, - BC4340A61117F3C600C9C8D7 /* btConeShape.h in Headers */, - BC4340A81117F3C600C9C8D7 /* btConvex2dShape.h in Headers */, - BC4340AA1117F3C600C9C8D7 /* btConvexHullShape.h in Headers */, - BC4340AC1117F3C600C9C8D7 /* btConvexInternalShape.h in Headers */, - BC4340AE1117F3C600C9C8D7 /* btConvexPointCloudShape.h in Headers */, - BC4340B01117F3C600C9C8D7 /* btConvexShape.h in Headers */, - BC4340B21117F3C600C9C8D7 /* btConvexTriangleMeshShape.h in Headers */, - BC4340B41117F3C600C9C8D7 /* btCylinderShape.h in Headers */, - BC4340B61117F3C600C9C8D7 /* btEmptyShape.h in Headers */, - BC4340B81117F3C600C9C8D7 /* btHeightfieldTerrainShape.h in Headers */, - BC4340B91117F3C600C9C8D7 /* btMaterial.h in Headers */, - BC4340BB1117F3C600C9C8D7 /* btMinkowskiSumShape.h in Headers */, - BC4340BD1117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.h in Headers */, - BC4340BF1117F3C600C9C8D7 /* btMultiSphereShape.h in Headers */, - BC4340C11117F3C600C9C8D7 /* btOptimizedBvh.h in Headers */, - BC4340C31117F3C600C9C8D7 /* btPolyhedralConvexShape.h in Headers */, - BC4340C51117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.h in Headers */, - BC4340C71117F3C600C9C8D7 /* btShapeHull.h in Headers */, - BC4340C91117F3C600C9C8D7 /* btSphereShape.h in Headers */, - BC4340CB1117F3C600C9C8D7 /* btStaticPlaneShape.h in Headers */, - BC4340CD1117F3C600C9C8D7 /* btStridingMeshInterface.h in Headers */, - BC4340CF1117F3C600C9C8D7 /* btTetrahedronShape.h in Headers */, - BC4340D11117F3C600C9C8D7 /* btTriangleBuffer.h in Headers */, - BC4340D31117F3C600C9C8D7 /* btTriangleCallback.h in Headers */, - BC4340D51117F3C600C9C8D7 /* btTriangleIndexVertexArray.h in Headers */, - BC4340D71117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.h in Headers */, - BC4340D91117F3C600C9C8D7 /* btTriangleMesh.h in Headers */, - BC4340DB1117F3C600C9C8D7 /* btTriangleMeshShape.h in Headers */, - BC4340DC1117F3C600C9C8D7 /* btTriangleShape.h in Headers */, - BC4340DE1117F3C600C9C8D7 /* btUniformScalingShape.h in Headers */, - BC4340DF1117F3C600C9C8D7 /* btBoxCollision.h in Headers */, - BC4340E01117F3C600C9C8D7 /* btClipPolygon.h in Headers */, - BC4340E21117F3C600C9C8D7 /* btContactProcessing.h in Headers */, - BC4340E41117F3C600C9C8D7 /* btGenericPoolAllocator.h in Headers */, - BC4340E51117F3C600C9C8D7 /* btGeometryOperations.h in Headers */, - BC4340E71117F3C600C9C8D7 /* btGImpactBvh.h in Headers */, - BC4340E91117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.h in Headers */, - BC4340EA1117F3C600C9C8D7 /* btGImpactMassUtil.h in Headers */, - BC4340EC1117F3C600C9C8D7 /* btGImpactQuantizedBvh.h in Headers */, - BC4340EE1117F3C600C9C8D7 /* btGImpactShape.h in Headers */, - BC4340EF1117F3C600C9C8D7 /* btQuantization.h in Headers */, - BC4340F11117F3C600C9C8D7 /* btTriangleShapeEx.h in Headers */, - BC4340F21117F3C600C9C8D7 /* gim_array.h in Headers */, - BC4340F31117F3C600C9C8D7 /* gim_basic_geometry_operations.h in Headers */, - BC4340F41117F3C600C9C8D7 /* gim_bitset.h in Headers */, - BC4340F51117F3C600C9C8D7 /* gim_box_collision.h in Headers */, - BC4340F71117F3C600C9C8D7 /* gim_box_set.h in Headers */, - BC4340F81117F3C600C9C8D7 /* gim_clip_polygon.h in Headers */, - BC4340FA1117F3C600C9C8D7 /* gim_contact.h in Headers */, - BC4340FB1117F3C600C9C8D7 /* gim_geom_types.h in Headers */, - BC4340FC1117F3C600C9C8D7 /* gim_geometry.h in Headers */, - BC4340FD1117F3C600C9C8D7 /* gim_hash_table.h in Headers */, - BC4340FE1117F3C600C9C8D7 /* gim_linear_math.h in Headers */, - BC4340FF1117F3C600C9C8D7 /* gim_math.h in Headers */, - BC4341011117F3C600C9C8D7 /* gim_memory.h in Headers */, - BC4341021117F3C600C9C8D7 /* gim_radixsort.h in Headers */, - BC4341041117F3C600C9C8D7 /* gim_tri_collision.h in Headers */, - BC4341081117F3C600C9C8D7 /* btContinuousConvexCollision.h in Headers */, - BC43410A1117F3C600C9C8D7 /* btConvexCast.h in Headers */, - BC43410B1117F3C600C9C8D7 /* btConvexPenetrationDepthSolver.h in Headers */, - BC43410C1117F3C600C9C8D7 /* btDiscreteCollisionDetectorInterface.h in Headers */, - BC43410E1117F3C600C9C8D7 /* btGjkConvexCast.h in Headers */, - BC4341101117F3C600C9C8D7 /* btGjkEpa2.h in Headers */, - BC4341121117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.h in Headers */, - BC4341141117F3C600C9C8D7 /* btGjkPairDetector.h in Headers */, - BC4341151117F3C600C9C8D7 /* btManifoldPoint.h in Headers */, - BC4341171117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.h in Headers */, - BC4341191117F3C600C9C8D7 /* btPersistentManifold.h in Headers */, - BC43411A1117F3C600C9C8D7 /* btPointCollector.h in Headers */, - BC43411C1117F3C600C9C8D7 /* btRaycastCallback.h in Headers */, - BC43411D1117F3C600C9C8D7 /* btSimplexSolverInterface.h in Headers */, - BC43411F1117F3C600C9C8D7 /* btSubSimplexConvexCast.h in Headers */, - BC4341211117F3C600C9C8D7 /* btVoronoiSimplexSolver.h in Headers */, - BC4341221117F3C600C9C8D7 /* btCharacterControllerInterface.h in Headers */, - BC4341241117F3C600C9C8D7 /* btKinematicCharacterController.h in Headers */, - BC4341261117F3C600C9C8D7 /* btConeTwistConstraint.h in Headers */, - BC4341271117F3C600C9C8D7 /* btConstraintSolver.h in Headers */, - BC4341291117F3C600C9C8D7 /* btContactConstraint.h in Headers */, - BC43412A1117F3C600C9C8D7 /* btContactSolverInfo.h in Headers */, - BC43412C1117F3C600C9C8D7 /* btGeneric6DofConstraint.h in Headers */, - BC43412E1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.h in Headers */, - BC4341301117F3C600C9C8D7 /* btHinge2Constraint.h in Headers */, - BC4341321117F3C600C9C8D7 /* btHingeConstraint.h in Headers */, - BC4341331117F3C600C9C8D7 /* btJacobianEntry.h in Headers */, - BC4341351117F3C600C9C8D7 /* btPoint2PointConstraint.h in Headers */, - BC4341371117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.h in Headers */, - BC4341391117F3C600C9C8D7 /* btSliderConstraint.h in Headers */, - BC43413B1117F3C600C9C8D7 /* btSolve2LinearConstraint.h in Headers */, - BC43413C1117F3C600C9C8D7 /* btSolverBody.h in Headers */, - BC43413D1117F3C600C9C8D7 /* btSolverConstraint.h in Headers */, - BC43413F1117F3C600C9C8D7 /* btTypedConstraint.h in Headers */, - BC4341411117F3C600C9C8D7 /* btUniversalConstraint.h in Headers */, - BC4341421117F3C600C9C8D7 /* btActionInterface.h in Headers */, - BC4341441117F3C600C9C8D7 /* btContinuousDynamicsWorld.h in Headers */, - BC4341461117F3C600C9C8D7 /* btDiscreteDynamicsWorld.h in Headers */, - BC4341471117F3C600C9C8D7 /* btDynamicsWorld.h in Headers */, - BC4341491117F3C600C9C8D7 /* btRigidBody.h in Headers */, - BC43414B1117F3C600C9C8D7 /* btSimpleDynamicsWorld.h in Headers */, - BC4341501117F3C600C9C8D7 /* btRaycastVehicle.h in Headers */, - BC4341511117F3C600C9C8D7 /* btVehicleRaycaster.h in Headers */, - BC4341531117F3C600C9C8D7 /* btWheelInfo.h in Headers */, - BC4341551117F3C600C9C8D7 /* btGpu3DGridBroadphase.h in Headers */, - BC4341561117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedCode.h in Headers */, - BC4341571117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedDefs.h in Headers */, - BC4341581117F3C600C9C8D7 /* btGpu3DGridBroadphaseSharedTypes.h in Headers */, - BC4341591117F3C600C9C8D7 /* btGpuDefines.h in Headers */, - BC43415A1117F3C600C9C8D7 /* btGpuUtilsSharedCode.h in Headers */, - BC43415B1117F3C600C9C8D7 /* btGpuUtilsSharedDefs.h in Headers */, - BC43415D1117F3C600C9C8D7 /* btThreadSupportInterface.h in Headers */, - BC4341601117F3C600C9C8D7 /* MiniCLTask.h in Headers */, - BC4341621117F3C600C9C8D7 /* MiniCLTaskScheduler.h in Headers */, - BC4341631117F3C600C9C8D7 /* PlatformDefinitions.h in Headers */, - BC4341651117F3C600C9C8D7 /* PosixThreadSupport.h in Headers */, - BC4341661117F3C600C9C8D7 /* PpuAddressSpace.h in Headers */, - BC4341681117F3C600C9C8D7 /* SequentialThreadSupport.h in Headers */, - BC43416A1117F3C600C9C8D7 /* SpuCollisionObjectWrapper.h in Headers */, - BC43416C1117F3C600C9C8D7 /* SpuCollisionTaskProcess.h in Headers */, - BC43416E1117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.h in Headers */, - BC43416F1117F3C600C9C8D7 /* SpuDoubleBuffer.h in Headers */, - BC4341711117F3C600C9C8D7 /* SpuFakeDma.h in Headers */, - BC4341731117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.h in Headers */, - BC4341751117F3C600C9C8D7 /* SpuLibspe2Support.h in Headers */, - BC4341761117F3C600C9C8D7 /* Box.h in Headers */, - BC4341781117F3C600C9C8D7 /* boxBoxDistance.h in Headers */, - BC43417A1117F3C600C9C8D7 /* SpuCollisionShapes.h in Headers */, - BC43417C1117F3C600C9C8D7 /* SpuContactResult.h in Headers */, - BC43417D1117F3C600C9C8D7 /* SpuConvexPenetrationDepthSolver.h in Headers */, - BC43417F1117F3C600C9C8D7 /* SpuGatheringCollisionTask.h in Headers */, - BC4341801117F3C600C9C8D7 /* SpuLocalSupport.h in Headers */, - BC4341821117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.h in Headers */, - BC4341831117F3C600C9C8D7 /* SpuPreferredPenetrationDirections.h in Headers */, - BC4341851117F3C600C9C8D7 /* SpuSampleTask.h in Headers */, - BC4341871117F3C600C9C8D7 /* SpuSampleTaskProcess.h in Headers */, - BC4341881117F3C600C9C8D7 /* boolInVec.h in Headers */, - BC4341891117F3C600C9C8D7 /* floatInVec.h in Headers */, - BC43418A1117F3C600C9C8D7 /* mat_aos.h in Headers */, - BC43418B1117F3C600C9C8D7 /* quat_aos.h in Headers */, - BC43418C1117F3C600C9C8D7 /* vec_aos.h in Headers */, - BC43418D1117F3C600C9C8D7 /* vectormath_aos.h in Headers */, - BC43418E1117F3C600C9C8D7 /* vectormath2bullet.h in Headers */, - BC4341901117F3C600C9C8D7 /* Win32ThreadSupport.h in Headers */, - BC4341921117F3C600C9C8D7 /* btSoftBody.h in Headers */, - BC4341941117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.h in Headers */, - BC4341961117F3C600C9C8D7 /* btSoftBodyHelpers.h in Headers */, - BC4341971117F3C600C9C8D7 /* btSoftBodyInternals.h in Headers */, - BC4341991117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.h in Headers */, - BC43419B1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.h in Headers */, - BC43419D1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.h in Headers */, - BC43419F1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.h in Headers */, - BC4341A01117F3C600C9C8D7 /* btSparseSDF.h in Headers */, - BC4341A41117F3C600C9C8D7 /* btAabbUtil2.h in Headers */, - BC4341A61117F3C600C9C8D7 /* btAlignedAllocator.h in Headers */, - BC4341A71117F3C600C9C8D7 /* btAlignedObjectArray.h in Headers */, - BC4341A91117F3C600C9C8D7 /* btConvexHull.h in Headers */, - BC4341AA1117F3C600C9C8D7 /* btDefaultMotionState.h in Headers */, - BC4341AC1117F3C600C9C8D7 /* btGeometryUtil.h in Headers */, - BC4341AD1117F3C600C9C8D7 /* btHashMap.h in Headers */, - BC4341AE1117F3C600C9C8D7 /* btIDebugDraw.h in Headers */, - BC4341AF1117F3C600C9C8D7 /* btList.h in Headers */, - BC4341B01117F3C600C9C8D7 /* btMatrix3x3.h in Headers */, - BC4341B11117F3C600C9C8D7 /* btMinMax.h in Headers */, - BC4341B21117F3C600C9C8D7 /* btMotionState.h in Headers */, - BC4341B31117F3C600C9C8D7 /* btPoolAllocator.h in Headers */, - BC4341B41117F3C600C9C8D7 /* btQuadWord.h in Headers */, - BC4341B51117F3C600C9C8D7 /* btQuaternion.h in Headers */, - BC4341B71117F3C600C9C8D7 /* btQuickprof.h in Headers */, - BC4341B81117F3C600C9C8D7 /* btRandom.h in Headers */, - BC4341B91117F3C600C9C8D7 /* btScalar.h in Headers */, - BC4341BB1117F3C600C9C8D7 /* btSerializer.h in Headers */, - BC4341BC1117F3C600C9C8D7 /* btStackAlloc.h in Headers */, - BC4341BD1117F3C600C9C8D7 /* btTransform.h in Headers */, - BC4341BE1117F3C600C9C8D7 /* btTransformUtil.h in Headers */, - BC4341BF1117F3C600C9C8D7 /* btVector3.h in Headers */, - BC4341C21117F3C600C9C8D7 /* cl.h in Headers */, - BC4341C31117F3C600C9C8D7 /* cl_gl.h in Headers */, - BC4341C41117F3C600C9C8D7 /* cl_platform.h in Headers */, - BC4342011117F4CF00C9C8D7 /* sphere_shape.h in Headers */, - BC4342021117F4CF00C9C8D7 /* sphere_shape_impl.h in Headers */, - BC4342031117F4CF00C9C8D7 /* solver.h in Headers */, - BC4342051117F4CF00C9C8D7 /* solver_impl.h in Headers */, - BC4342061117F4CF00C9C8D7 /* shared_ptr.h in Headers */, - BC4342071117F4CF00C9C8D7 /* rigidBodyNode.h in Headers */, - BC4342091117F4CF00C9C8D7 /* rigidBodyArrayNode.h in Headers */, - BC43420B1117F4CF00C9C8D7 /* rigid_body.h in Headers */, - BC43420C1117F4CF00C9C8D7 /* rigid_body_impl.h in Headers */, - BC43420E1117F4CF00C9C8D7 /* plane_shape.h in Headers */, - BC43420F1117F4CF00C9C8D7 /* plane_shape_impl.h in Headers */, - BC4342101117F4CF00C9C8D7 /* pdbIO.h in Headers */, - BC4342121117F4CF00C9C8D7 /* mesh_shape.h in Headers */, - BC4342131117F4CF00C9C8D7 /* mesh_shape_impl.h in Headers */, - BC4342141117F4CF00C9C8D7 /* mayaUtils.h in Headers */, - BC4342151117F4CF00C9C8D7 /* mathUtils.h in Headers */, - BC4342161117F4CF00C9C8D7 /* dSolverNode.h in Headers */, - BC4342181117F4CF00C9C8D7 /* dSolverCmd.h in Headers */, - BC43421A1117F4CF00C9C8D7 /* dRigidBodyCmd.h in Headers */, - BC43421C1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.h in Headers */, - BC43421E1117F4CF00C9C8D7 /* drawUtils.h in Headers */, - BC4342201117F4CF00C9C8D7 /* convex_hull_shape.h in Headers */, - BC4342211117F4CF00C9C8D7 /* convex_hull_shape_impl.h in Headers */, - BC4342221117F4CF00C9C8D7 /* collisionShapeNode.h in Headers */, - BC4342241117F4CF00C9C8D7 /* collision_shape.h in Headers */, - BC4342251117F4CF00C9C8D7 /* collision_shape_impl.h in Headers */, - BC4342261117F4CF00C9C8D7 /* bulletExport.h in Headers */, - BC4342281117F4CF00C9C8D7 /* bt_sphere_shape.h in Headers */, - BC4342291117F4CF00C9C8D7 /* bt_solver.h in Headers */, - BC43422B1117F4CF00C9C8D7 /* bt_rigid_body.h in Headers */, - BC43422C1117F4CF00C9C8D7 /* bt_plane_shape.h in Headers */, - BC43422D1117F4CF00C9C8D7 /* bt_mesh_shape.h in Headers */, - BC43422E1117F4CF00C9C8D7 /* bt_convex_hull_shape.h in Headers */, - BC43422F1117F4CF00C9C8D7 /* bt_collision_shape.h in Headers */, - BC4342301117F4CF00C9C8D7 /* bt_box_shape.h in Headers */, - BC4342311117F4CF00C9C8D7 /* box_shape.h in Headers */, - BC4342321117F4CF00C9C8D7 /* box_shape_impl.h in Headers */, - BC4342531117F51F00C9C8D7 /* sliderConstraintNode.h in Headers */, - BC4342551117F51F00C9C8D7 /* slider_constraint_impl.h in Headers */, - BC4342561117F51F00C9C8D7 /* sixdofConstraintNode.h in Headers */, - BC4342581117F51F00C9C8D7 /* sixdof_constraint.h in Headers */, - BC4342591117F51F00C9C8D7 /* sixdof_constraint_impl.h in Headers */, - BC43425A1117F51F00C9C8D7 /* nailConstraintNode.h in Headers */, - BC43425C1117F51F00C9C8D7 /* nail_constraint_impl.h in Headers */, - BC43425E1117F51F00C9C8D7 /* hinge_constraint.h in Headers */, - BC43425F1117F51F00C9C8D7 /* hinge_constraint_impl.h in Headers */, - BC4342601117F51F00C9C8D7 /* dSliderConstraintCmd.h in Headers */, - BC4342621117F51F00C9C8D7 /* dsixdofConstraintCmd.h in Headers */, - BC4342641117F51F00C9C8D7 /* dNailConstraintCmd.h in Headers */, - BC4342661117F51F00C9C8D7 /* dHingeConstraintCmd.h in Headers */, - BC4342681117F51F00C9C8D7 /* constraint.h in Headers */, - BC4342691117F51F00C9C8D7 /* constraint_impl.h in Headers */, - BC43426A1117F51F00C9C8D7 /* bt_slider_constraint.h in Headers */, - BC43426B1117F51F00C9C8D7 /* bt_sixdof_constraint.h in Headers */, - BC43426C1117F51F00C9C8D7 /* bt_nail_constraint.h in Headers */, - BC43426D1117F51F00C9C8D7 /* bt_hinge_constraint.h in Headers */, - BC43426E1117F51F00C9C8D7 /* bt_constraint.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - D2AAC0620554660B00DB518D /* BulletMayaPlugin */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8A7F05ED086863A70064D097 /* Build configuration list for PBXNativeTarget "BulletMayaPlugin" */; - buildPhases = ( - D2AAC0600554660B00DB518D /* Headers */, - D2AAC0610554660B00DB518D /* Sources */, - D289988505E68E00004EDB86 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = BulletMayaPlugin; - productName = BulletMayaPluginn; - productReference = D2AAC0630554660B00DB518D /* BulletMayaPlugin.bundle */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 8A7F05F1086863A70064D097 /* Build configuration list for PBXProject "BulletMayaPlugin" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* BulletMayaPlugin */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - D2AAC0620554660B00DB518D /* BulletMayaPlugin */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - D2AAC0610554660B00DB518D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BC4340501117F3C600C9C8D7 /* btAxisSweep3.cpp in Sources */, - BC4340531117F3C600C9C8D7 /* btBroadphaseProxy.cpp in Sources */, - BC4340551117F3C600C9C8D7 /* btCollisionAlgorithm.cpp in Sources */, - BC4340571117F3C600C9C8D7 /* btDbvt.cpp in Sources */, - BC4340591117F3C600C9C8D7 /* btDbvtBroadphase.cpp in Sources */, - BC43405B1117F3C600C9C8D7 /* btDispatcher.cpp in Sources */, - BC43405D1117F3C600C9C8D7 /* btMultiSapBroadphase.cpp in Sources */, - BC43405F1117F3C600C9C8D7 /* btOverlappingPairCache.cpp in Sources */, - BC4340621117F3C600C9C8D7 /* btQuantizedBvh.cpp in Sources */, - BC4340641117F3C600C9C8D7 /* btSimpleBroadphase.cpp in Sources */, - BC4340661117F3C600C9C8D7 /* btActivatingCollisionAlgorithm.cpp in Sources */, - BC4340681117F3C600C9C8D7 /* btBox2dBox2dCollisionAlgorithm.cpp in Sources */, - BC43406A1117F3C600C9C8D7 /* btBoxBoxCollisionAlgorithm.cpp in Sources */, - BC43406C1117F3C600C9C8D7 /* btBoxBoxDetector.cpp in Sources */, - BC4340701117F3C600C9C8D7 /* btCollisionDispatcher.cpp in Sources */, - BC4340721117F3C600C9C8D7 /* btCollisionObject.cpp in Sources */, - BC4340741117F3C600C9C8D7 /* btCollisionWorld.cpp in Sources */, - BC4340761117F3C600C9C8D7 /* btCompoundCollisionAlgorithm.cpp in Sources */, - BC4340781117F3C600C9C8D7 /* btConvex2dConvex2dAlgorithm.cpp in Sources */, - BC43407A1117F3C600C9C8D7 /* btConvexConcaveCollisionAlgorithm.cpp in Sources */, - BC43407C1117F3C600C9C8D7 /* btConvexConvexAlgorithm.cpp in Sources */, - BC43407E1117F3C600C9C8D7 /* btConvexPlaneCollisionAlgorithm.cpp in Sources */, - BC4340801117F3C600C9C8D7 /* btDefaultCollisionConfiguration.cpp in Sources */, - BC4340821117F3C600C9C8D7 /* btEmptyCollisionAlgorithm.cpp in Sources */, - BC4340841117F3C600C9C8D7 /* btGhostObject.cpp in Sources */, - BC4340861117F3C600C9C8D7 /* btInternalEdgeUtility.cpp in Sources */, - BC4340881117F3C600C9C8D7 /* btManifoldResult.cpp in Sources */, - BC43408A1117F3C600C9C8D7 /* btSimulationIslandManager.cpp in Sources */, - BC43408C1117F3C600C9C8D7 /* btSphereBoxCollisionAlgorithm.cpp in Sources */, - BC43408E1117F3C600C9C8D7 /* btSphereSphereCollisionAlgorithm.cpp in Sources */, - BC4340901117F3C600C9C8D7 /* btSphereTriangleCollisionAlgorithm.cpp in Sources */, - BC4340921117F3C600C9C8D7 /* btUnionFind.cpp in Sources */, - BC4340941117F3C600C9C8D7 /* SphereTriangleDetector.cpp in Sources */, - BC4340961117F3C600C9C8D7 /* btBox2dShape.cpp in Sources */, - BC4340981117F3C600C9C8D7 /* btBoxShape.cpp in Sources */, - BC43409A1117F3C600C9C8D7 /* btBvhTriangleMeshShape.cpp in Sources */, - BC43409C1117F3C600C9C8D7 /* btCapsuleShape.cpp in Sources */, - BC43409F1117F3C600C9C8D7 /* btCollisionShape.cpp in Sources */, - BC4340A11117F3C600C9C8D7 /* btCompoundShape.cpp in Sources */, - BC4340A31117F3C600C9C8D7 /* btConcaveShape.cpp in Sources */, - BC4340A51117F3C600C9C8D7 /* btConeShape.cpp in Sources */, - BC4340A71117F3C600C9C8D7 /* btConvex2dShape.cpp in Sources */, - BC4340A91117F3C600C9C8D7 /* btConvexHullShape.cpp in Sources */, - BC4340AB1117F3C600C9C8D7 /* btConvexInternalShape.cpp in Sources */, - BC4340AD1117F3C600C9C8D7 /* btConvexPointCloudShape.cpp in Sources */, - BC4340AF1117F3C600C9C8D7 /* btConvexShape.cpp in Sources */, - BC4340B11117F3C600C9C8D7 /* btConvexTriangleMeshShape.cpp in Sources */, - BC4340B31117F3C600C9C8D7 /* btCylinderShape.cpp in Sources */, - BC4340B51117F3C600C9C8D7 /* btEmptyShape.cpp in Sources */, - BC4340B71117F3C600C9C8D7 /* btHeightfieldTerrainShape.cpp in Sources */, - BC4340BA1117F3C600C9C8D7 /* btMinkowskiSumShape.cpp in Sources */, - BC4340BC1117F3C600C9C8D7 /* btMultimaterialTriangleMeshShape.cpp in Sources */, - BC4340BE1117F3C600C9C8D7 /* btMultiSphereShape.cpp in Sources */, - BC4340C01117F3C600C9C8D7 /* btOptimizedBvh.cpp in Sources */, - BC4340C21117F3C600C9C8D7 /* btPolyhedralConvexShape.cpp in Sources */, - BC4340C41117F3C600C9C8D7 /* btScaledBvhTriangleMeshShape.cpp in Sources */, - BC4340C61117F3C600C9C8D7 /* btShapeHull.cpp in Sources */, - BC4340C81117F3C600C9C8D7 /* btSphereShape.cpp in Sources */, - BC4340CA1117F3C600C9C8D7 /* btStaticPlaneShape.cpp in Sources */, - BC4340CC1117F3C600C9C8D7 /* btStridingMeshInterface.cpp in Sources */, - BC4340CE1117F3C600C9C8D7 /* btTetrahedronShape.cpp in Sources */, - BC4340D01117F3C600C9C8D7 /* btTriangleBuffer.cpp in Sources */, - BC4340D21117F3C600C9C8D7 /* btTriangleCallback.cpp in Sources */, - BC4340D41117F3C600C9C8D7 /* btTriangleIndexVertexArray.cpp in Sources */, - BC4340D61117F3C600C9C8D7 /* btTriangleIndexVertexMaterialArray.cpp in Sources */, - BC4340D81117F3C600C9C8D7 /* btTriangleMesh.cpp in Sources */, - BC4340DA1117F3C600C9C8D7 /* btTriangleMeshShape.cpp in Sources */, - BC4340DD1117F3C600C9C8D7 /* btUniformScalingShape.cpp in Sources */, - BC4340E11117F3C600C9C8D7 /* btContactProcessing.cpp in Sources */, - BC4340E31117F3C600C9C8D7 /* btGenericPoolAllocator.cpp in Sources */, - BC4340E61117F3C600C9C8D7 /* btGImpactBvh.cpp in Sources */, - BC4340E81117F3C600C9C8D7 /* btGImpactCollisionAlgorithm.cpp in Sources */, - BC4340EB1117F3C600C9C8D7 /* btGImpactQuantizedBvh.cpp in Sources */, - BC4340ED1117F3C600C9C8D7 /* btGImpactShape.cpp in Sources */, - BC4340F01117F3C600C9C8D7 /* btTriangleShapeEx.cpp in Sources */, - BC4340F61117F3C600C9C8D7 /* gim_box_set.cpp in Sources */, - BC4340F91117F3C600C9C8D7 /* gim_contact.cpp in Sources */, - BC4341001117F3C600C9C8D7 /* gim_memory.cpp in Sources */, - BC4341031117F3C600C9C8D7 /* gim_tri_collision.cpp in Sources */, - BC4341051117F3C600C9C8D7 /* Makefile in Sources */, - BC4341061117F3C600C9C8D7 /* Jamfile in Sources */, - BC4341071117F3C600C9C8D7 /* btContinuousConvexCollision.cpp in Sources */, - BC4341091117F3C600C9C8D7 /* btConvexCast.cpp in Sources */, - BC43410D1117F3C600C9C8D7 /* btGjkConvexCast.cpp in Sources */, - BC43410F1117F3C600C9C8D7 /* btGjkEpa2.cpp in Sources */, - BC4341111117F3C600C9C8D7 /* btGjkEpaPenetrationDepthSolver.cpp in Sources */, - BC4341131117F3C600C9C8D7 /* btGjkPairDetector.cpp in Sources */, - BC4341161117F3C600C9C8D7 /* btMinkowskiPenetrationDepthSolver.cpp in Sources */, - BC4341181117F3C600C9C8D7 /* btPersistentManifold.cpp in Sources */, - BC43411B1117F3C600C9C8D7 /* btRaycastCallback.cpp in Sources */, - BC43411E1117F3C600C9C8D7 /* btSubSimplexConvexCast.cpp in Sources */, - BC4341201117F3C600C9C8D7 /* btVoronoiSimplexSolver.cpp in Sources */, - BC4341231117F3C600C9C8D7 /* btKinematicCharacterController.cpp in Sources */, - BC4341251117F3C600C9C8D7 /* btConeTwistConstraint.cpp in Sources */, - BC4341281117F3C600C9C8D7 /* btContactConstraint.cpp in Sources */, - BC43412B1117F3C600C9C8D7 /* btGeneric6DofConstraint.cpp in Sources */, - BC43412D1117F3C600C9C8D7 /* btGeneric6DofSpringConstraint.cpp in Sources */, - BC43412F1117F3C600C9C8D7 /* btHinge2Constraint.cpp in Sources */, - BC4341311117F3C600C9C8D7 /* btHingeConstraint.cpp in Sources */, - BC4341341117F3C600C9C8D7 /* btPoint2PointConstraint.cpp in Sources */, - BC4341361117F3C600C9C8D7 /* btSequentialImpulseConstraintSolver.cpp in Sources */, - BC4341381117F3C600C9C8D7 /* btSliderConstraint.cpp in Sources */, - BC43413A1117F3C600C9C8D7 /* btSolve2LinearConstraint.cpp in Sources */, - BC43413E1117F3C600C9C8D7 /* btTypedConstraint.cpp in Sources */, - BC4341401117F3C600C9C8D7 /* btUniversalConstraint.cpp in Sources */, - BC4341431117F3C600C9C8D7 /* btContinuousDynamicsWorld.cpp in Sources */, - BC4341451117F3C600C9C8D7 /* btDiscreteDynamicsWorld.cpp in Sources */, - BC4341481117F3C600C9C8D7 /* btRigidBody.cpp in Sources */, - BC43414A1117F3C600C9C8D7 /* btSimpleDynamicsWorld.cpp in Sources */, - BC43414C1117F3C600C9C8D7 /* Bullet-C-API.cpp in Sources */, - BC43414D1117F3C600C9C8D7 /* Makefile in Sources */, - BC43414E1117F3C600C9C8D7 /* Jamfile in Sources */, - BC43414F1117F3C600C9C8D7 /* btRaycastVehicle.cpp in Sources */, - BC4341521117F3C600C9C8D7 /* btWheelInfo.cpp in Sources */, - BC4341541117F3C600C9C8D7 /* btGpu3DGridBroadphase.cpp in Sources */, - BC43415C1117F3C600C9C8D7 /* btThreadSupportInterface.cpp in Sources */, - BC43415E1117F3C600C9C8D7 /* Jamfile in Sources */, - BC43415F1117F3C600C9C8D7 /* MiniCLTask.cpp in Sources */, - BC4341611117F3C600C9C8D7 /* MiniCLTaskScheduler.cpp in Sources */, - BC4341641117F3C600C9C8D7 /* PosixThreadSupport.cpp in Sources */, - BC4341671117F3C600C9C8D7 /* SequentialThreadSupport.cpp in Sources */, - BC4341691117F3C600C9C8D7 /* SpuCollisionObjectWrapper.cpp in Sources */, - BC43416B1117F3C600C9C8D7 /* SpuCollisionTaskProcess.cpp in Sources */, - BC43416D1117F3C600C9C8D7 /* SpuContactManifoldCollisionAlgorithm.cpp in Sources */, - BC4341701117F3C600C9C8D7 /* SpuFakeDma.cpp in Sources */, - BC4341721117F3C600C9C8D7 /* SpuGatheringCollisionDispatcher.cpp in Sources */, - BC4341741117F3C600C9C8D7 /* SpuLibspe2Support.cpp in Sources */, - BC4341771117F3C600C9C8D7 /* boxBoxDistance.cpp in Sources */, - BC4341791117F3C600C9C8D7 /* SpuCollisionShapes.cpp in Sources */, - BC43417B1117F3C600C9C8D7 /* SpuContactResult.cpp in Sources */, - BC43417E1117F3C600C9C8D7 /* SpuGatheringCollisionTask.cpp in Sources */, - BC4341811117F3C600C9C8D7 /* SpuMinkowskiPenetrationDepthSolver.cpp in Sources */, - BC4341841117F3C600C9C8D7 /* SpuSampleTask.cpp in Sources */, - BC4341861117F3C600C9C8D7 /* SpuSampleTaskProcess.cpp in Sources */, - BC43418F1117F3C600C9C8D7 /* Win32ThreadSupport.cpp in Sources */, - BC4341911117F3C600C9C8D7 /* btSoftBody.cpp in Sources */, - BC4341931117F3C600C9C8D7 /* btSoftBodyConcaveCollisionAlgorithm.cpp in Sources */, - BC4341951117F3C600C9C8D7 /* btSoftBodyHelpers.cpp in Sources */, - BC4341981117F3C600C9C8D7 /* btSoftBodyRigidBodyCollisionConfiguration.cpp in Sources */, - BC43419A1117F3C600C9C8D7 /* btSoftRigidCollisionAlgorithm.cpp in Sources */, - BC43419C1117F3C600C9C8D7 /* btSoftRigidDynamicsWorld.cpp in Sources */, - BC43419E1117F3C600C9C8D7 /* btSoftSoftCollisionAlgorithm.cpp in Sources */, - BC4341A11117F3C600C9C8D7 /* Jamfile in Sources */, - BC4341A21117F3C600C9C8D7 /* Makefile in Sources */, - BC4341A31117F3C600C9C8D7 /* Jamfile in Sources */, - BC4341A51117F3C600C9C8D7 /* btAlignedAllocator.cpp in Sources */, - BC4341A81117F3C600C9C8D7 /* btConvexHull.cpp in Sources */, - BC4341AB1117F3C600C9C8D7 /* btGeometryUtil.cpp in Sources */, - BC4341B61117F3C600C9C8D7 /* btQuickprof.cpp in Sources */, - BC4341BA1117F3C600C9C8D7 /* btSerializer.cpp in Sources */, - BC4341C01117F3C600C9C8D7 /* Makefile in Sources */, - BC4341C11117F3C600C9C8D7 /* Jamfile in Sources */, - BC4342041117F4CF00C9C8D7 /* solver.cpp in Sources */, - BC4342081117F4CF00C9C8D7 /* rigidBodyNode.cpp in Sources */, - BC43420A1117F4CF00C9C8D7 /* rigidBodyArrayNode.cpp in Sources */, - BC43420D1117F4CF00C9C8D7 /* pluginMain.cpp in Sources */, - BC4342111117F4CF00C9C8D7 /* pdbIO.cpp in Sources */, - BC4342171117F4CF00C9C8D7 /* dSolverNode.cpp in Sources */, - BC4342191117F4CF00C9C8D7 /* dSolverCmd.cpp in Sources */, - BC43421B1117F4CF00C9C8D7 /* dRigidBodyCmd.cpp in Sources */, - BC43421D1117F4CF00C9C8D7 /* dRigidBodyArrayCmd.cpp in Sources */, - BC43421F1117F4CF00C9C8D7 /* drawUtils.cpp in Sources */, - BC4342231117F4CF00C9C8D7 /* collisionShapeNode.cpp in Sources */, - BC4342271117F4CF00C9C8D7 /* bulletExport.cpp in Sources */, - BC43422A1117F4CF00C9C8D7 /* bt_solver.cpp in Sources */, - BC4342541117F51F00C9C8D7 /* sliderConstraintNode.cpp in Sources */, - BC4342571117F51F00C9C8D7 /* sixdofConstraintNode.cpp in Sources */, - BC43425B1117F51F00C9C8D7 /* nailConstraintNode.cpp in Sources */, - BC43425D1117F51F00C9C8D7 /* hingeConstraintNode.cpp in Sources */, - BC4342611117F51F00C9C8D7 /* dSliderConstraintCmd.cpp in Sources */, - BC4342631117F51F00C9C8D7 /* dsixdofConstraintCmd.cpp in Sources */, - BC4342651117F51F00C9C8D7 /* dNailConstraintCmd.cpp in Sources */, - BC4342671117F51F00C9C8D7 /* dHingeConstraintCmd.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 8A7F05EE086863A70064D097 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = ""; - DYLIB_CURRENT_VERSION = ""; - EXECUTABLE_EXTENSION = bundle; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_MASTER_OBJECT_FILE = NO; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_bundle; - PREBINDING = NO; - PRODUCT_NAME = BulletMayaPlugin; - ZERO_LINK = YES; - }; - name = Debug; - }; - 8A7F05EF086863A70064D097 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = ""; - DYLIB_CURRENT_VERSION = ""; - EXECUTABLE_EXTENSION = bundle; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_MASTER_OBJECT_FILE = NO; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_bundle; - PREBINDING = NO; - PRODUCT_NAME = BulletMayaPlugin; - ZERO_LINK = NO; - }; - name = Release; - }; - 8A7F05F0086863A70064D097 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = ""; - DYLIB_CURRENT_VERSION = ""; - EXECUTABLE_EXTENSION = bundle; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_MASTER_OBJECT_FILE = NO; - INSTALL_PATH = /usr/local/lib; - LIBRARY_STYLE = BUNDLE; - MACH_O_TYPE = mh_bundle; - PREBINDING = NO; - PRODUCT_NAME = BulletMayaPlugin; - }; - name = Default; - }; - 8A7F05F2086863A70064D097 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(MAYA_DIRECTORY)/devkit/include/maya/OpenMayaMac.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MAC_PLUGIN, - _BOOL, - REQUIRE_IOSTREAM, - ); - HEADER_SEARCH_PATHS = "$(MAYA_DIRECTORY)/devkit/include/"; - LIBRARY_SEARCH_PATHS = "$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS"; - LIBRARY_STYLE = BUNDLE; - MAYA_DIRECTORY = /Applications/Autodesk/maya2010; - OTHER_LDFLAGS = ( - "-lOpenMaya", - "-lFoundation", - "-Wl,-executable_path,$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS", - "-lOpenMayaUI", - "-lOpenMayaFX", - "-lOpenMaya", - "-lFoundation", - ); - USER_HEADER_SEARCH_PATHS = ". ../../src"; - }; - name = Debug; - }; - 8A7F05F3086863A70064D097 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(MAYA_DIRECTORY)/devkit/include/maya/OpenMayaMac.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MAC_PLUGIN, - _BOOL, - REQUIRE_IOSTREAM, - ); - HEADER_SEARCH_PATHS = "$(MAYA_DIRECTORY)/devkit/include/"; - LIBRARY_SEARCH_PATHS = "$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS"; - LIBRARY_STYLE = BUNDLE; - MAYA_DIRECTORY = /Applications/Autodesk/maya2010; - OTHER_LDFLAGS = ( - "-lOpenMaya", - "-lFoundation", - "-Wl,-executable_path,$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS", - "-lOpenMayaUI", - "-lOpenMayaFX", - "-lOpenMaya", - "-lFoundation", - ); - USER_HEADER_SEARCH_PATHS = ". ../../src"; - }; - name = Release; - }; - 8A7F05F4086863A70064D097 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(MAYA_DIRECTORY)/devkit/include/maya/OpenMayaMac.h"; - GCC_PREPROCESSOR_DEFINITIONS = ( - MAC_PLUGIN, - _BOOL, - REQUIRE_IOSTREAM, - ); - HEADER_SEARCH_PATHS = "$(MAYA_DIRECTORY)/devkit/include/"; - LIBRARY_SEARCH_PATHS = "$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS"; - MAYA_DIRECTORY = /Applications/Autodesk/maya2010; - OTHER_LDFLAGS = ( - "-lOpenMaya", - "-lFoundation", - "-Wl,-executable_path,$(MAYA_DIRECTORY)/Maya.app/Contents/MacOS", - "-lOpenMayaUI", - "-lOpenMayaFX", - "-lOpenMaya", - "-lFoundation", - ); - USER_HEADER_SEARCH_PATHS = ". ../../src"; - }; - name = Default; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8A7F05ED086863A70064D097 /* Build configuration list for PBXNativeTarget "BulletMayaPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8A7F05EE086863A70064D097 /* Debug */, - 8A7F05EF086863A70064D097 /* Release */, - 8A7F05F0086863A70064D097 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - 8A7F05F1086863A70064D097 /* Build configuration list for PBXProject "BulletMayaPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8A7F05F2086863A70064D097 /* Debug */, - 8A7F05F3086863A70064D097 /* Release */, - 8A7F05F4086863A70064D097 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/Extras/MayaPlugin/CMakeLists.txt b/Extras/MayaPlugin/CMakeLists.txt deleted file mode 100644 index 0d6ce765a..000000000 --- a/Extras/MayaPlugin/CMakeLists.txt +++ /dev/null @@ -1,96 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.4) - -#PROJECT(MayaPlugin) -if(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) -endif(COMMAND cmake_policy) - - -IF ( UNIX AND NOT APPLE ) - ADD_DEFINITIONS(-DLINUX) -ENDIF() - -SET(CMAKE_CXX_WARNING_LEVEL 4) - -#SET (CMAKE_VERBOSE_MAKEFILE TRUE) -FIND_PATH(MAYA_BASE_DIR include/maya/MFn.h PATH - /usr/autodesk/maya2009-x64 - /usr/autodesk/maya2008-x64 - /usr/autodesk/maya - "C:/Program Files/Autodesk/Maya2008" - "C:/Program Files/Autodesk/Maya2009" - "C:/Program Files/Autodesk/Maya8.5" - "C:/Program Files (x86)/Autodesk/Maya2010" - ) - -IF (MAYA_BASE_DIR) - message ("Maya found at location " ${MAYA_BASE_DIR}) - - SET(MAYA_INC_DIR ${MAYA_BASE_DIR}/include) - SET(MAYA_LIB_DIR ${MAYA_BASE_DIR}/lib) - - INCLUDE_DIRECTORIES(${MAYA_INC_DIR} ${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Extras/MayaPlugin ) - LINK_DIRECTORIES(${MAYA_LIB_DIR}) - - ADD_DEFINITIONS(-D_BOOL) - ADD_DEFINITIONS(-DREQUIRE_IOSTREAM) - - SET(TARGET_H - box_shape.h bt_sphere_shape.h dSolverNode.h rigid_body_impl.h - box_shape_impl.h collision_shape.h mathUtils.h rigidBodyNode.h - bt_box_shape.h collision_shape_impl.h mayaUtils.h solver.h - bt_collision_shape.h collisionShapeNode.h mesh_shape.h solver_impl.h - bt_convex_hull_shape.h convex_hull_shape.h mesh_shape_impl.h sphere_shape.h - bt_mesh_shape.h convex_hull_shape_impl.h plane_shape.h sphere_shape_impl.h - bt_plane_shape.h dRigidBodyArrayCmd.h plane_shape_impl.h - bt_rigid_body.h dRigidBodyCmd.h rigidBodyArrayNode.h - bt_solver.h dSolverCmd.h rigid_body.h pdbIO.h - shared_ptr.h drawUtils.h - ) - - SET(TARGET_SRC - pluginMain.cpp bulletExport.cpp rigidBodyNode.cpp rigidBodyArrayNode.cpp collisionShapeNode.cpp - solver.cpp bt_solver.cpp dSolverNode.cpp dSolverCmd.cpp dRigidBodyCmd.cpp dRigidBodyArrayCmd.cpp - pdbIO.cpp drawUtils.cpp constraint/dHingeConstraintCmd.cpp constraint/dSliderConstraintCmd.cpp - constraint/hingeConstraintNode.cpp constraint/sixdofConstraintNode.cpp constraint/dNailConstraintCmd.cpp - constraint/dsixdofConstraintCmd.cpp constraint/nailConstraintNode.cpp constraint/sliderConstraintNode.cpp - ) - - ADD_LIBRARY(BulletMayaPlugin SHARED ${TARGET_H} ${TARGET_SRC}) - - - - IF (WIN32) - SET(MAYA_LIBS OpenMaya Foundation OpenMayaAnim OpenMayaFX OpenMayaUI) - IF (CMAKE_CL_64) - SET_TARGET_PROPERTIES(BulletMayaPlugin PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /MACHINE:X64") - ELSE (CMAKE_CL_64) - SET_TARGET_PROPERTIES(BulletMayaPlugin PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /MACHINE:X86") - ENDIF (CMAKE_CL_64) - SET_TARGET_PROPERTIES(BulletMayaPlugin PROPERTIES SUFFIX ".mll") - - LINK_DIRECTORIES(${MAYA_LIB_DIR}) - TARGET_LINK_LIBRARIES(BulletMayaPlugin BulletDynamics BulletCollision LinearMath ${MAYA_LIBS} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}) - SET(CMAKE_SHARED_LINKER_FLAGS "/export:initializePlugin /export:uninitializePlugin") - ELSE (WIN32) - SET(MAYA_LIBS OpenMayalib Foundation OpenMayaAnim OpenMayaFX OpenMayaUI) - LINK_DIRECTORIES(${MAYA_LIB_DIR}) - TARGET_LINK_LIBRARIES(BulletMayaPlugin BulletDynamics BulletCollision LinearMath ${MAYA_LIBS} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}) - ENDIF(WIN32) - - #OPTION(BUILD_STANDALONE "Build a standalone exporter program") - # - #IF (BUILD_STANDALONE) - # IF (WIN32) - # - # ELSE (WIN32) - # SET(MAYA_LIBS OpenMayalib Foundation OpenMayaAnim) - # ADD_EXECUTABLE(me ${TARGET_H} ${TARGET_SRC} standalone.cpp) - # LINK_DIRECTORIES(${MAYA_LIB_DIR}) - # TARGET_LINK_LIBRARIES(me ${MAYA_LIBS} pthread m imf) - # ENDIF (WIN32) - #ENDIF (BUILD_STANDALONE) - -ELSE() - MESSAGE("Maya not found, try adding your Maya path in Bullet/Extras/MayaPlugin/CMakeListst.txt under FIND_PATH(MAYA_BASE_DIR ...") -ENDIF() \ No newline at end of file diff --git a/Extras/MayaPlugin/Makefile b/Extras/MayaPlugin/Makefile deleted file mode 100644 index 143b87dc0..000000000 --- a/Extras/MayaPlugin/Makefile +++ /dev/null @@ -1,318 +0,0 @@ -#MayaPlugin Makefile - -## MAYA_LOCATION is the Maya installation directory. It should be already defined in your -# environment variables. If not, please change it to the appropriate directory -MAYA=$(MAYA_LOCATION) - -## Change this if you want to change the installation directory -MAYA_PLUG_IN_PATH=/usr/maya-plugins - -## Change this if you want to change the name of the final plugin -LIBRARY=mayaplugin.so - -################################## - -BULLET=../.. - -CPP = g++412 -LD = ld - -CPPFLAGS = -DBits64_ -m64 -DUNIX -D_BOOL -DLINUX -DFUNCPROTO -D_GNU_SOURCE -DLINUX_64 -fPIC \ - -fno-strict-aliasing -DREQUIRE_IOSTREAM -Wno-deprecated -Wall \ - -Wno-multichar -Wno-comment -Wno-sign-compare -funsigned-char \ - -Wno-reorder -fno-gnu-keywords -ftemplate-depth-25 -pthread \ - -Wno-deprecated -fno-gnu-keywords \ - -g - -LDFLAGS =-Wl,-Bsymbolic -shared - -BULLET_INCLUDE=-I$(BULLET)/src - -#instead of BULLET_LIB we just include all source files directly -#BULLET_LIB=-L$(BULLET)/out/linux/optimize/libs -L$(BULLET)/src \ -# -lBulletColladaConverter -lcolladadom -llibxml -lGIMPACTUtils -lbulletdynamics \ -# -lbulletcollision -lbulletmath - - -GL_LIB=-lGL -lGLU - -MAYA_INCLUDE=-I$(MAYA)/include -MAYA_LIB=-L$(MAYA)/lib -lOpenMaya -lFoundation -lOpenMayaUI -lOpenMayaFX - -SOURCES = pluginMain.cpp bulletExport.cpp rigidBodyNode.cpp rigidBodyArrayNode.cpp collisionShapeNode.cpp \ - solver.cpp bt_solver.cpp dSolverNode.cpp dSolverCmd.cpp dRigidBodyCmd.cpp dRigidBodyArrayCmd.cpp \ - pdbIO.cpp drawUtils.cpp constraint/dHingeConstraintCmd.cpp constraint/dSliderConstraintCmd.cpp \ - constraint/hingeConstraintNode.cpp constraint/sixdofConstraintNode.cpp constraint/dNailConstraintCmd.cpp \ - constraint/dsixdofConstraintCmd.cpp constraint/nailConstraintNode.cpp constraint/sliderConstraintNode.cpp \ - $(BULLET)/src/LinearMath/btQuickprof.cpp \ -$(BULLET)/src/LinearMath/btGeometryUtil.cpp \ - $(BULLET)/src/LinearMath/btAlignedAllocator.cpp \ - $(BULLET)/src/LinearMath/btSerializer.cpp \ - $(BULLET)/src/LinearMath/btConvexHull.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp \ -$(BULLET)/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btGhostObject.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btManifoldResult.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btUnionFind.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btShapeHull.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCompoundShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConeShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btSphereShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btEmptyShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvex2dShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleCallback.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConcaveShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBoxShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBox2dShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCylinderShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMesh.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDispatcher.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvt.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactBvh.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactShape.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_box_set.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_contact.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_memory.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_tri_collision.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btRigidBody.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/Bullet-C-API.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp \ - $(BULLET)/src/BulletDynamics/Vehicle/btWheelInfo.cpp \ - $(BULLET)/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp \ - $(BULLET)/src/BulletDynamics/Character/btKinematicCharacterController.cpp - - - -HEADERS = box_shape.h bt_sphere_shape.h dSolverNode.h rigid_body_impl.h \ - box_shape_impl.h collision_shape.h mathUtils.h rigidBodyNode.h \ - bt_box_shape.h collision_shape_impl.h mayaUtils.h solver.h \ - bt_collision_shape.h collisionShapeNode.h mesh_shape.h solver_impl.h \ - bt_convex_hull_shape.h convex_hull_shape.h mesh_shape_impl.h sphere_shape.h \ - bt_mesh_shape.h convex_hull_shape_impl.h plane_shape.h sphere_shape_impl.h \ - bt_plane_shape.h dRigidBodyArrayCmd.h plane_shape_impl.h \ - bt_rigid_body.h dRigidBodyCmd.h rigidBodyArrayNode.h \ - bt_solver.h dSolverCmd.h rigid_body.h pdbIO.h \ - shared_ptr.h drawUtils.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPointCollector.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionObject.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btGhostObject.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxDetector.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btUnionFind.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btManifoldResult.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvex2dShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleCallback.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCompoundShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBoxShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBox2dShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultiSphereShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionMargin.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConcaveShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btEmptyShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btUniformScalingShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMaterial.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btSphereShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexPointCloudShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCapsuleShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStridingMeshInterface.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMesh.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleBuffer.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btShapeHull.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btOptimizedBvh.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCylinderShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTetrahedronShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexInternalShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConeShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexHullShape.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvt.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDispatcher.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btQuantizedBvh.h \ - $(BULLET)/src/BulletDynamics/Character/btKinematicCharacterController.h \ - $(BULLET)/src/BulletDynamics/Character/btCharacterControllerInterface.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btActionInterface.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btRigidBody.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolverBody.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConstraintSolver.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactSolverInfo.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btJacobianEntry.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSliderConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btVehicleRaycaster.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btRaycastVehicle.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btWheelInfo.h - - - - -INCLUDE_FLAGS= $(GL_INCLUDE) $(BULLET_INCLUDE) $(MAYA_INCLUDE) -#LIB_FLAGS=$(BULLET_LIB) $(MAYA_LIB) $(GL_LIB) -LIB_FLAGS= $(MAYA_LIB) $(GL_LIB) - -OBJECTS=$(SOURCES:.cpp=.o) - -all: $(SOURCES) $(LIBRARY) - -.cpp.o: $(SOURCES) $(HEADERS) - $(CPP) -c $< $(CPPFLAGS) $(INCLUDE_FLAGS) -o $@ - -$(OBJECTS): $(HEADERS) - -$(LIBRARY): $(OBJECTS) - $(CPP) $(OBJECTS) $(LDFLAGS) $(LIB_FLAGS) -o $@ - -install: $(LIBRARY) - cp -f $(LIBRARY) $(MAYA_PLUG_IN_PATH) - cp -f scripts/*.mel $(MAYA_PLUG_IN_PATH) - cp -f icons/*.xpm $(MAYA_PLUG_IN_PATH) - -clean: - rm -f *.o *.so - diff --git a/Extras/MayaPlugin/Makefile.mac b/Extras/MayaPlugin/Makefile.mac deleted file mode 100644 index 3d5f02050..000000000 --- a/Extras/MayaPlugin/Makefile.mac +++ /dev/null @@ -1,312 +0,0 @@ -#MayaPlugin Makefile - -MAYA_LOCATION?=/Applications/Autodesk/maya2010/devkit - -## MAYA_LOCATION is the Maya installation directory. It should be already defined in your -# environment variables. If not, please change it to the appropriate directory -MAYA=$(MAYA_LOCATION) - -## Change this if you want to change the installation directory -MAYA_PLUG_IN_PATH=/usr/maya-plugins - -## Change this if you want to change the name of the final plugin -LIBRARY=dynamicaMayaPlugin.bundle - -################################## - -BULLET=../.. - -CPP = g++ -LD = ld - -CPPFLAGS = -DMAC_PLUGIN -DOSMac_MachO_ -DBits32_ -m32 -DUNIX -D_BOOL -DOSMac_ -DFUNCPROTO -D_GNU_SOURCE -fPIC \ - -fno-strict-aliasing -DREQUIRE_IOSTREAM -Wno-deprecated -Wall \ - -Wno-multichar -Wno-comment -Wno-sign-compare -funsigned-char \ - -Wno-reorder -fno-gnu-keywords -ftemplate-depth-25 -pthread \ - -Wno-deprecated -fno-gnu-keywords -g - -#LDFLAGS =-bundle -ldl -shared -LDFLAGS = -ldl -shared - -BULLET_INCLUDE=-I$(BULLET)/src -I. - - - -GL_LIB=-framework OpenGL - -MAYA_INCLUDE=-I$(MAYA)/include -MAYA_LIB=-L/Applications/Autodesk/maya2010/Maya.app/Contents/MacOS -lOpenMaya -lFoundation -Wl,-executable_path,/Applications/Autodesk/maya2010/Maya.app/Contents/MacOS -lOpenMayaUI -lOpenMayaFX -lOpenMaya -lFoundation - -SOURCES = pluginMain.cpp bulletExport.cpp rigidBodyNode.cpp rigidBodyArrayNode.cpp collisionShapeNode.cpp \ - solver.cpp bt_solver.cpp dSolverNode.cpp dSolverCmd.cpp dRigidBodyCmd.cpp dRigidBodyArrayCmd.cpp \ - pdbIO.cpp drawUtils.cpp constraint/dHingeConstraintCmd.cpp constraint/dSliderConstraintCmd.cpp \ - constraint/hingeConstraintNode.cpp constraint/sixdofConstraintNode.cpp constraint/dNailConstraintCmd.cpp \ - constraint/dsixdofConstraintCmd.cpp constraint/nailConstraintNode.cpp constraint/sliderConstraintNode.cpp \ - $(BULLET)/src/LinearMath/btQuickprof.cpp \ -$(BULLET)/src/LinearMath/btGeometryUtil.cpp \ - $(BULLET)/src/LinearMath/btAlignedAllocator.cpp \ - $(BULLET)/src/LinearMath/btSerializer.cpp \ - $(BULLET)/src/LinearMath/btConvexHull.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp \ -$(BULLET)/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btGhostObject.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btManifoldResult.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btUnionFind.cpp \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btShapeHull.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCompoundShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConeShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btSphereShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btEmptyShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvex2dShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleCallback.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConcaveShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBoxShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBox2dShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCylinderShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMesh.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDispatcher.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvt.cpp \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactBvh.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btTriangleShapeEx.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/btGImpactShape.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_box_set.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_contact.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_memory.cpp \ - $(BULLET)/src/BulletCollision/Gimpact/gim_tri_collision.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btRigidBody.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/Bullet-C-API.cpp \ - $(BULLET)/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp \ - $(BULLET)/src/BulletDynamics/Vehicle/btWheelInfo.cpp \ - $(BULLET)/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp \ - $(BULLET)/src/BulletDynamics/Character/btKinematicCharacterController.cpp - - -HEADERS = box_shape.h bt_sphere_shape.h dSolverNode.h rigid_body_impl.h \ - box_shape_impl.h collision_shape.h mathUtils.h rigidBodyNode.h \ - bt_box_shape.h collision_shape_impl.h mayaUtils.h solver.h \ - bt_collision_shape.h collisionShapeNode.h mesh_shape.h solver_impl.h \ - bt_convex_hull_shape.h convex_hull_shape.h mesh_shape_impl.h sphere_shape.h \ - bt_mesh_shape.h convex_hull_shape_impl.h plane_shape.h sphere_shape_impl.h \ - bt_plane_shape.h dRigidBodyArrayCmd.h plane_shape_impl.h \ - bt_rigid_body.h dRigidBodyCmd.h rigidBodyArrayNode.h \ - bt_solver.h dSolverCmd.h rigid_body.h pdbIO.h \ - shared_ptr.h drawUtils.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPointCollector.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h \ - $(BULLET)/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionObject.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btGhostObject.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btBoxBoxDetector.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btUnionFind.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btManifoldResult.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvex2dShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleCallback.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCompoundShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBoxShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBox2dShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMultiSphereShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionMargin.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConcaveShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btEmptyShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btUniformScalingShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMaterial.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btSphereShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexPointCloudShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCapsuleShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCollisionShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btStridingMeshInterface.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleMesh.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleBuffer.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btShapeHull.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btOptimizedBvh.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btCylinderShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btTetrahedronShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexInternalShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConeShape.h \ - $(BULLET)/src/BulletCollision/CollisionShapes/btConvexHullShape.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDbvt.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btDispatcher.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h \ - $(BULLET)/src/BulletCollision/BroadphaseCollision/btQuantizedBvh.h \ - $(BULLET)/src/BulletDynamics/Character/btKinematicCharacterController.h \ - $(BULLET)/src/BulletDynamics/Character/btCharacterControllerInterface.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btActionInterface.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btRigidBody.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/Dynamics/btDynamicsWorld.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolverBody.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConstraintSolver.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactSolverInfo.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btContactConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btJacobianEntry.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSliderConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h \ - $(BULLET)/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btVehicleRaycaster.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btRaycastVehicle.h \ - $(BULLET)/src/BulletDynamics/Vehicle/btWheelInfo.h - - -INCLUDE_FLAGS= $(GL_INCLUDE) $(BULLET_INCLUDE) $(MAYA_INCLUDE) -LIB_FLAGS= $(MAYA_LIB) $(GL_LIB) - -OBJECTS=$(SOURCES:.cpp=.o) - -all: $(SOURCES) $(LIBRARY) - -.cpp.o: $(SOURCES) $(HEADERS) - $(CPP) -c $< $(CPPFLAGS) $(INCLUDE_FLAGS) -o $@ - -$(OBJECTS): $(HEADERS) - -$(LIBRARY): $(OBJECTS) - $(CPP) $(OBJECTS) $(LDFLAGS) $(LIB_FLAGS) -o $@ - -install: $(LIBRARY) - cp -f $(LIBRARY) /Users/Shared/Autodesk/maya/plug-ins - cp -f scripts/*.mel /Users/Shared/Autodesk/maya/scripts - cp -f icons/*.xpm /Users/Shared/Autodesk/maya/icons - -clean: - rm -f *.o *.bundle - diff --git a/Extras/MayaPlugin/README b/Extras/MayaPlugin/README deleted file mode 100644 index 351b64377..000000000 --- a/Extras/MayaPlugin/README +++ /dev/null @@ -1,23 +0,0 @@ -Bullet Maya Plugin - - -How to build in linux: - -Please check the beginning of the Makefile to make sure that the variables are correct. -Then do: - -make install - - -------------------------- - -How to build under Windows, using Microsoft Visual Studio 2005 or later: - -Open BulletMayaPlugin.sln and select Debug or Release configuration and compile. - -Maya 2008 is assumed at the default location C:\Program Files\Autodesk\Maya2008\include -Otherwise change the include path in the project settings. - -Installation: - -copy the folder 'icons', 'mvl' and 'scripts' into C:\Program Files\Autodesk\Maya2008 diff --git a/Extras/MayaPlugin/box_shape.h b/Extras/MayaPlugin/box_shape.h deleted file mode 100644 index d563a84a9..000000000 --- a/Extras/MayaPlugin/box_shape.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//box_shape.h - -#ifndef DYN_BOX_SHAPE_H -#define DYN_BOX_SHAPE_H - -#include "collision_shape.h" -#include "box_shape_impl.h" - -class box_shape_t: public collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - -protected: - friend class solver_t; - - box_shape_t(collision_shape_impl_t* impl): collision_shape_t(impl) { } - -}; - -#endif diff --git a/Extras/MayaPlugin/box_shape_impl.h b/Extras/MayaPlugin/box_shape_impl.h deleted file mode 100644 index dc82af58c..000000000 --- a/Extras/MayaPlugin/box_shape_impl.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//box_shape_impl.h - -#ifndef DYN_BOX_SHAPE_IMPL_H -#define DYN_BOX_SHAPE_IMPL_H - -#include "collision_shape_impl.h" - -class box_shape_impl_t: public collision_shape_impl_t -{ -public: - //typedefs - -private: - -}; - -#endif diff --git a/Extras/MayaPlugin/bt_box_shape.h b/Extras/MayaPlugin/bt_box_shape.h deleted file mode 100644 index 3f3796f5b..000000000 --- a/Extras/MayaPlugin/bt_box_shape.h +++ /dev/null @@ -1,96 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//bt_box_shape.h - -#ifndef DYN_BT_BOX_SHAPE_H -#define DYN_BT_BOX_SHAPE_H - -#include "box_shape_impl.h" -#include "drawUtils.h" - -class bt_box_shape_t: public bt_collision_shape_t, public box_shape_impl_t -{ -public: - virtual void gl_draw(size_t draw_style) - { -// std::cout << "bt_box_shape_t::draw" << std::endl; - btBoxShape *box_shape = static_cast(shape()); - btVector3 const& e = box_shape->getHalfExtentsWithoutMargin(); - glPushMatrix(); - glScalef(2 * e.x(), 2 * e.y(), 2 * e.z()); - if(draw_style & collision_shape_t::kDSSolid) { - solid_cube(); - } else { - wire_cube(); - } - glPopMatrix(); - } - - virtual void set_scale(vec3f const& s) { - const btVector3& scale = shape()->getLocalScaling(); - if(scale.x() != s[0] || scale.y() != s[1] || scale.z() != s[2]) { - shape()->setLocalScaling(btVector3(s[0], s[1], s[2])); - update(); - } - } - - virtual void get_scale(vec3f& s) { - const btVector3& scale = shape()->getLocalScaling(); - s = vec3f(scale.x(), scale.y(), scale.z()); - } - - virtual float volume() { return m_volume; } - virtual vec3f const& local_inertia() { return m_local_inertia; } - virtual vec3f const& center() { return m_center; } - virtual quatf const& rotation() { return m_rotation; } - -protected: - friend class bt_solver_t; - - bt_box_shape_t(vec3f const& halfExtents): - bt_collision_shape_t() - { - set_shape(new btBoxShape(btVector3(halfExtents[0], halfExtents[0], halfExtents[0]))); - update(); - } - - void update() - { - btBoxShape *box_shape = static_cast(shape()); - btVector3 e = 2 * box_shape->getHalfExtentsWithoutMargin(); - m_volume = e.x() * e.y() * e.z(); - m_center = vec3f(0, 0, 0); - m_rotation = qidentity(); - m_local_inertia = vec3f((e.y() * e.y() + e.z() * e.z()) / 12.0f, - (e.x() * e.x() + e.z() * e.z()) / 12.0f, - (e.x() * e.x() + e.y() * e.y()) / 12.0f); - } - -private: - float m_volume; - vec3f m_center; - quatf m_rotation; - vec3f m_local_inertia; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_collision_shape.h b/Extras/MayaPlugin/bt_collision_shape.h deleted file mode 100644 index 5ea96131e..000000000 --- a/Extras/MayaPlugin/bt_collision_shape.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//bt_collision_shape.h - -#ifndef DYN_BT_COLLISION_SHAPE_H -#define DYN_BT_COLLISION_SHAPE_H - -#include "btBulletCollisionCommon.h" -#include "btBulletDynamicsCommon.h" - -class bt_collision_shape_t -{ -public: - -protected: - friend class bt_solver_t; - - bt_collision_shape_t() { } - - btCollisionShape* shape() { return m_shape.get(); } - void set_shape(btCollisionShape *shape) { return m_shape.reset(shape); } - -public: - friend class bt_rigid_body_t; - virtual ~bt_collision_shape_t() { } - -private: - shared_ptr m_shape; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_convex_hull_shape.h b/Extras/MayaPlugin/bt_convex_hull_shape.h deleted file mode 100644 index 7b5a929c0..000000000 --- a/Extras/MayaPlugin/bt_convex_hull_shape.h +++ /dev/null @@ -1,195 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//bt_convex_hull_shape.h - -#ifndef DYN_BT_CONVEX_HULL_SHAPE_H -#define DYN_BT_CONVEX_HULL_SHAPE_H - -#include - -#include "convex_hull_shape_impl.h" -#include "bt_collision_shape.h" - -class bt_convex_hull_shape_t: public bt_collision_shape_t, public convex_hull_shape_impl_t -{ -public: - virtual void gl_draw(size_t draw_style) { - - if(m_vertices.empty() || m_indices.empty()) return; - - glPushMatrix(); - glTranslatef(m_center[0], m_center[1], m_center[2]); - float angle; - vec3f axis; - q_to_axis_angle(m_rotation, axis, angle); - glRotatef(rad2deg(angle), axis[0], axis[1], axis[2]); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_NORMAL_ARRAY); - if(draw_style & collision_shape_t::kDSSolid) { - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } else { - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - glVertexPointer(3, GL_FLOAT, 0, &(m_vertices[0])); - glNormalPointer(GL_FLOAT, 0, &(m_normals[0])); - glDrawElements(GL_TRIANGLES, m_indices.size(), GL_UNSIGNED_INT, &(m_indices[0])); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_NORMAL_ARRAY); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - glPopMatrix(); - } - - virtual void set_scale(vec3f const& s1) { - // shape()->setLocalScaling(btVector3(s[0], s[1], s[2])); - btVector3 s(s1[0],s1[1],s1[2]); - - float delSq = 0.f; - for(int i = 0; i < 3; i++) - { - float del = s[i] - m_cachedScaling[i]; - delSq += del * del; - } - if (delSq > FLT_EPSILON) - { -// btAssert(shape()->getType()== - btCompoundShape* compound =(btCompoundShape*)shape(); - btConvexHullShape* child = (btConvexHullShape*)compound->getChildShape(0); -/* - btTransform scaleTransf; - scaleTransf.setIdentity(); - scaleTransf.getBasis()[0][0] = (s/m_cachedScaling)[0]; - scaleTransf.getBasis()[1][1] = (s/m_cachedScaling)[1]; - scaleTransf.getBasis()[2][2] = (s/m_cachedScaling)[2]; - btTransform combinedTr = tr.inverse() * (scaleTransf * (tr * vtx)); -*/ - const btTransform& tr = compound->getChildTransform(0); - for (int i=0;igetNumPoints();i++) - { - btVector3 oldPoint = child->getUnscaledPoints()[i]; - btVector3 parentPoint = tr*oldPoint; - btVector3 parentPointScaled = parentPoint*(s/m_cachedScaling); - btVector3 childPoint = tr.inverse()*parentPointScaled; - child->getUnscaledPoints()[i]=childPoint; - } - m_cachedScaling = s; - } - - update(); - } - - virtual void get_scale(vec3f& s) { -// const btVector3& scale = shape()->getLocalScaling(); -// s = vec3f(scale.x(), scale.y(), scale.z()); - s = vec3f(m_cachedScaling.x(), m_cachedScaling.y(), m_cachedScaling.z()); - } - - virtual float volume() { return m_volume; } - virtual vec3f const& local_inertia() { return m_local_inertia; } - virtual vec3f const& center() { return m_center; } - virtual quatf const& rotation() { return m_rotation; } - -protected: - friend class bt_solver_t; - - bt_convex_hull_shape_t(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices): - bt_collision_shape_t(), - m_normals(normals, normals + num_vertices), - m_indices(indices, indices + num_indices) - { - m_volume = ::volume(vertices, (int*)indices, num_indices); - m_center = center_of_mass(vertices, (int*)indices, num_indices); - mat3x3f I = inertia(vertices, (int*)indices, num_indices, m_center); - m_rotation = diagonalizer(I); - - mat3x3f Q, Qinv; - q_to_mat(m_rotation, Q); - q_to_mat(qconj(m_rotation), Qinv); - - //D = trans(Q) * I * Q; - m_local_inertia = diag(prod(trans(Q), mat3x3f(prod(I, Q)))); - - m_vertices.resize(num_vertices); - for(size_t i = 0; i < m_vertices.size(); ++i) { - m_vertices[i] = prod(Qinv, vertices[i] - m_center); - } - - m_ch_shape.reset(new btConvexHullShape((float const*)&(m_vertices[0]), num_vertices, sizeof(vec3f))); - btCompoundShape *compound_shape = new btCompoundShape; -// btTransform childTransf; -// childTransf.setIdentity(); -// childTransf.setOrigin(btVector3(m_center[0], m_center[1], m_center[2])); - // compound_shape->addChildShape(childTransf, m_ch_shape.get()); - -///* - compound_shape->addChildShape(btTransform(btQuaternion(m_rotation[1], - m_rotation[2], - m_rotation[3], - m_rotation[0]), - btVector3(m_center[0], - m_center[1], - m_center[2])), - m_ch_shape.get()); -//*/ - set_shape(compound_shape); - m_cachedScaling[0] = m_cachedScaling[1] = m_cachedScaling[2] = 1.f; - } - - void update() - { - //apply the scaling - btVector3 const& scale = m_ch_shape->getLocalScaling(); - btVector3 const* points = m_ch_shape->getUnscaledPoints(); - for(int i = 0; i < m_ch_shape->getNumPoints(); ++i) { - m_vertices[i] = vec3f(scale.x() * points[i].x(), scale.y() * points[i].y(), scale.z() * points[i].z()); - } - m_volume = ::volume(&(m_vertices[0]), (int*)&(m_indices[0]), m_indices.size()); - mat3x3f I = inertia(&(m_vertices[0]), (int*)&(m_indices[0]), (int)m_indices.size(), vec3f(0, 0, 0)); - //std::cout << I << std::endl; - //m_rotation = diagonalizer(I); - //std::cout << rotation << std::endl; - //the rotation shouldn't change from scaling - - mat3x3f Q, Qinv; - q_to_mat(m_rotation, Q); - q_to_mat(qconj(m_rotation), Qinv); - - //D = Q * I * trans(Q); - m_local_inertia = diag(prod(trans(Q), mat3x3f(prod(I, Q)))); - } - -private: - shared_ptr m_ch_shape; - std::vector m_vertices; - std::vector m_normals; - std::vector m_indices; - - float m_volume; - vec3f m_center; - quatf m_rotation; - vec3f m_local_inertia; - btVector3 m_cachedScaling; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_mesh_shape.h b/Extras/MayaPlugin/bt_mesh_shape.h deleted file mode 100644 index c83da0ab1..000000000 --- a/Extras/MayaPlugin/bt_mesh_shape.h +++ /dev/null @@ -1,168 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//bt_mesh_shape.h - -#ifndef DYN_BT_MESH_SHAPE_H -#define DYN_BT_MESH_SHAPE_H - -#include -#include - -#include "mesh_shape_impl.h" -#include "bt_collision_shape.h" - -class bt_mesh_shape_t: public bt_collision_shape_t, public mesh_shape_impl_t -{ -public: - virtual void gl_draw(size_t draw_style) { - - if(m_vertices.empty() || m_indices.empty()) return; - - btVector3 const& scale = shape()->getLocalScaling(); - glPushMatrix(); - glTranslatef(m_center[0], m_center[1], m_center[2]); - float angle; - vec3f axis; - q_to_axis_angle(m_rotation, axis, angle); - glRotatef(rad2deg(angle), axis[0], axis[1], axis[2]); - glScalef(scale.x(), scale.y(), scale.z()); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_NORMAL_ARRAY); - if(draw_style & collision_shape_t::kDSSolid) { - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } else { - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - glVertexPointer(3, GL_FLOAT, 0, &(m_vertices[0])); - glNormalPointer(GL_FLOAT, 0, &(m_normals[0])); - glDrawElements(GL_TRIANGLES, m_indices.size(), GL_UNSIGNED_INT, &(m_indices[0])); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_NORMAL_ARRAY); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - glPopMatrix(); - } - - virtual void set_scale(vec3f const& s) { - btGImpactMeshShape *gi_shape = static_cast(shape()); - gi_shape->setLocalScaling(btVector3(s[0], s[1], s[2])); - gi_shape->updateBound(); - update(); - } - - virtual void get_scale(vec3f& s) { - const btVector3& scale = shape()->getLocalScaling(); - s = vec3f(scale.x(), scale.y(), scale.z()); - } - - virtual float volume() { return m_volume; } - virtual vec3f const& local_inertia() { return m_local_inertia; } - virtual vec3f const& center() { return m_center; } - virtual quatf const& rotation() { return m_rotation; } - -protected: - friend class bt_solver_t; - - bt_mesh_shape_t(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices): - bt_collision_shape_t(), - m_normals(normals, normals + num_vertices), - m_indices(indices, indices + num_indices) - { - m_volume = ::volume(vertices, (int*)indices, num_indices); - m_center = center_of_mass(vertices, (int*)indices, num_indices); - mat3x3f I = inertia(vertices, (int*)indices, num_indices, m_center); - m_rotation = diagonalizer(I); - - mat3x3f Q, Qinv; - q_to_mat(m_rotation, Q); - q_to_mat(qconj(m_rotation), Qinv); - - //D = trans(Q) * I * Q; - m_local_inertia = diag(prod(trans(Q), mat3x3f(prod(I, Q)))); - - m_vertices.resize(num_vertices); - for(size_t i = 0; i < m_vertices.size(); ++i) { - m_vertices[i] = prod(Qinv, vertices[i] - m_center); - } - - m_tiva.reset(new btTriangleIndexVertexArray(num_indices / 3, (int*)&(m_indices[0]), 3 * sizeof(unsigned int), - num_vertices, (float*)&(m_vertices[0]), sizeof(vec3f))); - - m_gi_shape.reset(new btGImpactMeshShape(m_tiva.get())); - m_gi_shape->setLocalScaling(btVector3(1.0f,1.0f,1.0f)); - m_gi_shape->updateBound(); - btCompoundShape *compound_shape = new btCompoundShape; - compound_shape->addChildShape(btTransform(btQuaternion(m_rotation[1], - m_rotation[2], - m_rotation[3], - m_rotation[0]), - btVector3(m_center[0], - m_center[1], - m_center[2])), - m_gi_shape.get()); - set_shape(compound_shape); - - //std::cout << "construtor: " << m_center << std::endl; - - // gimpactShape->setMargin(0.05); - } - - void update() - { - //apply the scaling - btVector3 const& scale = m_gi_shape->getLocalScaling(); - - std::vector vertices(m_vertices.size()); - for(unsigned int i = 0; i < vertices.size(); ++i) { - vertices[i] = vec3f(scale.x() * m_vertices[i][0], scale.y() * m_vertices[i][1], scale.z() * m_vertices[i][2]); - } - m_volume = ::volume(&(vertices[0]), (int*)&(m_indices[0]), (int)m_indices.size()); - mat3x3f I = inertia(&(vertices[0]), (int*)&(m_indices[0]), (int)m_indices.size(), vec3f(0, 0, 0)); - // std::cout << I << std::endl; - //m_rotation = diagonalizer(I); - //std::cout << rotation << std::endl; - //the rotation shouldn't change from scaling - - mat3x3f Q, Qinv; - q_to_mat(m_rotation, Q); - q_to_mat(qconj(m_rotation), Qinv); - - //D = Q * I * trans(Q); - m_local_inertia = diag(prod(trans(Q), mat3x3f(prod(I, Q)))); - } - -private: - shared_ptr m_gi_shape; - std::vector m_vertices; - std::vector m_normals; - std::vector m_indices; - shared_ptr m_tiva; - - float m_volume; - vec3f m_center; - quatf m_rotation; - vec3f m_local_inertia; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_plane_shape.h b/Extras/MayaPlugin/bt_plane_shape.h deleted file mode 100644 index f24294cec..000000000 --- a/Extras/MayaPlugin/bt_plane_shape.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -12/24/2009 : Nail constraint improvements - -*/ - -//bt_plane_shape.h - -#ifndef DYN_BT_PLANE_SHAPE_H -#define DYN_BT_PLANE_SHAPE_H - -#include "plane_shape_impl.h" -#include "drawUtils.h" - -class bt_plane_shape_t: public bt_collision_shape_t, public plane_shape_impl_t -{ -public: - virtual void gl_draw(size_t draw_style) - { - // std::cout << "bt_plane_shape_t::draw" << std::endl; - // btStaticPlaneShape *plane_shape = static_cast(shape()); - glPushMatrix(); - glScalef(100.0f, 0.001f, 100.0f); - if(draw_style & collision_shape_t::kDSSolid) { - solid_cube(); - } else { - wire_cube(); - } - glPopMatrix(); - } - - virtual void set_scale(vec3f const& s) { - shape()->setLocalScaling(btVector3(s[0], s[1], s[2])); - } - - virtual void get_scale(vec3f& s) { - const btVector3& scale = shape()->getLocalScaling(); - s = vec3f(scale.x(), scale.y(), scale.z()); - } - - virtual float volume() { return m_volume; } - virtual vec3f const& local_inertia() { return m_local_inertia; } - virtual vec3f const& center() { return m_center; } - virtual quatf const& rotation() { return m_rotation; } - -protected: - friend class bt_solver_t; - - bt_plane_shape_t(vec3f const& normal, float d): - bt_collision_shape_t(), - m_volume(0), - m_local_inertia(1, 1, 1), - m_center(0, 0, 0), - m_rotation(qidentity()) - { - set_shape(new btStaticPlaneShape(btVector3(normal[0], normal[1], normal[2]), d)); - // shape()->setMargin(0.1); - } - -private: - float m_volume; - vec3f m_center; - quatf m_rotation; - vec3f m_local_inertia; - -}; - -#endif diff --git a/Extras/MayaPlugin/bt_rigid_body.h b/Extras/MayaPlugin/bt_rigid_body.h deleted file mode 100644 index 7f2f5398e..000000000 --- a/Extras/MayaPlugin/bt_rigid_body.h +++ /dev/null @@ -1,220 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_rigid_body.h - -#ifndef DYN_BT_RIGID_BODY_H -#define DYN_BT_RIGID_BODY_H - -#include "shared_ptr.h" -#include "rigid_body_impl.h" -#include "bt_collision_shape.h" -#include "LinearMath/btAlignedObjectArray.h" -#include "constraint/bt_constraint.h" - -class bt_rigid_body_t: public rigid_body_impl_t { -public: - virtual void get_transform(mat4x4f &xform) const - { - float m[16]; - m_body->getWorldTransform().getOpenGLMatrix(m); - xform = trans(cmat(m)); - } - - virtual void get_transform(vec3f &position, quatf &rotation) const - { - const btTransform& btxform = m_body->getWorldTransform(); - btQuaternion q = btxform.getRotation(); - btVector3 p = btxform.getOrigin(); - position = vec3f(p.x(), p.y(), p.z()); - rotation = quatf(q.w(), q.x(), q.y(), q.z()); - } - - virtual void set_transform(vec3f const &position, quatf const &rotation) - { - vec3f tp = position; - quatf tr = rotation; - btTransform xform(btQuaternion(tr[1], tr[2], tr[3], tr[0]), - btVector3(tp[0], tp[1], tp[2])); - m_body->setWorldTransform(xform); - // static bodies may got false "impulse" when editing in Maya, so... - m_body->setInterpolationWorldTransform(xform); - } - - virtual void set_interpolation_transform(vec3f const &position, quatf const &rotation) - { - vec3f tp = position; - quatf tr = rotation; - btTransform xform(btQuaternion(tr[1], tr[2], tr[3], tr[0]), - btVector3(tp[0], tp[1], tp[2])); - m_body->setInterpolationWorldTransform(xform); - } - - virtual void set_kinematic(bool kinematic) - { - if(kinematic) { - m_body->setCollisionFlags(m_body->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT); - m_body->setActivationState(DISABLE_DEACTIVATION); - m_body->setMassProps(0, btVector3(0.0,0.0,0.0)); - m_body->updateInertiaTensor(); - } else { - m_body->setCollisionFlags(m_body->getCollisionFlags() & ~btCollisionObject::CF_KINEMATIC_OBJECT); - m_body->setActivationState(ACTIVE_TAG); - m_body->setMassProps(m_mass, m_inertia); - m_body->updateInertiaTensor(); - } - } - - virtual void set_mass(float mass) - { -// std::cout << "bt_rigid_body::set_mass: " << mass << std::endl; - m_mass = mass; - if(m_body->getCollisionFlags() & btCollisionObject::CF_KINEMATIC_OBJECT) { - m_body->setMassProps(0, btVector3(0,0,0)); - } else { - m_body->setMassProps(m_mass, m_inertia); - } - m_body->updateInertiaTensor(); - } - - virtual void set_inertia(vec3f const& I) - { - m_inertia = btVector3(I[0], I[1], I[2]); - if(m_body->getCollisionFlags() & btCollisionObject::CF_KINEMATIC_OBJECT) { - m_body->setMassProps(0, btVector3(0,0,0)); - } else { - m_body->setMassProps(m_mass, m_inertia); - } - m_body->updateInertiaTensor(); - } - - virtual void set_restitution(float r) - { - m_body->setRestitution(r); - } - - virtual void set_friction(float f) - { - m_body->setFriction(f); - } - - virtual void set_linear_damping(float d) - { - m_linear_damping = d; - m_body->setDamping(m_linear_damping, m_angular_damping); - } - - virtual void set_angular_damping(float d) - { - m_angular_damping = d; - m_body->setDamping(m_linear_damping, m_angular_damping); - } - - virtual void set_linear_velocity(vec3f const& v) - { - m_body->setLinearVelocity(btVector3(v[0], v[1], v[2])); - } - - virtual void get_linear_velocity(vec3f& v) const - { - const btVector3 &val = m_body->getLinearVelocity(); - v = vec3f(val.x(), val.y(), val.z()); - } - - virtual void set_angular_velocity(vec3f const& v) - { - m_body->setAngularVelocity(btVector3(v[0], v[1], v[2])); - } - - virtual void get_angular_velocity(vec3f& v) const - { - const btVector3 &val = m_body->getAngularVelocity(); - v = vec3f(val.x(), val.y(), val.z()); - } - - virtual void clear_forces() - { - m_body->clearForces(); - } - - virtual void apply_central_force(vec3f const& f) - { - m_body->applyCentralForce(btVector3(f[0], f[1], f[2])); - } - - virtual void apply_torque(vec3f const& t) - { - m_body->applyTorque(btVector3(t[0], t[1], t[2])); - } - - virtual void update_constraint() - { - int count = m_constraintRef.size(); - for(int i=0; iupdate_constraint(this); - } - } - - btRigidBody* body() { return m_body.get(); } - - virtual void add_constraint(bt_constraint_t* constraint) - { - m_constraintRef.push_back(constraint); - } - virtual void remove_constraint(bt_constraint_t* constraint) - { - m_constraintRef.remove(constraint); - } -protected: - friend class bt_solver_t; - btAlignedObjectArray m_constraintRef; - - bt_rigid_body_t(collision_shape_impl_t* cs): - m_collision_shape(cs), - m_mass(1), - m_inertia(2.0f/5.0f, 2.0f/5.0f, 2.0f/5.0f), - m_linear_damping(0), - m_angular_damping(0) - { - bt_collision_shape_t* bt_shape = dynamic_cast(cs); - btRigidBody::btRigidBodyConstructionInfo rbInfo(m_mass, NULL, bt_shape->shape(), m_inertia); - rbInfo.m_restitution = 0; - rbInfo.m_friction = 0.1f; - rbInfo.m_linearDamping = m_linear_damping; - rbInfo.m_angularDamping = m_angular_damping; - m_body.reset(new btRigidBody(rbInfo)); - } - -private: - shared_ptr m_body; - collision_shape_impl_t* m_collision_shape; - float m_mass; - btVector3 m_inertia; - float m_linear_damping; - float m_angular_damping; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_solver.cpp b/Extras/MayaPlugin/bt_solver.cpp deleted file mode 100644 index 5ffba6cc6..000000000 --- a/Extras/MayaPlugin/bt_solver.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -//bt_solver.cpp - -#include "LinearMath/btSerializer.h" -#include "bt_solver.h" -//#include "../BulletColladaConverter/ColladaConverter.h" -//#include "../Serialize/BulletFileLoader/btBulletFile.h" - -btVector3 minWorld(-10000,-10000,-10000); -btVector3 maxWorld(10000,10000,10000); -int maxNumObj=32768; - - - - -void bt_solver_t::export_bullet_file(const char* fileName) -{ -// ColladaConverter tmpConverter(m_dynamicsWorld.get()); -// tmpConverter.save(fileName); - FILE* f2 = fopen(fileName,"wb"); - if(f2 == NULL) - { - fprintf(stderr,"Error: Can't open file %s for writing\n", fileName); - return; - } - int maxSerializeBufferSize = 1024*1024*5; - btDefaultSerializer* serializer = new btDefaultSerializer(maxSerializeBufferSize); - m_dynamicsWorld->serialize(serializer); - fwrite(serializer->getBufferPointer(),serializer->getCurrentBufferSize(),1,f2); - fclose(f2); - delete serializer; -} - -void bt_solver_t::import_bullet_file(const char* filename) -{ -//todo: need to create actual bodies etc -// ColladaConverter tmpConverter(m_dynamicsWorld.get()); -// tmpConverter.load(filename); -} - - -class bt_debug_draw : public btIDebugDraw -{ - int m_debugMode; -public: - virtual void drawLine(const btVector3& from,const btVector3& to,const btVector3& color) - { - glBegin(GL_LINES); - glColor3f(color.getX(), color.getY(), color.getZ()); - glVertex3d(from.getX(), from.getY(), from.getZ()); - glVertex3d(to.getX(), to.getY(), to.getZ()); - glEnd(); - } - virtual void drawContactPoint(const btVector3& PointOnB,const btVector3& normalOnB,btScalar distance,int lifeTime,const btVector3& color) - { - return; - } - virtual void reportErrorWarning(const char* warningString) - { - return; - } - virtual void draw3dText(const btVector3& location,const char* textString) - { - return; - } - virtual void setDebugMode(int debugMode) { m_debugMode = debugMode; } - virtual int getDebugMode() const { return m_debugMode; } -}; - - - -bt_solver_t::bt_solver_t(): -// m_broadphase(new btAxisSweep3(minWorld,maxWorld,maxNumObj)), - m_broadphase(new btDbvtBroadphase()), - m_solver(new btSequentialImpulseConstraintSolver), - m_collisionConfiguration(new btDefaultCollisionConfiguration), - m_dispatcher(new btCollisionDispatcher(m_collisionConfiguration.get())), - m_dynamicsWorld(new btDiscreteDynamicsWorld(m_dispatcher.get(), - m_broadphase.get(), - m_solver.get(), - m_collisionConfiguration.get())) -{ - - //register algorithm for concave meshes - btGImpactCollisionAlgorithm::registerAlgorithm(m_dispatcher.get()); - - m_dynamicsWorld->setGravity(btVector3(0, -9.81f, 0)); - - // m_dynamicsWorld->getSolverInfo().m_splitImpulse = true; - - bt_debug_draw* dbgDraw = new bt_debug_draw(); - m_dynamicsWorld->setDebugDrawer(dbgDraw); -} - - -void bt_solver_t::debug_draw(int dbgMode) -{ - m_dynamicsWorld->getDebugDrawer()->setDebugMode(dbgMode); - m_dynamicsWorld->debugDrawWorld(); -} - diff --git a/Extras/MayaPlugin/bt_solver.h b/Extras/MayaPlugin/bt_solver.h deleted file mode 100644 index bd9eb9efa..000000000 --- a/Extras/MayaPlugin/bt_solver.h +++ /dev/null @@ -1,175 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -//bt_solver.h - -#ifndef DYN_BT_SOLVER_H -#define DYN_BT_SOLVER_H - -#include "btBulletCollisionCommon.h" -#include "btBulletDynamicsCommon.h" -#include "BulletCollision/Gimpact/btGImpactShape.h" -#include "BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h" - -#include "solver_impl.h" -#include "bt_rigid_body.h" -#include "bt_sphere_shape.h" -#include "bt_plane_shape.h" -#include "bt_box_shape.h" -#include "bt_convex_hull_shape.h" -#include "bt_mesh_shape.h" -#include "constraint/bt_nail_constraint.h" -#include "constraint/bt_hinge_constraint.h" -#include "constraint/bt_slider_constraint.h" -#include "constraint/bt_sixdof_constraint.h" - -class bt_solver_t: public solver_impl_t -{ -public: - virtual rigid_body_impl_t* create_rigid_body(collision_shape_impl_t* cs) { - return new bt_rigid_body_t(cs); - } - - virtual collision_shape_impl_t* create_sphere_shape(float radius) { - return new bt_sphere_shape_t(radius); - } - - virtual collision_shape_impl_t* create_plane_shape(vec3f const& normal, float d) { - return new bt_plane_shape_t(normal, d); - } - - virtual collision_shape_impl_t* create_box_shape(vec3f const& halfExtents) { - return new bt_box_shape_t(halfExtents); - } - - virtual collision_shape_impl_t* create_convex_hull_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) - { - return new bt_convex_hull_shape_t(vertices, num_vertices, normals, indices, num_indices); - } - - virtual collision_shape_impl_t* create_mesh_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) - { - return new bt_mesh_shape_t(vertices, num_vertices, normals, indices, num_indices); - } - - virtual nail_constraint_impl_t* create_nail_constraint(rigid_body_impl_t* rb, vec3f const& pivot) - { - return new bt_nail_constraint_t(rb, pivot); - } - virtual nail_constraint_impl_t* create_nail_constraint(rigid_body_impl_t* rbA, rigid_body_impl_t* rbB, vec3f const& pivotInA, vec3f const& pivotInB) - { - return new bt_nail_constraint_t(rbA, rbB, pivotInA, pivotInB); - } - virtual hinge_constraint_impl_t* create_hinge_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) - { - return new bt_hinge_constraint_t(rb, pivot, rot); - } - virtual hinge_constraint_impl_t* create_hinge_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) - { - return new bt_hinge_constraint_t(rbA, pivotA, rotA, rbB, pivotB, rotB); - } - virtual slider_constraint_impl_t* create_slider_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) - { - return new bt_slider_constraint_t(rb, pivot, rot); - } - virtual slider_constraint_impl_t* create_slider_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) - { - return new bt_slider_constraint_t(rbA, pivotA, rotA, rbB, pivotB, rotB); - } - virtual sixdof_constraint_impl_t* create_sixdof_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) - { - return new bt_sixdof_constraint_t(rb, pivot, rot); - } - virtual sixdof_constraint_impl_t* create_sixdof_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) - { - return new bt_sixdof_constraint_t(rbA, pivotA, rotA, rbB, pivotB, rotB); - } - - virtual void add_rigid_body(rigid_body_impl_t* rb) - { - bt_rigid_body_t* bt_body = static_cast(rb); - bt_body->body()->setActivationState(DISABLE_DEACTIVATION); - m_dynamicsWorld->addRigidBody(bt_body->body()); - } - - virtual void remove_rigid_body(rigid_body_impl_t* rb) - { - bt_rigid_body_t* bt_body = static_cast(rb); - m_dynamicsWorld->removeRigidBody(bt_body->body()); - } - - virtual void add_constraint(constraint_impl_t* c) - { - bt_constraint_t* btc = dynamic_cast(c); - m_dynamicsWorld->addConstraint(btc->constraint(), true); - } - - virtual void remove_constraint(constraint_impl_t* c) - { - bt_constraint_t* btc = dynamic_cast(c); - m_dynamicsWorld->removeConstraint(btc->constraint()); - } - - virtual void set_gravity(vec3f const& g) - { - m_dynamicsWorld->setGravity(btVector3(g[0], g[1], g[2])); - } - - virtual void set_split_impulse(bool enabled) - { - m_dynamicsWorld->getSolverInfo().m_splitImpulse = enabled; - } - - virtual void step_simulation(float dt) - { - m_dynamicsWorld->stepSimulation(dt, 1000, 1.0f / 120.0f); - } - - virtual void debug_draw(int dbgMode); - - virtual void export_bullet_file(const char* fileName); - - virtual void import_bullet_file(const char* filename); - - -protected: - friend class solver_t; - bt_solver_t(); - -private: - - shared_ptr m_broadphase; - shared_ptr m_solver; - shared_ptr m_collisionConfiguration; - shared_ptr m_dispatcher; - shared_ptr m_dynamicsWorld; -}; - -#endif diff --git a/Extras/MayaPlugin/bt_sphere_shape.h b/Extras/MayaPlugin/bt_sphere_shape.h deleted file mode 100644 index 56dc9029b..000000000 --- a/Extras/MayaPlugin/bt_sphere_shape.h +++ /dev/null @@ -1,111 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -12/24/2009 : Nail constraint improvements - -*/ - -//bt_sphere_shape.h - -#ifndef DYN_BT_SPHERE_SHAPE_H -#define DYN_BT_SPHERE_SHAPE_H - -#ifdef WIN32//for glut.h -#include -#endif - -//think different -#if defined(__APPLE__) && !defined (VMDMESA) -#include -#include -#else -#include -#endif - - -#include "sphere_shape_impl.h" -#include "bt_collision_shape.h" -#include "collision_shape.h" -#include "drawUtils.h" - -class bt_sphere_shape_t: public bt_collision_shape_t, public sphere_shape_impl_t -{ -public: - virtual void gl_draw(size_t draw_style) { - btSphereShape *sphere_shape = static_cast(shape()); - glPushMatrix(); - glScalef(sphere_shape->getRadius(), sphere_shape->getRadius(), sphere_shape->getRadius()); - if(draw_style & collision_shape_t::kDSSolid) { - solid_sphere(); - } else { - wire_sphere(); - } - glPopMatrix(); - } - - virtual void set_scale(vec3f const& s) { - shape()->setLocalScaling(btVector3(s[0], s[1], s[2])); - update(); - } - - virtual void get_scale(vec3f& s) { - const btVector3& scale = shape()->getLocalScaling(); - s = vec3f(scale.x(), scale.y(), scale.z()); - } - - virtual float volume() { return m_volume; } - virtual vec3f const& local_inertia() { return m_local_inertia; } - virtual vec3f const& center() { return m_center; } - virtual quatf const& rotation() { return m_rotation; } - -protected: - friend class bt_solver_t; - - bt_sphere_shape_t(float radius): - bt_collision_shape_t() - { - set_shape(new btSphereShape(radius)); - // shape()->setMargin(0.1); - update(); - } - - void update() - { - btSphereShape *sphere_shape = static_cast(shape()); - float radius = sphere_shape->getRadius(); - m_volume = (4.0f * 3.1415926f * radius * radius * radius) / 3.0f; - m_center = vec3f(0, 0, 0); - m_rotation = qidentity(); - m_local_inertia = vec3f(2.0f / 5.0f * radius * radius, - 2.0f / 5.0f * radius * radius, - 2.0f / 5.0f * radius * radius); - } - -private: - float m_volume; - vec3f m_center; - quatf m_rotation; - vec3f m_local_inertia; - -}; - -#endif diff --git a/Extras/MayaPlugin/bullet.nsi b/Extras/MayaPlugin/bullet.nsi deleted file mode 100644 index 2edede7da..000000000 --- a/Extras/MayaPlugin/bullet.nsi +++ /dev/null @@ -1,81 +0,0 @@ -; example1.nsi -; -; This script is perhaps one of the simplest NSIs you can make. All of the -; optional settings are left to their default settings. The installer simply -; prompts the user asking them where to install, and drops a copy of "MyProg.exe" -; there. - -;-------------------------------- - -; The name of the installer -Name "Dynamica Bullet 2.76 physics plugin for Maya 2009" - -; The file to write -OutFile "DynamicaForMaya2009_64bit.exe" - - -; The default installation directory -InstallDir $PROGRAMFILES\DynamicaBullet2.76\ - -UninstPage uninstConfirm -UninstPage instfiles - -; The text to prompt the user to enter a directory -DirText "This will install Dynamica Bullet For Maya. Choose destination directory" - -;-------------------------------- - -; The stuff to install -Section "" ;No components page, name is not important -;Create Dynamica directories -;CreateDirectory "$INSTDIR\dll" -CreateDirectory "$INSTDIR\doc" -CreateDirectory "$INSTDIR\scenes\" -CreateDirectory "$INSTDIR\icons" -CreateDirectory "$INSTDIR\plug-ins" -CreateDirectory "$INSTDIR\scripts" - -;SetOutPath "$INSTDIR\dll" -;File "dll\*.dll" -SetOutPath "$INSTDIR\doc" -File "doc\*.*" -SetOutPath "$INSTDIR\scenes" -File "scenes\*.*" -SetOutPath "$INSTDIR\icons" -File "icons\*.*" -SetOutPath "$INSTDIR\plug-ins" -File "BulletMayaPlugin.mll" -;File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcp80.dll" -;File "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll" - -File "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcp90.dll" -File "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll" - -SetOutPath "$INSTDIR\scripts" -File "scripts\*.*" -SetOutPath "$DOCUMENTS\maya\modules\" -File "BulletDynamica.6_module" - -FileOpen $0 $DOCUMENTS\maya\modules\BulletDynamica.6_module a -FileSeek $0 0 END -FileWrite $0 "$INSTDIR$\n" -FileClose $0 - -CreateDirectory "$SMPROGRAMS\Dynamica Bullet" -CreateShortCut "$SMPROGRAMS\Dynamica Bullet\Documentation.lnk" "$INSTDIR\doc\index.html" -CreateShortCut "$SMPROGRAMS\Dynamica Bullet\Examples.lnk" "$INSTDIR\scenes\" -CreateShortCut "$SMPROGRAMS\Dynamica Bullet\Uninstall.lnk" "$INSTDIR\Uninstall.exe" -ExecShell "open" "$INSTDIR\doc\index.html" - -WriteUninstaller $INSTDIR\Uninstall.exe -SectionEnd ; end the section - -Section "Uninstall" - ClearErrors - MessageBox MB_YESNO "Uninstall Bullet for MAYA?" IDNO end - - Delete "$DOCUMENTS\maya\modules\DynamicaBullet.6_module" - RMDir /r "$SMPROGRAMS\Dynamica Bullet\" - RMDir /r "$INSTDIR" - end: -SectionEnd \ No newline at end of file diff --git a/Extras/MayaPlugin/bulletExport.cpp b/Extras/MayaPlugin/bulletExport.cpp deleted file mode 100644 index 128c1eda1..000000000 --- a/Extras/MayaPlugin/bulletExport.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Modified by Roman Ponomarev -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -#include "bulletExport.h" -#include "solver.h" -#include "solver_impl.h" - -#if defined (_WIN32) -#define strcasecmp stricmp -#elif defined (OSMac_) -extern "C" int strcasecmp (const char *, const char *); - -#endif - -#define NO_SMOOTHING_GROUP -1 -#define INITIALIZE_SMOOTHING -2 -#define INVALID_ID -1 - -////////////////////////////////////////////////////////////// - -MString ObjTranslator::fExtension = "bullet"; - -////////////////////////////////////////////////////////////// - -void* ObjTranslator::creator() -{ - return new ObjTranslator(); -} - -////////////////////////////////////////////////////////////// - -MStatus ObjTranslator::reader ( const MFileObject& file, - const MString& options, - FileAccessMode mode) -{ - fprintf(stderr, "Bullet Physics import is not available yet\n"); - return MS::kFailure; -} - - - -MStatus ObjTranslator::writer ( const MFileObject& file, - const MString& options, - FileAccessMode mode ) - -{ - MStatus status; - - MString mname = file.fullName(), unitName; - -//just pass in the filename - -#if defined (OSMac_) - char fname[256];//MAXPATHLEN]; - strcpy (fname, file.fullName().asChar()); -// fp = fopen(fname,"wb");//MAYAMACTODO -#else - const char *fname = mname.asChar(); - // fp = fopen(fname,"w"); -#endif - -shared_ptr solv = solver_t::get_solver(); - -solv->export_bullet_file(fname); - -return status; - -} -////////////////////////////////////////////////////////////// - -bool ObjTranslator::haveReadMethod () const -{ - return true; -} -////////////////////////////////////////////////////////////// - -bool ObjTranslator::haveWriteMethod () const -{ - return true; -} -////////////////////////////////////////////////////////////// - -MString ObjTranslator::defaultExtension () const -{ -// return MString("bullet"); - return fExtension; -} - -MString ObjTranslator::filter() const -{ - //return "*.bullet;*.dae"; - return "*.bullet"; -} - -////////////////////////////////////////////////////////////// - -MPxFileTranslator::MFileKind ObjTranslator::identifyFile ( - const MFileObject& fileName, - const char* buffer, - short size) const -{ - const char * name = fileName.name().asChar(); - int nameLength = strlen(name); - - if ((nameLength > 7) && !strcasecmp(name+nameLength-7, ".bullet")) - return kCouldBeMyFileType; - else - return kNotMyFileType; -} -////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////// -MStatus ObjTranslator::exportSelected( ) -{ - MStatus status; - MString filename; - - - // Create an iterator for the active selection list - // - MSelectionList slist; - MGlobal::getActiveSelectionList( slist ); - MItSelectionList iter( slist ); - - if (iter.isDone()) { - fprintf(stderr,"Error: Nothing is selected.\n"); - return MS::kFailure; - } - - - return status; -} - -////////////////////////////////////////////////////////////// - -MStatus ObjTranslator::exportAll( ) -{ - MStatus status = MS::kSuccess; - - return status; -} diff --git a/Extras/MayaPlugin/bulletExport.h b/Extras/MayaPlugin/bulletExport.h deleted file mode 100644 index 4d02f1053..000000000 --- a/Extras/MayaPlugin/bulletExport.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Modified by Roman Ponomarev -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - - -#ifndef BULLET_EXPORT_H -#define BULLET_EXPORT_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#include -#include -#include -#include -#include -#include - - -////////////////////////////////////////////////////////////// -class ObjTranslator : public MPxFileTranslator { -public: - ObjTranslator () {}; - virtual ~ObjTranslator () {}; - static void* creator(); - - MStatus reader ( const MFileObject& file, - const MString& optionsString, - FileAccessMode mode); - - MStatus writer ( const MFileObject& file, - const MString& optionsString, - FileAccessMode mode ); - bool haveReadMethod () const; - bool haveWriteMethod () const; - MString defaultExtension () const; - - MString filter() const; - - MFileKind identifyFile ( const MFileObject& fileName, - const char* buffer, - short size) const; -protected: - static MString fExtension; - -private: - MStatus exportSelected(); - MStatus exportAll(); - -private: - -}; - - -#endif //BULLET_EXPORT_H - diff --git a/Extras/MayaPlugin/collisionShapeNode.cpp b/Extras/MayaPlugin/collisionShapeNode.cpp deleted file mode 100644 index d9218f886..000000000 --- a/Extras/MayaPlugin/collisionShapeNode.cpp +++ /dev/null @@ -1,323 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ -//collisionShapeNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "collisionShapeNode.h" -#include "mayaUtils.h" -#include "solver.h" - -MTypeId collisionShapeNode::typeId(0x100332); -MString collisionShapeNode::typeName("dCollisionShape"); - -MObject collisionShapeNode::ia_shape; -MObject collisionShapeNode::ia_type; -MObject collisionShapeNode::ia_scale; -MObject collisionShapeNode::ca_collisionShape; -MObject collisionShapeNode::ca_collisionShapeParam; -MObject collisionShapeNode::oa_collisionShape; - -MStatus collisionShapeNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnEnumAttribute fnEnumAttr; - - ia_type = fnEnumAttr.create("type", "tp", 5, &status); - MCHECKSTATUS(status, "creating type attribute") - fnEnumAttr.addField("Convex Hull", 0); - fnEnumAttr.addField("Mesh", 1); - fnEnumAttr.addField("Cylinder", 2); - fnEnumAttr.addField("Capsule", 3); - fnEnumAttr.addField("Box", 4); - fnEnumAttr.addField("Sphere", 5); - fnEnumAttr.addField("Plane", 6); - fnEnumAttr.setKeyable(true); - status = addAttribute(ia_type); - MCHECKSTATUS(status, "adding type attribute") - - ia_scale = fnNumericAttr.createPoint("scale", "sc", &status); - MCHECKSTATUS(status, "creating ia_scale attribute") - fnNumericAttr.setDefault(1.0, 1.0, 1.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_scale); - MCHECKSTATUS(status, "adding ia_scale attribute") - - oa_collisionShape = fnMsgAttr.create("outCollisionShape", "oucs", &status); - MCHECKSTATUS(status, "creating outCollisionShape attribute") - status = addAttribute(oa_collisionShape); - MCHECKSTATUS(status, "adding outCollisionShape attribute") - - ia_shape = fnMsgAttr.create("inShape", "insh", &status); - MCHECKSTATUS(status, "creating inShape attribute") - status = addAttribute(ia_shape); - MCHECKSTATUS(status, "adding inShape attribute") - - ca_collisionShape = fnNumericAttr.create("ca_collisionShape", "ccs", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_collisionShape attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_collisionShape); - MCHECKSTATUS(status, "adding ca_collisionShape attribute") - - ca_collisionShapeParam = fnNumericAttr.create("collisionShapeParam", "cspm", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_collisionShapeParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_collisionShapeParam); - MCHECKSTATUS(status, "adding ca_collisionShapeParam attribute") - - // - status = attributeAffects(ia_shape, oa_collisionShape); - MCHECKSTATUS(status, "adding attributeAffects(ia_shape, oa_collisionShape)") - - status = attributeAffects(ia_type, oa_collisionShape); - MCHECKSTATUS(status, "adding attributeAffects(ia_type, oa_collisionShape)") - - status = attributeAffects(ia_scale, oa_collisionShape); - MCHECKSTATUS(status, "adding attributeAffects(ia_scale, oa_collisionShape)") - - // - status = attributeAffects(ia_shape, ca_collisionShape); - MCHECKSTATUS(status, "adding attributeAffects(ia_shape, ca_collisionShape)") - - status = attributeAffects(ia_type, ca_collisionShape); - MCHECKSTATUS(status, "adding attributeAffects(ia_shape, ca_collisionShape)") - - // - status = attributeAffects(ia_shape, ca_collisionShapeParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_shape, oa_collisionShapeParam)") - - status = attributeAffects(ia_scale, ca_collisionShapeParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_scale, oa_collisionShapeParam)") - - status = attributeAffects(ia_type, ca_collisionShapeParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_type, oa_collisionShapeParam)") - - return MS::kSuccess; -} - -collisionShapeNode::collisionShapeNode() -{ - // std::cout << "collisionShapeNode::collisionShapeNode" << std::endl; -} - -collisionShapeNode::~collisionShapeNode() -{ - // std::cout << "collisionShapeNode::~collisionShapeNode" << std::endl; -} - - -void* collisionShapeNode::creator() -{ - return new collisionShapeNode(); -} - - -bool collisionShapeNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus collisionShapeNode::compute( const MPlug& plug, MDataBlock& data ) -{ - if(plug == oa_collisionShape) { - computeOutputShape(plug, data); - } else if(plug == ca_collisionShape) { - computeCollisionShape(plug, data); - } else if(plug == ca_collisionShapeParam) { - computeCollisionShapeParam(plug, data); - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -collision_shape_t::pointer collisionShapeNode::collisionShape() -{ - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, oa_collisionShape).getValue(update); - MPlug(thisObject, ca_collisionShapeParam).getValue(update); - return m_collision_shape; -} - -void collisionShapeNode::computeCollisionShape(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "collisionShapeNode::computeCollisionShape" << std::endl; - - MObject thisObject(thisMObject()); - - MPlug plgInShape(thisObject, ia_shape); - - MPlug plgType(thisObject, ia_type); - int type; - plgType.getValue(type); - switch(type) { - case 0: - { - //convex hull - MPlugArray plgaConnectedTo; - plgInShape.connectedTo(plgaConnectedTo, true, true); - if(plgaConnectedTo.length() > 0) { - MObject node = plgaConnectedTo[0].node(); - if(node.hasFn(MFn::kMesh)) { - MDagPath dagPath; - MDagPath::getAPathTo(node, dagPath); - MFnMesh fnMesh(dagPath); - MFloatPointArray mpoints; - MFloatVectorArray mnormals; - MIntArray mtrianglecounts; - MIntArray mtrianglevertices; - fnMesh.getPoints(mpoints, MSpace::kObject); - fnMesh.getNormals(mnormals, MSpace::kObject); - fnMesh.getTriangles(mtrianglecounts, mtrianglevertices); - - std::vector vertices(mpoints.length()); - std::vector normals(mpoints.length()); - std::vector indices(mtrianglevertices.length()); - - for(size_t i = 0; i < vertices.size(); ++i) { - vertices[i] = vec3f(mpoints[i].x, mpoints[i].y, mpoints[i].z); - normals[i] = vec3f(mnormals[i].x, mnormals[i].y, mnormals[i].z); - } - for(size_t i = 0; i < indices.size(); ++i) { - indices[i] = mtrianglevertices[i]; - } - m_collision_shape = solver_t::create_convex_hull_shape(&(vertices[0]), vertices.size(), &(normals[0]), - &(indices[0]), indices.size()); - } - } - } - break; - case 1: - //mesh - { - //convex hull - MPlugArray plgaConnectedTo; - plgInShape.connectedTo(plgaConnectedTo, true, true); - if(plgaConnectedTo.length() > 0) { - MObject node = plgaConnectedTo[0].node(); - if(node.hasFn(MFn::kMesh)) { - MDagPath dagPath; - MDagPath::getAPathTo(node, dagPath); - MFnMesh fnMesh(dagPath); - MFloatPointArray mpoints; - MFloatVectorArray mnormals; - MIntArray mtrianglecounts; - MIntArray mtrianglevertices; - fnMesh.getPoints(mpoints, MSpace::kObject); - fnMesh.getNormals(mnormals, MSpace::kObject); - fnMesh.getTriangles(mtrianglecounts, mtrianglevertices); - - std::vector vertices(mpoints.length()); - std::vector normals(mpoints.length()); - std::vector indices(mtrianglevertices.length()); - - for(size_t i = 0; i < vertices.size(); ++i) { - vertices[i] = vec3f(mpoints[i].x, mpoints[i].y, mpoints[i].z); - normals[i] = vec3f(mnormals[i].x, mnormals[i].y, mnormals[i].z); - } - for(size_t i = 0; i < indices.size(); ++i) { - indices[i] = mtrianglevertices[i]; - } - m_collision_shape = solver_t::create_mesh_shape(&(vertices[0]), vertices.size(), &(normals[0]), - &(indices[0]), indices.size()); - } - } - } - break; - case 2: - //cylinder - break; - case 3: - //capsule - break; - case 4: - //box - m_collision_shape = solver_t::create_box_shape(); - break; - case 5: - //sphere - m_collision_shape = solver_t::create_sphere_shape(); - break; - case 6: - //plane - m_collision_shape = solver_t::create_plane_shape(); - break; - } - - assert(m_collision_shape); - - data.setClean(plug); -} - - -void collisionShapeNode::computeCollisionShapeParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "collisionShapeNode::computeCollisionShapeParam" << std::endl; - - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ia_shape).getValue(update); - MPlug(thisObject, ia_type).getValue(update); - - float3& scale = data.inputValue(ia_scale).asFloat3(); - - m_collision_shape->set_scale(vec3f(scale[0], scale[1], scale[2])); - - data.setClean(plug); -} - -void collisionShapeNode::computeOutputShape(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "collisionShapeNode::computeOutputShape" << std::endl; - - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_collisionShape).getValue(update); - MPlug(thisObject, ca_collisionShapeParam).getValue(update); - - data.setClean(plug); -} diff --git a/Extras/MayaPlugin/collisionShapeNode.h b/Extras/MayaPlugin/collisionShapeNode.h deleted file mode 100644 index eec461e91..000000000 --- a/Extras/MayaPlugin/collisionShapeNode.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//collisionShapeNode.h - -#ifndef DYN_COLLISION_SHAPE_NODE_H -#define DYN_COLLISION_SHAPE_NODE_H - -#include -#include -#include - -#include "collision_shape.h" - - -class collisionShapeNode: public MPxNode -{ -public: - collisionShapeNode(); - virtual ~collisionShapeNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - static void * creator(); - static MStatus initialize(); - -public: - - collision_shape_t::pointer collisionShape(); - -public: - - //Attributes - static MObject ia_shape; - static MObject ia_type; - static MObject ia_scale; - static MObject ca_collisionShape; - static MObject ca_collisionShapeParam; - static MObject oa_collisionShape; - -public: - static MTypeId typeId; - static MString typeName; - -protected: - void computeCollisionShape(const MPlug& plug, MDataBlock& data); - void computeCollisionShapeParam(const MPlug& plug, MDataBlock& data); - void computeOutputShape(const MPlug& plug, MDataBlock& data); - -private: - collision_shape_t::pointer m_collision_shape; - -}; - - - -#endif diff --git a/Extras/MayaPlugin/collision_shape.h b/Extras/MayaPlugin/collision_shape.h deleted file mode 100644 index 9fc48b305..000000000 --- a/Extras/MayaPlugin/collision_shape.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//collision_shape.h - -#ifndef DYN_COLLISION_SHAPE_H -#define DYN_COLLISION_SHAPE_H - -#include "shared_ptr.h" -#include "collision_shape_impl.h" - -class collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - //enums - enum DrawStyle { - kDSWireframe = 0x0001, - kDSSolid = 0x0002 - }; - - virtual void gl_draw(size_t draw_style = kDSSolid) { m_impl->gl_draw(draw_style); } - - virtual void set_scale(vec3f const& s) { m_impl->set_scale(s); } - virtual void get_scale(vec3f& s) { m_impl->get_scale(s); } - - virtual float volume() { return m_impl->volume(); } - //for the inertia is assumed that the mass is 1.0. just multiply by the mass - virtual vec3f const& local_inertia() { return m_impl->local_inertia(); } - virtual vec3f const& center() { return m_impl->center(); } - virtual quatf const& rotation() { return m_impl->rotation(); } - -public: - virtual ~collision_shape_t() {} - -protected: - friend class solver_t; - - collision_shape_t(collision_shape_impl_t* impl): m_impl(impl) { } - - collision_shape_impl_t* impl() { return m_impl.get(); } - -private: - shared_ptr m_impl; -}; - -#endif diff --git a/Extras/MayaPlugin/collision_shape_impl.h b/Extras/MayaPlugin/collision_shape_impl.h deleted file mode 100644 index 4b3889eab..000000000 --- a/Extras/MayaPlugin/collision_shape_impl.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//collision_shape_impl.h - -#ifndef DYN_COLLISION_SHAPE_IMPL_H -#define DYN_COLLISION_SHAPE_IMPL_H - -#include "shared_ptr.h" -#include "mathUtils.h" - -class collision_shape_impl_t -{ -public: - // - virtual void gl_draw(size_t draw_style) = 0; - - virtual void set_scale(vec3f const& s) = 0; - virtual void get_scale(vec3f& s) = 0; - - virtual float volume() = 0; - virtual vec3f const& local_inertia() = 0; - virtual vec3f const& center() = 0; - virtual quatf const& rotation() = 0; - -public: - virtual ~collision_shape_impl_t() {}; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/bt_constraint.h b/Extras/MayaPlugin/constraint/bt_constraint.h deleted file mode 100644 index 2f99464e0..000000000 --- a/Extras/MayaPlugin/constraint/bt_constraint.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_constraint.h - -#ifndef DYN_BT_CONSTRAINT_H -#define DYN_BT_CONSTRAINT_H - -#include "btBulletCollisionCommon.h" -#include "btBulletDynamicsCommon.h" -#include "shared_ptr.h" - -class rigid_body_impl_t; - -class bt_constraint_t -{ -public: - -protected: - friend class bt_solver_t; - - bt_constraint_t() { } - - btTypedConstraint* constraint() { return m_constraint.get(); } - void set_constraint(btTypedConstraint *constraint) { return m_constraint.reset(constraint); } - virtual void update_constraint(rigid_body_impl_t* rb) = 0; - -public: - friend class bt_rigid_body_t; - - virtual ~bt_constraint_t() { } - -protected: - shared_ptr m_constraint; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/bt_hinge_constraint.h b/Extras/MayaPlugin/constraint/bt_hinge_constraint.h deleted file mode 100644 index d4ad77aec..000000000 --- a/Extras/MayaPlugin/constraint/bt_hinge_constraint.h +++ /dev/null @@ -1,193 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_hinge_constraint.h - -#ifndef DYN_BT_HINGE_CONSTRAINT_H -#define DYN_BT_HINGE_CONSTRAINT_H - -#include "bt_rigid_body.h" -#include "bt_constraint.h" -#include "hinge_constraint_impl.h" - -class bt_hinge_constraint_t: public bt_constraint_t, public hinge_constraint_impl_t { -public: - - virtual void set_damping(float d) { -// btHingeConstraint* p2pc = static_cast(m_constraint.get()); -// p2pc->m_setting.m_damping = d; - } - - virtual void set_limit(float lower, float upper, float softness, float bias_factor, float relaxation_factor) { - btHingeConstraint* hinge = static_cast(m_constraint.get()); - hinge->setLimit(lower, upper, softness, bias_factor, relaxation_factor); - } - - virtual void set_axis(vec3f const &p) { - btHingeConstraint* hinge = static_cast(m_constraint.get()); - btVector3 axis(p[0], p[1], p[2]); - hinge->setAxis(axis); - } - - virtual float damping() const { -// btHingeConstraint const* hc = static_cast(m_constraint.get()); -// return hc->m_setting.m_damping; - return 0; - } - - // - virtual void get_frameA(vec3f& p, quatf& r) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform& btxform = hc->getAFrame(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_frameB(vec3f& p, quatf& r) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform& btxform = hc->getBFrame(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameA(vec3f& p, quatf& r) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform btxform = hc->getAFrame().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameB(vec3f& p, quatf& r) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform btxform = hc->getBFrame().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void worldToA(vec3f& w, vec3f& p) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform w2a = (hc->getRigidBodyA().getWorldTransform() * hc->getAFrame()).inverse(); - btVector3 bw(w[0], w[1], w[2]); - btVector3 bp = w2a * bw; - p = vec3f(bp[0], bp[1], bp[2]); - } - virtual void worldFromB(vec3f& p, vec3f& w) const - { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - const btTransform b2w = hc->getRigidBodyB().getWorldTransform() * hc->getBFrame(); - btVector3 bp(p[0], p[1], p[2]); - btVector3 bw = b2w * bp; - w = vec3f(bw[0], bw[1], bw[2]); - } - - virtual void set_world(vec3f const &p, quatf const& r) { - btHingeConstraint* hc = static_cast(m_constraint.get()); - btVector3 worldP(p[0], p[1], p[2]); - btQuaternion worldR(r[1], r[2], r[3], r[0]); - btTransform frameAinW(worldR, worldP); - btTransform frameA = hc->getRigidBodyA().getWorldTransform().inverse() * frameAinW; - btTransform frameB = hc->getRigidBodyB().getWorldTransform().inverse() * frameAinW; - hc->getAFrame() = frameA; - hc->getBFrame() = frameB; - } - - virtual void get_world(vec3f &p, quatf& r) const { - btHingeConstraint const* hc = static_cast(m_constraint.get()); - btTransform frameAinW = hc->getRigidBodyA().getWorldTransform() * hc->getAFrame(); - btQuaternion bq = frameAinW.getRotation(); - btVector3 bp = frameAinW.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - - virtual void enable_motor(bool enable, float velocity, float impulse) { - btHingeConstraint* hinge = static_cast(m_constraint.get()); - hinge->enableAngularMotor(enable, velocity, impulse); - } - - virtual void update_constraint(rigid_body_impl_t* rb) - { - btHingeConstraint* hc = static_cast(m_constraint.get()); - btRigidBody* bt_body = static_cast(rb)->body(); - btTransform frameW, frameL; - if(bt_body == &hc->getRigidBodyA()) - { - frameW = hc->getRigidBodyB().getWorldTransform() * hc->getBFrame(); - frameL = hc->getRigidBodyA().getWorldTransform().inverse() * frameW; - hc->getAFrame() = frameL; - } - else if(bt_body == &hc->getRigidBodyB()) - { - frameW = hc->getRigidBodyA().getWorldTransform() * hc->getAFrame(); - frameL = hc->getRigidBodyB().getWorldTransform().inverse() * frameW; - hc->getBFrame() = frameL; - } - setPivotChanged(true); - } -protected: - friend class bt_solver_t; - - bt_hinge_constraint_t(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot): - hinge_constraint_impl_t() - { - btRigidBody& bt_body = *static_cast(rb)->body(); - btVector3 p(pivot[0], pivot[1], pivot[2]); - btQuaternion q(rot[1], rot[2], rot[3], rot[0]); - btTransform frameInA(q, p); - btHingeConstraint* hinge = new btHingeConstraint(bt_body, frameInA, false); - m_constraint.reset(hinge); - rb->add_constraint(this); - } - bt_hinge_constraint_t(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB): - hinge_constraint_impl_t() - { - btRigidBody& bt_bodyA = *static_cast(rbA)->body(); - btRigidBody& bt_bodyB = *static_cast(rbB)->body(); - btVector3 pA(pivotA[0], pivotA[1], pivotA[2]); - btQuaternion qA(rotA[1], rotA[2], rotA[3], rotA[0]); - btTransform frameInA(qA, pA); - btVector3 pB(pivotB[0], pivotB[1], pivotB[2]); - btQuaternion qB(rotB[1], rotB[2], rotB[3], rotB[0]); - btTransform frameInB(qB, pB); - btHingeConstraint* hinge = new btHingeConstraint(bt_bodyA, bt_bodyB, frameInA, frameInB, false); - m_constraint.reset(hinge); - rbA->add_constraint(this); - rbB->add_constraint(this); - } - -private: - -}; - -#endif //DYN_BT_HINGE_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/bt_nail_constraint.h b/Extras/MayaPlugin/constraint/bt_nail_constraint.h deleted file mode 100644 index 114e94e9b..000000000 --- a/Extras/MayaPlugin/constraint/bt_nail_constraint.h +++ /dev/null @@ -1,160 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_nail_constraint.h - -#ifndef DYN_BT_NAIL_CONSTRAINT_H -#define DYN_BT_NAIL_CONSTRAINT_H - -#include "bt_rigid_body.h" -#include "bt_constraint.h" -#include "nail_constraint_impl.h" - -class bt_nail_constraint_t: public bt_constraint_t, public nail_constraint_impl_t { -public: - - virtual void set_damping(float d) { - btPoint2PointConstraint* p2pc = static_cast(m_constraint.get()); - p2pc->m_setting.m_damping = d; - } - - virtual float damping() const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - return p2pc->m_setting.m_damping; - } - - // - virtual void set_pivotA(vec3f const &p) { - btPoint2PointConstraint* p2pc = static_cast(m_constraint.get()); - btVector3 bt_pivot(p[0], p[1], p[2]); - p2pc->setPivotA(bt_pivot); - setPivotChanged(true); - } - - virtual void get_pivotA(vec3f &p) const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - p[0] = p2pc->getPivotInA().x(); - p[1] = p2pc->getPivotInA().y(); - p[2] = p2pc->getPivotInA().z(); - } - - virtual void set_pivotB(vec3f const &p) { - btPoint2PointConstraint* p2pc = static_cast(m_constraint.get()); - btVector3 bt_pivot(p[0], p[1], p[2]); - p2pc->setPivotB(bt_pivot); - setPivotChanged(true); - } - - virtual void get_pivotB(vec3f &p) const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - p[0] = p2pc->getPivotInB().x(); - p[1] = p2pc->getPivotInB().y(); - p[2] = p2pc->getPivotInB().z(); - } - - virtual void get_world_pivotA(vec3f &p) const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - btVector3 pivotAinW = p2pc->getRigidBodyA().getCenterOfMassTransform()* p2pc->getPivotInA(); - p[0] = pivotAinW.x(); - p[1] = pivotAinW.y(); - p[2] = pivotAinW.z(); - } - virtual void get_world_pivotB(vec3f &p) const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - btVector3 pivotBinW = p2pc->getRigidBodyB().getCenterOfMassTransform()* p2pc->getPivotInB(); - p[0] = pivotBinW.x(); - p[1] = pivotBinW.y(); - p[2] = pivotBinW.z(); - } - - virtual void set_world(vec3f const &p) { - btPoint2PointConstraint* p2pc = static_cast(m_constraint.get()); - btVector3 world(p[0], p[1], p[2]); - btVector3 pivotA = p2pc->getRigidBodyA().getWorldTransform().inverse() (world); - p2pc->setPivotA(pivotA); - btVector3 pivotB = p2pc->getRigidBodyB().getWorldTransform().inverse() (world); - p2pc->setPivotB(pivotB); - setPivotChanged(true); - } - - virtual void get_world(vec3f &p) const { - btPoint2PointConstraint const* p2pc = static_cast(m_constraint.get()); - btVector3 pivotAinW = p2pc->getRigidBodyA().getCenterOfMassTransform()* p2pc->getPivotInA(); - p[0] = pivotAinW.x(); - p[1] = pivotAinW.y(); - p[2] = pivotAinW.z(); - } - - virtual void update_constraint(rigid_body_impl_t* rb) - { - btRigidBody* bt_body = static_cast(rb)->body(); - btPoint2PointConstraint* p2pc = static_cast(m_constraint.get()); - btVector3 world, pivot; - if(bt_body == &p2pc->getRigidBodyA()) - { - world = p2pc->getRigidBodyB().getWorldTransform() * p2pc->getPivotInB(); - pivot = p2pc->getRigidBodyA().getWorldTransform().inverse() * world; - p2pc->setPivotA(pivot); - } - else if(bt_body == &p2pc->getRigidBodyB()) - { - world = p2pc->getRigidBodyA().getWorldTransform() * p2pc->getPivotInA(); - pivot = p2pc->getRigidBodyB().getWorldTransform().inverse() * world; - p2pc->setPivotB(pivot); - } - else - { - world.setValue(0.f, 0.f, 0.f); - } - setPivotChanged(true); - } -protected: - friend class bt_solver_t; - - bt_nail_constraint_t(rigid_body_impl_t* rb, vec3f const& pivot): - nail_constraint_impl_t() - { - btVector3 bulPivot(pivot[0], pivot[1], pivot[2]); - btRigidBody& bt_body = *static_cast(rb)->body(); - m_constraint.reset(new btPoint2PointConstraint(bt_body, bulPivot)); - rb->add_constraint(this); - } - bt_nail_constraint_t(rigid_body_impl_t* rbA, rigid_body_impl_t* rbB, vec3f const& pivotInA, vec3f const& pivotInB): - nail_constraint_impl_t() - { - btRigidBody& bt_bodyA = *static_cast(rbA)->body(); - btRigidBody& bt_bodyB = *static_cast(rbB)->body(); - btVector3 bulPivotInA(pivotInA[0], pivotInA[1], pivotInA[2]); - btVector3 bulPivotInB(pivotInB[0], pivotInB[1], pivotInB[2]); - m_constraint.reset(new btPoint2PointConstraint(bt_bodyA, bt_bodyB, bulPivotInA, bulPivotInB)); - rbA->add_constraint(this); - rbB->add_constraint(this); - } - -private: - -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/bt_sixdof_constraint.h b/Extras/MayaPlugin/constraint/bt_sixdof_constraint.h deleted file mode 100644 index 29768876c..000000000 --- a/Extras/MayaPlugin/constraint/bt_sixdof_constraint.h +++ /dev/null @@ -1,195 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_sixdof_constraint.h - -#ifndef DYN_BT_SIXDOF_CONSTRAINT_H -#define DYN_BT_SIXDOF_CONSTRAINT_H - -#include "bt_rigid_body.h" -#include "bt_constraint.h" -#include "sixdof_constraint_impl.h" - -class bt_sixdof_constraint_t: public bt_constraint_t, public sixdof_constraint_impl_t { -public: - - virtual void set_damping(float d) { -// btGeneric6DofConstraint* p2pc = static_cast(m_constraint.get()); -// p2pc->m_setting.m_damping = d; - } - - virtual void set_LinLimit(vec3f& lower, vec3f& upper) { - btGeneric6DofConstraint* sixdof = static_cast(m_constraint.get()); - btVector3 btlow(lower[0], lower[1], lower[2]); - btVector3 btupp(upper[0], upper[1], upper[2]); - sixdof->setLinearLowerLimit(btlow); - sixdof->setLinearUpperLimit(btupp); - } - - virtual void set_AngLimit(vec3f& lower, vec3f& upper) { - btGeneric6DofConstraint* sixdof = static_cast(m_constraint.get()); - btVector3 btlow(lower[0], lower[1], lower[2]); - btVector3 btupp(upper[0], upper[1], upper[2]); - sixdof->setAngularLowerLimit(btlow); - sixdof->setAngularUpperLimit(btupp); - } - - virtual float damping() const { -// btGeneric6DofConstraint const* hc = static_cast(m_constraint.get()); -// return hc->m_setting.m_damping; - return 0; - } - - virtual void get_frameA(vec3f& p, quatf& r) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform& btxform = sc->getFrameOffsetA(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_frameB(vec3f& p, quatf& r) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform& btxform = sc->getFrameOffsetB(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameA(vec3f& p, quatf& r) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform btxform = sc->getFrameOffsetA().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameB(vec3f& p, quatf& r) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform btxform = sc->getFrameOffsetB().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void worldToA(vec3f& w, vec3f& p) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform w2a = (sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA()).inverse(); - btVector3 bw(w[0], w[1], w[2]); - btVector3 bp = w2a * bw; - p = vec3f(bp[0], bp[1], bp[2]); - } - virtual void worldFromB(vec3f& p, vec3f& w) const - { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - const btTransform b2w = sc->getRigidBodyB().getWorldTransform() * sc->getFrameOffsetB(); - btVector3 bp(p[0], p[1], p[2]); - btVector3 bw = b2w * bp; - w = vec3f(bw[0], bw[1], bw[2]); - } - - virtual void set_world(vec3f const &p, quatf const& r) { - btGeneric6DofConstraint* sc = static_cast(m_constraint.get()); - btVector3 worldP(p[0], p[1], p[2]); - btQuaternion worldR(r[1], r[2], r[3], r[0]); - btTransform frameAinW(worldR, worldP); - btTransform frameA = sc->getRigidBodyA().getWorldTransform().inverse() * frameAinW; - btTransform frameB = sc->getRigidBodyB().getWorldTransform().inverse() * frameAinW; - sc->getFrameOffsetA() = frameA; - sc->getFrameOffsetB() = frameB; - } - - virtual void get_world(vec3f &p, quatf& r) const { - btGeneric6DofConstraint const* sc = static_cast(m_constraint.get()); - btTransform frameAinW = sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA(); - btQuaternion bq = frameAinW.getRotation(); - btVector3 bp = frameAinW.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - - virtual void update_constraint(rigid_body_impl_t* rb) - { - btGeneric6DofConstraint* sc = static_cast(m_constraint.get()); - btRigidBody* bt_body = static_cast(rb)->body(); - btTransform frameW, frameL; - if(bt_body == &sc->getRigidBodyA()) - { - frameW = sc->getRigidBodyB().getWorldTransform() * sc->getFrameOffsetB(); - frameL = sc->getRigidBodyA().getWorldTransform().inverse() * frameW; - sc->getFrameOffsetA() = frameL; - } - else if(bt_body == &sc->getRigidBodyB()) - { - frameW = sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA(); - frameL = sc->getRigidBodyB().getWorldTransform().inverse() * frameW; - sc->getFrameOffsetB() = frameL; - } - setPivotChanged(true); - } - - - -protected: - friend class bt_solver_t; - - bt_sixdof_constraint_t(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot): - sixdof_constraint_impl_t() - { - btRigidBody& bt_body = *static_cast(rb)->body(); - btVector3 p(pivot[0], pivot[1], pivot[2]); - btQuaternion q(rot[1], rot[2], rot[3], rot[0]); - btTransform frameInA(q, p); - btGeneric6DofConstraint* sixdof = new btGeneric6DofConstraint(bt_body, frameInA, false); - m_constraint.reset(sixdof); - rb->add_constraint(this); - } - bt_sixdof_constraint_t(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB): - sixdof_constraint_impl_t() - { - btRigidBody& bt_bodyA = *static_cast(rbA)->body(); - btRigidBody& bt_bodyB = *static_cast(rbB)->body(); - btVector3 pA(pivotA[0], pivotA[1], pivotA[2]); - btQuaternion qA(rotA[1], rotA[2], rotA[3], rotA[0]); - btTransform frameInA(qA, pA); - btVector3 pB(pivotB[0], pivotB[1], pivotB[2]); - btQuaternion qB(rotB[1], rotB[2], rotB[3], rotB[0]); - btTransform frameInB(qB, pB); - btGeneric6DofConstraint* sixdof = new btGeneric6DofConstraint(bt_bodyA, bt_bodyB, frameInA, frameInB, false); - m_constraint.reset(sixdof); - rbA->add_constraint(this); - rbB->add_constraint(this); - } - -private: - -}; - -#endif //DYN_BT_SIXDOF_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/bt_slider_constraint.h b/Extras/MayaPlugin/constraint/bt_slider_constraint.h deleted file mode 100644 index 356a7a2b7..000000000 --- a/Extras/MayaPlugin/constraint/bt_slider_constraint.h +++ /dev/null @@ -1,190 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//bt_slider_constraint.h - -#ifndef DYN_BT_SLIDER_CONSTRAINT_H -#define DYN_BT_SLIDER_CONSTRAINT_H - -#include "bt_rigid_body.h" -#include "bt_constraint.h" -#include "slider_constraint_impl.h" - -class bt_slider_constraint_t: public bt_constraint_t, public slider_constraint_impl_t { -public: - - virtual void set_damping(float d) { -// btSliderConstraint* p2pc = static_cast(m_constraint.get()); -// p2pc->m_setting.m_damping = d; - } - - virtual void set_LinLimit(float lower, float upper) { - btSliderConstraint* slider = static_cast(m_constraint.get()); - slider->setLowerLinLimit(lower); - slider->setUpperLinLimit(upper); - } - - virtual void set_AngLimit(float lower, float upper) { - btSliderConstraint* slider = static_cast(m_constraint.get()); - slider->setLowerAngLimit(lower); - slider->setUpperAngLimit(upper); - } - - virtual float damping() const { -// btSliderConstraint const* hc = static_cast(m_constraint.get()); -// return hc->m_setting.m_damping; - return 0; - } - - virtual void get_frameA(vec3f& p, quatf& r) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform& btxform = sc->getFrameOffsetA(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_frameB(vec3f& p, quatf& r) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform& btxform = sc->getFrameOffsetB(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameA(vec3f& p, quatf& r) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform btxform = sc->getFrameOffsetA().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void get_invFrameB(vec3f& p, quatf& r) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform btxform = sc->getFrameOffsetB().inverse(); - btQuaternion bq = btxform.getRotation(); - btVector3 bp = btxform.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - virtual void worldToA(vec3f& w, vec3f& p) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform w2a = (sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA()).inverse(); - btVector3 bw(w[0], w[1], w[2]); - btVector3 bp = w2a * bw; - p = vec3f(bp[0], bp[1], bp[2]); - } - virtual void worldFromB(vec3f& p, vec3f& w) const - { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - const btTransform b2w = sc->getRigidBodyB().getWorldTransform() * sc->getFrameOffsetB(); - btVector3 bp(p[0], p[1], p[2]); - btVector3 bw = b2w * bp; - w = vec3f(bw[0], bw[1], bw[2]); - } - - virtual void set_world(vec3f const &p, quatf const& r) { - btSliderConstraint* sc = static_cast(m_constraint.get()); - btVector3 worldP(p[0], p[1], p[2]); - btQuaternion worldR(r[1], r[2], r[3], r[0]); - btTransform frameAinW(worldR, worldP); - btTransform frameA = sc->getRigidBodyA().getWorldTransform().inverse() * frameAinW; - btTransform frameB = sc->getRigidBodyB().getWorldTransform().inverse() * frameAinW; - sc->getFrameOffsetA() = frameA; - sc->getFrameOffsetB() = frameB; - } - - virtual void get_world(vec3f &p, quatf& r) const { - btSliderConstraint const* sc = static_cast(m_constraint.get()); - btTransform frameAinW = sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA(); - btQuaternion bq = frameAinW.getRotation(); - btVector3 bp = frameAinW.getOrigin(); - p = vec3f(bp.x(), bp.y(), bp.z()); - r = quatf(bq.w(), bq.x(), bq.y(), bq.z()); - } - - virtual void update_constraint(rigid_body_impl_t* rb) - { - btSliderConstraint* sc = static_cast(m_constraint.get()); - btRigidBody* bt_body = static_cast(rb)->body(); - btTransform frameW, frameL; - if(bt_body == &sc->getRigidBodyA()) - { - frameW = sc->getRigidBodyB().getWorldTransform() * sc->getFrameOffsetB(); - frameL = sc->getRigidBodyA().getWorldTransform().inverse() * frameW; - sc->getFrameOffsetA() = frameL; - } - else if(bt_body == &sc->getRigidBodyB()) - { - frameW = sc->getRigidBodyA().getWorldTransform() * sc->getFrameOffsetA(); - frameL = sc->getRigidBodyB().getWorldTransform().inverse() * frameW; - sc->getFrameOffsetB() = frameL; - } - setPivotChanged(true); - } - - -protected: - friend class bt_solver_t; - - bt_slider_constraint_t(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot): - slider_constraint_impl_t() - { - btRigidBody& bt_body = *static_cast(rb)->body(); - btVector3 p(pivot[0], pivot[1], pivot[2]); - btQuaternion q(rot[1], rot[2], rot[3], rot[0]); - btTransform frameInA(q, p); - btSliderConstraint* slider = new btSliderConstraint(bt_body, frameInA, false); - m_constraint.reset(slider); - rb->add_constraint(this); - } - bt_slider_constraint_t(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB): - slider_constraint_impl_t() - { - btRigidBody& bt_bodyA = *static_cast(rbA)->body(); - btRigidBody& bt_bodyB = *static_cast(rbB)->body(); - btVector3 pA(pivotA[0], pivotA[1], pivotA[2]); - btQuaternion qA(rotA[1], rotA[2], rotA[3], rotA[0]); - btTransform frameInA(qA, pA); - btVector3 pB(pivotB[0], pivotB[1], pivotB[2]); - btQuaternion qB(rotB[1], rotB[2], rotB[3], rotB[0]); - btTransform frameInB(qB, pB); - btSliderConstraint* slider = new btSliderConstraint(bt_bodyA, bt_bodyB, frameInA, frameInB, false); - m_constraint.reset(slider); - rbA->add_constraint(this); - rbB->add_constraint(this); - } - -private: - -}; - -#endif //DYN_BT_SLIDER_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/constraint.h b/Extras/MayaPlugin/constraint/constraint.h deleted file mode 100644 index 04eff9f47..000000000 --- a/Extras/MayaPlugin/constraint/constraint.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//constraint.h - -#ifndef DYN_CONSTRAINT_H -#define DYN_CONSTRAINT_H - -#include "shared_ptr.h" -#include "constraint_impl.h" - -class constraint_t -{ -public: - //typedefs - typedef shared_ptr pointer; - -public: - virtual ~constraint_t() {} - - bool getPivotChanged() - { - constraint_impl_t* constr_impl = dynamic_cast(impl()); - return constr_impl->getPivotChanged(); - } - void setPivotChanged(bool isChanged) - { - constraint_impl_t* constr_impl = dynamic_cast(impl()); - return constr_impl->setPivotChanged(isChanged); - } - constraint_impl_t* pubImpl() { return m_impl.get(); } - -protected: - friend class solver_t; - - constraint_t(constraint_impl_t* impl): m_impl(impl) { } - - constraint_impl_t* impl() { return m_impl.get(); } - constraint_impl_t const* impl() const { return m_impl.get(); } - -protected: - shared_ptr m_impl; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/constraint_impl.h b/Extras/MayaPlugin/constraint/constraint_impl.h deleted file mode 100644 index 77dbadc12..000000000 --- a/Extras/MayaPlugin/constraint/constraint_impl.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//constraint_impl.h - -#ifndef DYN_CONSTRAINT_IMPL_H -#define DYN_CONSTRAINT_IMPL_H - -class constraint_impl_t -{ -public: - // - -public: - virtual ~constraint_impl_t() {}; - bool getPivotChanged() { return m_pivotChanged; } - void setPivotChanged(bool isChanged) { m_pivotChanged = isChanged; } -protected: - bool m_pivotChanged; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/dHingeConstraintCmd.cpp b/Extras/MayaPlugin/constraint/dHingeConstraintCmd.cpp deleted file mode 100644 index fd5579517..000000000 --- a/Extras/MayaPlugin/constraint/dHingeConstraintCmd.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dHingeConstraintCmd.cpp - -#include -#include -#include - -#include "hingeConstraintNode.h" -#include "dHingeConstraintCmd.h" - - -MString dHingeConstraintCmd::typeName("dHingeConstraint"); - -dHingeConstraintCmd::dHingeConstraintCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dHingeConstraintCmd::~dHingeConstraintCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dHingeConstraintCmd::creator() -{ - return new dHingeConstraintCmd; -} - - -MSyntax -dHingeConstraintCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dHingeConstraintCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dHingeConstraintCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dHingeConstraintCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dHingeConstraint"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dConstraintObj = m_dagModifier->createNode(hingeConstraintNode::typeId, parentObj); - std::string dConstraintName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dConstraintName.find_last_not_of("0123456789"); - dConstraintName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dConstraintObj, dConstraintName.c_str()); - m_dagModifier->doIt(); - - setResult(MFnDependencyNode(dConstraintObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/constraint/dHingeConstraintCmd.h b/Extras/MayaPlugin/constraint/dHingeConstraintCmd.h deleted file mode 100644 index a7924683e..000000000 --- a/Extras/MayaPlugin/constraint/dHingeConstraintCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dHingeConstraintCmd.h - -#ifndef DYN_HINGE_CONSTRAINT_CMD_H -#define DYN_HINGE_CONSTRAINT_CMD_H - -#include -#include -#include - -#include - -class dHingeConstraintCmd : public MPxCommand -{ -public: - dHingeConstraintCmd(); - virtual ~dHingeConstraintCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif //DYN_HINGE_CONSTRAINT_CMD_H diff --git a/Extras/MayaPlugin/constraint/dNailConstraintCmd.cpp b/Extras/MayaPlugin/constraint/dNailConstraintCmd.cpp deleted file mode 100644 index 04d7778d9..000000000 --- a/Extras/MayaPlugin/constraint/dNailConstraintCmd.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dNailConstraintCmd.cpp - -#include -#include -#include - -#include "nailConstraintNode.h" -#include "dNailConstraintCmd.h" - - -MString dNailConstraintCmd::typeName("dNailConstraint"); - -dNailConstraintCmd::dNailConstraintCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dNailConstraintCmd::~dNailConstraintCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dNailConstraintCmd::creator() -{ - return new dNailConstraintCmd; -} - - -MSyntax -dNailConstraintCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dNailConstraintCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dNailConstraintCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dNailConstraintCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dNailConstraint"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dConstraintObj = m_dagModifier->createNode(nailConstraintNode::typeId, parentObj); - std::string dConstraintName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dConstraintName.find_last_not_of("0123456789"); - dConstraintName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dConstraintObj, dConstraintName.c_str()); - m_dagModifier->doIt(); - - setResult(MFnDependencyNode(dConstraintObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/constraint/dNailConstraintCmd.h b/Extras/MayaPlugin/constraint/dNailConstraintCmd.h deleted file mode 100644 index d09a092bc..000000000 --- a/Extras/MayaPlugin/constraint/dNailConstraintCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dNailConstraintCmd.h - -#ifndef DYN_NAIL_CONSTRAINT_CMD_H -#define DYN_NAIL_CONSTRAINT_CMD_H - -#include -#include -#include - -#include - -class dNailConstraintCmd : public MPxCommand -{ -public: - dNailConstraintCmd(); - virtual ~dNailConstraintCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/dSliderConstraintCmd.cpp b/Extras/MayaPlugin/constraint/dSliderConstraintCmd.cpp deleted file mode 100644 index c6058389c..000000000 --- a/Extras/MayaPlugin/constraint/dSliderConstraintCmd.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dSliderConstraintCmd.cpp - -#include -#include -#include - -#include "sliderConstraintNode.h" -#include "dSliderConstraintCmd.h" - - -MString dSliderConstraintCmd::typeName("dSliderConstraint"); - -dSliderConstraintCmd::dSliderConstraintCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dSliderConstraintCmd::~dSliderConstraintCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dSliderConstraintCmd::creator() -{ - return new dSliderConstraintCmd; -} - - -MSyntax -dSliderConstraintCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dSliderConstraintCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dSliderConstraintCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dSliderConstraintCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dSliderConstraint"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dConstraintObj = m_dagModifier->createNode(sliderConstraintNode::typeId, parentObj); - std::string dConstraintName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dConstraintName.find_last_not_of("0123456789"); - dConstraintName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dConstraintObj, dConstraintName.c_str()); - m_dagModifier->doIt(); - - setResult(MFnDependencyNode(dConstraintObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/constraint/dSliderConstraintCmd.h b/Extras/MayaPlugin/constraint/dSliderConstraintCmd.h deleted file mode 100644 index 675bea713..000000000 --- a/Extras/MayaPlugin/constraint/dSliderConstraintCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dSliderConstraintCmd.h - -#ifndef DYN_SLIDER_CONSTRAINT_CMD_H -#define DYN_SLIDER_CONSTRAINT_CMD_H - -#include -#include -#include - -#include - -class dSliderConstraintCmd : public MPxCommand -{ -public: - dSliderConstraintCmd(); - virtual ~dSliderConstraintCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif //DYN_SLIDER_CONSTRAINT_CMD_H diff --git a/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.cpp b/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.cpp deleted file mode 100644 index ea628f671..000000000 --- a/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dSixdofConstraintCmd.cpp - -#include -#include -#include - -#include "sixdofConstraintNode.h" -#include "dsixdofConstraintCmd.h" - - -MString dSixdofConstraintCmd::typeName("dSixdofConstraint"); - -dSixdofConstraintCmd::dSixdofConstraintCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dSixdofConstraintCmd::~dSixdofConstraintCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dSixdofConstraintCmd::creator() -{ - return new dSixdofConstraintCmd; -} - - -MSyntax -dSixdofConstraintCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dSixdofConstraintCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dSixdofConstraintCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dSixdofConstraintCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dSixdofConstraint"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dConstraintObj = m_dagModifier->createNode(sixdofConstraintNode::typeId, parentObj); - std::string dConstraintName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dConstraintName.find_last_not_of("0123456789"); - dConstraintName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dConstraintObj, dConstraintName.c_str()); - m_dagModifier->doIt(); - - setResult(MFnDependencyNode(dConstraintObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.h b/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.h deleted file mode 100644 index 4e8725e20..000000000 --- a/Extras/MayaPlugin/constraint/dsixdofConstraintCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law -*/ - -//dSixdofConstraintCmd.h - -#ifndef DYN_SIXDOF_CONSTRAINT_CMD_H -#define DYN_SIXDOF_CONSTRAINT_CMD_H - -#include -#include -#include - -#include - -class dSixdofConstraintCmd : public MPxCommand -{ -public: - dSixdofConstraintCmd(); - virtual ~dSixdofConstraintCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif //DYN_SIXDOF_CONSTRAINT_CMD_H diff --git a/Extras/MayaPlugin/constraint/hingeConstraintNode.cpp b/Extras/MayaPlugin/constraint/hingeConstraintNode.cpp deleted file mode 100644 index a2c8bbf5a..000000000 --- a/Extras/MayaPlugin/constraint/hingeConstraintNode.cpp +++ /dev/null @@ -1,685 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//hingeConstraintNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyNode.h" -#include "hingeConstraintNode.h" -#include "mayaUtils.h" - -#include "solver.h" -#include "dSolverNode.h" -#include "constraint/bt_hinge_constraint.h" - -MTypeId hingeConstraintNode::typeId(0x10033B); -MString hingeConstraintNode::typeName("dHingeConstraint"); - -MObject hingeConstraintNode::ia_rigidBodyA; -MObject hingeConstraintNode::ia_rigidBodyB; -MObject hingeConstraintNode::ia_damping; -MObject hingeConstraintNode::ia_lowerLimit; -MObject hingeConstraintNode::ia_upperLimit; -MObject hingeConstraintNode::ia_limitSoftness; -MObject hingeConstraintNode::ia_biasFactor; -MObject hingeConstraintNode::ia_relaxationFactor; -MObject hingeConstraintNode::ia_rotationInA; -MObject hingeConstraintNode::ia_rotationInB; - -MObject hingeConstraintNode::ia_pivotInA; -MObject hingeConstraintNode::ia_pivotInB; - -MObject hingeConstraintNode::ia_enableAngularMotor; -MObject hingeConstraintNode::ia_motorTargetVelocity; -MObject hingeConstraintNode::ia_maxMotorImpulse; - -MObject hingeConstraintNode::ca_constraint; -MObject hingeConstraintNode::ca_constraintParam; - -MStatus hingeConstraintNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - - ia_rigidBodyA = fnMsgAttr.create("inRigidBodyA", "inrba", &status); - MCHECKSTATUS(status, "creating inRigidBodyA attribute") - status = addAttribute(ia_rigidBodyA); - MCHECKSTATUS(status, "adding inRigidBodyA attribute") - - ia_rigidBodyB = fnMsgAttr.create("inRigidBodyB", "inrbb", &status); - MCHECKSTATUS(status, "creating inRigidBodyB attribute") - status = addAttribute(ia_rigidBodyB); - MCHECKSTATUS(status, "adding inRigidBodyB attribute") - - ia_damping = fnNumericAttr.create("damping", "dmp", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating damping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_damping); - MCHECKSTATUS(status, "adding damping attribute") - - ia_lowerLimit = fnNumericAttr.create("lowerLimit", "llmt", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating lower limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_lowerLimit); - MCHECKSTATUS(status, "adding lower limit attribute") - - ia_upperLimit = fnNumericAttr.create("upperLimit", "ulmt", MFnNumericData::kDouble, -1.0, &status); - MCHECKSTATUS(status, "creating upper limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_upperLimit); - MCHECKSTATUS(status, "adding upper limit attribute") - - ia_limitSoftness = fnNumericAttr.create("limitSoftness", "lmSo", MFnNumericData::kDouble, 0.9, &status); - MCHECKSTATUS(status, "creating limitSoftness attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_limitSoftness); - MCHECKSTATUS(status, "adding limitSoftness attribute") - - ia_biasFactor = fnNumericAttr.create("biasFactor", "biFa", MFnNumericData::kDouble, 0.3, &status); - MCHECKSTATUS(status, "creating biasFactor attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_biasFactor); - MCHECKSTATUS(status, "adding biasFactor attribute") - - ia_relaxationFactor = fnNumericAttr.create("relaxationFactor", "reFa", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating relaxationFactor attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_relaxationFactor); - MCHECKSTATUS(status, "adding relaxationFactor attribute") - - ia_rotationInA = fnNumericAttr.createPoint("rotationInA", "hgRotA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInA attribute") - status = addAttribute(ia_rotationInA); - MCHECKSTATUS(status, "adding rotationInA attribute") - - ia_rotationInB = fnNumericAttr.createPoint("rotationInB", "hgRotB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInB attribute") - status = addAttribute(ia_rotationInB); - MCHECKSTATUS(status, "adding rotationInB attribute") - - ia_pivotInA = fnNumericAttr.createPoint("pivotInA", "pivinA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInA attribute") - status = addAttribute(ia_pivotInA); - MCHECKSTATUS(status, "adding pivotInA attribute") - - ia_pivotInB = fnNumericAttr.createPoint("pivotInB", "pivinB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInB attribute") - status = addAttribute(ia_pivotInB); - MCHECKSTATUS(status, "adding pivotInB attribute") - - - //------------------------------------------------------------------------------ - - ia_enableAngularMotor = fnNumericAttr.create("enableAngularMotor", "enAM", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating enableAngularMotor attribute") - status = addAttribute(ia_enableAngularMotor); - MCHECKSTATUS(status, "adding enableAngularMotor attribute") - - ia_motorTargetVelocity = fnNumericAttr.create("motorTargetVelocity", "mTV", MFnNumericData::kDouble, 1, &status); - MCHECKSTATUS(status, "creating motorTargetVelocity attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_motorTargetVelocity); - MCHECKSTATUS(status, "adding motorTargetVelocity attribute") - - ia_maxMotorImpulse = fnNumericAttr.create("maxMotorImpulse", "mMI", MFnNumericData::kDouble, 1, &status); - MCHECKSTATUS(status, "creating maxMotorImpulse attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_maxMotorImpulse); - MCHECKSTATUS(status, "adding maxMotorImpulse attribute") - - //------------------------------------------------------------------------------ - - ca_constraint = fnNumericAttr.create("ca_constraint", "caco", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraint attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraint); - MCHECKSTATUS(status, "adding ca_constraint attribute") - - ca_constraintParam = fnNumericAttr.create("ca_constraintParam", "cacop", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraintParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraintParam); - MCHECKSTATUS(status, "adding ca_constraintParam attribute") - - - status = attributeAffects(ia_rigidBodyA, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraint)") - - status = attributeAffects(ia_rigidBodyA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraintParam)") - - status = attributeAffects(ia_rigidBodyB, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraint)") - - status = attributeAffects(ia_rigidBodyB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraintParam)") - - status = attributeAffects(ia_damping, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_damping, ca_constraintParam)") - - status = attributeAffects(ia_lowerLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_lowerLimit, ca_constraintParam)") - - status = attributeAffects(ia_upperLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_upperLimit, ca_constraintParam)") - - status = attributeAffects(ia_limitSoftness, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_limitSoftness, ca_constraintParam)") - status = attributeAffects(ia_biasFactor, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_biasFactor, ca_constraintParam)") - status = attributeAffects(ia_relaxationFactor, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_relaxationFactor, ca_constraintParam)") - - status = attributeAffects(ia_rotationInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInA, ca_constraintParam)") - status = attributeAffects(ia_rotationInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInB, ca_constraintParam)") - - status = attributeAffects(ia_pivotInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInA, ca_constraintParam)") - status = attributeAffects(ia_pivotInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInB, ca_constraintParam)") - - - status = attributeAffects(ia_enableAngularMotor, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_enableAngularMotor, ca_constraintParam)") - status = attributeAffects(ia_motorTargetVelocity, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_motorTargetVelocity, ca_constraintParam)") - status = attributeAffects(ia_maxMotorImpulse, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_maxMotorImpulse, ca_constraintParam)") - - return MS::kSuccess; -} - -hingeConstraintNode::hingeConstraintNode() -{ - // std::cout << "hingeConstraintNode::hingeConstraintNode" << std::endl; -} - -hingeConstraintNode::~hingeConstraintNode() -{ - // std::cout << "hingeConstraintNode::~hingeConstraintNode" << std::endl; -} - -void hingeConstraintNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "hingeConstraintNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - hingeConstraintNode *pNode = static_cast(fnNode.userNode()); - if (pNode->m_constraint) - { - bt_hinge_constraint_t* hinge_impl = dynamic_cast(pNode->m_constraint->pubImpl()); - rigid_body_t::pointer rigid_bodyA = pNode->m_constraint->rigid_bodyA(); - if(rigid_bodyA) - { - rigid_bodyA->remove_constraint(hinge_impl); - } - rigid_body_t::pointer rigid_bodyB = pNode->m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->remove_constraint(hinge_impl); - } - } - constraint_t::pointer constraint = static_cast(pNode->m_constraint); - solver_t::remove_constraint(constraint); -} - -void* hingeConstraintNode::creator() -{ - return new hingeConstraintNode(); -} - - -bool hingeConstraintNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus hingeConstraintNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "hingeConstraintNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( hingeConstraintNode::inTime ).asTime(); - if(plug == ca_constraint) { - computeConstraint(plug, data); - } else if(plug == ca_constraintParam) { - computeConstraintParam(plug, data); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void hingeConstraintNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - // std::cout << "hingeConstraintNode::draw" << std::endl; - - update(); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glDisable(GL_LIGHTING); - - if( !(status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded )) ) { - glColor3f(1.0, 1.0, 0.0); - } - - vec3f posA, posB, pivB; - rigid_body_t::pointer rigid_bodyB = NULL; - if (m_constraint) - { - vec3f pos; - quatf rot; - m_constraint->rigid_bodyA()->get_transform(pos, rot); - m_constraint->worldToA(pos, posA); - rigid_bodyB = m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->get_transform(pos, rot); - m_constraint->worldToA(pos, posB); - } - vec3f zeroVec(0.f,0.f,0.f); - m_constraint->worldFromB(zeroVec, pos); - m_constraint->worldToA(pos, pivB); - } - - glBegin(GL_LINES); - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(posA[0], posA[1], posA[2]); - - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(pivB[0], pivB[1], pivB[2]); - - if(rigid_bodyB) - { - glVertex3f(pivB[0], pivB[1], pivB[2]); - glVertex3f(posB[0], posB[1], posB[2]); - } - - - glVertex3f(-1.0, 0.0, 0.0); - glVertex3f(1.0, 0.0, 0.0); - - glVertex3f(0.0, -1.0, 0.0); - glVertex3f(0.0, 1.0, 0.0); - - glVertex3f(0.0, 0.0, -1.0); - glVertex3f(0.0, 0.0, 1.0); - - vec3f posT, posP, posM; - - vec3f minusXVec(-1.f,0.f,0.f); - vec3f posXVec(1.f,0.f,0.f); - vec3f minusYVec (0.f,-1.f,0.f); - vec3f posYVec (0.f,1.f,0.f); - vec3f minusZVec (0.f,0.f,-1.f); - vec3f posZVec (0.f,0.f,1.f); - - - m_constraint->worldFromB(minusXVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posXVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusYVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posYVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusZVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posZVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - - - glEnd(); - - glPopAttrib(); - view.endGL(); -} - -bool hingeConstraintNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox hingeConstraintNode::boundingBox() const -{ - // std::cout << "hingeConstraintNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes -void hingeConstraintNode::computeConstraint(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "hingeConstraintNode::computeConstraint" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - plgRigidBodyB.getValue(update); - - rigid_body_t::pointer rigid_bodyA; - if(plgRigidBodyA.isConnected()) { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - rigid_bodyA = pRigidBodyNodeA->rigid_body(); - } else { - std::cout << "hingeConstraintNode connected to a non-rigidbody node A!" << std::endl; - } - } - } - rigid_body_t::pointer rigid_bodyB; - if(plgRigidBodyB.isConnected()) { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - rigid_bodyB = pRigidBodyNodeB->rigid_body(); - } else { - std::cout << "hingeConstraintNode connected to a non-rigidbody node B!" << std::endl; - } - } - } - - vec3f pivInA, pivInB; - - if((rigid_bodyA != NULL) && (rigid_bodyB != NULL)) - { - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - float3& mPivInB = data.inputValue(ia_pivotInB).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - pivInB[i] = (float)mPivInB[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meulerA(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquatA = meulerA.asQuaternion(); - quatf rotA((float)mquatA.w, (float)mquatA.x, (float)mquatA.y, (float)mquatA.z); - float3& mRotInB = data.inputValue(ia_rotationInB).asFloat3(); - MEulerRotation meulerB(deg2rad(mRotInB[0]), deg2rad(mRotInB[1]), deg2rad(mRotInB[2])); - MQuaternion mquatB = meulerB.asQuaternion(); - quatf rotB((float)mquatB.w, (float)mquatB.x, (float)mquatB.y, (float)mquatB.z); - m_constraint = solver_t::create_hinge_constraint(rigid_bodyA, pivInA, rotA, rigid_bodyB, pivInB, rotB); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - else if(rigid_bodyA != NULL) - { - //not connected to a rigid body, put a default one - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meuler(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquat = meuler.asQuaternion(); - quatf rotA((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z); - m_constraint = solver_t::create_hinge_constraint(rigid_bodyA, pivInA, rotA); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - - data.outputValue(ca_constraint).set(true); - data.setClean(plug); -} - -void hingeConstraintNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - MStatus status; - MFnTransform fnParentTransform(fnDagNode.parent(0, &status)); - double fixScale[3] = { 1., 1., 1. }; // lock scale - fnParentTransform.setScale(fixScale); - MVector mtranslation = fnParentTransform.getTranslation(MSpace::kTransform, &status); - - if(dSolverNode::isStartTime) - { // allow to edit pivots - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - if(plgRigidBodyA.isConnected()) - { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbAObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - MPlug(rbAObj, pRigidBodyNodeA->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - plgRigidBodyB.getValue(update); - if(plgRigidBodyB.isConnected()) - { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbBObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - MPlug(rbBObj, pRigidBodyNodeB->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - if(m_constraint) - { - MQuaternion mrotation; - fnParentTransform.getRotation(mrotation, MSpace::kTransform); - bool doUpdatePivot = m_constraint->getPivotChanged(); - if(!doUpdatePivot) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - float deltaPX = worldP[0] - float(mtranslation.x); - float deltaPY = worldP[1] - float(mtranslation.y); - float deltaPZ = worldP[2] - float(mtranslation.z); - float deltaRX = (float)mrotation.x - worldR[1]; - float deltaRY = (float)mrotation.y - worldR[2]; - float deltaRZ = (float)mrotation.z - worldR[3]; - float deltaRW = (float)mrotation.w - worldR[0]; - float deltaSq = deltaPX * deltaPX + deltaPY * deltaPY + deltaPZ * deltaPZ - + deltaRX * deltaRX + deltaRY * deltaRY + deltaRZ * deltaRZ + deltaRW * deltaRW; - doUpdatePivot = (deltaSq > FLT_EPSILON); - } - if(doUpdatePivot) - { - m_constraint->set_world(vec3f((float) mtranslation[0], (float) mtranslation[1], (float) mtranslation[2]), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - vec3f pivInA, pivInB; - quatf rotInA, rotInB; - m_constraint->get_frameA(pivInA, rotInA); - m_constraint->get_frameB(pivInB, rotInB); - MDataHandle hPivInA = data.outputValue(ia_pivotInA); - float3 &ihPivInA = hPivInA.asFloat3(); - MDataHandle hPivInB = data.outputValue(ia_pivotInB); - float3 &ihPivInB = hPivInB.asFloat3(); - for(int i = 0; i < 3; i++) - { - ihPivInA[i] = pivInA[i]; - ihPivInB[i] = pivInB[i]; - } - MDataHandle hRotInA = data.outputValue(ia_rotationInA); - float3 &hrotInA = hRotInA.asFloat3(); - MQuaternion mrotA(rotInA[1], rotInA[2], rotInA[3], rotInA[0]); - MEulerRotation newrotA(mrotA.asEulerRotation()); - hrotInA[0] = rad2deg((float)newrotA.x); - hrotInA[1] = rad2deg((float)newrotA.y); - hrotInA[2] = rad2deg((float)newrotA.z); - MDataHandle hRotInB = data.outputValue(ia_rotationInB); - float3 &hrotInB = hRotInB.asFloat3(); - MQuaternion mrotB(rotInB[1], rotInB[2], rotInB[3], rotInB[0]); - MEulerRotation newrotB(mrotB.asEulerRotation()); - hrotInB[0] = rad2deg((float)newrotB.x); - hrotInB[1] = rad2deg((float)newrotB.y); - hrotInB[2] = rad2deg((float)newrotB.z); - m_constraint->setPivotChanged(false); - } - } - } - else - { // if not start time, lock position and rotation - if(m_constraint) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - fnParentTransform.setTranslation(MVector(worldP[0], worldP[1], worldP[2]), MSpace::kTransform); - fnParentTransform.setRotation(MQuaternion(worldR[1], worldR[2], worldR[3], worldR[0])); - } - } - data.setClean(plug); -} - -void hingeConstraintNode::computeConstraintParam(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "hingeConstraintNode::computeRigidBodyParam data.className=" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_constraint).getValue(update); - if(m_constraint) { - float damping = (float) data.inputValue(ia_damping).asDouble(); - m_constraint->set_damping(damping); - float lower = (float) data.inputValue(ia_lowerLimit).asDouble(); - float upper = (float) data.inputValue(ia_upperLimit).asDouble(); - float limit_softness = (float) data.inputValue(ia_limitSoftness).asDouble(); - float bias_factor = (float) data.inputValue(ia_biasFactor).asDouble(); - float relaxation_factor = (float) data.inputValue(ia_relaxationFactor).asDouble(); - m_constraint->set_limit(deg2rad(lower), deg2rad(upper), limit_softness, bias_factor, relaxation_factor); - bool enable_motor = data.inputValue(ia_enableAngularMotor).asBool(); - float motorTargetVelocity = (float) data.inputValue(ia_motorTargetVelocity).asDouble(); - float maxMotorImpulse = (float) data.inputValue(ia_maxMotorImpulse).asDouble(); - m_constraint->enable_motor(enable_motor, motorTargetVelocity, maxMotorImpulse); - } - - data.outputValue(ca_constraintParam).set(true); - data.setClean(plug); -} - -hinge_constraint_t::pointer hingeConstraintNode::constraint() -{ - // std::cout << "hingeConstraintNode::rigid_body" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - return m_constraint; -} - -void hingeConstraintNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/constraint/hingeConstraintNode.h b/Extras/MayaPlugin/constraint/hingeConstraintNode.h deleted file mode 100644 index 36b0e4f4c..000000000 --- a/Extras/MayaPlugin/constraint/hingeConstraintNode.h +++ /dev/null @@ -1,114 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//hingeConstraintNode.h - -#ifndef DYN_HINGE_CONSTRAINT_NODE_H -#define DYN_HINGE_CONSTRAINT_NODE_H - -#include -#include -#include - -#include "solver.h" - -class hingeConstraintNode: public MPxLocatorNode -{ -public: - hingeConstraintNode(); - virtual ~hingeConstraintNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - hinge_constraint_t::pointer constraint(); - void update(); - -public: - - //Attributes - static MObject ia_rigidBodyA; - static MObject ia_rigidBodyB; - static MObject ia_damping; - - static MObject ia_lowerLimit; - static MObject ia_upperLimit; - static MObject ia_limitSoftness; - static MObject ia_biasFactor; - static MObject ia_relaxationFactor; - - static MObject ia_rotationInA; - static MObject ia_rotationInB; - - static MObject ia_pivotInA; - static MObject ia_pivotInB; - - static MObject ca_constraint; - static MObject ca_constraintParam; - - static MObject ia_enableAngularMotor; - static MObject ia_motorTargetVelocity; - static MObject ia_maxMotorImpulse; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void computeConstraint(const MPlug& plug, MDataBlock& data); - void computeConstraintParam(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - hinge_constraint_t::pointer m_constraint; -}; - - - -#endif //DYN_HINGE_CONSTRAINT_NODE_H diff --git a/Extras/MayaPlugin/constraint/hinge_constraint.h b/Extras/MayaPlugin/constraint/hinge_constraint.h deleted file mode 100644 index e2757940d..000000000 --- a/Extras/MayaPlugin/constraint/hinge_constraint.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//hinge_constraint.h - -#ifndef DYN_HINGE_CONSTRAINT_H -#define DYN_HINGE_CONSTRAINT_H - -#include "shared_ptr.h" -#include "rigid_body.h" -#include "mathUtils.h" - -#include "constraint.h" -#include "hinge_constraint_impl.h" - -class hinge_constraint_t: public constraint_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - // - rigid_body_t::pointer rigid_bodyA() { return m_rigid_bodyA; } - rigid_body_t::pointer rigid_bodyB() { return m_rigid_bodyB; } - - // - void get_frameA(vec3f& p, quatf& r) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->get_frameA(p, r); - } - void get_frameB(vec3f& p, quatf& r) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->get_frameB(p, r); - } - void get_invFrameA(vec3f& p, quatf& r) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->get_invFrameA(p, r); - } - void get_invFrameB(vec3f& p, quatf& r) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->get_invFrameB(p, r); - } - void worldToA(vec3f& w, vec3f& p) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->worldToA(w, p); - } - void worldFromB(vec3f& p, vec3f& w) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->worldFromB(p, w); - } - - // - void set_damping(float d) { - hinge_constraint_impl_t* hinge_impl = dynamic_cast(impl()); - hinge_impl->set_damping(d); - } - - void set_limit(float lower, float upper, float softness, float bias_factor, float relaxation_factor) { - hinge_constraint_impl_t* hinge_impl = dynamic_cast(impl()); - hinge_impl->set_limit(lower, upper, softness, bias_factor, relaxation_factor); - } - - void set_axis(vec3f const& p) { - hinge_constraint_impl_t* hinge_impl = dynamic_cast(impl()); - hinge_impl->set_axis(p); - } - - float damping() const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - return hinge_impl->damping(); - } - - void set_world(vec3f const& p, quatf const& r) - { - hinge_constraint_impl_t* hinge_impl = dynamic_cast(impl()); - hinge_impl->set_world(p, r); - } - - //local space pivot - void get_world(vec3f& p, quatf& r) const { - hinge_constraint_impl_t const* hinge_impl = dynamic_cast(impl()); - hinge_impl->get_world(p, r); - } - - void enable_motor(bool enable, float velocity, float impulse) { - hinge_constraint_impl_t* hinge_impl = dynamic_cast(impl()); - hinge_impl->enable_motor(enable, velocity, impulse); - } - -public: - virtual ~hinge_constraint_t() {}; - -protected: - friend class solver_t; - hinge_constraint_t(hinge_constraint_impl_t* impl, rigid_body_t::pointer& rigid_body): - constraint_t(impl), - m_rigid_bodyA(rigid_body) - { - } - hinge_constraint_t(hinge_constraint_impl_t* impl, rigid_body_t::pointer& rigid_bodyA, rigid_body_t::pointer& rigid_bodyB): - constraint_t(impl), - m_rigid_bodyA(rigid_bodyA), - m_rigid_bodyB(rigid_bodyB) - { - } - -private: - rigid_body_t::pointer m_rigid_bodyA; - rigid_body_t::pointer m_rigid_bodyB; -}; - - - -#endif //DYN_HINGE_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/hinge_constraint_impl.h b/Extras/MayaPlugin/constraint/hinge_constraint_impl.h deleted file mode 100644 index b919ebaa0..000000000 --- a/Extras/MayaPlugin/constraint/hinge_constraint_impl.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//hinge_constraint_impl.h - -#ifndef DYN_HINGE_CONSTRAINT_IMPL_H -#define DYN_HINGE_CONSTRAINT_IMPL_H - -#include "constraint_impl.h" - -class hinge_constraint_impl_t: public constraint_impl_t -{ -public: - // - virtual void set_world(vec3f const& p, quatf const& r) = 0; - virtual void get_world(vec3f& p, quatf& r) const = 0; - virtual void get_frameA(vec3f& p, quatf& r) const = 0; - virtual void get_frameB(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameA(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameB(vec3f& p, quatf& r) const = 0; - virtual void worldToA(vec3f& w, vec3f& p) const = 0; - virtual void worldFromB(vec3f& p, vec3f& w) const = 0; - - // - virtual void set_damping(float d) = 0; - virtual float damping() const = 0; - virtual void set_limit(float lower, float upper, float softness, float bias_factor, float relaxation_factor) = 0; - virtual void set_axis(vec3f const& p) = 0; - - virtual void enable_motor(bool enable, float velocity, float impulse) = 0; - -public: - virtual ~hinge_constraint_impl_t() {}; -}; - -#endif //DYN_HINGE_CONSTRAINT_IMPL_H diff --git a/Extras/MayaPlugin/constraint/nailConstraintNode.cpp b/Extras/MayaPlugin/constraint/nailConstraintNode.cpp deleted file mode 100644 index e08c7709c..000000000 --- a/Extras/MayaPlugin/constraint/nailConstraintNode.cpp +++ /dev/null @@ -1,517 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//nailConstraintNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyNode.h" -#include "nailConstraintNode.h" -#include "mayaUtils.h" - -#include "solver.h" -#include "dSolverNode.h" -#include "constraint/bt_nail_constraint.h" - -MTypeId nailConstraintNode::typeId(0x10033A); -MString nailConstraintNode::typeName("dNailConstraint"); - -MObject nailConstraintNode::ia_rigidBodyA; -MObject nailConstraintNode::ia_rigidBodyB; -MObject nailConstraintNode::ia_damping; -MObject nailConstraintNode::ia_pivotInA; -MObject nailConstraintNode::ia_pivotInB; -MObject nailConstraintNode::ca_constraint; -MObject nailConstraintNode::ca_constraintParam; - - -MStatus nailConstraintNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - - ia_rigidBodyA = fnMsgAttr.create("inRigidBodyA", "inrbA", &status); - MCHECKSTATUS(status, "creating inRigidBodyA attribute") - status = addAttribute(ia_rigidBodyA); - MCHECKSTATUS(status, "adding inRigidBodyA attribute") - - ia_rigidBodyB = fnMsgAttr.create("inRigidBodyB", "inrbB", &status); - MCHECKSTATUS(status, "creating inRigidBodyB attribute") - status = addAttribute(ia_rigidBodyB); - MCHECKSTATUS(status, "adding inRigidBodyB attribute") - - ia_damping = fnNumericAttr.create("damping", "dmp", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating damping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_damping); - MCHECKSTATUS(status, "adding damping attribute") - - ia_pivotInA = fnNumericAttr.createPoint("pivotInA", "piva", &status); - MCHECKSTATUS(status, "creating pivotInA attribute") - status = addAttribute(ia_pivotInA); - MCHECKSTATUS(status, "adding pivotInA attribute") - - ia_pivotInB = fnNumericAttr.createPoint("pivotInB", "pivb", &status); - MCHECKSTATUS(status, "creating pivotInB attribute") - status = addAttribute(ia_pivotInB); - MCHECKSTATUS(status, "adding pivotInB attribute") - - ca_constraint = fnNumericAttr.create("ca_constraint", "caco", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraint attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraint); - MCHECKSTATUS(status, "adding ca_constraint attribute") - - ca_constraintParam = fnNumericAttr.create("ca_constraintParam", "cacop", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraintParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraintParam); - MCHECKSTATUS(status, "adding ca_constraintParam attribute") - - - status = attributeAffects(ia_rigidBodyA, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraint)") - - status = attributeAffects(ia_rigidBodyA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraintParam)") - - status = attributeAffects(ia_rigidBodyB, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraint)") - - status = attributeAffects(ia_rigidBodyB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraintParam)") - - status = attributeAffects(ia_pivotInA, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInA, ca_constraint)") - - status = attributeAffects(ia_pivotInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInA, ca_constraintParam)") - - status = attributeAffects(ia_pivotInB, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInB, ca_constraint)") - - status = attributeAffects(ia_pivotInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInB, ca_constraintParam)") - - status = attributeAffects(ia_damping, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_damping, ca_constraintParam)") - - return MS::kSuccess; -} - -nailConstraintNode::nailConstraintNode() -{ - // std::cout << "nailConstraintNode::nailConstraintNode" << std::endl; -} - -nailConstraintNode::~nailConstraintNode() -{ - // std::cout << "nailConstraintNode::~nailConstraintNode" << std::endl; -} - -void nailConstraintNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "nailConstraintNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - nailConstraintNode *pNode = static_cast(fnNode.userNode()); - if (pNode->m_constraint) - { - bt_nail_constraint_t* nail_impl = dynamic_cast(pNode->m_constraint->pubImpl()); - - rigid_body_t::pointer rigid_bodyA = pNode->m_constraint->rigid_bodyA(); - if(rigid_bodyA) - { - rigid_bodyA->remove_constraint(nail_impl); - } - rigid_body_t::pointer rigid_bodyB = pNode->m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->remove_constraint(nail_impl); - } - } - constraint_t::pointer constraint = static_cast(pNode->m_constraint); - solver_t::remove_constraint(constraint); -} - -void* nailConstraintNode::creator() -{ - return new nailConstraintNode(); -} - - -bool nailConstraintNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus nailConstraintNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "nailConstraintNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( nailConstraintNode::inTime ).asTime(); - if(plug == ca_constraint) { - computeConstraint(plug, data); - } else if(plug == ca_constraintParam) { - computeConstraintParam(plug, data); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void nailConstraintNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - // std::cout << "nailConstraintNode::draw" << std::endl; - - update(); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glDisable(GL_LIGHTING); - - if( !(status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded )) ) { - glColor3f(1.0, 1.0, 0.0); - } - vec3f posA, posB; - rigid_body_t::pointer rigid_bodyB = NULL; - vec3f world; - if (m_constraint) { - m_constraint->get_world(world); - vec3f posT; - quatf rotT; - m_constraint->rigid_bodyA()->get_transform(posT, rotT); - posA = posT - world; - rigid_bodyB = m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->get_transform(posT, rotT); - posB = posT - world; - } - } - - glBegin(GL_LINES); - - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(posA[0], posA[1], posA[2]); - - if(rigid_bodyB) - { - vec3f pivB; - m_constraint->get_world_pivotB(pivB); - for(int j = 0; j < 3; j++) pivB[j] -= world[j]; - glVertex3f(pivB[0], pivB[1], pivB[2]); - glVertex3f(posB[0], posB[1], posB[2]); - glVertex3f(-1.0f+pivB[0], 0.0f+pivB[1], 0.0f+pivB[2]); - glVertex3f( 1.0f+pivB[0], 0.0f+pivB[1], 0.0f+pivB[2]); - glVertex3f( 0.0f+pivB[0], -1.0f+pivB[1], 0.0f+pivB[2]); - glVertex3f( 0.0f+pivB[0], 1.0f+pivB[1], 0.0f+pivB[2]); - glVertex3f( 0.0f+pivB[0], 0.0f+pivB[1], -1.0f+pivB[2]); - glVertex3f( 0.0f+pivB[0], 0.0f+pivB[1], 1.0f+pivB[2]); - } - - - glVertex3f(-1.0, 0.0, 0.0); - glVertex3f(1.0, 0.0, 0.0); - - glVertex3f(0.0, -1.0, 0.0); - glVertex3f(0.0, 1.0, 0.0); - - glVertex3f(0.0, 0.0, -1.0); - glVertex3f(0.0, 0.0, 1.0); - glEnd(); - - glPopAttrib(); - view.endGL(); -} - -bool nailConstraintNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox nailConstraintNode::boundingBox() const -{ - // std::cout << "nailConstraintNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes -void nailConstraintNode::computeConstraint(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "nailConstraintNode::computeConstraint" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - plgRigidBodyB.getValue(update); - - rigid_body_t::pointer rigid_bodyA; - if(plgRigidBodyA.isConnected()) { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - rigid_bodyA = pRigidBodyNodeA->rigid_body(); - } else { - std::cout << "nailConstraintNode connected to a non-rigidbody node A!" << std::endl; - } - } - } - - rigid_body_t::pointer rigid_bodyB; - if(plgRigidBodyB.isConnected()) { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - rigid_bodyB = pRigidBodyNodeB->rigid_body(); - } else { - std::cout << "nailConstraintNode connected to a non-rigidbody node B!" << std::endl; - } - } - } - - vec3f pivInA, pivInB; - - if((rigid_bodyA != NULL) && (rigid_bodyB != NULL)) - { - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - float3& mPivInB = data.inputValue(ia_pivotInB).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - pivInB[i] = (float)mPivInB[i]; - } - m_constraint = solver_t::create_nail_constraint(rigid_bodyA, rigid_bodyB, pivInA, pivInB); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - else if(rigid_bodyA) - { - //not connected to a rigid body, put a default one - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - } - m_constraint = solver_t::create_nail_constraint(rigid_bodyA, pivInA); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - data.outputValue(ca_constraint).set(true); - data.setClean(plug); -} - - -void nailConstraintNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "nailConstraintNode::computeWorldMatrix" << std::endl; - - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - MStatus status; - MFnTransform fnParentTransform(fnDagNode.parent(0, &status)); - fnParentTransform.setRotation(MEulerRotation(0., 0., 0.)); // lock rotation - double fixScale[3] = { 1., 1., 1. }; // lock scale - fnParentTransform.setScale(fixScale); - MVector mtranslation = fnParentTransform.getTranslation(MSpace::kTransform, &status); - - if(dSolverNode::isStartTime) - { // allow to edit pivots - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - if(plgRigidBodyA.isConnected()) - { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbAObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - MPlug(rbAObj, pRigidBodyNodeA->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - plgRigidBodyB.getValue(update); - if(plgRigidBodyB.isConnected()) - { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbBObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - MPlug(rbBObj, pRigidBodyNodeB->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - if(m_constraint) - { - bool doUpdatePivot = m_constraint->getPivotChanged(); - if(!doUpdatePivot) - { - vec3f world; - m_constraint->get_world(world); - float deltaX = world[0] - float(mtranslation.x); - float deltaY = world[1] - float(mtranslation.y); - float deltaZ = world[2] - float(mtranslation.z); - float deltaSq = deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ; - doUpdatePivot = (deltaSq > FLT_EPSILON); - } - if(doUpdatePivot) - { - m_constraint->set_world(vec3f((float) mtranslation[0], (float) mtranslation[1], (float) mtranslation[2])); - vec3f pivInA, pivInB; - m_constraint->get_pivotA(pivInA); - m_constraint->get_pivotB(pivInB); - MDataHandle hPivInA = data.outputValue(ia_pivotInA); - float3 &ihPivInA = hPivInA.asFloat3(); - MDataHandle hPivInB = data.outputValue(ia_pivotInB); - float3 &ihPivInB = hPivInB.asFloat3(); - for(int i = 0; i < 3; i++) - { - ihPivInA[i] = pivInA[i]; - ihPivInB[i] = pivInB[i]; - } - m_constraint->setPivotChanged(false); - } - } - } - else - { // if not start time, lock position - if(m_constraint) - { - vec3f world; - m_constraint->get_world(world); - fnParentTransform.setTranslation(MVector(world[0], world[1], world[2]), MSpace::kTransform); - } - } - data.setClean(plug); -} - -void nailConstraintNode::computeConstraintParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "nailConstraintNode::computeRigidBodyParam" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_constraint).getValue(update); - if(m_constraint) { - m_constraint->set_damping((float) data.inputValue(ia_damping).asDouble()); - } - - data.outputValue(ca_constraintParam).set(true); - data.setClean(plug); -} - -nail_constraint_t::pointer nailConstraintNode::constraint() -{ - // std::cout << "nailConstraintNode::rigid_body" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - return m_constraint; -} - -void nailConstraintNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/constraint/nailConstraintNode.h b/Extras/MayaPlugin/constraint/nailConstraintNode.h deleted file mode 100644 index 1c09e90a9..000000000 --- a/Extras/MayaPlugin/constraint/nailConstraintNode.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//nailConstraintNode.h - -#ifndef DYN_NAIL_CONSTRAINT_NODE_H -#define DYN_NAIL_CONSTRAINT_NODE_H - -#include -#include -#include - -#include "solver.h" - -class nailConstraintNode: public MPxLocatorNode -{ -public: - nailConstraintNode(); - virtual ~nailConstraintNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - nail_constraint_t::pointer constraint(); - void update(); - -public: - - //Attributes - static MObject ia_rigidBodyA; - static MObject ia_rigidBodyB; - static MObject ia_damping; - static MObject ia_pivotInA; - static MObject ia_pivotInB; - - static MObject ca_constraint; - static MObject ca_constraintParam; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void computeConstraint(const MPlug& plug, MDataBlock& data); - void computeConstraintParam(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - nail_constraint_t::pointer m_constraint; -}; - - - -#endif diff --git a/Extras/MayaPlugin/constraint/nail_constraint.h b/Extras/MayaPlugin/constraint/nail_constraint.h deleted file mode 100644 index cb1246396..000000000 --- a/Extras/MayaPlugin/constraint/nail_constraint.h +++ /dev/null @@ -1,124 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//nail_constraint.h - -#ifndef DYN_NAIL_CONSTRAINT_H -#define DYN_NAIL_CONSTRAINT_H - -#include "shared_ptr.h" -#include "rigid_body.h" -#include "mathUtils.h" - -#include "constraint.h" -#include "nail_constraint_impl.h" - -class nail_constraint_t: public constraint_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - // - rigid_body_t::pointer rigid_bodyA() { return m_rigid_bodyA; } - rigid_body_t::pointer rigid_bodyB() { return m_rigid_bodyB; } - - //local space pivots - void set_pivotA(vec3f const& p) { - nail_constraint_impl_t* nail_impl = dynamic_cast(impl()); - nail_impl->set_pivotA(p); - } - void get_pivotA(vec3f& p) const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - nail_impl->get_pivotA(p); - } - void set_pivotB(vec3f const& p) { - nail_constraint_impl_t* nail_impl = dynamic_cast(impl()); - nail_impl->set_pivotB(p); - } - void get_pivotB(vec3f& p) const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - nail_impl->get_pivotB(p); - } - //world space pivots - void get_world_pivotA(vec3f& p) const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - nail_impl->get_world_pivotA(p); - } - void get_world_pivotB(vec3f& p) const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - nail_impl->get_world_pivotB(p); - } - - // - void set_world(vec3f const& p) { - nail_constraint_impl_t* nail_impl = dynamic_cast(impl()); - nail_impl->set_world(p); - } - - // - void get_world(vec3f& p) const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - nail_impl->get_world(p); - } - - // - void set_damping(float d) { - nail_constraint_impl_t* nail_impl = dynamic_cast(impl()); - nail_impl->set_damping(d); - } - - float damping() const { - nail_constraint_impl_t const* nail_impl = dynamic_cast(impl()); - return nail_impl->damping(); - } - -public: - virtual ~nail_constraint_t() {}; - -protected: - friend class solver_t; - nail_constraint_t(nail_constraint_impl_t* impl, rigid_body_t::pointer& rigid_bodyA): - constraint_t(impl), - m_rigid_bodyA(rigid_bodyA), - m_rigid_bodyB(NULL) - { - } - - nail_constraint_t(nail_constraint_impl_t* impl, rigid_body_t::pointer& rigid_bodyA, rigid_body_t::pointer& rigid_bodyB): - constraint_t(impl), - m_rigid_bodyA(rigid_bodyA), - m_rigid_bodyB(rigid_bodyB) - { - } - -private: - rigid_body_t::pointer m_rigid_bodyA; - rigid_body_t::pointer m_rigid_bodyB; -}; - - - -#endif diff --git a/Extras/MayaPlugin/constraint/nail_constraint_impl.h b/Extras/MayaPlugin/constraint/nail_constraint_impl.h deleted file mode 100644 index 5943880b9..000000000 --- a/Extras/MayaPlugin/constraint/nail_constraint_impl.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//nail_constraint_impl.h - -#ifndef DYN_NAIL_CONSTRAINT_IMPL_H -#define DYN_NAIL_CONSTRAINT_IMPL_H - -#include "constraint_impl.h" - -class nail_constraint_impl_t: public constraint_impl_t -{ -public: - // - virtual void set_pivotA(vec3f const& p) = 0; - virtual void get_pivotA(vec3f& p) const = 0; - virtual void set_pivotB(vec3f const& p) = 0; - virtual void get_pivotB(vec3f& p) const = 0; - virtual void set_world(vec3f const& p) = 0; - virtual void get_world(vec3f& p) const = 0; - virtual void get_world_pivotA(vec3f& p) const = 0; - virtual void get_world_pivotB(vec3f& p) const = 0; - - // - virtual void set_damping(float d) = 0; - virtual float damping() const = 0; - -public: - virtual ~nail_constraint_impl_t() {}; -}; - -#endif diff --git a/Extras/MayaPlugin/constraint/sixdofConstraintNode.cpp b/Extras/MayaPlugin/constraint/sixdofConstraintNode.cpp deleted file mode 100644 index ea5b9272d..000000000 --- a/Extras/MayaPlugin/constraint/sixdofConstraintNode.cpp +++ /dev/null @@ -1,648 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sixdofConstraintNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyNode.h" -#include "sixdofConstraintNode.h" -#include "mayaUtils.h" - -#include "solver.h" -#include "dSolverNode.h" -#include "constraint/bt_sixdof_constraint.h" - -MTypeId sixdofConstraintNode::typeId(0x100384); -MString sixdofConstraintNode::typeName("dSixdofConstraint"); - -MObject sixdofConstraintNode::ia_rigidBodyA; -MObject sixdofConstraintNode::ia_rigidBodyB; -MObject sixdofConstraintNode::ia_damping; -MObject sixdofConstraintNode::ca_constraint; -MObject sixdofConstraintNode::ca_constraintParam; -MObject sixdofConstraintNode::ia_lowerLinLimit; -MObject sixdofConstraintNode::ia_upperLinLimit; -MObject sixdofConstraintNode::ia_lowerAngLimit; -MObject sixdofConstraintNode::ia_upperAngLimit; -MObject sixdofConstraintNode::ia_rotationInA; -MObject sixdofConstraintNode::ia_rotationInB; -MObject sixdofConstraintNode::ia_pivotInA; -MObject sixdofConstraintNode::ia_pivotInB; - -MStatus sixdofConstraintNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - - ia_rigidBodyA = fnMsgAttr.create("inRigidBodyA", "inrbA", &status); - MCHECKSTATUS(status, "creating inRigidBodyA attribute") - status = addAttribute(ia_rigidBodyA); - MCHECKSTATUS(status, "adding inRigidBody attribute") - - ia_rigidBodyB = fnMsgAttr.create("inRigidBodyB", "inrbB", &status); - MCHECKSTATUS(status, "creating inRigidBodyB attribute") - status = addAttribute(ia_rigidBodyB); - MCHECKSTATUS(status, "adding inRigidBodyB attribute") - - ia_damping = fnNumericAttr.create("damping", "dmp", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating damping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_damping); - MCHECKSTATUS(status, "adding damping attribute") - - ia_lowerLinLimit = fnNumericAttr.createPoint("lowerLinLimit", "lllt", &status); - MCHECKSTATUS(status, "creating lower linear limit attribute") - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_lowerLinLimit); - MCHECKSTATUS(status, "adding lower linear limit attribute") - - ia_upperLinLimit = fnNumericAttr.createPoint("upperLinLimit", "ullt", &status); - MCHECKSTATUS(status, "creating upper linear limit attribute") - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_upperLinLimit); - MCHECKSTATUS(status, "adding upper linear limit attribute") - - ia_lowerAngLimit = fnNumericAttr.createPoint("lowerAngLimit", "lalt", &status); - MCHECKSTATUS(status, "creating lower angular limit attribute") - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_lowerAngLimit); - MCHECKSTATUS(status, "adding lower angular limit attribute") - - ia_upperAngLimit = fnNumericAttr.createPoint("upperAngLimit", "ualt", &status); - MCHECKSTATUS(status, "creating upper angular limit attribute") - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_upperAngLimit); - MCHECKSTATUS(status, "adding upper angular limit attribute") - - ca_constraint = fnNumericAttr.create("ca_constraint", "caco", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraint attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraint); - MCHECKSTATUS(status, "adding ca_constraint attribute") - - - ca_constraintParam = fnNumericAttr.create("ca_constraintParam", "cacop", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraintParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraintParam); - MCHECKSTATUS(status, "adding ca_constraintParam attribute") - - ia_rotationInA = fnNumericAttr.createPoint("rotationInA", "hgRotA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInA attribute") - status = addAttribute(ia_rotationInA); - MCHECKSTATUS(status, "adding rotationInA attribute") - - ia_rotationInB = fnNumericAttr.createPoint("rotationInB", "hgRotB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInB attribute") - status = addAttribute(ia_rotationInB); - MCHECKSTATUS(status, "adding rotationInB attribute") - - ia_pivotInA = fnNumericAttr.createPoint("pivotInA", "pivinA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInA attribute") - status = addAttribute(ia_pivotInA); - MCHECKSTATUS(status, "adding pivotInA attribute") - - ia_pivotInB = fnNumericAttr.createPoint("pivotInB", "pivinB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInB attribute") - status = addAttribute(ia_pivotInB); - MCHECKSTATUS(status, "adding pivotInB attribute") - - - status = attributeAffects(ia_rigidBodyA, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraint)") - - status = attributeAffects(ia_rigidBodyA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraintParam)") - - status = attributeAffects(ia_rigidBodyB, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraint)") - - status = attributeAffects(ia_rigidBodyB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraintParam)") - - status = attributeAffects(ia_damping, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_damping, ca_constraintParam)") - - status = attributeAffects(ia_lowerLinLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_lowerLinLimit, ca_constraintParam)") - - status = attributeAffects(ia_upperLinLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_upperLinLimit, ca_constraintParam)") - - status = attributeAffects(ia_lowerAngLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_lowerAngLimit, ca_constraintParam)") - - status = attributeAffects(ia_upperAngLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_upperAngLimit, ca_constraintParam)") - - status = attributeAffects(ia_rotationInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInA, ca_constraintParam)") - status = attributeAffects(ia_rotationInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInB, ca_constraintParam)") - - status = attributeAffects(ia_pivotInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInA, ca_constraintParam)") - status = attributeAffects(ia_pivotInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInB, ca_constraintParam)") - - - return MS::kSuccess; -} - -sixdofConstraintNode::sixdofConstraintNode() -{ - // std::cout << "sixdofConstraintNode::sixdofConstraintNode" << std::endl; -} - -sixdofConstraintNode::~sixdofConstraintNode() -{ - // std::cout << "sixdofConstraintNode::~sixdofConstraintNode" << std::endl; -} - -void sixdofConstraintNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "sixdofConstraintNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - sixdofConstraintNode *pNode = static_cast(fnNode.userNode()); - if (pNode->m_constraint) - { - bt_sixdof_constraint_t* hinge_impl = dynamic_cast(pNode->m_constraint->pubImpl()); - rigid_body_t::pointer rigid_bodyA = pNode->m_constraint->rigid_bodyA(); - if(rigid_bodyA) - { - rigid_bodyA->remove_constraint(hinge_impl); - } - rigid_body_t::pointer rigid_bodyB = pNode->m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->remove_constraint(hinge_impl); - } - } - constraint_t::pointer constraint = static_cast(pNode->m_constraint); - solver_t::remove_constraint(constraint); -} - -void* sixdofConstraintNode::creator() -{ - return new sixdofConstraintNode(); -} - - -bool sixdofConstraintNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus sixdofConstraintNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "sixdofConstraintNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( sixdofConstraintNode::inTime ).asTime(); - if(plug == ca_constraint) { - computeConstraint(plug, data); - } else if(plug == ca_constraintParam) { - computeConstraintParam(plug, data); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void sixdofConstraintNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - update(); - vec3f zeroVec(0.f,0.f,0.f); - vec3f minusXVec(-1.f,0.f,0.f); - vec3f posXVec(1.f,0.f,0.f); - vec3f minusYVec (0.f,-1.f,0.f); - vec3f posYVec (0.f,1.f,0.f); - vec3f minusZVec (0.f,0.f,-1.f); - vec3f posZVec (0.f,0.f,1.f); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glDisable(GL_LIGHTING); - - if( !(status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded )) ) { - glColor3f(1.0, 1.0, 0.0); - } - - vec3f posA, posB, pivB; - rigid_body_t::pointer rigid_bodyB = NULL; - if (m_constraint) - { - vec3f pos; - quatf rot; - m_constraint->rigid_bodyA()->get_transform(pos, rot); - m_constraint->worldToA(pos, posA); - rigid_bodyB = m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->get_transform(pos, rot); - m_constraint->worldToA(pos, posB); - } - m_constraint->worldFromB(zeroVec, pos); - m_constraint->worldToA(pos, pivB); - } - - glBegin(GL_LINES); - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(posA[0], posA[1], posA[2]); - - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(pivB[0], pivB[1], pivB[2]); - - if(rigid_bodyB) - { - glVertex3f(pivB[0], pivB[1], pivB[2]); - glVertex3f(posB[0], posB[1], posB[2]); - } - - - glVertex3f(-1.0, 0.0, 0.0); - glVertex3f(1.0, 0.0, 0.0); - - glVertex3f(0.0, -1.0, 0.0); - glVertex3f(0.0, 1.0, 0.0); - - glVertex3f(0.0, 0.0, -1.0); - glVertex3f(0.0, 0.0, 1.0); - - vec3f posT, posP, posM; - - m_constraint->worldFromB(minusXVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posXVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusYVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posYVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusZVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posZVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - - - glEnd(); - - glPopAttrib(); - view.endGL(); -} - -bool sixdofConstraintNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox sixdofConstraintNode::boundingBox() const -{ - // std::cout << "sixdofConstraintNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes -void sixdofConstraintNode::computeConstraint(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "sixdofConstraintNode::computeConstraint" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - plgRigidBodyB.getValue(update); - - rigid_body_t::pointer rigid_bodyA; - if(plgRigidBodyA.isConnected()) { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNodeA(connections[0].node()); - if(fnNodeA.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNodeA.userNode()); - rigid_bodyA = pRigidBodyNodeA->rigid_body(); - } else { - std::cout << "sixdofConstraintNode connected to a non-rigidbody node!" << std::endl; - } - } - } - - rigid_body_t::pointer rigid_bodyB; - if(plgRigidBodyB.isConnected()) { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNodeB(connections[0].node()); - if(fnNodeB.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNodeB.userNode()); - rigid_bodyB = pRigidBodyNodeB->rigid_body(); - } else { - std::cout << "sixdofConstraintNode connected to a non-rigidbody node!" << std::endl; - } - } - } - - vec3f pivInA, pivInB; - - if((rigid_bodyA != NULL) && (rigid_bodyB != NULL)) - { - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - float3& mPivInB = data.inputValue(ia_pivotInB).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - pivInB[i] = (float)mPivInB[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meulerA(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquatA = meulerA.asQuaternion(); - quatf rotA((float)mquatA.w, (float)mquatA.x, (float)mquatA.y, (float)mquatA.z); - float3& mRotInB = data.inputValue(ia_rotationInB).asFloat3(); - MEulerRotation meulerB(deg2rad(mRotInB[0]), deg2rad(mRotInB[1]), deg2rad(mRotInB[2])); - MQuaternion mquatB = meulerB.asQuaternion(); - quatf rotB((float)mquatB.w, (float)mquatB.x, (float)mquatB.y, (float)mquatB.z); - m_constraint = solver_t::create_sixdof_constraint(rigid_bodyA, pivInA, rotA, rigid_bodyB, pivInB, rotB); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - else if(rigid_bodyA != NULL) - { - //not connected to a rigid body, put a default one - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meuler(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquat = meuler.asQuaternion(); - quatf rotA((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z); - m_constraint = solver_t::create_sixdof_constraint(rigid_bodyA, pivInA, rotA); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - - data.outputValue(ca_constraint).set(true); - data.setClean(plug); -} - - -void sixdofConstraintNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - MStatus status; - MFnTransform fnParentTransform(fnDagNode.parent(0, &status)); - double fixScale[3] = { 1., 1., 1. }; // lock scale - fnParentTransform.setScale(fixScale); - MVector mtranslation = fnParentTransform.getTranslation(MSpace::kTransform, &status); - - if(dSolverNode::isStartTime) - { // allow to edit pivots - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - if(plgRigidBodyA.isConnected()) - { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbAObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - MPlug(rbAObj, pRigidBodyNodeA->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - plgRigidBodyB.getValue(update); - if(plgRigidBodyB.isConnected()) - { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbBObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - MPlug(rbBObj, pRigidBodyNodeB->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - if(m_constraint) - { - MQuaternion mrotation; - fnParentTransform.getRotation(mrotation, MSpace::kTransform); - bool doUpdatePivot = m_constraint->getPivotChanged(); - if(!doUpdatePivot) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - float deltaPX = worldP[0] - float(mtranslation.x); - float deltaPY = worldP[1] - float(mtranslation.y); - float deltaPZ = worldP[2] - float(mtranslation.z); - float deltaRX = (float)mrotation.x - worldR[1]; - float deltaRY = (float)mrotation.y - worldR[2]; - float deltaRZ = (float)mrotation.z - worldR[3]; - float deltaRW = (float)mrotation.w - worldR[0]; - float deltaSq = deltaPX * deltaPX + deltaPY * deltaPY + deltaPZ * deltaPZ - + deltaRX * deltaRX + deltaRY * deltaRY + deltaRZ * deltaRZ + deltaRW * deltaRW; - doUpdatePivot = (deltaSq > FLT_EPSILON); - } - if(doUpdatePivot) - { - m_constraint->set_world(vec3f((float) mtranslation[0], (float) mtranslation[1], (float) mtranslation[2]), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - vec3f pivInA, pivInB; - quatf rotInA, rotInB; - m_constraint->get_frameA(pivInA, rotInA); - m_constraint->get_frameB(pivInB, rotInB); - MDataHandle hPivInA = data.outputValue(ia_pivotInA); - float3 &ihPivInA = hPivInA.asFloat3(); - MDataHandle hPivInB = data.outputValue(ia_pivotInB); - float3 &ihPivInB = hPivInB.asFloat3(); - for(int i = 0; i < 3; i++) - { - ihPivInA[i] = pivInA[i]; - ihPivInB[i] = pivInB[i]; - } - MDataHandle hRotInA = data.outputValue(ia_rotationInA); - float3 &hrotInA = hRotInA.asFloat3(); - MQuaternion mrotA(rotInA[1], rotInA[2], rotInA[3], rotInA[0]); - MEulerRotation newrotA(mrotA.asEulerRotation()); - hrotInA[0] = rad2deg((float)newrotA.x); - hrotInA[1] = rad2deg((float)newrotA.y); - hrotInA[2] = rad2deg((float)newrotA.z); - MDataHandle hRotInB = data.outputValue(ia_rotationInB); - float3 &hrotInB = hRotInB.asFloat3(); - MQuaternion mrotB(rotInB[1], rotInB[2], rotInB[3], rotInB[0]); - MEulerRotation newrotB(mrotB.asEulerRotation()); - hrotInB[0] = rad2deg((float)newrotB.x); - hrotInB[1] = rad2deg((float)newrotB.y); - hrotInB[2] = rad2deg((float)newrotB.z); - m_constraint->setPivotChanged(false); - } - } - } - else - { // if not start time, lock position and rotation - if(m_constraint) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - fnParentTransform.setTranslation(MVector(worldP[0], worldP[1], worldP[2]), MSpace::kTransform); - fnParentTransform.setRotation(MQuaternion(worldR[1], worldR[2], worldR[3], worldR[0])); - } - } - data.setClean(plug); -} - -void sixdofConstraintNode::computeConstraintParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "sixdofConstraintNode::computeRigidBodyParam" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_constraint).getValue(update); - if(m_constraint) { - m_constraint->set_damping((float) data.inputValue(ia_damping).asDouble()); - vec3f lowLin, uppLin, lowAng, uppAng; - float3& mLowLin = data.inputValue(ia_lowerLinLimit).asFloat3(); - float3& mUppLin = data.inputValue(ia_upperLinLimit).asFloat3(); - float3& mLowAng = data.inputValue(ia_lowerAngLimit).asFloat3(); - float3& mUppAng = data.inputValue(ia_upperAngLimit).asFloat3(); - for(int j = 0; j < 3; j++) - { - lowLin[j] = mLowLin[j]; - uppLin[j] = mUppLin[j]; - lowAng[j] = deg2rad(mLowAng[j]); - uppAng[j] = deg2rad(mUppAng[j]); - } - m_constraint->set_LinLimit(lowLin, uppLin); - m_constraint->set_AngLimit(lowAng, uppAng); - } - - data.outputValue(ca_constraintParam).set(true); - data.setClean(plug); -} - -sixdof_constraint_t::pointer sixdofConstraintNode::constraint() -{ - // std::cout << "sixdofConstraintNode::rigid_body" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - return m_constraint; -} - -void sixdofConstraintNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/constraint/sixdofConstraintNode.h b/Extras/MayaPlugin/constraint/sixdofConstraintNode.h deleted file mode 100644 index 77e9bcfc8..000000000 --- a/Extras/MayaPlugin/constraint/sixdofConstraintNode.h +++ /dev/null @@ -1,110 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sixdofConstraintNode.h - -#ifndef DYN_SIXDOF_CONSTRAINT_NODE_H -#define DYN_SIXDOF_CONSTRAINT_NODE_H - -#include -#include -#include - -#include "solver.h" - -class sixdofConstraintNode: public MPxLocatorNode -{ -public: - sixdofConstraintNode(); - virtual ~sixdofConstraintNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - sixdof_constraint_t::pointer constraint(); - void update(); - -public: - - //Attributes - static MObject ia_rigidBodyA; - static MObject ia_rigidBodyB; - static MObject ia_damping; - - static MObject ia_lowerLinLimit; - static MObject ia_upperLinLimit; - static MObject ia_lowerAngLimit; - static MObject ia_upperAngLimit; - - static MObject ia_rotationInA; - static MObject ia_rotationInB; - - static MObject ia_pivotInA; - static MObject ia_pivotInB; - - - static MObject ca_constraint; - static MObject ca_constraintParam; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void computeConstraint(const MPlug& plug, MDataBlock& data); - void computeConstraintParam(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - sixdof_constraint_t::pointer m_constraint; -}; - - - -#endif //DYN_SIXDOF_CONSTRAINT_NODE_H diff --git a/Extras/MayaPlugin/constraint/sixdof_constraint.h b/Extras/MayaPlugin/constraint/sixdof_constraint.h deleted file mode 100644 index 190ec9cb5..000000000 --- a/Extras/MayaPlugin/constraint/sixdof_constraint.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sixdof_constraint.h - -#ifndef DYN_SIXDOF_CONSTRAINT_H -#define DYN_SIXDOF_CONSTRAINT_H - -#include "shared_ptr.h" -#include "rigid_body.h" -#include "mathUtils.h" - -#include "constraint.h" -#include "sixdof_constraint_impl.h" - -class sixdof_constraint_t: public constraint_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - // - rigid_body_t::pointer rigid_bodyA() { return m_rigid_bodyA; } - rigid_body_t::pointer rigid_bodyB() { return m_rigid_bodyB; } - - // - void set_damping(float d) { - sixdof_constraint_impl_t* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->set_damping(d); - } - - float damping() const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - return sixdof_impl->damping(); - } - - void set_LinLimit(vec3f& lower, vec3f& upper) { - sixdof_constraint_impl_t* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->set_LinLimit(lower, upper); - } - - void set_AngLimit(vec3f& lower, vec3f& upper) { - sixdof_constraint_impl_t* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->set_AngLimit(lower, upper); - } - - void get_frameA(vec3f& p, quatf& r) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->get_frameA(p, r); - } - void get_frameB(vec3f& p, quatf& r) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->get_frameB(p, r); - } - void get_invFrameA(vec3f& p, quatf& r) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->get_invFrameA(p, r); - } - void get_invFrameB(vec3f& p, quatf& r) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->get_invFrameB(p, r); - } - void worldToA(vec3f& w, vec3f& p) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->worldToA(w, p); - } - void worldFromB(vec3f& p, vec3f& w) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->worldFromB(p, w); - } - void set_world(vec3f const& p, quatf const& r) - { - sixdof_constraint_impl_t* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->set_world(p, r); - } - - //local space pivot - void get_world(vec3f& p, quatf& r) const { - sixdof_constraint_impl_t const* sixdof_impl = dynamic_cast(impl()); - sixdof_impl->get_world(p, r); - } - - - - - -public: - virtual ~sixdof_constraint_t() {}; - -protected: - friend class solver_t; - sixdof_constraint_t(sixdof_constraint_impl_t* impl, rigid_body_t::pointer& rigid_body): - constraint_t(impl), - m_rigid_bodyA(rigid_body) - { - } - sixdof_constraint_t(sixdof_constraint_impl_t* impl, rigid_body_t::pointer& rigid_bodyA, rigid_body_t::pointer& rigid_bodyB): - constraint_t(impl), - m_rigid_bodyA(rigid_bodyA), - m_rigid_bodyB(rigid_bodyB) - { - } - -private: - rigid_body_t::pointer m_rigid_bodyA; - rigid_body_t::pointer m_rigid_bodyB; -}; - - - -#endif //DYN_SIXDOF_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/sixdof_constraint_impl.h b/Extras/MayaPlugin/constraint/sixdof_constraint_impl.h deleted file mode 100644 index bde7e2530..000000000 --- a/Extras/MayaPlugin/constraint/sixdof_constraint_impl.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sixdof_constraint_impl.h - -#ifndef DYN_SIXDOF_CONSTRAINT_IMPL_H -#define DYN_SIXDOF_CONSTRAINT_IMPL_H - -#include "constraint_impl.h" - -class sixdof_constraint_impl_t: public constraint_impl_t -{ -public: - virtual void set_world(vec3f const& p, quatf const& r) = 0; - virtual void get_world(vec3f& p, quatf& r) const = 0; - virtual void get_frameA(vec3f& p, quatf& r) const = 0; - virtual void get_frameB(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameA(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameB(vec3f& p, quatf& r) const = 0; - virtual void worldToA(vec3f& w, vec3f& p) const = 0; - virtual void worldFromB(vec3f& p, vec3f& w) const = 0; - - // - virtual void set_damping(float d) = 0; - virtual float damping() const = 0; - virtual void set_LinLimit(vec3f& lower, vec3f& upper) = 0; - virtual void set_AngLimit(vec3f& lower, vec3f& upper) = 0; - -public: - virtual ~sixdof_constraint_impl_t() {}; -}; - -#endif //DYN_SIXDOF_CONSTRAINT_IMPL_H diff --git a/Extras/MayaPlugin/constraint/sliderConstraintNode.cpp b/Extras/MayaPlugin/constraint/sliderConstraintNode.cpp deleted file mode 100644 index 40bbc6006..000000000 --- a/Extras/MayaPlugin/constraint/sliderConstraintNode.cpp +++ /dev/null @@ -1,635 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sliderConstraintNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyNode.h" -#include "sliderConstraintNode.h" -#include "mayaUtils.h" - -#include "solver.h" -#include "dSolverNode.h" -#include "constraint/bt_slider_constraint.h" - -MTypeId sliderConstraintNode::typeId(0x100385); -MString sliderConstraintNode::typeName("dSliderConstraint"); - -MObject sliderConstraintNode::ia_rigidBodyA; -MObject sliderConstraintNode::ia_rigidBodyB; -MObject sliderConstraintNode::ia_damping; -MObject sliderConstraintNode::ca_constraint; -MObject sliderConstraintNode::ca_constraintParam; -MObject sliderConstraintNode::ia_lowerLinLimit; -MObject sliderConstraintNode::ia_upperLinLimit; -MObject sliderConstraintNode::ia_lowerAngLimit; -MObject sliderConstraintNode::ia_upperAngLimit; -MObject sliderConstraintNode::ia_rotationInA; -MObject sliderConstraintNode::ia_rotationInB; -MObject sliderConstraintNode::ia_pivotInA; -MObject sliderConstraintNode::ia_pivotInB; - -MStatus sliderConstraintNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - - ia_rigidBodyA = fnMsgAttr.create("inRigidBodyA", "inrbA", &status); - MCHECKSTATUS(status, "creating inRigidBodyA attribute") - status = addAttribute(ia_rigidBodyA); - MCHECKSTATUS(status, "adding inRigidBody attribute") - - ia_rigidBodyB = fnMsgAttr.create("inRigidBodyB", "inrbB", &status); - MCHECKSTATUS(status, "creating inRigidBodyB attribute") - status = addAttribute(ia_rigidBodyB); - MCHECKSTATUS(status, "adding inRigidBodyB attribute") - - ia_damping = fnNumericAttr.create("damping", "dmp", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating damping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_damping); - MCHECKSTATUS(status, "adding damping attribute") - - ia_lowerLinLimit = fnNumericAttr.create("lowerLinLimit", "lllt", MFnNumericData::kDouble, 1, &status); - MCHECKSTATUS(status, "creating lower linear limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_lowerLinLimit); - MCHECKSTATUS(status, "adding lower linear limit attribute") - - ia_upperLinLimit = fnNumericAttr.create("upperLinLimit", "ullt", MFnNumericData::kDouble, -1, &status); - MCHECKSTATUS(status, "creating upper linear limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_upperLinLimit); - MCHECKSTATUS(status, "adding upper linear limit attribute") - - ia_lowerAngLimit = fnNumericAttr.create("lowerAngLimit", "lalt", MFnNumericData::kDouble, 0, &status); - MCHECKSTATUS(status, "creating lower angular limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_lowerAngLimit); - MCHECKSTATUS(status, "adding lower angular limit attribute") - - ia_upperAngLimit = fnNumericAttr.create("upperAngLimit", "ualt", MFnNumericData::kDouble, 0, &status); - MCHECKSTATUS(status, "creating upper angular limit attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_upperAngLimit); - MCHECKSTATUS(status, "adding upper angular limit attribute") - - ca_constraint = fnNumericAttr.create("ca_constraint", "caco", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraint attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraint); - MCHECKSTATUS(status, "adding ca_constraint attribute") - - ca_constraintParam = fnNumericAttr.create("ca_constraintParam", "cacop", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_constraintParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_constraintParam); - MCHECKSTATUS(status, "adding ca_constraintParam attribute") - - - ia_rotationInA = fnNumericAttr.createPoint("rotationInA", "hgRotA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInA attribute") - status = addAttribute(ia_rotationInA); - MCHECKSTATUS(status, "adding rotationInA attribute") - - ia_rotationInB = fnNumericAttr.createPoint("rotationInB", "hgRotB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating rotationInB attribute") - status = addAttribute(ia_rotationInB); - MCHECKSTATUS(status, "adding rotationInB attribute") - - ia_pivotInA = fnNumericAttr.createPoint("pivotInA", "pivinA", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInA attribute") - status = addAttribute(ia_pivotInA); - MCHECKSTATUS(status, "adding pivotInA attribute") - - ia_pivotInB = fnNumericAttr.createPoint("pivotInB", "pivinB", &status); - status = fnNumericAttr.setDefault((double) 0.0, (double) 0.0, (double) 0.0); - MCHECKSTATUS(status, "creating pivotInB attribute") - status = addAttribute(ia_pivotInB); - MCHECKSTATUS(status, "adding pivotInB attribute") - - - status = attributeAffects(ia_rigidBodyA, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraint)") - - status = attributeAffects(ia_rigidBodyA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyA, ca_constraintParam)") - - status = attributeAffects(ia_rigidBodyB, ca_constraint); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraint)") - - status = attributeAffects(ia_rigidBodyB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rigidBodyB, ca_constraintParam)") - - status = attributeAffects(ia_damping, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_damping, ca_constraintParam)") - - status = attributeAffects(ia_lowerLinLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_lowerLinLimit, ca_constraintParam)") - - status = attributeAffects(ia_upperLinLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_upperLinLimit, ca_constraintParam)") - - status = attributeAffects(ia_lowerAngLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_lowerAngLimit, ca_constraintParam)") - - status = attributeAffects(ia_upperAngLimit, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_upperAngLimit, ca_constraintParam)") - - status = attributeAffects(ia_rotationInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInA, ca_constraintParam)") - status = attributeAffects(ia_rotationInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_rotationInB, ca_constraintParam)") - - status = attributeAffects(ia_pivotInA, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInA, ca_constraintParam)") - status = attributeAffects(ia_pivotInB, ca_constraintParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_pivotInB, ca_constraintParam)") - - - return MS::kSuccess; -} - -sliderConstraintNode::sliderConstraintNode() -{ - // std::cout << "sliderConstraintNode::sliderConstraintNode" << std::endl; -} - -sliderConstraintNode::~sliderConstraintNode() -{ - // std::cout << "sliderConstraintNode::~sliderConstraintNode" << std::endl; -} - -void sliderConstraintNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "sliderConstraintNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - sliderConstraintNode *pNode = static_cast(fnNode.userNode()); - if (pNode->m_constraint) - { - bt_slider_constraint_t* hinge_impl = dynamic_cast(pNode->m_constraint->pubImpl()); - rigid_body_t::pointer rigid_bodyA = pNode->m_constraint->rigid_bodyA(); - if(rigid_bodyA) - { - rigid_bodyA->remove_constraint(hinge_impl); - } - rigid_body_t::pointer rigid_bodyB = pNode->m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->remove_constraint(hinge_impl); - } - } - constraint_t::pointer constraint = static_cast(pNode->m_constraint); - solver_t::remove_constraint(constraint); -} - -void* sliderConstraintNode::creator() -{ - return new sliderConstraintNode(); -} - - -bool sliderConstraintNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus sliderConstraintNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "sliderConstraintNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( sliderConstraintNode::inTime ).asTime(); - if(plug == ca_constraint) { - computeConstraint(plug, data); - } else if(plug == ca_constraintParam) { - computeConstraintParam(plug, data); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void sliderConstraintNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - update(); - vec3f zeroVec(0.f,0.f,0.f); - vec3f minusXVec(-1.f,0.f,0.f); - vec3f posXVec(1.f,0.f,0.f); - vec3f minusYVec (0.f,-1.f,0.f); - vec3f posYVec (0.f,1.f,0.f); - vec3f minusZVec (0.f,0.f,-1.f); - vec3f posZVec (0.f,0.f,1.f); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glDisable(GL_LIGHTING); - - if( !(status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded )) ) { - glColor3f(1.0, 1.0, 0.0); - } - - vec3f posA, posB, pivB; - rigid_body_t::pointer rigid_bodyB = NULL; - if (m_constraint) - { - vec3f pos; - quatf rot; - m_constraint->rigid_bodyA()->get_transform(pos, rot); - m_constraint->worldToA(pos, posA); - rigid_bodyB = m_constraint->rigid_bodyB(); - if(rigid_bodyB) - { - rigid_bodyB->get_transform(pos, rot); - m_constraint->worldToA(pos, posB); - } - m_constraint->worldFromB(zeroVec, pos); - m_constraint->worldToA(pos, pivB); - } - - glBegin(GL_LINES); - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(posA[0], posA[1], posA[2]); - - glVertex3f(0.0, 0.0, 0.0); - glVertex3f(pivB[0], pivB[1], pivB[2]); - - if(rigid_bodyB) - { - glVertex3f(pivB[0], pivB[1], pivB[2]); - glVertex3f(posB[0], posB[1], posB[2]); - } - - - glVertex3f(-1.0, 0.0, 0.0); - glVertex3f(1.0, 0.0, 0.0); - - glVertex3f(0.0, -1.0, 0.0); - glVertex3f(0.0, 1.0, 0.0); - - glVertex3f(0.0, 0.0, -1.0); - glVertex3f(0.0, 0.0, 1.0); - - vec3f posT, posP, posM; - - m_constraint->worldFromB(minusXVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posXVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusYVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posYVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - m_constraint->worldFromB(minusZVec, posT); - m_constraint->worldToA(posT, posM); - m_constraint->worldFromB(posZVec, posT); - m_constraint->worldToA(posT, posP); - glVertex3f(posM[0], posM[1], posM[2]); - glVertex3f(posP[0], posP[1], posP[2]); - - - glEnd(); - - glPopAttrib(); - view.endGL(); -} - -bool sliderConstraintNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox sliderConstraintNode::boundingBox() const -{ - // std::cout << "sliderConstraintNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes -void sliderConstraintNode::computeConstraint(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "sliderConstraintNode::computeConstraint" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - plgRigidBodyB.getValue(update); - - rigid_body_t::pointer rigid_bodyA; - if(plgRigidBodyA.isConnected()) { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNodeA(connections[0].node()); - if(fnNodeA.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNodeA.userNode()); - rigid_bodyA = pRigidBodyNodeA->rigid_body(); - } else { - std::cout << "sliderConstraintNode connected to a non-rigidbody node!" << std::endl; - } - } - } - - rigid_body_t::pointer rigid_bodyB; - if(plgRigidBodyB.isConnected()) { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNodeB(connections[0].node()); - if(fnNodeB.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNodeB.userNode()); - rigid_bodyB = pRigidBodyNodeB->rigid_body(); - } else { - std::cout << "sliderConstraintNode connected to a non-rigidbody node!" << std::endl; - } - } - } - - vec3f pivInA, pivInB; - - if((rigid_bodyA != NULL) && (rigid_bodyB != NULL)) - { - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - float3& mPivInB = data.inputValue(ia_pivotInB).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - pivInB[i] = (float)mPivInB[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meulerA(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquatA = meulerA.asQuaternion(); - quatf rotA((float)mquatA.w, (float)mquatA.x, (float)mquatA.y, (float)mquatA.z); - float3& mRotInB = data.inputValue(ia_rotationInB).asFloat3(); - MEulerRotation meulerB(deg2rad(mRotInB[0]), deg2rad(mRotInB[1]), deg2rad(mRotInB[2])); - MQuaternion mquatB = meulerB.asQuaternion(); - quatf rotB((float)mquatB.w, (float)mquatB.x, (float)mquatB.y, (float)mquatB.z); - m_constraint = solver_t::create_slider_constraint(rigid_bodyA, pivInA, rotA, rigid_bodyB, pivInB, rotB); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - else if(rigid_bodyA != NULL) - { - //not connected to a rigid body, put a default one - constraint_t::pointer constraint = static_cast(m_constraint); - solver_t::remove_constraint(constraint); - float3& mPivInA = data.inputValue(ia_pivotInA).asFloat3(); - for(int i = 0; i < 3; i++) - { - pivInA[i] = (float)mPivInA[i]; - } - float3& mRotInA = data.inputValue(ia_rotationInA).asFloat3(); - MEulerRotation meuler(deg2rad(mRotInA[0]), deg2rad(mRotInA[1]), deg2rad(mRotInA[2])); - MQuaternion mquat = meuler.asQuaternion(); - quatf rotA((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z); - m_constraint = solver_t::create_slider_constraint(rigid_bodyA, pivInA, rotA); - constraint = static_cast(m_constraint); - solver_t::add_constraint(constraint); - } - data.outputValue(ca_constraint).set(true); - data.setClean(plug); -} - - -void sliderConstraintNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - MStatus status; - MFnTransform fnParentTransform(fnDagNode.parent(0, &status)); - double fixScale[3] = { 1., 1., 1. }; // lock scale - fnParentTransform.setScale(fixScale); - MVector mtranslation = fnParentTransform.getTranslation(MSpace::kTransform, &status); - - if(dSolverNode::isStartTime) - { // allow to edit pivots - MPlug plgRigidBodyA(thisObject, ia_rigidBodyA); - MPlug plgRigidBodyB(thisObject, ia_rigidBodyB); - MObject update; - //force evaluation of the rigidBody - plgRigidBodyA.getValue(update); - if(plgRigidBodyA.isConnected()) - { - MPlugArray connections; - plgRigidBodyA.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbAObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeA = static_cast(fnNode.userNode()); - MPlug(rbAObj, pRigidBodyNodeA->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - plgRigidBodyB.getValue(update); - if(plgRigidBodyB.isConnected()) - { - MPlugArray connections; - plgRigidBodyB.connectedTo(connections, true, true); - if(connections.length() != 0) - { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MObject rbBObj = fnNode.object(); - rigidBodyNode *pRigidBodyNodeB = static_cast(fnNode.userNode()); - MPlug(rbBObj, pRigidBodyNodeB->worldMatrix).elementByLogicalIndex(0).getValue(update); - } - } - } - if(m_constraint) - { - MQuaternion mrotation; - fnParentTransform.getRotation(mrotation, MSpace::kTransform); - bool doUpdatePivot = m_constraint->getPivotChanged(); - if(!doUpdatePivot) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - float deltaPX = worldP[0] - float(mtranslation.x); - float deltaPY = worldP[1] - float(mtranslation.y); - float deltaPZ = worldP[2] - float(mtranslation.z); - float deltaRX = (float)mrotation.x - worldR[1]; - float deltaRY = (float)mrotation.y - worldR[2]; - float deltaRZ = (float)mrotation.z - worldR[3]; - float deltaRW = (float)mrotation.w - worldR[0]; - float deltaSq = deltaPX * deltaPX + deltaPY * deltaPY + deltaPZ * deltaPZ - + deltaRX * deltaRX + deltaRY * deltaRY + deltaRZ * deltaRZ + deltaRW * deltaRW; - doUpdatePivot = (deltaSq > FLT_EPSILON); - } - if(doUpdatePivot) - { - m_constraint->set_world(vec3f((float) mtranslation[0], (float) mtranslation[1], (float) mtranslation[2]), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - vec3f pivInA, pivInB; - quatf rotInA, rotInB; - m_constraint->get_frameA(pivInA, rotInA); - m_constraint->get_frameB(pivInB, rotInB); - MDataHandle hPivInA = data.outputValue(ia_pivotInA); - float3 &ihPivInA = hPivInA.asFloat3(); - MDataHandle hPivInB = data.outputValue(ia_pivotInB); - float3 &ihPivInB = hPivInB.asFloat3(); - for(int i = 0; i < 3; i++) - { - ihPivInA[i] = pivInA[i]; - ihPivInB[i] = pivInB[i]; - } - MDataHandle hRotInA = data.outputValue(ia_rotationInA); - float3 &hrotInA = hRotInA.asFloat3(); - MQuaternion mrotA(rotInA[1], rotInA[2], rotInA[3], rotInA[0]); - MEulerRotation newrotA(mrotA.asEulerRotation()); - hrotInA[0] = rad2deg((float)newrotA.x); - hrotInA[1] = rad2deg((float)newrotA.y); - hrotInA[2] = rad2deg((float)newrotA.z); - MDataHandle hRotInB = data.outputValue(ia_rotationInB); - float3 &hrotInB = hRotInB.asFloat3(); - MQuaternion mrotB(rotInB[1], rotInB[2], rotInB[3], rotInB[0]); - MEulerRotation newrotB(mrotB.asEulerRotation()); - hrotInB[0] = rad2deg((float)newrotB.x); - hrotInB[1] = rad2deg((float)newrotB.y); - hrotInB[2] = rad2deg((float)newrotB.z); - m_constraint->setPivotChanged(false); - } - } - } - else - { // if not start time, lock position and rotation - if(m_constraint) - { - vec3f worldP; - quatf worldR; - m_constraint->get_world(worldP, worldR); - fnParentTransform.setTranslation(MVector(worldP[0], worldP[1], worldP[2]), MSpace::kTransform); - fnParentTransform.setRotation(MQuaternion(worldR[1], worldR[2], worldR[3], worldR[0])); - } - } - data.setClean(plug); -} - -void sliderConstraintNode::computeConstraintParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "sliderConstraintNode::computeRigidBodyParam" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_constraint).getValue(update); - if(m_constraint) { - m_constraint->set_damping((float) data.inputValue(ia_damping).asDouble()); - float lin_lower = (float) data.inputValue(ia_lowerLinLimit).asDouble(); - float lin_upper = (float) data.inputValue(ia_upperLinLimit).asDouble(); - m_constraint->set_LinLimit(lin_lower, lin_upper); - float ang_lower = (float) data.inputValue(ia_lowerAngLimit).asDouble(); - float ang_upper = (float) data.inputValue(ia_upperAngLimit).asDouble(); - m_constraint->set_AngLimit(deg2rad(ang_lower), deg2rad(ang_upper)); - } - - data.outputValue(ca_constraintParam).set(true); - data.setClean(plug); -} - -slider_constraint_t::pointer sliderConstraintNode::constraint() -{ - // std::cout << "sliderConstraintNode::rigid_body" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - - return m_constraint; -} - -void sliderConstraintNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_constraint).getValue(update); - MPlug(thisObject, ca_constraintParam).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/constraint/sliderConstraintNode.h b/Extras/MayaPlugin/constraint/sliderConstraintNode.h deleted file mode 100644 index a89fcdd17..000000000 --- a/Extras/MayaPlugin/constraint/sliderConstraintNode.h +++ /dev/null @@ -1,110 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//sliderConstraintNode.h - -#ifndef DYN_SLIDER_CONSTRAINT_NODE_H -#define DYN_SLIDER_CONSTRAINT_NODE_H - -#include -#include -#include - -#include "solver.h" - -class sliderConstraintNode: public MPxLocatorNode -{ -public: - sliderConstraintNode(); - virtual ~sliderConstraintNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - slider_constraint_t::pointer constraint(); - void update(); - -public: - - //Attributes - static MObject ia_rigidBodyA; - static MObject ia_rigidBodyB; - static MObject ia_damping; - - static MObject ia_lowerLinLimit; - static MObject ia_upperLinLimit; - static MObject ia_lowerAngLimit; - static MObject ia_upperAngLimit; - - static MObject ia_rotationInA; - static MObject ia_rotationInB; - - static MObject ia_pivotInA; - static MObject ia_pivotInB; - - - static MObject ca_constraint; - static MObject ca_constraintParam; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void computeConstraint(const MPlug& plug, MDataBlock& data); - void computeConstraintParam(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - slider_constraint_t::pointer m_constraint; -}; - - - -#endif //DYN_SLIDER_CONSTRAINT_NODE_H diff --git a/Extras/MayaPlugin/constraint/slider_constraint.h b/Extras/MayaPlugin/constraint/slider_constraint.h deleted file mode 100644 index a5bd706e6..000000000 --- a/Extras/MayaPlugin/constraint/slider_constraint.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//slider_constraint.h - -#ifndef DYN_SLIDER_CONSTRAINT_H -#define DYN_SLIDER_CONSTRAINT_H - -#include "shared_ptr.h" -#include "rigid_body.h" -#include "mathUtils.h" - -#include "constraint.h" -#include "slider_constraint_impl.h" - -class slider_constraint_t: public constraint_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - // - rigid_body_t::pointer rigid_bodyA() { return m_rigid_bodyA; } - rigid_body_t::pointer rigid_bodyB() { return m_rigid_bodyB; } - - - // - void set_damping(float d) { - slider_constraint_impl_t* slider_impl = dynamic_cast(impl()); - slider_impl->set_damping(d); - } - - float damping() const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - return slider_impl->damping(); - } - - - void set_LinLimit(float lower, float upper) { - slider_constraint_impl_t* slider_impl = dynamic_cast(impl()); - slider_impl->set_LinLimit(lower, upper); - } - - void set_AngLimit(float lower, float upper) { - slider_constraint_impl_t* slider_impl = dynamic_cast(impl()); - slider_impl->set_AngLimit(lower, upper); - } - - void get_frameA(vec3f& p, quatf& r) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->get_frameA(p, r); - } - void get_frameB(vec3f& p, quatf& r) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->get_frameB(p, r); - } - void get_invFrameA(vec3f& p, quatf& r) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->get_invFrameA(p, r); - } - void get_invFrameB(vec3f& p, quatf& r) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->get_invFrameB(p, r); - } - void worldToA(vec3f& w, vec3f& p) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->worldToA(w, p); - } - void worldFromB(vec3f& p, vec3f& w) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->worldFromB(p, w); - } - void set_world(vec3f const& p, quatf const& r) - { - slider_constraint_impl_t* slider_impl = dynamic_cast(impl()); - slider_impl->set_world(p, r); - } - - //local space pivot - void get_world(vec3f& p, quatf& r) const { - slider_constraint_impl_t const* slider_impl = dynamic_cast(impl()); - slider_impl->get_world(p, r); - } - - - -public: - virtual ~slider_constraint_t() {}; - -protected: - friend class solver_t; - slider_constraint_t(slider_constraint_impl_t* impl, rigid_body_t::pointer& rigid_body): - constraint_t(impl), - m_rigid_bodyA(rigid_body) - { - } - slider_constraint_t(slider_constraint_impl_t* impl, rigid_body_t::pointer& rigid_bodyA, rigid_body_t::pointer& rigid_bodyB): - constraint_t(impl), - m_rigid_bodyA(rigid_bodyA), - m_rigid_bodyB(rigid_bodyB) - { - } - -private: - rigid_body_t::pointer m_rigid_bodyA; - rigid_body_t::pointer m_rigid_bodyB; -}; - - - -#endif //DYN_SLIDER_CONSTRAINT_H diff --git a/Extras/MayaPlugin/constraint/slider_constraint_impl.h b/Extras/MayaPlugin/constraint/slider_constraint_impl.h deleted file mode 100644 index 9c0989ca6..000000000 --- a/Extras/MayaPlugin/constraint/slider_constraint_impl.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//slider_constraint_impl.h - -#ifndef DYN_SLIDER_CONSTRAINT_IMPL_H -#define DYN_SLIDER_CONSTRAINT_IMPL_H - -#include "constraint_impl.h" - -class slider_constraint_impl_t: public constraint_impl_t -{ -public: - // - virtual void set_world(vec3f const& p, quatf const& r) = 0; - virtual void get_world(vec3f& p, quatf& r) const = 0; - virtual void get_frameA(vec3f& p, quatf& r) const = 0; - virtual void get_frameB(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameA(vec3f& p, quatf& r) const = 0; - virtual void get_invFrameB(vec3f& p, quatf& r) const = 0; - virtual void worldToA(vec3f& w, vec3f& p) const = 0; - virtual void worldFromB(vec3f& p, vec3f& w) const = 0; - - // - virtual void set_damping(float d) = 0; - virtual float damping() const = 0; - virtual void set_LinLimit(float lower, float upper) = 0; - virtual void set_AngLimit(float lower, float upper) = 0; - -public: - virtual ~slider_constraint_impl_t() {}; -}; - -#endif //DYN_SLIDER_CONSTRAINT_IMPL_H diff --git a/Extras/MayaPlugin/convex_hull_shape.h b/Extras/MayaPlugin/convex_hull_shape.h deleted file mode 100644 index 040278a08..000000000 --- a/Extras/MayaPlugin/convex_hull_shape.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//convex_hull_shape.h - -#ifndef DYN_CONVEX_HULL_SHAPE_H -#define DYN_CONVEX_HULL_SHAPE_H - -#include "collision_shape.h" -#include "collision_shape_impl.h" - -class convex_hull_shape_t: public collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - -protected: - friend class solver_t; - - convex_hull_shape_t(collision_shape_impl_t* impl): collision_shape_t(impl) { } - -}; - -#endif diff --git a/Extras/MayaPlugin/convex_hull_shape_impl.h b/Extras/MayaPlugin/convex_hull_shape_impl.h deleted file mode 100644 index 3fa3103a0..000000000 --- a/Extras/MayaPlugin/convex_hull_shape_impl.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//convex_hull_shape_impl.h - -#ifndef DYN_CONVEX_HULL_SHAPE_IMPL_H -#define DYN_CONVEX_HULL_SHAPE_IMPL_H - -#include "collision_shape_impl.h" - -class convex_hull_shape_impl_t: public collision_shape_impl_t -{ -public: - //typedefs - -private: - -}; - -#endif diff --git a/Extras/MayaPlugin/dRigidBodyArrayCmd.cpp b/Extras/MayaPlugin/dRigidBodyArrayCmd.cpp deleted file mode 100644 index 299b14bd8..000000000 --- a/Extras/MayaPlugin/dRigidBodyArrayCmd.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dRigidBodyArrayCmd.cpp - -#include -#include -#include - -#include "rigidBodyArrayNode.h" -#include "dRigidBodyArrayCmd.h" - - -MString dRigidBodyArrayCmd::typeName("dRigidBodyArray"); - -dRigidBodyArrayCmd::dRigidBodyArrayCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dRigidBodyArrayCmd::~dRigidBodyArrayCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dRigidBodyArrayCmd::creator() -{ - return new dRigidBodyArrayCmd; -} - - -MSyntax -dRigidBodyArrayCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dRigidBodyArrayCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dRigidBodyArrayCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dRigidBodyArrayCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dRigidBodyArray"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dRigidBodyArrayObj = m_dagModifier->createNode(rigidBodyArrayNode::typeId, parentObj); - std::string dRigidBodyArrayName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dRigidBodyArrayName.find_last_not_of("0123456789"); - dRigidBodyArrayName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dRigidBodyArrayObj, dRigidBodyArrayName.c_str()); - m_dagModifier->doIt(); - - // connect the solver attribute - MPlug plgSolver(dRigidBodyArrayObj, rigidBodyArrayNode::ia_solver); - MSelectionList slist; - slist.add("dSolver1"); - MObject solverObj; - if(slist.length() != 0) { - slist.getDependNode(0, solverObj); - MPlug plgRigidBodies = MFnDependencyNode(solverObj).findPlug("rigidBodies", false); - m_dagModifier->connect(plgRigidBodies, plgSolver); - m_dagModifier->doIt(); - } - - MGlobal::select(parentObj, MGlobal::kReplaceList); - - setResult(MFnDependencyNode(dRigidBodyArrayObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/dRigidBodyArrayCmd.h b/Extras/MayaPlugin/dRigidBodyArrayCmd.h deleted file mode 100644 index b6d360821..000000000 --- a/Extras/MayaPlugin/dRigidBodyArrayCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dRigidBodyArrayCmd.h - -#ifndef DYN_DRIGIDBODYARRAYCMD_H -#define DYN_DRIGIDBODYARRAYCMD_H - -#include -#include -#include - -#include - -class dRigidBodyArrayCmd : public MPxCommand -{ -public: - dRigidBodyArrayCmd(); - virtual ~dRigidBodyArrayCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif diff --git a/Extras/MayaPlugin/dRigidBodyCmd.cpp b/Extras/MayaPlugin/dRigidBodyCmd.cpp deleted file mode 100644 index 181a56dec..000000000 --- a/Extras/MayaPlugin/dRigidBodyCmd.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dRigidBodyCmd.cpp - -#include -#include -#include - -#include "rigidBodyNode.h" -#include "dRigidBodyCmd.h" - - -MString dRigidBodyCmd::typeName("dRigidBody"); - -dRigidBodyCmd::dRigidBodyCmd() - : m_argDatabase(0), - m_dagModifier(0) -{ -} - - -dRigidBodyCmd::~dRigidBodyCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dagModifier) { - delete m_dagModifier; - } -} - - -void * -dRigidBodyCmd::creator() -{ - return new dRigidBodyCmd; -} - - -MSyntax -dRigidBodyCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - syntax.addFlag("-n", "-name", MSyntax::kString); - // syntax.addFlag("-fn", "-filename", MSyntax::kString); - // syntax.addFlag("-col", "-color", MSyntax::kString); - // syntax.addFlag("-dia", "-diameter", MSyntax::kDouble); - - return syntax; -} - - -MStatus -dRigidBodyCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dRigidBodyCmd::undoIt() -{ - MGlobal::setActiveSelectionList(m_undoSelectionList); - - if (m_dagModifier) { - m_dagModifier->undoIt(); - delete m_dagModifier; - m_dagModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dRigidBodyCmd::redoIt() -{ - MGlobal::getActiveSelectionList(m_undoSelectionList); - - MString name; - if (m_argDatabase->isFlagSet("-name")) { - m_argDatabase->getFlagArgument("-name", 0, name); - } - if (!name.length()) { - name = "dRigidBody"; - } - - m_dagModifier = new MDagModifier; - - MObject parentObj = m_dagModifier->createNode("transform"); - m_dagModifier->renameNode(parentObj, name + "#"); - m_dagModifier->doIt(); - - MObject dRigidBodyObj = m_dagModifier->createNode(rigidBodyNode::typeId, parentObj); - std::string dRigidBodyName = MFnDependencyNode(parentObj).name().asChar(); - std::string::size_type pos = dRigidBodyName.find_last_not_of("0123456789"); - dRigidBodyName.insert(pos + 1, "Shape"); - m_dagModifier->renameNode(dRigidBodyObj, dRigidBodyName.c_str()); - m_dagModifier->doIt(); - - // connect the solver attribute - MPlug plgSolver(dRigidBodyObj, rigidBodyNode::ia_solver); - MSelectionList slist; - slist.add("dSolver1"); - MObject solverObj; - if(slist.length() != 0) { - slist.getDependNode(0, solverObj); - MPlug plgRigidBodies = MFnDependencyNode(solverObj).findPlug("rigidBodies", false); - m_dagModifier->connect(plgRigidBodies, plgSolver); - m_dagModifier->doIt(); - } - - // MGlobal::select(parentObj, MGlobal::kReplaceList); - - setResult(MFnDependencyNode(dRigidBodyObj).name()); - - return MS::kSuccess; -} diff --git a/Extras/MayaPlugin/dRigidBodyCmd.h b/Extras/MayaPlugin/dRigidBodyCmd.h deleted file mode 100644 index 6604d5e05..000000000 --- a/Extras/MayaPlugin/dRigidBodyCmd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dRigidBodyCmd.h - -#ifndef DYN_DRIGIDBODYCMD_H -#define DYN_DRIGIDBODYCMD_H - -#include -#include -#include - -#include - -class dRigidBodyCmd : public MPxCommand -{ -public: - dRigidBodyCmd(); - virtual ~dRigidBodyCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dagModifier; - - MSelectionList m_undoSelectionList; -}; - -#endif diff --git a/Extras/MayaPlugin/dSolverCmd.cpp b/Extras/MayaPlugin/dSolverCmd.cpp deleted file mode 100644 index 9e234a6c4..000000000 --- a/Extras/MayaPlugin/dSolverCmd.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dSolverCmd.cpp - -#include -#include - -#include "dSolverNode.h" -#include "dSolverCmd.h" - -MString dSolverCmd::typeName("dSolver"); - -dSolverCmd::dSolverCmd() - : m_argDatabase(0), - m_dgModifier(0) -{ -} - - -dSolverCmd::~dSolverCmd() -{ - if (m_argDatabase) { - delete m_argDatabase; - } - - if (m_dgModifier) { - delete m_dgModifier; - } -} - - -void * -dSolverCmd::creator() -{ - return new dSolverCmd; -} - - -MSyntax -dSolverCmd::syntax() -{ - MSyntax syntax; - syntax.enableQuery(false); - syntax.enableEdit(false); - - return syntax; -} - - -MStatus -dSolverCmd::doIt(const MArgList &args) -{ - MStatus stat; - m_argDatabase = new MArgDatabase(syntax(), args, &stat); - if (stat == MS::kFailure) { - return stat; - } - return redoIt(); -} - - -MStatus -dSolverCmd::undoIt() -{ - if (m_dgModifier) { - m_dgModifier->undoIt(); - delete m_dgModifier; - m_dgModifier = 0; - } - - return MS::kSuccess; -} - - -MStatus -dSolverCmd::redoIt() -{ - MStatus stat; - - // see if node exists - MItDependencyNodes depIt(MFn::kPluginDependNode); - for (; !depIt.isDone(); depIt.next()) { - MObject obj = depIt.thisNode(); - if (MFnDependencyNode(obj).typeId() == dSolverNode::typeId) { - return stat; - } - } - - m_dgModifier = new MDagModifier; - - - MObject parentObj = m_dgModifier->createNode("transform"); - m_dgModifier->renameNode(parentObj, "dDebugDraw"); - m_dgModifier->doIt(); - - MObject dSolverObj = m_dgModifier->createNode(dSolverNode::typeId, parentObj, &stat); - if(stat != MStatus::kSuccess) - { - MString errStr = stat.errorString(); - fprintf(stderr, "ERROR : %s\n", errStr.asChar()); - } - m_dgModifier->doIt(); - - // connect the time attribute - MPlug plgInTime(dSolverObj, dSolverNode::ia_time); - MItDependencyNodes depNodeIt(MFn::kTime); - MObject timeObj = depNodeIt.thisNode(); - if (timeObj != MObject::kNullObj) { - MPlug plgOutTime = MFnDependencyNode(timeObj).findPlug("outTime", false); - m_dgModifier->connect(plgOutTime, plgInTime); - m_dgModifier->doIt(); - } - //force update of the solver on creation - MPlug plgRigidBodies(dSolverObj, dSolverNode::oa_rigidBodies); - bool update; - plgRigidBodies.getValue(update); - - setResult(MFnDependencyNode(dSolverObj).name()); - - return stat; -} diff --git a/Extras/MayaPlugin/dSolverCmd.h b/Extras/MayaPlugin/dSolverCmd.h deleted file mode 100644 index 93c769e78..000000000 --- a/Extras/MayaPlugin/dSolverCmd.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dSolverCmd.h - -#ifndef DYN_DSOLVERCMD_H -#define DYN_DSOLVERCMD_H - -#include -#include - -#include - - -class dSolverCmd : public MPxCommand -{ -public: - dSolverCmd(); - virtual ~dSolverCmd(); - - static void *creator(); - static MSyntax syntax(); - - MStatus doIt(const MArgList &i_mArgList); - MStatus redoIt(); - MStatus undoIt(); - bool isUndoable() const { return true; } - bool hasSyntax() const { return true; } - - static MString typeName; - -protected: - MArgDatabase *m_argDatabase; - MDagModifier *m_dgModifier; -// MDGModifier *m_dgModifier; -}; - -#endif diff --git a/Extras/MayaPlugin/dSolverNode.cpp b/Extras/MayaPlugin/dSolverNode.cpp deleted file mode 100644 index 235f571e4..000000000 --- a/Extras/MayaPlugin/dSolverNode.cpp +++ /dev/null @@ -1,1238 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//dSolverNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "mayaUtils.h" -#include "dSolverNode.h" -#include "solver.h" -#include "rigidBodyNode.h" -#include "rigidBodyArrayNode.h" -#include "constraint/nailConstraintNode.h" -#include "constraint/hingeConstraintNode.h" -#include "constraint/sliderConstraintNode.h" -#include "constraint/sixdofConstraintNode.h" -#include "pdbIO.h" -#include "collisionShapeNode.h" - -MTypeId dSolverNode::typeId(0x100331); -MString dSolverNode::typeName("dSolver"); - -MObject dSolverNode::ia_time; -MObject dSolverNode::ia_startTime; -MObject dSolverNode::ia_gravity; -MObject dSolverNode::ia_enabled; -MObject dSolverNode::ia_splitImpulse; -MObject dSolverNode::ia_substeps; -MObject dSolverNode::oa_rigidBodies; -MObject dSolverNode::ssSolverType; -bool dSolverNode::isStartTime; - - -MObject dSolverNode::ia_DBG_DrawWireframe; -MObject dSolverNode::ia_DBG_DrawAabb; -MObject dSolverNode::ia_DBG_DrawFeaturesText; -MObject dSolverNode::ia_DBG_DrawContactPoints; -MObject dSolverNode::ia_DBG_NoDeactivation; -MObject dSolverNode::ia_DBG_NoHelpText; -MObject dSolverNode::ia_DBG_DrawText; -MObject dSolverNode::ia_DBG_ProfileTimings; -MObject dSolverNode::ia_DBG_EnableSatComparison; -MObject dSolverNode::ia_DBG_DisableBulletLCP; -MObject dSolverNode::ia_DBG_EnableCCD; -MObject dSolverNode::ia_DBG_DrawConstraints; -MObject dSolverNode::ia_DBG_DrawConstraintLimits; -MObject dSolverNode::ia_DBG_FastWireframe; - -#define ATTR_POSITION "position" -//#define ATTR_POSITION_TYPE VECTOR_ATTR -#define ATTR_VELOCITY "velocity" -//#define ATTR_VELOCITY_TYPE VECTOR_ATTR - -#define ATTR_IN_RAXIS "in_rotvec" /* vector */ -//#define ATTR_IN_RAXIS_TYPE VECTOR_ATTR -#define ATTR_IN_RANGLE "in_rotang" /* float */ -//#define ATTR_IN_RANGLE_TYPE FLOAT_ATTR -#define ATTR_IN_ROTVEL "in_rotvel" /* float */ -//#define ATTR_IN_ROTVEL_TYPE FLOAT_ATTR -#define ATTR_IN_RAXISNEXT "in_rotvec_next" /* vector */ -//#define ATTR_IN_RAXISNEXT_TYPE VECTOR_ATTR -#define ATTR_IN_RANGLENEXT "in_rotang_next" /* float */ -//#define ATTR_IN_RANGLENEXT_TYPE FLOAT_ATTR - - - -static int getDbgDrawVal(const MObject& thisObj, const MObject& attr, int flag) -{ - MPlug plug(thisObj, attr); - bool retVal = false; - plug.getValue(retVal); - return retVal ? (1 << flag) : 0; -} - - - -void dSolverNode::draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glDisable(GL_LIGHTING); - - if( !(status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded )) ) { - glColor3f(1.0, 1.0, 0.0); - } -/* - glBegin(GL_LINES); - - glColor3f(1.0, 0.5, 0.5); - glVertex3f(0.0, 0.0, 0.0); - glColor3f(0.5, 0.5, 1.0); - glVertex3f(1.f, 1.f, 1.f); - - glEnd(); -*/ - MObject thisObject = thisMObject(); - MFnDagNode fnDagNode(thisObject); - MFnTransform fnParentTransform(fnDagNode.parent(0)); - fnParentTransform.setTranslation(MVector(0.f, 0.f, 0.f), MSpace::kObject); // lock translation - fnParentTransform.setRotation(MEulerRotation(0., 0., 0.)); // lock rotation - double fixScale[3] = { 1., 1., 1. }; // lock scale - fnParentTransform.setScale(fixScale); - - - int dbgMode = 0; - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawWireframe, 0); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawAabb, 1); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawFeaturesText, 2); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawContactPoints, 3); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_NoDeactivation, 4); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_NoHelpText, 5); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawText, 6); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_ProfileTimings, 7); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_EnableSatComparison, 8); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DisableBulletLCP, 9); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_EnableCCD, 10); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawConstraints, 11); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_DrawConstraintLimits, 12); - dbgMode |= getDbgDrawVal(thisObject,ia_DBG_FastWireframe, 13); - solver_t::debug_draw(dbgMode); - - glPopAttrib(); - view.endGL(); - -} - - -static void sceneLoadedCB(void* clientData) -{ - dSolverNode::updateAllRigidBodies(); -} - -#if 0 -static void connCB( MPlug & srcPlug, MPlug & destPlug, bool made, void* clientData) -{ - static int numConn = 0; - MObject objSrc = srcPlug.node(); - MObject objDst = destPlug.node(); - MFnDependencyNode fnNodeSrc(objSrc); - MFnDependencyNode fnNodeDst(objDst); - if(fnNodeSrc.typeId() == collisionShapeNode::typeId) - { - if(fnNodeDst.typeId() == rigidBodyNode::typeId) - { - numConn++; - } - } - if(fnNodeDst.typeId() == collisionShapeNode::typeId) - { - if(fnNodeSrc.typeId() == rigidBodyNode::typeId) - { - numConn++; - } - } -} -#endif - -static void updateSceneCB(MTime & time, void* clientData) -{ - dSolverNode::updateAllRigidBodies(); -} - - -void dSolverNode::updateAllRigidBodies() -{ - MStatus stat; -// MItDag dagIterator( MItDag::kBreadthFirst, MFn::kInvalid, &stat); - MItDag dagIterator( MItDag::kDepthFirst, MFn::kInvalid, &stat); - if (stat != MS::kSuccess) - { - std::cout << "Failure in DAG iterator setup" << std::endl; - return; - } - for ( ;!dagIterator.isDone(); dagIterator.next()) - { - MDagPath dagPath; - stat = dagIterator.getPath( dagPath ); - if(stat != MS::kSuccess) - { - std::cout << "Failure in getting DAG path" << std::endl; - return; - } - // skip over intermediate objects - MFnDagNode dagNode( dagPath, &stat ); - if (dagNode.isIntermediateObject()) - { - continue; - } - if(!dagPath.hasFn(MFn::kDependencyNode)) - { - continue; - } - MObject mObj = dagNode.object(&stat); - if(stat != MS::kSuccess) - { - std::cout << "Failure in getting MObject" << std::endl; - return; - } - MFnDependencyNode fnNode(mObj, &stat); - if(stat != MS::kSuccess) - { - std::cout << "Failure in getting dependency node" << std::endl; - return; - } - if(fnNode.typeId() == rigidBodyNode::typeId) - { - MPlug plgCollisionShape(mObj, rigidBodyNode::ia_collisionShape); - MObject update; - //force evaluation of the shape - plgCollisionShape.getValue(update); - if(plgCollisionShape.isConnected()) - { - rigidBodyNode *rbNode = static_cast(dagNode.userNode()); - rbNode->update(); - } - } - if(fnNode.typeId() == nailConstraintNode::typeId) - { - MPlug plgRbA(mObj, nailConstraintNode::ia_rigidBodyA); - MPlug plgRbB(mObj, nailConstraintNode::ia_rigidBodyB); - MObject update; - //force evaluation - plgRbA.getValue(update); - plgRbB.getValue(update); - bool connA = plgRbA.isConnected(); - bool connB = plgRbB.isConnected(); - if(connA || connB) - { - nailConstraintNode *ncNode = static_cast(dagNode.userNode()); - ncNode->update(); - } - } - if(fnNode.typeId() == hingeConstraintNode::typeId) - { - MPlug plgRbA(mObj, hingeConstraintNode::ia_rigidBodyA); - MPlug plgRbB(mObj, hingeConstraintNode::ia_rigidBodyB); - MObject update; - //force evaluation - plgRbA.getValue(update); - plgRbB.getValue(update); - bool connA = plgRbA.isConnected(); - bool connB = plgRbB.isConnected(); - if(connA || connB) - { - hingeConstraintNode *hcNode = static_cast(dagNode.userNode()); - hcNode->update(); - } - } - if(fnNode.typeId() == sliderConstraintNode::typeId) - { - MPlug plgRbA(mObj, hingeConstraintNode::ia_rigidBodyA); - MPlug plgRbB(mObj, hingeConstraintNode::ia_rigidBodyB); - MObject update; - //force evaluation - plgRbA.getValue(update); - plgRbB.getValue(update); - bool connA = plgRbA.isConnected(); - bool connB = plgRbB.isConnected(); - if(connA || connB) - { - sliderConstraintNode *scNode = static_cast(dagNode.userNode()); - scNode->update(); - } - } - if(fnNode.typeId() == sixdofConstraintNode::typeId) - { - MPlug plgRbA(mObj, hingeConstraintNode::ia_rigidBodyA); - MPlug plgRbB(mObj, hingeConstraintNode::ia_rigidBodyB); - MObject update; - //force evaluation - plgRbA.getValue(update); - plgRbB.getValue(update); - bool connA = plgRbA.isConnected(); - bool connB = plgRbB.isConnected(); - if(connA || connB) - { - sixdofConstraintNode *sdNode = static_cast(dagNode.userNode()); - sdNode->update(); - } - } - } -} - - -MStatus dSolverNode::initialize() -{ - MStatus status; - MFnEnumAttribute fnEnumAttr; - MFnMessageAttribute fnMsgAttr; - MFnUnitAttribute fnUnitAttr; - MFnNumericAttribute fnNumericAttr; - - MCallbackId updateSceneCBId = MDGMessage::addForceUpdateCallback(updateSceneCB, NULL, NULL ); - MCallbackId sceneLoadedCBId = MSceneMessage::addCallback(MSceneMessage::kAfterOpen, sceneLoadedCB, NULL, NULL); -// MCallbackId connCBId = MDGMessage::addConnectionCallback(connCB, NULL, NULL ); - - // - ssSolverType = fnEnumAttr.create( "ssSolverType", "ssst", 0, &status ); - MCHECKSTATUS(status, "creating ssSolverType attribute") - fnEnumAttr.addField( "Bullet Physics", 0 ); - fnEnumAttr.addField( "Ageia PhysX", 1 ); - fnEnumAttr.addField( "Stanford PhysBAM", 2 ); - status = addAttribute(ssSolverType); - MCHECKSTATUS(status, "adding ssSolverType attribute") - - // - ia_time = fnUnitAttr.create( "inTime", "it", MFnUnitAttribute::kTime, 0.0, &status ); - MCHECKSTATUS(status, "creating ia_time attribute") - fnUnitAttr.setHidden(true); - status = addAttribute(ia_time); - MCHECKSTATUS(status, "adding ia_time attribute") - - ia_startTime = fnUnitAttr.create( "startTime", "stm", MFnUnitAttribute::kTime, 1.0, &status ); - MCHECKSTATUS(status, "creating ia_startTime attribute") - status = addAttribute(ia_startTime); - MCHECKSTATUS(status, "adding ia_startTime attribute") - - oa_rigidBodies = fnMsgAttr.create("rigidBodies", "rbds", &status); - MCHECKSTATUS(status, "creating oa_rigidBodies attribute") - status = addAttribute(oa_rigidBodies); - MCHECKSTATUS(status, "adding oa_rigidBodies attribute") - - ia_gravity = fnNumericAttr.createPoint("gravity", "grvt", &status); - MCHECKSTATUS(status, "creating gravity attribute") - fnNumericAttr.setDefault(0.0, -9.81, 0.0); - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_gravity); - MCHECKSTATUS(status, "adding ia_gravity attribute") - - ia_substeps = fnNumericAttr.create("substeps", "sbs", MFnNumericData::kInt, 1, &status); - MCHECKSTATUS(status, "creating substeps attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_substeps); - MCHECKSTATUS(status, "adding ia_substeps attribute") - - ia_enabled = fnNumericAttr.create("enabled", "enbl", MFnNumericData::kBoolean, true, &status); - MCHECKSTATUS(status, "creating enabled attribute") - status = addAttribute(ia_enabled); - MCHECKSTATUS(status, "adding ia_enabled attribute") - - ia_splitImpulse = fnNumericAttr.create("splitImpulse", "spli", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating splitImpulse attribute") - status = addAttribute(ia_splitImpulse); - MCHECKSTATUS(status, "adding ia_splitImpulse attribute") - - ia_DBG_DrawWireframe = fnNumericAttr.create("drawWireframe", "dwfr", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawWireframe attribute") - status = addAttribute(ia_DBG_DrawWireframe); - MCHECKSTATUS(status, "adding ia_DBG_DrawWireframe attribute") - ia_DBG_DrawAabb = fnNumericAttr.create("drawAabb", "daabb", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawAabb attribute") - status = addAttribute(ia_DBG_DrawAabb); - MCHECKSTATUS(status, "adding ia_DBG_DrawAabb attribute") - ia_DBG_DrawFeaturesText = fnNumericAttr.create("drawFeaturesText", "dft", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawFeaturesText attribute") - status = addAttribute(ia_DBG_DrawFeaturesText); - MCHECKSTATUS(status, "adding ia_DBG_DrawFeaturesText attribute") - ia_DBG_DrawContactPoints = fnNumericAttr.create("drawContactPoints", "dcp", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawContactPoints attribute") - status = addAttribute(ia_DBG_DrawContactPoints); - MCHECKSTATUS(status, "adding ia_DBG_DrawContactPoints attribute") - ia_DBG_NoDeactivation = fnNumericAttr.create("noDeactivation", "dnda", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_NoDeactivation attribute") - status = addAttribute(ia_DBG_NoDeactivation); - MCHECKSTATUS(status, "adding ia_DBG_NoDeactivation attribute") - ia_DBG_NoHelpText = fnNumericAttr.create("noHelpText", "dnht", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_NoHelpText attribute") - status = addAttribute(ia_DBG_NoHelpText); - MCHECKSTATUS(status, "adding ia_DBG_NoHelpText attribute") - ia_DBG_DrawText = fnNumericAttr.create("drawText", "dtxt", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawText attribute") - status = addAttribute(ia_DBG_DrawText); - MCHECKSTATUS(status, "adding ia_DBG_DrawText attribute") - ia_DBG_ProfileTimings = fnNumericAttr.create("pProfileTimings", "dptm", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_ProfileTimings attribute") - status = addAttribute(ia_DBG_ProfileTimings); - MCHECKSTATUS(status, "adding ia_DBG_ProfileTimings attribute") - ia_DBG_EnableSatComparison = fnNumericAttr.create("enableSatComparison", "desc", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_EnableSatComparison attribute") - status = addAttribute(ia_DBG_EnableSatComparison); - MCHECKSTATUS(status, "adding ia_DBG_EnableSatComparison attribute") - ia_DBG_DisableBulletLCP = fnNumericAttr.create("disableBulletLCP", "dblcp", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DisableBulletLCP attribute") - status = addAttribute(ia_DBG_DisableBulletLCP); - MCHECKSTATUS(status, "adding ia_DBG_DisableBulletLCP attribute") - ia_DBG_EnableCCD = fnNumericAttr.create("enableCCD", "deccd", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_EnableCCD attribute") - status = addAttribute(ia_DBG_EnableCCD); - MCHECKSTATUS(status, "adding ia_DBG_EnableCCD attribute") - ia_DBG_DrawConstraints = fnNumericAttr.create("drawConstraints", "dcnst", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawConstraints attribute") - status = addAttribute(ia_DBG_DrawConstraints); - MCHECKSTATUS(status, "adding ia_DBG_DrawConstraints attribute") - ia_DBG_DrawConstraintLimits = fnNumericAttr.create("drawConstraintLimits", "dcsl", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_DrawConstraintLimits attribute") - status = addAttribute(ia_DBG_DrawConstraintLimits); - MCHECKSTATUS(status, "adding ia_DBG_DrawConstraintLimits attribute") - ia_DBG_FastWireframe = fnNumericAttr.create("fastWireframe", "dfwf", MFnNumericData::kBoolean, false, &status); - MCHECKSTATUS(status, "creating ia_DBG_FastWireframe attribute") - status = addAttribute(ia_DBG_FastWireframe); - MCHECKSTATUS(status, "adding ia_DBG_FastWireframe attribute") - - - - status = attributeAffects(ia_time, oa_rigidBodies); - MCHECKSTATUS(status, "adding attributeAffects(ia_time, oa_rigidBodies)") - - status = attributeAffects(ia_enabled, oa_rigidBodies); - MCHECKSTATUS(status, "adding attributeAffects(ia_enabled, oa_rigidBodies)") - - return MS::kSuccess; -} - -dSolverNode::dSolverNode() -{ -} - -dSolverNode::~dSolverNode() -{ -} - -void dSolverNode::postConstructor() -{ - //prevent deletion if all the rigidbodies are deleted - setExistWithoutOutConnections(true); -} - -void* dSolverNode::creator() -{ - return new dSolverNode(); -} - -bool dSolverNode::setInternalValueInContext( const MPlug & plug, const MDataHandle & dataHandle, MDGContext & ctx ) -{ - return false; -} - - -MStatus dSolverNode::compute(const MPlug& plug, MDataBlock& data) -{ - if(plug == oa_rigidBodies) { - computeRigidBodies(plug, data); - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void initRigidBody(MObject &node) -{ - MFnDagNode fnDagNode(node); - - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - rigid_body_t::pointer rb = rbNode->rigid_body(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - return; - } - - MFnTransform fnTransform(fnDagNode.parent(0)); - - MPlug plgMass(node, rigidBodyNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - if(mass > 0.f) - { - //active rigid body, set the world transform from the initial* attributes - MObject obj; - - vec3f pos; - MPlug plgInitialValue(node, rigidBodyNode::ia_initialPosition); - plgInitialValue.child(0).getValue(pos[0]); - plgInitialValue.child(1).getValue(pos[1]); - plgInitialValue.child(2).getValue(pos[2]); - - vec3f rot; - plgInitialValue.setAttribute(rigidBodyNode::ia_initialRotation); - plgInitialValue.child(0).getValue(rot[0]); - plgInitialValue.child(1).getValue(rot[1]); - plgInitialValue.child(2).getValue(rot[2]); - - vec3f vel; - plgInitialValue.setAttribute(rigidBodyNode::ia_initialVelocity); - plgInitialValue.child(0).getValue(vel[0]); - plgInitialValue.child(1).getValue(vel[1]); - plgInitialValue.child(2).getValue(vel[2]); - - vec3f spin; - plgInitialValue.setAttribute(rigidBodyNode::ia_initialSpin); - plgInitialValue.child(0).getValue(spin[0]); - plgInitialValue.child(1).getValue(spin[1]); - plgInitialValue.child(2).getValue(spin[2]); - - MEulerRotation meuler(deg2rad(rot[0]), deg2rad(rot[1]), deg2rad(rot[2])); - MQuaternion mquat = meuler.asQuaternion(); - rb->set_transform(pos, quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z)); - rb->set_linear_velocity(vel); - rb->set_angular_velocity(spin); - rb->set_kinematic(false); - - fnTransform.setRotation(meuler); - fnTransform.setTranslation(MVector(pos[0], pos[1], pos[2]), MSpace::kTransform); - } else { - //passive rigid body, get the world trasform from from the shape node - MQuaternion mquat; - fnTransform.getRotation(mquat); - MVector mpos(fnTransform.getTranslation(MSpace::kTransform)); - rb->set_transform(vec3f((float)mpos.x, (float)mpos.y, (float)mpos.z), quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z)); - rb->set_interpolation_transform(vec3f((float)mpos.x, (float)mpos.y, (float)mpos.z), quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z)); - rb->set_kinematic(true); - } -} - -void initRigidBodyArray(MObject &node) -{ - MFnDagNode fnDagNode(node); - - rigidBodyArrayNode *rbNode = static_cast(fnDagNode.userNode()); - std::vector& rbs = rbNode->rigid_bodies(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - return; - } - - MFnTransform fnTransform(fnDagNode.parent(0)); - - MPlug plgMass(node, rigidBodyArrayNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - - if(active) { - //active rigid body, set the world transform from the initial* attributes - MObject obj; - - MPlug plgInitialPosition(node, rigidBodyArrayNode::ia_initialPosition); - MPlug plgInitialRotation(node, rigidBodyArrayNode::ia_initialRotation); - MPlug plgInitialVelocity(node, rigidBodyArrayNode::ia_initialVelocity); - MPlug plgInitialSpin(node, rigidBodyArrayNode::ia_initialSpin); - - MPlug plgPosition(node, rigidBodyArrayNode::io_position); - MPlug plgRotation(node, rigidBodyArrayNode::io_rotation); - - MPlug plgElement; - for(size_t j = 0; j < rbs.size(); ++j) { - vec3f pos; - plgElement = plgInitialPosition.elementByLogicalIndex(j); - plgElement.child(0).getValue(pos[0]); - plgElement.child(1).getValue(pos[1]); - plgElement.child(2).getValue(pos[2]); - - vec3f rot; - plgElement = plgInitialRotation.elementByLogicalIndex(j); - plgElement.child(0).getValue(rot[0]); - plgElement.child(1).getValue(rot[1]); - plgElement.child(2).getValue(rot[2]); - - vec3f vel; - plgElement = plgInitialVelocity.elementByLogicalIndex(j); - plgElement.child(0).getValue(vel[0]); - plgElement.child(1).getValue(vel[1]); - plgElement.child(2).getValue(vel[2]); - - vec3f spin; - plgElement = plgInitialSpin.elementByLogicalIndex(j); - plgElement.child(0).getValue(spin[0]); - plgElement.child(1).getValue(spin[1]); - plgElement.child(2).getValue(spin[2]); - - MEulerRotation meuler(deg2rad(rot[0]), deg2rad(rot[1]), deg2rad(rot[2])); - MQuaternion mquat = meuler.asQuaternion(); - - rbs[j]->set_transform(pos, quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z)); - rbs[j]->set_linear_velocity(vel); - rbs[j]->set_angular_velocity(spin); - rbs[j]->set_kinematic(false); - - plgElement = plgPosition.elementByLogicalIndex(j); - plgElement.child(0).setValue(pos[0]); - plgElement.child(1).setValue(pos[1]); - plgElement.child(2).setValue(pos[2]); - - plgElement = plgRotation.elementByLogicalIndex(j); - plgElement.child(0).setValue(rot[0]); - plgElement.child(1).setValue(rot[1]); - plgElement.child(2).setValue(rot[2]); - } - - } else { - //passive rigid body, get the world trasform from from the position/rotation attributes - MPlug plgPosition(node, rigidBodyArrayNode::io_position); - MPlug plgRotation(node, rigidBodyArrayNode::io_rotation); - - MPlug plgElement; - for(size_t j = 0; j < rbs.size(); ++j) { - vec3f pos; - plgElement = plgPosition.elementByLogicalIndex(j); - plgElement.child(0).getValue(pos[0]); - plgElement.child(1).getValue(pos[1]); - plgElement.child(2).getValue(pos[2]); - - vec3f rot; - plgElement = plgRotation.elementByLogicalIndex(j); - plgElement.child(0).getValue(rot[0]); - plgElement.child(1).getValue(rot[1]); - plgElement.child(2).getValue(rot[2]); - - MEulerRotation meuler(deg2rad(rot[0]), deg2rad(rot[1]), deg2rad(rot[2])); - MQuaternion mquat = meuler.asQuaternion(); - rbs[j]->set_transform(pos, quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z)); - rbs[j]->set_kinematic(false); - } - } -} - -//init the rigid bodies to it's first frame configuration -void dSolverNode::initRigidBodies(MPlugArray &rbConnections) -{ - for(size_t i = 0; i < rbConnections.length(); ++i) { - MObject node = rbConnections[i].node(); - MFnDependencyNode fnNode(node); - - if(fnNode.typeId() == rigidBodyNode::typeId) { - initRigidBody(node); - updateConstraint(node); - } else if(fnNode.typeId() == rigidBodyArrayNode::typeId) { - initRigidBodyArray(node); - } - } -} - -//gather previous and current frame transformations for substep interpolation -void dSolverNode::gatherPassiveTransforms(MPlugArray &rbConnections, std::vector &xforms) -{ - xforms.resize(0); - xforms_t xform; - - - for(size_t i = 0; i < rbConnections.length(); ++i) { - MObject node = rbConnections[i].node(); - MFnDagNode fnDagNode(node); - if(fnDagNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - rigid_body_t::pointer rb = rbNode->rigid_body(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - continue; - } - - MFnTransform fnTransform(fnDagNode.parent(0)); - - MPlug plgMass(node, rigidBodyNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(!active) { - MQuaternion mquat; - fnTransform.getRotation(mquat); - MVector mpos(fnTransform.getTranslation(MSpace::kTransform)); - rb->get_transform(xform.m_x0, xform.m_q0); - - xform.m_x1 = vec3f((float)mpos.x, (float)mpos.y, (float)mpos.z); - xform.m_q1 = quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z); - xforms.push_back(xform); - } - } else if(fnDagNode.typeId() == rigidBodyArrayNode::typeId) { - rigidBodyArrayNode *rbNode = static_cast(fnDagNode.userNode()); - std::vector& rbs = rbNode->rigid_bodies(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - return; - } - - MPlug plgMass(node, rigidBodyArrayNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(!active) { - MPlug plgPosition(node, rigidBodyArrayNode::io_position); - MPlug plgRotation(node, rigidBodyArrayNode::io_rotation); - - MPlug plgElement; - for(size_t j = 0; j < rbs.size(); ++j) { - rbs[j]->get_transform(xform.m_x0, xform.m_q0); - - plgElement = plgPosition.elementByLogicalIndex(j); - plgElement.child(0).getValue(xform.m_x1[0]); - plgElement.child(1).getValue(xform.m_x1[1]); - plgElement.child(2).getValue(xform.m_x1[2]); - - vec3f rot; - plgElement = plgRotation.elementByLogicalIndex(j); - plgElement.child(0).getValue(rot[0]); - plgElement.child(1).getValue(rot[1]); - plgElement.child(2).getValue(rot[2]); - - MEulerRotation meuler(deg2rad(rot[0]), deg2rad(rot[1]), deg2rad(rot[2])); - MQuaternion mquat = meuler.asQuaternion(); - xform.m_q1 = quatf((float)mquat.w, (float)mquat.x, (float)mquat.y, (float)mquat.z); - xforms.push_back(xform); - } - } - } - } -} - - -//update the passive rigid bodies by interpolation of the previous and current frame -void dSolverNode::updatePassiveRigidBodies(MPlugArray &rbConnections, std::vector &xforms, float t) -{ - size_t pb = 0; - for(size_t i = 0; i < rbConnections.length(); ++i) { - MObject node = rbConnections[i].node(); - MFnDagNode fnDagNode(node); - if(fnDagNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - rigid_body_t::pointer rb = rbNode->rigid_body(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - continue; - } - - MPlug plgMass(node, rigidBodyNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(!active) { -/* Why do we need that? -Static objects are animated in Maya -So just set transform as is - //do linear interpolation for now - rb->set_transform(xforms[pb].m_x0 + t * (xforms[pb].m_x1 - xforms[pb].m_x0), - normalize(xforms[pb].m_q0 + t * (xforms[pb].m_q1 - xforms[pb].m_q0))); -*/ - rb->set_transform(xforms[pb].m_x1, xforms[pb].m_q1); - ++pb; - } - } else if(fnDagNode.typeId() == rigidBodyArrayNode::typeId) { - rigidBodyArrayNode *rbNode = static_cast(fnDagNode.userNode()); - std::vector& rbs = rbNode->rigid_bodies(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - return; - } - - MPlug plgMass(node, rigidBodyArrayNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(!active) { - for(size_t j = 0; j < rbs.size(); ++j) { - rbs[j]->set_transform(xforms[pb].m_x0 + t * (xforms[pb].m_x1 - xforms[pb].m_x0), - normalize(xforms[pb].m_q0 + t * (xforms[pb].m_q1 - xforms[pb].m_q0))); - ++pb; - } - } - } - } -} - -void dSolverNode::updateConstraint(MObject& bodyNode) -{ - MFnDagNode fnDagNode(bodyNode); - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - MPlug plgMessages(bodyNode, rbNode->message); - MPlugArray rbMsgConnections; - plgMessages.connectedTo(rbMsgConnections, false, true); - for(size_t j = 0; j < rbMsgConnections.length(); j++) - { - MObject msgNode = rbMsgConnections[j].node(); - MFnDagNode msgDagNode(msgNode); - if(msgDagNode.typeId() == nailConstraintNode::typeId) - { - nailConstraintNode* nailNode = static_cast(msgDagNode.userNode()); - if(msgDagNode.parentCount() == 0) - { - std::cout << "No transform for nail constraint found!" << std::endl; - continue; - } - MFnTransform msgTransform(msgDagNode.parent(0)); - nail_constraint_t::pointer nail = nailNode->constraint(); - vec3f constrPos; - nail->get_world(constrPos); - msgTransform.setTranslation(MVector(constrPos[0], constrPos[1], constrPos[2]), MSpace::kTransform); - msgTransform.setRotation(MEulerRotation(0., 0., 0.)); - } - if(msgDagNode.typeId() == hingeConstraintNode::typeId) - { - hingeConstraintNode* hingeNode = static_cast(msgDagNode.userNode()); - if(msgDagNode.parentCount() == 0) - { - std::cout << "No transform for hinge constraint found!" << std::endl; - continue; - } - MFnTransform msgTransform(msgDagNode.parent(0)); - hinge_constraint_t::pointer hinge = hingeNode->constraint(); - vec3f constrPos; - quatf constrRot; - hinge->get_world(constrPos, constrRot); - msgTransform.setTranslation(MVector(constrPos[0], constrPos[1], constrPos[2]), MSpace::kTransform); - msgTransform.setRotation(MQuaternion(constrRot[1], constrRot[2], constrRot[3], constrRot[0])); - } - if(msgDagNode.typeId() == sliderConstraintNode::typeId) - { - sliderConstraintNode* sliderNode = static_cast(msgDagNode.userNode()); - if(msgDagNode.parentCount() == 0) - { - std::cout << "No transform for slider constraint found!" << std::endl; - continue; - } - MFnTransform msgTransform(msgDagNode.parent(0)); - slider_constraint_t::pointer slider = sliderNode->constraint(); - vec3f constrPos; - quatf constrRot; - slider->get_world(constrPos, constrRot); - msgTransform.setTranslation(MVector(constrPos[0], constrPos[1], constrPos[2]), MSpace::kTransform); - msgTransform.setRotation(MQuaternion(constrRot[1], constrRot[2], constrRot[3], constrRot[0])); - } - if(msgDagNode.typeId() == sixdofConstraintNode::typeId) - { - sixdofConstraintNode* sixdofNode = static_cast(msgDagNode.userNode()); - if(msgDagNode.parentCount() == 0) - { - std::cout << "No transform for sixdof constraint found!" << std::endl; - continue; - } - MFnTransform msgTransform(msgDagNode.parent(0)); - sixdof_constraint_t::pointer sixdof = sixdofNode->constraint(); - vec3f constrPos; - quatf constrRot; - sixdof->get_world(constrPos, constrRot); - msgTransform.setTranslation(MVector(constrPos[0], constrPos[1], constrPos[2]), MSpace::kTransform); - msgTransform.setRotation(MQuaternion(constrRot[1], constrRot[2], constrRot[3], constrRot[0])); - } - } -} - -//update the scene after a simulation step -void dSolverNode::updateActiveRigidBodies(MPlugArray &rbConnections) -{ - //update the active rigid bodies to the new configuration - for(size_t i = 0; i < rbConnections.length(); ++i) { - MObject node = rbConnections[i].node(); - MFnDagNode fnDagNode(node); - if(fnDagNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - rigid_body_t::pointer rb = rbNode->rigid_body(); - - if(fnDagNode.parentCount() == 0) { - std::cout << "No transform found!" << std::endl; - continue; - } - - MFnTransform fnTransform(fnDagNode.parent(0)); - - MPlug plgMass(node, rigidBodyNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(active) { - quatf rot; - vec3f pos; - rb->get_transform(pos, rot); - fnTransform.setRotation(MQuaternion(rot[1], rot[2], rot[3], rot[0])); - fnTransform.setTranslation(MVector(pos[0], pos[1], pos[2]), MSpace::kTransform); - } - updateConstraint(node); - } else if(fnDagNode.typeId() == rigidBodyArrayNode::typeId) { - rigidBodyArrayNode *rbNode = static_cast(fnDagNode.userNode()); - std::vector& rbs = rbNode->rigid_bodies(); - - MPlug plgMass(node, rigidBodyArrayNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - //write the position and rotations - if(active) { - MPlug plgPosition(node, rigidBodyArrayNode::io_position); - MPlug plgRotation(node, rigidBodyArrayNode::io_rotation); - - MPlug plgElement; - for(size_t j = 0; j < rbs.size(); ++j) { - vec3f pos; - quatf rot; - rbs[j]->get_transform(pos, rot); - - MEulerRotation meuler(MQuaternion(rot[1], rot[2], rot[3], rot[0]).asEulerRotation()); - - plgElement = plgPosition.elementByLogicalIndex(j); - plgElement.child(0).setValue(pos[0]); - plgElement.child(1).setValue(pos[1]); - plgElement.child(2).setValue(pos[2]); - - plgElement = plgRotation.elementByLogicalIndex(j); - plgElement.child(0).setValue(rad2deg(meuler.x)); - plgElement.child(1).setValue(rad2deg(meuler.y)); - plgElement.child(2).setValue(rad2deg(meuler.z)); - - } - } - - //check if we have to output the rigid bodies to a file - MPlug plgFileIO(node, rigidBodyArrayNode::ia_fileIO); - bool doIO; - plgFileIO.getValue(doIO); - if(doIO) { - dumpRigidBodyArray(node); - } - } - } -} - -//apply fields in the scene from the rigid body -void dSolverNode::applyFields(MPlugArray &rbConnections, float dt) -{ - MVectorArray position; - MVectorArray velocity; - MDoubleArray mass; - - std::vector rigid_bodies; - //gather active rigid bodies - for(size_t i = 0; i < rbConnections.length(); ++i) { - MObject node = rbConnections[i].node(); - MFnDagNode fnDagNode(node); - if(fnDagNode.typeId() == rigidBodyNode::typeId) { - rigidBodyNode *rbNode = static_cast(fnDagNode.userNode()); - rigid_body_t::pointer rb = rbNode->rigid_body(); - - MPlug plgMass(node, rigidBodyNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(active) { - rigid_bodies.push_back(rb.get()); - } - } else if(fnDagNode.typeId() == rigidBodyArrayNode::typeId) { - rigidBodyArrayNode *rbNode = static_cast(fnDagNode.userNode()); - std::vector& rbs = rbNode->rigid_bodies(); - - MPlug plgMass(node, rigidBodyArrayNode::ia_mass); - float mass = 0.f; - plgMass.getValue(mass); - bool active = (mass>0.f); - if(active) { - for(size_t j = 0; j < rbs.size(); ++j) { - rigid_bodies.push_back(rbs[j].get()); - } - } - } - } - - //clear forces and get the properties needed for field computation - for(size_t i = 0; i < rigid_bodies.size(); ++i) { - rigid_bodies[i]->clear_forces(); - vec3f pos, vel; - quatf rot; - rigid_bodies[i]->get_transform(pos, rot); - rigid_bodies[i]->get_linear_velocity(vel); - position.append(MVector(pos[0], pos[1], pos[2])); - velocity.append(MVector(vel[0], vel[1], vel[2])); - //TODO - mass.append(1.0); - // - } - - //apply the fields to the rigid bodies - MVectorArray force; - for(MItDag it(MItDag::kDepthFirst, MFn::kField); !it.isDone(); it.next()) { - MFnField fnField(it.item()); - fnField.getForceAtPoint(position, velocity, mass, force, dt); - for(size_t i = 0; i < rigid_bodies.size(); ++i) { - rigid_bodies[i]->apply_central_force(vec3f((float)force[i].x, (float)force[i].y, (float)force[i].z)); - } - } -} - -void dSolverNode::computeRigidBodies(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "dSolverNode::computeRigidBodies" << std::endl; - - bool enabled = data.inputValue(ia_enabled).asBool(); - if(!enabled) { - data.outputValue(oa_rigidBodies).set(true); - data.setClean(plug); - return; - } - - MTime time = data.inputValue(ia_time).asTime(); - MTime startTime = data.inputValue(ia_startTime).asTime(); - int subSteps = data.inputValue(ia_substeps).asInt(); - MObject thisObject = thisMObject(); - MPlug plgRigidBodies(thisObject, oa_rigidBodies); - MPlugArray rbConnections; - plgRigidBodies.connectedTo(rbConnections, true, true); - - MPlug plgSplitImpulse(thisObject, ia_splitImpulse); - bool splitImpulseEnabled; - plgSplitImpulse.getValue(splitImpulseEnabled); - - if(time == startTime) { - //first frame, init the simulation - isStartTime = true; - initRigidBodies(rbConnections); - solver_t::set_split_impulse(splitImpulseEnabled); - m_prevTime = time; - } else { - isStartTime = false; - double delta_frames = (time - m_prevTime).value(); - bool playback = MConditionMessage::getConditionState("playingBack"); - if(time > m_prevTime && - ((delta_frames <= 1.0) || (playback && delta_frames < 100))) { - //step the simulation forward, - //don't update if we are jumping more than one frame - - float dt = (float)(time - m_prevTime).as(MTime::kSeconds); - - //gather start and end transform for passive rigid bodies, used for interpolation - std::vector passiveXForms; - gatherPassiveTransforms(rbConnections, passiveXForms); - - - //set the gravity in the solver - MPlug plgGravity(thisObject, ia_gravity); - vec3f gravity; - plgGravity.child(0).getValue(gravity[0]); - plgGravity.child(1).getValue(gravity[1]); - plgGravity.child(2).getValue(gravity[2]); - - solver_t::set_gravity(gravity); - - solver_t::set_split_impulse(splitImpulseEnabled); - - for(int i = 1; i <= subSteps; ++i) { - //first update the passive rigid bodies - updatePassiveRigidBodies(rbConnections, passiveXForms, i * dt / subSteps); - - //fields - applyFields(rbConnections, dt / subSteps); - - //step the simulation - solver_t::step_simulation(dt / subSteps); - } - - m_prevTime = time; - - updateActiveRigidBodies(rbConnections); - } - } - - data.outputValue(oa_rigidBodies).set(true); - data.setClean(plug); -} - -void tokenize(const std::string& str, - std::vector& tokens, - const std::string& delimiters = " ") -{ - // Skip delimiters at beginning. - std::string::size_type lastPos = str.find_first_not_of(delimiters, 0); - // Find first "non-delimiter". - std::string::size_type pos = str.find_first_of(delimiters, lastPos); - - while (std::string::npos != pos || std::string::npos != lastPos) - { - // Found a token, add it to the vector. - tokens.push_back(str.substr(lastPos, pos - lastPos)); - // Skip delimiters. Note the "not_of" - lastPos = str.find_first_not_of(delimiters, pos); - // Find next "non-delimiter" - pos = str.find_first_of(delimiters, lastPos); - } -} - -void replace(std::string &str, std::string const& what, std::string const& with_what) -{ - size_t pos; - while((pos = str.find(what)) != std::string::npos) { - str.replace(pos, pos + what.size(), with_what); - } -} - -bool dSolverNode::expandFileExpression(std::string const& expr, std::string &base_name, std::string &extension) -{ - std::vector tokens; - - //check for extension - tokenize(expr, tokens, "."); - if(tokens.size() < 2) return false; - if(tokens.back().size() != 3) return false; - extension = tokens.back(); - - std::copy(expr.begin(), expr.end() - 4, std::back_inserter(base_name)); - - int time = (int) m_prevTime.value(); - - std::stringstream ss; - ss << time; - std::string str_time(ss.str()); - //replace ${frame} - replace(base_name, "${frame}", str_time); - - //replace ${waveFrame} - while(str_time.size() < 4) str_time = "0" + str_time; - replace(base_name, "${waveFrame}", str_time); - - return true; -} - -void dSolverNode::dumpRigidBodyArray(MObject &node) -{ - // std::cout << "dSolverNode::dumpRigidBodyArray" << std::endl; - - MFnDagNode fnDagNode(node); - rigidBodyArrayNode *rbaNode = static_cast(fnDagNode.userNode()); - - MPlug plgFiles(node, rigidBodyArrayNode::ia_fioFiles); - // MPlug plgPositionAttribute(node, rigidBodyArrayNode::ia_fioPositionAttribute); - // MPlug plgRotationAttribute(node, rigidBodyArrayNode::ia_fioRotationAttribute); - - MString mstr; - plgFiles.getValue(mstr); - std::string expr(mstr.asChar()); - std::string base_path, extension; - if(!expandFileExpression(expr, base_path, extension)) { - std::cout << "dSolverNode::dumpRigidBodyArray: syntax error in file expression: " << std::endl << - expr << std::endl; - return; - } - if(extension != "pdb") { - std::cout << "dSolverNode::dumpRigidBodyArray: only pdb files are supported" << std::endl; - return; - } - std::string file_name = base_path + "." + extension; - - std::vector& rbs = rbaNode->rigid_bodies(); - pdb_io_t pdb_io; - pdb_io.m_num_particles = rbs.size(); - pdb_io.m_time = (float)m_prevTime.value(); - pdb_io.m_attributes.resize(3); - //position - pdb_io.m_attributes[0].m_num_elements = 1; - pdb_io.m_attributes[0].m_name = ATTR_POSITION; - pdb_io.m_attributes[0].m_type = pdb_io_t::kVector; - pdb_io.m_attributes[0].m_vector_data.resize(rbs.size()); - - //rotation angle (in degrees) - pdb_io.m_attributes[1].m_num_elements = 1; - pdb_io.m_attributes[1].m_name = ATTR_IN_RANGLE; - pdb_io.m_attributes[1].m_type = pdb_io_t::kReal; - pdb_io.m_attributes[1].m_real_data.resize(rbs.size()); - - //rotation vector - pdb_io.m_attributes[2].m_num_elements = 1; - pdb_io.m_attributes[2].m_name = ATTR_IN_RAXIS; - pdb_io.m_attributes[2].m_type = pdb_io_t::kVector; - pdb_io.m_attributes[2].m_vector_data.resize(rbs.size()); - - for(size_t i = 0; i < rbs.size(); ++i) { - vec3f pos; - quatf rot; - rbs[i]->get_transform(pos, rot); - pdb_io.m_attributes[0].m_vector_data[i].x = pos[0]; - pdb_io.m_attributes[0].m_vector_data[i].y = pos[1]; - pdb_io.m_attributes[0].m_vector_data[i].z = pos[2]; - - // - vec3f axis; - float angle; - q_to_axis_angle(rot, axis, angle); - pdb_io.m_attributes[1].m_real_data[i] = rad2deg(angle); - - pdb_io.m_attributes[2].m_vector_data[i].x = axis[0]; - pdb_io.m_attributes[2].m_vector_data[i].y = axis[1]; - pdb_io.m_attributes[2].m_vector_data[i].z = axis[2]; - } - - std::ofstream out(file_name.c_str()); - pdb_io.write(out); -} - diff --git a/Extras/MayaPlugin/dSolverNode.h b/Extras/MayaPlugin/dSolverNode.h deleted file mode 100644 index bffb5cf71..000000000 --- a/Extras/MayaPlugin/dSolverNode.h +++ /dev/null @@ -1,138 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//dSolverNode.h - -#ifndef DYN_DSOLVERNODE_H -#define DYN_DSOLVERNODE_H - -#include -#include -#include -#include -#include - -#include - -#include "mathUtils.h" - -//class dSolverNode : public MPxNode -class dSolverNode : public MPxLocatorNode -{ -public: - dSolverNode(); - virtual ~dSolverNode(); - virtual void postConstructor(); - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const { - return false; - } -virtual MBoundingBox boundingBox() const -{ - MObject node = thisMObject(); - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - - virtual bool excludeAsLocator() const { - return false; - } - virtual bool isTransparent() const { - return false; - } - - static void * creator(); - static MStatus initialize(); - - virtual bool setInternalValueInContext ( const MPlug & plug, const MDataHandle & dataHandle, MDGContext & ctx ); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - static MObject ia_time; - static MObject ia_startTime; - static MObject ia_gravity; - static MObject ia_enabled; - static MObject ia_splitImpulse; - static MObject ia_substeps; - static MObject oa_rigidBodies; - - //Solver Settings - static MObject ssSolverType; -// - - static MObject ia_DBG_DrawWireframe; - static MObject ia_DBG_DrawAabb; - static MObject ia_DBG_DrawFeaturesText; - static MObject ia_DBG_DrawContactPoints; - static MObject ia_DBG_NoDeactivation; - static MObject ia_DBG_NoHelpText; - static MObject ia_DBG_DrawText; - static MObject ia_DBG_ProfileTimings; - static MObject ia_DBG_EnableSatComparison; - static MObject ia_DBG_DisableBulletLCP; - static MObject ia_DBG_EnableCCD; - static MObject ia_DBG_DrawConstraints; - static MObject ia_DBG_DrawConstraintLimits; - static MObject ia_DBG_FastWireframe; - - // - -public: - static MTypeId typeId; - static MString typeName; - static bool isStartTime; - - static void updateAllRigidBodies(); - -protected: - - struct xforms_t { - vec3f m_x0; - vec3f m_x1; - quatf m_q0; - quatf m_q1; - }; - - void computeRigidBodies(const MPlug& plug, MDataBlock& data); - void dumpRigidBodyArray(MObject &node); - bool expandFileExpression(std::string const& expr, std::string &base_name, std::string &extension); - - void initRigidBodies(MPlugArray &rbConnections); - void gatherPassiveTransforms(MPlugArray &rbConnections, std::vector &xforms); - void updatePassiveRigidBodies(MPlugArray &rbConnections, std::vector &xforms, float t); - void updateActiveRigidBodies(MPlugArray &rbConnections); - void applyFields(MPlugArray &rbConnections, float dt); - void updateConstraint(MObject& bodyNode); -protected: - MTime m_prevTime; -}; - - -#endif diff --git a/Extras/MayaPlugin/doc/index.html b/Extras/MayaPlugin/doc/index.html deleted file mode 100644 index 407a8f218..000000000 --- a/Extras/MayaPlugin/doc/index.html +++ /dev/null @@ -1,123 +0,0 @@ - - - -Introduction to Dynamica, the Dynamics plugin for Maya - - - -

Introduction to Dynamica

- -

-

Rationale

-Dynamica allows to perform rigid body simulations inside Maya, using different underlying libraries. Right now -only Bullet Physics is supported, but in the future other library will be added, such as NVidia PhysX. It will be possible -to switch between libraries on the fly. This will be useful for example when some parts of the simulation are particularly -critical, requiring the need for a more precise (but slower library). It will still be possible to use a less precise (but faster) -library in the non-critical part of the simulation. -

- -

-

Basics

-The functionality is provided by four types of custom Maya nodes that interact with each other: dSolver, dRigidBody, -dRigidBodyArray, dCollisionShape. The different nodes can be created thru the Dynamica UI. This UI can be accessed -by clicking on the Dynamica icon in the EfxToolsLumiere shelf. - -
dSolver
-There is only one of this nodes per scene. It controls the global parameters of the simulation, such as time step, library used for -the simulation, ecc. It is created automatically every time a Rigid Body or a Rigid Body array is created. - -
dRigidBody
-There can be multiple rigid bodies in the scene. It has different attributes that control it's behavior, such as mass, damping, -initial position/velocity, ecc. -It can be active or passive. An active rigid body is controlled by the forces and collisions in the simulation. A passive rigid -body (sometimes called Kinematic) is just keyframed. -

- -
dCollisionShape
-Represents the shape that is used to compute the collisions between rigid bodies. Every rigid body connects to a collision shape. -Best practice is to use a collision shape that is good enough to represent the desired collision behavior. The simpler the collision -shape, the faster the simulation. -Currently the collision shape available are: sphere, box, infinite plane, convex hull, mesh. The convex hull collision shape and the -mesh connect directly to a Maya mesh. The mesh collision shape is more precise for concave meshes, otherwise the convex hull shape should -be used, because it's faster. - - -
dRigidBodyArray
-It's like a rigid body but can contain multiple rigid bodies sharing the same collision shape and simulation parameters. It's -the node of choice when the rigid bodies have the same shape and speed is required. The attributes that control the initial configuration are: -NumRigidBodies, InitialPosition (Multi), InitialRotation (Multi), InitialVelocity (Multi), -InitialSpin (Multi) - -

Quick Start

-The following are simple examples that show the basic functionalities of Dynamica. All the command can be accessed thru the Dynamica -UI from the EfxToolsLumiere shelf. - -
Simple rolling sphere
-In the dynamica UI, click on "Create passive plane". It creates an infinite plane centered in (0,0,0). With the rotation manipulator, -tilt the plane a little bit.
-Deselect the plane. (Important: when creating a rigid body, if something is selected, the newly created rigid body has it's -initial position and rotation set to the one of the selected object). -Click on "Create active sphere". It creates an active rigid body with a sphere as collision shape, centered in (0,0,0). With -the move manipulator, move it up to (0,10,0).
-Now roll back the time slider to the first frame and hit play (Remember to extend the animation range as necessary).
-In general, it's good to roll back the animation to the first frame every time new objects are created, to allow everything to synch up. -By taking a look at the hypergraph for the rigid body, it's possible to have a better idea on how things are organized. - -
Arbitrary Mesh
-Create a polygonal mesh in Maya, for example, an helix. With the helix still selected, click on "Create active Mesh". A new rigid body is created, -with the helix as input to the Mesh collision shape. Alternatively, "Create active Convex Hull" could be used. The convex hull provides -faster simulations at the expense of less precise collisions (if the input mesh is convex, the is no difference between Convex Hull and Mesh -collision shapes in term of precision). -Then repeat the same step of the Simple rolling sphere example. - -
Rigid Body Array
-Create a maya polygonal mesh in Maya, for example a torus. Resize the torus so that the size of the bounding box is around 1x1x1. -With the torus still selected, hit "Create Active Rigid Body Array" in the UI. As small dialog box appears, asking for the dimensions -of the array and the offset between the rigid bodies. Enter (10, 20, 10) for the dimensions and (2.5, 2.5, 2.5) as offset.
-Create a passive plane as before, then translate the rigid body array so that all donuts are above the plane.
-Roll back the simulation, then hit play.
-The initial configuration of the rigid body array can be changed by modifying the proper attributes, for example with a mel script. -The following is an example mel script that changes the initial configuration of a rigid body array:
-
-proc setConfiguration()
-{
-    //the name of the rigid body array node
-    string $rigidBodyArray = "myRigidBodyArray";    
-
-    //set the number of bodies
-    setAttr ($rigidBodyArray + ".numBodies") (10 * 10 * 10);
-    for($i = 0; $i < 10; $i++) {
-        for($j = 0; $j < 10; $j++) {
-            for($k = 0; $k < 10; $k++) {
-                //set the initial position
-                setAttr ($children[0] + ".initialPosition[" + string($i + 10 * $j + 100 * $k) + "]") ($i * 2) (10 + $k * 2) ($j * 2);
-
-                //set the initial rotation to (0, 0, 0)
-                setAttr ($children[0] + ".initialRotation[" + string($i + 10 * $j + 100 * $k) + "]") 0 0 0;
-            }
-        }
-    }
-}
-
- - -
Kinematic objects
-Kinematic objects are handled by setting the keyframing the parent transform of a passive rigid body. If the keyframed animation is really fast, -it's possible that some object would leak thru the kinematic object. To reduce the problem, try increasing the number of substeps in the Solver -tab of the Dynamica UI or in the dSolver1 node. Note how the substeps attribute is keyable. This way, it's possible to set a different number of -substeps all along the simulation, depending on how complicated it is at each time step, trading speed for accuracy. - -
Sample scenes
-In the subdirectory scenes/ there are some sample setups. - -
Online instruction movies for usage of the Maya Plugin
-You can download (right-click - save) or watch those instruction movies on-line. -
Maya Plugin Intro (28Mb) -
Using Maya Force Fields (17Mb) -
Creating Donuts (11Mb) -
Creating Peanuts, used in upcoming Bolt Movie (29Mb) -
Part of Bolt trailer with Peanuts shot (26Mb) - -
Online support forums
-Visit the Bullet forums for support and feedback: http://bulletphysics.com - diff --git a/Extras/MayaPlugin/drawUtils.cpp b/Extras/MayaPlugin/drawUtils.cpp deleted file mode 100644 index 0f46b24e1..000000000 --- a/Extras/MayaPlugin/drawUtils.cpp +++ /dev/null @@ -1,171 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -#include - -#ifdef WIN32//for glut.h -#include -#endif - -//think different -#if defined(__APPLE__) && !defined (VMDMESA) -#include -#include -#include -#else -#include -#include -#endif - - -void wire_cube() -{ - static GLuint dlist = 0; - if(glIsList(dlist)) { - glCallList(dlist); - } else { - dlist = glGenLists(1); - glNewList(dlist, GL_COMPILE_AND_EXECUTE); - - glBegin(GL_LINE_STRIP); - glVertex3f(-0.5f, -0.5, 0.5); - glVertex3f(0.5f, -0.5, 0.5); - glVertex3f(0.5f, 0.5, 0.5); - glVertex3f(-0.5f, 0.5, 0.5); - glVertex3f(-0.5f, -0.5, 0.5); - glEnd(); - - glBegin(GL_LINE_STRIP); - glVertex3f(-0.5f, -0.5, -0.5); - glVertex3f(0.5f, -0.5, -0.5); - glVertex3f(0.5f, 0.5, -0.5); - glVertex3f(-0.5f, 0.5, -0.5); - glVertex3f(-0.5f, -0.5, -0.5); - glEnd(); - - glBegin(GL_LINES); - glVertex3f(-0.5f, -0.5f, 0.5f); - glVertex3f(-0.5f, -0.5f, -0.5f); - glVertex3f(0.5f, -0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, -0.5f); - glVertex3f(0.5f, 0.5f, 0.5f); - glVertex3f(0.5f, 0.5f, -0.5f); - glVertex3f(-0.5f, 0.5f, 0.5f); - glVertex3f(-0.5f, 0.5f, -0.5f); - glEnd(); - - glEndList(); - } -} - -void solid_cube() -{ - static GLuint dlist = 0; - if(glIsList(dlist)) { - glCallList(dlist); - } else { - dlist = glGenLists(1); - glNewList(dlist, GL_COMPILE_AND_EXECUTE); - - glBegin(GL_QUADS); - glNormal3f(-1.0f, 0.0f, 0.0f); - glVertex3f(-0.5f, -0.5f, -0.5f); - glVertex3f(-0.5f, -0.5f, 0.5f); - glVertex3f(-0.5f, 0.5f, 0.5f); - glVertex3f(-0.5f, 0.5f, -0.5f); - - glNormal3f(0.0f, 1.0f, 0.0f); - glVertex3f(-0.5f, 0.5f, -0.5f); - glVertex3f(-0.5f, 0.5f, 0.5f); - glVertex3f(0.5f, 0.5f, 0.5f); - glVertex3f(0.5f, 0.5f, -0.5f); - - glNormal3f(1.0f, 0.0f, 0.0f); - glVertex3f(0.5f, 0.5f, -0.5f); - glVertex3f(0.5f, 0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, -0.5f); - - glNormal3f(0.0f, -1.0f, 0.0f); - glVertex3f(0.5f, -0.5f, -0.5f); - glVertex3f(0.5f, -0.5f, 0.5f); - glVertex3f(-0.5f, -0.5f, 0.5f); - glVertex3f(-0.5f, -0.5f, -0.5f); - - glNormal3f(1.0f, 0.0f, 0.0f); - glVertex3f(0.5f, 0.5f, -0.5f); - glVertex3f(0.5f, 0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, -0.5f); - - glNormal3f(0.0f, 0.0f, 1.0f); - glVertex3f(-0.5f, -0.5f, 0.5f); - glVertex3f(0.5f, -0.5f, 0.5f); - glVertex3f(0.5f, 0.5f, 0.5f); - glVertex3f(-0.5f, 0.5f, 0.5f); - - glNormal3f(0.0f, 0.0f, -1.0f); - glVertex3f(0.5f, -0.5f, -0.5f); - glVertex3f(-0.5f, -0.5f, -0.5f); - glVertex3f(-0.5f, 0.5f, -0.5f); - glVertex3f(0.5f, 0.5f, -0.5f); - glEnd(); - - glEndList(); - } -} - -void wire_sphere() -{ - static GLuint dlist = 0; - if(glIsList(dlist)) { - glCallList(dlist); - } else { - GLUquadricObj* quadric = gluNewQuadric(); - gluQuadricDrawStyle(quadric, GLU_LINE); - - dlist = glGenLists(1); - glNewList(dlist, GL_COMPILE_AND_EXECUTE); - gluSphere(quadric, 1.0, 10, 10); - glEndList(); - - gluDeleteQuadric(quadric); - } -} - -void solid_sphere() -{ - static GLuint dlist = 0; - if(glIsList(dlist)) { - glCallList(dlist); - } else { - GLUquadricObj* quadric = gluNewQuadric(); - gluQuadricDrawStyle(quadric, GLU_FILL); - - dlist = glGenLists(1); - glNewList(dlist, GL_COMPILE_AND_EXECUTE); - gluSphere(quadric, 1.0, 10, 10); - glEndList(); - - gluDeleteQuadric(quadric); - } -} diff --git a/Extras/MayaPlugin/drawUtils.h b/Extras/MayaPlugin/drawUtils.h deleted file mode 100644 index 5657019fc..000000000 --- a/Extras/MayaPlugin/drawUtils.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//drawUtils.h - -#ifndef DYN_DRAW_UTILS_H -#define DYN_DRAW_UTILS_H - -void wire_cube(); -void solid_cube(); -void wire_sphere(); -void solid_sphere(); - -#endif diff --git a/Extras/MayaPlugin/icons/dynamica.xpm b/Extras/MayaPlugin/icons/dynamica.xpm deleted file mode 100644 index 93426891b..000000000 --- a/Extras/MayaPlugin/icons/dynamica.xpm +++ /dev/null @@ -1,511 +0,0 @@ -/* XPM */ -static char * dynamica1_xpm[] = { -"32 32 476 2", -" c #B1B1B1", -". c #B0B0B0", -"+ c #AFAFAF", -"@ c #AAAAAA", -"# c #A8A8A8", -"$ c #ABABAB", -"% c #A6A6A6", -"& c #A9A9A9", -"* c #AAA9A7", -"= c #979288", -"- c #9B9B9B", -"; c #959595", -"> c #9F9F9F", -", c #625236", -"' c #402900", -") c #776C57", -"! c #ADADAD", -"~ c #A0A0A0", -"{ c #9A9A9A", -"] c #776C58", -"^ c #6A5C44", -"/ c #919190", -"( c #898989", -"_ c #908E8B", -": c #47320C", -"< c #5D4D2F", -"[ c #A5A5A5", -"} c #99948B", -"| c #B1B0B0", -"1 c #9E9E9E", -"2 c #8D8D8D", -"3 c #8C8C8C", -"4 c #756B5B", -"5 c #62563F", -"6 c #82817E", -"7 c #736B5C", -"8 c #49340F", -"9 c #908F8E", -"0 c #989898", -"a c #817969", -"b c #442E06", -"c c #48320C", -"d c #ABAAA7", -"e c #AEAEAE", -"f c #868686", -"g c #777267", -"h c #402901", -"i c #47330E", -"j c #432D05", -"k c #524122", -"l c #5B4B2F", -"m c #584626", -"n c #B0AFAF", -"o c #A7A7A7", -"p c #9B9893", -"q c #8E8A83", -"r c #7E7A74", -"s c #412A02", -"t c #72654E", -"u c #929292", -"v c #91908E", -"w c #503D1C", -"x c #422B03", -"y c #514020", -"z c #665A44", -"A c #564526", -"B c #48330D", -"C c #675940", -"D c #80786A", -"E c #918E88", -"F c #969595", -"G c #84817B", -"H c #70685A", -"I c #5D4F36", -"J c #47320D", -"K c #7D7463", -"L c #999999", -"M c #8A8A8A", -"N c #848382", -"O c #534224", -"P c #5D4C2D", -"Q c #8D8579", -"R c #939393", -"S c #776F63", -"T c #574627", -"U c #4C3815", -"V c #675942", -"W c #635438", -"X c #594727", -"Y c #625235", -"Z c #A2A2A2", -"` c #878787", -" . c #817E79", -".. c #47310C", -"+. c #5D4C2E", -"@. c #99948C", -"#. c #909090", -"$. c #79746B", -"%. c #402A01", -"&. c #9E9B94", -"*. c #8F8F8F", -"=. c #827B6F", -"-. c #412A01", -";. c #49340E", -">. c #8E877A", -",. c #9C9C9C", -"'. c #8E8E8E", -"). c #767067", -"!. c #503E1E", -"~. c #4E3A16", -"{. c #969086", -"]. c #A4A4A4", -"^. c #979797", -"/. c #949492", -"(. c #776D5A", -"_. c #6C5E45", -":. c #9D9D9D", -"<. c #949494", -"[. c #767065", -"}. c #514022", -"|. c #3F2900", -"1. c #46300A", -"2. c #9F9B95", -"3. c #ACACAC", -"4. c #A1A1A1", -"5. c #6E6556", -"6. c #5D4E35", -"7. c #4E3A17", -"8. c #8A8274", -"9. c #919191", -"0. c #8B8B8B", -"a. c #6F685B", -"b. c #4D3C1C", -"c. c #3E2800", -"d. c #432E08", -"e. c #63563F", -"f. c #7A7160", -"g. c #53401E", -"h. c #45300A", -"i. c #A09C97", -"j. c #A3A3A3", -"k. c #878786", -"l. c #6B6354", -"m. c #493615", -"n. c #3C2700", -"o. c #472600", -"p. c #672A07", -"q. c #923918", -"r. c #B23610", -"s. c #CC3102", -"t. c #D54012", -"u. c #B04012", -"v. c #8C4118", -"w. c #7A583B", -"x. c #867D6E", -"y. c #A6A4A0", -"z. c #6F675B", -"A. c #564629", -"B. c #432C06", -"C. c #3F2800", -"D. c #9E9E9D", -"E. c #838280", -"F. c #675D4D", -"G. c #44300F", -"H. c #3B2600", -"I. c #3A2500", -"J. c #54280B", -"K. c #762B12", -"L. c #882000", -"M. c #A02600", -"N. c #B82B00", -"O. c #CF3100", -"P. c #E13B07", -"Q. c #E44E1F", -"R. c #E76036", -"S. c #C9623C", -"T. c #864B24", -"U. c #4D3915", -"V. c #8A8780", -"W. c #4E3C1C", -"X. c #7F7D77", -"Y. c #7E7D7B", -"Z. c #615644", -"`. c #3F2D0A", -" + c #392500", -".+ c #493819", -"++ c #674231", -"@+ c #5E1701", -"#+ c #701B00", -"$+ c #A32600", -"%+ c #BC2C00", -"&+ c #D43200", -"*+ c #E13E0B", -"=+ c #E45224", -"-+ c #E7653D", -";+ c #EA7652", -">+ c #EB8363", -",+ c #9B6241", -"'+ c #7F7F7F", -")+ c #838383", -"!+ c #4D3E22", -"~+ c #392400", -"{+ c #4D3F26", -"]+ c #3C2906", -"^+ c #382300", -"/+ c #372300", -"(+ c #4A3A1D", -"_+ c #787268", -":+ c #79615A", -"<+ c #4F1301", -"[+ c #5B1600", -"}+ c #731B00", -"|+ c #8D2100", -"1+ c #AA2800", -"2+ c #C32E00", -"3+ c #D93300", -"4+ c #E2410F", -"5+ c #E55427", -"6+ c #E86840", -"7+ c #EB7B58", -"8+ c #ED8B6D", -"9+ c #EE977C", -"0+ c #CBA89E", -"a+ c #969696", -"b+ c #888888", -"c+ c #797979", -"d+ c #737373", -"e+ c #5B5446", -"f+ c #372603", -"g+ c #352200", -"h+ c #342100", -"i+ c #4A3C23", -"j+ c #78746C", -"k+ c #877F7C", -"l+ c #542A1D", -"m+ c #4C1200", -"n+ c #5F1600", -"o+ c #7A1D00", -"p+ c #982400", -"q+ c #B32A00", -"r+ c #CA3000", -"s+ c #DD3400", -"t+ c #E24210", -"u+ c #E55326", -"v+ c #E8663E", -"w+ c #EE8E70", -"x+ c #F09D83", -"y+ c #E5A794", -"z+ c #BBAFAB", -"A+ c #848484", -"B+ c #6A6A69", -"C+ c #9D8100", -"D+ c #DCB600", -"E+ c #F7CC00", -"F+ c #F3C900", -"G+ c #EDC400", -"H+ c #E6BE00", -"I+ c #E0B900", -"J+ c #DBB500", -"K+ c #D8B300", -"L+ c #936800", -"M+ c #421000", -"N+ c #4E1200", -"O+ c #651800", -"P+ c #831F00", -"Q+ c #BD2D00", -"R+ c #D13100", -"S+ c #DF3500", -"T+ c #E45022", -"U+ c #E7633A", -"V+ c #EA7855", -"W+ c #F09F86", -"X+ c #F2AA94", -"Y+ c #CEAFA5", -"Z+ c #7B7B7B", -"`+ c #6B6B6B", -" @ c #666564", -".@ c #746000", -"+@ c #D1AC00", -"@@ c #F9CE03", -"#@ c #F4CA03", -"$@ c #EDC403", -"%@ c #E6BE03", -"&@ c #E0B903", -"*@ c #DBB503", -"=@ c #D8B303", -"-@ c #6D4101", -";@ c #431000", -">@ c #521300", -",@ c #6B1900", -"'@ c #8C2100", -")@ c #AB2900", -"!@ c #C52F00", -"~@ c #D53300", -"{@ c #E03500", -"]@ c #E13F0C", -"^@ c #E34B1C", -"/@ c #E65D33", -"(@ c #EA744F", -"_@ c #F0A087", -":@ c #F2AD97", -"<@ c #DFB1A3", -"[@ c #7D7D7D", -"}@ c #727272", -"|@ c #6E6E6E", -"1@ c #655300", -"2@ c #C9A500", -"3@ c #F8CC00", -"4@ c #F2C700", -"5@ c #EBC200", -"6@ c #E4BC00", -"7@ c #DEB700", -"8@ c #DAB400", -"9@ c #D7B100", -"0@ c #502300", -"a@ c #441000", -"b@ c #541400", -"c@ c #922300", -"d@ c #B12A00", -"e@ c #C93000", -"f@ c #D83300", -"g@ c #E13C09", -"h@ c #E34717", -"i@ c #E6592E", -"j@ c #E9704A", -"k@ c #ED896A", -"l@ c #F09E85", -"m@ c #EBB2A0", -"n@ c #818181", -"o@ c #787878", -"p@ c #C8A400", -"q@ c #F7CB00", -"r@ c #F1C600", -"s@ c #E9C000", -"t@ c #E2BA00", -"u@ c #DDB600", -"v@ c #D9B300", -"w@ c #3F1000", -"x@ c #551400", -"y@ c #711B00", -"z@ c #932300", -"A@ c #B22A00", -"B@ c #E34615", -"C@ c #E5562A", -"D@ c #E96D47", -"E@ c #ED8767", -"F@ c #F09C82", -"G@ c #F2AC96", -"H@ c #F2B19D", -"I@ c #808080", -"J@ c #747474", -"K@ c #F6CB00", -"L@ c #DCB500", -"M@ c #D6B000", -"N@ c #502200", -"O@ c #531400", -"P@ c #6E1A00", -"Q@ c #8F2200", -"R@ c #AF2900", -"S@ c #C72F00", -"T@ c #D63300", -"U@ c #E96C46", -"V@ c #EC8464", -"W@ c #EF9A7F", -"X@ c #F2A992", -"Y@ c #EBAF9D", -"Z@ c #6C4100", -"`@ c #410F00", -" # c #4F1300", -".# c #671800", -"+# c #862000", -"@# c #A52700", -"## c #BF2D00", -"$# c #DC3400", -"%# c #E34616", -"&# c #E5572B", -"*# c #EC8363", -"=# c #EF977C", -"-# c #F1A48C", -";# c #DEAB9C", -"># c #926800", -",# c #3F0F00", -"'# c #4A1100", -")# c #5E1600", -"!# c #D73300", -"~# c #E03804", -"{# c #E5582C", -"]# c #EC8160", -"^# c #EE9276", -"/# c #F09E84", -"(# c #CEAA9F", -"_# c #F9CD00", -":# c #F4C900", -"<# c #EDC300", -"[# c #E6BD00", -"}# c #E0B800", -"|# c #DBB400", -"1# c #D8B200", -"2# c #C09800", -"3# c #5C2F08", -"4# c #451000", -"5# c #6C1A00", -"6# c #A32700", -"7# c #BB2C00", -"8# c #CE3100", -"9# c #E24413", -"0# c #E86942", -"a# c #EB7C59", -"b# c #E39A84", -"c# c #BBADA9", -"d# c #828282", -"e# c #767676", -"f# c #C9A600", -"g# c #FACE00", -"h# c #F0C600", -"i# c #E3BB00", -"j# c #9B7318", -"k# c #451101", -"l# c #4D1200", -"m# c #601700", -"n# c #781C00", -"o# c #AC2900", -"p# c #C22E00", -"q# c #E45123", -"r# c #E7643B", -"s# c #EA7450", -"t# c #EC8262", -"u# c #C9A194", -"v# c #CAA600", -"w# c #FCD000", -"x# c #F3C800", -"y# c #E8BF00", -"z# c #DABA29", -"A# c #916D34", -"B# c #4D1301", -"C# c #591500", -"D# c #9E2500", -"E# c #B62B00", -"F# c #CD3000", -"G# c #E03702", -"H# c #E34A1A", -"I# c #E65C31", -"J# c #E86D46", -"K# c #CC9482", -"L# c #6E5B00", -"M# c #F6CA00", -"N# c #DAB300", -"O# c #DEBD20", -"P# c #DDC65E", -"Q# c #7C635B", -"R# c #662E1D", -"S# c #691900", -"T# c #7E1E00", -"U# c #952300", -"V# c #AD2900", -"W# c #DA3400", -"X# c #DA6440", -"Y# c #C6907F", -"Z# c #8A7200", -"`# c #C4A100", -" $ c #DFB700", -".$ c #DCB400", -"+$ c #D5AF00", -"@$ c #D0AB00", -"#$ c #CDA800", -"$$ c #E4BC01", -"%$ c #E2C53B", -"&$ c #948884", -"*$ c #896357", -"=$ c #8A4632", -"-$ c #963214", -";$ c #A92902", -">$ c #BC3C14", -",$ c #C75735", -"'$ c #C57B64", -")$ c #B79F98", -" ", -" . . . + @ # $ . ", -" . @ % & * = @ - ; > , ' ) + + . ", -" ! ~ ; { ] ' ^ / ( _ : ' < [ [ ! } = | ", -" ! 1 2 3 4 ' ' 5 6 7 ' ' 8 9 0 a b c d ", -" . . . . e ~ 2 f g h ' ' i j ' ' h k l ' ' m n ", -" e o [ o p q 3 f r s ' ' ' ' ' ' ' ' ' ' ' t ", -" . & { u v w x y z A ' B C D E F G H I J ' ' K $ + ", -" . & L M N O ' ' ' ' P Q . + ! # > R 3 S T ' U V W X Y * ", -" e Z u ` ...' ' +.@. . $ ~ #.( $.O ' ' ' ' %.&. ", -" . $ - 3 *.=.-.;.>. . + ! % ,.'.f ).!.' ' ' ~.{. ", -". ! @ ].^.'./.(.%._. . . + $ [ :.<.2 [.}.|.' s ' 1.2. ", -"3.4.0 u 5.6.7.' ' 8.. + @ ].{ 9.0.a.b.c.c.d.e.f.' g.. ", -"@ L 2 ` h.' ' ' ' i.@ j.L #.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y. ", -"3.4.; 3 z.A.B.C.C.D.^.3 E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U. ", -"! & ].L M ( V.W.n.X.Y.Z.`.I. +.+++@+#+L.$+%+&+*+=+-+;+>+,+ ", -"$ # ].L f '+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+ ", -"o 4.a+b+c+d+e+f+g+h+h+i+j+9.k+l+m+n+o+p+q+r+s+t+u+v+7+w+x+y+z+ ", -"Z a+A+d+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+$+Q+R+S+4+T+U+V+w+W+X+Y+ ", -"1 *.Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@8+_@:@<@ ", -"- 2 [@}@|@1@2@3@4@5@6@7@8@9@0@a@b@#+c@d@e@f@{@g@h@i@j@k@l@:@m@ ", -"L 0.n@o@d+1@p@q@r@s@t@u@v@9@w@a@x@y@z@A@r+3+{@P.B@C@D@E@F@G@H@ ", -"^.0.I@c+J@1@p@K@r@s@t@L@v@M@N@M+O@P@Q@R@S@T@S+P.B@C@U@V@W@X@Y@ ", -"^.0.I@c+J@1@p@q@r@s@t@u@v@9@Z@`@ #.#+#@###R+$#P.%#&#U@*#=#-#;# ", -"^.0.I@c+J@1@2@3@4@5@6@7@8@9@>#,#'#)#o+p+q+S@!#~#%#{#U@]#^#/#(# ", -"^.0.I@c+J@1@2@_#:#<#[#}#|#1#2#3#4#b@5#L.6#7#8#S+9#C@0#a#8+b#c# ", -"L 3 d#Z+e#1@f#g#K@h#s@i#7@|#1#j#k#l#m#n#z@o#p#T@]@q#r#s#t#u# ", -"- *.f I@Z+1@v#w#3@x#<#y#t@7@|#z#A#B#C#P@+#D#E#F#G#H#I#J#K# ", -"1 <.3 f d#L#2@M#x#h#5@H+t@u@N#O#P#Q#R#S#T#U#V#2+W#t+X#Y#. ", -"Z { <.*.3 Z#`# $u@.$1#+$@$#$v#$$%$:.&$*$=$-$;$>$,$'$)$. ", -"o Z 1 - L ^.^.^.a+^.0 L { :.> ~ 4.Z Z j.[ o & $ e + . ", -"$ # [ ].Z Z Z Z 4.4.Z Z j.[ % % % o o # & $ 3.e + . . "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreate6DofConstraint.xpm b/Extras/MayaPlugin/icons/dynamicaCreate6DofConstraint.xpm deleted file mode 100644 index ad9592063..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreate6DofConstraint.xpm +++ /dev/null @@ -1,213 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePinConstraint_xpm[] = { -"32 32 178 2", -" c #B1B1B1", -". c #A8A8A8", -"+ c #A5A5A5", -"@ c #718172", -"# c #6D866F", -"$ c #999999", -"% c #9B9B9B", -"& c #7B9B7E", -"* c #77CF80", -"= c #69846C", -"- c #8F8F8F", -"; c #989898", -"> c #82A185", -", c #88EC91", -"' c #57DD63", -") c #529C59", -"! c #878787", -"~ c #A2A2A2", -"{ c #949494", -"] c #88AA8B", -"^ c #8EED97", -"/ c #58E465", -"( c #23DC34", -"_ c #30B33C", -": c #667A68", -"< c #959595", -"[ c #9E9E9E", -"} c #757C76", -"| c #9BD9A1", -"1 c #87EC90", -"2 c #4BE259", -"3 c #17DA29", -"4 c #04D718", -"5 c #13C624", -"6 c #528C57", -"7 c #8B8B8B", -"8 c #A9A9A9", -"9 c #A6A6A6", -"0 c #717371", -"a c #99CB9E", -"b c #9BEFA3", -"c c #6FE87A", -"d c #30DE40", -"e c #09D71C", -"f c #00D614", -"g c #33A73E", -"h c #8E8E8E", -"i c #93BB97", -"j c #A3F0AA", -"k c #82EB8C", -"l c #49E257", -"m c #15D927", -"n c #01D615", -"o c #28B235", -"p c #419B49", -"q c #508D56", -"r c #9F9F9F", -"s c #89A68C", -"t c #A6F1AD", -"u c #8DED96", -"v c #59E466", -"w c #21DB32", -"x c #24B532", -"y c #858585", -"z c #969696", -"A c #929292", -"B c #809281", -"C c #A7EBAD", -"D c #94EE9C", -"E c #67E773", -"F c #2DDD3D", -"G c #06D119", -"H c #5E8061", -"I c #A0A0A0", -"J c #919191", -"K c #8A8A8A", -"L c #778278", -"M c #A0E2A6", -"N c #99EFA1", -"O c #73E87E", -"P c #3BDF4A", -"Q c #10D923", -"R c #36A441", -"S c #BE0000", -"T c #A20000", -"U c #7C1D14", -"V c #88744E", -"W c #877D52", -"X c #8B8F5F", -"Y c #95CA89", -"Z c #77E982", -"` c #46E155", -" . c #03D617", -".. c #13C424", -"+. c #69766B", -"@. c #AAAAAA", -"#. c #747D74", -"$. c #94D79B", -"%. c #86EC8F", -"&. c #7EEA88", -"*. c #6DE878", -"=. c #47E155", -"-. c #1CDB2E", -";. c #4C9053", -">. c #75C27C", -",. c #7AEA84", -"'. c #74E97F", -"). c #68E774", -"!. c #5AE467", -"~. c #4CE25A", -"{. c #38DF48", -"]. c #1DDB2F", -"^. c #07D71A", -"/. c #23B631", -"(. c #848484", -"_. c #66896A", -":. c #49C955", -"<. c #35DF45", -"[. c #2BDD3C", -"}. c #22DB33", -"|. c #1ADA2C", -"1. c #11D924", -"2. c #09CE1C", -"3. c #5D8160", -"4. c #69786A", -"5. c #32B03E", -"6. c #02D616", -"7. c #2BAF37", -"8. c #898989", -"9. c #A4A4A4", -"0. c #7F7F7F", -"a. c #399141", -"b. c #06D019", -"c. c #24B631", -"d. c #A7A7A7", -"e. c #AFAFAF", -"f. c #BDBDBD", -"g. c #528156", -"h. c #12C223", -"i. c #14C424", -"j. c #6C746C", -"k. c #AEAEAE", -"l. c #EBEBEB", -"m. c #F4F4F4", -"n. c #C2C2C2", -"o. c #697A6A", -"p. c #26AE33", -"q. c #09CE1B", -"r. c #627D64", -"s. c #A3A3A3", -"t. c #C7C7C7", -"u. c #FCFCFC", -"v. c #E6E6E6", -"w. c #DFDFDF", -"x. c #409C48", -"y. c #04D217", -"z. c #6E726F", -"A. c #B0B0B0", -"B. c #F8F8F8", -"C. c #8D8D8D", -"D. c #528B57", -"E. c #1BA610", -"F. c #5B835F", -"G. c #DDDDDD", -"H. c #EAEAEA", -"I. c #880000", -"J. c #B5B5B5", -"K. c #DEDEDE", -"L. c #E9E9E9", -"M. c #A1A1A1", -"N. c #CACACA", -"O. c #DCDCDC", -"P. c #ACACAC", -"Q. c #D8D8D8", -"R. c #C6C6C6", -"S. c #ADADAD", -"T. c #BA0000", -"U. c #BB0000", -" ", -" . + ", -" . @ # $ ", -" % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 ", -" 9 0 a b c d e f f f g h ", -" 7 i j k l m n f o p q r ", -" h s t u v w 4 f x y z r ", -" A B C D E F e f G H I ", -" 8 J - K L M N O P Q n f R h ", -" S S S S S S S S T U V W X Y D Z ` 3 .f ..+.@. ", -" S I #.$.N ^ %.&.*.=.-.4 f f ;.z ", -" S y >.,.'.).!.~.{.].^.f f /.(. ", -" S I _.:.<.[.}.|.1.^.n f 2.3.r ", -" S ; 4.5.^.4 4 6.n f f 7.8. ", -" S 9.0.a.b.f f f f f c.y ", -" S d.e.f.g.h.f f f f i.j.k. ", -" S e.; l.m.n.o.p.f f f q.r.8 ", -" S s.t.u.v.w.; (.x.y.f /.z.A. ", -" S @.~ B.v.w.9 9.A.C.D.E.F.r ", -" S r G.H.w.9.9. $ I.$ ", -" S + J.m.K.s.9. S ", -" S k.$ L.G.M.9. S ", -" S s.N.O.I + S ", -" S P.+ Q.r + S ", -" S ~ R.r 9 S ", -" S S.s.[ P. S ", -" S S S S T.U.S S S S S S S S S S S S ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveBoxRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveBoxRB.xpm deleted file mode 100644 index 0e676dcdc..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveBoxRB.xpm +++ /dev/null @@ -1,114 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveBoxRB_xpm[] = { -"32 32 79 1", -" c #A47D7D", -". c #A53030", -"+ c #AA2424", -"@ c #AD5E5E", -"# c #B1B1B1", -"$ c #880202", -"% c #A61B1B", -"& c #A80101", -"* c #AD5A5A", -"= c #850000", -"- c #C30000", -"; c #B1ADAD", -"> c #A88C8C", -", c #860202", -"' c #A17070", -") c #A17373", -"! c #898989", -"~ c #969696", -"{ c #9C9C9C", -"] c #A7A7A7", -"^ c #0F0F0F", -"/ c #707070", -"( c #ABABAB", -"_ c #737373", -": c #2C2C2C", -"< c #000000", -"[ c #8E8E8E", -"} c #7F7F7F", -"| c #080808", -"1 c #6E6E6E", -"2 c #0C0C0C", -"3 c #A2A2A2", -"4 c #4F4F4F", -"5 c #212121", -"6 c #ADADAD", -"7 c #494949", -"8 c #4B4B4B", -"9 c #606060", -"0 c #131313", -"a c #060606", -"b c #1D1D1D", -"c c #7D7D7D", -"d c #858585", -"e c #929292", -"f c #A0A0A0", -"g c #797979", -"h c #626262", -"i c #6C6C6C", -"j c #414141", -"k c #454545", -"l c #2A2A2A", -"m c #434343", -"n c #7C7C7C", -"o c #5A5A5A", -"p c #121212", -"q c #2F2F2F", -"r c #141414", -"s c #686868", -"t c #A9A9A9", -"u c #818181", -"v c #5C5C5C", -"w c #646464", -"x c #2D2D2D", -"y c #050505", -"z c #151515", -"A c #575757", -"B c #636363", -"C c #555555", -"D c #6A6A6A", -"E c #3C3C3C", -"F c #111111", -"G c #666666", -"H c #090909", -"I c #515151", -"J c #5B5B5B", -"K c #5F5F5F", -"L c #616161", -"M c #A5A5A5", -"N c #959595", -" .+++++++++++++@################", -" $%&&&&&&&&&&&&&*###############", -" =$%&&&&&&&&&&&&&*##############", -" ==$%&&&&&&&&&&&&&*#############", -" ===$--------------;############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -" ====--------------#############", -">,===--------------#############", -"#',==--------------#############", -"##),=--------------#############", -"###),--------------#############", -"####)--------------#############", -"##########!###############~{####", -"#########]^/###########(_:<[####", -"##########}|~#########12<<<3####", -"###########456########67<<|#####", -"###########658#########90ab#####", -"############~|c#######da[e8#####", -"#############/^fgh###f^i########", -"##############j0 c #8E8E8E", -", c #7F7F7F", -"' c #080808", -") c #6E6E6E", -"! c #0C0C0C", -"~ c #A2A2A2", -"{ c #4F4F4F", -"] c #212121", -"^ c #ADADAD", -"/ c #494949", -"( c #4B4B4B", -"_ c #606060", -": c #131313", -"< c #060606", -"[ c #1D1D1D", -"} c #7D7D7D", -"| c #858585", -"1 c #929292", -"2 c #A0A0A0", -"3 c #797979", -"4 c #626262", -"5 c #6C6C6C", -"6 c #414141", -"7 c #454545", -"8 c #2A2A2A", -"9 c #434343", -"0 c #7C7C7C", -"a c #5A5A5A", -"b c #121212", -"c c #2F2F2F", -"d c #141414", -"e c #686868", -"f c #A9A9A9", -"g c #818181", -"h c #5C5C5C", -"i c #646464", -"j c #2D2D2D", -"k c #050505", -"l c #151515", -"m c #575757", -"n c #636363", -"o c #555555", -"p c #6A6A6A", -"q c #3C3C3C", -"r c #111111", -"s c #666666", -"t c #090909", -"u c #515151", -"v c #5B5B5B", -"w c #5F5F5F", -"x c #616161", -"y c #A5A5A5", -"z c #959595", -" ", -" ", -" ", -" ....... ....... ", -" . . . . ", -" . . . . ", -" . . . . ", -" . . . . ", -" . . . . ", -" ....... ....... ", -" ", -" ....... ....... ", -" . . . . ", -" . . . . ", -" . . . . ", -" . . . . ", -" . . . . ", -" ....... ....... ", -" + @# ", -" $%& *=-;> ", -" ,'@ )!;;;~ ", -" {]^ ^/;;' ", -" ^]( _:<[ ", -" @'} |<>1( ", -" &%234 2%5 ", -" 6:;7 ^89 ", -" 055555555555ab;;]55cde555)f ", -" ghiiiiiiiii4jk;;li9 c #CE4949", -", c #C56A6A", -"' c #BE8181", -") c #B89696", -"! c #B5A2A2", -"~ c #CC4F4F", -"{ c #DD0E0E", -"] c #AE2121", -"^ c #AB8888", -"/ c #ACACAC", -"( c #7A7A7A", -"_ c #8D8D8D", -": c #BB8E8E", -"< c #C17979", -"[ c #C66464", -"} c #CE4747", -"| c #D62C2C", -"1 c #DC1717", -"2 c #DA1D1D", -"3 c #D43232", -"4 c #CE4646", -"5 c #BC6161", -"6 c #AE6F6F", -"7 c #B28D8D", -"8 c #B69E9E", -"9 c #CD4B4B", -"0 c #DF0C0C", -"a c #B19999", -"b c #686868", -"c c #ABABAB", -"d c #C4C4C4", -"e c #727272", -"f c #6A6A6A", -"g c #6E6E6E", -"h c #717171", -"i c #7C7C7C", -"j c #A3A3A3", -"k c #BA9090", -"l c #A56060", -"m c #8F2F2F", -"n c #AE2626", -"o c #C21B1B", -"p c #D50909", -"q c #D32D2D", -"r c #B79A9A", -"s c #DE0F0F", -"t c #C65151", -"u c #867676", -"v c #666666", -"w c #595959", -"x c #B6B6B6", -"y c #9F9F9F", -"z c #999999", -"A c #959595", -"B c #8A8A8A", -"C c #797979", -"D c #5D5D5D", -"E c #A1A1A1", -"F c #AEAEAE", -"G c #7D7D7D", -"H c #C81111", -"I c #BA7878", -"J c #B2ADAD", -"K c #DC1414", -"L c #B95252", -"M c #8B7E7E", -"N c #5A5A5A", -"O c #919191", -"P c #C2C2C2", -"Q c #CACACA", -"R c #C7C7C7", -"S c #C3C3C3", -"T c #C0C0C0", -"U c #BDBDBD", -"V c #B9B9B9", -"W c #B7B7B7", -"X c #B5B5B5", -"Y c #696969", -"Z c #8F8F8F", -"` c #6D6D6D", -" . c #969696", -".. c #767676", -"+. c #965B5B", -"@. c #D91C1C", -"#. c #937373", -"$. c #D20A0A", -"%. c #888888", -"&. c #BBBBBB", -"*. c #CDCDCD", -"=. c #CCCCCC", -"-. c #C8C8C8", -";. c #C5C5C5", -">. c #C1C1C1", -",. c #BEBEBE", -"'. c #B4B4B4", -"). c #B3B3B3", -"!. c #9C9C9C", -"~. c #676767", -"{. c #A8A8A8", -"]. c #B0B0B0", -"^. c #616161", -"/. c #C37070", -"(. c #855050", -"_. c #D82B2B", -":. c #A7A7A7", -"<. c #B2B2B2", -"[. c #6C6C6C", -"}. c #818181", -"|. c #808080", -"1. c #946A6A", -"2. c #DC1515", -"3. c #B25D5D", -"4. c #DF1414", -"5. c #575454", -"6. c #CBCBCB", -"7. c #BABABA", -"8. c #B8B8B8", -"9. c #9E9E9E", -"0. c #7F7F7F", -"a. c #656565", -"b. c #C93939", -"c. c #C76060", -"d. c #6D6B6B", -"e. c #DC2D2D", -"f. c #924545", -"g. c #828282", -"h. c #A2A2A2", -"i. c #634848", -"j. c #DE0C0C", -"k. c #B3A9A9", -"l. c #9E5454", -"m. c #D42A2A", -"n. c #C6C6C6", -"o. c #BC3A3A", -"p. c #CF4343", -"q. c #8D8A8A", -"r. c #D50B0B", -"s. c #C49F9F", -"t. c #9F4D4D", -"u. c #DD1313", -"v. c #AA3D3D", -"w. c #C13F3F", -"x. c #A0A0A0", -"y. c #A05353", -"z. c #9B8686", -"A. c #DA0808", -"B. c #BCB1B1", -"C. c #5E5E5E", -"D. c #A55D5D", -"E. c #DD1111", -"F. c #BA9292", -"G. c #BE2929", -"H. c #B24242", -"I. c #B5B2B2", -"J. c #626262", -"K. c #9E5C5C", -"L. c #B48989", -"M. c #CA1C1C", -"N. c #D30E0E", -"O. c #BA5F5F", -"P. c #A5A5A5", -"Q. c #858585", -"R. c #9D6060", -"S. c #9E6B6B", -"T. c #BB1919", -"U. c #D70C0C", -"V. c #AB4C4C", -"W. c #8E7E7E", -"X. c #9A6D6D", -"Y. c #9E5E5E", -"Z. c #A34949", -"`. c #A83333", -" + c #AB2323", -".+ c #CA1D1D", -"++ c #D62121", -"@+ c #E10404", -"#+ c #BD8787", -"$+ c #9C7272", -"%+ c #C22929", -"&+ c #E10101", -"*+ c #CD1818", -"=+ c #C82121", -"-+ c #BE3737", -";+ c #BE4C4C", -">+ c #C06666", -",+ c #898989", -"'+ c #0F0F0F", -")+ c #707070", -"!+ c #737373", -"~+ c #2C2C2C", -"{+ c #000000", -"]+ c #8E8E8E", -"^+ c #080808", -"/+ c #0C0C0C", -"(+ c #4F4F4F", -"_+ c #212121", -":+ c #ADADAD", -"<+ c #494949", -"[+ c #4B4B4B", -"}+ c #606060", -"|+ c #131313", -"1+ c #060606", -"2+ c #1D1D1D", -"3+ c #929292", -"4+ c #414141", -"5+ c #454545", -"6+ c #2A2A2A", -"7+ c #434343", -"8+ c #121212", -"9+ c #2F2F2F", -"0+ c #141414", -"a+ c #A9A9A9", -"b+ c #5C5C5C", -"c+ c #646464", -"d+ c #2D2D2D", -"e+ c #050505", -"f+ c #151515", -"g+ c #575757", -"h+ c #636363", -"i+ c #555555", -"j+ c #3C3C3C", -"k+ c #111111", -"l+ c #090909", -"m+ c #515151", -"n+ c #5B5B5B", -"o+ c #5F5F5F", -" . + @ ", -" # $ % & * = - ; > , ' ) ", -" ! ~ { ] ^ / ( _ : < [ } | 1 = 2 3 4 5 6 7 ", -" 8 9 0 9 a b c d e b f g h i j k l m n o p q ", -" r } s t u v w h / d x j y z A B C A D E F G H I ", -"J K L M N O P Q R S T U V W X X Y Z ` . ..+.@. ", -"#.$.e %.&.*.=.Q -.;.>.,.&.W X '.).!.~.{.N ].E ^.3 /. ", -"(._.:.E *.=.Q -.;.P ,.&.V X ).<. [.( }. |.1.2.J ", -"3.4.5.b *.6.-.;.P ,.7.8.x ). 9.0.]. a.b.c. ", -"d.e.f.g.Q -.;.P ,.V x '.<. h.i.j.k. ", -"C l.m.c n.d T U V '. g o.p. ", -" q.r.s.>.,.&.W ). c ..t.u.r ", -" v.w.U 7.W ). x.D y.u.) ", -" z.A.B.W '. {.C.D.E.F. ", -" G.H.I. :.J.K.s : ", -" L.M.N.O.J P.Q.N R.0 . ", -" S.T.U.V.W.X.Y.Z.`. +.+++@+#+ ", -" c $+%+&+*+=+-+;+>+' : J ", -" ,+ .!. ", -" :.'+)+ c !+~+{+]+ ", -" 0.^+ . g /+{+{+{+h. ", -" (+_+:+ :+<+{+{+^+ ", -" :+_+[+ }+|+1+2+ ", -" .^+G Q.1+]+3+[+ ", -" )+'+x.C J. x.'+[. ", -" 4+|+{+5+ :+6+7+ ", -" i [.[.[.[.[.[.[.[.[.[.[.N 8+{+{+_+[.[.9+0+b [.[.[.g a+ ", -" }.b+c+c+c+c+c+c+c+c+c+J.d+e+{+{+f+c+7+1+g+c+c+c+c+h+i+a+ ", -" }.b+b f f f f f f f f f c+j+k+/+v l+[+f f f f f f b i+a+ ", -" }.b+b f f f f f f f f f f f m+f h+f f f f f f f f b i+ ", -" }.n+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+o+^. ", -" P.A A A A A A A A A A A A A A A A A A A A A A A A "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveHullRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveHullRBArray.xpm deleted file mode 100644 index ef18e1cbd..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveHullRBArray.xpm +++ /dev/null @@ -1,145 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveHullRBArray_xpm[] = { -"32 32 110 2", -" c #B1B1B1", -". c #B3ABAB", -"+ c #C17777", -"@ c #CA5757", -"# c #C66464", -"$ c #C27272", -"% c #BD8484", -"& c #B99595", -"* c #B5A2A2", -"= c #B3A9A9", -"- c #CB5454", -"; c #C37070", -"> c #B79A9A", -", c #BE8383", -"' c #C27575", -") c #C76363", -"! c #C95C5C", -"~ c #C85E5E", -"{ c #C76262", -"] c #C56A6A", -"^ c #BB8E8E", -"/ c #CA5555", -"( c #C27474", -"_ c #B4A5A5", -": c #B3AAAA", -"< c #CE4747", -"[ c #C95B5B", -"} c #B89696", -"| c #BE8080", -"1 c #B89797", -"2 c #BC8A8A", -"3 c #C66767", -"4 c #C36E6E", -"5 c #B2AEAE", -"6 c #CA5858", -"7 c #B4A7A7", -"8 c #BF7F7F", -"9 c #C95A5A", -"0 c #C07979", -"a c #BE8181", -"b c #C37171", -"c c #BD8585", -"d c #C17878", -"e c #C46C6C", -"f c #B3A8A8", -"g c #946464", -"h c #969696", -"i c #9C9C9C", -"j c #BD5757", -"k c #110707", -"l c #726B6B", -"m c #ABABAB", -"n c #737373", -"o c #2C2C2C", -"p c #000000", -"q c #8E8E8E", -"r c #7F7F7F", -"s c #080808", -"t c #6E6E6E", -"u c #0C0C0C", -"v c #A2A2A2", -"w c #4F4F4F", -"x c #212121", -"y c #ADADAD", -"z c #494949", -"A c #4B4B4B", -"B c #606060", -"C c #131313", -"D c #060606", -"E c #1D1D1D", -"F c #7D7D7D", -"G c #858585", -"H c #929292", -"I c #707070", -"J c #0F0F0F", -"K c #A0A0A0", -"L c #797979", -"M c #626262", -"N c #6C6C6C", -"O c #414141", -"P c #454545", -"Q c #2A2A2A", -"R c #434343", -"S c #7C7C7C", -"T c #5A5A5A", -"U c #121212", -"V c #2F2F2F", -"W c #141414", -"X c #686868", -"Y c #A9A9A9", -"Z c #818181", -"` c #5C5C5C", -" . c #646464", -".. c #2D2D2D", -"+. c #050505", -"@. c #151515", -"#. c #575757", -"$. c #636363", -"%. c #555555", -"&. c #6A6A6A", -"*. c #3C3C3C", -"=. c #111111", -"-. c #666666", -";. c #090909", -">. c #515151", -",. c #5B5B5B", -"'. c #5F5F5F", -"). c #616161", -"!. c #A5A5A5", -"~. c #959595", -" ", -" . + @ # $ % & * = ", -" = + - ; > & , ' ) ! ~ { ] ", -" ^ / ( _ : ^ < ", -" [ } ( | . + @ # $ % & * = ", -" @ 1 = / = = + - ; > & , ' ) ! ~ { ] ", -" 2 3 4 ; ^ / ( _ : ^ < ", -" 5 6 7 8 9 . [ } ( | ", -" 0 ) 7 a / : @ 1 = / = ", -" 5 ' - b c d e ! 6 f 2 3 4 ; ", -" 5 6 7 8 9 . ", -" . + @ # $ % & * = 0 ) 7 a / : ", -" = + - ; > & , ' ) ! ~ { ] 5 ' - b c d e ! 6 f ", -" ^ / ( _ : ^ < ", -" [ } ( | ", -" @ 1 = / = ", -" 2 3 4 ; ", -" 5 6 7 8 9 . ", -" 0 ) 7 g / : h i ", -" 5 ' - b c d e j k l m n o p q ", -" r s h t u p p p v ", -" w x y y z p p s ", -" y x A B C D E ", -" h s F G D q H A ", -" I J K L M K J N ", -" O C p P y Q R ", -" S N N N N N N N N N N N T U p p x N N V W X N N N t Y ", -" Z ` . . . . . . . . .M ..+.p p @. .R D #. . . . .$.%.Y ", -" Z ` X &.&.&.&.&.&.&.&.&. .*.=.u -.;.A &.&.&.&.&.&.X %.Y ", -" Z ` X &.&.&.&.&.&.&.&.&.&.&.>.&.$.&.&.&.&.&.&.&.&.X %. ", -" Z ,.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.). ", -" !.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~. "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRB.xpm deleted file mode 100644 index 0d1bc6c39..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRB.xpm +++ /dev/null @@ -1,247 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveMeshRB_xpm[] = { -"32 32 212 2", -" c #B1B1B1", -". c #A7A7A7", -"+ c #989898", -"@ c #939393", -"# c #A2A2A2", -"$ c #AFAFAF", -"% c #918888", -"& c #BC5B5B", -"* c #C34949", -"= c #A56969", -"- c #A3A3A3", -"; c #ABABAB", -"> c #A8A8A8", -", c #AEAEAE", -"' c #959595", -") c #C35858", -"! c #D13D3D", -"~ c #A07171", -"{ c #969696", -"] c #979797", -"^ c #9C9C9C", -"/ c #ACACAC", -"( c #8C8B8B", -"_ c #957777", -": c #996B6B", -"< c #918080", -"[ c #ADADAD", -"} c #9E9E9E", -"| c #949494", -"1 c #A07C7C", -"2 c #C35A5A", -"3 c #D23E3E", -"4 c #C93B3B", -"5 c #BD4141", -"6 c #BA3C3C", -"7 c #B63939", -"8 c #B33B3B", -"9 c #AD4848", -"0 c #9B9B9B", -"a c #A6A6A6", -"b c #937E7E", -"c c #BA2020", -"d c #C10404", -"e c #A54C4C", -"f c #908282", -"g c #A0A0A0", -"h c #B37272", -"i c #C76464", -"j c #D15959", -"k c #D65151", -"l c #D44848", -"m c #D13C3C", -"n c #CF3131", -"o c #CC2626", -"p c #C91B1B", -"q c #C71212", -"r c #C60E0E", -"s c #C60D0D", -"t c #9A6E6E", -"u c #A4A4A4", -"v c #B42D2D", -"w c #C30000", -"x c #A15757", -"y c #A1A1A1", -"z c #8F8989", -"A c #A07D7D", -"B c #AE7676", -"C c #CD6565", -"D c #D85B5B", -"E c #D75757", -"F c #D65252", -"G c #D54C4C", -"H c #D34242", -"I c #CF3535", -"J c #CD2B2B", -"K c #CB2020", -"L c #C81515", -"M c #C60C0C", -"N c #C50909", -"O c #C50707", -"P c #B72323", -"Q c #917F7F", -"R c #C20202", -"S c #BA1717", -"T c #929292", -"U c #9B7F7F", -"V c #CB5A5A", -"W c #C16767", -"X c #BE6D6D", -"Y c #D95D5D", -"Z c #D85959", -"` c #D34343", -" . c #D03737", -".. c #CB2222", -"+. c #C91919", -"@. c #C40606", -"#. c #C30202", -"$. c #9C6464", -"%. c #A84646", -"&. c #A74848", -"*. c #9F9F9F", -"=. c #B66565", -"-. c #D25050", -";. c #8D8D8D", -">. c #9A8383", -",. c #D85A5A", -"'. c #D75454", -"). c #D03838", -"!. c #CD2929", -"~. c #CA1E1E", -"{. c #C81717", -"]. c #C71010", -"^. c #B81B1B", -"/. c #976F6F", -"(. c #A9A9A9", -"_. c #9C7B7B", -":. c #D44949", -"<. c #9A8080", -"[. c #AB7575", -"}. c #D75353", -"|. c #CD2A2A", -"1. c #C60B0B", -"2. c #C40303", -"3. c #BA1616", -"4. c #8D8A8A", -"5. c #A76E6E", -"6. c #C35353", -"7. c #C35757", -"8. c #D34545", -"9. c #CF3232", -"0. c #CC2727", -"a. c #9D6262", -"b. c #9C7878", -"c. c #CD3B3B", -"d. c #CF3434", -"e. c #C81414", -"f. c #C00808", -"g. c #A15656", -"h. c #9A9A9A", -"i. c #B45252", -"j. c #C71313", -"k. c #BA1818", -"l. c #937A7A", -"m. c #9D9D9D", -"n. c #9F6D6D", -"o. c #BE0E0E", -"p. c #937979", -"q. c #AA5151", -"r. c #BD0F0F", -"s. c #967373", -"t. c #9C6565", -"u. c #B91A1A", -"v. c #BC1212", -"w. c #AA4141", -"x. c #8F8383", -"y. c #A94242", -"z. c #AB3C3C", -"A. c #A35252", -"B. c #9A6969", -"C. c #898989", -"D. c #0F0F0F", -"E. c #707070", -"F. c #737373", -"G. c #2C2C2C", -"H. c #000000", -"I. c #8E8E8E", -"J. c #7F7F7F", -"K. c #080808", -"L. c #6E6E6E", -"M. c #0C0C0C", -"N. c #4F4F4F", -"O. c #212121", -"P. c #494949", -"Q. c #4B4B4B", -"R. c #606060", -"S. c #131313", -"T. c #060606", -"U. c #1D1D1D", -"V. c #7D7D7D", -"W. c #858585", -"X. c #797979", -"Y. c #626262", -"Z. c #6C6C6C", -"`. c #414141", -" + c #454545", -".+ c #2A2A2A", -"++ c #434343", -"@+ c #7C7C7C", -"#+ c #5A5A5A", -"$+ c #121212", -"%+ c #2F2F2F", -"&+ c #141414", -"*+ c #686868", -"=+ c #818181", -"-+ c #5C5C5C", -";+ c #646464", -">+ c #2D2D2D", -",+ c #050505", -"'+ c #151515", -")+ c #575757", -"!+ c #636363", -"~+ c #555555", -"{+ c #6A6A6A", -"]+ c #3C3C3C", -"^+ c #111111", -"/+ c #666666", -"(+ c #090909", -"_+ c #515151", -":+ c #5B5B5B", -"<+ c #5F5F5F", -"[+ c #616161", -"}+ c #A5A5A5", -" ", -" . + @ # ", -" $ % & * = - ; > , ", -" $ ' ) ! ~ ' { ] + ^ / # ( _ : < , ", -" [ } | % 1 2 3 4 5 6 7 8 9 0 a b c d e f , ", -" $ . g % h i j k l m n o p q r s t u ] v w x ^ , ", -"y z A B C D E F G H I J K L M N O P ' , Q R S T ", -"U V W X Y Z F G ` .J ..+.r @.#.w w $.^ %.w &.*. ", -"=.-.;.>.,.'.G ` ).!.~.{.].@.w w w w ^.&.R w /.(. ", -"_.:.<.[.}.G H .|.p ].1.2.w w w w w w w w 3.4. ", -"0 5.6.7.8.! 9.0.+.N w w w w w w w w w w w a.y ", -" - b.c.d.J K e.@.w w w w w w w w w w f.g.0 ", -" h.i.0.~.j.@.w w w w w w w w w w k.l.m. ", -" a n.~.e.N w w w w w w w w w w o.p.# ", -" 0 q.1.w w w w w w w w w w r.s.*. ", -" , 0 t.u.w w w w w w w v.w.Q *. ", -" # x.x y.z.z.y.A.B.f m./ ", -" $ - } ^ ^ } # > , ", -" C. { ^ ", -" . D.E. ; F.G.H.I. ", -" J.K.{ L.M.H.H.H.# ", -" N.O.[ [ P.H.H.K. ", -" [ O.Q. R.S.T.U. ", -" { K.V. W.T.I.T Q. ", -" E.D.g X.Y. g D.Z. ", -" `.S.H. + [ .+++ ", -" @+Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.#+$+H.H.O.Z.Z.%+&+*+Z.Z.Z.L.(. ", -" =+-+;+;+;+;+;+;+;+;+;+Y.>+,+H.H.'+;+++T.)+;+;+;+;+!+~+(. ", -" =+-+*+{+{+{+{+{+{+{+{+{+;+]+^+M./+(+Q.{+{+{+{+{+{+*+~+(. ", -" =+-+*+{+{+{+{+{+{+{+{+{+{+{+_+{+!+{+{+{+{+{+{+{+{+*+~+ ", -" =+:+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+[+ ", -" }+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRBArray.xpm deleted file mode 100644 index cb6b9b781..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveMeshRBArray.xpm +++ /dev/null @@ -1,174 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveMeshRBArray_xpm[] = { -"32 32 139 2", -" c #B1B1B1", -". c #A2A2A2", -"+ c #929292", -"@ c #AFAFAF", -"# c #B0B0B0", -"$ c #ABABAB", -"% c #ACACAC", -"& c #ADADAD", -"* c #928787", -"= c #C75252", -"- c #9E7777", -"; c #8F8888", -"> c #8E8888", -", c #A4A4A4", -"' c #947777", -") c #947878", -"! c #A9A9A9", -"~ c #A0A0A0", -"{ c #948787", -"] c #AA7878", -"^ c #BB6868", -"/ c #D24A4A", -"( c #CA4141", -"_ c #C33939", -": c #BE2E2E", -"< c #996E6E", -"[ c #A5A5A5", -"} c #9E5E5E", -"| c #B62020", -"1 c #957474", -"2 c #A7A7A7", -"3 c #9C7E7E", -"4 c #AE7373", -"5 c #CB6262", -"6 c #D75757", -"7 c #D65050", -"8 c #D24141", -"9 c #CE2D2D", -"0 c #C81616", -"a c #C30000", -"b c #B32929", -"c c #B52323", -"d c #A25454", -"e c #989898", -"f c #BC5C5C", -"g c #A77474", -"h c #CC5555", -"i c #D54B4B", -"j c #C71212", -"k c #C10404", -"l c #B32828", -"m c #BE0D0D", -"n c #917F7F", -"o c #AEAEAE", -"p c #9A7B7B", -"q c #B75A5A", -"r c #CF3F3F", -"s c #CF3535", -"t c #CC2525", -"u c #C60B0B", -"v c #A84646", -"w c #9E9E9E", -"x c #9E7272", -"y c #CC2626", -"z c #C91919", -"A c #C40404", -"B c #C30101", -"C c #A35252", -"D c #8C8B8B", -"E c #8D8A8A", -"F c #B03F3F", -"G c #A35151", -"H c #9B9B9B", -"I c #A15656", -"J c #B22A2A", -"K c #B52424", -"L c #B22C2C", -"M c #A94141", -"N c #976F6F", -"O c #9C9C9C", -"P c #A3A3A3", -"Q c #979797", -"R c #969696", -"S c #9D9D9D", -"T c #937777", -"U c #898686", -"V c #797979", -"W c #9F9F9F", -"X c #0F0F0F", -"Y c #707070", -"Z c #737373", -"` c #2C2C2C", -" . c #000000", -".. c #8E8E8E", -"+. c #7F7F7F", -"@. c #080808", -"#. c #6E6E6E", -"$. c #0C0C0C", -"%. c #4F4F4F", -"&. c #212121", -"*. c #494949", -"=. c #4B4B4B", -"-. c #606060", -";. c #131313", -">. c #060606", -",. c #1D1D1D", -"'. c #7D7D7D", -"). c #858585", -"!. c #626262", -"~. c #6C6C6C", -"{. c #414141", -"]. c #454545", -"^. c #2A2A2A", -"/. c #434343", -"(. c #7C7C7C", -"_. c #5A5A5A", -":. c #121212", -"<. c #2F2F2F", -"[. c #141414", -"}. c #686868", -"|. c #818181", -"1. c #5C5C5C", -"2. c #646464", -"3. c #2D2D2D", -"4. c #050505", -"5. c #151515", -"6. c #575757", -"7. c #636363", -"8. c #555555", -"9. c #6A6A6A", -"0. c #3C3C3C", -"a. c #111111", -"b. c #666666", -"c. c #090909", -"d. c #515151", -"e. c #5B5B5B", -"f. c #5F5F5F", -"g. c #616161", -"h. c #959595", -" . + . @ # $ % ", -" & . * = - ; > . , ' ) % ", -" ! ~ { ] ^ / ( _ : < [ } | 1 $ ", -"2 3 4 5 6 7 8 9 0 a b > c d . ", -"e f g h i 8 9 j a a k l m n o . + . @ # $ % ", -"2 p q r s t u a a a a a v w & . * = - ; > . , ' ) % ", -" 2 x y z A a a a a B C D o ! ~ { ] ^ / ( _ : < [ } | 1 $ ", -" # E F a a a a a k G H 2 3 4 5 6 7 8 9 0 a b > c d . ", -" ! D I J K L M N O e f g h i 8 9 j a a k l m n o ", -" P Q R e S ! 2 p q r s t u a a a a a v w ", -" . + . @ # $ . x y z A a a a a B C D o ", -" & . * = - ; > . , ' T U F a a a a a k G H ", -" ! ~ { ] ^ / ( _ : < [ } | 1 P D I J K L M N O ", -"2 3 4 5 6 7 8 9 0 a b > c d . P Q R e S ! ", -"e f g h i 8 9 j a a k l m n o ", -"2 p q r s t u a a a a a v w ", -" 2 x y z A a a a a B C D o ", -" # E F a a a a a k G H ", -" ! D I J K L M N V R O ", -" P Q R e S W X Y $ Z ` ... ", -" +.@.R #.$. . . .. ", -" %.&.& & *. . .@. ", -" & &.=. -.;.>.,. ", -" R @.'. ).>...+ =. ", -" Y X ~ V !. ~ X ~. ", -" {.;. .]. & ^./. ", -" (.~.~.~.~.~.~.~.~.~.~.~._.:. . .&.~.~.<.[.}.~.~.~.#.! ", -" |.1.2.2.2.2.2.2.2.2.2.!.3.4. . .5.2./.>.6.2.2.2.2.7.8.! ", -" |.1.}.9.9.9.9.9.9.9.9.9.2.0.a.$.b.c.=.9.9.9.9.9.9.}.8.! ", -" |.1.}.9.9.9.9.9.9.9.9.9.9.9.d.9.7.9.9.9.9.9.9.9.9.}.8. ", -" |.e.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.g. ", -" [ h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h. "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRB.xpm deleted file mode 100644 index 1fdcbed7b..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRB.xpm +++ /dev/null @@ -1,55 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActivePlaneRB_xpm[] = { -"32 32 20 1", -" c #B1B1B1", -". c #958F8F", -"+ c #8F8181", -"@ c #908383", -"# c #ACACAC", -"$ c #969595", -"% c #8B7171", -"& c #C52525", -"* c #C22828", -"= c #7C7C7C", -"- c #8A7272", -"; c #DC0909", -"> c #E40000", -", c #DB0B0B", -"' c #887373", -") c #867575", -"! c #986161", -"~ c #887B7B", -"{ c #AAAAAA", -"] c #A1A1A1", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .++++++++++++++++++++++++@# ", -" $%&&&&&&&&&&&&&&&&&&&&&&&*=# ", -" $-;>>>>>>>>>>>>>>>>>>>>>>,=# ", -" $';>>>>>>>>>>>>>>>>>>>>>>,= ", -" $)!!!!!!!!!!!!!!!!!!!!!!!!~ ", -" {]]]]]]]]]]]]]]]]]]]]]]]] ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRBArray.xpm deleted file mode 100644 index ca7b846cc..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActivePlaneRBArray.xpm +++ /dev/null @@ -1,66 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActivePlaneRBArray_xpm[] = { -"32 32 31 1", -" c #B1B1B1", -". c #928787", -"+ c #8B7D7D", -"@ c #8C7E7E", -"# c #8C7D7D", -"$ c #8F8181", -"% c #969696", -"& c #8D7E7E", -"* c #AE4141", -"= c #CB1E1E", -"- c #CC1D1D", -"; c #AC4444", -"> c #8D7F7F", -", c #ADADAD", -"' c #7F7B7B", -") c #E30101", -"! c #E40000", -"~ c #946666", -"{ c #959090", -"] c #948D8D", -"^ c #9C5C5C", -"/ c #DE0707", -"( c #807B7B", -"_ c #7D7B7B", -": c #986161", -"< c #956565", -"[ c #996060", -"} c #7F7A7A", -"| c #AFAFAF", -"1 c #A1A1A1", -"2 c #A2A2A2", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@@@@@@@@@@@#$% ", -" &*===========-;> ", -" ,')!!!!!!!!!!!!~{ ", -" ]^!!!!!!!!!!!!/( ", -" _:<<<<<<<<<<<[}| ", -" 1222222222221| ", -" .+@@@@@@@@@@@#$% ", -" &*===========-;> ", -" ,')!!!!!!!!!!!!~{ ", -" ]^!!!!!!!!!!!!/( ", -" _:<<<<<<<<<<<[}| ", -" 1222222222221| ", -" .+@@@@@@@@@@@#$% ", -" &*===========-;> ", -" ,')!!!!!!!!!!!!~{ ", -" ]^!!!!!!!!!!!!/( ", -" _:<<<<<<<<<<<[}| ", -" 1222222222221| ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveRB.xpm deleted file mode 100644 index 379f2f0eb..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveRB.xpm +++ /dev/null @@ -1,37 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveRB_xpm[] = { -"32 32 2 1", -" c None", -". c #4E36E0", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................"}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRB.xpm deleted file mode 100644 index 701ff3c39..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRB.xpm +++ /dev/null @@ -1,229 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveSphereRB_xpm[] = { -"32 32 194 2", -" c #B1B1B1", -". c #B2AFAF", -"+ c #BAA2A2", -"@ c #BD9C9C", -"# c #BC9A9A", -"$ c #BB9696", -"% c #B69E9E", -"& c #B5ACAC", -"* c #C69696", -"= c #D18686", -"- c #D18181", -"; c #CF7E7E", -"> c #CC7777", -", c #C96D6D", -"' c #C46161", -") c #BE5A5A", -"! c #B57878", -"~ c #B1ABAB", -"{ c #BEA2A2", -"] c #D28989", -"^ c #D38787", -"/ c #D28484", -"( c #CE7C7C", -"_ c #CB7474", -": c #C76969", -"< c #C25A5A", -"[ c #BB4848", -"} c #B43434", -"| c #AC2D2D", -"1 c #AE8D8D", -"2 c #C19E9E", -"3 c #D38888", -"4 c #D08080", -"5 c #CE7A7A", -"6 c #CA7070", -"7 c #C56363", -"8 c #BE5151", -"9 c #B63B3B", -"0 c #AE2323", -"a c #A40A0A", -"b c #A20707", -"c c #AD8686", -"d c #BAA6A6", -"e c #D48989", -"f c #D28686", -"g c #D18383", -"h c #CC7676", -"i c #C86A6A", -"j c #C25B5B", -"k c #BA4545", -"l c #B02A2A", -"m c #A60E0E", -"n c #A10101", -"o c #A20F0F", -"p c #AF9E9E", -"q c #CE8E8E", -"r c #C96E6E", -"s c #BE4F4F", -"t c #B43535", -"u c #A81414", -"v c #A74343", -"w c #BDA2A2", -"x c #CB7272", -"y c #C56262", -"z c #BF5353", -"A c #B73E3E", -"B c #AC1F1F", -"C c #A10303", -"D c #AF9C9C", -"E c #C89494", -"F c #CF7D7D", -"G c #C66565", -"H c #B73D3D", -"I c #AE2525", -"J c #AA6666", -"K c #CC8989", -"L c #D18282", -"M c #C76767", -"N c #BE5050", -"O c #AC1E1E", -"P c #A20404", -"Q c #A74545", -"R c #CF8282", -"S c #C15858", -"T c #B73C3C", -"U c #AB1B1B", -"V c #A20505", -"W c #A63535", -"X c #CC7F7F", -"Y c #C35D5D", -"Z c #BC4A4A", -"` c #B02B2B", -" . c #A63939", -".. c #C87F7F", -"+. c #C86C6C", -"@. c #BD4C4C", -"#. c #A71111", -"$. c #A84949", -"%. c #BF8888", -"&. c #C45F5F", -"*. c #C05656", -"=. c #A91717", -"-. c #AB7373", -";. c #B69C9C", -">. c #BA4444", -",. c #B33232", -"'. c #AA1919", -"). c #A20909", -"!. c #B0A9A9", -"~. c #BA6767", -"{. c #B84040", -"]. c #B23030", -"^. c #A95A5A", -"/. c #B29F9F", -"(. c #B23636", -"_. c #A20303", -":. c #A42222", -"<. c #B0ABAB", -"[. c #AF8C8C", -"}. c #A40E0E", -"|. c #A31A1A", -"1. c #AE9292", -"2. c #A41E1E", -"3. c #B0A5A5", -"4. c #B1AFAF", -"5. c #AB6B6B", -"6. c #A52C2C", -"7. c #7D0101", -"8. c #A63737", -"9. c #AD8383", -"0. c #969696", -"a. c #9C9C9C", -"b. c #A48686", -"c. c #0E0C0C", -"d. c #6F5B5B", -"e. c #ABABAB", -"f. c #737373", -"g. c #2C2C2C", -"h. c #000000", -"i. c #8E8E8E", -"j. c #7F7F7F", -"k. c #080808", -"l. c #6E6E6E", -"m. c #0C0C0C", -"n. c #A2A2A2", -"o. c #4F4F4F", -"p. c #212121", -"q. c #ADADAD", -"r. c #494949", -"s. c #4B4B4B", -"t. c #606060", -"u. c #131313", -"v. c #060606", -"w. c #1D1D1D", -"x. c #7D7D7D", -"y. c #858585", -"z. c #929292", -"A. c #707070", -"B. c #0F0F0F", -"C. c #A0A0A0", -"D. c #797979", -"E. c #626262", -"F. c #6C6C6C", -"G. c #414141", -"H. c #454545", -"I. c #2A2A2A", -"J. c #434343", -"K. c #7C7C7C", -"L. c #5A5A5A", -"M. c #121212", -"N. c #2F2F2F", -"O. c #141414", -"P. c #686868", -"Q. c #A9A9A9", -"R. c #818181", -"S. c #5C5C5C", -"T. c #646464", -"U. c #2D2D2D", -"V. c #050505", -"W. c #151515", -"X. c #575757", -"Y. c #636363", -"Z. c #555555", -"`. c #6A6A6A", -" + c #3C3C3C", -".+ c #111111", -"++ c #666666", -"@+ c #090909", -"#+ c #515151", -"$+ c #5B5B5B", -"%+ c #5F5F5F", -"&+ c #616161", -"*+ c #A5A5A5", -"=+ c #959595", -" . + @ # $ % ", -" & * = - ; > , ' ) ! ~ ", -" { ] ^ / - ( _ : < [ } | 1 ", -" 2 3 3 ^ / 4 5 6 7 8 9 0 a b c ", -" d e 3 3 f g ; h i j k l m n n o p ", -" q 3 3 ^ / 4 5 r ' s t u n n n n v ", -" w 3 ^ ^ / - ( x y z A B n n n n n C D ", -" E f f / - F _ G s H I n n n n n n n J ", -" K g L 4 ( _ M N } O P n n n n n n n Q ", -" R 4 ; 5 _ : S T U V n n n n n n n n W ", -" X 5 > x i Y Z ` a n n n n n n n n n . ", -" ..x +.G j @.t #.n n n n n n n n n n $. ", -" %.M &.*.[ } =.n n n n n n n n n n n -. ", -" ;.j 8 >.,.'.n n n n n n n n n n n ).!. ", -" ~.{.].U n n n n n n n n n n n n ^. ", -" /.(.U _.n n n n n n n n n n n :.<. ", -" [.}.n n n n n n n n n n n |.p ", -" 1.2.n n n n n n n n n W 3. ", -" 4.5.6.n n 7.n b 8.9. 0.a. ", -" <.b.c.d. e.f.g.h.i. ", -" j.k.0. l.m.h.h.h.n. ", -" o.p.q. q.r.h.h.k. ", -" q.p.s. t.u.v.w. ", -" 0.k.x. y.v.i.z.s. ", -" A.B.C.D.E. C.B.F. ", -" G.u.h.H. q.I.J. ", -" K.F.F.F.F.F.F.F.F.F.F.F.L.M.h.h.p.F.F.N.O.P.F.F.F.l.Q. ", -" R.S.T.T.T.T.T.T.T.T.T.E.U.V.h.h.W.T.J.v.X.T.T.T.T.Y.Z.Q. ", -" R.S.P.`.`.`.`.`.`.`.`.`.T. +.+m.++@+s.`.`.`.`.`.`.P.Z.Q. ", -" R.S.P.`.`.`.`.`.`.`.`.`.`.`.#+`.Y.`.`.`.`.`.`.`.`.P.Z. ", -" R.$+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+&+ ", -" *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRBArray.xpm deleted file mode 100644 index 53e28eec5..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateActiveSphereRBArray.xpm +++ /dev/null @@ -1,134 +0,0 @@ -/* XPM */ -static char * dynamicaCreateActiveSphereRBArray_xpm[] = { -"32 32 99 2", -" c #B1B1B1", -". c #B69C9C", -"+ c #B99292", -"@ c #BE7B7B", -"# c #D13232", -"$ c #D81515", -"% c #D51F1F", -"& c #D61B1B", -"* c #C46464", -"= c #BB8989", -"- c #D90F0F", -"; c #BD7F7F", -"> c #B89696", -", c #C56262", -"' c #CD4141", -") c #C17070", -"! c #B79898", -"~ c #DC0202", -"{ c #B2AFAF", -"] c #DB0808", -"^ c #B3A9A9", -"/ c #B5A2A2", -"( c #D71717", -"_ c #B79A9A", -": c #C85555", -"< c #C65C5C", -"[ c #BD8181", -"} c #D13030", -"| c #B69E9E", -"1 c #B4A5A5", -"2 c #C26E6E", -"3 c #DA0A0A", -"4 c #BF7979", -"5 c #DA0C0C", -"6 c #CC4343", -"7 c #BA8C8C", -"8 c #898989", -"9 c #969696", -"0 c #9C9C9C", -"a c #A7A7A7", -"b c #0F0F0F", -"c c #707070", -"d c #ABABAB", -"e c #737373", -"f c #2C2C2C", -"g c #000000", -"h c #8E8E8E", -"i c #7F7F7F", -"j c #080808", -"k c #6E6E6E", -"l c #0C0C0C", -"m c #A2A2A2", -"n c #4F4F4F", -"o c #212121", -"p c #ADADAD", -"q c #494949", -"r c #4B4B4B", -"s c #606060", -"t c #131313", -"u c #060606", -"v c #1D1D1D", -"w c #7D7D7D", -"x c #858585", -"y c #929292", -"z c #A0A0A0", -"A c #797979", -"B c #626262", -"C c #6C6C6C", -"D c #414141", -"E c #454545", -"F c #2A2A2A", -"G c #434343", -"H c #7C7C7C", -"I c #5A5A5A", -"J c #121212", -"K c #2F2F2F", -"L c #141414", -"M c #686868", -"N c #A9A9A9", -"O c #818181", -"P c #5C5C5C", -"Q c #646464", -"R c #2D2D2D", -"S c #050505", -"T c #151515", -"U c #575757", -"V c #636363", -"W c #555555", -"X c #6A6A6A", -"Y c #3C3C3C", -"Z c #111111", -"` c #666666", -" . c #090909", -".. c #515151", -"+. c #5B5B5B", -"@. c #5F5F5F", -"#. c #616161", -"$. c #A5A5A5", -"%. c #959595", -" ", -" . + . + ", -" @ # $ % & * @ # $ % & * ", -" = - ; > % , = - ; > % , ", -" ' ) ! ~ { ' ) ! ~ { ", -" ] ^ % + ] ^ % + ", -" - / ( _ - / ( _ ", -" : < [ } : < [ } ", -" | ~ : . 1 2 3 4 | ~ : . 1 2 3 4 ", -" 1 < $ 5 6 7 1 < $ 5 6 7 ", -" . + . + ", -" @ # $ % & * @ # $ % & * ", -" = - ; > % , = - ; > % , ", -" ' ) ! ~ { ' ) ! ~ { ", -" ] ^ % + ] ^ % + ", -" - / ( _ - / ( _ ", -" : < [ } : < [ } ", -" | ~ : . 1 2 3 4 | ~ : . 1 2 3 4 ", -" 1 < $ 5 6 7 8 1 < $ 5 6 7 9 0 ", -" a b c d e f g h ", -" i j 9 k l g g g m ", -" n o p p q g g j ", -" p o r s t u v ", -" 9 j w x u h y r ", -" c b z A B z b C ", -" D t g E p F G ", -" H C C C C C C C C C C C I J g g o C C K L M C C C k N ", -" O P Q Q Q Q Q Q Q Q Q B R S g g T Q G u U Q Q Q Q V W N ", -" O P M X X X X X X X X X Q Y Z l ` .r X X X X X X M W N ", -" O P M X X X X X X X X X X X ..X V X X X X X X X X M W ", -" O +.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.#. ", -" $.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%. "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateConeTwistConstraint.xpm b/Extras/MayaPlugin/icons/dynamicaCreateConeTwistConstraint.xpm deleted file mode 100644 index ad9592063..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateConeTwistConstraint.xpm +++ /dev/null @@ -1,213 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePinConstraint_xpm[] = { -"32 32 178 2", -" c #B1B1B1", -". c #A8A8A8", -"+ c #A5A5A5", -"@ c #718172", -"# c #6D866F", -"$ c #999999", -"% c #9B9B9B", -"& c #7B9B7E", -"* c #77CF80", -"= c #69846C", -"- c #8F8F8F", -"; c #989898", -"> c #82A185", -", c #88EC91", -"' c #57DD63", -") c #529C59", -"! c #878787", -"~ c #A2A2A2", -"{ c #949494", -"] c #88AA8B", -"^ c #8EED97", -"/ c #58E465", -"( c #23DC34", -"_ c #30B33C", -": c #667A68", -"< c #959595", -"[ c #9E9E9E", -"} c #757C76", -"| c #9BD9A1", -"1 c #87EC90", -"2 c #4BE259", -"3 c #17DA29", -"4 c #04D718", -"5 c #13C624", -"6 c #528C57", -"7 c #8B8B8B", -"8 c #A9A9A9", -"9 c #A6A6A6", -"0 c #717371", -"a c #99CB9E", -"b c #9BEFA3", -"c c #6FE87A", -"d c #30DE40", -"e c #09D71C", -"f c #00D614", -"g c #33A73E", -"h c #8E8E8E", -"i c #93BB97", -"j c #A3F0AA", -"k c #82EB8C", -"l c #49E257", -"m c #15D927", -"n c #01D615", -"o c #28B235", -"p c #419B49", -"q c #508D56", -"r c #9F9F9F", -"s c #89A68C", -"t c #A6F1AD", -"u c #8DED96", -"v c #59E466", -"w c #21DB32", -"x c #24B532", -"y c #858585", -"z c #969696", -"A c #929292", -"B c #809281", -"C c #A7EBAD", -"D c #94EE9C", -"E c #67E773", -"F c #2DDD3D", -"G c #06D119", -"H c #5E8061", -"I c #A0A0A0", -"J c #919191", -"K c #8A8A8A", -"L c #778278", -"M c #A0E2A6", -"N c #99EFA1", -"O c #73E87E", -"P c #3BDF4A", -"Q c #10D923", -"R c #36A441", -"S c #BE0000", -"T c #A20000", -"U c #7C1D14", -"V c #88744E", -"W c #877D52", -"X c #8B8F5F", -"Y c #95CA89", -"Z c #77E982", -"` c #46E155", -" . c #03D617", -".. c #13C424", -"+. c #69766B", -"@. c #AAAAAA", -"#. c #747D74", -"$. c #94D79B", -"%. c #86EC8F", -"&. c #7EEA88", -"*. c #6DE878", -"=. c #47E155", -"-. c #1CDB2E", -";. c #4C9053", -">. c #75C27C", -",. c #7AEA84", -"'. c #74E97F", -"). c #68E774", -"!. c #5AE467", -"~. c #4CE25A", -"{. c #38DF48", -"]. c #1DDB2F", -"^. c #07D71A", -"/. c #23B631", -"(. c #848484", -"_. c #66896A", -":. c #49C955", -"<. c #35DF45", -"[. c #2BDD3C", -"}. c #22DB33", -"|. c #1ADA2C", -"1. c #11D924", -"2. c #09CE1C", -"3. c #5D8160", -"4. c #69786A", -"5. c #32B03E", -"6. c #02D616", -"7. c #2BAF37", -"8. c #898989", -"9. c #A4A4A4", -"0. c #7F7F7F", -"a. c #399141", -"b. c #06D019", -"c. c #24B631", -"d. c #A7A7A7", -"e. c #AFAFAF", -"f. c #BDBDBD", -"g. c #528156", -"h. c #12C223", -"i. c #14C424", -"j. c #6C746C", -"k. c #AEAEAE", -"l. c #EBEBEB", -"m. c #F4F4F4", -"n. c #C2C2C2", -"o. c #697A6A", -"p. c #26AE33", -"q. c #09CE1B", -"r. c #627D64", -"s. c #A3A3A3", -"t. c #C7C7C7", -"u. c #FCFCFC", -"v. c #E6E6E6", -"w. c #DFDFDF", -"x. c #409C48", -"y. c #04D217", -"z. c #6E726F", -"A. c #B0B0B0", -"B. c #F8F8F8", -"C. c #8D8D8D", -"D. c #528B57", -"E. c #1BA610", -"F. c #5B835F", -"G. c #DDDDDD", -"H. c #EAEAEA", -"I. c #880000", -"J. c #B5B5B5", -"K. c #DEDEDE", -"L. c #E9E9E9", -"M. c #A1A1A1", -"N. c #CACACA", -"O. c #DCDCDC", -"P. c #ACACAC", -"Q. c #D8D8D8", -"R. c #C6C6C6", -"S. c #ADADAD", -"T. c #BA0000", -"U. c #BB0000", -" ", -" . + ", -" . @ # $ ", -" % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 ", -" 9 0 a b c d e f f f g h ", -" 7 i j k l m n f o p q r ", -" h s t u v w 4 f x y z r ", -" A B C D E F e f G H I ", -" 8 J - K L M N O P Q n f R h ", -" S S S S S S S S T U V W X Y D Z ` 3 .f ..+.@. ", -" S I #.$.N ^ %.&.*.=.-.4 f f ;.z ", -" S y >.,.'.).!.~.{.].^.f f /.(. ", -" S I _.:.<.[.}.|.1.^.n f 2.3.r ", -" S ; 4.5.^.4 4 6.n f f 7.8. ", -" S 9.0.a.b.f f f f f c.y ", -" S d.e.f.g.h.f f f f i.j.k. ", -" S e.; l.m.n.o.p.f f f q.r.8 ", -" S s.t.u.v.w.; (.x.y.f /.z.A. ", -" S @.~ B.v.w.9 9.A.C.D.E.F.r ", -" S r G.H.w.9.9. $ I.$ ", -" S + J.m.K.s.9. S ", -" S k.$ L.G.M.9. S ", -" S s.N.O.I + S ", -" S P.+ Q.r + S ", -" S ~ R.r 9 S ", -" S S.s.[ P. S ", -" S S S S T.U.S S S S S S S S S S S S ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateHingeConstraint.xpm b/Extras/MayaPlugin/icons/dynamicaCreateHingeConstraint.xpm deleted file mode 100644 index ad9592063..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateHingeConstraint.xpm +++ /dev/null @@ -1,213 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePinConstraint_xpm[] = { -"32 32 178 2", -" c #B1B1B1", -". c #A8A8A8", -"+ c #A5A5A5", -"@ c #718172", -"# c #6D866F", -"$ c #999999", -"% c #9B9B9B", -"& c #7B9B7E", -"* c #77CF80", -"= c #69846C", -"- c #8F8F8F", -"; c #989898", -"> c #82A185", -", c #88EC91", -"' c #57DD63", -") c #529C59", -"! c #878787", -"~ c #A2A2A2", -"{ c #949494", -"] c #88AA8B", -"^ c #8EED97", -"/ c #58E465", -"( c #23DC34", -"_ c #30B33C", -": c #667A68", -"< c #959595", -"[ c #9E9E9E", -"} c #757C76", -"| c #9BD9A1", -"1 c #87EC90", -"2 c #4BE259", -"3 c #17DA29", -"4 c #04D718", -"5 c #13C624", -"6 c #528C57", -"7 c #8B8B8B", -"8 c #A9A9A9", -"9 c #A6A6A6", -"0 c #717371", -"a c #99CB9E", -"b c #9BEFA3", -"c c #6FE87A", -"d c #30DE40", -"e c #09D71C", -"f c #00D614", -"g c #33A73E", -"h c #8E8E8E", -"i c #93BB97", -"j c #A3F0AA", -"k c #82EB8C", -"l c #49E257", -"m c #15D927", -"n c #01D615", -"o c #28B235", -"p c #419B49", -"q c #508D56", -"r c #9F9F9F", -"s c #89A68C", -"t c #A6F1AD", -"u c #8DED96", -"v c #59E466", -"w c #21DB32", -"x c #24B532", -"y c #858585", -"z c #969696", -"A c #929292", -"B c #809281", -"C c #A7EBAD", -"D c #94EE9C", -"E c #67E773", -"F c #2DDD3D", -"G c #06D119", -"H c #5E8061", -"I c #A0A0A0", -"J c #919191", -"K c #8A8A8A", -"L c #778278", -"M c #A0E2A6", -"N c #99EFA1", -"O c #73E87E", -"P c #3BDF4A", -"Q c #10D923", -"R c #36A441", -"S c #BE0000", -"T c #A20000", -"U c #7C1D14", -"V c #88744E", -"W c #877D52", -"X c #8B8F5F", -"Y c #95CA89", -"Z c #77E982", -"` c #46E155", -" . c #03D617", -".. c #13C424", -"+. c #69766B", -"@. c #AAAAAA", -"#. c #747D74", -"$. c #94D79B", -"%. c #86EC8F", -"&. c #7EEA88", -"*. c #6DE878", -"=. c #47E155", -"-. c #1CDB2E", -";. c #4C9053", -">. c #75C27C", -",. c #7AEA84", -"'. c #74E97F", -"). c #68E774", -"!. c #5AE467", -"~. c #4CE25A", -"{. c #38DF48", -"]. c #1DDB2F", -"^. c #07D71A", -"/. c #23B631", -"(. c #848484", -"_. c #66896A", -":. c #49C955", -"<. c #35DF45", -"[. c #2BDD3C", -"}. c #22DB33", -"|. c #1ADA2C", -"1. c #11D924", -"2. c #09CE1C", -"3. c #5D8160", -"4. c #69786A", -"5. c #32B03E", -"6. c #02D616", -"7. c #2BAF37", -"8. c #898989", -"9. c #A4A4A4", -"0. c #7F7F7F", -"a. c #399141", -"b. c #06D019", -"c. c #24B631", -"d. c #A7A7A7", -"e. c #AFAFAF", -"f. c #BDBDBD", -"g. c #528156", -"h. c #12C223", -"i. c #14C424", -"j. c #6C746C", -"k. c #AEAEAE", -"l. c #EBEBEB", -"m. c #F4F4F4", -"n. c #C2C2C2", -"o. c #697A6A", -"p. c #26AE33", -"q. c #09CE1B", -"r. c #627D64", -"s. c #A3A3A3", -"t. c #C7C7C7", -"u. c #FCFCFC", -"v. c #E6E6E6", -"w. c #DFDFDF", -"x. c #409C48", -"y. c #04D217", -"z. c #6E726F", -"A. c #B0B0B0", -"B. c #F8F8F8", -"C. c #8D8D8D", -"D. c #528B57", -"E. c #1BA610", -"F. c #5B835F", -"G. c #DDDDDD", -"H. c #EAEAEA", -"I. c #880000", -"J. c #B5B5B5", -"K. c #DEDEDE", -"L. c #E9E9E9", -"M. c #A1A1A1", -"N. c #CACACA", -"O. c #DCDCDC", -"P. c #ACACAC", -"Q. c #D8D8D8", -"R. c #C6C6C6", -"S. c #ADADAD", -"T. c #BA0000", -"U. c #BB0000", -" ", -" . + ", -" . @ # $ ", -" % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 ", -" 9 0 a b c d e f f f g h ", -" 7 i j k l m n f o p q r ", -" h s t u v w 4 f x y z r ", -" A B C D E F e f G H I ", -" 8 J - K L M N O P Q n f R h ", -" S S S S S S S S T U V W X Y D Z ` 3 .f ..+.@. ", -" S I #.$.N ^ %.&.*.=.-.4 f f ;.z ", -" S y >.,.'.).!.~.{.].^.f f /.(. ", -" S I _.:.<.[.}.|.1.^.n f 2.3.r ", -" S ; 4.5.^.4 4 6.n f f 7.8. ", -" S 9.0.a.b.f f f f f c.y ", -" S d.e.f.g.h.f f f f i.j.k. ", -" S e.; l.m.n.o.p.f f f q.r.8 ", -" S s.t.u.v.w.; (.x.y.f /.z.A. ", -" S @.~ B.v.w.9 9.A.C.D.E.F.r ", -" S r G.H.w.9.9. $ I.$ ", -" S + J.m.K.s.9. S ", -" S k.$ L.G.M.9. S ", -" S s.N.O.I + S ", -" S P.+ Q.r + S ", -" S ~ R.r 9 S ", -" S S.s.[ P. S ", -" S S S S T.U.S S S S S S S S S S S S ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreateNailConstraint.xpm b/Extras/MayaPlugin/icons/dynamicaCreateNailConstraint.xpm deleted file mode 100644 index ad9592063..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreateNailConstraint.xpm +++ /dev/null @@ -1,213 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePinConstraint_xpm[] = { -"32 32 178 2", -" c #B1B1B1", -". c #A8A8A8", -"+ c #A5A5A5", -"@ c #718172", -"# c #6D866F", -"$ c #999999", -"% c #9B9B9B", -"& c #7B9B7E", -"* c #77CF80", -"= c #69846C", -"- c #8F8F8F", -"; c #989898", -"> c #82A185", -", c #88EC91", -"' c #57DD63", -") c #529C59", -"! c #878787", -"~ c #A2A2A2", -"{ c #949494", -"] c #88AA8B", -"^ c #8EED97", -"/ c #58E465", -"( c #23DC34", -"_ c #30B33C", -": c #667A68", -"< c #959595", -"[ c #9E9E9E", -"} c #757C76", -"| c #9BD9A1", -"1 c #87EC90", -"2 c #4BE259", -"3 c #17DA29", -"4 c #04D718", -"5 c #13C624", -"6 c #528C57", -"7 c #8B8B8B", -"8 c #A9A9A9", -"9 c #A6A6A6", -"0 c #717371", -"a c #99CB9E", -"b c #9BEFA3", -"c c #6FE87A", -"d c #30DE40", -"e c #09D71C", -"f c #00D614", -"g c #33A73E", -"h c #8E8E8E", -"i c #93BB97", -"j c #A3F0AA", -"k c #82EB8C", -"l c #49E257", -"m c #15D927", -"n c #01D615", -"o c #28B235", -"p c #419B49", -"q c #508D56", -"r c #9F9F9F", -"s c #89A68C", -"t c #A6F1AD", -"u c #8DED96", -"v c #59E466", -"w c #21DB32", -"x c #24B532", -"y c #858585", -"z c #969696", -"A c #929292", -"B c #809281", -"C c #A7EBAD", -"D c #94EE9C", -"E c #67E773", -"F c #2DDD3D", -"G c #06D119", -"H c #5E8061", -"I c #A0A0A0", -"J c #919191", -"K c #8A8A8A", -"L c #778278", -"M c #A0E2A6", -"N c #99EFA1", -"O c #73E87E", -"P c #3BDF4A", -"Q c #10D923", -"R c #36A441", -"S c #BE0000", -"T c #A20000", -"U c #7C1D14", -"V c #88744E", -"W c #877D52", -"X c #8B8F5F", -"Y c #95CA89", -"Z c #77E982", -"` c #46E155", -" . c #03D617", -".. c #13C424", -"+. c #69766B", -"@. c #AAAAAA", -"#. c #747D74", -"$. c #94D79B", -"%. c #86EC8F", -"&. c #7EEA88", -"*. c #6DE878", -"=. c #47E155", -"-. c #1CDB2E", -";. c #4C9053", -">. c #75C27C", -",. c #7AEA84", -"'. c #74E97F", -"). c #68E774", -"!. c #5AE467", -"~. c #4CE25A", -"{. c #38DF48", -"]. c #1DDB2F", -"^. c #07D71A", -"/. c #23B631", -"(. c #848484", -"_. c #66896A", -":. c #49C955", -"<. c #35DF45", -"[. c #2BDD3C", -"}. c #22DB33", -"|. c #1ADA2C", -"1. c #11D924", -"2. c #09CE1C", -"3. c #5D8160", -"4. c #69786A", -"5. c #32B03E", -"6. c #02D616", -"7. c #2BAF37", -"8. c #898989", -"9. c #A4A4A4", -"0. c #7F7F7F", -"a. c #399141", -"b. c #06D019", -"c. c #24B631", -"d. c #A7A7A7", -"e. c #AFAFAF", -"f. c #BDBDBD", -"g. c #528156", -"h. c #12C223", -"i. c #14C424", -"j. c #6C746C", -"k. c #AEAEAE", -"l. c #EBEBEB", -"m. c #F4F4F4", -"n. c #C2C2C2", -"o. c #697A6A", -"p. c #26AE33", -"q. c #09CE1B", -"r. c #627D64", -"s. c #A3A3A3", -"t. c #C7C7C7", -"u. c #FCFCFC", -"v. c #E6E6E6", -"w. c #DFDFDF", -"x. c #409C48", -"y. c #04D217", -"z. c #6E726F", -"A. c #B0B0B0", -"B. c #F8F8F8", -"C. c #8D8D8D", -"D. c #528B57", -"E. c #1BA610", -"F. c #5B835F", -"G. c #DDDDDD", -"H. c #EAEAEA", -"I. c #880000", -"J. c #B5B5B5", -"K. c #DEDEDE", -"L. c #E9E9E9", -"M. c #A1A1A1", -"N. c #CACACA", -"O. c #DCDCDC", -"P. c #ACACAC", -"Q. c #D8D8D8", -"R. c #C6C6C6", -"S. c #ADADAD", -"T. c #BA0000", -"U. c #BB0000", -" ", -" . + ", -" . @ # $ ", -" % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 ", -" 9 0 a b c d e f f f g h ", -" 7 i j k l m n f o p q r ", -" h s t u v w 4 f x y z r ", -" A B C D E F e f G H I ", -" 8 J - K L M N O P Q n f R h ", -" S S S S S S S S T U V W X Y D Z ` 3 .f ..+.@. ", -" S I #.$.N ^ %.&.*.=.-.4 f f ;.z ", -" S y >.,.'.).!.~.{.].^.f f /.(. ", -" S I _.:.<.[.}.|.1.^.n f 2.3.r ", -" S ; 4.5.^.4 4 6.n f f 7.8. ", -" S 9.0.a.b.f f f f f c.y ", -" S d.e.f.g.h.f f f f i.j.k. ", -" S e.; l.m.n.o.p.f f f q.r.8 ", -" S s.t.u.v.w.; (.x.y.f /.z.A. ", -" S @.~ B.v.w.9 9.A.C.D.E.F.r ", -" S r G.H.w.9.9. $ I.$ ", -" S + J.m.K.s.9. S ", -" S k.$ L.G.M.9. S ", -" S s.N.O.I + S ", -" S P.+ Q.r + S ", -" S ~ R.r 9 S ", -" S S.s.[ P. S ", -" S S S S T.U.S S S S S S S S S S S S ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveBoxRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveBoxRB.xpm deleted file mode 100644 index 24aa70a35..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveBoxRB.xpm +++ /dev/null @@ -1,112 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveBoxRB_xpm[] = { -"32 32 77 1", -" c #B1B1B1", -". c #B0B0B0", -"+ c #979797", -"@ c #808080", -"# c #949494", -"$ c #595959", -"% c #7A7A7A", -"& c #747474", -"* c #939393", -"= c #575757", -"- c #7B7B7B", -"; c #888888", -"> c #A2A2A2", -", c #848484", -"' c #5F5F5F", -") c #323232", -"! c #313131", -"~ c #373737", -"{ c #444444", -"] c #9E9E9E", -"^ c #656565", -"/ c #3D3D3D", -"( c #343434", -"_ c #454545", -": c #4C4C4C", -"< c #303030", -"[ c #2B2B2B", -"} c #202020", -"| c #2C2C2C", -"1 c #4A4A4A", -"2 c #8A8A8A", -"3 c #8C8C8C", -"4 c #ADADAD", -"5 c #434343", -"6 c #262626", -"7 c #797979", -"8 c #4D4D4D", -"9 c #868686", -"0 c #565656", -"a c #101010", -"b c #000000", -"c c #505050", -"d c #020202", -"e c #0E0E0E", -"f c #828282", -"g c #AFAFAF", -"h c #555555", -"i c #161616", -"j c #989898", -"k c #515151", -"l c #0C0C0C", -"m c #686868", -"n c #585858", -"o c #090909", -"p c #060606", -"q c #636363", -"r c #2E2E2E", -"s c #181818", -"t c #909090", -"u c #535353", -"v c #171717", -"w c #6B6B6B", -"x c #919191", -"y c #5E5E5E", -"z c #424242", -"A c #6E6E6E", -"B c #858585", -"C c #4F4F4F", -"D c #080808", -"E c #414141", -"F c #242424", -"G c #1A1A1A", -"H c #3F3F3F", -"I c #9C9C9C", -"J c #666666", -"K c #A5A5A5", -"L c #878787", -" ", -" ", -" ", -" ", -" ", -" . ", -" +@@@@@@@@@@@@@@# ", -" +$%&&&&&&&&&&&&&* ", -" +=$-&&&&&&&&&&&&&* ", -" +==$-&&&&&&&&&&&&&* ", -" +===$;;;;;;;;;;;;;;. ", -" +====;;;;;;;;;;;;;; ", -" +====;;;;;;;;;;;;;; ", -" >,')!~{@;;;;;;;;;;;;; ", -" ]^/(_: c #343434", -", c #454545", -"' c #595959", -") c #626262", -"! c #575757", -"~ c #414141", -"{ c #3A3A3A", -"] c #606060", -"^ c #A0A0A0", -"/ c #8A8A8A", -"( c #8C8C8C", -"_ c #ADADAD", -": c #424242", -"< c #262626", -"[ c #161616", -"} c #646464", -"| c #4D4D4D", -"1 c #141414", -"2 c #000000", -"3 c #686868", -"4 c #323232", -"5 c #010101", -"6 c #080808", -"7 c #4A4A4A", -"8 c #7B7B7B", -"9 c #AFAFAF", -"0 c #6E6E6E", -"a c #0D0D0D", -"b c #989898", -"c c #515151", -"d c #0C0C0C", -"e c #676767", -"f c #050505", -"g c #818181", -"h c #2E2E2E", -"i c #181818", -"j c #2F2F2F", -"k c #1D1D1D", -"l c #696969", -"m c #0E0E0E", -"n c #808080", -"o c #383838", -"p c #555555", -"q c #909090", -"r c #979797", -"s c #020202", -"t c #1F1F1F", -"u c #0F0F0F", -"v c #525252", -"w c #9C9C9C", -"x c #A5A5A5", -"y c #4C4C4C", -"z c #B0B0B0", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ....... ....... ", -" . . . . ", -" . . . . ", -" . . . . ", -" +@#$%#&* . . . ", -" =-;>,')%!~{]^. . . ", -" /!(_ ...:<[,}|...... ", -" #123 ", -" .....45267..... _89", -" . 0a22! . bcd3 ", -" . .ef6= . gh22i9 ", -" . . jkl . (m22n ", -" . . .8opq_.re6s~ ", -" . . . ^]jtujvw$x ", -" ....... ......yz ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRB.xpm deleted file mode 100644 index 14e2dce47..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRB.xpm +++ /dev/null @@ -1,159 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveHullRB_xpm[] = { -"32 32 124 2", -" c #B1B1B1", -". c #9D9D9D", -"+ c #989898", -"@ c #A4A4A4", -"# c #ABABAB", -"$ c #838383", -"% c #565656", -"& c #5D5D5D", -"* c #575757", -"= c #525252", -"- c #636363", -"; c #6E6E6E", -"> c #797979", -", c #8B8B8B", -"' c #979797", -") c #A2A2A2", -"! c #A9A9A9", -"~ c #7C7C7C", -"{ c #5A5A5A", -"] c #747474", -"^ c #727272", -"/ c #B3B3B3", -"( c #919191", -"_ c #8C8C8C", -": c #939393", -"< c #888888", -"[ c #787878", -"} c #696969", -"| c #5E5E5E", -"1 c #626262", -"2 c #6D6D6D", -"3 c #8F8F8F", -"4 c #959595", -"5 c #ACACAC", -"6 c #A7A7A7", -"7 c #7A7A7A", -"8 c #595959", -"9 c #ADADAD", -"0 c #828282", -"a c #AFAFAF", -"b c #C2C2C2", -"c c #858585", -"d c #8E8E8E", -"e c #A8A8A8", -"f c #9F9F9F", -"g c #949494", -"h c #606060", -"i c #A5A5A5", -"j c #808080", -"k c #818181", -"l c #BBBBBB", -"m c #AAAAAA", -"n c #8D8D8D", -"o c #C0C0C0", -"p c #5F5F5F", -"q c #848484", -"r c #9B9B9B", -"s c #9C9C9C", -"t c #B0B0B0", -"u c #BCBCBC", -"v c #868686", -"w c #5C5C5C", -"x c #767676", -"y c #969696", -"z c #B6B6B6", -"A c #C1C1C1", -"B c #B5B5B5", -"C c #7F7F7F", -"D c #707070", -"E c #7B7B7B", -"F c #B7B7B7", -"G c #8A8A8A", -"H c #9E9E9E", -"I c #444444", -"J c #1F1F1F", -"K c #383838", -"L c #2E2E2E", -"M c #414141", -"N c #6B6B6B", -"O c #484848", -"P c #3F3F3F", -"Q c #6A6A6A", -"R c #999999", -"S c #646464", -"T c #7E7E7E", -"U c #4F4F4F", -"V c #4A4A4A", -"W c #373737", -"X c #545454", -"Y c #161616", -"Z c #000000", -"` c #6C6C6C", -" . c #7D7D7D", -".. c #BFBFBF", -"+. c #030303", -"@. c #151515", -"#. c #B9B9B9", -"$. c #BDBDBD", -"%. c #585858", -"&. c #A3A3A3", -"*. c #202020", -"=. c #B4B4B4", -"-. c #515151", -";. c #0C0C0C", -">. c #686868", -",. c #717171", -"'. c #080808", -"). c #BABABA", -"!. c #A0A0A0", -"~. c #181818", -"{. c #737373", -"]. c #0E0E0E", -"^. c #676767", -"/. c #323232", -"(. c #363636", -"_. c #474747", -":. c #020202", -"<. c #666666", -"[. c #909090", -"}. c #5B5B5B", -"|. c #555555", -"1. c #292929", -"2. c #212121", -"3. c #2F2F2F", -" ", -" ", -" ", -" ", -" ", -" ", -" . + @ ", -" # $ % & * = - ; > , ' ) ", -" ! ~ { ] ^ ! / ( _ : < [ } | = 1 2 [ , 3 4 5 ", -" 6 7 8 7 6 9 0 a b , 0 $ c < d e f g 7 h | * & 5 ", -" i [ { j @ ( k [ < a b l a 9 m e f n f ~ / o p ; 5 ", -" a & q r 4 > s t u b b b b b b b b b v r c # b k w 5 ", -" @ { x < y z b b b b b b b b b b b b t k # 7 A B | d ", -" ( | e C } D ; E + F b b b b b b b b b G n r b _ { a ", -" H I J K L M N ; p O P Q a b b b b b b b / R A b S T ", -" G U V + 0 : b b b b i p W 9 ; o b b b b b b b m X 5 ", -" 7 1 t a b b b b b b E Y Z ^ b b b b b b b Q ` ", -" t { ...b b b b b b E +.Z @.#.b b b b $.E %.i 9 E a ", -" $ Q &.b b b b b b > *.Z Z h b b b =.; 8 ) + -.;.>. ", -" e * < b b b b b b b b ,.;.'.9 b ).D %.!.k L Z Z ~.a ", -" ^ D R b b b b b b b b x *.{.).{.* H _ ].Z Z j ", -" f ^.{ {. b b b b b b b j /.(._.R ' ^.'.:.M ", -" s <.% x + [.G C ^ ^.}.|.L 1.J 2.3.= s <.i ", -" s } = | 1 N ] 0 g H a 5 t ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRBArray.xpm deleted file mode 100644 index ac98065f7..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveHullRBArray.xpm +++ /dev/null @@ -1,125 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveHullRBArray_xpm[] = { -"32 32 90 1", -" c #B1B1B1", -". c #ADADAD", -"+ c #878787", -"@ c #707070", -"# c #797979", -"$ c #838383", -"% c #909090", -"& c #9C9C9C", -"* c #A6A6A6", -"= c #ABABAB", -"- c #6D6D6D", -"; c #818181", -"> c #A0A0A0", -", c #858585", -"' c #787878", -") c #737373", -"! c #747474", -"~ c #777777", -"{ c #7D7D7D", -"] c #979797", -"^ c #6E6E6E", -"/ c #848484", -"( c #A8A8A8", -"_ c #ACACAC", -": c #989898", -"< c #646464", -"[ c #727272", -"} c #9D9D9D", -"| c #8E8E8E", -"1 c #9E9E9E", -"2 c #959595", -"3 c #7B7B7B", -"4 c #808080", -"5 c #828282", -"6 c #AFAFAF", -"7 c #9B9B9B", -"8 c #666666", -"9 c #656565", -"0 c #8B8B8B", -"a c #A7A7A7", -"b c #8D8D8D", -"c c #717171", -"d c #2F2F2F", -"e c #232323", -"f c #424242", -"g c #595959", -"h c #626262", -"i c #575757", -"j c #414141", -"k c #2E2E2E", -"l c #3C3C3C", -"m c #8A8A8A", -"n c #919191", -"o c #888888", -"p c #7F7F7F", -"q c #5F5F5F", -"r c #535353", -"s c #323232", -"t c #545454", -"u c #7A7A7A", -"v c #141414", -"w c #000000", -"x c #A9A9A9", -"y c #020202", -"z c #0F0F0F", -"A c #484848", -"B c #AAAAAA", -"C c #515151", -"D c #0C0C0C", -"E c #686868", -"F c #3B3B3B", -"G c #0B0B0B", -"H c #080808", -"I c #181818", -"J c #6C6C6C", -"K c #1D1D1D", -"L c #696969", -"M c #8C8C8C", -"N c #0E0E0E", -"O c #383838", -"P c #555555", -"Q c #676767", -"R c #606060", -"S c #1F1F1F", -"T c #212121", -"U c #525252", -"V c #A5A5A5", -"W c #B0B0B0", -"X c #898989", -"Y c #AEAEAE", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@#$%&*= ", -" =+-;>&%,')!~{ ", -" ]^/( _:< ", -" [} /| .+@#$%&*= ", -" @1 =^==+-;>&%,')!~{ ", -" 23 45]^/( _:< ", -" 6@7/@89@0abc.[} /| ", -" 19defgh&%,')Avwwf-5nop)@B:CDE ", -" ]^/( _:FGH1 ;kwwI6 ", -" [} /|JKL MNww4 ", -" @1 =^= 3OP%. ]QHyj ", -" 23 45 >RdSTdU&8V ", -" 6@x bc. _W ", -" X'x |^_ ", -" Y,-5nop)@B ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRB.xpm deleted file mode 100644 index d47cc35f5..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRB.xpm +++ /dev/null @@ -1,152 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveMeshRB_xpm[] = { -"32 32 117 2", -" c #B1B1B1", -". c #A5A5A5", -"+ c #929292", -"@ c #8C8C8C", -"# c #9F9F9F", -"$ c #AEAEAE", -"% c #858585", -"& c #9B9B9B", -"* c #9E9E9E", -"= c #8E8E8E", -"- c #A0A0A0", -"; c #AAAAAA", -"> c #A6A6A6", -", c #ADADAD", -"' c #8F8F8F", -") c #919191", -"! c #979797", -"~ c #838383", -"{ c #868686", -"] c #848484", -"^ c #ACACAC", -"/ c #999999", -"( c #8D8D8D", -"_ c #949494", -": c #969696", -"< c #A3A3A3", -"[ c #AFAFAF", -"} c #9C9C9C", -"| c #A1A1A1", -"1 c #A7A7A7", -"2 c #A9A9A9", -"3 c #959595", -"4 c #888888", -"5 c #909090", -"6 c #9D9D9D", -"7 c #9A9A9A", -"8 c #8B8B8B", -"9 c #A8A8A8", -"0 c #727272", -"a c #616161", -"b c #606060", -"c c #5E5E5E", -"d c #696969", -"e c #7F7F7F", -"f c #989898", -"g c #878787", -"h c #898989", -"i c #7B7B7B", -"j c #565656", -"k c #313131", -"l c #2D2D2D", -"m c #343434", -"n c #444444", -"o c #595959", -"p c #5B5B5B", -"q c #4E4E4E", -"r c #3A3A3A", -"s c #515151", -"t c #7A7A7A", -"u c #6C6C6C", -"v c #7C7C7C", -"w c #8A8A8A", -"x c #6B6B6B", -"y c #464646", -"z c #282828", -"A c #828282", -"B c #B0B0B0", -"C c #585858", -"D c #101010", -"E c #000000", -"F c #808080", -"G c #787878", -"H c #6F6F6F", -"I c #636363", -"J c #505050", -"K c #4C4C4C", -"L c #545454", -"M c #020202", -"N c #0D0D0D", -"O c #656565", -"P c #4B4B4B", -"Q c #6D6D6D", -"R c #797979", -"S c #767676", -"T c #757575", -"U c #494949", -"V c #131313", -"W c #4F4F4F", -"X c #555555", -"Y c #0C0C0C", -"Z c #686868", -"` c #6A6A6A", -" . c #676767", -".. c #646464", -"+. c #626262", -"@. c #050505", -"#. c #030303", -"$. c #434343", -"%. c #818181", -"&. c #2E2E2E", -"*. c #181818", -"=. c #777777", -"-. c #5D5D5D", -";. c #525252", -">. c #2C2C2C", -",. c #0E0E0E", -"'. c #393939", -"). c #202020", -"!. c #3D3D3D", -"~. c #7E7E7E", -"{. c #080808", -"]. c #414141", -"^. c #6E6E6E", -"/. c #666666", -"(. c #2F2F2F", -"_. c #1F1F1F", -":. c #212121", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" . + @ # ", -" $ % & * = - ; > , ", -" $ = # . @ = ' ) + ! ; * ~ { { ] , ", -" ^ / ( % ( # . # / ! _ + = : < { + ' % ~ $ ", -" [ . } { ! | 1 2 > < | # } / ! 3 4 | ) + 5 ] ! $ ", -" 6 ] @ _ < 2 2 1 . | # } & 7 ! 3 _ ) = , % 5 % 8 ", -" 9 4 ' 0 a b c d e : & f ! : 3 _ + + + g : h ~ i & ", -" * j k l m n o p q r k s ] ) 5 5 ' = = @ 4 ~ t u v 1 ", -" w s x ) g @ & 7 f 3 i y z v q 4 4 % A i 0 d b c A B ", -" : g @ ( ) ) 5 ' @ w C D E q F G H I C J K 0 6 ", -" # ~ { { g 4 g % ] L M E N u O C P P q Q : , i [ ", -" 3 e i t R G S T U V E E l W P P X v / f s Y Z ", -" < e 0 Q ` ...+.a c m @.#.$.P J v * %.&.E E *.[ ", -" : =.+.-.C L ;.W P P &.Y >.s R 7 @ ,.E E F ", -" , : G -.q P P P P P P '.).!.~., ! .{.M ]. ", -" * F ^./.I I /.u T e h -.(._.:.(.;.} /.. ", -" $ - / ! ! / * > $ ^ B ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRBArray.xpm deleted file mode 100644 index e645432d2..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveMeshRBArray.xpm +++ /dev/null @@ -1,128 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveMeshRBArray_xpm[] = { -"32 32 93 2", -" c #B1B1B1", -". c #898989", -"+ c #616161", -"@ c #ACACAC", -"# c #AEAEAE", -"$ c #A3A3A3", -"% c #A7A7A7", -"& c #8A8A8A", -"* c #525252", -"= c #656565", -"- c #565656", -"; c #515151", -"> c #8E8E8E", -", c #545454", -"' c #9C9C9C", -") c #868686", -"! c #535353", -"~ c #5A5A5A", -"{ c #606060", -"] c #686868", -"^ c #676767", -"/ c #646464", -"( c #909090", -"_ c #585858", -": c #636363", -"< c #A0A0A0", -"[ c #989898", -"} c #555555", -"| c #5B5B5B", -"1 c #696969", -"2 c #626262", -"3 c #707070", -"4 c #595959", -"5 c #666666", -"6 c #A8A8A8", -"7 c #5D5D5D", -"8 c #808080", -"9 c #979797", -"0 c #575757", -"a c #505050", -"b c #AFAFAF", -"c c #5F5F5F", -"d c #787878", -"e c #A2A2A2", -"f c #848484", -"g c #2D2D2D", -"h c #393939", -"i c #4C4C4C", -"j c #7B7B7B", -"k c #B0B0B0", -"l c #9E9E9E", -"m c #3D3D3D", -"n c #343434", -"o c #454545", -"p c #444444", -"q c #282828", -"r c #222222", -"s c #3C3C3C", -"t c #717171", -"u c #9D9D9D", -"v c #8C8C8C", -"w c #ADADAD", -"x c #323232", -"y c #878787", -"z c #303030", -"A c #0D0D0D", -"B c #000000", -"C c #020202", -"D c #090909", -"E c #6E6E6E", -"F c #171717", -"G c #4D4D4D", -"H c #0C0C0C", -"I c #3A3A3A", -"J c #030303", -"K c #040404", -"L c #5E5E5E", -"M c #424242", -"N c #1F1F1F", -"O c #181818", -"P c #4B4B4B", -"Q c #353535", -"R c #0E0E0E", -"S c #2C2C2C", -"T c #6B6B6B", -"U c #7D7D7D", -"V c #080808", -"W c #414141", -"X c #2F2F2F", -"Y c #212121", -"Z c #A5A5A5", -"` c #8B8B8B", -" . c #6D6D6D", -" ", -" ", -" ", -" ", -" ", -" . + . @ # $ $ ", -" % & * = - ; ; & > , , $ ", -" ' ) ! ~ { ] ^ = / - ( _ : , < ", -" [ } | = 1 1 1 1 1 1 2 ; : ~ & ", -" 3 + 4 5 1 1 1 1 1 1 ] 2 ^ * 6 ", -" [ } { ] 1 1 1 1 1 1 1 1 7 8 ", -" 9 0 1 1 1 1 1 1 1 1 ~ a 6 ", -" b a c 1 1 1 1 1 ] ~ d . + . @ # $ $ ", -" e f 3 | g h i 7 + 7 } j k % & * = - ; ; & > , , $ ", -" l = m n o 4 2 / p q r s t u ' ) ! ~ { ] ^ = / - ( _ : , < ", -" & 0 v w 9 0 x y z ~ = 1 1 1 1 1 1 2 ; : ~ & ", -" 3 A B n 5 1 1 1 1 1 1 ] 2 ^ * 6 ", -" . + . @ # 3 C B D : 1 1 1 1 1 1 1 1 7 8 w j b ", -" % & * = - ; ; & E F B B z 1 1 1 1 1 1 1 ~ o G H ] ", -" ' ) ! ~ { ] ^ = / - ( _ I J K L 1 1 1 1 ] M N B B O b ", -" [ } | = 1 1 1 1 1 1 2 ; : ~ P A Q + : + 7 } + R B B 8 ", -" 3 + 4 5 1 1 1 1 1 1 ] 2 ^ * 6 j S Q } T U ) ^ V C W ", -" [ } { ] 1 1 1 1 1 1 1 1 7 8 < { X N Y X * ' 5 Z ", -" 9 0 1 1 1 1 1 1 1 1 ~ a 6 @ k ", -" b a c 1 1 1 1 1 ] ~ d ", -" u a ~ + : + 7 } j k ", -" ` .1 E U u ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRB.xpm deleted file mode 100644 index efa4f18e2..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRB.xpm +++ /dev/null @@ -1,108 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassivePlaneRB_xpm[] = { -"32 32 73 1", -" c #B1B1B1", -". c #A2A2A2", -"+ c #848484", -"@ c #707070", -"# c #666666", -"$ c #656565", -"% c #8B8B8B", -"& c #A7A7A7", -"* c #9E9E9E", -"= c #3D3D3D", -"- c #343434", -"; c #454545", -"> c #595959", -", c #626262", -"' c #646464", -") c #575757", -"! c #414141", -"~ c #3A3A3A", -"{ c #606060", -"] c #A0A0A0", -"^ c #8A8A8A", -"/ c #8C8C8C", -"( c #ADADAD", -"_ c #979797", -": c #323232", -"< c #AFAFAF", -"[ c #7C7C7C", -"} c #6C6C6C", -"| c #0C0C0C", -"1 c #000000", -"2 c #404040", -"3 c #6E6E6E", -"4 c #A9A9A9", -"5 c #818181", -"6 c #5C5C5C", -"7 c #010101", -"8 c #0B0B0B", -"9 c #5F5F5F", -"0 c #636363", -"a c #555555", -"b c #7B7B7B", -"c c #686868", -"d c #6A6A6A", -"e c #424242", -"f c #111111", -"g c #272727", -"h c #3E3E3E", -"i c #070707", -"j c #050505", -"k c #4D4D4D", -"l c #1B1B1B", -"m c #5B5B5B", -"n c #0F0F0F", -"o c #383838", -"p c #4B4B4B", -"q c #616161", -"r c #A5A5A5", -"s c #959595", -"t c #676767", -"u c #2F2F2F", -"v c #484848", -"w c #797979", -"x c #919191", -"y c #7F7F7F", -"z c #565656", -"A c #020202", -"B c #363636", -"C c #1F1F1F", -"D c #212121", -"E c #525252", -"F c #9C9C9C", -"G c #ACACAC", -"H c #B0B0B0", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@#$@%& ", -" *$=-;>,')!~{] ", -" ^)/( _):*'< ", -" [}}}}}}}}}}}};|12}}}}}}}}34 ", -" 56'''''''''''27189'''''''0a4(b<", -" 56cdddddddddef11-dddddddd>g|c ", -" 56cddddddddddhij9dddddkl11|< ", -" 5m99999999999~no99999pi11;q ", -" rsssssssssssstuvwxsyziABs ", -" ]{uCDuEF#r ", -" GH ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRBArray.xpm deleted file mode 100644 index 5ab692e26..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassivePlaneRBArray.xpm +++ /dev/null @@ -1,117 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassivePlaneRBArray_xpm[] = { -"32 32 82 1", -" c #B1B1B1", -". c #6E6E6E", -"+ c #5F5F5F", -"@ c #616161", -"# c #606060", -"$ c #666666", -"% c #7E7E7E", -"& c #626262", -"* c #6D6D6D", -"= c #636363", -"- c #A9A9A9", -"; c #4E4E4E", -"> c #767676", -", c #777777", -"' c #5B5B5B", -") c #787878", -"! c #757575", -"~ c #5E5E5E", -"{ c #747474", -"] c #505050", -"^ c #4D4D4D", -"/ c #5C5C5C", -"( c #5D5D5D", -"_ c #4F4F4F", -": c #ADADAD", -"< c #868686", -"[ c #6F6F6F", -"} c #565656", -"| c #555555", -"1 c #8C8C8C", -"2 c #959595", -"3 c #929292", -"4 c #9E9E9E", -"5 c #656565", -"6 c #3D3D3D", -"7 c #343434", -"8 c #454545", -"9 c #595959", -"0 c #646464", -"a c #575757", -"b c #414141", -"c c #3A3A3A", -"d c #3C3C3C", -"e c #8A8A8A", -"f c #979797", -"g c #303030", -"h c #1B1B1B", -"i c #3E3E3E", -"j c #6C6C6C", -"k c #323232", -"l c #0E0E0E", -"m c #000000", -"n c #464646", -"o c #4A4A4A", -"p c #010101", -"q c #0D0D0D", -"r c #717171", -"s c #7B7B7B", -"t c #AFAFAF", -"u c #2D2D2D", -"v c #2B2B2B", -"w c #060606", -"x c #090909", -"y c #858585", -"z c #272727", -"A c #181818", -"B c #151515", -"C c #696969", -"D c #808080", -"E c #383838", -"F c #909090", -"G c #676767", -"H c #080808", -"I c #020202", -"J c #2F2F2F", -"K c #1F1F1F", -"L c #212121", -"M c #525252", -"N c #9C9C9C", -"O c #A5A5A5", -"P c #ACACAC", -"Q c #B0B0B0", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@@@@@@@@@@@#$% ", -" &@************@= ", -" -;>,,,,,,,,,,,,') ", -" !~,,,,,,,,,,,,{] ", -" ^/'''''''''''(_: ", -" <[~}|+!122223: ", -" 456789&0abcd}@@@@@@@@@@@#$% ", -" ea1: fgh@ij*********@= ", -" -klmn,,,,,,,,,,') ", -" opmqr,,,,,,,,,{;st", -" .qmmu'''''''';vw$ ", -" |xwy22222*zmmAt ", -" .+@@@@@@@@@@@#iBC 1lmmD ", -" &@************@8E|F: fGHIb ", -" -;>,,,,,,,,,,,,'j#JKLJMN$O ", -" !~,,,,,,,,,,,,{] PQ ", -" ^/'''''''''''(_: ", -" 3222222222223: ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveRB.xpm deleted file mode 100644 index 82ccb9496..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveRB.xpm +++ /dev/null @@ -1,37 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveRB_xpm[] = { -"32 32 2 1", -" c None", -". c #E0AE36", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................", -"................................"}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRB.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRB.xpm deleted file mode 100644 index 467eca862..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRB.xpm +++ /dev/null @@ -1,177 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveSphereRB_xpm[] = { -"32 32 142 2", -" c #B1B1B1", -". c #ADADAD", -"+ c #ABABAB", -"@ c #AEAEAE", -"# c #A8A8A8", -"$ c #A5A5A5", -"% c #B2B2B2", -"& c #B6B6B6", -"* c #B5B5B5", -"= c #A4A4A4", -"- c #AAAAAA", -"; c #B0B0B0", -"> c #A9A9A9", -", c #C3C3C3", -"' c #D4D4D4", -") c #D5D5D5", -"! c #D3D3D3", -"~ c #D2D2D2", -"{ c #D0D0D0", -"] c #CDCDCD", -"^ c #C7C7C7", -"/ c #D6D6D6", -"( c #CFCFCF", -"_ c #CBCBCB", -": c #C2C2C2", -"< c #BABABA", -"[ c #A7A7A7", -"} c #B9B9B9", -"| c #D1D1D1", -"1 c #CECECE", -"2 c #CACACA", -"3 c #C5C5C5", -"4 c #BFBFBF", -"5 c #B8B8B8", -"6 c #C8C8C8", -"7 c #BBBBBB", -"8 c #A0A0A0", -"9 c #A2A2A2", -"0 c #C6C6C6", -"a c #BEBEBE", -"b c #9F9F9F", -"c c #939393", -"d c #929292", -"e c #ACACAC", -"f c #B3B3B3", -"g c #C1C1C1", -"h c #838383", -"i c #767676", -"j c #9D9D9D", -"k c #AFAFAF", -"l c #7C7C7C", -"m c #797979", -"n c #777777", -"o c #848484", -"p c #A3A3A3", -"q c #C4C4C4", -"r c #CCCCCC", -"s c #A1A1A1", -"t c #919191", -"u c #808080", -"v c #727272", -"w c #6B6B6B", -"x c #8A8A8A", -"y c #9E9E9E", -"z c #656565", -"A c #3D3D3D", -"B c #343434", -"C c #414141", -"D c #626262", -"E c #707070", -"F c #737373", -"G c #646464", -"H c #4B4B4B", -"I c #424242", -"J c #6E6E6E", -"K c #BCBCBC", -"L c #8E8E8E", -"M c #7A7A7A", -"N c #666666", -"O c #5E5E5E", -"P c #575757", -"Q c #8C8C8C", -"R c #5F5F5F", -"S c #363636", -"T c #8D8D8D", -"U c #606060", -"V c #4F4F4F", -"W c #676767", -"X c #747474", -"Y c #141414", -"Z c #000000", -"` c #696969", -" . c #5C5C5C", -".. c #505050", -"+. c #4E4E4E", -"@. c #6A6A6A", -"#. c #020202", -"$. c #0F0F0F", -"%. c #6F6F6F", -"&. c #565656", -"*. c #717171", -"=. c #7B7B7B", -"-. c #A6A6A6", -";. c #9B9B9B", -">. c #979797", -",. c #151515", -"'. c #2E2E2E", -"). c #858585", -"!. c #989898", -"~. c #515151", -"{. c #0C0C0C", -"]. c #686868", -"^. c #909090", -"/. c #898989", -"(. c #828282", -"_. c #383838", -":. c #050505", -"<. c #030303", -"[. c #464646", -"}. c #525252", -"|. c #181818", -"1. c #7E7E7E", -"2. c #535353", -"3. c #2F2F2F", -"4. c #0D0D0D", -"5. c #0E0E0E", -"6. c #545454", -"7. c #191919", -"8. c #262626", -"9. c #3F3F3F", -"0. c #4C4C4C", -"a. c #888888", -"b. c #080808", -"c. c #959595", -"d. c #595959", -"e. c #2B2B2B", -"f. c #101010", -"g. c #1D1D1D", -"h. c #9C9C9C", -"i. c #969696", -"j. c #818181", -"k. c #636363", -" ", -" ", -" ", -" ", -" ", -" . + + + @ ", -" @ # $ % & & * . = - ; ", -" > > , ' ) ! ~ { ] ^ * = - ", -" ; > & ) / / ) ! ~ ( _ ^ : < [ > ", -" > } / / / / ' ! | 1 2 3 4 5 $ - ", -" + ; ! ' ) / ) ' ~ { ] 6 : 7 % > 8 9 @ ", -" = _ ! ! ' ' ' ! | 1 _ 0 a * + b c d # ", -" e f | | ~ ! ! ~ | 1 _ ^ g 5 . 8 d h i j k ", -" 9 l m n i o p q ( r 6 0 : < @ s t u v w x + ", -" y z A B C D E F G H I J f g K 5 @ b L M J N O n # ", -" x P Q . p q 3 0 0 0 # R S = z + 8 T i w U P V W [ ", -" = K a a a a K < X Y Z U t n ` ...+.+.` [ ", -" $ % f % ; @ e @.#.Z $.%.z &.+.+.+.+.*.> . =.k ", -" > # -.9 y ;.>.d &.,.Z Z '.+.+.+.+.+.+.).e !.~.{.]. ", -" . 9 !.^./.(.M F J W _.:.<.[.+.+.+.+.}.X '.Z Z |.k ", -" [ ^.1.X %.@.G .2.+.3.4.3.+.+.+.+.m ).5.Z Z u ", -" e j X @.G .6.+.+.+.+.S 7.8.9.0.O a.N b.#.C ", -" - c.z d...+.+.+.+.+.+.[.e.Y f.g.'.}.h.N $ ", -" > i.O +.+.+.+.+.+.+.+.+.W j -.; ", -" + 9 j.k.+.+.+.+.~.].T [ . ", -" + -.8 d d c p [ . ", -" @ @ @ ", -" ", -" ", -" ", -" ", -" "}; diff --git a/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRBArray.xpm b/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRBArray.xpm deleted file mode 100644 index b2178c14f..000000000 --- a/Extras/MayaPlugin/icons/dynamicaCreatePassiveSphereRBArray.xpm +++ /dev/null @@ -1,122 +0,0 @@ -/* XPM */ -static char * dynamicaCreatePassiveSphereRBArray_xpm[] = { -"32 32 87 1", -" c #B1B1B1", -". c #A6A6A6", -"+ c #A0A0A0", -"@ c #949494", -"# c #6D6D6D", -"$ c #5D5D5D", -"% c #636363", -"& c #616161", -"* c #888888", -"= c #9C9C9C", -"- c #5A5A5A", -"; c #969696", -"> c #A2A2A2", -", c #878787", -"' c #757575", -") c #8E8E8E", -"! c #A4A4A4", -"~ c #535353", -"{ c #B0B0B0", -"] c #565656", -"^ c #ADADAD", -"/ c #A9A9A9", -"( c #5E5E5E", -"_ c #A5A5A5", -": c #848484", -"< c #606060", -"[ c #5C5C5C", -"} c #656565", -"| c #707070", -"1 c #8B8B8B", -"2 c #A7A7A7", -"3 c #979797", -"4 c #6C6C6C", -"5 c #808080", -"6 c #838383", -"7 c #9E9E9E", -"8 c #3D3D3D", -"9 c #343434", -"0 c #454545", -"a c #585858", -"b c #525252", -"c c #5B5B5B", -"d c #424242", -"e c #434343", -"f c #AAAAAA", -"g c #8D8D8D", -"h c #939393", -"i c #8A8A8A", -"j c #575757", -"k c #8C8C8C", -"l c #595959", -"m c #323232", -"n c #646464", -"o c #AFAFAF", -"p c #767676", -"q c #9D9D9D", -"r c #141414", -"s c #000000", -"t c #686868", -"u c #020202", -"v c #131313", -"w c #7B7B7B", -"x c #545454", -"y c #1D1D1D", -"z c #2C2C2C", -"A c #989898", -"B c #515151", -"C c #0C0C0C", -"D c #676767", -"E c #121212", -"F c #060606", -"G c #2E2E2E", -"H c #181818", -"I c #1F1F1F", -"J c #696969", -"K c #7E7E7E", -"L c #0E0E0E", -"M c #787878", -"N c #383838", -"O c #555555", -"P c #909090", -"Q c #080808", -"R c #414141", -"S c #2F2F2F", -"T c #494949", -"U c #666666", -"V c #929292", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+ .+ ", -" @#$%&* @#$%&* ", -" =-; >%, =-; >%, ", -" ') !~{ ') !~{ ", -" ]^ %+ ]^ %+ ", -" -/ (_ -/ (_ ", -" >:<[}|1234 56 34 ", -" 7}890abc]de~, 2~5.fgah ", -" ijk^ f6$l4]m7nof6$lpq ", -" .+ |rst .+ ", -" @#$%&*|usvg#$%&* ^wo", -" =-; >%xyssz; >%, ABCt ", -" ') !~{DEF7 !~5GssHo ", -" ]^ %+ ~IJ %KLss5 ", -" -/ (_ -MNOP^ cnQuR ", -" 56 34 56+ c #82A185", -", c #88EC91", -"' c #57DD63", -") c #529C59", -"! c #878787", -"~ c #A2A2A2", -"{ c #949494", -"] c #88AA8B", -"^ c #8EED97", -"/ c #58E465", -"( c #23DC34", -"_ c #30B33C", -": c #667A68", -"< c #959595", -"[ c #9E9E9E", -"} c #757C76", -"| c #9BD9A1", -"1 c #87EC90", -"2 c #4BE259", -"3 c #17DA29", -"4 c #04D718", -"5 c #13C624", -"6 c #528C57", -"7 c #8B8B8B", -"8 c #A9A9A9", -"9 c #A6A6A6", -"0 c #717371", -"a c #99CB9E", -"b c #9BEFA3", -"c c #6FE87A", -"d c #30DE40", -"e c #09D71C", -"f c #00D614", -"g c #33A73E", -"h c #8E8E8E", -"i c #93BB97", -"j c #A3F0AA", -"k c #82EB8C", -"l c #49E257", -"m c #15D927", -"n c #01D615", -"o c #28B235", -"p c #419B49", -"q c #508D56", -"r c #9F9F9F", -"s c #89A68C", -"t c #A6F1AD", -"u c #8DED96", -"v c #59E466", -"w c #21DB32", -"x c #24B532", -"y c #858585", -"z c #969696", -"A c #929292", -"B c #809281", -"C c #A7EBAD", -"D c #94EE9C", -"E c #67E773", -"F c #2DDD3D", -"G c #06D119", -"H c #5E8061", -"I c #A0A0A0", -"J c #919191", -"K c #8A8A8A", -"L c #778278", -"M c #A0E2A6", -"N c #99EFA1", -"O c #73E87E", -"P c #3BDF4A", -"Q c #10D923", -"R c #36A441", -"S c #BE0000", -"T c #A20000", -"U c #7C1D14", -"V c #88744E", -"W c #877D52", -"X c #8B8F5F", -"Y c #95CA89", -"Z c #77E982", -"` c #46E155", -" . c #03D617", -".. c #13C424", -"+. c #69766B", -"@. c #AAAAAA", -"#. c #747D74", -"$. c #94D79B", -"%. c #86EC8F", -"&. c #7EEA88", -"*. c #6DE878", -"=. c #47E155", -"-. c #1CDB2E", -";. c #4C9053", -">. c #75C27C", -",. c #7AEA84", -"'. c #74E97F", -"). c #68E774", -"!. c #5AE467", -"~. c #4CE25A", -"{. c #38DF48", -"]. c #1DDB2F", -"^. c #07D71A", -"/. c #23B631", -"(. c #848484", -"_. c #66896A", -":. c #49C955", -"<. c #35DF45", -"[. c #2BDD3C", -"}. c #22DB33", -"|. c #1ADA2C", -"1. c #11D924", -"2. c #09CE1C", -"3. c #5D8160", -"4. c #69786A", -"5. c #32B03E", -"6. c #02D616", -"7. c #2BAF37", -"8. c #898989", -"9. c #A4A4A4", -"0. c #7F7F7F", -"a. c #399141", -"b. c #06D019", -"c. c #24B631", -"d. c #A7A7A7", -"e. c #AFAFAF", -"f. c #BDBDBD", -"g. c #528156", -"h. c #12C223", -"i. c #14C424", -"j. c #6C746C", -"k. c #AEAEAE", -"l. c #EBEBEB", -"m. c #F4F4F4", -"n. c #C2C2C2", -"o. c #697A6A", -"p. c #26AE33", -"q. c #09CE1B", -"r. c #627D64", -"s. c #A3A3A3", -"t. c #C7C7C7", -"u. c #FCFCFC", -"v. c #E6E6E6", -"w. c #DFDFDF", -"x. c #409C48", -"y. c #04D217", -"z. c #6E726F", -"A. c #B0B0B0", -"B. c #F8F8F8", -"C. c #8D8D8D", -"D. c #528B57", -"E. c #1BA610", -"F. c #5B835F", -"G. c #DDDDDD", -"H. c #EAEAEA", -"I. c #880000", -"J. c #B5B5B5", -"K. c #DEDEDE", -"L. c #E9E9E9", -"M. c #A1A1A1", -"N. c #CACACA", -"O. c #DCDCDC", -"P. c #ACACAC", -"Q. c #D8D8D8", -"R. c #C6C6C6", -"S. c #ADADAD", -"T. c #BA0000", -"U. c #BB0000", -" ", -" . + ", -" . @ # $ ", -" % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 ", -" 9 0 a b c d e f f f g h ", -" 7 i j k l m n f o p q r ", -" h s t u v w 4 f x y z r ", -" A B C D E F e f G H I ", -" 8 J - K L M N O P Q n f R h ", -" S S S S S S S S T U V W X Y D Z ` 3 .f ..+.@. ", -" S I #.$.N ^ %.&.*.=.-.4 f f ;.z ", -" S y >.,.'.).!.~.{.].^.f f /.(. ", -" S I _.:.<.[.}.|.1.^.n f 2.3.r ", -" S ; 4.5.^.4 4 6.n f f 7.8. ", -" S 9.0.a.b.f f f f f c.y ", -" S d.e.f.g.h.f f f f i.j.k. ", -" S e.; l.m.n.o.p.f f f q.r.8 ", -" S s.t.u.v.w.; (.x.y.f /.z.A. ", -" S @.~ B.v.w.9 9.A.C.D.E.F.r ", -" S r G.H.w.9.9. $ I.$ ", -" S + J.m.K.s.9. S ", -" S k.$ L.G.M.9. S ", -" S s.N.O.I + S ", -" S P.+ Q.r + S ", -" S ~ R.r 9 S ", -" S S.s.[ P. S ", -" S S S S T.U.S S S S S S S S S S S S ", -" ", -" "}; diff --git a/Extras/MayaPlugin/install.bat b/Extras/MayaPlugin/install.bat deleted file mode 100644 index 8ae077548..000000000 --- a/Extras/MayaPlugin/install.bat +++ /dev/null @@ -1,3 +0,0 @@ -xcopy /S /Y /C /I /h icons\*.xpm "C:\Program Files\Autodesk\Maya8.5\icons" -xcopy /S /Y /C /I /h scripts\*.mel "C:\Program Files\Autodesk\Maya8.5\scripts" -xcopy /S /Y /C /I /h BulletMayaPluginDebug.mll "C:\Program Files\Autodesk\Maya8.5\bin\plug-ins" diff --git a/Extras/MayaPlugin/mathUtils.h b/Extras/MayaPlugin/mathUtils.h deleted file mode 100644 index 3f2bb0619..000000000 --- a/Extras/MayaPlugin/mathUtils.h +++ /dev/null @@ -1,184 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//mathUtils.h - -#ifndef DYN_MATH_UTILS_H -#define DYN_MATH_UTILS_H - -#include "mvl/vec.h" -#include "mvl/mat.h" -#include "mvl/quat.h" -using namespace mvl; - -typedef vec vec3f; -typedef vec vec4f; -typedef mat mat4x4f; -typedef mat mat3x3f; -typedef vec quatf; - -template -inline T deg2rad(T x) { return x * T(3.141592654 / 180.0); } - -template -inline T rad2deg(T x) { return x * T(180.0 / 3.141592654); } - - -template -inline T clamp(T x, T min, T max) -{ - if(x < min) return min; - if(x > max) return max; - return x; -} - -template -inline T sqr(T x) { - return x * x; -} - - -// A must be a symmetric matrix. -// returns quaternion q such that its corresponding matrix Q -// can be used to Diagonalize A -//Diagonal matrix D = Q^T * A * Q; and A = Q*D*Q^T -// The colums of q are the eigenvectors D's diagonal is the eigenvalues -// As per 'column' convention if float3x3 Q = q.getmatrix(); then Q*v = q*v*conj(q) -template -vec diagonalizer(const mat &A) -{ - const int maxsteps = 24; // certainly wont need that many. - - typedef vec vec3_t; - typedef vec quat_t; - typedef mat mat3x3_t; - quat_t q(qidentity()); - for(int i = 0; i < maxsteps; ++i) - { - mat3x3_t Q; - q_to_mat(q, Q); // Q*v == q*v*conj(q) - mat3x3_t D = prod(trans(Q), mat3x3_t(prod(A, Q))); // A = Q^T*D*Q - vec3_t offdiag(D(2, 1), D(2, 0), D(1, 0)); // elements not on the diagonal - vec3_t om(fabs(offdiag[0]), fabs(offdiag[1]), fabs(offdiag[2])); // mag of each offdiag elem - int k = (om[0] > om[1] && om[0] > om[2]) ? 0 : (om[1] > om[2]) ? 1 : 2; // index of largest element of offdiag - int k1 = (k + 1) % 3; - int k2 = (k + 2) % 3; - if(offdiag[k] == T()) break; // diagonal already - T thet = (D(k2, k2) - D(k1, k1)) / (T(2.0) * offdiag[k]); - T sgn = (thet > 0.0f) ? T(1.0) : T(-1.0); - thet *= sgn; // make it positive - T t = sgn / (thet + ((thet < T(1.E6)) ? sqrtf(sqr(thet) + T(1.0)) : thet)) ; // sign(T)/(|T|+sqrt(T^2+1)) - T c = T(1.0) / sqrtf(sqr(t) + T(1.0)); // c= 1/(t^2+1) , t=s/c - if(c == T(1.0)) break; // no room for improvement - reached machine precision. - quat_t jr(0,0,0,0); // jacobi rotation for this iteration. - jr[1 + k] = sgn * sqrtf((T(1.0) - c) / T(2.0)); // using 1/2 angle identity sin(a/2) = sqrt((1-cos(a))/2) - jr[1 + k] *= -T(1.0); // since our quat-to-matrix convention was for v*M instead of M*v - jr[0] = sqrtf(T(1.0) - sqr(jr[1 + k])); - if(jr[0] == T(1.0)) break; // reached limits of floating point precision - q = qprod(q, jr); - q = normalize(q); - } - return q; -} - -template -inline T determinant(vec const& v0, vec const& v1, vec const& v2) -{ - return dot(v0, cross(v1, v2)); -} - -template -T volume(vec const* vertices, int const* indices, const int num_indices) -{ - // count is the number of triangles (tris) - T volume = T(); - for(int i = 0; i < num_indices / 3; i++) { // for each triangle - volume += determinant(vertices[indices[i * 3 + 0]], - vertices[indices[i * 3 + 1]], - vertices[indices[i * 3 + 2]]); - } - return volume / T(6.0); // since the determinant give 6 times tetra volume -} - -template -vec center_of_mass(vec const* vertices, int const* indices, int num_indices) -{ - // count is the number of triangles (tris) - vec com(0, 0, 0); - - T volume = 0; // actually accumulates the volume*6 - for(int i = 0; i < num_indices / 3; i++) // for each triangle - { - T vol = determinant(vertices[indices[i * 3 + 0]], - vertices[indices[i * 3 + 1]], - vertices[indices[i * 3 + 2]]); - com += vol * (vertices[indices[i * 3 + 0]] + vertices[indices[i * 3 + 1]] + vertices[indices[i * 3 + 2]]); - volume += vol; - } - com /= volume * 4.0f; - return com; -} - -template -mat inertia(vec const* vertices, int const* indices, int num_indices, vec com = vec(0, 0, 0)) -{ - typedef vec vec3_t; - typedef mat mat3x3_t; - // count is the number of triangles (tris) - // The moments are calculated based on the center of rotation com which is [0,0,0] by default - // assume mass==1.0 you can multiply by mass later. - // for improved accuracy the next 3 variables, the determinant d, and its calculation should be changed to double - T volume = 0; // technically this variable accumulates the volume times 6 - vec3_t diag(0,0,0); // accumulate matrix main diagonal integrals [x*x, y*y, z*z] - vec3_t offd(0,0,0); // accumulate matrix off-diagonal integrals [y*z, x*z, x*y] - - for(int i=0; i < num_indices / 3; i++) // for each triangle - { - vec3_t const &v0(vertices[indices[i * 3 + 0]]); - vec3_t const &v1(vertices[indices[i * 3 + 1]]); - vec3_t const &v2(vertices[indices[i * 3 + 2]]); - mat3x3_t A(v0[0] - com[0], v0[1] - com[1], v0[2] - com[2], - v1[0] - com[0], v1[1] - com[1], v1[2] - com[2], - v2[0] - com[0], v2[1] - com[1], v2[2] - com[2]); - // vol of tiny parallelapiped= d * dr * ds * dt (the 3 partials of my tetral triple integral equation) - T d = determinant(vec(A(0, 0), A(1, 0), A(2, 0)), - vec(A(0, 1), A(1, 1), A(2, 1)), - vec(A(0, 2), A(1, 2), A(2, 2))); - volume +=d; // add vol of current tetra (note it could be negative - that's ok we need that sometimes) - for(int j = 0; j < 3; ++j) { - int j1=(j+1)%3; - int j2=(j+2)%3; - diag[j] += (A(0, j) * A(1, j) + A(1, j) * A(2, j) + A(2, j) * A(0, j) + - A(0, j) * A(0, j) + A(1, j) * A(1, j) + A(2, j) * A(2, j) ) * d; // divide by 60.0f later; - offd[j] += (A(0, j1) * A(1, j2) + A(1, j1) * A(2, j2) + A(2, j1) * A(0, j2) + - A(0, j1) * A(2, j2) + A(1, j1) * A(0, j2) + A(2, j1) * A(1, j2) + - A(0, j1) * A(0, j2) * T(2) + A(1, j1) * A(1, j2) * T(2) + A(2, j1) * A(2, j2) * T(2)) *d; // divide by 120.0f later - } - } - diag /= volume * (T(60.0) / T(6.0)); // divide by total volume (vol/6) since density=1/volume - offd /= volume * (T(120.0) / T(6.0)); - return mat3x3_t(diag[1] + diag[2] , -offd[2] , -offd[1], - -offd[2] , diag[0] + diag[2], -offd[0], - -offd[1] , -offd[0] , diag[0] + diag[1] ); -} - -#endif diff --git a/Extras/MayaPlugin/mayaUtils.h b/Extras/MayaPlugin/mayaUtils.h deleted file mode 100644 index 8960366c9..000000000 --- a/Extras/MayaPlugin/mayaUtils.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//mayaUtils.h - -#ifndef DYN_MAYA_UTILS_H -#define DYN_MAYA_UTILS_H - -#define MCHECKSTATUS(status, context) \ - { \ - if(!status) { \ - std::cout << "maya error: " << status.errorString().asChar() \ - << " while: " << context << std::endl; \ - return status; \ - } \ - } - -#endif - diff --git a/Extras/MayaPlugin/mesh_shape.h b/Extras/MayaPlugin/mesh_shape.h deleted file mode 100644 index cceac8dc1..000000000 --- a/Extras/MayaPlugin/mesh_shape.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -12/24/2009 : Nail constraint improvements - -*/ - -//mesh_shape.h - -#ifndef DYN_MESH_SHAPE_H -#define DYN_MESH_SHAPE_H - -#include "collision_shape.h" -#include "collision_shape_impl.h" - -class mesh_shape_t: public collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - -protected: - friend class solver_t; - - mesh_shape_t(collision_shape_impl_t* impl): collision_shape_t(impl) { } - -}; - -#endif diff --git a/Extras/MayaPlugin/mesh_shape_impl.h b/Extras/MayaPlugin/mesh_shape_impl.h deleted file mode 100644 index 6aacf6ed6..000000000 --- a/Extras/MayaPlugin/mesh_shape_impl.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//mesh_shape_impl.h - -#ifndef DYN_MESH_SHAPE_IMPL_H -#define DYN_MESH_SHAPE_IMPL_H - -#include "collision_shape_impl.h" - -class mesh_shape_impl_t: public collision_shape_impl_t -{ -public: - //typedefs - -private: - -}; - -#endif diff --git a/Extras/MayaPlugin/mvl/base.h b/Extras/MayaPlugin/mvl/base.h deleted file mode 100644 index f0d181cc7..000000000 --- a/Extras/MayaPlugin/mvl/base.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//base.h - -#ifndef MVL_BASE_H -#define MVL_BASE_H - -namespace mvl { - - - -} //namespace mvl - -#endif - diff --git a/Extras/MayaPlugin/mvl/mat.h b/Extras/MayaPlugin/mvl/mat.h deleted file mode 100644 index 0d327b4a0..000000000 --- a/Extras/MayaPlugin/mvl/mat.h +++ /dev/null @@ -1,399 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//mat.h - -#ifndef MVL_MAT_H -#define MVL_MAT_H - -#include -#include "base.h" -#include "traits.h" - -namespace mvl { - -template -class mat -{ -public: - typedef T value_type; - typedef T& reference; - typedef T const& const_reference; - typedef T* iterator; - typedef T const* const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - -public: - enum { - Rows = R, - Cols = C, - Size = Rows * Cols, - }; - -public: - //constructors - explicit mat() {} - - template - mat(mat const& m) - { - *this = m; - } - - explicit mat(value_type val) - { - for(int i = 0; i < Size; ++i){ - m_data[i] = val; - } - } - - explicit mat(value_type m00, value_type m01, - value_type m10, value_type m11) - { - operator()(0, 0) = m00; operator()(0, 1) = m01; - operator()(1, 0) = m10; operator()(1, 1) = m11; - } - - explicit mat(value_type m00, value_type m01, value_type m02, - value_type m10, value_type m11, value_type m12, - value_type m20, value_type m21, value_type m22) - { - operator()(0, 0) = m00; operator()(0, 1) = m01; operator()(0, 2) = m02; - operator()(1, 0) = m10; operator()(1, 1) = m11; operator()(1, 2) = m12; - operator()(2, 0) = m20; operator()(2, 1) = m21; operator()(2, 2) = m22; - } - - explicit mat(value_type m00, value_type m01, value_type m02, value_type m03, - value_type m10, value_type m11, value_type m12, value_type m13, - value_type m20, value_type m21, value_type m22, value_type m23, - value_type m30, value_type m31, value_type m32, value_type m33) - { - operator()(0, 0) = m00; operator()(0, 1) = m01; operator()(0, 2) = m02; operator()(0, 3) = m03; - operator()(1, 0) = m10; operator()(1, 1) = m11; operator()(1, 2) = m12; operator()(1, 3) = m13; - operator()(2, 0) = m20; operator()(2, 1) = m21; operator()(2, 2) = m22; operator()(2, 3) = m23; - operator()(3, 0) = m30; operator()(3, 1) = m31; operator()(3, 2) = m32; operator()(3, 3) = m33; - } - -public: - //data access - value_type operator()(std::size_t i, std::size_t j) const { return m_data[j * Rows + i]; } - reference operator()(std::size_t i, std::size_t j) { return m_data[j * Rows + i]; } - -public: - //stl - static std::size_t size() { return Size; } - static std::size_t max_size() { return Size; } - static bool empty() { return false; } - - iterator begin() { return m_data; } - iterator end() { return m_data + Size; } - const_iterator begin() const { return m_data; } - const_iterator end() const { return m_data + Size; } - reverse_iterator rbegin() { return reverse_iterator(end()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - - value_type front() { return m_data[0]; } - value_type back() { return m_data[Size - 1]; } - const_reference front() const { return m_data[0]; } - const_reference back() const { return m_data[Size - 1]; } - - friend std::ostream& operator << (std::ostream& out, mat const& m) { - out << "("; - for(size_t i = 0; i < Rows - 1; i++) { - for(size_t j = 0; j < Cols; j++) { - out << m(i, j) << ", "; - } - out << std::endl; - } - for(size_t j = 0; j < Cols - 1; j++) { - out << m(Rows - 1, j) << ", "; - } - out << m(Rows - 1, Cols - 1) << ")"; - return out; - } - -public: - // - mat& operator=(mat const& rhs) { - std::copy(rhs.begin(),rhs.end(), begin()); - return *this; - } - - template - mat& operator=(mat const& rhs) { - std::copy(rhs.begin(),rhs.end(), begin()); - return *this; - } - -private: - //data is stored in column major order, so the matrix can passed directly to the graphics APIs - T m_data[Size]; -}; - -//assignment operators -// OP(mat, mat) -// OP(mat, T) - -#define MAT_IMPLEMENT_MACRO(OP) \ -template \ -inline \ -mat& \ -operator OP(mat& lhs, mat const& rhs) { \ - for(int i = 0; i < C * R; ++i) { \ - lhs[i] OP rhs[i]; \ - } \ - return lhs; \ -} \ - \ -template \ -inline \ -mat& \ -operator OP(mat& lhs, typename mat::value_type const& rhs) { \ - for(int i = 0; i < C * R; ++i) { \ - lhs[i] OP rhs[i]; \ - } \ - return lhs; \ -} \ - -MAT_IMPLEMENT_MACRO(+=) -MAT_IMPLEMENT_MACRO(-=) -MAT_IMPLEMENT_MACRO(*=) -MAT_IMPLEMENT_MACRO(/=) - -#undef MAT_IMPLEMENT_MACRO - -//operator + (mat, mat) -template -inline -mat::value_type, R, C> -operator + (mat const& lhs, mat const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) + rhs(i, j); - } - } - return res; -} - -//operator - (mat, mat) -template -inline -mat::value_type, R, C> -operator - (mat const& lhs, mat const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) - rhs(i, j); - } - } - return res; -} - -//operator * (mat, POD) -template -inline -mat::value_type, R, C> -operator * (mat const& lhs, T2 const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) * rhs; - } - } - return res; -} - -//operator * (POD, mat) -template -inline -mat::value_type, R, C> -operator * (T1 const& lhs, mat const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs * rhs(i, j); - } - } - return res; -} - -//operator / (mat, POD) -template -inline -mat::value_type, R, C> -operator / (mat const& lhs, T2 const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) / rhs; - } - } - return res; -} - -//element_prod(mat, mat) -template -inline -mat::value_type, R, C> -element_prod(mat const& lhs, mat const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) * rhs(i, j); - } - } - return res; -} - -//element_div(mat, mat) -template -inline -mat::value_type, R, C> -element_div(mat const& lhs, mat const& rhs) { - mat::value_type, R, C> res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = lhs(i, j) / rhs(i, j); - } - } - return res; -} - -//unary operator -(mat) -template -inline -mat -operator -(mat const& rhs) { - mat res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = -rhs(i, j); - } - } - return res; -} - -//matrix transpose -template -inline -mat -trans(mat const& rhs) { - mat res; - for(int i = 0; i < R ; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = rhs(j, i); - } - } - return res; -} - -//identity matrix -template -inline -mat -identity() { - mat res; - for(int i = 0; i < Sz ; ++i) { - for(int j = 0; j < Sz; ++j) { - res(i, j) = i == j ? 1 : 0; - } - } - return res; -} - -//matrix diagonal as vector (for square matrices) -template -inline -vec -diag(mat const& rhs) { - vec res; - for(int i = 0; i < N; ++i) { - res[i] = rhs(i, i); - } - return res; -} - -//matrix row as vector -template -inline -vec -row(mat const& rhs, std::size_t r) { - vec res; - for(int i = 0; i < C; ++i) { - res[i] = rhs(r, i); - } - return res; -} - -//matrix column as vector -template -inline -vec -col(mat const& rhs, std::size_t c) { - vec res; - for(int i = 0; i < R; ++i) { - res[i] = rhs(i, c); - } - return res; -} - - -//matrix-matrix product -template -inline -mat::value_type, R1, C2> -prod(mat const& lhs, mat const& rhs) { - mat::value_type, R1, C2> res; - for(int i = 0; i < R1; ++i) { - for(int j = 0; j < C2; ++j) { - res(i, j) = 0; - for(int k = 0; k < C1; ++k) { - res(i, j) += lhs(i, k) * rhs(k, j); - } - } - } - return res; -} - -//matrix - column vector product -template -inline -vec::value_type, R> -prod(mat const& lhs, vec const& rhs) { - vec::value_type, R> res; - for(int i = 0; i < R; ++i) { - res(i) = 0; - for(int j = 0; j < C; ++j) { - res(i) += lhs(i, j) * rhs(j); - } - } - return res; -} - - -} // namespace mvl - -#endif diff --git a/Extras/MayaPlugin/mvl/quat.h b/Extras/MayaPlugin/mvl/quat.h deleted file mode 100644 index 02c7c2d57..000000000 --- a/Extras/MayaPlugin/mvl/quat.h +++ /dev/null @@ -1,279 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//quat.h - -#ifndef MVL_QUAT_H -#define MVL_QUAT_H - -#include - -#include "vec.h" -#include "mat.h" - -//quaternions are vectors of size 4 -// it's assumed that the layout is in the form (w, (x, y, z)), -// so that the identity quaternion is (1, 0, 0, 0) - -namespace mvl { - -//quaternion conjugate -template -inline vec -qconj(vec const& rhs) { - return vec(-rhs[0], rhs[1], rhs[2], rhs[3]); -} - -//quaternion identity -template -inline -vec -qidentity() { - return vec(1, 0, 0, 0); -} - -//quaternion - quaternion product -template -inline -vec::value_type, 4> -qprod(vec const& lhs, vec const& rhs) { - typedef typename promote_traits::value_type value_type; - return vec((lhs(0)*rhs(0)) - (lhs(1)*rhs(1)) - (lhs(2)*rhs(2)) - (lhs(3)*rhs(3)), - (lhs(0)*rhs(1)) + (lhs(1)*rhs(0)) + (lhs(2)*rhs(3)) - (lhs(3)*rhs(2)), - (lhs(0)*rhs(2)) - (lhs(1)*rhs(3)) + (lhs(2)*rhs(0)) + (lhs(3)*rhs(1)), - (lhs(0)*rhs(3)) + (lhs(1)*rhs(2)) - (lhs(2)*rhs(1)) + (lhs(3)*rhs(0))); -} - -//quanternion - vector product (rotation) -template -inline -vec::value_type, 3> -qprod(vec const& q, vec const& v) { - typedef typename promote_traits::value_type value_type; - vec tmp = qprod(qprod(q, vec(0, v[0], v[1], v[2])), qconj(q)); - return vec(tmp[0], tmp[1], tmp[2]); -} - -//spherical interpolation between q0 and q1 -template -inline -vec::value_type, 4> -qslerp(vec const& q1, vec const& q2, T3 t) { - typedef typename promote_traits::value_type value_type; - value_type omega, cosom, sinom, scale0, scale1; - vec tmp; - - cosom = dot(q1, q2); - - if (cosom < static_cast(0.0)) { - cosom = -cosom; - tmp = -q2; - } else { - tmp = q2; - } - - if ((static_cast(1.0) - cosom) > std::numeric_limits::epsilon()) { - omega = (value_type) acos(cosom); - sinom = sin(omega); - scale0 = sin((static_cast(1.0) - t) * omega) / sinom; - scale1 = sin(t * omega) / sinom; - } else { - scale0 = static_cast(1.0) - t; - scale1 = t; - } - - return scale0 * q1 + scale1 * tmp; -} - -//init quaternion from axis-angle -template -inline -vec::value_type, 4> -q_from_axis_angle(vec const& axis, T2 theta) { - typedef typename promote_traits::value_type value_type; - value_type sin_theta = sin(static_cast(static_cast(0.5)) * theta); - return vec(cos(static_cast(static_cast(0.5)) * theta), - sin_theta * axis[0], - sin_theta * axis[1], - sin_theta * axis[2]); -} - -//get the axis/angle from quaternion -template -inline -void -q_to_axis_angle(vec const& q, vec& axis, T3& theta) -{ - T3 half_theta= acos(q[0]); - - if(half_theta > 10 * std::numeric_limits::epsilon()) { - T3 oost = 1 / sin(half_theta); - - axis[0] = oost * q[1]; - axis[1] = oost * q[2]; - axis[2] = oost * q[3]; - theta = 2 * half_theta; - } else { - axis[0] = axis[1] = axis[2] = 0; - theta = 0; - } -} - -//init quaternion from rotation matrix -template -inline -vec -q_from_mat(mat const& m) { - T1 trace, s, hos; - trace = m(0, 0) + m(1, 1) + m(2, 2); - if (trace > static_cast(0.0)) { - s = sqrt(trace + static_cast(1.0)); - hos = static_cast(0.5) / s; - return vec(s * static_cast(0.5), (m(2, 1) - m(1, 2)) * hos, (m(0, 2) - m(2, 0)) * hos, (m(1, 0) - m(0, 1)) * hos); - } else { - int biggest; - enum {A,T,I}; - if (m(0, 0) > m(1, 1)) { - if (m(2, 2) > m(0, 0)) biggest = I; - else biggest = A; - } else { - if (m(2, 2) > m(0, 0)) biggest = I; - else biggest = T; - } - switch (biggest) { - case A: - s = sqrt( m(0, 0) - (m(1, 1) + m(2, 2)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(2, 1) - m(1, 2)) * hos, s * static_cast(0.5), (m(0, 1) + m(1, 0)) * hos, (m(0, 2) + m(2, 0)) * hos); - } - // I - s = sqrt( m(2, 2) - (m(0, 0) + m(1, 1)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(1, 0) - m(0, 1)) * hos, (m(2, 0) + m(0, 2)) * hos, (m(2, 1) + m(1, 2)) * hos, s * static_cast(0.5)); - } - // T - s = sqrt( m(1, 1) - (m(2, 2) + m(0, 0)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(0, 2) - m(2, 0)) * hos, (m(1, 0) + m(0, 1)) * hos, s * static_cast(0.5), (m(1, 2) + m(2, 1)) * hos); - } - break; - case T: - s = sqrt( m(1, 1) - (m(2, 2) + m(0, 0)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(0, 2) - m(2, 0)) * hos, (m(1, 0) + m(0, 1)) * hos, s * static_cast(0.5), (m(1, 2) + m(2, 1)) * hos); - } - // I - s = sqrt( m(2, 2) - (m(0, 0) + m(1, 1)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(1, 0) - m(0, 1)) * hos, (m(2, 0) + m(0, 2)) * hos, (m(2, 1) + m(1, 2)) * hos, s * static_cast(0.5)); - } - // A - s = sqrt( m(0, 0) - (m(1, 1) + m(2, 2)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(2, 1) - m(1, 2)) * hos, s * static_cast(0.5), (m(0, 1) + m(1, 0)) * hos, (m(0, 2) + m(2, 0)) * hos); - } - break; - case I: - s = sqrt( m(2, 2) - (m(0, 0) + m(1, 1)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(1, 0) - m(0, 1)) * hos, (m(2, 0) + m(0, 2)) * hos, (m(2, 1) + m(1, 2)) * hos, s * static_cast(0.5)); - } - // A - s = sqrt( m(0, 0) - (m(1, 1) + m(2, 2)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(2, 1) - m(1, 2)) * hos, s * static_cast(0.5), (m(0, 1) + m(1, 0)) * hos, (m(0, 2) + m(2, 0)) * hos); - } - // T - s = sqrt( m(1, 1) - (m(2, 2) + m(0, 0)) + static_cast(1.0)); - if (s > (100 * std::numeric_limits::epsilon())) { - hos = static_cast(0.5) / s; - return vec((m(0, 2) - m(2, 0)) * hos, (m(1, 0) + m(0, 1)) * hos, s * static_cast(0.5), (m(1, 2) + m(2, 1)) * hos); - } - break; - } - } -} - -//get rotation matrix from quaternion -template -inline -void -q_to_mat(vec const& q, mat& m) { - T X2,Y2,Z2; //2*QX, 2*QY, 2*QZ - T XX2,YY2,ZZ2; //2*QX*QX, 2*QY*QY, 2*QZ*QZ - T XY2,XZ2,XW2; //2*QX*QY, 2*QX*QZ, 2*QX*QW - T YZ2,YW2,ZW2; // ... - - X2 = 2 * q[1]; - XX2 = X2 * q[1]; - XY2 = X2 * q[2]; - XZ2 = X2 * q[3]; - XW2 = X2 * q[0]; - - Y2 = 2 * q[2]; - YY2 = Y2 * q[2]; - YZ2 = Y2 * q[3]; - YW2 = Y2 * q[0]; - - Z2 = 2 * q[3]; - ZZ2 = Z2 * q[3]; - ZW2 = Z2 * q[0]; - - m(0, 0) = 1 - YY2 - ZZ2; - m(0, 1) = XY2 - ZW2; - m(0, 2) = XZ2 + YW2; - - m(1, 0) = XY2 + ZW2; - m(1, 1) = 1 - XX2 - ZZ2; - m(1, 2) = YZ2 - XW2; - - m(2, 0) = XZ2 - YW2; - m(2, 1) = YZ2 + XW2; - m(2, 2) = 1 - XX2 - YY2; - -} - -template -mat -cmat(T const* m) -{ - mat res; - for(int i = 0; i < R; ++i) { - for(int j = 0; j < C; ++j) { - res(i, j) = m[i * C + j]; - } - } - return res; -} - -} //namespace mvl - - -#endif diff --git a/Extras/MayaPlugin/mvl/traits.h b/Extras/MayaPlugin/mvl/traits.h deleted file mode 100644 index 824840ae1..000000000 --- a/Extras/MayaPlugin/mvl/traits.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//traits.h - -#ifndef MVL_TRAITS_H -#define MVL_TRAITS_H - -namespace mvl { - -//simple promotion for now - -//check if a type is a POD -template -struct isPOD { enum { value = false }; }; -template<> struct isPOD { enum { value = true }; }; -template<> struct isPOD { enum { value = true }; }; -template<> struct isPOD { enum { value = true }; }; -template<> struct isPOD { enum { value = true }; }; -template<> struct isPOD { enum { value = true }; }; -template<> struct isPOD { enum { value = true }; }; - -// -template struct ifThenElse { typedef T2 value_type; }; -template struct ifThenElse { typedef T1 value_type; }; - -template -struct promote_traits -{ - typedef typename ifThenElse::value, T2, T1>::value_type value_type; -}; - -template -struct promote_traits -{ - typedef T value_type; -}; - -#define TRAITS_DEFINE_MACRO(T1, T2, TP) \ -template<> \ -struct promote_traits \ -{ \ - typedef TP value_type; \ -}; \ -template<> \ -struct promote_traits \ -{ \ - typedef TP value_type; \ -}; - -TRAITS_DEFINE_MACRO(int, float, float) -TRAITS_DEFINE_MACRO(int, double, double) -TRAITS_DEFINE_MACRO(int, long double, long double) - -TRAITS_DEFINE_MACRO(float, double, double) -TRAITS_DEFINE_MACRO(float, long double, long double) - -TRAITS_DEFINE_MACRO(double, long double, long double) - -#undef TRAITS_DEFINE_MACRO - - -} // namespace mvl - -#endif - diff --git a/Extras/MayaPlugin/mvl/util.h b/Extras/MayaPlugin/mvl/util.h deleted file mode 100644 index 59651d94e..000000000 --- a/Extras/MayaPlugin/mvl/util.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//util.h - -#ifndef MVL_UTIL_H -#define MVL_UTIL_H - -#include -#include "base.h" -#include "traits.h" -#include "vec.h" - -namespace mvl { - -//translation -template -inline -mat translation(vec const& v) -{ - return mat(1, 0, 0, v(0), - 0, 1, 0, v(1), - 0, 0, 1, v(2), - 0, 0, 0, 1); -} - -//scale -template -inline -mat scale(vec const& v) -{ - return mat (v(0), 0, 0, 0, - 0, v(1), 0, 0, - 0, 0, v(2), 0, - 0, 0, 0, 1); -} - -} // namespace mvl - - - -#endif diff --git a/Extras/MayaPlugin/mvl/vec.h b/Extras/MayaPlugin/mvl/vec.h deleted file mode 100644 index 26190f328..000000000 --- a/Extras/MayaPlugin/mvl/vec.h +++ /dev/null @@ -1,347 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//vec.h - -#ifndef MVL_VEC_H -#define MVL_VEC_H - -#include -#include -#include "base.h" -#include "traits.h" - -namespace mvl { - -template -class vec -{ -public: - typedef T value_type; - typedef T& reference; - typedef T const& const_reference; - typedef T* iterator; - typedef T const* const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - -public: - enum { - Size = Sz, - }; - -public: - //constructors - explicit vec() {} - - template - vec(vec const& v) - { - *this = v; - } - - explicit vec(value_type val) - { - for(int i = 0; i < Size; ++i) { - m_data[i] = val; - } - } - - explicit vec(value_type x0, value_type x1) - { - m_data[0] = x0; m_data[1] = x1; - } - - explicit vec(value_type x0, value_type x1, value_type x2) - { - m_data[0] = x0; m_data[1] = x1; m_data[2] = x2; - } - - explicit vec(value_type x0, value_type x1, value_type x2, value_type x3) - { - m_data[0] = x0; m_data[1] = x1; m_data[2] = x2; m_data[3] = x3; - } - - explicit vec(value_type x0, value_type x1, value_type x2, value_type x3, value_type x4) - { - m_data[0] = x0; m_data[1] = x1; m_data[2] = x2; m_data[3] = x3; m_data[4] = x4; - } - - explicit vec(value_type x0, value_type x1, value_type x2, value_type x3, value_type x4, value_type x5) - { - m_data[0] = x0; m_data[1] = x1; m_data[2] = x2; m_data[3] = x3; m_data[4] = x4; m_data[5] = x5; - } - -public: - //data access - value_type operator[](std::size_t i) const { return m_data[i]; } - reference operator[](std::size_t i) { return m_data[i]; } - - value_type operator()(std::size_t i) const { return m_data[i]; } - reference operator()(std::size_t i) { return m_data[i]; } - -public: - //stl - static std::size_t size() { return Size; } - static std::size_t max_size() { return Size; } - static bool empty() { return false; } - - iterator begin() { return m_data; } - iterator end() { return m_data + Size; } - const_iterator begin() const { return m_data; } - const_iterator end() const { return m_data + Size; } - reverse_iterator rbegin() { return reverse_iterator(end()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - - value_type front() { return m_data[0]; } - value_type back() { return m_data[Size - 1]; } - const_reference front() const { return m_data[0]; } - const_reference back() const { return m_data[Size - 1]; } - - friend std::ostream& operator << (std::ostream& out, vec const& v) { - out << "("; - for(size_t i = 0; i < Size - 1; i++) { - out << v(i) << ", "; - } - out << v(Size - 1) << ")"; - return out; - } - -public: - //assignment - vec& operator=(vec const& rhs) { - for(int i = 0; i < Size; ++i) { - m_data[i] = rhs[i]; - } - return *this; - } - - template - vec& operator=(vec const& rhs) { - for(int i = 0; i < Size; ++i) { - m_data[i] = rhs[i]; - } - return *this; - } - -private: - T m_data[Size]; -}; - - -//assignment operators -// OP(vec, vec) -// OP(vec, T) - -#define VEC_IMPLEMENT_MACRO(OP) \ -template \ -inline \ -vec& \ -operator OP(vec& lhs, vec const& rhs) { \ - for(int i = 0; i < Sz; ++i) { \ - lhs[i] OP rhs[i]; \ - } \ - return lhs; \ -} \ - \ -template \ -inline \ -vec& \ -operator OP(vec& lhs, T const& rhs) { \ - for(int i = 0; i < Sz; ++i) { \ - lhs[i] OP rhs; \ - } \ - return lhs; \ -} \ - -VEC_IMPLEMENT_MACRO(+=) -VEC_IMPLEMENT_MACRO(-=) -VEC_IMPLEMENT_MACRO(*=) -VEC_IMPLEMENT_MACRO(/=) - -#undef VEC_IMPLEMENT_MACRO - -//operator + (vec, vec) -template -inline -vec::value_type, Sz> -operator + (vec const& lhs, vec const& rhs) -{ - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] + rhs[i]; - } - return res; -} - -//operator - (vec, vec) -template -inline -vec::value_type, Sz> -operator - (vec const& lhs, vec const& rhs) -{ - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] - rhs[i]; - } - return res; -} - -//operator * (vec, POD) -template -inline -vec::value_type, Sz> -operator * (vec const& lhs, T2 const& rhs) { - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] * rhs; - } - return res; -} - -//operator * (POD, vec) -template -inline -vec::value_type, Sz> -operator * (T1 const& lhs, vec const& rhs) { - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs * rhs[i]; - } - return res; -} - -//operator / (vec, POD) -template -inline -vec::value_type, Sz> -operator / (vec const& lhs, T2 const& rhs) { - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] / rhs; - } - return res; -} - -//element_prod(vec, vec) -template -inline -vec::value_type, Sz> -element_prod(vec const& lhs, vec const& rhs) { - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] * rhs[i]; - } - return res; -} - -//element_div(vec, vec) -template -inline -vec::value_type, Sz> -element_div(vec const& lhs, vec const& rhs) { - vec::value_type, Sz> res; - for(int i = 0; i < Sz; ++i) { - res[i] = lhs[i] / rhs[i]; - } - return res; -} - -//unary operator -(expr_vec) -template -inline -vec -operator -(vec const& rhs) { - vec res; - for(int i = 0; i < Sz; ++i) { - res[i] = -rhs[i]; - } - return res; -} - -//dot product -template -inline -typename promote_traits::value_type -dot(vec const& lhs, vec const& rhs) -{ - typename promote_traits::value_type res(0); - for(int i = 0; i < Sz; ++i) { - res += rhs[i] * lhs[i]; - } - return res; -} - - -//cross product -template -inline -vec::value_type, 3> -cross(vec const& lhs, vec const& rhs) { - typedef typename promote_traits::value_type value_type; - return vec(lhs(1)*rhs(2) - rhs(1)*lhs(2), - rhs(0)*lhs(2) - lhs(0)*rhs(2), - lhs(0)*rhs(1) - rhs(0)*lhs(1)); -} - -//length of the vector -template -inline T -norm2(vec const& rhs) -{ - return static_cast(sqrt(dot(rhs, rhs))); -} - -//length of the vector squared -template -inline T -norm_squared(vec const& rhs) -{ - return dot(rhs, rhs); -} - -//normalize the vector -template -inline -vec -normalize(vec const& v) { - typedef T value_type; - T tmp = norm2(v); - if(tmp == value_type(0)) { - tmp = value_type(0); - } else { - tmp = value_type(1) / tmp; - } - vec res; - for(int i = 0; i < Sz; ++i) { - res[i] = v[i] * tmp; - } - return res; -} - - -} //namespace mvl - -#endif - diff --git a/Extras/MayaPlugin/pdbIO.cpp b/Extras/MayaPlugin/pdbIO.cpp deleted file mode 100644 index f77aee2f2..000000000 --- a/Extras/MayaPlugin/pdbIO.cpp +++ /dev/null @@ -1,308 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -#include "pdbIO.h" -#include -#include -#include - -#define PDB_MAGIC 670 - -//headers used for reading and writing - -struct pdb_channel_data_t -{ - int type; - unsigned int datasize; - unsigned int blocksize; - int num_blocks; - //void **block; - int block; -}; - -struct pdb_channel_t -{ - //char *name; - int name; - int type; - unsigned int size; - unsigned int active_start; - unsigned int active_end; - - char hide; - char disconnect; - //pdb_channel_data_t *data; - int data; - - //pdb_channel_t *link; - int link; - //pdb_channel_t *next; - int next; -}; - -struct pdb_channel_header_t -{ - char magic; - unsigned short swap; - char encoding; - char type; -}; - -/* -struct pdb_data_t -{ - int numAttributes; - int numParticles; - float time; - // short *types; - int types; - // char **names; - int names; - // void **data; - int data; -}; - */ - - -struct pdb_header_t -{ - int magic; - unsigned short swap; - float version; - float time; - unsigned int data_size; - unsigned int num_data; - char padding[32]; - //pdb_channel_t **data; - int data; -}; - -/* -struct pdb_channel_data_t -{ - int type; - unsigned datasize; - unsigned long blocksize; - int num_blocks; - void **block; -}; - -struct pdb_channel_t -{ - char *name; - int type; - unsigned long size; - unsigned long active_start; - unsigned long active_end; - - char hide; - char disconnect; - pdb_channel_data_t *data; - - pdb_channel_t *link; - pdb_channel_t *next; -}; - -struct pdb_channel_header_t -{ - char magic; - unsigned short swap; - char encoding; - char type; -}; - -struct pdb_data_t -{ - int numAttributes; - int numParticles; - float time; - short *types; - char **names; - void **data; -}; - - - -struct pdb_header_t -{ - int magic; - unsigned short swap; - float version; - float time; - unsigned data_size; - unsigned num_data; - char padding[32]; - pdb_channel_t **data; -}; - -*/ - -void read_string( std::istream &in, std::string &str ) -{ - int c; - while( (c = in.get()) ) { - if ( in.eof()) { - str.clear(); - return; - } - str.push_back(c); - } -} - -void write_string( std::ostream &out, std::string &str ) -{ - for(size_t i = 0; i < str.size(); ++i) { - out.put(str[i]); - } - out.put(0); -} - -bool pdb_io_t::read(std::istream &in) -{ - pdb_header_t header; - pdb_channel_header_t channel_header; - pdb_channel_t channel; - pdb_channel_data_t channel_data; - - - // read the header - in.read( (char*)&header, sizeof(pdb_header_t) ); - m_time = header.time; - m_num_particles = header.data_size; - - m_attributes.clear(); - m_attributes.resize( header.num_data ); - - for (unsigned int i=0; i -*/ - -#ifndef PDBIO_H -#define PDBIO_H - -#include -#include - -struct pdb_io_t -{ - enum Type { - kVector = 1, - kReal = 2, - kLong = 3, - kChar = 4, - kPointer = 5 - }; - - struct vec3_t - { - float x; - float y; - float z; - }; - - struct attribute_t - { - std::string m_name; - int m_type; - int m_num_elements; - - // - std::vector< vec3_t > m_vector_data; - std::vector< float > m_real_data; - std::vector< int > m_long_data; - - }; - -//data - float m_time; - int m_num_particles; - std::vector< attribute_t > m_attributes; - - -//methods - - bool read(std::istream &in); - bool write(std::ostream &out); - - pdb_io_t(): - m_time(0.0f) - {} -}; - -#endif - diff --git a/Extras/MayaPlugin/plane_shape.h b/Extras/MayaPlugin/plane_shape.h deleted file mode 100644 index d18722abe..000000000 --- a/Extras/MayaPlugin/plane_shape.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//plane_shape.h - -#ifndef DYN_PLANE_SHAPE_H -#define DYN_PLANE_SHAPE_H - -#include "collision_shape.h" -#include "plane_shape_impl.h" - -class plane_shape_t: public collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - -protected: - friend class solver_t; - - plane_shape_t(collision_shape_impl_t* impl): collision_shape_t(impl) { } - -}; - -#endif diff --git a/Extras/MayaPlugin/plane_shape_impl.h b/Extras/MayaPlugin/plane_shape_impl.h deleted file mode 100644 index f9a496c2d..000000000 --- a/Extras/MayaPlugin/plane_shape_impl.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//plane_shape_impl.h - -#ifndef DYN_PLANE_SHAPE_IMPL_H -#define DYN_PLANE_SHAPE_IMPL_H - -#include "collision_shape_impl.h" - -class plane_shape_impl_t: public collision_shape_impl_t -{ -public: - //typedefs - -private: - -}; - -#endif diff --git a/Extras/MayaPlugin/pluginMain.cpp b/Extras/MayaPlugin/pluginMain.cpp deleted file mode 100644 index 1f4a2dc1b..000000000 --- a/Extras/MayaPlugin/pluginMain.cpp +++ /dev/null @@ -1,243 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -//pluginMain.cpp -#include -#include -#include - -#include "mayaUtils.h" -#include "rigidBodyNode.h" -#include "rigidBodyArrayNode.h" -#include "collisionShapeNode.h" -#include "constraint/nailConstraintNode.h" -#include "constraint/hingeConstraintNode.h" -#include "constraint/sliderConstraintNode.h" -#include "constraint/sixdofConstraintNode.h" -#include "dSolverNode.h" -#include "dSolverCmd.h" -#include "dRigidBodyCmd.h" -#include "dRigidBodyArrayCmd.h" -#include "constraint/dNailConstraintCmd.h" -#include "constraint/dHingeConstraintCmd.h" -#include "constraint/dSliderConstraintCmd.h" -#include "constraint/dsixdofConstraintCmd.h" -#include "mvl/util.h" -#include "bulletExport.h" - -const char *const bulletOptionScript = "bulletExportOptions"; -const char *const bulletDefaultOptions = - "groups=1;" - "ptgroups=1;" - "materials=1;" - "smoothing=1;" - "normals=1;" - ; - - -MStatus initializePlugin( MObject obj ) -{ - MStatus status; - MFnPlugin plugin( obj, "Walt Disney Feature Animation", "2.76", "Any"); - - solver_t::initialize(); - - -// Register the translator with the system - status = plugin.registerFileTranslator( "Bullet Physics export", "none", - ObjTranslator::creator, - (char *)bulletOptionScript, - (char *)bulletDefaultOptions ); - - MCHECKSTATUS(status,"registerFileTranslator Bullet Physics export"); - - - // - status = plugin.registerNode( rigidBodyNode::typeName, rigidBodyNode::typeId, - rigidBodyNode::creator, - rigidBodyNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering rigidBodyNode") - MDGMessage::addNodeRemovedCallback(rigidBodyNode::nodeRemoved, rigidBodyNode::typeName); - - // - status = plugin.registerNode( rigidBodyArrayNode::typeName, rigidBodyArrayNode::typeId, - rigidBodyArrayNode::creator, - rigidBodyArrayNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering rigidBodyArrayNode") - MDGMessage::addNodeRemovedCallback(rigidBodyArrayNode::nodeRemoved, rigidBodyArrayNode::typeName); - - - // - status = plugin.registerNode( collisionShapeNode::typeName, collisionShapeNode::typeId, - collisionShapeNode::creator, - collisionShapeNode::initialize, - MPxNode::kDependNode ); - MCHECKSTATUS(status, "registering collisionShapeNode") - - // - status = plugin.registerNode( nailConstraintNode::typeName, nailConstraintNode::typeId, - nailConstraintNode::creator, - nailConstraintNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering nailConstraintNode") - MDGMessage::addNodeRemovedCallback(nailConstraintNode::nodeRemoved, nailConstraintNode::typeName); - - // - status = plugin.registerNode( hingeConstraintNode::typeName, hingeConstraintNode::typeId, - hingeConstraintNode::creator, - hingeConstraintNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering hingeConstraintNode") - MDGMessage::addNodeRemovedCallback(hingeConstraintNode::nodeRemoved, hingeConstraintNode::typeName); - - // - status = plugin.registerNode( sliderConstraintNode::typeName, sliderConstraintNode::typeId, - sliderConstraintNode::creator, - sliderConstraintNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering sliderConstraintNode") - MDGMessage::addNodeRemovedCallback(sliderConstraintNode::nodeRemoved, sliderConstraintNode::typeName); - - // - status = plugin.registerNode( sixdofConstraintNode::typeName, sixdofConstraintNode::typeId, - sixdofConstraintNode::creator, - sixdofConstraintNode::initialize, - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering sixdofConstraintNode") - MDGMessage::addNodeRemovedCallback(sixdofConstraintNode::nodeRemoved, sixdofConstraintNode::typeName); - - // - status = plugin.registerNode( dSolverNode::typeName, dSolverNode::typeId, - dSolverNode::creator, - dSolverNode::initialize, -// MPxNode::kDependNode ); - MPxNode::kLocatorNode ); - MCHECKSTATUS(status, "registering dSolverNode") - - status = plugin.registerCommand( dSolverCmd::typeName, - dSolverCmd::creator, - dSolverCmd::syntax); - MCHECKSTATUS(status, "registering dSolverCmd") - - status = plugin.registerCommand( dRigidBodyCmd::typeName, - dRigidBodyCmd::creator, - dRigidBodyCmd::syntax); - MCHECKSTATUS(status, "registering dRigidBodyCmd") - - - status = plugin.registerCommand( dRigidBodyArrayCmd::typeName, - dRigidBodyArrayCmd::creator, - dRigidBodyArrayCmd::syntax); - MCHECKSTATUS(status, "registering dRigidBodyArrayCmd") - - status = plugin.registerCommand( dNailConstraintCmd::typeName, - dNailConstraintCmd::creator, - dNailConstraintCmd::syntax); - MCHECKSTATUS(status, "registering dNailConstraintCmd") - - status = plugin.registerCommand( dHingeConstraintCmd::typeName, - dHingeConstraintCmd::creator, - dHingeConstraintCmd::syntax); - MCHECKSTATUS(status, "registering dHingeConstraintCmd") - - status = plugin.registerCommand( dSliderConstraintCmd::typeName, - dSliderConstraintCmd::creator, - dSliderConstraintCmd::syntax); - MCHECKSTATUS(status, "registering dSliderConstraintCmd") - - status = plugin.registerCommand( dSixdofConstraintCmd::typeName, - dSixdofConstraintCmd::creator, - dSixdofConstraintCmd::syntax); - MCHECKSTATUS(status, "registering dSixdofConstraintCmd") - - MGlobal::executeCommand( "source dynamicaUI.mel" ); - MGlobal::executeCommand( "dynamicaUI_initialize" ); - - return status; -} - -MStatus uninitializePlugin( MObject obj ) -{ - MStatus status; - MFnPlugin plugin( obj ); - - status = plugin.deregisterCommand(dNailConstraintCmd::typeName); - MCHECKSTATUS(status, "deregistering dNailConstraintCmd") - - status = plugin.deregisterCommand(dHingeConstraintCmd::typeName); - MCHECKSTATUS(status, "deregistering dHingeConstraintCmd") - - status = plugin.deregisterCommand(dSliderConstraintCmd::typeName); - MCHECKSTATUS(status, "deregistering dSliderConstraintCmd") - - status = plugin.deregisterCommand(dSixdofConstraintCmd::typeName); - MCHECKSTATUS(status, "deregistering dSixdofConstraintCmd") - - - status = plugin.deregisterCommand(dRigidBodyArrayCmd::typeName); - MCHECKSTATUS(status, "deregistering dRigidBodyArrayCmd") - - status = plugin.deregisterCommand(dRigidBodyCmd::typeName); - MCHECKSTATUS(status, "deregistering dRigidBodyCmd") - - status = plugin.deregisterCommand(dSolverCmd::typeName); - MCHECKSTATUS(status, "deregistering dSolverCmd") - - - status = plugin.deregisterNode(nailConstraintNode::typeId); - MCHECKSTATUS(status, "deregistering nailConstraintNode") - - status = plugin.deregisterNode(hingeConstraintNode::typeId); - MCHECKSTATUS(status, "deregistering hingeConstraintNode") - - status = plugin.deregisterNode(sliderConstraintNode::typeId); - MCHECKSTATUS(status, "deregistering sliderConstraintNode") - - status = plugin.deregisterNode(sixdofConstraintNode::typeId); - MCHECKSTATUS(status, "deregistering sixdofConstraintNode") - - status = plugin.deregisterNode(collisionShapeNode::typeId); - MCHECKSTATUS(status, "deregistering collisionShapeNode") - - status = plugin.deregisterNode(rigidBodyArrayNode::typeId); - MCHECKSTATUS(status, "deregistering rigidBodyArrayNode") - - status = plugin.deregisterNode(rigidBodyNode::typeId); - MCHECKSTATUS(status, "deregistering rigidBodyNode") - - status = plugin.deregisterNode(dSolverNode::typeId); - MCHECKSTATUS(status, "deregistering dSolverNode") - - status = plugin.deregisterFileTranslator( "Bullet Physics export" ); - MCHECKSTATUS(status,"deregistering Bullet Physics export" ) - - solver_t::cleanup(); - - return status; -} - diff --git a/Extras/MayaPlugin/rigidBodyArrayNode.cpp b/Extras/MayaPlugin/rigidBodyArrayNode.cpp deleted file mode 100644 index ee467ccca..000000000 --- a/Extras/MayaPlugin/rigidBodyArrayNode.cpp +++ /dev/null @@ -1,540 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//rigidBodyArrayNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyArrayNode.h" -#include "collisionShapeNode.h" -#include "mayaUtils.h" - -#include "solver.h" - -MTypeId rigidBodyArrayNode::typeId(0x100330); -MString rigidBodyArrayNode::typeName("dRigidBodyArray"); - -MObject rigidBodyArrayNode::ia_collisionShape; -MObject rigidBodyArrayNode::ia_solver; -MObject rigidBodyArrayNode::ia_numBodies; - -MObject rigidBodyArrayNode::ia_mass; -MObject rigidBodyArrayNode::ia_restitution; -MObject rigidBodyArrayNode::ia_friction; -MObject rigidBodyArrayNode::ia_linearDamping; -MObject rigidBodyArrayNode::ia_angularDamping; -MObject rigidBodyArrayNode::ia_initialPosition; -MObject rigidBodyArrayNode::ia_initialRotation; -MObject rigidBodyArrayNode::ia_initialVelocity; -MObject rigidBodyArrayNode::ia_initialSpin; -MObject rigidBodyArrayNode::ia_fileIO; -MObject rigidBodyArrayNode::ia_fioFiles; -MObject rigidBodyArrayNode::io_position; -MObject rigidBodyArrayNode::io_rotation; -MObject rigidBodyArrayNode::ca_rigidBodies; -MObject rigidBodyArrayNode::ca_rigidBodyParam; -MObject rigidBodyArrayNode::ca_solver; - -MStatus rigidBodyArrayNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - MFnTypedAttribute fnTypedAttr; - MFnStringData fnStringData; - - ia_collisionShape = fnMsgAttr.create("inCollisionShape", "incs", &status); - MCHECKSTATUS(status, "creating inCollisionShape attribute") - status = addAttribute(ia_collisionShape); - MCHECKSTATUS(status, "adding inCollisionShape attribute") - - ia_solver = fnMsgAttr.create("solver", "solv", &status); - MCHECKSTATUS(status, "creating solver attribute") - status = addAttribute(ia_solver); - MCHECKSTATUS(status, "adding solver attribute") - - ia_numBodies = fnNumericAttr.create("numBodies", "nbds", MFnNumericData::kInt, 1, &status); - MCHECKSTATUS(status, "creating numBodies attribute") - fnNumericAttr.setKeyable(false); - status = addAttribute(ia_numBodies); - MCHECKSTATUS(status, "adding numBodies attribute") - - - ia_mass = fnNumericAttr.create("mass", "ma", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating mass attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_mass); - MCHECKSTATUS(status, "adding mass attribute") - - ia_restitution = fnNumericAttr.create("restitution", "rst", MFnNumericData::kDouble, 0.1, &status); - MCHECKSTATUS(status, "creating restitution attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_restitution); - MCHECKSTATUS(status, "adding restitution attribute") - - ia_friction = fnNumericAttr.create("friction", "fc", MFnNumericData::kDouble, 0.5, &status); - MCHECKSTATUS(status, "creating friction attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_friction); - MCHECKSTATUS(status, "adding friction attribute") - - ia_linearDamping = fnNumericAttr.create("linearDamping", "ld", MFnNumericData::kDouble, 0.3, &status); - MCHECKSTATUS(status, "creating linearDamping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_linearDamping); - MCHECKSTATUS(status, "adding linearDamping attribute") - - ia_angularDamping = fnNumericAttr.create("angularDamping", "ad", MFnNumericData::kDouble, 0.3, &status); - MCHECKSTATUS(status, "creating angularDamping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_angularDamping); - MCHECKSTATUS(status, "adding angularDamping attribute") - - ia_initialPosition = fnNumericAttr.createPoint("initialPosition", "inpo", &status); - MCHECKSTATUS(status, "creating initialPosition attribute") - fnNumericAttr.setArray(true); - status = addAttribute(ia_initialPosition); - MCHECKSTATUS(status, "adding initialPosition attribute") - - ia_initialRotation = fnNumericAttr.createPoint("initialRotation", "inro", &status); - MCHECKSTATUS(status, "creating initialRotation attribute") - fnNumericAttr.setArray(true); - status = addAttribute(ia_initialRotation); - MCHECKSTATUS(status, "adding initialRotation attribute") - - ia_initialVelocity = fnNumericAttr.createPoint("initialVelocity", "inve", &status); - MCHECKSTATUS(status, "creating initialVelocity attribute") - fnNumericAttr.setArray(true); - status = addAttribute(ia_initialVelocity); - MCHECKSTATUS(status, "adding initialVelocity attribute") - - ia_initialSpin = fnNumericAttr.createPoint("initialSpin", "insp", &status); - MCHECKSTATUS(status, "creating initialSpin attribute") - fnNumericAttr.setArray(true); - status = addAttribute(ia_initialSpin); - MCHECKSTATUS(status, "adding initialSpin attribute") - - ia_fileIO = fnNumericAttr.create("fileIO", "fio", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating fileIO attribute") - fnNumericAttr.setKeyable(false); - status = addAttribute(ia_fileIO); - MCHECKSTATUS(status, "adding fileIO attribute") - - ia_fioFiles = fnTypedAttr.create( "files", "fls", MFnData::kString, - fnStringData.create("/tmp/rigidBodyArray.${frame}.pdb"), &status ); - MCHECKSTATUS(status, "creating ia_fioFiles attribute") - fnTypedAttr.setKeyable(false); - status = addAttribute(ia_fioFiles); - MCHECKSTATUS(status, "adding ia_fioFiles attribute") - - io_position = fnNumericAttr.createPoint("position", "pos", &status); - MCHECKSTATUS(status, "creating position attribute") - fnNumericAttr.setArray(true); - status = addAttribute(io_position); - MCHECKSTATUS(status, "adding io_position attribute") - - io_rotation = fnNumericAttr.createPoint("rotation", "rot", &status); - MCHECKSTATUS(status, "creating rotation attribute") - fnNumericAttr.setArray(true); - status = addAttribute(io_rotation); - MCHECKSTATUS(status, "adding io_rotation attribute") - - ca_rigidBodies = fnNumericAttr.create("ca_rigidBodies", "carb", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_rigidBodies attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_rigidBodies); - MCHECKSTATUS(status, "adding ca_rigidBodies attribute") - - ca_rigidBodyParam = fnNumericAttr.create("ca_rigidBodyParam", "carbp", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_rigidBodyParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_rigidBodyParam); - MCHECKSTATUS(status, "adding ca_rigidBodyParam attribute") - - ca_solver = fnNumericAttr.create("ca_solver", "caso", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_solver attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_solver); - MCHECKSTATUS(status, "adding ca_solver attribute") - - status = attributeAffects(ia_numBodies, ca_rigidBodies); - MCHECKSTATUS(status, "adding attributeAffects(ia_numBodies, ca_rigidBodies)") - - status = attributeAffects(ia_numBodies, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_numBodies, ca_rigidBodyParam)") - - status = attributeAffects(ia_collisionShape, ca_rigidBodies); - MCHECKSTATUS(status, "adding attributeAffects(ia_collisionShape, ca_rigidBodies)") - - status = attributeAffects(ia_collisionShape, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_collisionShape, ca_rigidBodyParam)") - - status = attributeAffects(ia_mass, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_mass, ca_rigidBodyParam)") - - status = attributeAffects(ia_restitution, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_restitution, ca_rigidBodyParam)") - - status = attributeAffects(ia_friction, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_friction, ca_rigidBodyParam)") - - status = attributeAffects(ia_linearDamping, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_linearDamping, ca_rigidBodyParam)") - - status = attributeAffects(ia_angularDamping, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_angularDamping, ca_rigidBodyParam)") - - status = attributeAffects(ia_solver, ca_solver); - MCHECKSTATUS(status, "adding attributeAffects(ia_solver, ca_solver)") - - return MS::kSuccess; -} - -rigidBodyArrayNode::rigidBodyArrayNode() -{ - // std::cout << "rigidBodyArrayNode::rigidBodyArrayNode" << std::endl; -} - -rigidBodyArrayNode::~rigidBodyArrayNode() -{ - // std::cout << "rigidBodyArrayNode::~rigidBodyArrayNode" << std::endl; - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - solver_t::remove_rigid_body(m_rigid_bodies[i]); - } -} - -void rigidBodyArrayNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "rigidBodyArrayNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - rigidBodyArrayNode *thisNode = static_cast(fnNode.userNode()); - for(size_t i = 0; i < thisNode->m_rigid_bodies.size(); ++i) { - solver_t::remove_rigid_body(thisNode->m_rigid_bodies[i]); - } -} - -void rigidBodyArrayNode::postConstructor() -{ - // MStatus status; - // MObject thisObject = thisMObject(); - // MCallbackId cid = MNodeMessage::addAttributeAddedOrRemovedCallback(thisObject, attributeAddedOrRemoved, NULL, &status); -} - -void* rigidBodyArrayNode::creator() -{ - return new rigidBodyArrayNode(); -} - - -bool rigidBodyArrayNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -MStatus rigidBodyArrayNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "rigidBodyArrayNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( rigidBodyArrayNode::inTime ).asTime(); - if(plug == ca_rigidBodies) { - computeRigidBodies(plug, data); - } else if(plug == ca_rigidBodyParam) { - computeRigidBodyParam(plug, data); - } else if(plug == ca_solver) { - data.inputValue(ia_solver).asBool(); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void rigidBodyArrayNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - // std::cout << "rigidBodyArrayNode::draw" << std::endl; - - update(); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - glPushMatrix(); - //remove the parent transform here - double m[4][4]; - m_worldMatrix.inverse().get(m); - glMultMatrixd(&(m[0][0])); - - if(!m_rigid_bodies.empty()) { - mat4x4f xform; - if(style == M3dView::kFlatShaded || - style == M3dView::kGouraudShaded) { - glEnable(GL_LIGHTING); - float material[] = { 0.4, 0.3, 1.0, 1.0 }; - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, material); - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - glPushMatrix(); - m_rigid_bodies[i]->get_transform(xform); - glMultMatrixf(xform.begin()); - m_rigid_bodies[i]->collision_shape()->gl_draw(collision_shape_t::kDSSolid); - glPopMatrix(); - } - } - - - if( status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded ) ) { - - glDisable(GL_LIGHTING); - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - glPushMatrix(); - m_rigid_bodies[i]->get_transform(xform); - glMultMatrixf(xform.begin()); - m_rigid_bodies[i]->collision_shape()->gl_draw(collision_shape_t::kDSWireframe); - glPopMatrix(); - } - } - } - glPopMatrix(); - glPopAttrib(); - view.endGL(); -} - -bool rigidBodyArrayNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox rigidBodyArrayNode::boundingBox() const -{ - // std::cout << "rigidBodyArrayNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes - -void rigidBodyArrayNode::computeRigidBodies(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "rigidBodyArrayNode::computeRigidBodies" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgCollisionShape(thisObject, ia_collisionShape); - MObject update; - //force evaluation of the shape - plgCollisionShape.getValue(update); - size_t numBodies = data.inputValue(ia_numBodies).asInt(); - // MDataHandle coll = data.inputValue(ia_collisionShape); - - // collisionShapeNode * pCollisionShapeNode = NULL; - collision_shape_t::pointer collision_shape; - if(plgCollisionShape.isConnected()) { - MPlugArray connections; - plgCollisionShape.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == collisionShapeNode::typeId) { - collisionShapeNode *pCollisionShapeNode = static_cast(fnNode.userNode()); - collision_shape = pCollisionShapeNode->collisionShape(); - } else { - std::cout << "rigidBodyArrayNode connected to a non-collision shape node!" << std::endl; - } - } - } - - if(!collision_shape) { - //not connected to a collision shape, put a default one - collision_shape = solver_t::create_sphere_shape(); - } - - //save the positions and orientations to restore them - std::vector positions(m_rigid_bodies.size()); - std::vector rotations(m_rigid_bodies.size()); - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - m_rigid_bodies[i]->get_transform(positions[i], rotations[i]); - solver_t::remove_rigid_body(m_rigid_bodies[i]); - } - - m_rigid_bodies.resize(numBodies); - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - m_rigid_bodies[i] = solver_t::create_rigid_body(collision_shape); - if (i < positions.size()) { - m_rigid_bodies[i]->set_transform(positions[i], rotations[i]); - } else { - m_rigid_bodies[i]->set_transform(vec3f(0.f,0.f,0.f),quatf(1.f,0.f,0.f,0.f)); - } - solver_t::add_rigid_body(m_rigid_bodies[i]); - } - - data.outputValue(ca_rigidBodies).set(true); - data.setClean(plug); -} - - -void rigidBodyArrayNode::computeRigidBodyParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "rigidBodyArrayNode::computeRigidBodyParam" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_rigidBodies).getValue(update); - - double mass = data.inputValue(ia_mass).asDouble(); - vec3f inertia; - if(!m_rigid_bodies.empty()) { - inertia = mass * m_rigid_bodies[0]->collision_shape()->local_inertia(); - } - double restitution = data.inputValue(ia_restitution).asDouble(); - double friction = data.inputValue(ia_friction).asDouble(); - double linearDamping = data.inputValue(ia_linearDamping).asDouble(); - double angularDamping = data.inputValue(ia_angularDamping).asDouble(); - - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - m_rigid_bodies[i]->set_mass(mass); - m_rigid_bodies[i]->set_inertia(inertia); - m_rigid_bodies[i]->set_restitution(restitution); - m_rigid_bodies[i]->set_friction(friction); - m_rigid_bodies[i]->set_linear_damping(linearDamping); - m_rigid_bodies[i]->set_angular_damping(angularDamping); - } - - data.outputValue(ca_rigidBodyParam).set(true); - data.setClean(plug); -} - -void rigidBodyArrayNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "rigidBodyArrayNode::computeWorldMatrix" << std::endl; - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_rigidBodies).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - - MFnTransform fnParentTransform(fnDagNode.parent(0)); - MTransformationMatrix dm(fnParentTransform.transformation().asMatrix() * m_worldMatrix.inverse()); - MVector mtranslation = dm.getTranslation(MSpace::kTransform); - MQuaternion mrotation = dm.rotation(); - - // std::cout << mtranslation << std::endl; - - MArrayDataHandle hInitPosArray = data.outputArrayValue(ia_initialPosition); - if(hInitPosArray.elementCount() < m_rigid_bodies.size()) { - std::cout << "rigidBodyArrayNode::computeWorldMatrix: array size mismatch" << std::endl; - } - for(size_t i = 0; i < m_rigid_bodies.size(); ++i) { - MDataHandle hInitPos = hInitPosArray.outputValue(); - float3 &ipos = hInitPos.asFloat3(); - - vec3f pos, newpos; - quatf rot, newrot; - - m_rigid_bodies[i]->get_transform(pos, rot); - - newpos = pos + vec3f(mtranslation.x, mtranslation.y, mtranslation.z); -// newrot = qprod(rot, quatf(mrotation.w, mrotation.x, mrotation.y, mrotation.z)); - newrot = rot; - - m_rigid_bodies[i]->set_transform(newpos, newrot); - - float3 &ihpos=hInitPos.asFloat3(); - //hInitPos.set3Float(ipos[0] + mtranslation.x, ipos[1] + mtranslation.y, ipos[2] + mtranslation.z); - ihpos[0] = ipos[0] + mtranslation.x; - ihpos[1] = ipos[1] + mtranslation.y; - ihpos[2] = ipos[2] + mtranslation.z; - - - hInitPosArray.next(); - } - - m_worldMatrix = fnParentTransform.transformation().asMatrix(); - - data.setClean(plug); -} - -std::vector& rigidBodyArrayNode::rigid_bodies() -{ - // std::cout << "rigidBodyArrayNode::rigid_bodies" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_rigidBodies).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - - return m_rigid_bodies; -} - - -void rigidBodyArrayNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_rigidBodies).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - MPlug(thisObject, ca_solver).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/rigidBodyArrayNode.h b/Extras/MayaPlugin/rigidBodyArrayNode.h deleted file mode 100644 index cfdf4fbf6..000000000 --- a/Extras/MayaPlugin/rigidBodyArrayNode.h +++ /dev/null @@ -1,119 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//rigidBodyArrayNode.h - -#ifndef DYN_RIGID_BODY_ARRAY_NODE_H -#define DYN_RIGID_BODY_ARRAY_NODE_H - -#include -#include -#include -#include - -#include - -#include "solver.h" - -class rigidBodyArrayNode: public MPxLocatorNode -{ -public: - rigidBodyArrayNode(); - virtual ~rigidBodyArrayNode(); - - virtual void postConstructor(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - std::vector& rigid_bodies(); - -public: - - //Attributes - static MObject ia_collisionShape; - static MObject ia_solver; - static MObject ia_numBodies; - //ia_active is obsolete and redundant -> use ia_mass == 0 for (ia_active==false), and ia_mass > 0 for (ia_active == true) - static MObject ia_mass; - static MObject ia_restitution; - static MObject ia_friction; - static MObject ia_linearDamping; - static MObject ia_angularDamping; - - static MObject ia_initialPosition; - static MObject ia_initialRotation; - static MObject ia_initialVelocity; - static MObject ia_initialSpin; - - static MObject ia_fileIO; - static MObject ia_fioFiles; - - static MObject io_position; - static MObject io_rotation; - - static MObject ca_rigidBodies; - static MObject ca_rigidBodyParam; - static MObject ca_solver; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void update(); - void computeRigidBodies(const MPlug& plug, MDataBlock& data); - void computeRigidBodyParam(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - std::vector m_rigid_bodies; - MMatrix m_worldMatrix; -}; - - - -#endif diff --git a/Extras/MayaPlugin/rigidBodyNode.cpp b/Extras/MayaPlugin/rigidBodyNode.cpp deleted file mode 100644 index c96edf4d1..000000000 --- a/Extras/MayaPlugin/rigidBodyNode.cpp +++ /dev/null @@ -1,526 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//rigidBodyNode.cpp - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rigidBodyNode.h" -#include "collisionShapeNode.h" -#include "mayaUtils.h" - -#include "solver.h" -#include "dSolverNode.h" - -MTypeId rigidBodyNode::typeId(0x10032f); -MString rigidBodyNode::typeName("dRigidBody"); - -MObject rigidBodyNode::ia_collisionShape; -MObject rigidBodyNode::ia_solver; -MObject rigidBodyNode::ia_mass; -MObject rigidBodyNode::ia_restitution; -MObject rigidBodyNode::ia_friction; -MObject rigidBodyNode::ia_linearDamping; -MObject rigidBodyNode::ia_angularDamping; -MObject rigidBodyNode::ia_initialPosition; -MObject rigidBodyNode::ia_initialRotation; -MObject rigidBodyNode::ia_initialVelocity; -MObject rigidBodyNode::ia_initialSpin; -MObject rigidBodyNode::ca_rigidBody; -MObject rigidBodyNode::ca_rigidBodyParam; -MObject rigidBodyNode::ca_solver; - - -MStatus rigidBodyNode::initialize() -{ - MStatus status; - MFnMessageAttribute fnMsgAttr; - MFnNumericAttribute fnNumericAttr; - MFnMatrixAttribute fnMatrixAttr; - - ia_collisionShape = fnMsgAttr.create("inCollisionShape", "incs", &status); - MCHECKSTATUS(status, "creating inCollisionShape attribute") - status = addAttribute(ia_collisionShape); - MCHECKSTATUS(status, "adding inCollisionShape attribute") - - ia_solver = fnMsgAttr.create("solver", "solv", &status); - MCHECKSTATUS(status, "creating solver attribute") - status = addAttribute(ia_solver); - MCHECKSTATUS(status, "adding solver attribute") - - ia_mass = fnNumericAttr.create("mass", "ma", MFnNumericData::kDouble, 1.0, &status); - MCHECKSTATUS(status, "creating mass attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_mass); - MCHECKSTATUS(status, "adding mass attribute") - - ia_restitution = fnNumericAttr.create("restitution", "rst", MFnNumericData::kDouble, 0.1, &status); - MCHECKSTATUS(status, "creating restitution attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_restitution); - MCHECKSTATUS(status, "adding restitution attribute") - - ia_friction = fnNumericAttr.create("friction", "fc", MFnNumericData::kDouble, 0.5, &status); - MCHECKSTATUS(status, "creating friction attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_friction); - MCHECKSTATUS(status, "adding friction attribute") - - ia_linearDamping = fnNumericAttr.create("linearDamping", "ld", MFnNumericData::kDouble, 0.3, &status); - MCHECKSTATUS(status, "creating linearDamping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_linearDamping); - MCHECKSTATUS(status, "adding linearDamping attribute") - - ia_angularDamping = fnNumericAttr.create("angularDamping", "ad", MFnNumericData::kDouble, 0.3, &status); - MCHECKSTATUS(status, "creating angularDamping attribute") - fnNumericAttr.setKeyable(true); - status = addAttribute(ia_angularDamping); - MCHECKSTATUS(status, "adding angularDamping attribute") - - ia_initialPosition = fnNumericAttr.createPoint("initialPosition", "inpo", &status); - MCHECKSTATUS(status, "creating initialPosition attribute") - status = addAttribute(ia_initialPosition); - MCHECKSTATUS(status, "adding initialPosition attribute") - - ia_initialRotation = fnNumericAttr.createPoint("initialRotation", "inro", &status); - MCHECKSTATUS(status, "creating initialRotation attribute") - status = addAttribute(ia_initialRotation); - MCHECKSTATUS(status, "adding initialRotation attribute") - - ia_initialVelocity = fnNumericAttr.createPoint("initialVelocity", "inve", &status); - MCHECKSTATUS(status, "creating initialVelocity attribute") - status = addAttribute(ia_initialVelocity); - MCHECKSTATUS(status, "adding initialVelocity attribute") - - ia_initialSpin = fnNumericAttr.createPoint("initialSpin", "insp", &status); - MCHECKSTATUS(status, "creating initialSpin attribute") - status = addAttribute(ia_initialSpin); - MCHECKSTATUS(status, "adding initialSpin attribute") - - ca_rigidBody = fnNumericAttr.create("ca_rigidBody", "carb", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_rigidBody attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_rigidBody); - MCHECKSTATUS(status, "adding ca_rigidBody attribute") - - ca_rigidBodyParam = fnNumericAttr.create("ca_rigidBodyParam", "carbp", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_rigidBodyParam attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_rigidBodyParam); - MCHECKSTATUS(status, "adding ca_rigidBodyParam attribute") - - ca_solver = fnNumericAttr.create("ca_solver", "caso", MFnNumericData::kBoolean, 0, &status); - MCHECKSTATUS(status, "creating ca_solver attribute") - fnNumericAttr.setConnectable(false); - fnNumericAttr.setHidden(true); - fnNumericAttr.setStorable(false); - fnNumericAttr.setKeyable(false); - status = addAttribute(ca_solver); - MCHECKSTATUS(status, "adding ca_solver attribute") - - status = attributeAffects(ia_collisionShape, ca_rigidBody); - MCHECKSTATUS(status, "adding attributeAffects(ia_collisionShape, ca_rigidBody)") - - status = attributeAffects(ia_collisionShape, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_collisionShape, ca_rigidBodyParam)") - - status = attributeAffects(ia_mass, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_mass, ca_rigidBodyParam)") - - status = attributeAffects(ia_restitution, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_restitution, ca_rigidBodyParam)") - - status = attributeAffects(ia_friction, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_friction, ca_rigidBodyParam)") - - status = attributeAffects(ia_linearDamping, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_linearDamping, ca_rigidBodyParam)") - - status = attributeAffects(ia_angularDamping, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_angularDamping, ca_rigidBodyParam)") - - status = attributeAffects(ia_initialPosition, ca_rigidBodyParam); - MCHECKSTATUS(status, "adding attributeAffects(ia_initialPosition, ca_rigidBodyParam)") - - - status = attributeAffects(ia_solver, ca_solver); - MCHECKSTATUS(status, "adding attributeAffects(ia_solver, ca_solver)") - - - return MS::kSuccess; -} - -rigidBodyNode::rigidBodyNode() -{ - // std::cout << "rigidBodyNode::rigidBodyNode" << std::endl; -} - -rigidBodyNode::~rigidBodyNode() -{ - // std::cout << "rigidBodyNode::~rigidBodyNode" << std::endl; -} - -void rigidBodyNode::nodeRemoved(MObject& node, void *clientData) -{ - // std::cout << "rigidBodyNode::nodeRemoved" << std::endl; - MFnDependencyNode fnNode(node); - solver_t::remove_rigid_body(static_cast(fnNode.userNode())->m_rigid_body); -} - -void* rigidBodyNode::creator() -{ - return new rigidBodyNode(); -} - - -bool rigidBodyNode::setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx) -{ - /* if ((plug == pdbFiles) || (plug == ia_scale) || (plug == ia_percent)) { - m_framesDirty = true; - } else if(plug == textureFiles) { - gpufx::m_renderer.setColorTextureDirty(); - }*/ - return false; //setInternalValueInContext(plug,dataHandle,ctx); -} - -/* -MStatus rigidBodyNode::setDependentsDirty( const MPlug & plug, MPlugArray & plugArray) -{ - std::cout << "rigidBodyNode::setDependentsDirty: " << plug.name().asChar() << std::endl; - MObject thisNode = thisMObject(); - if(plug == ia_solver) { - MPlug plgAffected(thisNode, ca_update); - plugArray.append(plgAffected); - plgAffected.setValue(true); - } else if(plug == ia_collisionShape) { - //ia_collisionShape -> ca_rigidBody - MPlug plgAffected(thisNode, ca_rigidBody); - plugArray.append(plgAffected); - plgAffected.setValue(true); - - //ia_collisionShape -> ca_rigidBodyParam - plgAffected.setAttribute(ca_rigidBodyParam); - plugArray.append(plgAffected); - plgAffected.setValue(true); - } else if(plug == ca_rigidBody) { - //ca_rigidBody -> ca_update - MPlug plgAffected(thisNode, ca_update); - plugArray.append(plgAffected); - plgAffected.setValue(true); - - //ca_rigidBody -> ca_rigidBodyParam - plgAffected.setAttribute(ca_rigidBodyParam); - plugArray.append(plgAffected); - plgAffected.setValue(true); - } else if(plug == ia_mass) { - //ia_mass -> ca_rigidBodyParam - MPlug plgAffected(thisNode, ca_rigidBodyParam); - plugArray.append(plgAffected); - plgAffected.setValue(true); - - plgAffected.setAttribute(ca_update); - plugArray.append(plgAffected); - plgAffected.setValue(true); - } else if(plug == ca_rigidBodyParam) { - //ca_rigidBodyParam -> ca_update - MPlug plgAffected(thisNode, ca_update); - plugArray.append(plgAffected); - plgAffected.setValue(true); - } - return MS::kSuccess; -}*/ - - -MStatus rigidBodyNode::compute(const MPlug& plug, MDataBlock& data) -{ - //std::cout << "rigidBodyNode::compute: " << plug.name() << std::endl; - //MTime time = data.inputValue( rigidBodyNode::inTime ).asTime(); - if(plug == ca_rigidBody) { - computeRigidBody(plug, data); - } else if(plug == ca_rigidBodyParam) { - computeRigidBodyParam(plug, data); - } else if(plug == ca_solver) { - data.inputValue(ia_solver).asBool(); - } else if(plug.isElement()) { - if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { - computeWorldMatrix(plug, data); - } else { - return MStatus::kUnknownParameter; - } - } else { - return MStatus::kUnknownParameter; - } - return MStatus::kSuccess; -} - -void rigidBodyNode::draw( M3dView & view, const MDagPath &path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ) -{ - // std::cout << "rigidBodyNode::draw" << std::endl; - - update(); - - view.beginGL(); - glPushAttrib( GL_ALL_ATTRIB_BITS ); - - if(m_rigid_body) { - //remove the scale, since it's already included in the node transform - vec3f scale; - m_rigid_body->collision_shape()->get_scale(scale); - - glPushMatrix(); - glScalef(1/scale[0], 1/scale[1], 1/scale[2]); - - if(style == M3dView::kFlatShaded || - style == M3dView::kGouraudShaded) { - glEnable(GL_LIGHTING); - float material[] = { 0.4f, 0.7f, 1.0f, 1.0f }; - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, material); - m_rigid_body->collision_shape()->gl_draw(collision_shape_t::kDSSolid); - } - - - if( status == M3dView::kActive || - status == M3dView::kLead || - status == M3dView::kHilite || - ( style != M3dView::kGouraudShaded && style != M3dView::kFlatShaded ) ) { - - glDisable(GL_LIGHTING); - m_rigid_body->collision_shape()->gl_draw(collision_shape_t::kDSWireframe); - - } - glPopMatrix(); - } - glPopAttrib(); - view.endGL(); -} - -bool rigidBodyNode::isBounded() const -{ - //return true; - return false; -} - -MBoundingBox rigidBodyNode::boundingBox() const -{ - // std::cout << "rigidBodyNode::boundingBox()" << std::endl; - //load the pdbs - MObject node = thisMObject(); - - MPoint corner1(-1, -1, -1); - MPoint corner2(1, 1, 1); - return MBoundingBox(corner1, corner2); -} - -//standard attributes -void rigidBodyNode::computeRigidBody(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "rigidBodyNode::computeRigidBody" << std::endl; - - MObject thisObject(thisMObject()); - MPlug plgCollisionShape(thisObject, ia_collisionShape); - MObject update; - //force evaluation of the shape - plgCollisionShape.getValue(update); - - vec3f prevCenter(0, 0, 0); - quatf prevRotation(qidentity()); - if(m_rigid_body) { - prevCenter = m_rigid_body->collision_shape()->center(); - prevRotation = m_rigid_body->collision_shape()->rotation(); - } - - collision_shape_t::pointer collision_shape; - if(plgCollisionShape.isConnected()) { - MPlugArray connections; - plgCollisionShape.connectedTo(connections, true, true); - if(connections.length() != 0) { - MFnDependencyNode fnNode(connections[0].node()); - if(fnNode.typeId() == collisionShapeNode::typeId) { - collisionShapeNode *pCollisionShapeNode = static_cast(fnNode.userNode()); - collision_shape = pCollisionShapeNode->collisionShape(); - } else { - std::cout << "rigidBodyNode connected to a non-collision shape node!" << std::endl; - } - } - } - - if(!collision_shape) { - //not connected to a collision shape, put a default one - collision_shape = solver_t::create_sphere_shape(); - } - solver_t::remove_rigid_body(m_rigid_body); - m_rigid_body = solver_t::create_rigid_body(collision_shape); - solver_t::add_rigid_body(m_rigid_body); -// once at creation/load time : get transform from Maya transform node - MFnDagNode fnDagNode(thisObject); - MFnTransform fnTransform(fnDagNode.parent(0)); - MVector mtranslation = fnTransform.getTranslation(MSpace::kTransform); - MQuaternion mrotation; - fnTransform.getRotation(mrotation, MSpace::kTransform); - double mscale[3]; - fnTransform.getScale(mscale); - m_rigid_body->set_transform(vec3f((float)mtranslation.x, (float)mtranslation.y, (float)mtranslation.z), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - m_rigid_body->collision_shape()->set_scale(vec3f((float)mscale[0], (float)mscale[1], (float)mscale[2])); - - data.outputValue(ca_rigidBody).set(true); - data.setClean(plug); -} - - -void rigidBodyNode::computeWorldMatrix(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "rigidBodyNode::computeWorldMatrix" << std::endl; - MObject thisObject(thisMObject()); - MFnDagNode fnDagNode(thisObject); - - MObject update; - MPlug(thisObject, ca_rigidBody).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - - vec3f pos; - quatf rot; - - MStatus status; - - MFnTransform fnParentTransform(fnDagNode.parent(0, &status)); - - double mscale[3]; - fnParentTransform.getScale(mscale); - m_rigid_body->get_transform(pos, rot); - - if(dSolverNode::isStartTime) - { // allow to edit ptranslation and rotation - MVector mtranslation = fnParentTransform.getTranslation(MSpace::kTransform, &status); - MQuaternion mrotation; - fnParentTransform.getRotation(mrotation, MSpace::kTransform); - - float deltaPX = (float)mtranslation.x - pos[0]; - float deltaPY = (float)mtranslation.y - pos[1]; - float deltaPZ = (float)mtranslation.z - pos[2]; - float deltaRX = (float)mrotation.x - rot[1]; - float deltaRY = (float)mrotation.y - rot[2]; - float deltaRZ = (float)mrotation.z - rot[3]; - float deltaRW = (float)mrotation.w - rot[0]; - float deltaSq = deltaPX * deltaPX + deltaPY * deltaPY + deltaPZ * deltaPZ - + deltaRX * deltaRX + deltaRY * deltaRY + deltaRZ * deltaRZ + deltaRW * deltaRW; - if(deltaSq > FLT_EPSILON) - { - m_rigid_body->set_transform(vec3f((float)mtranslation.x, (float)mtranslation.y, (float)mtranslation.z), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - m_rigid_body->set_interpolation_transform(vec3f((float)mtranslation.x, (float)mtranslation.y, (float)mtranslation.z), - quatf((float)mrotation.w, (float)mrotation.x, (float)mrotation.y, (float)mrotation.z)); - m_rigid_body->update_constraint(); - MDataHandle hInitPos = data.outputValue(ia_initialPosition); - float3 &ihpos = hInitPos.asFloat3(); - ihpos[0] = (float)mtranslation.x; - ihpos[1] = (float)mtranslation.y; - ihpos[2] = (float)mtranslation.z; - MDataHandle hInitRot = data.outputValue(ia_initialRotation); - float3 &ihrot = hInitRot.asFloat3(); - MEulerRotation newrot(mrotation.asEulerRotation()); - ihrot[0] = rad2deg((float)newrot.x); - ihrot[1] = rad2deg((float)newrot.y); - ihrot[2] = rad2deg((float)newrot.z); - } - } - else - { // if not start time, lock position and rotation for active rigid bodies - float mass = 0.f; - MPlug(thisObject, rigidBodyNode::ia_mass).getValue(mass); - if(mass > 0.f) - { - fnParentTransform.setTranslation(MVector(pos[0], pos[1], pos[2]), MSpace::kTransform); - fnParentTransform.setRotation(MQuaternion(rot[1], rot[2], rot[3], rot[0])); - } - } - data.setClean(plug); - //set the scale to the collision shape - m_rigid_body->collision_shape()->set_scale(vec3f((float)mscale[0], (float)mscale[1], (float)mscale[2])); -} - -void rigidBodyNode::computeRigidBodyParam(const MPlug& plug, MDataBlock& data) -{ - // std::cout << "rigidBodyNode::computeRigidBodyParam" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - - MPlug(thisObject, ca_rigidBody).getValue(update); - double mass = data.inputValue(ia_mass).asDouble(); - m_rigid_body->set_mass((float)mass); - m_rigid_body->set_inertia((float)mass * m_rigid_body->collision_shape()->local_inertia()); - m_rigid_body->set_restitution((float)data.inputValue(ia_restitution).asDouble()); - m_rigid_body->set_friction((float)data.inputValue(ia_friction).asDouble()); - m_rigid_body->set_linear_damping((float)data.inputValue(ia_linearDamping).asDouble()); - m_rigid_body->set_angular_damping((float)data.inputValue(ia_angularDamping).asDouble()); - - data.outputValue(ca_rigidBodyParam).set(true); - data.setClean(plug); -} - -rigid_body_t::pointer rigidBodyNode::rigid_body() -{ - // std::cout << "rigidBodyNode::rigid_body" << std::endl; - - MObject thisObject(thisMObject()); - MObject update; - MPlug(thisObject, ca_rigidBody).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - - return m_rigid_body; -} - -void rigidBodyNode::update() -{ - MObject thisObject(thisMObject()); - - MObject update; - MPlug(thisObject, ca_rigidBody).getValue(update); - MPlug(thisObject, ca_rigidBodyParam).getValue(update); - MPlug(thisObject, ca_solver).getValue(update); - MPlug(thisObject, worldMatrix).elementByLogicalIndex(0).getValue(update); -} diff --git a/Extras/MayaPlugin/rigidBodyNode.h b/Extras/MayaPlugin/rigidBodyNode.h deleted file mode 100644 index 676596fc3..000000000 --- a/Extras/MayaPlugin/rigidBodyNode.h +++ /dev/null @@ -1,110 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//rigidBodyNode.h - -#ifndef DYN_RIGID_BODY_NODE_H -#define DYN_RIGID_BODY_NODE_H - -#include -#include -#include - -#include "solver.h" - -class rigidBodyNode: public MPxLocatorNode -{ -public: - rigidBodyNode(); - virtual ~rigidBodyNode(); - - virtual bool setInternalValueInContext ( const MPlug & plug, - const MDataHandle & dataHandle, - MDGContext & ctx); - - // virtual MStatus setDependentsDirty ( const MPlug & plug, MPlugArray & plugArray); - - virtual MStatus compute( const MPlug& plug, MDataBlock& data ); - - virtual void draw( M3dView & view, const MDagPath & path, - M3dView::DisplayStyle style, - M3dView::DisplayStatus status ); - - - virtual bool isBounded() const ; - virtual MBoundingBox boundingBox() const; - - virtual bool excludeAsLocator() const { return false; } - virtual bool isTransparent() const { return false; } - - static void * creator(); - static MStatus initialize(); - -public: - - rigid_body_t::pointer rigid_body(); - void update(); - -public: - - //Attributes - static MObject ia_collisionShape; - static MObject ia_solver; - static MObject ia_mass; - static MObject ia_restitution; - static MObject ia_friction; - static MObject ia_linearDamping; - static MObject ia_angularDamping; - - static MObject ia_initialPosition; - static MObject ia_initialRotation; - static MObject ia_initialVelocity; - static MObject ia_initialSpin; - - static MObject ca_rigidBody; - static MObject ca_rigidBodyParam; - static MObject ca_solver; - -public: - static MTypeId typeId; - static MString typeName; - -private: - void computeRigidBody(const MPlug& plug, MDataBlock& data); - void computeWorldMatrix(const MPlug& plug, MDataBlock& data); - void computeRigidBodyParam(const MPlug& plug, MDataBlock& data); - -public: - static void nodeRemoved(MObject& node, void *clientData); - -private: - rigid_body_t::pointer m_rigid_body; - - -}; - - - -#endif diff --git a/Extras/MayaPlugin/rigid_body.h b/Extras/MayaPlugin/rigid_body.h deleted file mode 100644 index f177bcb40..000000000 --- a/Extras/MayaPlugin/rigid_body.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//rigid_body.h - -#ifndef DYN_RIGID_BODY_H -#define DYN_RIGID_BODY_H - -#include "shared_ptr.h" -#include "collision_shape.h" -#include "mathUtils.h" - -#include "rigid_body_impl.h" - -class rigid_body_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - // - collision_shape_t::pointer collision_shape() { return m_collision_shape; } - - // - void set_kinematic(bool kinematic) { m_impl->set_kinematic(kinematic); } - - // - void set_mass(float mass) { m_impl->set_mass(mass); } - void set_inertia(vec3f const& I) { m_impl->set_inertia(I); } - void set_restitution(float r) { m_impl->set_restitution(r); } - void set_friction(float f) { m_impl->set_friction(f); } - void set_linear_damping(float d) { m_impl->set_linear_damping(d); } - void set_angular_damping(float d) { m_impl->set_angular_damping(d); } - - void set_transform(vec3f const& position, quatf const& rotation) { m_impl->set_transform(position, rotation); } - void get_transform(vec3f& position, quatf& rotation) const { m_impl->get_transform(position, rotation); } - void get_transform(mat4x4f& xform) const { m_impl->get_transform(xform); } - void set_interpolation_transform(vec3f const& position, quatf const& rotation) { m_impl->set_interpolation_transform(position, rotation); } - - // - void set_linear_velocity(vec3f const& v) { m_impl->set_linear_velocity(v); } - void get_linear_velocity(vec3f& v) const { m_impl->get_linear_velocity(v); } - - void set_angular_velocity(vec3f const& v) { m_impl->set_angular_velocity(v); } - void get_angular_velocity(vec3f& v) const { m_impl->get_angular_velocity(v); } - - // - void clear_forces() { m_impl->clear_forces(); } - void apply_central_force(vec3f const& f) { m_impl->apply_central_force(f); } - void apply_torque(vec3f const& t) { m_impl->apply_torque(t); } - - void update_constraint() { m_impl->update_constraint(); } - void add_constraint(bt_constraint_t* constraint) { m_impl->add_constraint(constraint); } - void remove_constraint(bt_constraint_t* constraint) { m_impl->remove_constraint(constraint); } - -public: - virtual ~rigid_body_t() {}; - -protected: - friend class solver_t; - rigid_body_t(rigid_body_impl_t* impl, collision_shape_t::pointer& shape): m_impl(impl), m_collision_shape(shape) - { - } - - rigid_body_impl_t* impl() { return m_impl.get(); } - // rigid_body_impl_t const* impl() const { return m_impl.get(); } - -private: - shared_ptr m_impl; - collision_shape_t::pointer m_collision_shape; -}; - - - -#endif diff --git a/Extras/MayaPlugin/rigid_body_impl.h b/Extras/MayaPlugin/rigid_body_impl.h deleted file mode 100644 index f30848aee..000000000 --- a/Extras/MayaPlugin/rigid_body_impl.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - - -//rigid_body_impl.h - -#ifndef DYN_RIGID_BODY_IMPL_H -#define DYN_RIGID_BODY_IMPL_H - -#include "mathUtils.h" -#include "constraint/bt_constraint.h" - -class rigid_body_impl_t -{ -public: - virtual void set_kinematic(bool kinematic) = 0; - - // - virtual void set_mass(float mass) = 0; - virtual void set_inertia(vec3f const& I) = 0; - virtual void set_restitution(float r) = 0; - virtual void set_friction(float f) = 0; - virtual void set_linear_damping(float d) = 0; - virtual void set_angular_damping(float d) = 0; - - virtual void set_transform(vec3f const& position, quatf const& rotation) = 0; - virtual void get_transform(vec3f& position, quatf& rotation) const = 0; - virtual void get_transform(mat4x4f& xform) const = 0; - virtual void set_interpolation_transform(vec3f const& position, quatf const& rotation) = 0; - - virtual void set_linear_velocity(vec3f const& v) = 0; - virtual void get_linear_velocity(vec3f& v) const = 0; - - virtual void set_angular_velocity(vec3f const& v) = 0; - virtual void get_angular_velocity(vec3f& v) const = 0; - - virtual void clear_forces() = 0; - virtual void apply_central_force(vec3f const& f) = 0; - virtual void apply_torque(vec3f const& t) = 0; - - virtual void update_constraint() = 0; - virtual void add_constraint(bt_constraint_t* constraint) = 0; - virtual void remove_constraint(bt_constraint_t* constraint) = 0; - -public: - virtual ~rigid_body_impl_t() {}; -}; - -#endif diff --git a/Extras/MayaPlugin/scenes/HingeConstraint_v276.ma b/Extras/MayaPlugin/scenes/HingeConstraint_v276.ma deleted file mode 100644 index 952260d97..000000000 --- a/Extras/MayaPlugin/scenes/HingeConstraint_v276.ma +++ /dev/null @@ -1,237 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: HingeConstraint.ma -//Last modified: Fri, Jan 22, 2010 06:53:53 PM -//Codeset: 1251 -requires maya "8.5"; -requires "BulletMayaPlugin" "2.76"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Complete 8.5"; -fileInfo "version" "8.5 Service Pack 1"; -fileInfo "cutIdentifier" "200706062232-700503"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 2.6026307375884059 9.1186832328358065 43.807258865888613 ; - setAttr ".r" -type "double3" -11.738352729602591 3.4000000000001069 -6.9697312921006584e-016 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 44.82186966202994; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; - setAttr ".t" -type "double3" 4 0 0 ; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 4 0 0 ; -createNode transform -n "dRigidBody2"; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "dHingeConstraint1"; -createNode dHingeConstraint -n "dHingeConstraintShape1" -p "dHingeConstraint1"; - setAttr -k off ".v"; - setAttr ".llmt" 0; - setAttr ".ulmt" -1; - setAttr ".pivinB" -type "float3" -4 0 0 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 4; -createNode animCurveTL -n "dRigidBody2_translateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 -5 150 0 225 5 300 0; -createNode animCurveTL -n "dRigidBody2_translateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 2.5 150 5 225 2.5 300 0; -createNode animCurveTL -n "dRigidBody2_translateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; -createNode animCurveTU -n "dRigidBody2_visibility"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; - setAttr -s 5 ".kot[0:4]" 5 5 5 5 5; -createNode animCurveTA -n "dRigidBody2_rotateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; -createNode animCurveTA -n "dRigidBody2_rotateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; -createNode animCurveTA -n "dRigidBody2_rotateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; -createNode animCurveTU -n "dRigidBody2_scaleX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; -createNode animCurveTU -n "dRigidBody2_scaleY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; -createNode animCurveTU -n "dRigidBody2_scaleZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n" - + " -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n" - + " -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n" - + " -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n" - + " -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n" - + " -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n" - + " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n" - + " -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" - + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n" - + " -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n" - + " -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n" - + " -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n" - + " -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n" - + " -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n" - + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n" - + " -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" - + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 300 -ast 1 -aet 300 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "dRigidBody2_translateX.o" "dRigidBody2.tx"; -connectAttr "dRigidBody2_translateY.o" "dRigidBody2.ty"; -connectAttr "dRigidBody2_translateZ.o" "dRigidBody2.tz"; -connectAttr "dRigidBody2_visibility.o" "dRigidBody2.v"; -connectAttr "dRigidBody2_rotateX.o" "dRigidBody2.rx"; -connectAttr "dRigidBody2_rotateY.o" "dRigidBody2.ry"; -connectAttr "dRigidBody2_rotateZ.o" "dRigidBody2.rz"; -connectAttr "dRigidBody2_scaleX.o" "dRigidBody2.sx"; -connectAttr "dRigidBody2_scaleY.o" "dRigidBody2.sy"; -connectAttr "dRigidBody2_scaleZ.o" "dRigidBody2.sz"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "dRigidBodyShape2.msg" "dHingeConstraintShape1.inrba"; -connectAttr "dRigidBodyShape1.msg" "dHingeConstraintShape1.inrbb"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of HingeConstraint.ma diff --git a/Extras/MayaPlugin/scenes/NailConstraint_v276.ma b/Extras/MayaPlugin/scenes/NailConstraint_v276.ma deleted file mode 100644 index 905455a1b..000000000 --- a/Extras/MayaPlugin/scenes/NailConstraint_v276.ma +++ /dev/null @@ -1,272 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: NailConstraint.ma -//Last modified: Fri, Jan 22, 2010 06:52:24 PM -//Codeset: 1251 -requires maya "8.5"; -requires "BulletMayaPlugin" "2.76"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Complete 8.5"; -fileInfo "version" "8.5 Service Pack 1"; -fileInfo "cutIdentifier" "200706062232-700503"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 11.930209659210078 13.423021047895404 -23.824078177088047 ; - setAttr ".r" -type "double3" -26.738352729592183 -206.59999999999334 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 29.834444817247473; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "dRigidBody2"; - setAttr ".t" -type "double3" 5 0 0 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 5 0 0 ; -createNode transform -n "dNailConstraint1"; -createNode dNailConstraint -n "dNailConstraintShape1" -p "dNailConstraint1"; - setAttr -k off ".v"; - setAttr ".pivb" -type "float3" -5 0 0 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n" - + " -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n" - + " -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n" - + " -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n" - + " -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n" - + " -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n" - + " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n" - + " -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" - + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n" - + " -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n" - + " -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n" - + " -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n" - + " -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n" - + " -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n" - + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n" - + " -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" - + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n" - + " -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n" - + " -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 300 -ast 1 -aet 300 "; - setAttr ".st" 6; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode animCurveTU -n "dRigidBody1_visibility"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; - setAttr -s 5 ".kot[1:4]" 5 9 5 9; -createNode animCurveTL -n "dRigidBody1_translateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 4 150 0 225 -4 300 0; - setAttr -s 5 ".kit[0:4]" 1 10 9 10 1; - setAttr -s 5 ".kot[0:4]" 1 10 9 10 1; - setAttr -s 5 ".kix[0:4]" 0.99868637323379517 1 0.61564409732818604 - 1 0.99992853403091431; - setAttr -s 5 ".kiy[0:4]" 0.051240812987089157 0 -0.7880244255065918 - 0 0.01195460744202137; - setAttr -s 5 ".kox[0:4]" 0.99868637323379517 1 0.61564409732818604 - 1 0.99992853403091431; - setAttr -s 5 ".koy[0:4]" 0.051240716129541397 0 -0.7880244255065918 - 0 0.011954654939472675; -createNode animCurveTL -n "dRigidBody1_translateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 3.956318995919792 150 8 225 3.6737555068987131 - 300 0; - setAttr -s 5 ".kit[0:4]" 1 10 9 10 1; - setAttr -s 5 ".kot[0:4]" 1 10 9 10 1; - setAttr -s 5 ".kix[0:4]" 0.99999052286148071 0.61308568716049194 - 0.99897950887680054 0.61564409732818604 0.99999028444290161; - setAttr -s 5 ".kiy[0:4]" -0.0043685990385711193 0.79001641273498535 - -0.045164022594690323 -0.7880244255065918 -0.0044143795967102051; - setAttr -s 5 ".kox[0:4]" 0.99999052286148071 0.61308568716049194 - 0.99897950887680054 0.61564409732818604 0.99999028444290161; - setAttr -s 5 ".koy[0:4]" -0.0043689887970685959 0.79001641273498535 - -0.045164022594690323 -0.7880244255065918 -0.004414659459143877; -createNode animCurveTL -n "dRigidBody1_translateZ"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTA -n "dRigidBody1_rotateX"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTA -n "dRigidBody1_rotateY"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTA -n "dRigidBody1_rotateZ"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 0 75 0 150 0 225 0 300 0; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTU -n "dRigidBody1_scaleX"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTU -n "dRigidBody1_scaleY"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode animCurveTU -n "dRigidBody1_scaleZ"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 75 1 150 1 225 1 300 1; - setAttr -s 5 ".kit[1:4]" 10 9 10 9; - setAttr -s 5 ".kot[1:4]" 10 9 10 9; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 4; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dRigidBody1_visibility.o" "dRigidBody1.v"; -connectAttr "dRigidBody1_translateX.o" "dRigidBody1.tx"; -connectAttr "dRigidBody1_translateY.o" "dRigidBody1.ty"; -connectAttr "dRigidBody1_translateZ.o" "dRigidBody1.tz"; -connectAttr "dRigidBody1_rotateX.o" "dRigidBody1.rx"; -connectAttr "dRigidBody1_rotateY.o" "dRigidBody1.ry"; -connectAttr "dRigidBody1_rotateZ.o" "dRigidBody1.rz"; -connectAttr "dRigidBody1_scaleX.o" "dRigidBody1.sx"; -connectAttr "dRigidBody1_scaleY.o" "dRigidBody1.sy"; -connectAttr "dRigidBody1_scaleZ.o" "dRigidBody1.sz"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "dRigidBodyShape1.msg" "dNailConstraintShape1.inrbA"; -connectAttr "dRigidBodyShape2.msg" "dNailConstraintShape1.inrbB"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of NailConstraint.ma diff --git a/Extras/MayaPlugin/scenes/SixDofConstraint_v276.ma b/Extras/MayaPlugin/scenes/SixDofConstraint_v276.ma deleted file mode 100644 index f8e9cdc3f..000000000 --- a/Extras/MayaPlugin/scenes/SixDofConstraint_v276.ma +++ /dev/null @@ -1,266 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: SixDofConstraint.ma -//Last modified: Fri, Jan 22, 2010 07:07:31 PM -//Codeset: 1251 -requires maya "8.5"; -requires "BulletMayaPlugin" "2.76"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Complete 8.5"; -fileInfo "version" "8.5 Service Pack 1"; -fileInfo "cutIdentifier" "200706062232-700503"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 38.7934523610311 22.233440369487397 3.1212470665275767 ; - setAttr ".r" -type "double3" -29.738352729606959 85.400000000000333 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 44.821869662045529; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; -createNode transform -n "dSixdofConstraint1"; - setAttr ".t" -type "double3" -0.99649065732955933 4.7923123802640077e-012 0.91633987426757813 ; - setAttr ".r" -type "double3" 0.020268531926361435 -2.8859679964435921e-010 21.975752322533953 ; -createNode dSixdofConstraint -n "dSixdofConstraintShape1" -p "dSixdofConstraint1"; - setAttr -k off ".v"; - setAttr ".lllt" -type "float3" -1 0 -1 ; - setAttr ".ullt" -type "float3" 1 0 1 ; - setAttr ".lalt" -type "float3" -15 0 -45 ; - setAttr ".ualt" -type "float3" 15 0 45 ; - setAttr ".hgRotA" -type "float3" 0.020268532 -2.8859681e-010 21.975754 ; - setAttr ".hgRotB" -type "float3" 0.020268532 -2.8859681e-010 21.975754 ; - setAttr ".pivinA" -type "float3" -0.99649066 4.7923124e-012 0.91633987 ; - setAttr ".pivinB" -type "float3" -0.99649066 4.7923124e-012 0.91633987 ; -createNode transform -n "dRigidBody2"; - setAttr ".t" -type "double3" 0.74223852157592773 6.148740291595459 -0.69242537021636963 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0.74223852 6.1487403 -0.69242537 ; -createNode transform -n "dRigidBody3"; - setAttr ".t" -type "double3" 0 7.4054880142211914 2.8704507350921631 ; - setAttr ".r" -type "double3" 38.55337501544674 0 0 ; -createNode dRigidBody -n "dRigidBodyShape3" -p "dRigidBody3"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 7.405488 2.8704507 ; - setAttr ".inro" -type "float3" 38.553375 0 0 ; -createNode transform -n "dRigidBody4"; - setAttr ".t" -type "double3" 0 4.2483773231506348 6.9714751243591309 ; - setAttr ".r" -type "double3" 24.056585370039816 0 0 ; -createNode dRigidBody -n "dRigidBodyShape4" -p "dRigidBody4"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 4.2483773 6.9714751 ; - setAttr ".inro" -type "float3" 24.056585 0 0 ; -createNode transform -n "dSixdofConstraint2"; - setAttr ".t" -type "double3" 0 5.5092616081237793 4.3704509735107422 ; - setAttr ".r" -type "double3" 4.7991343788615565e-006 0 0 ; -createNode dSixdofConstraint -n "dSixdofConstraintShape2" -p "dSixdofConstraint2"; - setAttr -k off ".v"; - setAttr ".lllt" -type "float3" -0.5 -0.5 -0.5 ; - setAttr ".ullt" -type "float3" 0.5 0.5 0 ; - setAttr ".lalt" -type "float3" -45 -45 -45 ; - setAttr ".ualt" -type "float3" 45 45 0 ; - setAttr ".hgRotA" -type "float3" -38.553368 0 0 ; - setAttr ".hgRotB" -type "float3" -24.05658 0 0 ; - setAttr ".pivinA" -type "float3" 0 -0.54803658 2.3548527 ; - setAttr ".pivinB" -type "float3" 0 0.091089725 -2.8890934 ; -createNode transform -n "dRigidBody5"; - setAttr ".t" -type "double3" 0 -0.65094339622641306 0 ; -createNode dRigidBody -n "dRigidBodyShape5" -p "dRigidBody5"; - setAttr -k off ".v"; - setAttr ".ma" 0; - setAttr ".inpo" -type "float3" 0 -0.6509434 0 ; -createNode transform -n "dRigidBody6"; - setAttr ".t" -type "double3" 0 8.2075471698113187 -7.7547169811320753 ; -createNode dRigidBody -n "dRigidBodyShape6" -p "dRigidBody6"; - setAttr -k off ".v"; - setAttr ".ma" 0; - setAttr ".inpo" -type "float3" 0 8.2075472 -7.7547169 ; -createNode transform -n "dRigidBody7"; - setAttr ".t" -type "double3" 0 5.9150943756103516 -12.708039283752441 ; -createNode dRigidBody -n "dRigidBodyShape7" -p "dRigidBody7"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 5.9150944 -12.708039 ; -createNode transform -n "dSixdofConstraint3"; - setAttr ".t" -type "double3" 0 8.2075471878051758 -7.7547168731689453 ; -createNode dSixdofConstraint -n "dSixdofConstraintShape3" -p "dSixdofConstraint3"; - setAttr -k off ".v"; - setAttr ".lalt" -type "float3" 1 0 0 ; - setAttr ".ualt" -type "float3" 0 0 -1 ; - setAttr ".pivinB" -type "float3" 0 2.2924528 4.9533224 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 4; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n" - + " -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n" - + " -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n" - + " -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n" - + " -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n" - + " -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n" - + " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n" - + " -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" - + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n" - + " -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n" - + " -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n" - + " -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n" - + " -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n" - + " -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n" - + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n" - + " -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" - + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 100 -ast 1 -aet 100 "; - setAttr ".st" 6; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape4"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape5"; - setAttr ".tp" 6; -createNode dCollisionShape -n "dCollisionShape6"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape7"; - setAttr ".tp" 4; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "dRigidBodyShape1.msg" "dSixdofConstraintShape1.inrbA"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape3.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape3.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape4.solv"; -connectAttr "dCollisionShape4.oucs" "dRigidBodyShape4.incs"; -connectAttr "dRigidBodyShape3.msg" "dSixdofConstraintShape2.inrbA"; -connectAttr "dRigidBodyShape4.msg" "dSixdofConstraintShape2.inrbB"; -connectAttr "dSolver1.rbds" "dRigidBodyShape5.solv"; -connectAttr "dCollisionShape5.oucs" "dRigidBodyShape5.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape6.solv"; -connectAttr "dCollisionShape6.oucs" "dRigidBodyShape6.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape7.solv"; -connectAttr "dCollisionShape7.oucs" "dRigidBodyShape7.incs"; -connectAttr "dRigidBodyShape6.msg" "dSixdofConstraintShape3.inrbA"; -connectAttr "dRigidBodyShape7.msg" "dSixdofConstraintShape3.inrbB"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of SixDofConstraint.ma diff --git a/Extras/MayaPlugin/scenes/SliderConstraint_v276.ma b/Extras/MayaPlugin/scenes/SliderConstraint_v276.ma deleted file mode 100644 index 5fc1079ba..000000000 --- a/Extras/MayaPlugin/scenes/SliderConstraint_v276.ma +++ /dev/null @@ -1,210 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: SliderConstraint.ma -//Last modified: Fri, Jan 22, 2010 07:06:26 PM -//Codeset: 1251 -requires maya "8.5"; -requires "BulletMayaPlugin" "2.76"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Complete 8.5"; -fileInfo "version" "8.5 Service Pack 1"; -fileInfo "cutIdentifier" "200706062232-700503"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" -1.121862257366864 9.5410966355411908 45.903699744377633 ; - setAttr ".r" -type "double3" -11.738352729606017 -1.3999999999977073 -2.7341053377653525e-016 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 46.898195595940187; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0.16846184179137066 5.585157985544674 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 37.126971335603372; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody3"; -createNode dRigidBody -n "dRigidBodyShape3" -p "dRigidBody3"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "dRigidBody4"; - setAttr ".t" -type "double3" 0 10 0 ; -createNode dRigidBody -n "dRigidBodyShape4" -p "dRigidBody4"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 10 0 ; -createNode transform -n "dRigidBody5"; - setAttr ".t" -type "double3" 0 6 0 ; - setAttr ".r" -type "double3" -0.073827534748987664 39.413452926302256 -0.31976101560540626 ; -createNode dRigidBody -n "dRigidBodyShape5" -p "dRigidBody5"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 6 0 ; - setAttr ".inro" -type "float3" -0.073827535 39.413452 -0.31976101 ; -createNode transform -n "dSliderConstraint1"; - setAttr ".t" -type "double3" 0 6 0 ; - setAttr ".r" -type "double3" -1.5681541670487501e-005 -3.9008264880987513e-007 90.000019318692708 ; -createNode dSliderConstraint -n "dSliderConstraintShape1" -p "dSliderConstraint1"; - setAttr -k off ".v"; - setAttr ".lllt" -2; - setAttr ".ullt" 1; - setAttr ".hgRotA" -type "float3" -39.413353 0.12920605 90.247055 ; - setAttr ".hgRotB" -type "float3" -1.5681544e-005 -8.1074069e-013 90.000015 ; - setAttr ".pivinB" -type "float3" 0 -4 0 ; -createNode transform -n "dRigidBody6"; - setAttr ".t" -type "double3" 0.66548347473144531 1.190865159034729 0 ; -createNode dRigidBody -n "dRigidBodyShape6" -p "dRigidBody6"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0.66548347 1.1908652 0 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 6; -createNode dCollisionShape -n "dCollisionShape4"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape5"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape6"; - setAttr ".tp" 4; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n" - + " -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n" - + " -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n" - + " -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n" - + " -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n" - + " -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n" - + " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n" - + " -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" - + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n" - + " -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n" - + " -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n" - + " -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n" - + " -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n" - + " -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" - + "\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n" - + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n" - + " -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" - + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n" - + " -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 100 -ast 1 -aet 100 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape3.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape3.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape4.solv"; -connectAttr "dCollisionShape4.oucs" "dRigidBodyShape4.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape5.solv"; -connectAttr "dCollisionShape5.oucs" "dRigidBodyShape5.incs"; -connectAttr "dRigidBodyShape5.msg" "dSliderConstraintShape1.inrbA"; -connectAttr "dRigidBodyShape4.msg" "dSliderConstraintShape1.inrbB"; -connectAttr "dSolver1.rbds" "dRigidBodyShape6.solv"; -connectAttr "dCollisionShape6.oucs" "dRigidBodyShape6.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of SliderConstraint.ma diff --git a/Extras/MayaPlugin/scenes/donuts.ma b/Extras/MayaPlugin/scenes/donuts.ma deleted file mode 100644 index 5ce95fbf6..000000000 --- a/Extras/MayaPlugin/scenes/donuts.ma +++ /dev/null @@ -1,312 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: donuts.ma -//Last modified: Tue, Jul 22, 2008 03:46:23 PM -//Codeset: ANSI_X3.4-1968 -requires maya "8.5"; -requires "dynamica" "1.0"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 41.083860079555834 34.218971533823932 87.868595563990425 ; - setAttr ".r" -type "double3" -22.538352729605073 23.400000000000961 -8.663957098263457e-16 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999986; - setAttr ".coi" 102.00909559719346; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "pTorus1"; - setAttr ".v" no; - setAttr ".t" -type "double3" 8.9212312542979149 0 3.5083436775822037 ; -createNode mesh -n "pTorusShape1" -p "pTorus1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "dRigidBodyArray1"; -createNode dRigidBodyArray -n "dRigidBodyArrayShape1" -p "dRigidBodyArray1"; - setAttr -k off ".v"; - setAttr ".nbds" 1000; - setAttr -s 1000 ".inpo"; - setAttr ".inpo[0:165]" -type "float3" 0 10 0 2 10 0 4 10 0 6 10 0 8 10 0 10 10 - 0 12 10 0 14 10 0 16 10 0 18 10 0 0 10 2 2 10 2 4 10 2 6 10 2 8 10 2 10 10 2 12 10 - 2 14 10 2 16 10 2 18 10 2 0 10 4 2 10 4 4 10 4 6 10 4 8 10 4 10 10 4 12 10 4 14 10 - 4 16 10 4 18 10 4 0 10 6 2 10 6 4 10 6 6 10 6 8 10 6 10 10 6 12 10 6 14 10 6 16 10 - 6 18 10 6 0 10 8 2 10 8 4 10 8 6 10 8 8 10 8 10 10 8 12 10 8 14 10 8 16 10 8 18 10 - 8 0 10 10 2 10 10 4 10 10 6 10 10 8 10 10 10 10 10 12 10 10 14 10 10 16 10 10 18 - 10 10 0 10 12 2 10 12 4 10 12 6 10 12 8 10 12 10 10 12 12 10 12 14 10 12 16 10 12 - 18 10 12 0 10 14 2 10 14 4 10 14 6 10 14 8 10 14 10 10 14 12 10 14 14 10 14 16 10 - 14 18 10 14 0 10 16 2 10 16 4 10 16 6 10 16 8 10 16 10 10 16 12 10 16 14 10 16 16 - 10 16 18 10 16 0 10 18 2 10 18 4 10 18 6 10 18 8 10 18 10 10 18 12 10 18 14 10 18 - 16 10 18 18 10 18 0 12 0 2 12 0 4 12 0 6 12 0 8 12 0 10 12 0 12 12 0 14 12 0 16 12 - 0 18 12 0 0 12 2 2 12 2 4 12 2 6 12 2 8 12 2 10 12 2 12 12 2 14 12 2 16 12 2 18 12 - 2 0 12 4 2 12 4 4 12 4 6 12 4 8 12 4 10 12 4 12 12 4 14 12 4 16 12 4 18 12 4 0 12 - 6 2 12 6 4 12 6 6 12 6 8 12 6 10 12 6 12 12 6 14 12 6 16 12 6 18 12 6 0 12 8 2 12 - 8 4 12 8 6 12 8 8 12 8 10 12 8 12 12 8 14 12 8 16 12 8 18 12 8 0 12 10 2 12 10 4 - 12 10 6 12 10 8 12 10 10 12 10 12 12 10 14 12 10 16 12 10 18 12 10 0 12 12 2 12 12 - 4 12 12 6 12 12 8 12 12 10 12 12; - setAttr ".inpo[166:331]" 12 12 12 14 12 12 16 12 12 18 12 12 0 12 14 2 12 14 4 12 - 14 6 12 14 8 12 14 10 12 14 12 12 14 14 12 14 16 12 14 18 12 14 0 12 16 2 12 16 4 - 12 16 6 12 16 8 12 16 10 12 16 12 12 16 14 12 16 16 12 16 18 12 16 0 12 18 2 12 18 - 4 12 18 6 12 18 8 12 18 10 12 18 12 12 18 14 12 18 16 12 18 18 12 18 0 14 0 2 14 - 0 4 14 0 6 14 0 8 14 0 10 14 0 12 14 0 14 14 0 16 14 0 18 14 0 0 14 2 2 14 2 4 14 - 2 6 14 2 8 14 2 10 14 2 12 14 2 14 14 2 16 14 2 18 14 2 0 14 4 2 14 4 4 14 4 6 14 - 4 8 14 4 10 14 4 12 14 4 14 14 4 16 14 4 18 14 4 0 14 6 2 14 6 4 14 6 6 14 6 8 14 - 6 10 14 6 12 14 6 14 14 6 16 14 6 18 14 6 0 14 8 2 14 8 4 14 8 6 14 8 8 14 8 10 14 - 8 12 14 8 14 14 8 16 14 8 18 14 8 0 14 10 2 14 10 4 14 10 6 14 10 8 14 10 10 14 10 - 12 14 10 14 14 10 16 14 10 18 14 10 0 14 12 2 14 12 4 14 12 6 14 12 8 14 12 10 14 - 12 12 14 12 14 14 12 16 14 12 18 14 12 0 14 14 2 14 14 4 14 14 6 14 14 8 14 14 10 - 14 14 12 14 14 14 14 14 16 14 14 18 14 14 0 14 16 2 14 16 4 14 16 6 14 16 8 14 16 - 10 14 16 12 14 16 14 14 16 16 14 16 18 14 16 0 14 18 2 14 18 4 14 18 6 14 18 8 14 - 18 10 14 18 12 14 18 14 14 18 16 14 18 18 14 18 0 16 0 2 16 0 4 16 0 6 16 0 8 16 - 0 10 16 0 12 16 0 14 16 0 16 16 0 18 16 0 0 16 2 2 16 2 4 16 2 6 16 2 8 16 2 10 16 - 2 12 16 2 14 16 2 16 16 2 18 16 2 0 16 4 2 16 4 4 16 4 6 16 4 8 16 4 10 16 4 12 16 - 4 14 16 4 16 16 4 18 16 4 0 16 6 2 16 6; - setAttr ".inpo[332:497]" 4 16 6 6 16 6 8 16 6 10 16 6 12 16 6 14 16 6 16 16 6 18 - 16 6 0 16 8 2 16 8 4 16 8 6 16 8 8 16 8 10 16 8 12 16 8 14 16 8 16 16 8 18 16 8 0 - 16 10 2 16 10 4 16 10 6 16 10 8 16 10 10 16 10 12 16 10 14 16 10 16 16 10 18 16 10 - 0 16 12 2 16 12 4 16 12 6 16 12 8 16 12 10 16 12 12 16 12 14 16 12 16 16 12 18 16 - 12 0 16 14 2 16 14 4 16 14 6 16 14 8 16 14 10 16 14 12 16 14 14 16 14 16 16 14 18 - 16 14 0 16 16 2 16 16 4 16 16 6 16 16 8 16 16 10 16 16 12 16 16 14 16 16 16 16 16 - 18 16 16 0 16 18 2 16 18 4 16 18 6 16 18 8 16 18 10 16 18 12 16 18 14 16 18 16 16 - 18 18 16 18 0 18 0 2 18 0 4 18 0 6 18 0 8 18 0 10 18 0 12 18 0 14 18 0 16 18 0 18 - 18 0 0 18 2 2 18 2 4 18 2 6 18 2 8 18 2 10 18 2 12 18 2 14 18 2 16 18 2 18 18 2 0 - 18 4 2 18 4 4 18 4 6 18 4 8 18 4 10 18 4 12 18 4 14 18 4 16 18 4 18 18 4 0 18 6 2 - 18 6 4 18 6 6 18 6 8 18 6 10 18 6 12 18 6 14 18 6 16 18 6 18 18 6 0 18 8 2 18 8 4 - 18 8 6 18 8 8 18 8 10 18 8 12 18 8 14 18 8 16 18 8 18 18 8 0 18 10 2 18 10 4 18 10 - 6 18 10 8 18 10 10 18 10 12 18 10 14 18 10 16 18 10 18 18 10 0 18 12 2 18 12 4 18 - 12 6 18 12 8 18 12 10 18 12 12 18 12 14 18 12 16 18 12 18 18 12 0 18 14 2 18 14 4 - 18 14 6 18 14 8 18 14 10 18 14 12 18 14 14 18 14 16 18 14 18 18 14 0 18 16 2 18 16 - 4 18 16 6 18 16 8 18 16 10 18 16 12 18 16 14 18 16 16 18 16 18 18 16 0 18 18 2 18 - 18 4 18 18 6 18 18 8 18 18 10 18 18 12 18 18 14 18 18; - setAttr ".inpo[498:663]" 16 18 18 18 18 18 0 20 0 2 20 0 4 20 0 6 20 0 8 20 0 10 - 20 0 12 20 0 14 20 0 16 20 0 18 20 0 0 20 2 2 20 2 4 20 2 6 20 2 8 20 2 10 20 2 12 - 20 2 14 20 2 16 20 2 18 20 2 0 20 4 2 20 4 4 20 4 6 20 4 8 20 4 10 20 4 12 20 4 14 - 20 4 16 20 4 18 20 4 0 20 6 2 20 6 4 20 6 6 20 6 8 20 6 10 20 6 12 20 6 14 20 6 16 - 20 6 18 20 6 0 20 8 2 20 8 4 20 8 6 20 8 8 20 8 10 20 8 12 20 8 14 20 8 16 20 8 18 - 20 8 0 20 10 2 20 10 4 20 10 6 20 10 8 20 10 10 20 10 12 20 10 14 20 10 16 20 10 - 18 20 10 0 20 12 2 20 12 4 20 12 6 20 12 8 20 12 10 20 12 12 20 12 14 20 12 16 20 - 12 18 20 12 0 20 14 2 20 14 4 20 14 6 20 14 8 20 14 10 20 14 12 20 14 14 20 14 16 - 20 14 18 20 14 0 20 16 2 20 16 4 20 16 6 20 16 8 20 16 10 20 16 12 20 16 14 20 16 - 16 20 16 18 20 16 0 20 18 2 20 18 4 20 18 6 20 18 8 20 18 10 20 18 12 20 18 14 20 - 18 16 20 18 18 20 18 0 22 0 2 22 0 4 22 0 6 22 0 8 22 0 10 22 0 12 22 0 14 22 0 16 - 22 0 18 22 0 0 22 2 2 22 2 4 22 2 6 22 2 8 22 2 10 22 2 12 22 2 14 22 2 16 22 2 18 - 22 2 0 22 4 2 22 4 4 22 4 6 22 4 8 22 4 10 22 4 12 22 4 14 22 4 16 22 4 18 22 4 0 - 22 6 2 22 6 4 22 6 6 22 6 8 22 6 10 22 6 12 22 6 14 22 6 16 22 6 18 22 6 0 22 8 2 - 22 8 4 22 8 6 22 8 8 22 8 10 22 8 12 22 8 14 22 8 16 22 8 18 22 8 0 22 10 2 22 10 - 4 22 10 6 22 10 8 22 10 10 22 10 12 22 10 14 22 10 16 22 10 18 22 10 0 22 12 2 22 - 12 4 22 12 6 22 12; - setAttr ".inpo[664:829]" 8 22 12 10 22 12 12 22 12 14 22 12 16 22 12 18 22 12 0 - 22 14 2 22 14 4 22 14 6 22 14 8 22 14 10 22 14 12 22 14 14 22 14 16 22 14 18 22 14 - 0 22 16 2 22 16 4 22 16 6 22 16 8 22 16 10 22 16 12 22 16 14 22 16 16 22 16 18 22 - 16 0 22 18 2 22 18 4 22 18 6 22 18 8 22 18 10 22 18 12 22 18 14 22 18 16 22 18 18 - 22 18 0 24 0 2 24 0 4 24 0 6 24 0 8 24 0 10 24 0 12 24 0 14 24 0 16 24 0 18 24 0 - 0 24 2 2 24 2 4 24 2 6 24 2 8 24 2 10 24 2 12 24 2 14 24 2 16 24 2 18 24 2 0 24 4 - 2 24 4 4 24 4 6 24 4 8 24 4 10 24 4 12 24 4 14 24 4 16 24 4 18 24 4 0 24 6 2 24 6 - 4 24 6 6 24 6 8 24 6 10 24 6 12 24 6 14 24 6 16 24 6 18 24 6 0 24 8 2 24 8 4 24 8 - 6 24 8 8 24 8 10 24 8 12 24 8 14 24 8 16 24 8 18 24 8 0 24 10 2 24 10 4 24 10 6 24 - 10 8 24 10 10 24 10 12 24 10 14 24 10 16 24 10 18 24 10 0 24 12 2 24 12 4 24 12 6 - 24 12 8 24 12 10 24 12 12 24 12 14 24 12 16 24 12 18 24 12 0 24 14 2 24 14 4 24 14 - 6 24 14 8 24 14 10 24 14 12 24 14 14 24 14 16 24 14 18 24 14 0 24 16 2 24 16 4 24 - 16 6 24 16 8 24 16 10 24 16 12 24 16 14 24 16 16 24 16 18 24 16 0 24 18 2 24 18 4 - 24 18 6 24 18 8 24 18 10 24 18 12 24 18 14 24 18 16 24 18 18 24 18 0 26 0 2 26 0 - 4 26 0 6 26 0 8 26 0 10 26 0 12 26 0 14 26 0 16 26 0 18 26 0 0 26 2 2 26 2 4 26 2 - 6 26 2 8 26 2 10 26 2 12 26 2 14 26 2 16 26 2 18 26 2 0 26 4 2 26 4 4 26 4 6 26 4 - 8 26 4 10 26 4 12 26 4 14 26 4 16 26 4 18 26 4; - setAttr ".inpo[830:995]" 0 26 6 2 26 6 4 26 6 6 26 6 8 26 6 10 26 6 12 26 6 14 26 - 6 16 26 6 18 26 6 0 26 8 2 26 8 4 26 8 6 26 8 8 26 8 10 26 8 12 26 8 14 26 8 16 26 - 8 18 26 8 0 26 10 2 26 10 4 26 10 6 26 10 8 26 10 10 26 10 12 26 10 14 26 10 16 26 - 10 18 26 10 0 26 12 2 26 12 4 26 12 6 26 12 8 26 12 10 26 12 12 26 12 14 26 12 16 - 26 12 18 26 12 0 26 14 2 26 14 4 26 14 6 26 14 8 26 14 10 26 14 12 26 14 14 26 14 - 16 26 14 18 26 14 0 26 16 2 26 16 4 26 16 6 26 16 8 26 16 10 26 16 12 26 16 14 26 - 16 16 26 16 18 26 16 0 26 18 2 26 18 4 26 18 6 26 18 8 26 18 10 26 18 12 26 18 14 - 26 18 16 26 18 18 26 18 0 28 0 2 28 0 4 28 0 6 28 0 8 28 0 10 28 0 12 28 0 14 28 - 0 16 28 0 18 28 0 0 28 2 2 28 2 4 28 2 6 28 2 8 28 2 10 28 2 12 28 2 14 28 2 16 28 - 2 18 28 2 0 28 4 2 28 4 4 28 4 6 28 4 8 28 4 10 28 4 12 28 4 14 28 4 16 28 4 18 28 - 4 0 28 6 2 28 6 4 28 6 6 28 6 8 28 6 10 28 6 12 28 6 14 28 6 16 28 6 18 28 6 0 28 - 8 2 28 8 4 28 8 6 28 8 8 28 8 10 28 8 12 28 8 14 28 8 16 28 8 18 28 8 0 28 10 2 28 - 10 4 28 10 6 28 10 8 28 10 10 28 10 12 28 10 14 28 10 16 28 10 18 28 10 0 28 12 2 - 28 12 4 28 12 6 28 12 8 28 12 10 28 12 12 28 12 14 28 12 16 28 12 18 28 12 0 28 14 - 2 28 14 4 28 14 6 28 14 8 28 14 10 28 14 12 28 14 14 28 14 16 28 14 18 28 14 0 28 - 16 2 28 16 4 28 16 6 28 16 8 28 16 10 28 16 12 28 16 14 28 16 16 28 16 18 28 16 0 - 28 18 2 28 18 4 28 18 6 28 18 8 28 18 10 28 18; - setAttr ".inpo[996:999]" 12 28 18 14 28 18 16 28 18 18 28 18; -createNode transform -n "dRigidBody1"; - setAttr ".r" -type "double3" 0 0 -20.866318216103668 ; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; - setAttr ".inro" -type "float3" 0 0 -20.866302 ; -createNode transform -n "dRigidBody2"; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" -53.036907 90.318428 0 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr -k off ".grvt" -type "float3" 1.4012985e-45 -9.8100004 0 ; - setAttr -k off ".grvt"; -createNode polyTorus -n "polyTorus1"; - setAttr ".r" 0.80618598613471848; - setAttr ".sr" 0.19999999999999996; - setAttr ".sa" 6; - setAttr ".sh" 6; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 0; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 6; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 4; - setAttr ".sc" -type "float3" 1 1 40 ; -createNode animCurveTL -n "dRigidBody2_translateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 -22.268104292112419 69 -2.5917654377150257 101 13.767409521567387; -createNode animCurveTL -n "dRigidBody2_translateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 11.787800135659548 69 3.4651682088185822 101 -3.5233609163150508; -createNode animCurveTL -n "dRigidBody2_translateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 0 69 0 101 0; -createNode animCurveTU -n "dRigidBody2_visibility"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 1 69 1 101 1; - setAttr -s 3 ".kot[0:2]" 5 5 5; -createNode animCurveTA -n "dRigidBody2_rotateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 0 69 0 101 0; -createNode animCurveTA -n "dRigidBody2_rotateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 0 69 0 101 0; -createNode animCurveTA -n "dRigidBody2_rotateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 0 69 0 101 0; -createNode animCurveTU -n "dRigidBody2_scaleX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 1 69 1 101 1; -createNode animCurveTU -n "dRigidBody2_scaleY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 1 69 1 101 1; -createNode animCurveTU -n "dRigidBody2_scaleZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 1 1 69 1 101 1; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "polyTorus1.out" "pTorusShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyArrayShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyArrayShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape1.incs"; -connectAttr "dRigidBody2_translateX.o" "dRigidBody2.tx"; -connectAttr "dRigidBody2_translateY.o" "dRigidBody2.ty"; -connectAttr "dRigidBody2_translateZ.o" "dRigidBody2.tz"; -connectAttr "dRigidBody2_visibility.o" "dRigidBody2.v"; -connectAttr "dRigidBody2_rotateX.o" "dRigidBody2.rx"; -connectAttr "dRigidBody2_rotateY.o" "dRigidBody2.ry"; -connectAttr "dRigidBody2_rotateZ.o" "dRigidBody2.rz"; -connectAttr "dRigidBody2_scaleX.o" "dRigidBody2.sx"; -connectAttr "dRigidBody2_scaleY.o" "dRigidBody2.sy"; -connectAttr "dRigidBody2_scaleZ.o" "dRigidBody2.sz"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape2.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "pTorusShape1.msg" "dCollisionShape1.insh"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -connectAttr "pTorusShape1.iog" ":initialShadingGroup.dsm" -na; -// End of donuts.ma diff --git a/Extras/MayaPlugin/scenes/field1.ma b/Extras/MayaPlugin/scenes/field1.ma deleted file mode 100644 index d2b4c44a8..000000000 --- a/Extras/MayaPlugin/scenes/field1.ma +++ /dev/null @@ -1,345 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: field1.ma -//Last modified: Tue, Jul 22, 2008 03:45:02 PM -//Codeset: ANSI_X3.4-1968 -requires maya "8.5"; -requires "dynamica" "1.0"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 147.3351795265591 91.887959018906045 111.62344736775415 ; - setAttr ".r" -type "double3" -13.538352729603314 51.000000000000973 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 256.86868202409499; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBodyArray1"; - setAttr ".t" -type "double3" 0 45.795790908388817 0 ; -createNode dRigidBodyArray -n "dRigidBodyArrayShape1" -p "dRigidBodyArray1"; - setAttr -k off ".v"; - setAttr ".nbds" 1000; - setAttr -s 1000 ".inpo"; - setAttr ".inpo[0:165]" -type "float3" -12.5 79.091583 -12.5 -10 79.091583 -12.5 - -7.5 79.091583 -12.5 -5 79.091583 -12.5 -2.5 79.091583 -12.5 0 79.091583 -12.5 2.5 - 79.091583 -12.5 5 79.091583 -12.5 7.5 79.091583 -12.5 10 79.091583 -12.5 -12.5 81.591583 - -12.5 -10 81.591583 -12.5 -7.5 81.591583 -12.5 -5 81.591583 -12.5 -2.5 81.591583 - -12.5 0 81.591583 -12.5 2.5 81.591583 -12.5 5 81.591583 -12.5 7.5 81.591583 -12.5 - 10 81.591583 -12.5 -12.5 84.091583 -12.5 -10 84.091583 -12.5 -7.5 84.091583 -12.5 - -5 84.091583 -12.5 -2.5 84.091583 -12.5 0 84.091583 -12.5 2.5 84.091583 -12.5 5 84.091583 - -12.5 7.5 84.091583 -12.5 10 84.091583 -12.5 -12.5 86.591576 -12.5 -10 86.591576 - -12.5 -7.5 86.591576 -12.5 -5 86.591576 -12.5 -2.5 86.591576 -12.5 0 86.591576 -12.5 - 2.5 86.591576 -12.5 5 86.591576 -12.5 7.5 86.591576 -12.5 10 86.591576 -12.5 -12.5 - 89.091576 -12.5 -10 89.091576 -12.5 -7.5 89.091576 -12.5 -5 89.091576 -12.5 -2.5 - 89.091576 -12.5 0 89.091576 -12.5 2.5 89.091576 -12.5 5 89.091576 -12.5 7.5 89.091576 - -12.5 10 89.091576 -12.5 -12.5 91.591583 -12.5 -10 91.591583 -12.5 -7.5 91.591583 - -12.5 -5 91.591583 -12.5 -2.5 91.591583 -12.5 0 91.591583 -12.5 2.5 91.591583 -12.5 - 5 91.591583 -12.5 7.5 91.591583 -12.5 10 91.591583 -12.5 -12.5 94.091583 -12.5 -10 - 94.091583 -12.5 -7.5 94.091583 -12.5 -5 94.091583 -12.5 -2.5 94.091583 -12.5 0 94.091583 - -12.5 2.5 94.091583 -12.5 5 94.091583 -12.5 7.5 94.091583 -12.5 10 94.091583 -12.5 - -12.5 96.591583 -12.5 -10 96.591583 -12.5 -7.5 96.591583 -12.5 -5 96.591583 -12.5 - -2.5 96.591583 -12.5 0 96.591583 -12.5 2.5 96.591583 -12.5 5 96.591583 -12.5 7.5 - 96.591583 -12.5 10 96.591583 -12.5 -12.5 99.091576 -12.5 -10 99.091576 -12.5 -7.5 - 99.091576 -12.5 -5 99.091576 -12.5 -2.5 99.091576 -12.5 0 99.091576 -12.5 2.5 99.091576 - -12.5 5 99.091576 -12.5 7.5 99.091576 -12.5 10 99.091576 -12.5 -12.5 101.59158 -12.5 - -10 101.59158 -12.5 -7.5 101.59158 -12.5 -5 101.59158 -12.5 -2.5 101.59158 -12.5 - 0 101.59158 -12.5 2.5 101.59158 -12.5 5 101.59158 -12.5 7.5 101.59158 -12.5 10 101.59158 - -12.5 -12.5 79.091583 -10 -10 79.091583 -10 -7.5 79.091583 -10 -5 79.091583 -10 -2.5 - 79.091583 -10 0 79.091583 -10 2.5 79.091583 -10 5 79.091583 -10 7.5 79.091583 -10 - 10 79.091583 -10 -12.5 81.591583 -10 -10 81.591583 -10 -7.5 81.591583 -10 -5 81.591583 - -10 -2.5 81.591583 -10 0 81.591583 -10 2.5 81.591583 -10 5 81.591583 -10 7.5 81.591583 - -10 10 81.591583 -10 -12.5 84.091583 -10 -10 84.091583 -10 -7.5 84.091583 -10 -5 - 84.091583 -10 -2.5 84.091583 -10 0 84.091583 -10 2.5 84.091583 -10 5 84.091583 -10 - 7.5 84.091583 -10 10 84.091583 -10 -12.5 86.591576 -10 -10 86.591576 -10 -7.5 86.591576 - -10 -5 86.591576 -10 -2.5 86.591576 -10 0 86.591576 -10 2.5 86.591576 -10 5 86.591576 - -10 7.5 86.591576 -10 10 86.591576 -10 -12.5 89.091576 -10 -10 89.091576 -10 -7.5 - 89.091576 -10 -5 89.091576 -10 -2.5 89.091576 -10 0 89.091576 -10 2.5 89.091576 -10 - 5 89.091576 -10 7.5 89.091576 -10 10 89.091576 -10 -12.5 91.591583 -10 -10 91.591583 - -10 -7.5 91.591583 -10 -5 91.591583 -10 -2.5 91.591583 -10 0 91.591583 -10 2.5 91.591583 - -10 5 91.591583 -10 7.5 91.591583 -10 10 91.591583 -10 -12.5 94.091583 -10 -10 94.091583 - -10 -7.5 94.091583 -10 -5 94.091583 -10 -2.5 94.091583 -10 0 94.091583 -10; - setAttr ".inpo[166:331]" 2.5 94.091583 -10 5 94.091583 -10 7.5 94.091583 -10 10 - 94.091583 -10 -12.5 96.591583 -10 -10 96.591583 -10 -7.5 96.591583 -10 -5 96.591583 - -10 -2.5 96.591583 -10 0 96.591583 -10 2.5 96.591583 -10 5 96.591583 -10 7.5 96.591583 - -10 10 96.591583 -10 -12.5 99.091576 -10 -10 99.091576 -10 -7.5 99.091576 -10 -5 - 99.091576 -10 -2.5 99.091576 -10 0 99.091576 -10 2.5 99.091576 -10 5 99.091576 -10 - 7.5 99.091576 -10 10 99.091576 -10 -12.5 101.59158 -10 -10 101.59158 -10 -7.5 101.59158 - -10 -5 101.59158 -10 -2.5 101.59158 -10 0 101.59158 -10 2.5 101.59158 -10 5 101.59158 - -10 7.5 101.59158 -10 10 101.59158 -10 -12.5 79.091583 -7.5 -10 79.091583 -7.5 -7.5 - 79.091583 -7.5 -5 79.091583 -7.5 -2.5 79.091583 -7.5 0 79.091583 -7.5 2.5 79.091583 - -7.5 5 79.091583 -7.5 7.5 79.091583 -7.5 10 79.091583 -7.5 -12.5 81.591583 -7.5 -10 - 81.591583 -7.5 -7.5 81.591583 -7.5 -5 81.591583 -7.5 -2.5 81.591583 -7.5 0 81.591583 - -7.5 2.5 81.591583 -7.5 5 81.591583 -7.5 7.5 81.591583 -7.5 10 81.591583 -7.5 -12.5 - 84.091583 -7.5 -10 84.091583 -7.5 -7.5 84.091583 -7.5 -5 84.091583 -7.5 -2.5 84.091583 - -7.5 0 84.091583 -7.5 2.5 84.091583 -7.5 5 84.091583 -7.5 7.5 84.091583 -7.5 10 84.091583 - -7.5 -12.5 86.591576 -7.5 -10 86.591576 -7.5 -7.5 86.591576 -7.5 -5 86.591576 -7.5 - -2.5 86.591576 -7.5 0 86.591576 -7.5 2.5 86.591576 -7.5 5 86.591576 -7.5 7.5 86.591576 - -7.5 10 86.591576 -7.5 -12.5 89.091576 -7.5 -10 89.091576 -7.5 -7.5 89.091576 -7.5 - -5 89.091576 -7.5 -2.5 89.091576 -7.5 0 89.091576 -7.5 2.5 89.091576 -7.5 5 89.091576 - -7.5 7.5 89.091576 -7.5 10 89.091576 -7.5 -12.5 91.591583 -7.5 -10 91.591583 -7.5 - -7.5 91.591583 -7.5 -5 91.591583 -7.5 -2.5 91.591583 -7.5 0 91.591583 -7.5 2.5 91.591583 - -7.5 5 91.591583 -7.5 7.5 91.591583 -7.5 10 91.591583 -7.5 -12.5 94.091583 -7.5 -10 - 94.091583 -7.5 -7.5 94.091583 -7.5 -5 94.091583 -7.5 -2.5 94.091583 -7.5 0 94.091583 - -7.5 2.5 94.091583 -7.5 5 94.091583 -7.5 7.5 94.091583 -7.5 10 94.091583 -7.5 -12.5 - 96.591583 -7.5 -10 96.591583 -7.5 -7.5 96.591583 -7.5 -5 96.591583 -7.5 -2.5 96.591583 - -7.5 0 96.591583 -7.5 2.5 96.591583 -7.5 5 96.591583 -7.5 7.5 96.591583 -7.5 10 96.591583 - -7.5 -12.5 99.091576 -7.5 -10 99.091576 -7.5 -7.5 99.091576 -7.5 -5 99.091576 -7.5 - -2.5 99.091576 -7.5 0 99.091576 -7.5 2.5 99.091576 -7.5 5 99.091576 -7.5 7.5 99.091576 - -7.5 10 99.091576 -7.5 -12.5 101.59158 -7.5 -10 101.59158 -7.5 -7.5 101.59158 -7.5 - -5 101.59158 -7.5 -2.5 101.59158 -7.5 0 101.59158 -7.5 2.5 101.59158 -7.5 5 101.59158 - -7.5 7.5 101.59158 -7.5 10 101.59158 -7.5 -12.5 79.091583 -5 -10 79.091583 -5 -7.5 - 79.091583 -5 -5 79.091583 -5 -2.5 79.091583 -5 0 79.091583 -5 2.5 79.091583 -5 5 - 79.091583 -5 7.5 79.091583 -5 10 79.091583 -5 -12.5 81.591583 -5 -10 81.591583 -5 - -7.5 81.591583 -5 -5 81.591583 -5 -2.5 81.591583 -5 0 81.591583 -5 2.5 81.591583 - -5 5 81.591583 -5 7.5 81.591583 -5 10 81.591583 -5 -12.5 84.091583 -5 -10 84.091583 - -5 -7.5 84.091583 -5 -5 84.091583 -5 -2.5 84.091583 -5 0 84.091583 -5 2.5 84.091583 - -5 5 84.091583 -5 7.5 84.091583 -5 10 84.091583 -5 -12.5 86.591576 -5 -10 86.591576 - -5; - setAttr ".inpo[332:497]" -7.5 86.591576 -5 -5 86.591576 -5 -2.5 86.591576 -5 0 86.591576 - -5 2.5 86.591576 -5 5 86.591576 -5 7.5 86.591576 -5 10 86.591576 -5 -12.5 89.091576 - -5 -10 89.091576 -5 -7.5 89.091576 -5 -5 89.091576 -5 -2.5 89.091576 -5 0 89.091576 - -5 2.5 89.091576 -5 5 89.091576 -5 7.5 89.091576 -5 10 89.091576 -5 -12.5 91.591583 - -5 -10 91.591583 -5 -7.5 91.591583 -5 -5 91.591583 -5 -2.5 91.591583 -5 0 91.591583 - -5 2.5 91.591583 -5 5 91.591583 -5 7.5 91.591583 -5 10 91.591583 -5 -12.5 94.091583 - -5 -10 94.091583 -5 -7.5 94.091583 -5 -5 94.091583 -5 -2.5 94.091583 -5 0 94.091583 - -5 2.5 94.091583 -5 5 94.091583 -5 7.5 94.091583 -5 10 94.091583 -5 -12.5 96.591583 - -5 -10 96.591583 -5 -7.5 96.591583 -5 -5 96.591583 -5 -2.5 96.591583 -5 0 96.591583 - -5 2.5 96.591583 -5 5 96.591583 -5 7.5 96.591583 -5 10 96.591583 -5 -12.5 99.091576 - -5 -10 99.091576 -5 -7.5 99.091576 -5 -5 99.091576 -5 -2.5 99.091576 -5 0 99.091576 - -5 2.5 99.091576 -5 5 99.091576 -5 7.5 99.091576 -5 10 99.091576 -5 -12.5 101.59158 - -5 -10 101.59158 -5 -7.5 101.59158 -5 -5 101.59158 -5 -2.5 101.59158 -5 0 101.59158 - -5 2.5 101.59158 -5 5 101.59158 -5 7.5 101.59158 -5 10 101.59158 -5 -12.5 79.091583 - -2.5 -10 79.091583 -2.5 -7.5 79.091583 -2.5 -5 79.091583 -2.5 -2.5 79.091583 -2.5 - 0 79.091583 -2.5 2.5 79.091583 -2.5 5 79.091583 -2.5 7.5 79.091583 -2.5 10 79.091583 - -2.5 -12.5 81.591583 -2.5 -10 81.591583 -2.5 -7.5 81.591583 -2.5 -5 81.591583 -2.5 - -2.5 81.591583 -2.5 0 81.591583 -2.5 2.5 81.591583 -2.5 5 81.591583 -2.5 7.5 81.591583 - -2.5 10 81.591583 -2.5 -12.5 84.091583 -2.5 -10 84.091583 -2.5 -7.5 84.091583 -2.5 - -5 84.091583 -2.5 -2.5 84.091583 -2.5 0 84.091583 -2.5 2.5 84.091583 -2.5 5 84.091583 - -2.5 7.5 84.091583 -2.5 10 84.091583 -2.5 -12.5 86.591576 -2.5 -10 86.591576 -2.5 - -7.5 86.591576 -2.5 -5 86.591576 -2.5 -2.5 86.591576 -2.5 0 86.591576 -2.5 2.5 86.591576 - -2.5 5 86.591576 -2.5 7.5 86.591576 -2.5 10 86.591576 -2.5 -12.5 89.091576 -2.5 -10 - 89.091576 -2.5 -7.5 89.091576 -2.5 -5 89.091576 -2.5 -2.5 89.091576 -2.5 0 89.091576 - -2.5 2.5 89.091576 -2.5 5 89.091576 -2.5 7.5 89.091576 -2.5 10 89.091576 -2.5 -12.5 - 91.591583 -2.5 -10 91.591583 -2.5 -7.5 91.591583 -2.5 -5 91.591583 -2.5 -2.5 91.591583 - -2.5 0 91.591583 -2.5 2.5 91.591583 -2.5 5 91.591583 -2.5 7.5 91.591583 -2.5 10 91.591583 - -2.5 -12.5 94.091583 -2.5 -10 94.091583 -2.5 -7.5 94.091583 -2.5 -5 94.091583 -2.5 - -2.5 94.091583 -2.5 0 94.091583 -2.5 2.5 94.091583 -2.5 5 94.091583 -2.5 7.5 94.091583 - -2.5 10 94.091583 -2.5 -12.5 96.591583 -2.5 -10 96.591583 -2.5 -7.5 96.591583 -2.5 - -5 96.591583 -2.5 -2.5 96.591583 -2.5 0 96.591583 -2.5 2.5 96.591583 -2.5 5 96.591583 - -2.5 7.5 96.591583 -2.5 10 96.591583 -2.5 -12.5 99.091576 -2.5 -10 99.091576 -2.5 - -7.5 99.091576 -2.5 -5 99.091576 -2.5 -2.5 99.091576 -2.5 0 99.091576 -2.5 2.5 99.091576 - -2.5 5 99.091576 -2.5 7.5 99.091576 -2.5 10 99.091576 -2.5 -12.5 101.59158 -2.5 -10 - 101.59158 -2.5 -7.5 101.59158 -2.5 -5 101.59158 -2.5 -2.5 101.59158 -2.5 0 101.59158 - -2.5 2.5 101.59158 -2.5 5 101.59158 -2.5; - setAttr ".inpo[498:663]" 7.5 101.59158 -2.5 10 101.59158 -2.5 -12.5 79.091583 0 - -10 79.091583 0 -7.5 79.091583 0 -5 79.091583 0 -2.5 79.091583 0 0 79.091583 0 2.5 - 79.091583 0 5 79.091583 0 7.5 79.091583 0 10 79.091583 0 -12.5 81.591583 0 -10 81.591583 - 0 -7.5 81.591583 0 -5 81.591583 0 -2.5 81.591583 0 0 81.591583 0 2.5 81.591583 0 - 5 81.591583 0 7.5 81.591583 0 10 81.591583 0 -12.5 84.091583 0 -10 84.091583 0 -7.5 - 84.091583 0 -5 84.091583 0 -2.5 84.091583 0 0 84.091583 0 2.5 84.091583 0 5 84.091583 - 0 7.5 84.091583 0 10 84.091583 0 -12.5 86.591576 0 -10 86.591576 0 -7.5 86.591576 - 0 -5 86.591576 0 -2.5 86.591576 0 0 86.591576 0 2.5 86.591576 0 5 86.591576 0 7.5 - 86.591576 0 10 86.591576 0 -12.5 89.091576 0 -10 89.091576 0 -7.5 89.091576 0 -5 - 89.091576 0 -2.5 89.091576 0 0 89.091576 0 2.5 89.091576 0 5 89.091576 0 7.5 89.091576 - 0 10 89.091576 0 -12.5 91.591583 0 -10 91.591583 0 -7.5 91.591583 0 -5 91.591583 - 0 -2.5 91.591583 0 0 91.591583 0 2.5 91.591583 0 5 91.591583 0 7.5 91.591583 0 10 - 91.591583 0 -12.5 94.091583 0 -10 94.091583 0 -7.5 94.091583 0 -5 94.091583 0 -2.5 - 94.091583 0 0 94.091583 0 2.5 94.091583 0 5 94.091583 0 7.5 94.091583 0 10 94.091583 - 0 -12.5 96.591583 0 -10 96.591583 0 -7.5 96.591583 0 -5 96.591583 0 -2.5 96.591583 - 0 0 96.591583 0 2.5 96.591583 0 5 96.591583 0 7.5 96.591583 0 10 96.591583 0 -12.5 - 99.091576 0 -10 99.091576 0 -7.5 99.091576 0 -5 99.091576 0 -2.5 99.091576 0 0 99.091576 - 0 2.5 99.091576 0 5 99.091576 0 7.5 99.091576 0 10 99.091576 0 -12.5 101.59158 0 - -10 101.59158 0 -7.5 101.59158 0 -5 101.59158 0 -2.5 101.59158 0 0 101.59158 0 2.5 - 101.59158 0 5 101.59158 0 7.5 101.59158 0 10 101.59158 0 -12.5 79.091583 2.5 -10 - 79.091583 2.5 -7.5 79.091583 2.5 -5 79.091583 2.5 -2.5 79.091583 2.5 0 79.091583 - 2.5 2.5 79.091583 2.5 5 79.091583 2.5 7.5 79.091583 2.5 10 79.091583 2.5 -12.5 81.591583 - 2.5 -10 81.591583 2.5 -7.5 81.591583 2.5 -5 81.591583 2.5 -2.5 81.591583 2.5 0 81.591583 - 2.5 2.5 81.591583 2.5 5 81.591583 2.5 7.5 81.591583 2.5 10 81.591583 2.5 -12.5 84.091583 - 2.5 -10 84.091583 2.5 -7.5 84.091583 2.5 -5 84.091583 2.5 -2.5 84.091583 2.5 0 84.091583 - 2.5 2.5 84.091583 2.5 5 84.091583 2.5 7.5 84.091583 2.5 10 84.091583 2.5 -12.5 86.591576 - 2.5 -10 86.591576 2.5 -7.5 86.591576 2.5 -5 86.591576 2.5 -2.5 86.591576 2.5 0 86.591576 - 2.5 2.5 86.591576 2.5 5 86.591576 2.5 7.5 86.591576 2.5 10 86.591576 2.5 -12.5 89.091576 - 2.5 -10 89.091576 2.5 -7.5 89.091576 2.5 -5 89.091576 2.5 -2.5 89.091576 2.5 0 89.091576 - 2.5 2.5 89.091576 2.5 5 89.091576 2.5 7.5 89.091576 2.5 10 89.091576 2.5 -12.5 91.591583 - 2.5 -10 91.591583 2.5 -7.5 91.591583 2.5 -5 91.591583 2.5 -2.5 91.591583 2.5 0 91.591583 - 2.5 2.5 91.591583 2.5 5 91.591583 2.5 7.5 91.591583 2.5 10 91.591583 2.5 -12.5 94.091583 - 2.5 -10 94.091583 2.5 -7.5 94.091583 2.5 -5 94.091583 2.5; - setAttr ".inpo[664:829]" -2.5 94.091583 2.5 0 94.091583 2.5 2.5 94.091583 2.5 5 - 94.091583 2.5 7.5 94.091583 2.5 10 94.091583 2.5 -12.5 96.591583 2.5 -10 96.591583 - 2.5 -7.5 96.591583 2.5 -5 96.591583 2.5 -2.5 96.591583 2.5 0 96.591583 2.5 2.5 96.591583 - 2.5 5 96.591583 2.5 7.5 96.591583 2.5 10 96.591583 2.5 -12.5 99.091576 2.5 -10 99.091576 - 2.5 -7.5 99.091576 2.5 -5 99.091576 2.5 -2.5 99.091576 2.5 0 99.091576 2.5 2.5 99.091576 - 2.5 5 99.091576 2.5 7.5 99.091576 2.5 10 99.091576 2.5 -12.5 101.59158 2.5 -10 101.59158 - 2.5 -7.5 101.59158 2.5 -5 101.59158 2.5 -2.5 101.59158 2.5 0 101.59158 2.5 2.5 101.59158 - 2.5 5 101.59158 2.5 7.5 101.59158 2.5 10 101.59158 2.5 -12.5 79.091583 5 -10 79.091583 - 5 -7.5 79.091583 5 -5 79.091583 5 -2.5 79.091583 5 0 79.091583 5 2.5 79.091583 5 - 5 79.091583 5 7.5 79.091583 5 10 79.091583 5 -12.5 81.591583 5 -10 81.591583 5 -7.5 - 81.591583 5 -5 81.591583 5 -2.5 81.591583 5 0 81.591583 5 2.5 81.591583 5 5 81.591583 - 5 7.5 81.591583 5 10 81.591583 5 -12.5 84.091583 5 -10 84.091583 5 -7.5 84.091583 - 5 -5 84.091583 5 -2.5 84.091583 5 0 84.091583 5 2.5 84.091583 5 5 84.091583 5 7.5 - 84.091583 5 10 84.091583 5 -12.5 86.591576 5 -10 86.591576 5 -7.5 86.591576 5 -5 - 86.591576 5 -2.5 86.591576 5 0 86.591576 5 2.5 86.591576 5 5 86.591576 5 7.5 86.591576 - 5 10 86.591576 5 -12.5 89.091576 5 -10 89.091576 5 -7.5 89.091576 5 -5 89.091576 - 5 -2.5 89.091576 5 0 89.091576 5 2.5 89.091576 5 5 89.091576 5 7.5 89.091576 5 10 - 89.091576 5 -12.5 91.591583 5 -10 91.591583 5 -7.5 91.591583 5 -5 91.591583 5 -2.5 - 91.591583 5 0 91.591583 5 2.5 91.591583 5 5 91.591583 5 7.5 91.591583 5 10 91.591583 - 5 -12.5 94.091583 5 -10 94.091583 5 -7.5 94.091583 5 -5 94.091583 5 -2.5 94.091583 - 5 0 94.091583 5 2.5 94.091583 5 5 94.091583 5 7.5 94.091583 5 10 94.091583 5 -12.5 - 96.591583 5 -10 96.591583 5 -7.5 96.591583 5 -5 96.591583 5 -2.5 96.591583 5 0 96.591583 - 5 2.5 96.591583 5 5 96.591583 5 7.5 96.591583 5 10 96.591583 5 -12.5 99.091576 5 - -10 99.091576 5 -7.5 99.091576 5 -5 99.091576 5 -2.5 99.091576 5 0 99.091576 5 2.5 - 99.091576 5 5 99.091576 5 7.5 99.091576 5 10 99.091576 5 -12.5 101.59158 5 -10 101.59158 - 5 -7.5 101.59158 5 -5 101.59158 5 -2.5 101.59158 5 0 101.59158 5 2.5 101.59158 5 - 5 101.59158 5 7.5 101.59158 5 10 101.59158 5 -12.5 79.091583 7.5 -10 79.091583 7.5 - -7.5 79.091583 7.5 -5 79.091583 7.5 -2.5 79.091583 7.5 0 79.091583 7.5 2.5 79.091583 - 7.5 5 79.091583 7.5 7.5 79.091583 7.5 10 79.091583 7.5 -12.5 81.591583 7.5 -10 81.591583 - 7.5 -7.5 81.591583 7.5 -5 81.591583 7.5 -2.5 81.591583 7.5 0 81.591583 7.5 2.5 81.591583 - 7.5 5 81.591583 7.5 7.5 81.591583 7.5 10 81.591583 7.5 -12.5 84.091583 7.5 -10 84.091583 - 7.5 -7.5 84.091583 7.5 -5 84.091583 7.5 -2.5 84.091583 7.5 0 84.091583 7.5 2.5 84.091583 - 7.5 5 84.091583 7.5 7.5 84.091583 7.5 10 84.091583 7.5; - setAttr ".inpo[830:995]" -12.5 86.591576 7.5 -10 86.591576 7.5 -7.5 86.591576 7.5 - -5 86.591576 7.5 -2.5 86.591576 7.5 0 86.591576 7.5 2.5 86.591576 7.5 5 86.591576 - 7.5 7.5 86.591576 7.5 10 86.591576 7.5 -12.5 89.091576 7.5 -10 89.091576 7.5 -7.5 - 89.091576 7.5 -5 89.091576 7.5 -2.5 89.091576 7.5 0 89.091576 7.5 2.5 89.091576 7.5 - 5 89.091576 7.5 7.5 89.091576 7.5 10 89.091576 7.5 -12.5 91.591583 7.5 -10 91.591583 - 7.5 -7.5 91.591583 7.5 -5 91.591583 7.5 -2.5 91.591583 7.5 0 91.591583 7.5 2.5 91.591583 - 7.5 5 91.591583 7.5 7.5 91.591583 7.5 10 91.591583 7.5 -12.5 94.091583 7.5 -10 94.091583 - 7.5 -7.5 94.091583 7.5 -5 94.091583 7.5 -2.5 94.091583 7.5 0 94.091583 7.5 2.5 94.091583 - 7.5 5 94.091583 7.5 7.5 94.091583 7.5 10 94.091583 7.5 -12.5 96.591583 7.5 -10 96.591583 - 7.5 -7.5 96.591583 7.5 -5 96.591583 7.5 -2.5 96.591583 7.5 0 96.591583 7.5 2.5 96.591583 - 7.5 5 96.591583 7.5 7.5 96.591583 7.5 10 96.591583 7.5 -12.5 99.091576 7.5 -10 99.091576 - 7.5 -7.5 99.091576 7.5 -5 99.091576 7.5 -2.5 99.091576 7.5 0 99.091576 7.5 2.5 99.091576 - 7.5 5 99.091576 7.5 7.5 99.091576 7.5 10 99.091576 7.5 -12.5 101.59158 7.5 -10 101.59158 - 7.5 -7.5 101.59158 7.5 -5 101.59158 7.5 -2.5 101.59158 7.5 0 101.59158 7.5 2.5 101.59158 - 7.5 5 101.59158 7.5 7.5 101.59158 7.5 10 101.59158 7.5 -12.5 79.091583 10 -10 79.091583 - 10 -7.5 79.091583 10 -5 79.091583 10 -2.5 79.091583 10 0 79.091583 10 2.5 79.091583 - 10 5 79.091583 10 7.5 79.091583 10 10 79.091583 10 -12.5 81.591583 10 -10 81.591583 - 10 -7.5 81.591583 10 -5 81.591583 10 -2.5 81.591583 10 0 81.591583 10 2.5 81.591583 - 10 5 81.591583 10 7.5 81.591583 10 10 81.591583 10 -12.5 84.091583 10 -10 84.091583 - 10 -7.5 84.091583 10 -5 84.091583 10 -2.5 84.091583 10 0 84.091583 10 2.5 84.091583 - 10 5 84.091583 10 7.5 84.091583 10 10 84.091583 10 -12.5 86.591576 10 -10 86.591576 - 10 -7.5 86.591576 10 -5 86.591576 10 -2.5 86.591576 10 0 86.591576 10 2.5 86.591576 - 10 5 86.591576 10 7.5 86.591576 10 10 86.591576 10 -12.5 89.091576 10 -10 89.091576 - 10 -7.5 89.091576 10 -5 89.091576 10 -2.5 89.091576 10 0 89.091576 10 2.5 89.091576 - 10 5 89.091576 10 7.5 89.091576 10 10 89.091576 10 -12.5 91.591583 10 -10 91.591583 - 10 -7.5 91.591583 10 -5 91.591583 10 -2.5 91.591583 10 0 91.591583 10 2.5 91.591583 - 10 5 91.591583 10 7.5 91.591583 10 10 91.591583 10 -12.5 94.091583 10 -10 94.091583 - 10 -7.5 94.091583 10 -5 94.091583 10 -2.5 94.091583 10 0 94.091583 10 2.5 94.091583 - 10 5 94.091583 10 7.5 94.091583 10 10 94.091583 10 -12.5 96.591583 10 -10 96.591583 - 10 -7.5 96.591583 10 -5 96.591583 10 -2.5 96.591583 10 0 96.591583 10 2.5 96.591583 - 10 5 96.591583 10 7.5 96.591583 10 10 96.591583 10 -12.5 99.091576 10 -10 99.091576 - 10 -7.5 99.091576 10 -5 99.091576 10 -2.5 99.091576 10 0 99.091576 10 2.5 99.091576 - 10 5 99.091576 10 7.5 99.091576 10 10 99.091576 10 -12.5 101.59158 10 -10 101.59158 - 10 -7.5 101.59158 10 -5 101.59158 10 -2.5 101.59158 10 0 101.59158 10; - setAttr ".inpo[996:999]" 2.5 101.59158 10 5 101.59158 10 7.5 101.59158 10 10 101.59158 - 10; -createNode vortexField -n "vortexField1"; - setAttr ".mag" 100; - setAttr ".att" 1; - setAttr ".fc[0]" 0 1 1; - setAttr ".axy" 1; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-45 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyArrayShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyArrayShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape1.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of field1.ma diff --git a/Extras/MayaPlugin/scenes/field2.ma b/Extras/MayaPlugin/scenes/field2.ma deleted file mode 100644 index 9c85cd854..000000000 --- a/Extras/MayaPlugin/scenes/field2.ma +++ /dev/null @@ -1,402 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: field2.ma -//Last modified: Tue, Jul 22, 2008 03:46:07 PM -//Codeset: ANSI_X3.4-1968 -requires maya "8.5"; -requires "dynamica" "1.0"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 144.35924728003752 60.499995394754293 73.018470333357655 ; - setAttr ".r" -type "double3" -9.3383527296054289 62.600000000001337 -3.4556238253756623e-15 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 181.17406258914883; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBodyArray1"; - setAttr ".t" -type "double3" 0 45.795790908388817 0 ; -createNode dRigidBodyArray -n "dRigidBodyArrayShape1" -p "dRigidBodyArray1"; - setAttr -k off ".v"; - setAttr ".nbds" 1000; - setAttr -s 1000 ".inpo"; - setAttr ".inpo[0:165]" -type "float3" -12.5 79.091583 -12.5 -10 79.091583 -12.5 - -7.5 79.091583 -12.5 -5 79.091583 -12.5 -2.5 79.091583 -12.5 0 79.091583 -12.5 2.5 - 79.091583 -12.5 5 79.091583 -12.5 7.5 79.091583 -12.5 10 79.091583 -12.5 -12.5 81.591583 - -12.5 -10 81.591583 -12.5 -7.5 81.591583 -12.5 -5 81.591583 -12.5 -2.5 81.591583 - -12.5 0 81.591583 -12.5 2.5 81.591583 -12.5 5 81.591583 -12.5 7.5 81.591583 -12.5 - 10 81.591583 -12.5 -12.5 84.091583 -12.5 -10 84.091583 -12.5 -7.5 84.091583 -12.5 - -5 84.091583 -12.5 -2.5 84.091583 -12.5 0 84.091583 -12.5 2.5 84.091583 -12.5 5 84.091583 - -12.5 7.5 84.091583 -12.5 10 84.091583 -12.5 -12.5 86.591576 -12.5 -10 86.591576 - -12.5 -7.5 86.591576 -12.5 -5 86.591576 -12.5 -2.5 86.591576 -12.5 0 86.591576 -12.5 - 2.5 86.591576 -12.5 5 86.591576 -12.5 7.5 86.591576 -12.5 10 86.591576 -12.5 -12.5 - 89.091576 -12.5 -10 89.091576 -12.5 -7.5 89.091576 -12.5 -5 89.091576 -12.5 -2.5 - 89.091576 -12.5 0 89.091576 -12.5 2.5 89.091576 -12.5 5 89.091576 -12.5 7.5 89.091576 - -12.5 10 89.091576 -12.5 -12.5 91.591583 -12.5 -10 91.591583 -12.5 -7.5 91.591583 - -12.5 -5 91.591583 -12.5 -2.5 91.591583 -12.5 0 91.591583 -12.5 2.5 91.591583 -12.5 - 5 91.591583 -12.5 7.5 91.591583 -12.5 10 91.591583 -12.5 -12.5 94.091583 -12.5 -10 - 94.091583 -12.5 -7.5 94.091583 -12.5 -5 94.091583 -12.5 -2.5 94.091583 -12.5 0 94.091583 - -12.5 2.5 94.091583 -12.5 5 94.091583 -12.5 7.5 94.091583 -12.5 10 94.091583 -12.5 - -12.5 96.591583 -12.5 -10 96.591583 -12.5 -7.5 96.591583 -12.5 -5 96.591583 -12.5 - -2.5 96.591583 -12.5 0 96.591583 -12.5 2.5 96.591583 -12.5 5 96.591583 -12.5 7.5 - 96.591583 -12.5 10 96.591583 -12.5 -12.5 99.091576 -12.5 -10 99.091576 -12.5 -7.5 - 99.091576 -12.5 -5 99.091576 -12.5 -2.5 99.091576 -12.5 0 99.091576 -12.5 2.5 99.091576 - -12.5 5 99.091576 -12.5 7.5 99.091576 -12.5 10 99.091576 -12.5 -12.5 101.59158 -12.5 - -10 101.59158 -12.5 -7.5 101.59158 -12.5 -5 101.59158 -12.5 -2.5 101.59158 -12.5 - 0 101.59158 -12.5 2.5 101.59158 -12.5 5 101.59158 -12.5 7.5 101.59158 -12.5 10 101.59158 - -12.5 -12.5 79.091583 -10 -10 79.091583 -10 -7.5 79.091583 -10 -5 79.091583 -10 -2.5 - 79.091583 -10 0 79.091583 -10 2.5 79.091583 -10 5 79.091583 -10 7.5 79.091583 -10 - 10 79.091583 -10 -12.5 81.591583 -10 -10 81.591583 -10 -7.5 81.591583 -10 -5 81.591583 - -10 -2.5 81.591583 -10 0 81.591583 -10 2.5 81.591583 -10 5 81.591583 -10 7.5 81.591583 - -10 10 81.591583 -10 -12.5 84.091583 -10 -10 84.091583 -10 -7.5 84.091583 -10 -5 - 84.091583 -10 -2.5 84.091583 -10 0 84.091583 -10 2.5 84.091583 -10 5 84.091583 -10 - 7.5 84.091583 -10 10 84.091583 -10 -12.5 86.591576 -10 -10 86.591576 -10 -7.5 86.591576 - -10 -5 86.591576 -10 -2.5 86.591576 -10 0 86.591576 -10 2.5 86.591576 -10 5 86.591576 - -10 7.5 86.591576 -10 10 86.591576 -10 -12.5 89.091576 -10 -10 89.091576 -10 -7.5 - 89.091576 -10 -5 89.091576 -10 -2.5 89.091576 -10 0 89.091576 -10 2.5 89.091576 -10 - 5 89.091576 -10 7.5 89.091576 -10 10 89.091576 -10 -12.5 91.591583 -10 -10 91.591583 - -10 -7.5 91.591583 -10 -5 91.591583 -10 -2.5 91.591583 -10 0 91.591583 -10 2.5 91.591583 - -10 5 91.591583 -10 7.5 91.591583 -10 10 91.591583 -10 -12.5 94.091583 -10 -10 94.091583 - -10 -7.5 94.091583 -10 -5 94.091583 -10 -2.5 94.091583 -10 0 94.091583 -10; - setAttr ".inpo[166:331]" 2.5 94.091583 -10 5 94.091583 -10 7.5 94.091583 -10 10 - 94.091583 -10 -12.5 96.591583 -10 -10 96.591583 -10 -7.5 96.591583 -10 -5 96.591583 - -10 -2.5 96.591583 -10 0 96.591583 -10 2.5 96.591583 -10 5 96.591583 -10 7.5 96.591583 - -10 10 96.591583 -10 -12.5 99.091576 -10 -10 99.091576 -10 -7.5 99.091576 -10 -5 - 99.091576 -10 -2.5 99.091576 -10 0 99.091576 -10 2.5 99.091576 -10 5 99.091576 -10 - 7.5 99.091576 -10 10 99.091576 -10 -12.5 101.59158 -10 -10 101.59158 -10 -7.5 101.59158 - -10 -5 101.59158 -10 -2.5 101.59158 -10 0 101.59158 -10 2.5 101.59158 -10 5 101.59158 - -10 7.5 101.59158 -10 10 101.59158 -10 -12.5 79.091583 -7.5 -10 79.091583 -7.5 -7.5 - 79.091583 -7.5 -5 79.091583 -7.5 -2.5 79.091583 -7.5 0 79.091583 -7.5 2.5 79.091583 - -7.5 5 79.091583 -7.5 7.5 79.091583 -7.5 10 79.091583 -7.5 -12.5 81.591583 -7.5 -10 - 81.591583 -7.5 -7.5 81.591583 -7.5 -5 81.591583 -7.5 -2.5 81.591583 -7.5 0 81.591583 - -7.5 2.5 81.591583 -7.5 5 81.591583 -7.5 7.5 81.591583 -7.5 10 81.591583 -7.5 -12.5 - 84.091583 -7.5 -10 84.091583 -7.5 -7.5 84.091583 -7.5 -5 84.091583 -7.5 -2.5 84.091583 - -7.5 0 84.091583 -7.5 2.5 84.091583 -7.5 5 84.091583 -7.5 7.5 84.091583 -7.5 10 84.091583 - -7.5 -12.5 86.591576 -7.5 -10 86.591576 -7.5 -7.5 86.591576 -7.5 -5 86.591576 -7.5 - -2.5 86.591576 -7.5 0 86.591576 -7.5 2.5 86.591576 -7.5 5 86.591576 -7.5 7.5 86.591576 - -7.5 10 86.591576 -7.5 -12.5 89.091576 -7.5 -10 89.091576 -7.5 -7.5 89.091576 -7.5 - -5 89.091576 -7.5 -2.5 89.091576 -7.5 0 89.091576 -7.5 2.5 89.091576 -7.5 5 89.091576 - -7.5 7.5 89.091576 -7.5 10 89.091576 -7.5 -12.5 91.591583 -7.5 -10 91.591583 -7.5 - -7.5 91.591583 -7.5 -5 91.591583 -7.5 -2.5 91.591583 -7.5 0 91.591583 -7.5 2.5 91.591583 - -7.5 5 91.591583 -7.5 7.5 91.591583 -7.5 10 91.591583 -7.5 -12.5 94.091583 -7.5 -10 - 94.091583 -7.5 -7.5 94.091583 -7.5 -5 94.091583 -7.5 -2.5 94.091583 -7.5 0 94.091583 - -7.5 2.5 94.091583 -7.5 5 94.091583 -7.5 7.5 94.091583 -7.5 10 94.091583 -7.5 -12.5 - 96.591583 -7.5 -10 96.591583 -7.5 -7.5 96.591583 -7.5 -5 96.591583 -7.5 -2.5 96.591583 - -7.5 0 96.591583 -7.5 2.5 96.591583 -7.5 5 96.591583 -7.5 7.5 96.591583 -7.5 10 96.591583 - -7.5 -12.5 99.091576 -7.5 -10 99.091576 -7.5 -7.5 99.091576 -7.5 -5 99.091576 -7.5 - -2.5 99.091576 -7.5 0 99.091576 -7.5 2.5 99.091576 -7.5 5 99.091576 -7.5 7.5 99.091576 - -7.5 10 99.091576 -7.5 -12.5 101.59158 -7.5 -10 101.59158 -7.5 -7.5 101.59158 -7.5 - -5 101.59158 -7.5 -2.5 101.59158 -7.5 0 101.59158 -7.5 2.5 101.59158 -7.5 5 101.59158 - -7.5 7.5 101.59158 -7.5 10 101.59158 -7.5 -12.5 79.091583 -5 -10 79.091583 -5 -7.5 - 79.091583 -5 -5 79.091583 -5 -2.5 79.091583 -5 0 79.091583 -5 2.5 79.091583 -5 5 - 79.091583 -5 7.5 79.091583 -5 10 79.091583 -5 -12.5 81.591583 -5 -10 81.591583 -5 - -7.5 81.591583 -5 -5 81.591583 -5 -2.5 81.591583 -5 0 81.591583 -5 2.5 81.591583 - -5 5 81.591583 -5 7.5 81.591583 -5 10 81.591583 -5 -12.5 84.091583 -5 -10 84.091583 - -5 -7.5 84.091583 -5 -5 84.091583 -5 -2.5 84.091583 -5 0 84.091583 -5 2.5 84.091583 - -5 5 84.091583 -5 7.5 84.091583 -5 10 84.091583 -5 -12.5 86.591576 -5 -10 86.591576 - -5; - setAttr ".inpo[332:497]" -7.5 86.591576 -5 -5 86.591576 -5 -2.5 86.591576 -5 0 86.591576 - -5 2.5 86.591576 -5 5 86.591576 -5 7.5 86.591576 -5 10 86.591576 -5 -12.5 89.091576 - -5 -10 89.091576 -5 -7.5 89.091576 -5 -5 89.091576 -5 -2.5 89.091576 -5 0 89.091576 - -5 2.5 89.091576 -5 5 89.091576 -5 7.5 89.091576 -5 10 89.091576 -5 -12.5 91.591583 - -5 -10 91.591583 -5 -7.5 91.591583 -5 -5 91.591583 -5 -2.5 91.591583 -5 0 91.591583 - -5 2.5 91.591583 -5 5 91.591583 -5 7.5 91.591583 -5 10 91.591583 -5 -12.5 94.091583 - -5 -10 94.091583 -5 -7.5 94.091583 -5 -5 94.091583 -5 -2.5 94.091583 -5 0 94.091583 - -5 2.5 94.091583 -5 5 94.091583 -5 7.5 94.091583 -5 10 94.091583 -5 -12.5 96.591583 - -5 -10 96.591583 -5 -7.5 96.591583 -5 -5 96.591583 -5 -2.5 96.591583 -5 0 96.591583 - -5 2.5 96.591583 -5 5 96.591583 -5 7.5 96.591583 -5 10 96.591583 -5 -12.5 99.091576 - -5 -10 99.091576 -5 -7.5 99.091576 -5 -5 99.091576 -5 -2.5 99.091576 -5 0 99.091576 - -5 2.5 99.091576 -5 5 99.091576 -5 7.5 99.091576 -5 10 99.091576 -5 -12.5 101.59158 - -5 -10 101.59158 -5 -7.5 101.59158 -5 -5 101.59158 -5 -2.5 101.59158 -5 0 101.59158 - -5 2.5 101.59158 -5 5 101.59158 -5 7.5 101.59158 -5 10 101.59158 -5 -12.5 79.091583 - -2.5 -10 79.091583 -2.5 -7.5 79.091583 -2.5 -5 79.091583 -2.5 -2.5 79.091583 -2.5 - 0 79.091583 -2.5 2.5 79.091583 -2.5 5 79.091583 -2.5 7.5 79.091583 -2.5 10 79.091583 - -2.5 -12.5 81.591583 -2.5 -10 81.591583 -2.5 -7.5 81.591583 -2.5 -5 81.591583 -2.5 - -2.5 81.591583 -2.5 0 81.591583 -2.5 2.5 81.591583 -2.5 5 81.591583 -2.5 7.5 81.591583 - -2.5 10 81.591583 -2.5 -12.5 84.091583 -2.5 -10 84.091583 -2.5 -7.5 84.091583 -2.5 - -5 84.091583 -2.5 -2.5 84.091583 -2.5 0 84.091583 -2.5 2.5 84.091583 -2.5 5 84.091583 - -2.5 7.5 84.091583 -2.5 10 84.091583 -2.5 -12.5 86.591576 -2.5 -10 86.591576 -2.5 - -7.5 86.591576 -2.5 -5 86.591576 -2.5 -2.5 86.591576 -2.5 0 86.591576 -2.5 2.5 86.591576 - -2.5 5 86.591576 -2.5 7.5 86.591576 -2.5 10 86.591576 -2.5 -12.5 89.091576 -2.5 -10 - 89.091576 -2.5 -7.5 89.091576 -2.5 -5 89.091576 -2.5 -2.5 89.091576 -2.5 0 89.091576 - -2.5 2.5 89.091576 -2.5 5 89.091576 -2.5 7.5 89.091576 -2.5 10 89.091576 -2.5 -12.5 - 91.591583 -2.5 -10 91.591583 -2.5 -7.5 91.591583 -2.5 -5 91.591583 -2.5 -2.5 91.591583 - -2.5 0 91.591583 -2.5 2.5 91.591583 -2.5 5 91.591583 -2.5 7.5 91.591583 -2.5 10 91.591583 - -2.5 -12.5 94.091583 -2.5 -10 94.091583 -2.5 -7.5 94.091583 -2.5 -5 94.091583 -2.5 - -2.5 94.091583 -2.5 0 94.091583 -2.5 2.5 94.091583 -2.5 5 94.091583 -2.5 7.5 94.091583 - -2.5 10 94.091583 -2.5 -12.5 96.591583 -2.5 -10 96.591583 -2.5 -7.5 96.591583 -2.5 - -5 96.591583 -2.5 -2.5 96.591583 -2.5 0 96.591583 -2.5 2.5 96.591583 -2.5 5 96.591583 - -2.5 7.5 96.591583 -2.5 10 96.591583 -2.5 -12.5 99.091576 -2.5 -10 99.091576 -2.5 - -7.5 99.091576 -2.5 -5 99.091576 -2.5 -2.5 99.091576 -2.5 0 99.091576 -2.5 2.5 99.091576 - -2.5 5 99.091576 -2.5 7.5 99.091576 -2.5 10 99.091576 -2.5 -12.5 101.59158 -2.5 -10 - 101.59158 -2.5 -7.5 101.59158 -2.5 -5 101.59158 -2.5 -2.5 101.59158 -2.5 0 101.59158 - -2.5 2.5 101.59158 -2.5 5 101.59158 -2.5; - setAttr ".inpo[498:663]" 7.5 101.59158 -2.5 10 101.59158 -2.5 -12.5 79.091583 0 - -10 79.091583 0 -7.5 79.091583 0 -5 79.091583 0 -2.5 79.091583 0 0 79.091583 0 2.5 - 79.091583 0 5 79.091583 0 7.5 79.091583 0 10 79.091583 0 -12.5 81.591583 0 -10 81.591583 - 0 -7.5 81.591583 0 -5 81.591583 0 -2.5 81.591583 0 0 81.591583 0 2.5 81.591583 0 - 5 81.591583 0 7.5 81.591583 0 10 81.591583 0 -12.5 84.091583 0 -10 84.091583 0 -7.5 - 84.091583 0 -5 84.091583 0 -2.5 84.091583 0 0 84.091583 0 2.5 84.091583 0 5 84.091583 - 0 7.5 84.091583 0 10 84.091583 0 -12.5 86.591576 0 -10 86.591576 0 -7.5 86.591576 - 0 -5 86.591576 0 -2.5 86.591576 0 0 86.591576 0 2.5 86.591576 0 5 86.591576 0 7.5 - 86.591576 0 10 86.591576 0 -12.5 89.091576 0 -10 89.091576 0 -7.5 89.091576 0 -5 - 89.091576 0 -2.5 89.091576 0 0 89.091576 0 2.5 89.091576 0 5 89.091576 0 7.5 89.091576 - 0 10 89.091576 0 -12.5 91.591583 0 -10 91.591583 0 -7.5 91.591583 0 -5 91.591583 - 0 -2.5 91.591583 0 0 91.591583 0 2.5 91.591583 0 5 91.591583 0 7.5 91.591583 0 10 - 91.591583 0 -12.5 94.091583 0 -10 94.091583 0 -7.5 94.091583 0 -5 94.091583 0 -2.5 - 94.091583 0 0 94.091583 0 2.5 94.091583 0 5 94.091583 0 7.5 94.091583 0 10 94.091583 - 0 -12.5 96.591583 0 -10 96.591583 0 -7.5 96.591583 0 -5 96.591583 0 -2.5 96.591583 - 0 0 96.591583 0 2.5 96.591583 0 5 96.591583 0 7.5 96.591583 0 10 96.591583 0 -12.5 - 99.091576 0 -10 99.091576 0 -7.5 99.091576 0 -5 99.091576 0 -2.5 99.091576 0 0 99.091576 - 0 2.5 99.091576 0 5 99.091576 0 7.5 99.091576 0 10 99.091576 0 -12.5 101.59158 0 - -10 101.59158 0 -7.5 101.59158 0 -5 101.59158 0 -2.5 101.59158 0 0 101.59158 0 2.5 - 101.59158 0 5 101.59158 0 7.5 101.59158 0 10 101.59158 0 -12.5 79.091583 2.5 -10 - 79.091583 2.5 -7.5 79.091583 2.5 -5 79.091583 2.5 -2.5 79.091583 2.5 0 79.091583 - 2.5 2.5 79.091583 2.5 5 79.091583 2.5 7.5 79.091583 2.5 10 79.091583 2.5 -12.5 81.591583 - 2.5 -10 81.591583 2.5 -7.5 81.591583 2.5 -5 81.591583 2.5 -2.5 81.591583 2.5 0 81.591583 - 2.5 2.5 81.591583 2.5 5 81.591583 2.5 7.5 81.591583 2.5 10 81.591583 2.5 -12.5 84.091583 - 2.5 -10 84.091583 2.5 -7.5 84.091583 2.5 -5 84.091583 2.5 -2.5 84.091583 2.5 0 84.091583 - 2.5 2.5 84.091583 2.5 5 84.091583 2.5 7.5 84.091583 2.5 10 84.091583 2.5 -12.5 86.591576 - 2.5 -10 86.591576 2.5 -7.5 86.591576 2.5 -5 86.591576 2.5 -2.5 86.591576 2.5 0 86.591576 - 2.5 2.5 86.591576 2.5 5 86.591576 2.5 7.5 86.591576 2.5 10 86.591576 2.5 -12.5 89.091576 - 2.5 -10 89.091576 2.5 -7.5 89.091576 2.5 -5 89.091576 2.5 -2.5 89.091576 2.5 0 89.091576 - 2.5 2.5 89.091576 2.5 5 89.091576 2.5 7.5 89.091576 2.5 10 89.091576 2.5 -12.5 91.591583 - 2.5 -10 91.591583 2.5 -7.5 91.591583 2.5 -5 91.591583 2.5 -2.5 91.591583 2.5 0 91.591583 - 2.5 2.5 91.591583 2.5 5 91.591583 2.5 7.5 91.591583 2.5 10 91.591583 2.5 -12.5 94.091583 - 2.5 -10 94.091583 2.5 -7.5 94.091583 2.5 -5 94.091583 2.5; - setAttr ".inpo[664:829]" -2.5 94.091583 2.5 0 94.091583 2.5 2.5 94.091583 2.5 5 - 94.091583 2.5 7.5 94.091583 2.5 10 94.091583 2.5 -12.5 96.591583 2.5 -10 96.591583 - 2.5 -7.5 96.591583 2.5 -5 96.591583 2.5 -2.5 96.591583 2.5 0 96.591583 2.5 2.5 96.591583 - 2.5 5 96.591583 2.5 7.5 96.591583 2.5 10 96.591583 2.5 -12.5 99.091576 2.5 -10 99.091576 - 2.5 -7.5 99.091576 2.5 -5 99.091576 2.5 -2.5 99.091576 2.5 0 99.091576 2.5 2.5 99.091576 - 2.5 5 99.091576 2.5 7.5 99.091576 2.5 10 99.091576 2.5 -12.5 101.59158 2.5 -10 101.59158 - 2.5 -7.5 101.59158 2.5 -5 101.59158 2.5 -2.5 101.59158 2.5 0 101.59158 2.5 2.5 101.59158 - 2.5 5 101.59158 2.5 7.5 101.59158 2.5 10 101.59158 2.5 -12.5 79.091583 5 -10 79.091583 - 5 -7.5 79.091583 5 -5 79.091583 5 -2.5 79.091583 5 0 79.091583 5 2.5 79.091583 5 - 5 79.091583 5 7.5 79.091583 5 10 79.091583 5 -12.5 81.591583 5 -10 81.591583 5 -7.5 - 81.591583 5 -5 81.591583 5 -2.5 81.591583 5 0 81.591583 5 2.5 81.591583 5 5 81.591583 - 5 7.5 81.591583 5 10 81.591583 5 -12.5 84.091583 5 -10 84.091583 5 -7.5 84.091583 - 5 -5 84.091583 5 -2.5 84.091583 5 0 84.091583 5 2.5 84.091583 5 5 84.091583 5 7.5 - 84.091583 5 10 84.091583 5 -12.5 86.591576 5 -10 86.591576 5 -7.5 86.591576 5 -5 - 86.591576 5 -2.5 86.591576 5 0 86.591576 5 2.5 86.591576 5 5 86.591576 5 7.5 86.591576 - 5 10 86.591576 5 -12.5 89.091576 5 -10 89.091576 5 -7.5 89.091576 5 -5 89.091576 - 5 -2.5 89.091576 5 0 89.091576 5 2.5 89.091576 5 5 89.091576 5 7.5 89.091576 5 10 - 89.091576 5 -12.5 91.591583 5 -10 91.591583 5 -7.5 91.591583 5 -5 91.591583 5 -2.5 - 91.591583 5 0 91.591583 5 2.5 91.591583 5 5 91.591583 5 7.5 91.591583 5 10 91.591583 - 5 -12.5 94.091583 5 -10 94.091583 5 -7.5 94.091583 5 -5 94.091583 5 -2.5 94.091583 - 5 0 94.091583 5 2.5 94.091583 5 5 94.091583 5 7.5 94.091583 5 10 94.091583 5 -12.5 - 96.591583 5 -10 96.591583 5 -7.5 96.591583 5 -5 96.591583 5 -2.5 96.591583 5 0 96.591583 - 5 2.5 96.591583 5 5 96.591583 5 7.5 96.591583 5 10 96.591583 5 -12.5 99.091576 5 - -10 99.091576 5 -7.5 99.091576 5 -5 99.091576 5 -2.5 99.091576 5 0 99.091576 5 2.5 - 99.091576 5 5 99.091576 5 7.5 99.091576 5 10 99.091576 5 -12.5 101.59158 5 -10 101.59158 - 5 -7.5 101.59158 5 -5 101.59158 5 -2.5 101.59158 5 0 101.59158 5 2.5 101.59158 5 - 5 101.59158 5 7.5 101.59158 5 10 101.59158 5 -12.5 79.091583 7.5 -10 79.091583 7.5 - -7.5 79.091583 7.5 -5 79.091583 7.5 -2.5 79.091583 7.5 0 79.091583 7.5 2.5 79.091583 - 7.5 5 79.091583 7.5 7.5 79.091583 7.5 10 79.091583 7.5 -12.5 81.591583 7.5 -10 81.591583 - 7.5 -7.5 81.591583 7.5 -5 81.591583 7.5 -2.5 81.591583 7.5 0 81.591583 7.5 2.5 81.591583 - 7.5 5 81.591583 7.5 7.5 81.591583 7.5 10 81.591583 7.5 -12.5 84.091583 7.5 -10 84.091583 - 7.5 -7.5 84.091583 7.5 -5 84.091583 7.5 -2.5 84.091583 7.5 0 84.091583 7.5 2.5 84.091583 - 7.5 5 84.091583 7.5 7.5 84.091583 7.5 10 84.091583 7.5; - setAttr ".inpo[830:995]" -12.5 86.591576 7.5 -10 86.591576 7.5 -7.5 86.591576 7.5 - -5 86.591576 7.5 -2.5 86.591576 7.5 0 86.591576 7.5 2.5 86.591576 7.5 5 86.591576 - 7.5 7.5 86.591576 7.5 10 86.591576 7.5 -12.5 89.091576 7.5 -10 89.091576 7.5 -7.5 - 89.091576 7.5 -5 89.091576 7.5 -2.5 89.091576 7.5 0 89.091576 7.5 2.5 89.091576 7.5 - 5 89.091576 7.5 7.5 89.091576 7.5 10 89.091576 7.5 -12.5 91.591583 7.5 -10 91.591583 - 7.5 -7.5 91.591583 7.5 -5 91.591583 7.5 -2.5 91.591583 7.5 0 91.591583 7.5 2.5 91.591583 - 7.5 5 91.591583 7.5 7.5 91.591583 7.5 10 91.591583 7.5 -12.5 94.091583 7.5 -10 94.091583 - 7.5 -7.5 94.091583 7.5 -5 94.091583 7.5 -2.5 94.091583 7.5 0 94.091583 7.5 2.5 94.091583 - 7.5 5 94.091583 7.5 7.5 94.091583 7.5 10 94.091583 7.5 -12.5 96.591583 7.5 -10 96.591583 - 7.5 -7.5 96.591583 7.5 -5 96.591583 7.5 -2.5 96.591583 7.5 0 96.591583 7.5 2.5 96.591583 - 7.5 5 96.591583 7.5 7.5 96.591583 7.5 10 96.591583 7.5 -12.5 99.091576 7.5 -10 99.091576 - 7.5 -7.5 99.091576 7.5 -5 99.091576 7.5 -2.5 99.091576 7.5 0 99.091576 7.5 2.5 99.091576 - 7.5 5 99.091576 7.5 7.5 99.091576 7.5 10 99.091576 7.5 -12.5 101.59158 7.5 -10 101.59158 - 7.5 -7.5 101.59158 7.5 -5 101.59158 7.5 -2.5 101.59158 7.5 0 101.59158 7.5 2.5 101.59158 - 7.5 5 101.59158 7.5 7.5 101.59158 7.5 10 101.59158 7.5 -12.5 79.091583 10 -10 79.091583 - 10 -7.5 79.091583 10 -5 79.091583 10 -2.5 79.091583 10 0 79.091583 10 2.5 79.091583 - 10 5 79.091583 10 7.5 79.091583 10 10 79.091583 10 -12.5 81.591583 10 -10 81.591583 - 10 -7.5 81.591583 10 -5 81.591583 10 -2.5 81.591583 10 0 81.591583 10 2.5 81.591583 - 10 5 81.591583 10 7.5 81.591583 10 10 81.591583 10 -12.5 84.091583 10 -10 84.091583 - 10 -7.5 84.091583 10 -5 84.091583 10 -2.5 84.091583 10 0 84.091583 10 2.5 84.091583 - 10 5 84.091583 10 7.5 84.091583 10 10 84.091583 10 -12.5 86.591576 10 -10 86.591576 - 10 -7.5 86.591576 10 -5 86.591576 10 -2.5 86.591576 10 0 86.591576 10 2.5 86.591576 - 10 5 86.591576 10 7.5 86.591576 10 10 86.591576 10 -12.5 89.091576 10 -10 89.091576 - 10 -7.5 89.091576 10 -5 89.091576 10 -2.5 89.091576 10 0 89.091576 10 2.5 89.091576 - 10 5 89.091576 10 7.5 89.091576 10 10 89.091576 10 -12.5 91.591583 10 -10 91.591583 - 10 -7.5 91.591583 10 -5 91.591583 10 -2.5 91.591583 10 0 91.591583 10 2.5 91.591583 - 10 5 91.591583 10 7.5 91.591583 10 10 91.591583 10 -12.5 94.091583 10 -10 94.091583 - 10 -7.5 94.091583 10 -5 94.091583 10 -2.5 94.091583 10 0 94.091583 10 2.5 94.091583 - 10 5 94.091583 10 7.5 94.091583 10 10 94.091583 10 -12.5 96.591583 10 -10 96.591583 - 10 -7.5 96.591583 10 -5 96.591583 10 -2.5 96.591583 10 0 96.591583 10 2.5 96.591583 - 10 5 96.591583 10 7.5 96.591583 10 10 96.591583 10 -12.5 99.091576 10 -10 99.091576 - 10 -7.5 99.091576 10 -5 99.091576 10 -2.5 99.091576 10 0 99.091576 10 2.5 99.091576 - 10 5 99.091576 10 7.5 99.091576 10 10 99.091576 10 -12.5 101.59158 10 -10 101.59158 - 10 -7.5 101.59158 10 -5 101.59158 10 -2.5 101.59158 10 0 101.59158 10; - setAttr ".inpo[996:999]" 2.5 101.59158 10 5 101.59158 10 7.5 101.59158 10 10 101.59158 - 10; -createNode vortexField -n "vortexField1"; - setAttr ".mag" 300; - setAttr ".att" 1; - setAttr ".fc[0]" 0 1 1; - setAttr ".axy" 1; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "pSphere1"; - setAttr ".v" no; - setAttr ".t" -type "double3" -0.98355696857515795 45.936153652323384 -1.0450964023284541 ; -createNode mesh -n "pSphereShape1" -p "pSphere1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "dRigidBody2"; - setAttr ".t" -type "double3" -0.98355696857515795 45.936153652323384 -1.0450964023284541 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" -1.967114 91.872307 -2.0901928 ; -createNode transform -n "pCube1"; - setAttr ".v" no; - setAttr ".t" -type "double3" 33.817243700845836 24.143008369148522 -6.3650472071224939 ; - setAttr ".s" -type "double3" 1 0.43533647694860556 1 ; -createNode mesh -n "pCubeShape1" -p "pCube1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "dRigidBody3"; - setAttr ".t" -type "double3" 33.817243700845836 24.143008369148522 -6.3650472071224939 ; -createNode dRigidBody -n "dRigidBodyShape3" -p "dRigidBody3"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 67.634491 48.286018 -12.730094 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-45 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 6; -createNode polySphere -n "polySphere1"; - setAttr ".r" 34.639027905084006; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 1; -createNode polyCube -n "polyCube1"; - setAttr ".w" 26.482256032116545; - setAttr ".h" 77.796884351821504; - setAttr ".d" 3.9643962787879303; - setAttr ".cuv" 4; -createNode dCollisionShape -n "dCollisionShape4"; - setAttr ".tp" 0; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr -s 2 ".dsm"; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyArrayShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyArrayShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape1.incs"; -connectAttr "polySphere1.out" "pSphereShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape2.incs"; -connectAttr "polyCube1.out" "pCubeShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyShape3.solv"; -connectAttr "dCollisionShape4.oucs" "dRigidBodyShape3.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "pSphereShape1.msg" "dCollisionShape3.insh"; -connectAttr "pCubeShape1.msg" "dCollisionShape4.insh"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; -connectAttr "pCubeShape1.iog" ":initialShadingGroup.dsm" -na; -// End of field2.ma diff --git a/Extras/MayaPlugin/scenes/onepeanut.ma b/Extras/MayaPlugin/scenes/onepeanut.ma deleted file mode 100644 index 911acd456..000000000 --- a/Extras/MayaPlugin/scenes/onepeanut.ma +++ /dev/null @@ -1,159 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: onepeanut.ma -//Last modified: Tue, Jul 22, 2008 03:48:08 PM -//Codeset: ANSI_X3.4-1968 -requires maya "8.5"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" -14.800230385627952 -10.730054280029755 1.8172397891678551 ; - setAttr ".r" -type "double3" -215.73835272830993 -262.99999999998937 -2.5444437451708134e-14 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 18.370717045650842; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "pSphere1"; -createNode mesh -n "pSphereShape1" -p "pSphere1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; - setAttr -s 92 ".pt[0:91]" -type "float3" -0.2574994 1.1365615 0.12808901 -0.082004264 - 1.1365615 0.24063207 0.17356716 1.1365615 0.24063204 0.25063691 1.1365615 0.12808898 - 0.30980462 1.1365615 -0.054009609 0.25063688 1.1365615 -0.23610812 0.095734812 0.95348024 - 0.027852129 -0.095734924 0.95348024 0.027852133 -0.22844759 1.1365615 -0.23610808 - -0.25130823 1.1365615 -0.054009598 -0.58973986 0.96681732 0.29236239 -0.18209852 - 0.81107831 0.11910005 0.18209857 0.81107831 0.11910014 0.56631935 0.9230758 0.29236227 - 0.66480297 0.96681732 -0.054009628 0.47674012 0.81107831 -0.0082690716 0.18209849 - 0.81107831 -0.1577463 -0.18209858 0.81107831 -0.15774626 -0.47674012 0.81107831 -0.0082688872 - -0.62435281 0.96681732 -0.054009598 -0.65617657 0.58928299 0.085604019 -0.25063688 - 0.58928299 0.20351477 0.25063699 0.58928299 0.20351465 0.65617663 0.63782948 0.42273057 - 0.92526954 0.70243376 -0.054009631 0.65617651 0.58928299 -0.099300683 0.25063682 - 0.58928299 -0.30503851 -0.25063699 0.58928299 -0.30503842 -0.65617651 0.58928299 - -0.099300563 -0.92040229 0.70243376 -0.054009598 -0.7713815 0.30980459 0.11910006 - -0.29464149 0.30980459 0.25771224 0.29464158 0.30980459 0.25771236 0.7713815 0.30980459 - 0.11910014 1.1083192 0.36929098 -0.054009635 0.77138138 0.30980459 -0.15774632 0.29464146 - 0.30980459 -0.39960572 -0.29464155 0.30980459 -0.3996056 -0.77138138 0.30980459 -0.1577463 - -1.1104779 0.36929098 -0.054009598 -0.81107849 0 0.13064188 -0.30980459 0 0.27638754 - 0.3098048 0 0.27638742 0.81107849 0 0.1306421 1.1713946 0 -0.054009639 0.81107837 - 0 -0.17788558 0.30980453 0 -0.43219143 -0.30980474 0 -0.43219143 -0.81107837 0 -0.17788543 - -1.1759737 0 -0.054009598 -0.7713815 -0.30980459 0.11910006 -0.29464149 -0.30980459 - 0.25771224 0.29464158 -0.30980459 0.25771236 0.7713815 -0.30980459 0.11910014 1.1083192 - -0.36929098 -0.054009635 0.77138138 -0.30980459 -0.15774632 0.29464146 -0.30980459 - -0.39960572 -0.29464155 -0.30980459 -0.3996056 -0.77138138 -0.30980459 -0.1577463 - -1.1104779 -0.36929098 -0.054009598 -0.65617657 -0.58928299 0.085604019 -0.25063688 - -0.58928299 0.20351477 0.25063699 -0.58928299 0.20351465 0.67061043 -0.68686998 0.42273057 - 0.92526954 -0.70243376 -0.054009631 0.65617651 -0.58928299 -0.099300683 0.25063682 - -0.58928299 -0.30503851 -0.25063699 -0.58928299 -0.30503842 -0.65617651 -0.58928299 - -0.099300563 -1.0368359 -0.70243376 -0.054009598 -0.58973986 -0.96681732 0.29236239 - -0.18209852 -0.81107831 0.11910005 0.18209857 -0.81107831 0.11910014 0.49982405 -0.96681732 - 0.29236227 0.64016199 -0.96681732 -0.054009628 0.47674012 -0.81107831 -0.0082690716 - 0.18209849 -0.81107831 -0.1577463 -0.18209858 -0.81107831 -0.15774626 -0.47674012 - -0.81107831 -0.0082688872 -0.74078602 -0.96681732 -0.054009598 -0.28876579 -1.1365615 - 0.12808901 -0.082004264 -1.1365615 0.24063207 0.095734872 -1.1365615 0.24063204 0.25063691 - -1.1365615 0.12808898 0.30980462 -1.1365615 -0.054009609 0.25063688 -1.1365615 -0.23610812 - 0.095734812 -0.95348024 0.027852129 -0.095734924 -0.95348024 0.027852133 -0.25063694 - -1.1365615 -0.23610808 -0.36774182 -1.1365615 -0.054009598 0.079984799 1.195052 -0.054009598 - 0.045781415 -1.195052 -0.054009598; - setAttr ".dr" 1; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode polySphere -n "polySphere1"; - setAttr ".r" 1.4460482431866666; - setAttr ".sa" 10; - setAttr ".sh" 10; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 24 -ast 1 -aet 48 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "polySphere1.out" "pSphereShape1.i"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; -// End of onepeanut.ma diff --git a/Extras/MayaPlugin/scenes/peanutBox.ma b/Extras/MayaPlugin/scenes/peanutBox.ma deleted file mode 100644 index 98852e3c6..000000000 --- a/Extras/MayaPlugin/scenes/peanutBox.ma +++ /dev/null @@ -1,1100 +0,0 @@ -//Maya ASCII 2008 scene -//Name: peanutBox.ma -//Last modified: Wed, Dec 02, 2009 02:54:31 PM -//Codeset: UTF-8 -requires maya "2008"; -requires "dynamica" "2.75"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 63.698768015875977 211.51947080405756 -92.031276670860493 ; - setAttr ".r" -type "double3" -55.538352729591054 139.79999999999231 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 217.86281103415757; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "pCylinder1"; - setAttr ".v" no; -createNode mesh -n "pCylinderShape1" -p "pCylinder1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "pSphere1"; - setAttr ".v" no; -createNode mesh -n "pSphereShape1" -p "pSphere1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; - setAttr -s 92 ".pt[0:91]" -type "float3" -0.2574994 1.1365615 0.12808901 -0.082004264 - 1.1365615 0.24063207 0.17356716 1.1365615 0.24063204 0.25063691 1.1365615 0.12808898 - 0.30980462 1.1365615 -0.054009609 0.25063688 1.1365615 -0.23610812 0.095734812 0.95348024 - 0.027852129 -0.095734924 0.95348024 0.027852133 -0.22844759 1.1365615 -0.23610808 - -0.25130823 1.1365615 -0.054009598 -0.58973986 0.96681732 0.29236239 -0.18209852 - 0.81107831 0.11910005 0.18209857 0.81107831 0.11910014 0.56631935 0.9230758 0.29236227 - 0.66480297 0.96681732 -0.054009628 0.47674012 0.81107831 -0.0082690716 0.18209849 - 0.81107831 -0.1577463 -0.18209858 0.81107831 -0.15774626 -0.47674012 0.81107831 -0.0082688872 - -0.62435281 0.96681732 -0.054009598 -0.65617657 0.58928299 0.085604019 -0.25063688 - 0.58928299 0.20351477 0.25063699 0.58928299 0.20351465 0.65617663 0.63782948 0.42273057 - 0.92526954 0.70243376 -0.054009631 0.65617651 0.58928299 -0.099300683 0.25063682 - 0.58928299 -0.30503851 -0.25063699 0.58928299 -0.30503842 -0.65617651 0.58928299 - -0.099300563 -0.92040229 0.70243376 -0.054009598 -0.7713815 0.30980459 0.11910006 - -0.29464149 0.30980459 0.25771224 0.29464158 0.30980459 0.25771236 0.7713815 0.30980459 - 0.11910014 1.1083192 0.36929098 -0.054009635 0.77138138 0.30980459 -0.15774632 0.29464146 - 0.30980459 -0.39960572 -0.29464155 0.30980459 -0.3996056 -0.77138138 0.30980459 -0.1577463 - -1.1104779 0.36929098 -0.054009598 -0.81107849 0 0.13064188 -0.30980459 0 0.27638754 - 0.3098048 0 0.27638742 0.81107849 0 0.1306421 1.1713946 0 -0.054009639 0.81107837 - 0 -0.17788558 0.30980453 0 -0.43219143 -0.30980474 0 -0.43219143 -0.81107837 0 -0.17788543 - -1.1759737 0 -0.054009598 -0.7713815 -0.30980459 0.11910006 -0.29464149 -0.30980459 - 0.25771224 0.29464158 -0.30980459 0.25771236 0.7713815 -0.30980459 0.11910014 1.1083192 - -0.36929098 -0.054009635 0.77138138 -0.30980459 -0.15774632 0.29464146 -0.30980459 - -0.39960572 -0.29464155 -0.30980459 -0.3996056 -0.77138138 -0.30980459 -0.1577463 - -1.1104779 -0.36929098 -0.054009598 -0.65617657 -0.58928299 0.085604019 -0.25063688 - -0.58928299 0.20351477 0.25063699 -0.58928299 0.20351465 0.67061043 -0.68686998 0.42273057 - 0.92526954 -0.70243376 -0.054009631 0.65617651 -0.58928299 -0.099300683 0.25063682 - -0.58928299 -0.30503851 -0.25063699 -0.58928299 -0.30503842 -0.65617651 -0.58928299 - -0.099300563 -1.0368359 -0.70243376 -0.054009598 -0.58973986 -0.96681732 0.29236239 - -0.18209852 -0.81107831 0.11910005 0.18209857 -0.81107831 0.11910014 0.49982405 -0.96681732 - 0.29236227 0.64016199 -0.96681732 -0.054009628 0.47674012 -0.81107831 -0.0082690716 - 0.18209849 -0.81107831 -0.1577463 -0.18209858 -0.81107831 -0.15774626 -0.47674012 - -0.81107831 -0.0082688872 -0.74078602 -0.96681732 -0.054009598 -0.28876579 -1.1365615 - 0.12808901 -0.082004264 -1.1365615 0.24063207 0.095734872 -1.1365615 0.24063204 0.25063691 - -1.1365615 0.12808898 0.30980462 -1.1365615 -0.054009609 0.25063688 -1.1365615 -0.23610812 - 0.095734812 -0.95348024 0.027852129 -0.095734924 -0.95348024 0.027852133 -0.25063694 - -1.1365615 -0.23610808 -0.36774182 -1.1365615 -0.054009598 0.079984799 1.195052 -0.054009598 - 0.045781415 -1.195052 -0.054009598; - setAttr ".dr" 1; -createNode transform -n "dRigidBodyArray1"; -createNode dRigidBodyArray -n "dRigidBodyArrayShape1" -p "dRigidBodyArray1"; - setAttr -k off ".v"; - setAttr ".nbds" 2000; - setAttr -s 2000 ".inpo"; - setAttr ".inpo[0:165]" -type "float3" -15 51.953045 -15 -12 51.953045 -15 -9 51.953045 - -15 -6 51.953045 -15 -3 51.953045 -15 0 51.953045 -15 3 51.953045 -15 6 51.953045 - -15 9 51.953045 -15 12 51.953045 -15 -15 54.953045 -15 -12 54.953045 -15 -9 54.953045 - -15 -6 54.953045 -15 -3 54.953045 -15 0 54.953045 -15 3 54.953045 -15 6 54.953045 - -15 9 54.953045 -15 12 54.953045 -15 -15 57.953045 -15 -12 57.953045 -15 -9 57.953045 - -15 -6 57.953045 -15 -3 57.953045 -15 0 57.953045 -15 3 57.953045 -15 6 57.953045 - -15 9 57.953045 -15 12 57.953045 -15 -15 60.953068 -15 -12 60.953068 -15 -9 60.953068 - -15 -6 60.953068 -15 -3 60.953068 -15 0 60.953068 -15 3 60.953068 -15 6 60.953068 - -15 9 60.953068 -15 12 60.953068 -15 -15 63.953068 -15 -12 63.953068 -15 -9 63.953068 - -15 -6 63.953068 -15 -3 63.953068 -15 0 63.953068 -15 3 63.953068 -15 6 63.953068 - -15 9 63.953068 -15 12 63.953068 -15 -15 66.953072 -15 -12 66.953072 -15 -9 66.953072 - -15 -6 66.953072 -15 -3 66.953072 -15 0 66.953072 -15 3 66.953072 -15 6 66.953072 - -15 9 66.953072 -15 12 66.953072 -15 -15 69.953072 -15 -12 69.953072 -15 -9 69.953072 - -15 -6 69.953072 -15 -3 69.953072 -15 0 69.953072 -15 3 69.953072 -15 6 69.953072 - -15 9 69.953072 -15 12 69.953072 -15 -15 72.953056 -15 -12 72.953056 -15 -9 72.953056 - -15 -6 72.953056 -15 -3 72.953056 -15 0 72.953056 -15 3 72.953056 -15 6 72.953056 - -15 9 72.953056 -15 12 72.953056 -15 -15 75.953056 -15 -12 75.953056 -15 -9 75.953056 - -15 -6 75.953056 -15 -3 75.953056 -15 0 75.953056 -15 3 75.953056 -15 6 75.953056 - -15 9 75.953056 -15 12 75.953056 -15 -15 78.953041 -15 -12 78.953041 -15 -9 78.953041 - -15 -6 78.953041 -15 -3 78.953041 -15 0 78.953041 -15 3 78.953041 -15 6 78.953041 - -15 9 78.953041 -15 12 78.953041 -15 -15 81.953056 -15 -12 81.953056 -15 -9 81.953056 - -15 -6 81.953056 -15 -3 81.953056 -15 0 81.953056 -15 3 81.953056 -15 6 81.953056 - -15 9 81.953056 -15 12 81.953056 -15 -15 84.953056 -15 -12 84.953056 -15 -9 84.953056 - -15 -6 84.953056 -15 -3 84.953056 -15 0 84.953056 -15 3 84.953056 -15 6 84.953056 - -15 9 84.953056 -15 12 84.953056 -15 -15 87.953056 -15 -12 87.953056 -15 -9 87.953056 - -15 -6 87.953056 -15 -3 87.953056 -15 0 87.953056 -15 3 87.953056 -15 6 87.953056 - -15 9 87.953056 -15 12 87.953056 -15 -15 90.953056 -15 -12 90.953056 -15 -9 90.953056 - -15 -6 90.953056 -15 -3 90.953056 -15 0 90.953056 -15 3 90.953056 -15 6 90.953056 - -15 9 90.953056 -15 12 90.953056 -15 -15 93.953056 -15 -12 93.953056 -15 -9 93.953056 - -15 -6 93.953056 -15 -3 93.953056 -15 0 93.953056 -15 3 93.953056 -15 6 93.953056 - -15 9 93.953056 -15 12 93.953056 -15 -15 96.953056 -15 -12 96.953056 -15 -9 96.953056 - -15 -6 96.953056 -15 -3 96.953056 -15 0 96.953056 -15 3 96.953056 -15 6 96.953056 - -15 9 96.953056 -15 12 96.953056 -15 -15 99.953056 -15 -12 99.953056 -15 -9 99.953056 - -15 -6 99.953056 -15 -3 99.953056 -15 0 99.953056 -15; - setAttr ".inpo[166:331]" 3 99.953056 -15 6 99.953056 -15 9 99.953056 -15 12 99.953056 - -15 -15 102.95306 -15 -12 102.95306 -15 -9 102.95306 -15 -6 102.95306 -15 -3 102.95306 - -15 0 102.95306 -15 3 102.95306 -15 6 102.95306 -15 9 102.95306 -15 12 102.95306 - -15 -15 105.95301 -15 -12 105.95301 -15 -9 105.95301 -15 -6 105.95301 -15 -3 105.95301 - -15 0 105.95301 -15 3 105.95301 -15 6 105.95301 -15 9 105.95301 -15 12 105.95301 - -15 -15 108.95301 -15 -12 108.95301 -15 -9 108.95301 -15 -6 108.95301 -15 -3 108.95301 - -15 0 108.95301 -15 3 108.95301 -15 6 108.95301 -15 9 108.95301 -15 12 108.95301 - -15 -15 51.953045 -12 -12 51.953045 -12 -9 51.953045 -12 -6 51.953045 -12 -3 51.953045 - -12 0 51.953045 -12 3 51.953045 -12 6 51.953045 -12 9 51.953045 -12 12 51.953045 - -12 -15 54.953045 -12 -12 54.953045 -12 -9 54.953045 -12 -6 54.953045 -12 -3 54.953045 - -12 0 54.953045 -12 3 54.953045 -12 6 54.953045 -12 9 54.953045 -12 12 54.953045 - -12 -15 57.953045 -12 -12 57.953045 -12 -9 57.953045 -12 -6 57.953045 -12 -3 57.953045 - -12 0 57.953045 -12 3 57.953045 -12 6 57.953045 -12 9 57.953045 -12 12 57.953045 - -12 -15 60.953068 -12 -12 60.953068 -12 -9 60.953068 -12 -6 60.953068 -12 -3 60.953068 - -12 0 60.953068 -12 3 60.953068 -12 6 60.953068 -12 9 60.953068 -12 12 60.953068 - -12 -15 63.953068 -12 -12 63.953068 -12 -9 63.953068 -12 -6 63.953068 -12 -3 63.953068 - -12 0 63.953068 -12 3 63.953068 -12 6 63.953068 -12 9 63.953068 -12 12 63.953068 - -12 -15 66.953072 -12 -12 66.953072 -12 -9 66.953072 -12 -6 66.953072 -12 -3 66.953072 - -12 0 66.953072 -12 3 66.953072 -12 6 66.953072 -12 9 66.953072 -12 12 66.953072 - -12 -15 69.953072 -12 -12 69.953072 -12 -9 69.953072 -12 -6 69.953072 -12 -3 69.953072 - -12 0 69.953072 -12 3 69.953072 -12 6 69.953072 -12 9 69.953072 -12 12 69.953072 - -12 -15 72.953056 -12 -12 72.953056 -12 -9 72.953056 -12 -6 72.953056 -12 -3 72.953056 - -12 0 72.953056 -12 3 72.953056 -12 6 72.953056 -12 9 72.953056 -12 12 72.953056 - -12 -15 75.953056 -12 -12 75.953056 -12 -9 75.953056 -12 -6 75.953056 -12 -3 75.953056 - -12 0 75.953056 -12 3 75.953056 -12 6 75.953056 -12 9 75.953056 -12 12 75.953056 - -12 -15 78.953041 -12 -12 78.953041 -12 -9 78.953041 -12 -6 78.953041 -12 -3 78.953041 - -12 0 78.953041 -12 3 78.953041 -12 6 78.953041 -12 9 78.953041 -12 12 78.953041 - -12 -15 81.953056 -12 -12 81.953056 -12 -9 81.953056 -12 -6 81.953056 -12 -3 81.953056 - -12 0 81.953056 -12 3 81.953056 -12 6 81.953056 -12 9 81.953056 -12 12 81.953056 - -12 -15 84.953056 -12 -12 84.953056 -12 -9 84.953056 -12 -6 84.953056 -12 -3 84.953056 - -12 0 84.953056 -12 3 84.953056 -12 6 84.953056 -12 9 84.953056 -12 12 84.953056 - -12 -15 87.953056 -12 -12 87.953056 -12 -9 87.953056 -12 -6 87.953056 -12 -3 87.953056 - -12 0 87.953056 -12 3 87.953056 -12 6 87.953056 -12 9 87.953056 -12 12 87.953056 - -12 -15 90.953056 -12 -12 90.953056 -12; - setAttr ".inpo[332:497]" -9 90.953056 -12 -6 90.953056 -12 -3 90.953056 -12 0 90.953056 - -12 3 90.953056 -12 6 90.953056 -12 9 90.953056 -12 12 90.953056 -12 -15 93.953056 - -12 -12 93.953056 -12 -9 93.953056 -12 -6 93.953056 -12 -3 93.953056 -12 0 93.953056 - -12 3 93.953056 -12 6 93.953056 -12 9 93.953056 -12 12 93.953056 -12 -15 96.953056 - -12 -12 96.953056 -12 -9 96.953056 -12 -6 96.953056 -12 -3 96.953056 -12 0 96.953056 - -12 3 96.953056 -12 6 96.953056 -12 9 96.953056 -12 12 96.953056 -12 -15 99.953056 - -12 -12 99.953056 -12 -9 99.953056 -12 -6 99.953056 -12 -3 99.953056 -12 0 99.953056 - -12 3 99.953056 -12 6 99.953056 -12 9 99.953056 -12 12 99.953056 -12 -15 102.95306 - -12 -12 102.95306 -12 -9 102.95306 -12 -6 102.95306 -12 -3 102.95306 -12 0 102.95306 - -12 3 102.95306 -12 6 102.95306 -12 9 102.95306 -12 12 102.95306 -12 -15 105.95301 - -12 -12 105.95301 -12 -9 105.95301 -12 -6 105.95301 -12 -3 105.95301 -12 0 105.95301 - -12 3 105.95301 -12 6 105.95301 -12 9 105.95301 -12 12 105.95301 -12 -15 108.95301 - -12 -12 108.95301 -12 -9 108.95301 -12 -6 108.95301 -12 -3 108.95301 -12 0 108.95301 - -12 3 108.95301 -12 6 108.95301 -12 9 108.95301 -12 12 108.95301 -12 -15 51.953045 - -9 -12 51.953045 -9 -9 51.953045 -9 -6 51.953045 -9 -3 51.953045 -9 0 51.953045 -9 - 3 51.953045 -9 6 51.953045 -9 9 51.953045 -9 12 51.953045 -9 -15 54.953045 -9 -12 - 54.953045 -9 -9 54.953045 -9 -6 54.953045 -9 -3 54.953045 -9 0 54.953045 -9 3 54.953045 - -9 6 54.953045 -9 9 54.953045 -9 12 54.953045 -9 -15 57.953045 -9 -12 57.953045 -9 - -9 57.953045 -9 -6 57.953045 -9 -3 57.953045 -9 0 57.953045 -9 3 57.953045 -9 6 57.953045 - -9 9 57.953045 -9 12 57.953045 -9 -15 60.953068 -9 -12 60.953068 -9 -9 60.953068 - -9 -6 60.953068 -9 -3 60.953068 -9 0 60.953068 -9 3 60.953068 -9 6 60.953068 -9 9 - 60.953068 -9 12 60.953068 -9 -15 63.953068 -9 -12 63.953068 -9 -9 63.953068 -9 -6 - 63.953068 -9 -3 63.953068 -9 0 63.953068 -9 3 63.953068 -9 6 63.953068 -9 9 63.953068 - -9 12 63.953068 -9 -15 66.953072 -9 -12 66.953072 -9 -9 66.953072 -9 -6 66.953072 - -9 -3 66.953072 -9 0 66.953072 -9 3 66.953072 -9 6 66.953072 -9 9 66.953072 -9 12 - 66.953072 -9 -15 69.953072 -9 -12 69.953072 -9 -9 69.953072 -9 -6 69.953072 -9 -3 - 69.953072 -9 0 69.953072 -9 3 69.953072 -9 6 69.953072 -9 9 69.953072 -9 12 69.953072 - -9 -15 72.953056 -9 -12 72.953056 -9 -9 72.953056 -9 -6 72.953056 -9 -3 72.953056 - -9 0 72.953056 -9 3 72.953056 -9 6 72.953056 -9 9 72.953056 -9 12 72.953056 -9 -15 - 75.953056 -9 -12 75.953056 -9 -9 75.953056 -9 -6 75.953056 -9 -3 75.953056 -9 0 75.953056 - -9 3 75.953056 -9 6 75.953056 -9 9 75.953056 -9 12 75.953056 -9 -15 78.953041 -9 - -12 78.953041 -9 -9 78.953041 -9 -6 78.953041 -9 -3 78.953041 -9 0 78.953041 -9 3 - 78.953041 -9 6 78.953041 -9; - setAttr ".inpo[498:663]" 9 78.953041 -9 12 78.953041 -9 -15 81.953056 -9 -12 81.953056 - -9 -9 81.953056 -9 -6 81.953056 -9 -3 81.953056 -9 0 81.953056 -9 3 81.953056 -9 - 6 81.953056 -9 9 81.953056 -9 12 81.953056 -9 -15 84.953056 -9 -12 84.953056 -9 -9 - 84.953056 -9 -6 84.953056 -9 -3 84.953056 -9 0 84.953056 -9 3 84.953056 -9 6 84.953056 - -9 9 84.953056 -9 12 84.953056 -9 -15 87.953056 -9 -12 87.953056 -9 -9 87.953056 - -9 -6 87.953056 -9 -3 87.953056 -9 0 87.953056 -9 3 87.953056 -9 6 87.953056 -9 9 - 87.953056 -9 12 87.953056 -9 -15 90.953056 -9 -12 90.953056 -9 -9 90.953056 -9 -6 - 90.953056 -9 -3 90.953056 -9 0 90.953056 -9 3 90.953056 -9 6 90.953056 -9 9 90.953056 - -9 12 90.953056 -9 -15 93.953056 -9 -12 93.953056 -9 -9 93.953056 -9 -6 93.953056 - -9 -3 93.953056 -9 0 93.953056 -9 3 93.953056 -9 6 93.953056 -9 9 93.953056 -9 12 - 93.953056 -9 -15 96.953056 -9 -12 96.953056 -9 -9 96.953056 -9 -6 96.953056 -9 -3 - 96.953056 -9 0 96.953056 -9 3 96.953056 -9 6 96.953056 -9 9 96.953056 -9 12 96.953056 - -9 -15 99.953056 -9 -12 99.953056 -9 -9 99.953056 -9 -6 99.953056 -9 -3 99.953056 - -9 0 99.953056 -9 3 99.953056 -9 6 99.953056 -9 9 99.953056 -9 12 99.953056 -9 -15 - 102.95306 -9 -12 102.95306 -9 -9 102.95306 -9 -6 102.95306 -9 -3 102.95306 -9 0 102.95306 - -9 3 102.95306 -9 6 102.95306 -9 9 102.95306 -9 12 102.95306 -9 -15 105.95301 -9 - -12 105.95301 -9 -9 105.95301 -9 -6 105.95301 -9 -3 105.95301 -9 0 105.95301 -9 3 - 105.95301 -9 6 105.95301 -9 9 105.95301 -9 12 105.95301 -9 -15 108.95301 -9 -12 108.95301 - -9 -9 108.95301 -9 -6 108.95301 -9 -3 108.95301 -9 0 108.95301 -9 3 108.95301 -9 - 6 108.95301 -9 9 108.95301 -9 12 108.95301 -9 -15 51.953045 -6 -12 51.953045 -6 -9 - 51.953045 -6 -6 51.953045 -6 -3 51.953045 -6 0 51.953045 -6 3 51.953045 -6 6 51.953045 - -6 9 51.953045 -6 12 51.953045 -6 -15 54.953045 -6 -12 54.953045 -6 -9 54.953045 - -6 -6 54.953045 -6 -3 54.953045 -6 0 54.953045 -6 3 54.953045 -6 6 54.953045 -6 9 - 54.953045 -6 12 54.953045 -6 -15 57.953045 -6 -12 57.953045 -6 -9 57.953045 -6 -6 - 57.953045 -6 -3 57.953045 -6 0 57.953045 -6 3 57.953045 -6 6 57.953045 -6 9 57.953045 - -6 12 57.953045 -6 -15 60.953068 -6 -12 60.953068 -6 -9 60.953068 -6 -6 60.953068 - -6 -3 60.953068 -6 0 60.953068 -6 3 60.953068 -6 6 60.953068 -6 9 60.953068 -6 12 - 60.953068 -6 -15 63.953068 -6 -12 63.953068 -6 -9 63.953068 -6 -6 63.953068 -6 -3 - 63.953068 -6 0 63.953068 -6 3 63.953068 -6 6 63.953068 -6 9 63.953068 -6 12 63.953068 - -6 -15 66.953072 -6 -12 66.953072 -6 -9 66.953072 -6 -6 66.953072 -6 -3 66.953072 - -6 0 66.953072 -6 3 66.953072 -6 6 66.953072 -6 9 66.953072 -6 12 66.953072 -6 -15 - 69.953072 -6 -12 69.953072 -6 -9 69.953072 -6 -6 69.953072 -6; - setAttr ".inpo[664:829]" -3 69.953072 -6 0 69.953072 -6 3 69.953072 -6 6 69.953072 - -6 9 69.953072 -6 12 69.953072 -6 -15 72.953056 -6 -12 72.953056 -6 -9 72.953056 - -6 -6 72.953056 -6 -3 72.953056 -6 0 72.953056 -6 3 72.953056 -6 6 72.953056 -6 9 - 72.953056 -6 12 72.953056 -6 -15 75.953056 -6 -12 75.953056 -6 -9 75.953056 -6 -6 - 75.953056 -6 -3 75.953056 -6 0 75.953056 -6 3 75.953056 -6 6 75.953056 -6 9 75.953056 - -6 12 75.953056 -6 -15 78.953041 -6 -12 78.953041 -6 -9 78.953041 -6 -6 78.953041 - -6 -3 78.953041 -6 0 78.953041 -6 3 78.953041 -6 6 78.953041 -6 9 78.953041 -6 12 - 78.953041 -6 -15 81.953056 -6 -12 81.953056 -6 -9 81.953056 -6 -6 81.953056 -6 -3 - 81.953056 -6 0 81.953056 -6 3 81.953056 -6 6 81.953056 -6 9 81.953056 -6 12 81.953056 - -6 -15 84.953056 -6 -12 84.953056 -6 -9 84.953056 -6 -6 84.953056 -6 -3 84.953056 - -6 0 84.953056 -6 3 84.953056 -6 6 84.953056 -6 9 84.953056 -6 12 84.953056 -6 -15 - 87.953056 -6 -12 87.953056 -6 -9 87.953056 -6 -6 87.953056 -6 -3 87.953056 -6 0 87.953056 - -6 3 87.953056 -6 6 87.953056 -6 9 87.953056 -6 12 87.953056 -6 -15 90.953056 -6 - -12 90.953056 -6 -9 90.953056 -6 -6 90.953056 -6 -3 90.953056 -6 0 90.953056 -6 3 - 90.953056 -6 6 90.953056 -6 9 90.953056 -6 12 90.953056 -6 -15 93.953056 -6 -12 93.953056 - -6 -9 93.953056 -6 -6 93.953056 -6 -3 93.953056 -6 0 93.953056 -6 3 93.953056 -6 - 6 93.953056 -6 9 93.953056 -6 12 93.953056 -6 -15 96.953056 -6 -12 96.953056 -6 -9 - 96.953056 -6 -6 96.953056 -6 -3 96.953056 -6 0 96.953056 -6 3 96.953056 -6 6 96.953056 - -6 9 96.953056 -6 12 96.953056 -6 -15 99.953056 -6 -12 99.953056 -6 -9 99.953056 - -6 -6 99.953056 -6 -3 99.953056 -6 0 99.953056 -6 3 99.953056 -6 6 99.953056 -6 9 - 99.953056 -6 12 99.953056 -6 -15 102.95306 -6 -12 102.95306 -6 -9 102.95306 -6 -6 - 102.95306 -6 -3 102.95306 -6 0 102.95306 -6 3 102.95306 -6 6 102.95306 -6 9 102.95306 - -6 12 102.95306 -6 -15 105.95301 -6 -12 105.95301 -6 -9 105.95301 -6 -6 105.95301 - -6 -3 105.95301 -6 0 105.95301 -6 3 105.95301 -6 6 105.95301 -6 9 105.95301 -6 12 - 105.95301 -6 -15 108.95301 -6 -12 108.95301 -6 -9 108.95301 -6 -6 108.95301 -6 -3 - 108.95301 -6 0 108.95301 -6 3 108.95301 -6 6 108.95301 -6 9 108.95301 -6 12 108.95301 - -6 -15 51.953045 -3 -12 51.953045 -3 -9 51.953045 -3 -6 51.953045 -3 -3 51.953045 - -3 0 51.953045 -3 3 51.953045 -3 6 51.953045 -3 9 51.953045 -3 12 51.953045 -3 -15 - 54.953045 -3 -12 54.953045 -3 -9 54.953045 -3 -6 54.953045 -3 -3 54.953045 -3 0 54.953045 - -3 3 54.953045 -3 6 54.953045 -3 9 54.953045 -3 12 54.953045 -3 -15 57.953045 -3 - -12 57.953045 -3 -9 57.953045 -3 -6 57.953045 -3 -3 57.953045 -3 0 57.953045 -3 3 - 57.953045 -3 6 57.953045 -3 9 57.953045 -3 12 57.953045 -3; - setAttr ".inpo[830:995]" -15 60.953068 -3 -12 60.953068 -3 -9 60.953068 -3 -6 60.953068 - -3 -3 60.953068 -3 0 60.953068 -3 3 60.953068 -3 6 60.953068 -3 9 60.953068 -3 12 - 60.953068 -3 -15 63.953068 -3 -12 63.953068 -3 -9 63.953068 -3 -6 63.953068 -3 -3 - 63.953068 -3 0 63.953068 -3 3 63.953068 -3 6 63.953068 -3 9 63.953068 -3 12 63.953068 - -3 -15 66.953072 -3 -12 66.953072 -3 -9 66.953072 -3 -6 66.953072 -3 -3 66.953072 - -3 0 66.953072 -3 3 66.953072 -3 6 66.953072 -3 9 66.953072 -3 12 66.953072 -3 -15 - 69.953072 -3 -12 69.953072 -3 -9 69.953072 -3 -6 69.953072 -3 -3 69.953072 -3 0 69.953072 - -3 3 69.953072 -3 6 69.953072 -3 9 69.953072 -3 12 69.953072 -3 -15 72.953056 -3 - -12 72.953056 -3 -9 72.953056 -3 -6 72.953056 -3 -3 72.953056 -3 0 72.953056 -3 3 - 72.953056 -3 6 72.953056 -3 9 72.953056 -3 12 72.953056 -3 -15 75.953056 -3 -12 75.953056 - -3 -9 75.953056 -3 -6 75.953056 -3 -3 75.953056 -3 0 75.953056 -3 3 75.953056 -3 - 6 75.953056 -3 9 75.953056 -3 12 75.953056 -3 -15 78.953041 -3 -12 78.953041 -3 -9 - 78.953041 -3 -6 78.953041 -3 -3 78.953041 -3 0 78.953041 -3 3 78.953041 -3 6 78.953041 - -3 9 78.953041 -3 12 78.953041 -3 -15 81.953056 -3 -12 81.953056 -3 -9 81.953056 - -3 -6 81.953056 -3 -3 81.953056 -3 0 81.953056 -3 3 81.953056 -3 6 81.953056 -3 9 - 81.953056 -3 12 81.953056 -3 -15 84.953056 -3 -12 84.953056 -3 -9 84.953056 -3 -6 - 84.953056 -3 -3 84.953056 -3 0 84.953056 -3 3 84.953056 -3 6 84.953056 -3 9 84.953056 - -3 12 84.953056 -3 -15 87.953056 -3 -12 87.953056 -3 -9 87.953056 -3 -6 87.953056 - -3 -3 87.953056 -3 0 87.953056 -3 3 87.953056 -3 6 87.953056 -3 9 87.953056 -3 12 - 87.953056 -3 -15 90.953056 -3 -12 90.953056 -3 -9 90.953056 -3 -6 90.953056 -3 -3 - 90.953056 -3 0 90.953056 -3 3 90.953056 -3 6 90.953056 -3 9 90.953056 -3 12 90.953056 - -3 -15 93.953056 -3 -12 93.953056 -3 -9 93.953056 -3 -6 93.953056 -3 -3 93.953056 - -3 0 93.953056 -3 3 93.953056 -3 6 93.953056 -3 9 93.953056 -3 12 93.953056 -3 -15 - 96.953056 -3 -12 96.953056 -3 -9 96.953056 -3 -6 96.953056 -3 -3 96.953056 -3 0 96.953056 - -3 3 96.953056 -3 6 96.953056 -3 9 96.953056 -3 12 96.953056 -3 -15 99.953056 -3 - -12 99.953056 -3 -9 99.953056 -3 -6 99.953056 -3 -3 99.953056 -3 0 99.953056 -3 3 - 99.953056 -3 6 99.953056 -3 9 99.953056 -3 12 99.953056 -3 -15 102.95306 -3 -12 102.95306 - -3 -9 102.95306 -3 -6 102.95306 -3 -3 102.95306 -3 0 102.95306 -3 3 102.95306 -3 - 6 102.95306 -3 9 102.95306 -3 12 102.95306 -3 -15 105.95301 -3 -12 105.95301 -3 -9 - 105.95301 -3 -6 105.95301 -3 -3 105.95301 -3 0 105.95301 -3 3 105.95301 -3 6 105.95301 - -3 9 105.95301 -3 12 105.95301 -3 -15 108.95301 -3 -12 108.95301 -3 -9 108.95301 - -3 -6 108.95301 -3 -3 108.95301 -3 0 108.95301 -3; - setAttr ".inpo[996:1161]" 3 108.95301 -3 6 108.95301 -3 9 108.95301 -3 12 108.95301 - -3 -15 51.953045 0 -12 51.953045 0 -9 51.953045 0 -6 51.953045 0 -3 51.953045 0 0 - 51.953045 0 3 51.953045 0 6 51.953045 0 9 51.953045 0 12 51.953045 0 -15 54.953045 - 0 -12 54.953045 0 -9 54.953045 0 -6 54.953045 0 -3 54.953045 0 0 54.953045 0 3 54.953045 - 0 6 54.953045 0 9 54.953045 0 12 54.953045 0 -15 57.953045 0 -12 57.953045 0 -9 57.953045 - 0 -6 57.953045 0 -3 57.953045 0 0 57.953045 0 3 57.953045 0 6 57.953045 0 9 57.953045 - 0 12 57.953045 0 -15 60.953068 0 -12 60.953068 0 -9 60.953068 0 -6 60.953068 0 -3 - 60.953068 0 0 60.953068 0 3 60.953068 0 6 60.953068 0 9 60.953068 0 12 60.953068 - 0 -15 63.953068 0 -12 63.953068 0 -9 63.953068 0 -6 63.953068 0 -3 63.953068 0 0 - 63.953068 0 3 63.953068 0 6 63.953068 0 9 63.953068 0 12 63.953068 0 -15 66.953072 - 0 -12 66.953072 0 -9 66.953072 0 -6 66.953072 0 -3 66.953072 0 0 66.953072 0 3 66.953072 - 0 6 66.953072 0 9 66.953072 0 12 66.953072 0 -15 69.953072 0 -12 69.953072 0 -9 69.953072 - 0 -6 69.953072 0 -3 69.953072 0 0 69.953072 0 3 69.953072 0 6 69.953072 0 9 69.953072 - 0 12 69.953072 0 -15 72.953056 0 -12 72.953056 0 -9 72.953056 0 -6 72.953056 0 -3 - 72.953056 0 0 72.953056 0 3 72.953056 0 6 72.953056 0 9 72.953056 0 12 72.953056 - 0 -15 75.953056 0 -12 75.953056 0 -9 75.953056 0 -6 75.953056 0 -3 75.953056 0 0 - 75.953056 0 3 75.953056 0 6 75.953056 0 9 75.953056 0 12 75.953056 0 -15 78.953041 - 0 -12 78.953041 0 -9 78.953041 0 -6 78.953041 0 -3 78.953041 0 0 78.953041 0 3 78.953041 - 0 6 78.953041 0 9 78.953041 0 12 78.953041 0 -15 81.953056 0 -12 81.953056 0 -9 81.953056 - 0 -6 81.953056 0 -3 81.953056 0 0 81.953056 0 3 81.953056 0 6 81.953056 0 9 81.953056 - 0 12 81.953056 0 -15 84.953056 0 -12 84.953056 0 -9 84.953056 0 -6 84.953056 0 -3 - 84.953056 0 0 84.953056 0 3 84.953056 0 6 84.953056 0 9 84.953056 0 12 84.953056 - 0 -15 87.953056 0 -12 87.953056 0 -9 87.953056 0 -6 87.953056 0 -3 87.953056 0 0 - 87.953056 0 3 87.953056 0 6 87.953056 0 9 87.953056 0 12 87.953056 0 -15 90.953056 - 0 -12 90.953056 0 -9 90.953056 0 -6 90.953056 0 -3 90.953056 0 0 90.953056 0 3 90.953056 - 0 6 90.953056 0 9 90.953056 0 12 90.953056 0 -15 93.953056 0 -12 93.953056 0 -9 93.953056 - 0 -6 93.953056 0 -3 93.953056 0 0 93.953056 0 3 93.953056 0 6 93.953056 0 9 93.953056 - 0 12 93.953056 0 -15 96.953056 0 -12 96.953056 0 -9 96.953056 0 -6 96.953056 0 -3 - 96.953056 0 0 96.953056 0 3 96.953056 0 6 96.953056 0 9 96.953056 0 12 96.953056 - 0 -15 99.953056 0 -12 99.953056 0; - setAttr ".inpo[1162:1327]" -9 99.953056 0 -6 99.953056 0 -3 99.953056 0 0 99.953056 - 0 3 99.953056 0 6 99.953056 0 9 99.953056 0 12 99.953056 0 -15 102.95306 0 -12 102.95306 - 0 -9 102.95306 0 -6 102.95306 0 -3 102.95306 0 0 102.95306 0 3 102.95306 0 6 102.95306 - 0 9 102.95306 0 12 102.95306 0 -15 105.95301 0 -12 105.95301 0 -9 105.95301 0 -6 - 105.95301 0 -3 105.95301 0 0 105.95301 0 3 105.95301 0 6 105.95301 0 9 105.95301 - 0 12 105.95301 0 -15 108.95301 0 -12 108.95301 0 -9 108.95301 0 -6 108.95301 0 -3 - 108.95301 0 0 108.95301 0 3 108.95301 0 6 108.95301 0 9 108.95301 0 12 108.95301 - 0 -15 51.953045 3 -12 51.953045 3 -9 51.953045 3 -6 51.953045 3 -3 51.953045 3 0 - 51.953045 3 3 51.953045 3 6 51.953045 3 9 51.953045 3 12 51.953045 3 -15 54.953045 - 3 -12 54.953045 3 -9 54.953045 3 -6 54.953045 3 -3 54.953045 3 0 54.953045 3 3 54.953045 - 3 6 54.953045 3 9 54.953045 3 12 54.953045 3 -15 57.953045 3 -12 57.953045 3 -9 57.953045 - 3 -6 57.953045 3 -3 57.953045 3 0 57.953045 3 3 57.953045 3 6 57.953045 3 9 57.953045 - 3 12 57.953045 3 -15 60.953068 3 -12 60.953068 3 -9 60.953068 3 -6 60.953068 3 -3 - 60.953068 3 0 60.953068 3 3 60.953068 3 6 60.953068 3 9 60.953068 3 12 60.953068 - 3 -15 63.953068 3 -12 63.953068 3 -9 63.953068 3 -6 63.953068 3 -3 63.953068 3 0 - 63.953068 3 3 63.953068 3 6 63.953068 3 9 63.953068 3 12 63.953068 3 -15 66.953072 - 3 -12 66.953072 3 -9 66.953072 3 -6 66.953072 3 -3 66.953072 3 0 66.953072 3 3 66.953072 - 3 6 66.953072 3 9 66.953072 3 12 66.953072 3 -15 69.953072 3 -12 69.953072 3 -9 69.953072 - 3 -6 69.953072 3 -3 69.953072 3 0 69.953072 3 3 69.953072 3 6 69.953072 3 9 69.953072 - 3 12 69.953072 3 -15 72.953056 3 -12 72.953056 3 -9 72.953056 3 -6 72.953056 3 -3 - 72.953056 3 0 72.953056 3 3 72.953056 3 6 72.953056 3 9 72.953056 3 12 72.953056 - 3 -15 75.953056 3 -12 75.953056 3 -9 75.953056 3 -6 75.953056 3 -3 75.953056 3 0 - 75.953056 3 3 75.953056 3 6 75.953056 3 9 75.953056 3 12 75.953056 3 -15 78.953041 - 3 -12 78.953041 3 -9 78.953041 3 -6 78.953041 3 -3 78.953041 3 0 78.953041 3 3 78.953041 - 3 6 78.953041 3 9 78.953041 3 12 78.953041 3 -15 81.953056 3 -12 81.953056 3 -9 81.953056 - 3 -6 81.953056 3 -3 81.953056 3 0 81.953056 3 3 81.953056 3 6 81.953056 3 9 81.953056 - 3 12 81.953056 3 -15 84.953056 3 -12 84.953056 3 -9 84.953056 3 -6 84.953056 3 -3 - 84.953056 3 0 84.953056 3 3 84.953056 3 6 84.953056 3 9 84.953056 3 12 84.953056 - 3 -15 87.953056 3 -12 87.953056 3 -9 87.953056 3 -6 87.953056 3 -3 87.953056 3 0 - 87.953056 3 3 87.953056 3 6 87.953056 3; - setAttr ".inpo[1328:1493]" 9 87.953056 3 12 87.953056 3 -15 90.953056 3 -12 90.953056 - 3 -9 90.953056 3 -6 90.953056 3 -3 90.953056 3 0 90.953056 3 3 90.953056 3 6 90.953056 - 3 9 90.953056 3 12 90.953056 3 -15 93.953056 3 -12 93.953056 3 -9 93.953056 3 -6 - 93.953056 3 -3 93.953056 3 0 93.953056 3 3 93.953056 3 6 93.953056 3 9 93.953056 - 3 12 93.953056 3 -15 96.953056 3 -12 96.953056 3 -9 96.953056 3 -6 96.953056 3 -3 - 96.953056 3 0 96.953056 3 3 96.953056 3 6 96.953056 3 9 96.953056 3 12 96.953056 - 3 -15 99.953056 3 -12 99.953056 3 -9 99.953056 3 -6 99.953056 3 -3 99.953056 3 0 - 99.953056 3 3 99.953056 3 6 99.953056 3 9 99.953056 3 12 99.953056 3 -15 102.95306 - 3 -12 102.95306 3 -9 102.95306 3 -6 102.95306 3 -3 102.95306 3 0 102.95306 3 3 102.95306 - 3 6 102.95306 3 9 102.95306 3 12 102.95306 3 -15 105.95301 3 -12 105.95301 3 -9 105.95301 - 3 -6 105.95301 3 -3 105.95301 3 0 105.95301 3 3 105.95301 3 6 105.95301 3 9 105.95301 - 3 12 105.95301 3 -15 108.95301 3 -12 108.95301 3 -9 108.95301 3 -6 108.95301 3 -3 - 108.95301 3 0 108.95301 3 3 108.95301 3 6 108.95301 3 9 108.95301 3 12 108.95301 - 3 -15 51.953045 6 -12 51.953045 6 -9 51.953045 6 -6 51.953045 6 -3 51.953045 6 0 - 51.953045 6 3 51.953045 6 6 51.953045 6 9 51.953045 6 12 51.953045 6 -15 54.953045 - 6 -12 54.953045 6 -9 54.953045 6 -6 54.953045 6 -3 54.953045 6 0 54.953045 6 3 54.953045 - 6 6 54.953045 6 9 54.953045 6 12 54.953045 6 -15 57.953045 6 -12 57.953045 6 -9 57.953045 - 6 -6 57.953045 6 -3 57.953045 6 0 57.953045 6 3 57.953045 6 6 57.953045 6 9 57.953045 - 6 12 57.953045 6 -15 60.953068 6 -12 60.953068 6 -9 60.953068 6 -6 60.953068 6 -3 - 60.953068 6 0 60.953068 6 3 60.953068 6 6 60.953068 6 9 60.953068 6 12 60.953068 - 6 -15 63.953068 6 -12 63.953068 6 -9 63.953068 6 -6 63.953068 6 -3 63.953068 6 0 - 63.953068 6 3 63.953068 6 6 63.953068 6 9 63.953068 6 12 63.953068 6 -15 66.953072 - 6 -12 66.953072 6 -9 66.953072 6 -6 66.953072 6 -3 66.953072 6 0 66.953072 6 3 66.953072 - 6 6 66.953072 6 9 66.953072 6 12 66.953072 6 -15 69.953072 6 -12 69.953072 6 -9 69.953072 - 6 -6 69.953072 6 -3 69.953072 6 0 69.953072 6 3 69.953072 6 6 69.953072 6 9 69.953072 - 6 12 69.953072 6 -15 72.953056 6 -12 72.953056 6 -9 72.953056 6 -6 72.953056 6 -3 - 72.953056 6 0 72.953056 6 3 72.953056 6 6 72.953056 6 9 72.953056 6 12 72.953056 - 6 -15 75.953056 6 -12 75.953056 6 -9 75.953056 6 -6 75.953056 6 -3 75.953056 6 0 - 75.953056 6 3 75.953056 6 6 75.953056 6 9 75.953056 6 12 75.953056 6 -15 78.953041 - 6 -12 78.953041 6 -9 78.953041 6 -6 78.953041 6; - setAttr ".inpo[1494:1659]" -3 78.953041 6 0 78.953041 6 3 78.953041 6 6 78.953041 - 6 9 78.953041 6 12 78.953041 6 -15 81.953056 6 -12 81.953056 6 -9 81.953056 6 -6 - 81.953056 6 -3 81.953056 6 0 81.953056 6 3 81.953056 6 6 81.953056 6 9 81.953056 - 6 12 81.953056 6 -15 84.953056 6 -12 84.953056 6 -9 84.953056 6 -6 84.953056 6 -3 - 84.953056 6 0 84.953056 6 3 84.953056 6 6 84.953056 6 9 84.953056 6 12 84.953056 - 6 -15 87.953056 6 -12 87.953056 6 -9 87.953056 6 -6 87.953056 6 -3 87.953056 6 0 - 87.953056 6 3 87.953056 6 6 87.953056 6 9 87.953056 6 12 87.953056 6 -15 90.953056 - 6 -12 90.953056 6 -9 90.953056 6 -6 90.953056 6 -3 90.953056 6 0 90.953056 6 3 90.953056 - 6 6 90.953056 6 9 90.953056 6 12 90.953056 6 -15 93.953056 6 -12 93.953056 6 -9 93.953056 - 6 -6 93.953056 6 -3 93.953056 6 0 93.953056 6 3 93.953056 6 6 93.953056 6 9 93.953056 - 6 12 93.953056 6 -15 96.953056 6 -12 96.953056 6 -9 96.953056 6 -6 96.953056 6 -3 - 96.953056 6 0 96.953056 6 3 96.953056 6 6 96.953056 6 9 96.953056 6 12 96.953056 - 6 -15 99.953056 6 -12 99.953056 6 -9 99.953056 6 -6 99.953056 6 -3 99.953056 6 0 - 99.953056 6 3 99.953056 6 6 99.953056 6 9 99.953056 6 12 99.953056 6 -15 102.95306 - 6 -12 102.95306 6 -9 102.95306 6 -6 102.95306 6 -3 102.95306 6 0 102.95306 6 3 102.95306 - 6 6 102.95306 6 9 102.95306 6 12 102.95306 6 -15 105.95301 6 -12 105.95301 6 -9 105.95301 - 6 -6 105.95301 6 -3 105.95301 6 0 105.95301 6 3 105.95301 6 6 105.95301 6 9 105.95301 - 6 12 105.95301 6 -15 108.95301 6 -12 108.95301 6 -9 108.95301 6 -6 108.95301 6 -3 - 108.95301 6 0 108.95301 6 3 108.95301 6 6 108.95301 6 9 108.95301 6 12 108.95301 - 6 -15 51.953045 9 -12 51.953045 9 -9 51.953045 9 -6 51.953045 9 -3 51.953045 9 0 - 51.953045 9 3 51.953045 9 6 51.953045 9 9 51.953045 9 12 51.953045 9 -15 54.953045 - 9 -12 54.953045 9 -9 54.953045 9 -6 54.953045 9 -3 54.953045 9 0 54.953045 9 3 54.953045 - 9 6 54.953045 9 9 54.953045 9 12 54.953045 9 -15 57.953045 9 -12 57.953045 9 -9 57.953045 - 9 -6 57.953045 9 -3 57.953045 9 0 57.953045 9 3 57.953045 9 6 57.953045 9 9 57.953045 - 9 12 57.953045 9 -15 60.953068 9 -12 60.953068 9 -9 60.953068 9 -6 60.953068 9 -3 - 60.953068 9 0 60.953068 9 3 60.953068 9 6 60.953068 9 9 60.953068 9 12 60.953068 - 9 -15 63.953068 9 -12 63.953068 9 -9 63.953068 9 -6 63.953068 9 -3 63.953068 9 0 - 63.953068 9 3 63.953068 9 6 63.953068 9 9 63.953068 9 12 63.953068 9 -15 66.953072 - 9 -12 66.953072 9 -9 66.953072 9 -6 66.953072 9 -3 66.953072 9 0 66.953072 9 3 66.953072 - 9 6 66.953072 9 9 66.953072 9 12 66.953072 9; - setAttr ".inpo[1660:1825]" -15 69.953072 9 -12 69.953072 9 -9 69.953072 9 -6 69.953072 - 9 -3 69.953072 9 0 69.953072 9 3 69.953072 9 6 69.953072 9 9 69.953072 9 12 69.953072 - 9 -15 72.953056 9 -12 72.953056 9 -9 72.953056 9 -6 72.953056 9 -3 72.953056 9 0 - 72.953056 9 3 72.953056 9 6 72.953056 9 9 72.953056 9 12 72.953056 9 -15 75.953056 - 9 -12 75.953056 9 -9 75.953056 9 -6 75.953056 9 -3 75.953056 9 0 75.953056 9 3 75.953056 - 9 6 75.953056 9 9 75.953056 9 12 75.953056 9 -15 78.953041 9 -12 78.953041 9 -9 78.953041 - 9 -6 78.953041 9 -3 78.953041 9 0 78.953041 9 3 78.953041 9 6 78.953041 9 9 78.953041 - 9 12 78.953041 9 -15 81.953056 9 -12 81.953056 9 -9 81.953056 9 -6 81.953056 9 -3 - 81.953056 9 0 81.953056 9 3 81.953056 9 6 81.953056 9 9 81.953056 9 12 81.953056 - 9 -15 84.953056 9 -12 84.953056 9 -9 84.953056 9 -6 84.953056 9 -3 84.953056 9 0 - 84.953056 9 3 84.953056 9 6 84.953056 9 9 84.953056 9 12 84.953056 9 -15 87.953056 - 9 -12 87.953056 9 -9 87.953056 9 -6 87.953056 9 -3 87.953056 9 0 87.953056 9 3 87.953056 - 9 6 87.953056 9 9 87.953056 9 12 87.953056 9 -15 90.953056 9 -12 90.953056 9 -9 90.953056 - 9 -6 90.953056 9 -3 90.953056 9 0 90.953056 9 3 90.953056 9 6 90.953056 9 9 90.953056 - 9 12 90.953056 9 -15 93.953056 9 -12 93.953056 9 -9 93.953056 9 -6 93.953056 9 -3 - 93.953056 9 0 93.953056 9 3 93.953056 9 6 93.953056 9 9 93.953056 9 12 93.953056 - 9 -15 96.953056 9 -12 96.953056 9 -9 96.953056 9 -6 96.953056 9 -3 96.953056 9 0 - 96.953056 9 3 96.953056 9 6 96.953056 9 9 96.953056 9 12 96.953056 9 -15 99.953056 - 9 -12 99.953056 9 -9 99.953056 9 -6 99.953056 9 -3 99.953056 9 0 99.953056 9 3 99.953056 - 9 6 99.953056 9 9 99.953056 9 12 99.953056 9 -15 102.95306 9 -12 102.95306 9 -9 102.95306 - 9 -6 102.95306 9 -3 102.95306 9 0 102.95306 9 3 102.95306 9 6 102.95306 9 9 102.95306 - 9 12 102.95306 9 -15 105.95301 9 -12 105.95301 9 -9 105.95301 9 -6 105.95301 9 -3 - 105.95301 9 0 105.95301 9 3 105.95301 9 6 105.95301 9 9 105.95301 9 12 105.95301 - 9 -15 108.95301 9 -12 108.95301 9 -9 108.95301 9 -6 108.95301 9 -3 108.95301 9 0 - 108.95301 9 3 108.95301 9 6 108.95301 9 9 108.95301 9 12 108.95301 9 -15 51.953045 - 12 -12 51.953045 12 -9 51.953045 12 -6 51.953045 12 -3 51.953045 12 0 51.953045 12 - 3 51.953045 12 6 51.953045 12 9 51.953045 12 12 51.953045 12 -15 54.953045 12 -12 - 54.953045 12 -9 54.953045 12 -6 54.953045 12 -3 54.953045 12 0 54.953045 12 3 54.953045 - 12 6 54.953045 12 9 54.953045 12 12 54.953045 12 -15 57.953045 12 -12 57.953045 12 - -9 57.953045 12 -6 57.953045 12 -3 57.953045 12 0 57.953045 12; - setAttr ".inpo[1826:1991]" 3 57.953045 12 6 57.953045 12 9 57.953045 12 12 57.953045 - 12 -15 60.953068 12 -12 60.953068 12 -9 60.953068 12 -6 60.953068 12 -3 60.953068 - 12 0 60.953068 12 3 60.953068 12 6 60.953068 12 9 60.953068 12 12 60.953068 12 -15 - 63.953068 12 -12 63.953068 12 -9 63.953068 12 -6 63.953068 12 -3 63.953068 12 0 63.953068 - 12 3 63.953068 12 6 63.953068 12 9 63.953068 12 12 63.953068 12 -15 66.953072 12 - -12 66.953072 12 -9 66.953072 12 -6 66.953072 12 -3 66.953072 12 0 66.953072 12 3 - 66.953072 12 6 66.953072 12 9 66.953072 12 12 66.953072 12 -15 69.953072 12 -12 69.953072 - 12 -9 69.953072 12 -6 69.953072 12 -3 69.953072 12 0 69.953072 12 3 69.953072 12 - 6 69.953072 12 9 69.953072 12 12 69.953072 12 -15 72.953056 12 -12 72.953056 12 -9 - 72.953056 12 -6 72.953056 12 -3 72.953056 12 0 72.953056 12 3 72.953056 12 6 72.953056 - 12 9 72.953056 12 12 72.953056 12 -15 75.953056 12 -12 75.953056 12 -9 75.953056 - 12 -6 75.953056 12 -3 75.953056 12 0 75.953056 12 3 75.953056 12 6 75.953056 12 9 - 75.953056 12 12 75.953056 12 -15 78.953041 12 -12 78.953041 12 -9 78.953041 12 -6 - 78.953041 12 -3 78.953041 12 0 78.953041 12 3 78.953041 12 6 78.953041 12 9 78.953041 - 12 12 78.953041 12 -15 81.953056 12 -12 81.953056 12 -9 81.953056 12 -6 81.953056 - 12 -3 81.953056 12 0 81.953056 12 3 81.953056 12 6 81.953056 12 9 81.953056 12 12 - 81.953056 12 -15 84.953056 12 -12 84.953056 12 -9 84.953056 12 -6 84.953056 12 -3 - 84.953056 12 0 84.953056 12 3 84.953056 12 6 84.953056 12 9 84.953056 12 12 84.953056 - 12 -15 87.953056 12 -12 87.953056 12 -9 87.953056 12 -6 87.953056 12 -3 87.953056 - 12 0 87.953056 12 3 87.953056 12 6 87.953056 12 9 87.953056 12 12 87.953056 12 -15 - 90.953056 12 -12 90.953056 12 -9 90.953056 12 -6 90.953056 12 -3 90.953056 12 0 90.953056 - 12 3 90.953056 12 6 90.953056 12 9 90.953056 12 12 90.953056 12 -15 93.953056 12 - -12 93.953056 12 -9 93.953056 12 -6 93.953056 12 -3 93.953056 12 0 93.953056 12 3 - 93.953056 12 6 93.953056 12 9 93.953056 12 12 93.953056 12 -15 96.953056 12 -12 96.953056 - 12 -9 96.953056 12 -6 96.953056 12 -3 96.953056 12 0 96.953056 12 3 96.953056 12 - 6 96.953056 12 9 96.953056 12 12 96.953056 12 -15 99.953056 12 -12 99.953056 12 -9 - 99.953056 12 -6 99.953056 12 -3 99.953056 12 0 99.953056 12 3 99.953056 12 6 99.953056 - 12 9 99.953056 12 12 99.953056 12 -15 102.95306 12 -12 102.95306 12 -9 102.95306 - 12 -6 102.95306 12 -3 102.95306 12 0 102.95306 12 3 102.95306 12 6 102.95306 12 9 - 102.95306 12 12 102.95306 12 -15 105.95301 12 -12 105.95301 12 -9 105.95301 12 -6 - 105.95301 12 -3 105.95301 12 0 105.95301 12 3 105.95301 12 6 105.95301 12 9 105.95301 - 12 12 105.95301 12 -15 108.95301 12 -12 108.95301 12; - setAttr ".inpo[1992:1999]" -9 108.95301 12 -6 108.95301 12 -3 108.95301 12 0 108.95301 - 12 3 108.95301 12 6 108.95301 12 9 108.95301 12 12 108.95301 12; - setAttr -s 2000 ".pos"; - setAttr ".pos[0:165]" -type "float3" -15 51.953045 -15 -12 51.953045 -15 -9 51.953045 - -15 -6 51.953045 -15 -3 51.953045 -15 0 51.953045 -15 3 51.953045 -15 6 51.953045 - -15 9 51.953045 -15 12 51.953045 -15 -15 54.953045 -15 -12 54.953045 -15 -9 54.953045 - -15 -6 54.953045 -15 -3 54.953045 -15 0 54.953045 -15 3 54.953045 -15 6 54.953045 - -15 9 54.953045 -15 12 54.953045 -15 -15 57.953045 -15 -12 57.953045 -15 -9 57.953045 - -15 -6 57.953045 -15 -3 57.953045 -15 0 57.953045 -15 3 57.953045 -15 6 57.953045 - -15 9 57.953045 -15 12 57.953045 -15 -15 60.953068 -15 -12 60.953068 -15 -9 60.953068 - -15 -6 60.953068 -15 -3 60.953068 -15 0 60.953068 -15 3 60.953068 -15 6 60.953068 - -15 9 60.953068 -15 12 60.953068 -15 -15 63.953068 -15 -12 63.953068 -15 -9 63.953068 - -15 -6 63.953068 -15 -3 63.953068 -15 0 63.953068 -15 3 63.953068 -15 6 63.953068 - -15 9 63.953068 -15 12 63.953068 -15 -15 66.953072 -15 -12 66.953072 -15 -9 66.953072 - -15 -6 66.953072 -15 -3 66.953072 -15 0 66.953072 -15 3 66.953072 -15 6 66.953072 - -15 9 66.953072 -15 12 66.953072 -15 -15 69.953072 -15 -12 69.953072 -15 -9 69.953072 - -15 -6 69.953072 -15 -3 69.953072 -15 0 69.953072 -15 3 69.953072 -15 6 69.953072 - -15 9 69.953072 -15 12 69.953072 -15 -15 72.953056 -15 -12 72.953056 -15 -9 72.953056 - -15 -6 72.953056 -15 -3 72.953056 -15 0 72.953056 -15 3 72.953056 -15 6 72.953056 - -15 9 72.953056 -15 12 72.953056 -15 -15 75.953056 -15 -12 75.953056 -15 -9 75.953056 - -15 -6 75.953056 -15 -3 75.953056 -15 0 75.953056 -15 3 75.953056 -15 6 75.953056 - -15 9 75.953056 -15 12 75.953056 -15 -15 78.953041 -15 -12 78.953041 -15 -9 78.953041 - -15 -6 78.953041 -15 -3 78.953041 -15 0 78.953041 -15 3 78.953041 -15 6 78.953041 - -15 9 78.953041 -15 12 78.953041 -15 -15 81.953056 -15 -12 81.953056 -15 -9 81.953056 - -15 -6 81.953056 -15 -3 81.953056 -15 0 81.953056 -15 3 81.953056 -15 6 81.953056 - -15 9 81.953056 -15 12 81.953056 -15 -15 84.953056 -15 -12 84.953056 -15 -9 84.953056 - -15 -6 84.953056 -15 -3 84.953056 -15 0 84.953056 -15 3 84.953056 -15 6 84.953056 - -15 9 84.953056 -15 12 84.953056 -15 -15 87.953056 -15 -12 87.953056 -15 -9 87.953056 - -15 -6 87.953056 -15 -3 87.953056 -15 0 87.953056 -15 3 87.953056 -15 6 87.953056 - -15 9 87.953056 -15 12 87.953056 -15 -15 90.953056 -15 -12 90.953056 -15 -9 90.953056 - -15 -6 90.953056 -15 -3 90.953056 -15 0 90.953056 -15 3 90.953056 -15 6 90.953056 - -15 9 90.953056 -15 12 90.953056 -15 -15 93.953056 -15 -12 93.953056 -15 -9 93.953056 - -15 -6 93.953056 -15 -3 93.953056 -15 0 93.953056 -15 3 93.953056 -15 6 93.953056 - -15 9 93.953056 -15 12 93.953056 -15 -15 96.953056 -15 -12 96.953056 -15 -9 96.953056 - -15 -6 96.953056 -15 -3 96.953056 -15 0 96.953056 -15 3 96.953056 -15 6 96.953056 - -15 9 96.953056 -15 12 96.953056 -15 -15 99.953056 -15 -12 99.953056 -15 -9 99.953056 - -15 -6 99.953056 -15 -3 99.953056 -15 0 99.953056 -15; - setAttr ".pos[166:331]" 3 99.953056 -15 6 99.953056 -15 9 99.953056 -15 12 99.953056 - -15 -15 102.95306 -15 -12 102.95306 -15 -9 102.95306 -15 -6 102.95306 -15 -3 102.95306 - -15 0 102.95306 -15 3 102.95306 -15 6 102.95306 -15 9 102.95306 -15 12 102.95306 - -15 -15 105.95301 -15 -12 105.95301 -15 -9 105.95301 -15 -6 105.95301 -15 -3 105.95301 - -15 0 105.95301 -15 3 105.95301 -15 6 105.95301 -15 9 105.95301 -15 12 105.95301 - -15 -15 108.95301 -15 -12 108.95301 -15 -9 108.95301 -15 -6 108.95301 -15 -3 108.95301 - -15 0 108.95301 -15 3 108.95301 -15 6 108.95301 -15 9 108.95301 -15 12 108.95301 - -15 -15 51.953045 -12 -12 51.953045 -12 -9 51.953045 -12 -6 51.953045 -12 -3 51.953045 - -12 0 51.953045 -12 3 51.953045 -12 6 51.953045 -12 9 51.953045 -12 12 51.953045 - -12 -15 54.953045 -12 -12 54.953045 -12 -9 54.953045 -12 -6 54.953045 -12 -3 54.953045 - -12 0 54.953045 -12 3 54.953045 -12 6 54.953045 -12 9 54.953045 -12 12 54.953045 - -12 -15 57.953045 -12 -12 57.953045 -12 -9 57.953045 -12 -6 57.953045 -12 -3 57.953045 - -12 0 57.953045 -12 3 57.953045 -12 6 57.953045 -12 9 57.953045 -12 12 57.953045 - -12 -15 60.953068 -12 -12 60.953068 -12 -9 60.953068 -12 -6 60.953068 -12 -3 60.953068 - -12 0 60.953068 -12 3 60.953068 -12 6 60.953068 -12 9 60.953068 -12 12 60.953068 - -12 -15 63.953068 -12 -12 63.953068 -12 -9 63.953068 -12 -6 63.953068 -12 -3 63.953068 - -12 0 63.953068 -12 3 63.953068 -12 6 63.953068 -12 9 63.953068 -12 12 63.953068 - -12 -15 66.953072 -12 -12 66.953072 -12 -9 66.953072 -12 -6 66.953072 -12 -3 66.953072 - -12 0 66.953072 -12 3 66.953072 -12 6 66.953072 -12 9 66.953072 -12 12 66.953072 - -12 -15 69.953072 -12 -12 69.953072 -12 -9 69.953072 -12 -6 69.953072 -12 -3 69.953072 - -12 0 69.953072 -12 3 69.953072 -12 6 69.953072 -12 9 69.953072 -12 12 69.953072 - -12 -15 72.953056 -12 -12 72.953056 -12 -9 72.953056 -12 -6 72.953056 -12 -3 72.953056 - -12 0 72.953056 -12 3 72.953056 -12 6 72.953056 -12 9 72.953056 -12 12 72.953056 - -12 -15 75.953056 -12 -12 75.953056 -12 -9 75.953056 -12 -6 75.953056 -12 -3 75.953056 - -12 0 75.953056 -12 3 75.953056 -12 6 75.953056 -12 9 75.953056 -12 12 75.953056 - -12 -15 78.953041 -12 -12 78.953041 -12 -9 78.953041 -12 -6 78.953041 -12 -3 78.953041 - -12 0 78.953041 -12 3 78.953041 -12 6 78.953041 -12 9 78.953041 -12 12 78.953041 - -12 -15 81.953056 -12 -12 81.953056 -12 -9 81.953056 -12 -6 81.953056 -12 -3 81.953056 - -12 0 81.953056 -12 3 81.953056 -12 6 81.953056 -12 9 81.953056 -12 12 81.953056 - -12 -15 84.953056 -12 -12 84.953056 -12 -9 84.953056 -12 -6 84.953056 -12 -3 84.953056 - -12 0 84.953056 -12 3 84.953056 -12 6 84.953056 -12 9 84.953056 -12 12 84.953056 - -12 -15 87.953056 -12 -12 87.953056 -12 -9 87.953056 -12 -6 87.953056 -12 -3 87.953056 - -12 0 87.953056 -12 3 87.953056 -12 6 87.953056 -12 9 87.953056 -12 12 87.953056 - -12 -15 90.953056 -12 -12 90.953056 -12; - setAttr ".pos[332:497]" -9 90.953056 -12 -6 90.953056 -12 -3 90.953056 -12 0 90.953056 - -12 3 90.953056 -12 6 90.953056 -12 9 90.953056 -12 12 90.953056 -12 -15 93.953056 - -12 -12 93.953056 -12 -9 93.953056 -12 -6 93.953056 -12 -3 93.953056 -12 0 93.953056 - -12 3 93.953056 -12 6 93.953056 -12 9 93.953056 -12 12 93.953056 -12 -15 96.953056 - -12 -12 96.953056 -12 -9 96.953056 -12 -6 96.953056 -12 -3 96.953056 -12 0 96.953056 - -12 3 96.953056 -12 6 96.953056 -12 9 96.953056 -12 12 96.953056 -12 -15 99.953056 - -12 -12 99.953056 -12 -9 99.953056 -12 -6 99.953056 -12 -3 99.953056 -12 0 99.953056 - -12 3 99.953056 -12 6 99.953056 -12 9 99.953056 -12 12 99.953056 -12 -15 102.95306 - -12 -12 102.95306 -12 -9 102.95306 -12 -6 102.95306 -12 -3 102.95306 -12 0 102.95306 - -12 3 102.95306 -12 6 102.95306 -12 9 102.95306 -12 12 102.95306 -12 -15 105.95301 - -12 -12 105.95301 -12 -9 105.95301 -12 -6 105.95301 -12 -3 105.95301 -12 0 105.95301 - -12 3 105.95301 -12 6 105.95301 -12 9 105.95301 -12 12 105.95301 -12 -15 108.95301 - -12 -12 108.95301 -12 -9 108.95301 -12 -6 108.95301 -12 -3 108.95301 -12 0 108.95301 - -12 3 108.95301 -12 6 108.95301 -12 9 108.95301 -12 12 108.95301 -12 -15 51.953045 - -9 -12 51.953045 -9 -9 51.953045 -9 -6 51.953045 -9 -3 51.953045 -9 0 51.953045 -9 - 3 51.953045 -9 6 51.953045 -9 9 51.953045 -9 12 51.953045 -9 -15 54.953045 -9 -12 - 54.953045 -9 -9 54.953045 -9 -6 54.953045 -9 -3 54.953045 -9 0 54.953045 -9 3 54.953045 - -9 6 54.953045 -9 9 54.953045 -9 12 54.953045 -9 -15 57.953045 -9 -12 57.953045 -9 - -9 57.953045 -9 -6 57.953045 -9 -3 57.953045 -9 0 57.953045 -9 3 57.953045 -9 6 57.953045 - -9 9 57.953045 -9 12 57.953045 -9 -15 60.953068 -9 -12 60.953068 -9 -9 60.953068 - -9 -6 60.953068 -9 -3 60.953068 -9 0 60.953068 -9 3 60.953068 -9 6 60.953068 -9 9 - 60.953068 -9 12 60.953068 -9 -15 63.953068 -9 -12 63.953068 -9 -9 63.953068 -9 -6 - 63.953068 -9 -3 63.953068 -9 0 63.953068 -9 3 63.953068 -9 6 63.953068 -9 9 63.953068 - -9 12 63.953068 -9 -15 66.953072 -9 -12 66.953072 -9 -9 66.953072 -9 -6 66.953072 - -9 -3 66.953072 -9 0 66.953072 -9 3 66.953072 -9 6 66.953072 -9 9 66.953072 -9 12 - 66.953072 -9 -15 69.953072 -9 -12 69.953072 -9 -9 69.953072 -9 -6 69.953072 -9 -3 - 69.953072 -9 0 69.953072 -9 3 69.953072 -9 6 69.953072 -9 9 69.953072 -9 12 69.953072 - -9 -15 72.953056 -9 -12 72.953056 -9 -9 72.953056 -9 -6 72.953056 -9 -3 72.953056 - -9 0 72.953056 -9 3 72.953056 -9 6 72.953056 -9 9 72.953056 -9 12 72.953056 -9 -15 - 75.953056 -9 -12 75.953056 -9 -9 75.953056 -9 -6 75.953056 -9 -3 75.953056 -9 0 75.953056 - -9 3 75.953056 -9 6 75.953056 -9 9 75.953056 -9 12 75.953056 -9 -15 78.953041 -9 - -12 78.953041 -9 -9 78.953041 -9 -6 78.953041 -9 -3 78.953041 -9 0 78.953041 -9 3 - 78.953041 -9 6 78.953041 -9; - setAttr ".pos[498:663]" 9 78.953041 -9 12 78.953041 -9 -15 81.953056 -9 -12 81.953056 - -9 -9 81.953056 -9 -6 81.953056 -9 -3 81.953056 -9 0 81.953056 -9 3 81.953056 -9 - 6 81.953056 -9 9 81.953056 -9 12 81.953056 -9 -15 84.953056 -9 -12 84.953056 -9 -9 - 84.953056 -9 -6 84.953056 -9 -3 84.953056 -9 0 84.953056 -9 3 84.953056 -9 6 84.953056 - -9 9 84.953056 -9 12 84.953056 -9 -15 87.953056 -9 -12 87.953056 -9 -9 87.953056 - -9 -6 87.953056 -9 -3 87.953056 -9 0 87.953056 -9 3 87.953056 -9 6 87.953056 -9 9 - 87.953056 -9 12 87.953056 -9 -15 90.953056 -9 -12 90.953056 -9 -9 90.953056 -9 -6 - 90.953056 -9 -3 90.953056 -9 0 90.953056 -9 3 90.953056 -9 6 90.953056 -9 9 90.953056 - -9 12 90.953056 -9 -15 93.953056 -9 -12 93.953056 -9 -9 93.953056 -9 -6 93.953056 - -9 -3 93.953056 -9 0 93.953056 -9 3 93.953056 -9 6 93.953056 -9 9 93.953056 -9 12 - 93.953056 -9 -15 96.953056 -9 -12 96.953056 -9 -9 96.953056 -9 -6 96.953056 -9 -3 - 96.953056 -9 0 96.953056 -9 3 96.953056 -9 6 96.953056 -9 9 96.953056 -9 12 96.953056 - -9 -15 99.953056 -9 -12 99.953056 -9 -9 99.953056 -9 -6 99.953056 -9 -3 99.953056 - -9 0 99.953056 -9 3 99.953056 -9 6 99.953056 -9 9 99.953056 -9 12 99.953056 -9 -15 - 102.95306 -9 -12 102.95306 -9 -9 102.95306 -9 -6 102.95306 -9 -3 102.95306 -9 0 102.95306 - -9 3 102.95306 -9 6 102.95306 -9 9 102.95306 -9 12 102.95306 -9 -15 105.95301 -9 - -12 105.95301 -9 -9 105.95301 -9 -6 105.95301 -9 -3 105.95301 -9 0 105.95301 -9 3 - 105.95301 -9 6 105.95301 -9 9 105.95301 -9 12 105.95301 -9 -15 108.95301 -9 -12 108.95301 - -9 -9 108.95301 -9 -6 108.95301 -9 -3 108.95301 -9 0 108.95301 -9 3 108.95301 -9 - 6 108.95301 -9 9 108.95301 -9 12 108.95301 -9 -15 51.953045 -6 -12 51.953045 -6 -9 - 51.953045 -6 -6 51.953045 -6 -3 51.953045 -6 0 51.953045 -6 3 51.953045 -6 6 51.953045 - -6 9 51.953045 -6 12 51.953045 -6 -15 54.953045 -6 -12 54.953045 -6 -9 54.953045 - -6 -6 54.953045 -6 -3 54.953045 -6 0 54.953045 -6 3 54.953045 -6 6 54.953045 -6 9 - 54.953045 -6 12 54.953045 -6 -15 57.953045 -6 -12 57.953045 -6 -9 57.953045 -6 -6 - 57.953045 -6 -3 57.953045 -6 0 57.953045 -6 3 57.953045 -6 6 57.953045 -6 9 57.953045 - -6 12 57.953045 -6 -15 60.953068 -6 -12 60.953068 -6 -9 60.953068 -6 -6 60.953068 - -6 -3 60.953068 -6 0 60.953068 -6 3 60.953068 -6 6 60.953068 -6 9 60.953068 -6 12 - 60.953068 -6 -15 63.953068 -6 -12 63.953068 -6 -9 63.953068 -6 -6 63.953068 -6 -3 - 63.953068 -6 0 63.953068 -6 3 63.953068 -6 6 63.953068 -6 9 63.953068 -6 12 63.953068 - -6 -15 66.953072 -6 -12 66.953072 -6 -9 66.953072 -6 -6 66.953072 -6 -3 66.953072 - -6 0 66.953072 -6 3 66.953072 -6 6 66.953072 -6 9 66.953072 -6 12 66.953072 -6 -15 - 69.953072 -6 -12 69.953072 -6 -9 69.953072 -6 -6 69.953072 -6; - setAttr ".pos[664:829]" -3 69.953072 -6 0 69.953072 -6 3 69.953072 -6 6 69.953072 - -6 9 69.953072 -6 12 69.953072 -6 -15 72.953056 -6 -12 72.953056 -6 -9 72.953056 - -6 -6 72.953056 -6 -3 72.953056 -6 0 72.953056 -6 3 72.953056 -6 6 72.953056 -6 9 - 72.953056 -6 12 72.953056 -6 -15 75.953056 -6 -12 75.953056 -6 -9 75.953056 -6 -6 - 75.953056 -6 -3 75.953056 -6 0 75.953056 -6 3 75.953056 -6 6 75.953056 -6 9 75.953056 - -6 12 75.953056 -6 -15 78.953041 -6 -12 78.953041 -6 -9 78.953041 -6 -6 78.953041 - -6 -3 78.953041 -6 0 78.953041 -6 3 78.953041 -6 6 78.953041 -6 9 78.953041 -6 12 - 78.953041 -6 -15 81.953056 -6 -12 81.953056 -6 -9 81.953056 -6 -6 81.953056 -6 -3 - 81.953056 -6 0 81.953056 -6 3 81.953056 -6 6 81.953056 -6 9 81.953056 -6 12 81.953056 - -6 -15 84.953056 -6 -12 84.953056 -6 -9 84.953056 -6 -6 84.953056 -6 -3 84.953056 - -6 0 84.953056 -6 3 84.953056 -6 6 84.953056 -6 9 84.953056 -6 12 84.953056 -6 -15 - 87.953056 -6 -12 87.953056 -6 -9 87.953056 -6 -6 87.953056 -6 -3 87.953056 -6 0 87.953056 - -6 3 87.953056 -6 6 87.953056 -6 9 87.953056 -6 12 87.953056 -6 -15 90.953056 -6 - -12 90.953056 -6 -9 90.953056 -6 -6 90.953056 -6 -3 90.953056 -6 0 90.953056 -6 3 - 90.953056 -6 6 90.953056 -6 9 90.953056 -6 12 90.953056 -6 -15 93.953056 -6 -12 93.953056 - -6 -9 93.953056 -6 -6 93.953056 -6 -3 93.953056 -6 0 93.953056 -6 3 93.953056 -6 - 6 93.953056 -6 9 93.953056 -6 12 93.953056 -6 -15 96.953056 -6 -12 96.953056 -6 -9 - 96.953056 -6 -6 96.953056 -6 -3 96.953056 -6 0 96.953056 -6 3 96.953056 -6 6 96.953056 - -6 9 96.953056 -6 12 96.953056 -6 -15 99.953056 -6 -12 99.953056 -6 -9 99.953056 - -6 -6 99.953056 -6 -3 99.953056 -6 0 99.953056 -6 3 99.953056 -6 6 99.953056 -6 9 - 99.953056 -6 12 99.953056 -6 -15 102.95306 -6 -12 102.95306 -6 -9 102.95306 -6 -6 - 102.95306 -6 -3 102.95306 -6 0 102.95306 -6 3 102.95306 -6 6 102.95306 -6 9 102.95306 - -6 12 102.95306 -6 -15 105.95301 -6 -12 105.95301 -6 -9 105.95301 -6 -6 105.95301 - -6 -3 105.95301 -6 0 105.95301 -6 3 105.95301 -6 6 105.95301 -6 9 105.95301 -6 12 - 105.95301 -6 -15 108.95301 -6 -12 108.95301 -6 -9 108.95301 -6 -6 108.95301 -6 -3 - 108.95301 -6 0 108.95301 -6 3 108.95301 -6 6 108.95301 -6 9 108.95301 -6 12 108.95301 - -6 -15 51.953045 -3 -12 51.953045 -3 -9 51.953045 -3 -6 51.953045 -3 -3 51.953045 - -3 0 51.953045 -3 3 51.953045 -3 6 51.953045 -3 9 51.953045 -3 12 51.953045 -3 -15 - 54.953045 -3 -12 54.953045 -3 -9 54.953045 -3 -6 54.953045 -3 -3 54.953045 -3 0 54.953045 - -3 3 54.953045 -3 6 54.953045 -3 9 54.953045 -3 12 54.953045 -3 -15 57.953045 -3 - -12 57.953045 -3 -9 57.953045 -3 -6 57.953045 -3 -3 57.953045 -3 0 57.953045 -3 3 - 57.953045 -3 6 57.953045 -3 9 57.953045 -3 12 57.953045 -3; - setAttr ".pos[830:995]" -15 60.953068 -3 -12 60.953068 -3 -9 60.953068 -3 -6 60.953068 - -3 -3 60.953068 -3 0 60.953068 -3 3 60.953068 -3 6 60.953068 -3 9 60.953068 -3 12 - 60.953068 -3 -15 63.953068 -3 -12 63.953068 -3 -9 63.953068 -3 -6 63.953068 -3 -3 - 63.953068 -3 0 63.953068 -3 3 63.953068 -3 6 63.953068 -3 9 63.953068 -3 12 63.953068 - -3 -15 66.953072 -3 -12 66.953072 -3 -9 66.953072 -3 -6 66.953072 -3 -3 66.953072 - -3 0 66.953072 -3 3 66.953072 -3 6 66.953072 -3 9 66.953072 -3 12 66.953072 -3 -15 - 69.953072 -3 -12 69.953072 -3 -9 69.953072 -3 -6 69.953072 -3 -3 69.953072 -3 0 69.953072 - -3 3 69.953072 -3 6 69.953072 -3 9 69.953072 -3 12 69.953072 -3 -15 72.953056 -3 - -12 72.953056 -3 -9 72.953056 -3 -6 72.953056 -3 -3 72.953056 -3 0 72.953056 -3 3 - 72.953056 -3 6 72.953056 -3 9 72.953056 -3 12 72.953056 -3 -15 75.953056 -3 -12 75.953056 - -3 -9 75.953056 -3 -6 75.953056 -3 -3 75.953056 -3 0 75.953056 -3 3 75.953056 -3 - 6 75.953056 -3 9 75.953056 -3 12 75.953056 -3 -15 78.953041 -3 -12 78.953041 -3 -9 - 78.953041 -3 -6 78.953041 -3 -3 78.953041 -3 0 78.953041 -3 3 78.953041 -3 6 78.953041 - -3 9 78.953041 -3 12 78.953041 -3 -15 81.953056 -3 -12 81.953056 -3 -9 81.953056 - -3 -6 81.953056 -3 -3 81.953056 -3 0 81.953056 -3 3 81.953056 -3 6 81.953056 -3 9 - 81.953056 -3 12 81.953056 -3 -15 84.953056 -3 -12 84.953056 -3 -9 84.953056 -3 -6 - 84.953056 -3 -3 84.953056 -3 0 84.953056 -3 3 84.953056 -3 6 84.953056 -3 9 84.953056 - -3 12 84.953056 -3 -15 87.953056 -3 -12 87.953056 -3 -9 87.953056 -3 -6 87.953056 - -3 -3 87.953056 -3 0 87.953056 -3 3 87.953056 -3 6 87.953056 -3 9 87.953056 -3 12 - 87.953056 -3 -15 90.953056 -3 -12 90.953056 -3 -9 90.953056 -3 -6 90.953056 -3 -3 - 90.953056 -3 0 90.953056 -3 3 90.953056 -3 6 90.953056 -3 9 90.953056 -3 12 90.953056 - -3 -15 93.953056 -3 -12 93.953056 -3 -9 93.953056 -3 -6 93.953056 -3 -3 93.953056 - -3 0 93.953056 -3 3 93.953056 -3 6 93.953056 -3 9 93.953056 -3 12 93.953056 -3 -15 - 96.953056 -3 -12 96.953056 -3 -9 96.953056 -3 -6 96.953056 -3 -3 96.953056 -3 0 96.953056 - -3 3 96.953056 -3 6 96.953056 -3 9 96.953056 -3 12 96.953056 -3 -15 99.953056 -3 - -12 99.953056 -3 -9 99.953056 -3 -6 99.953056 -3 -3 99.953056 -3 0 99.953056 -3 3 - 99.953056 -3 6 99.953056 -3 9 99.953056 -3 12 99.953056 -3 -15 102.95306 -3 -12 102.95306 - -3 -9 102.95306 -3 -6 102.95306 -3 -3 102.95306 -3 0 102.95306 -3 3 102.95306 -3 - 6 102.95306 -3 9 102.95306 -3 12 102.95306 -3 -15 105.95301 -3 -12 105.95301 -3 -9 - 105.95301 -3 -6 105.95301 -3 -3 105.95301 -3 0 105.95301 -3 3 105.95301 -3 6 105.95301 - -3 9 105.95301 -3 12 105.95301 -3 -15 108.95301 -3 -12 108.95301 -3 -9 108.95301 - -3 -6 108.95301 -3 -3 108.95301 -3 0 108.95301 -3; - setAttr ".pos[996:1161]" 3 108.95301 -3 6 108.95301 -3 9 108.95301 -3 12 108.95301 - -3 -15 51.953045 0 -12 51.953045 0 -9 51.953045 0 -6 51.953045 0 -3 51.953045 0 0 - 51.953045 0 3 51.953045 0 6 51.953045 0 9 51.953045 0 12 51.953045 0 -15 54.953045 - 0 -12 54.953045 0 -9 54.953045 0 -6 54.953045 0 -3 54.953045 0 0 54.953045 0 3 54.953045 - 0 6 54.953045 0 9 54.953045 0 12 54.953045 0 -15 57.953045 0 -12 57.953045 0 -9 57.953045 - 0 -6 57.953045 0 -3 57.953045 0 0 57.953045 0 3 57.953045 0 6 57.953045 0 9 57.953045 - 0 12 57.953045 0 -15 60.953068 0 -12 60.953068 0 -9 60.953068 0 -6 60.953068 0 -3 - 60.953068 0 0 60.953068 0 3 60.953068 0 6 60.953068 0 9 60.953068 0 12 60.953068 - 0 -15 63.953068 0 -12 63.953068 0 -9 63.953068 0 -6 63.953068 0 -3 63.953068 0 0 - 63.953068 0 3 63.953068 0 6 63.953068 0 9 63.953068 0 12 63.953068 0 -15 66.953072 - 0 -12 66.953072 0 -9 66.953072 0 -6 66.953072 0 -3 66.953072 0 0 66.953072 0 3 66.953072 - 0 6 66.953072 0 9 66.953072 0 12 66.953072 0 -15 69.953072 0 -12 69.953072 0 -9 69.953072 - 0 -6 69.953072 0 -3 69.953072 0 0 69.953072 0 3 69.953072 0 6 69.953072 0 9 69.953072 - 0 12 69.953072 0 -15 72.953056 0 -12 72.953056 0 -9 72.953056 0 -6 72.953056 0 -3 - 72.953056 0 0 72.953056 0 3 72.953056 0 6 72.953056 0 9 72.953056 0 12 72.953056 - 0 -15 75.953056 0 -12 75.953056 0 -9 75.953056 0 -6 75.953056 0 -3 75.953056 0 0 - 75.953056 0 3 75.953056 0 6 75.953056 0 9 75.953056 0 12 75.953056 0 -15 78.953041 - 0 -12 78.953041 0 -9 78.953041 0 -6 78.953041 0 -3 78.953041 0 0 78.953041 0 3 78.953041 - 0 6 78.953041 0 9 78.953041 0 12 78.953041 0 -15 81.953056 0 -12 81.953056 0 -9 81.953056 - 0 -6 81.953056 0 -3 81.953056 0 0 81.953056 0 3 81.953056 0 6 81.953056 0 9 81.953056 - 0 12 81.953056 0 -15 84.953056 0 -12 84.953056 0 -9 84.953056 0 -6 84.953056 0 -3 - 84.953056 0 0 84.953056 0 3 84.953056 0 6 84.953056 0 9 84.953056 0 12 84.953056 - 0 -15 87.953056 0 -12 87.953056 0 -9 87.953056 0 -6 87.953056 0 -3 87.953056 0 0 - 87.953056 0 3 87.953056 0 6 87.953056 0 9 87.953056 0 12 87.953056 0 -15 90.953056 - 0 -12 90.953056 0 -9 90.953056 0 -6 90.953056 0 -3 90.953056 0 0 90.953056 0 3 90.953056 - 0 6 90.953056 0 9 90.953056 0 12 90.953056 0 -15 93.953056 0 -12 93.953056 0 -9 93.953056 - 0 -6 93.953056 0 -3 93.953056 0 0 93.953056 0 3 93.953056 0 6 93.953056 0 9 93.953056 - 0 12 93.953056 0 -15 96.953056 0 -12 96.953056 0 -9 96.953056 0 -6 96.953056 0 -3 - 96.953056 0 0 96.953056 0 3 96.953056 0 6 96.953056 0 9 96.953056 0 12 96.953056 - 0 -15 99.953056 0 -12 99.953056 0; - setAttr ".pos[1162:1327]" -9 99.953056 0 -6 99.953056 0 -3 99.953056 0 0 99.953056 - 0 3 99.953056 0 6 99.953056 0 9 99.953056 0 12 99.953056 0 -15 102.95306 0 -12 102.95306 - 0 -9 102.95306 0 -6 102.95306 0 -3 102.95306 0 0 102.95306 0 3 102.95306 0 6 102.95306 - 0 9 102.95306 0 12 102.95306 0 -15 105.95301 0 -12 105.95301 0 -9 105.95301 0 -6 - 105.95301 0 -3 105.95301 0 0 105.95301 0 3 105.95301 0 6 105.95301 0 9 105.95301 - 0 12 105.95301 0 -15 108.95301 0 -12 108.95301 0 -9 108.95301 0 -6 108.95301 0 -3 - 108.95301 0 0 108.95301 0 3 108.95301 0 6 108.95301 0 9 108.95301 0 12 108.95301 - 0 -15 51.953045 3 -12 51.953045 3 -9 51.953045 3 -6 51.953045 3 -3 51.953045 3 0 - 51.953045 3 3 51.953045 3 6 51.953045 3 9 51.953045 3 12 51.953045 3 -15 54.953045 - 3 -12 54.953045 3 -9 54.953045 3 -6 54.953045 3 -3 54.953045 3 0 54.953045 3 3 54.953045 - 3 6 54.953045 3 9 54.953045 3 12 54.953045 3 -15 57.953045 3 -12 57.953045 3 -9 57.953045 - 3 -6 57.953045 3 -3 57.953045 3 0 57.953045 3 3 57.953045 3 6 57.953045 3 9 57.953045 - 3 12 57.953045 3 -15 60.953068 3 -12 60.953068 3 -9 60.953068 3 -6 60.953068 3 -3 - 60.953068 3 0 60.953068 3 3 60.953068 3 6 60.953068 3 9 60.953068 3 12 60.953068 - 3 -15 63.953068 3 -12 63.953068 3 -9 63.953068 3 -6 63.953068 3 -3 63.953068 3 0 - 63.953068 3 3 63.953068 3 6 63.953068 3 9 63.953068 3 12 63.953068 3 -15 66.953072 - 3 -12 66.953072 3 -9 66.953072 3 -6 66.953072 3 -3 66.953072 3 0 66.953072 3 3 66.953072 - 3 6 66.953072 3 9 66.953072 3 12 66.953072 3 -15 69.953072 3 -12 69.953072 3 -9 69.953072 - 3 -6 69.953072 3 -3 69.953072 3 0 69.953072 3 3 69.953072 3 6 69.953072 3 9 69.953072 - 3 12 69.953072 3 -15 72.953056 3 -12 72.953056 3 -9 72.953056 3 -6 72.953056 3 -3 - 72.953056 3 0 72.953056 3 3 72.953056 3 6 72.953056 3 9 72.953056 3 12 72.953056 - 3 -15 75.953056 3 -12 75.953056 3 -9 75.953056 3 -6 75.953056 3 -3 75.953056 3 0 - 75.953056 3 3 75.953056 3 6 75.953056 3 9 75.953056 3 12 75.953056 3 -15 78.953041 - 3 -12 78.953041 3 -9 78.953041 3 -6 78.953041 3 -3 78.953041 3 0 78.953041 3 3 78.953041 - 3 6 78.953041 3 9 78.953041 3 12 78.953041 3 -15 81.953056 3 -12 81.953056 3 -9 81.953056 - 3 -6 81.953056 3 -3 81.953056 3 0 81.953056 3 3 81.953056 3 6 81.953056 3 9 81.953056 - 3 12 81.953056 3 -15 84.953056 3 -12 84.953056 3 -9 84.953056 3 -6 84.953056 3 -3 - 84.953056 3 0 84.953056 3 3 84.953056 3 6 84.953056 3 9 84.953056 3 12 84.953056 - 3 -15 87.953056 3 -12 87.953056 3 -9 87.953056 3 -6 87.953056 3 -3 87.953056 3 0 - 87.953056 3 3 87.953056 3 6 87.953056 3; - setAttr ".pos[1328:1493]" 9 87.953056 3 12 87.953056 3 -15 90.953056 3 -12 90.953056 - 3 -9 90.953056 3 -6 90.953056 3 -3 90.953056 3 0 90.953056 3 3 90.953056 3 6 90.953056 - 3 9 90.953056 3 12 90.953056 3 -15 93.953056 3 -12 93.953056 3 -9 93.953056 3 -6 - 93.953056 3 -3 93.953056 3 0 93.953056 3 3 93.953056 3 6 93.953056 3 9 93.953056 - 3 12 93.953056 3 -15 96.953056 3 -12 96.953056 3 -9 96.953056 3 -6 96.953056 3 -3 - 96.953056 3 0 96.953056 3 3 96.953056 3 6 96.953056 3 9 96.953056 3 12 96.953056 - 3 -15 99.953056 3 -12 99.953056 3 -9 99.953056 3 -6 99.953056 3 -3 99.953056 3 0 - 99.953056 3 3 99.953056 3 6 99.953056 3 9 99.953056 3 12 99.953056 3 -15 102.95306 - 3 -12 102.95306 3 -9 102.95306 3 -6 102.95306 3 -3 102.95306 3 0 102.95306 3 3 102.95306 - 3 6 102.95306 3 9 102.95306 3 12 102.95306 3 -15 105.95301 3 -12 105.95301 3 -9 105.95301 - 3 -6 105.95301 3 -3 105.95301 3 0 105.95301 3 3 105.95301 3 6 105.95301 3 9 105.95301 - 3 12 105.95301 3 -15 108.95301 3 -12 108.95301 3 -9 108.95301 3 -6 108.95301 3 -3 - 108.95301 3 0 108.95301 3 3 108.95301 3 6 108.95301 3 9 108.95301 3 12 108.95301 - 3 -15 51.953045 6 -12 51.953045 6 -9 51.953045 6 -6 51.953045 6 -3 51.953045 6 0 - 51.953045 6 3 51.953045 6 6 51.953045 6 9 51.953045 6 12 51.953045 6 -15 54.953045 - 6 -12 54.953045 6 -9 54.953045 6 -6 54.953045 6 -3 54.953045 6 0 54.953045 6 3 54.953045 - 6 6 54.953045 6 9 54.953045 6 12 54.953045 6 -15 57.953045 6 -12 57.953045 6 -9 57.953045 - 6 -6 57.953045 6 -3 57.953045 6 0 57.953045 6 3 57.953045 6 6 57.953045 6 9 57.953045 - 6 12 57.953045 6 -15 60.953068 6 -12 60.953068 6 -9 60.953068 6 -6 60.953068 6 -3 - 60.953068 6 0 60.953068 6 3 60.953068 6 6 60.953068 6 9 60.953068 6 12 60.953068 - 6 -15 63.953068 6 -12 63.953068 6 -9 63.953068 6 -6 63.953068 6 -3 63.953068 6 0 - 63.953068 6 3 63.953068 6 6 63.953068 6 9 63.953068 6 12 63.953068 6 -15 66.953072 - 6 -12 66.953072 6 -9 66.953072 6 -6 66.953072 6 -3 66.953072 6 0 66.953072 6 3 66.953072 - 6 6 66.953072 6 9 66.953072 6 12 66.953072 6 -15 69.953072 6 -12 69.953072 6 -9 69.953072 - 6 -6 69.953072 6 -3 69.953072 6 0 69.953072 6 3 69.953072 6 6 69.953072 6 9 69.953072 - 6 12 69.953072 6 -15 72.953056 6 -12 72.953056 6 -9 72.953056 6 -6 72.953056 6 -3 - 72.953056 6 0 72.953056 6 3 72.953056 6 6 72.953056 6 9 72.953056 6 12 72.953056 - 6 -15 75.953056 6 -12 75.953056 6 -9 75.953056 6 -6 75.953056 6 -3 75.953056 6 0 - 75.953056 6 3 75.953056 6 6 75.953056 6 9 75.953056 6 12 75.953056 6 -15 78.953041 - 6 -12 78.953041 6 -9 78.953041 6 -6 78.953041 6; - setAttr ".pos[1494:1659]" -3 78.953041 6 0 78.953041 6 3 78.953041 6 6 78.953041 - 6 9 78.953041 6 12 78.953041 6 -15 81.953056 6 -12 81.953056 6 -9 81.953056 6 -6 - 81.953056 6 -3 81.953056 6 0 81.953056 6 3 81.953056 6 6 81.953056 6 9 81.953056 - 6 12 81.953056 6 -15 84.953056 6 -12 84.953056 6 -9 84.953056 6 -6 84.953056 6 -3 - 84.953056 6 0 84.953056 6 3 84.953056 6 6 84.953056 6 9 84.953056 6 12 84.953056 - 6 -15 87.953056 6 -12 87.953056 6 -9 87.953056 6 -6 87.953056 6 -3 87.953056 6 0 - 87.953056 6 3 87.953056 6 6 87.953056 6 9 87.953056 6 12 87.953056 6 -15 90.953056 - 6 -12 90.953056 6 -9 90.953056 6 -6 90.953056 6 -3 90.953056 6 0 90.953056 6 3 90.953056 - 6 6 90.953056 6 9 90.953056 6 12 90.953056 6 -15 93.953056 6 -12 93.953056 6 -9 93.953056 - 6 -6 93.953056 6 -3 93.953056 6 0 93.953056 6 3 93.953056 6 6 93.953056 6 9 93.953056 - 6 12 93.953056 6 -15 96.953056 6 -12 96.953056 6 -9 96.953056 6 -6 96.953056 6 -3 - 96.953056 6 0 96.953056 6 3 96.953056 6 6 96.953056 6 9 96.953056 6 12 96.953056 - 6 -15 99.953056 6 -12 99.953056 6 -9 99.953056 6 -6 99.953056 6 -3 99.953056 6 0 - 99.953056 6 3 99.953056 6 6 99.953056 6 9 99.953056 6 12 99.953056 6 -15 102.95306 - 6 -12 102.95306 6 -9 102.95306 6 -6 102.95306 6 -3 102.95306 6 0 102.95306 6 3 102.95306 - 6 6 102.95306 6 9 102.95306 6 12 102.95306 6 -15 105.95301 6 -12 105.95301 6 -9 105.95301 - 6 -6 105.95301 6 -3 105.95301 6 0 105.95301 6 3 105.95301 6 6 105.95301 6 9 105.95301 - 6 12 105.95301 6 -15 108.95301 6 -12 108.95301 6 -9 108.95301 6 -6 108.95301 6 -3 - 108.95301 6 0 108.95301 6 3 108.95301 6 6 108.95301 6 9 108.95301 6 12 108.95301 - 6 -15 51.953045 9 -12 51.953045 9 -9 51.953045 9 -6 51.953045 9 -3 51.953045 9 0 - 51.953045 9 3 51.953045 9 6 51.953045 9 9 51.953045 9 12 51.953045 9 -15 54.953045 - 9 -12 54.953045 9 -9 54.953045 9 -6 54.953045 9 -3 54.953045 9 0 54.953045 9 3 54.953045 - 9 6 54.953045 9 9 54.953045 9 12 54.953045 9 -15 57.953045 9 -12 57.953045 9 -9 57.953045 - 9 -6 57.953045 9 -3 57.953045 9 0 57.953045 9 3 57.953045 9 6 57.953045 9 9 57.953045 - 9 12 57.953045 9 -15 60.953068 9 -12 60.953068 9 -9 60.953068 9 -6 60.953068 9 -3 - 60.953068 9 0 60.953068 9 3 60.953068 9 6 60.953068 9 9 60.953068 9 12 60.953068 - 9 -15 63.953068 9 -12 63.953068 9 -9 63.953068 9 -6 63.953068 9 -3 63.953068 9 0 - 63.953068 9 3 63.953068 9 6 63.953068 9 9 63.953068 9 12 63.953068 9 -15 66.953072 - 9 -12 66.953072 9 -9 66.953072 9 -6 66.953072 9 -3 66.953072 9 0 66.953072 9 3 66.953072 - 9 6 66.953072 9 9 66.953072 9 12 66.953072 9; - setAttr ".pos[1660:1825]" -15 69.953072 9 -12 69.953072 9 -9 69.953072 9 -6 69.953072 - 9 -3 69.953072 9 0 69.953072 9 3 69.953072 9 6 69.953072 9 9 69.953072 9 12 69.953072 - 9 -15 72.953056 9 -12 72.953056 9 -9 72.953056 9 -6 72.953056 9 -3 72.953056 9 0 - 72.953056 9 3 72.953056 9 6 72.953056 9 9 72.953056 9 12 72.953056 9 -15 75.953056 - 9 -12 75.953056 9 -9 75.953056 9 -6 75.953056 9 -3 75.953056 9 0 75.953056 9 3 75.953056 - 9 6 75.953056 9 9 75.953056 9 12 75.953056 9 -15 78.953041 9 -12 78.953041 9 -9 78.953041 - 9 -6 78.953041 9 -3 78.953041 9 0 78.953041 9 3 78.953041 9 6 78.953041 9 9 78.953041 - 9 12 78.953041 9 -15 81.953056 9 -12 81.953056 9 -9 81.953056 9 -6 81.953056 9 -3 - 81.953056 9 0 81.953056 9 3 81.953056 9 6 81.953056 9 9 81.953056 9 12 81.953056 - 9 -15 84.953056 9 -12 84.953056 9 -9 84.953056 9 -6 84.953056 9 -3 84.953056 9 0 - 84.953056 9 3 84.953056 9 6 84.953056 9 9 84.953056 9 12 84.953056 9 -15 87.953056 - 9 -12 87.953056 9 -9 87.953056 9 -6 87.953056 9 -3 87.953056 9 0 87.953056 9 3 87.953056 - 9 6 87.953056 9 9 87.953056 9 12 87.953056 9 -15 90.953056 9 -12 90.953056 9 -9 90.953056 - 9 -6 90.953056 9 -3 90.953056 9 0 90.953056 9 3 90.953056 9 6 90.953056 9 9 90.953056 - 9 12 90.953056 9 -15 93.953056 9 -12 93.953056 9 -9 93.953056 9 -6 93.953056 9 -3 - 93.953056 9 0 93.953056 9 3 93.953056 9 6 93.953056 9 9 93.953056 9 12 93.953056 - 9 -15 96.953056 9 -12 96.953056 9 -9 96.953056 9 -6 96.953056 9 -3 96.953056 9 0 - 96.953056 9 3 96.953056 9 6 96.953056 9 9 96.953056 9 12 96.953056 9 -15 99.953056 - 9 -12 99.953056 9 -9 99.953056 9 -6 99.953056 9 -3 99.953056 9 0 99.953056 9 3 99.953056 - 9 6 99.953056 9 9 99.953056 9 12 99.953056 9 -15 102.95306 9 -12 102.95306 9 -9 102.95306 - 9 -6 102.95306 9 -3 102.95306 9 0 102.95306 9 3 102.95306 9 6 102.95306 9 9 102.95306 - 9 12 102.95306 9 -15 105.95301 9 -12 105.95301 9 -9 105.95301 9 -6 105.95301 9 -3 - 105.95301 9 0 105.95301 9 3 105.95301 9 6 105.95301 9 9 105.95301 9 12 105.95301 - 9 -15 108.95301 9 -12 108.95301 9 -9 108.95301 9 -6 108.95301 9 -3 108.95301 9 0 - 108.95301 9 3 108.95301 9 6 108.95301 9 9 108.95301 9 12 108.95301 9 -15 51.953045 - 12 -12 51.953045 12 -9 51.953045 12 -6 51.953045 12 -3 51.953045 12 0 51.953045 12 - 3 51.953045 12 6 51.953045 12 9 51.953045 12 12 51.953045 12 -15 54.953045 12 -12 - 54.953045 12 -9 54.953045 12 -6 54.953045 12 -3 54.953045 12 0 54.953045 12 3 54.953045 - 12 6 54.953045 12 9 54.953045 12 12 54.953045 12 -15 57.953045 12 -12 57.953045 12 - -9 57.953045 12 -6 57.953045 12 -3 57.953045 12 0 57.953045 12; - setAttr ".pos[1826:1991]" 3 57.953045 12 6 57.953045 12 9 57.953045 12 12 57.953045 - 12 -15 60.953068 12 -12 60.953068 12 -9 60.953068 12 -6 60.953068 12 -3 60.953068 - 12 0 60.953068 12 3 60.953068 12 6 60.953068 12 9 60.953068 12 12 60.953068 12 -15 - 63.953068 12 -12 63.953068 12 -9 63.953068 12 -6 63.953068 12 -3 63.953068 12 0 63.953068 - 12 3 63.953068 12 6 63.953068 12 9 63.953068 12 12 63.953068 12 -15 66.953072 12 - -12 66.953072 12 -9 66.953072 12 -6 66.953072 12 -3 66.953072 12 0 66.953072 12 3 - 66.953072 12 6 66.953072 12 9 66.953072 12 12 66.953072 12 -15 69.953072 12 -12 69.953072 - 12 -9 69.953072 12 -6 69.953072 12 -3 69.953072 12 0 69.953072 12 3 69.953072 12 - 6 69.953072 12 9 69.953072 12 12 69.953072 12 -15 72.953056 12 -12 72.953056 12 -9 - 72.953056 12 -6 72.953056 12 -3 72.953056 12 0 72.953056 12 3 72.953056 12 6 72.953056 - 12 9 72.953056 12 12 72.953056 12 -15 75.953056 12 -12 75.953056 12 -9 75.953056 - 12 -6 75.953056 12 -3 75.953056 12 0 75.953056 12 3 75.953056 12 6 75.953056 12 9 - 75.953056 12 12 75.953056 12 -15 78.953041 12 -12 78.953041 12 -9 78.953041 12 -6 - 78.953041 12 -3 78.953041 12 0 78.953041 12 3 78.953041 12 6 78.953041 12 9 78.953041 - 12 12 78.953041 12 -15 81.953056 12 -12 81.953056 12 -9 81.953056 12 -6 81.953056 - 12 -3 81.953056 12 0 81.953056 12 3 81.953056 12 6 81.953056 12 9 81.953056 12 12 - 81.953056 12 -15 84.953056 12 -12 84.953056 12 -9 84.953056 12 -6 84.953056 12 -3 - 84.953056 12 0 84.953056 12 3 84.953056 12 6 84.953056 12 9 84.953056 12 12 84.953056 - 12 -15 87.953056 12 -12 87.953056 12 -9 87.953056 12 -6 87.953056 12 -3 87.953056 - 12 0 87.953056 12 3 87.953056 12 6 87.953056 12 9 87.953056 12 12 87.953056 12 -15 - 90.953056 12 -12 90.953056 12 -9 90.953056 12 -6 90.953056 12 -3 90.953056 12 0 90.953056 - 12 3 90.953056 12 6 90.953056 12 9 90.953056 12 12 90.953056 12 -15 93.953056 12 - -12 93.953056 12 -9 93.953056 12 -6 93.953056 12 -3 93.953056 12 0 93.953056 12 3 - 93.953056 12 6 93.953056 12 9 93.953056 12 12 93.953056 12 -15 96.953056 12 -12 96.953056 - 12 -9 96.953056 12 -6 96.953056 12 -3 96.953056 12 0 96.953056 12 3 96.953056 12 - 6 96.953056 12 9 96.953056 12 12 96.953056 12 -15 99.953056 12 -12 99.953056 12 -9 - 99.953056 12 -6 99.953056 12 -3 99.953056 12 0 99.953056 12 3 99.953056 12 6 99.953056 - 12 9 99.953056 12 12 99.953056 12 -15 102.95306 12 -12 102.95306 12 -9 102.95306 - 12 -6 102.95306 12 -3 102.95306 12 0 102.95306 12 3 102.95306 12 6 102.95306 12 9 - 102.95306 12 12 102.95306 12 -15 105.95301 12 -12 105.95301 12 -9 105.95301 12 -6 - 105.95301 12 -3 105.95301 12 0 105.95301 12 3 105.95301 12 6 105.95301 12 9 105.95301 - 12 12 105.95301 12 -15 108.95301 12 -12 108.95301 12; - setAttr ".pos[1992:1999]" -9 108.95301 12 -6 108.95301 12 -3 108.95301 12 0 108.95301 - 12 3 108.95301 12 6 108.95301 12 9 108.95301 12 12 108.95301 12; -createNode transform -n "pCube1"; - setAttr ".v" no; -createNode mesh -n "pCubeShape1" -p "pCube1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "pCube2"; - setAttr ".v" no; - setAttr ".s" -type "double3" 1.1909748893278844 0.85836467709545883 1.1909748893278844 ; -createNode mesh -n "pCubeShape2" -p "pCube2"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "dRigidBody2"; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".ma" 0; - setAttr ".inpo" -type "float3" 0 142.15991 0 ; - setAttr ".inro" -type "float3" 0 0 70.42598 ; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr -k off ".grvt" -type "float3" 1.4012985e-45 -9.8100004 0 ; - setAttr -k off ".grvt"; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 6; -createNode polyCylinder -n "polyCylinder1"; - setAttr ".r" 4.4334520128614425; - setAttr ".h" 26.049806719366714; - setAttr ".sh" 2; - setAttr ".sc" 1; - setAttr ".cuv" 3; -createNode polyTweak -n "polyTweak1"; - setAttr ".uopa" yes; - setAttr -s 21 ".tk"; - setAttr ".tk[40:59]" -type "float3" 24.435431 20.259966 -7.939548 20.786018 20.259966 - -15.101918 15.10192 20.259966 -20.786009 7.9395547 20.259966 -24.435417 2.7633844e-06 - 20.259966 -25.692919 -7.9395509 20.259966 -24.435417 -15.101917 20.259966 -20.786001 - -20.786001 20.259966 -15.101914 -24.435411 20.259966 -7.9395471 -25.692917 20.259966 - 4.1450794e-06 -24.435411 20.259966 7.9395547 -20.786001 20.259966 15.101918 -15.101908 - 20.259966 20.786005 -7.9395471 20.259966 24.435417 1.9976765e-06 20.259966 25.692919 - 7.9395509 20.259966 24.435417 15.101917 20.259966 20.786005 20.786001 20.259966 - 15.101918 24.43541 20.259966 7.9395509 25.692917 20.259966 4.1450794e-06 ; - setAttr ".tk[61]" -type "float3" 2.7633844e-06 20.259966 4.1450794e-06 ; -createNode deleteComponent -n "deleteComponent1"; - setAttr ".dc" -type "componentList" 1 "f[60:79]"; -createNode deleteComponent -n "deleteComponent2"; - setAttr ".dc" -type "componentList" 1 "f[40:59]"; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -createNode polySphere -n "polySphere1"; - setAttr ".r" 1.4460482431866666; - setAttr ".sa" 10; - setAttr ".sh" 10; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 0; -createNode polyCube -n "polyCube1"; - setAttr ".w" 50; - setAttr ".h" 30; - setAttr ".d" 50; - setAttr ".cuv" 4; -createNode deleteComponent -n "deleteComponent3"; - setAttr ".dc" -type "componentList" 1 "f[1]"; -createNode polyCube -n "polyCube2"; - setAttr ".w" 27.367486812079648; - setAttr ".h" 45.881685985814066; - setAttr ".d" 31.715728054248586; - setAttr ".cuv" 4; -createNode polyTweak -n "polyTweak2"; - setAttr ".uopa" yes; - setAttr -s 4 ".tk[2:5]" -type "float3" 0.1397398 0 -0.16194215 -0.1397398 0 -0.16194215 - 0.1397398 0 0.16194215 -0.1397398 0 0.16194215; -createNode deleteComponent -n "deleteComponent4"; - setAttr ".dc" -type "componentList" 1 "f[1]"; -createNode dCollisionShape -n "dCollisionShape4"; - setAttr ".tp" 1; -createNode animCurveTL -n "dRigidBody2_translateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 0 222 0 273 0; -createNode animCurveTL -n "dRigidBody2_translateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 24 222 59.079957043001542 273 59.079957043001542; -createNode animCurveTL -n "dRigidBody2_translateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 0 222 0 273 0; -createNode animCurveTU -n "dRigidBody2_visibility"; - setAttr ".tan" 9; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 1 222 1 273 1; - setAttr -s 3 ".kot[0:2]" 5 5 5; -createNode animCurveTA -n "dRigidBody2_rotateX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 0 222 0 273 0; -createNode animCurveTA -n "dRigidBody2_rotateY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 0 222 0 273 0; -createNode animCurveTA -n "dRigidBody2_rotateZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 0 222 0 273 -112.15656778862808; -createNode animCurveTU -n "dRigidBody2_scaleX"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 1 222 1 273 1; -createNode animCurveTU -n "dRigidBody2_scaleY"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 1 222 1 273 1; -createNode animCurveTU -n "dRigidBody2_scaleZ"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 3 ".ktv[0:2]" 150 1 222 1 273 1; -createNode animCurveTU -n "dSolver1_substeps"; - setAttr ".tan" 10; - setAttr ".wgt" no; - setAttr -s 5 ".ktv[0:4]" 1 1 217 1 218 20 308 20 309 1; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr -s 4 ".dsm"; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "deleteComponent2.og" "pCylinderShape1.i"; -connectAttr "polySphere1.out" "pSphereShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyArrayShape1.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyArrayShape1.incs"; -connectAttr "deleteComponent3.og" "pCubeShape1.i"; -connectAttr "deleteComponent4.og" "pCubeShape2.i"; -connectAttr "dRigidBody2_translateX.o" "dRigidBody2.tx"; -connectAttr "dRigidBody2_translateY.o" "dRigidBody2.ty"; -connectAttr "dRigidBody2_translateZ.o" "dRigidBody2.tz"; -connectAttr "dRigidBody2_visibility.o" "dRigidBody2.v"; -connectAttr "dRigidBody2_rotateX.o" "dRigidBody2.rx"; -connectAttr "dRigidBody2_rotateY.o" "dRigidBody2.ry"; -connectAttr "dRigidBody2_rotateZ.o" "dRigidBody2.rz"; -connectAttr "dRigidBody2_scaleX.o" "dRigidBody2.sx"; -connectAttr "dRigidBody2_scaleY.o" "dRigidBody2.sy"; -connectAttr "dRigidBody2_scaleZ.o" "dRigidBody2.sz"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape4.oucs" "dRigidBodyShape2.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "dSolver1_substeps.o" "dSolver1.sbs"; -connectAttr "polyCylinder1.out" "polyTweak1.ip"; -connectAttr "polyTweak1.out" "deleteComponent1.ig"; -connectAttr "deleteComponent1.og" "deleteComponent2.ig"; -connectAttr "pSphereShape1.msg" "dCollisionShape3.insh"; -connectAttr "polyCube1.out" "deleteComponent3.ig"; -connectAttr "polyCube2.out" "polyTweak2.ip"; -connectAttr "polyTweak2.out" "deleteComponent4.ig"; -connectAttr "pCubeShape2.msg" "dCollisionShape4.insh"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -connectAttr "pCylinderShape1.iog" ":initialShadingGroup.dsm" -na; -connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; -connectAttr "pCubeShape1.iog" ":initialShadingGroup.dsm" -na; -connectAttr "pCubeShape2.iog" ":initialShadingGroup.dsm" -na; -// End of peanutBox.ma diff --git a/Extras/MayaPlugin/scenes/peanutFunnel.ma b/Extras/MayaPlugin/scenes/peanutFunnel.ma deleted file mode 100644 index 39bcc7768..000000000 --- a/Extras/MayaPlugin/scenes/peanutFunnel.ma +++ /dev/null @@ -1,616 +0,0 @@ -//Maya ASCII 8.5 scene -//Name: peanutFunnel.ma -//Last modified: Tue, Jul 22, 2008 03:47:52 PM -//Codeset: ANSI_X3.4-1968 -requires maya "8.5"; -requires "dynamica" "1.0"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.21537679202009 71.244277966605679 -132.22984352887369 ; - setAttr ".r" -type "double3" -15.93835272959708 142.19999999999715 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 180.64504737716726; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "pCylinder1"; - setAttr ".v" no; -createNode mesh -n "pCylinderShape1" -p "pCylinder1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "dRigidBody2"; - setAttr ".tmp" yes; - setAttr ".t" -type "double3" 0 49.806978990578635 0 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".ma" 0; - setAttr ".inpo" -type "float3" 0 49.80698 0 ; -createNode transform -n "pSphere1"; - setAttr ".v" no; -createNode mesh -n "pSphereShape1" -p "pSphere1"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; - setAttr -s 92 ".pt[0:91]" -type "float3" -0.2574994 1.1365615 0.12808901 -0.082004264 - 1.1365615 0.24063207 0.17356716 1.1365615 0.24063204 0.25063691 1.1365615 0.12808898 - 0.30980462 1.1365615 -0.054009609 0.25063688 1.1365615 -0.23610812 0.095734812 0.95348024 - 0.027852129 -0.095734924 0.95348024 0.027852133 -0.22844759 1.1365615 -0.23610808 - -0.25130823 1.1365615 -0.054009598 -0.58973986 0.96681732 0.29236239 -0.18209852 - 0.81107831 0.11910005 0.18209857 0.81107831 0.11910014 0.56631935 0.9230758 0.29236227 - 0.66480297 0.96681732 -0.054009628 0.47674012 0.81107831 -0.0082690716 0.18209849 - 0.81107831 -0.1577463 -0.18209858 0.81107831 -0.15774626 -0.47674012 0.81107831 -0.0082688872 - -0.62435281 0.96681732 -0.054009598 -0.65617657 0.58928299 0.085604019 -0.25063688 - 0.58928299 0.20351477 0.25063699 0.58928299 0.20351465 0.65617663 0.63782948 0.42273057 - 0.92526954 0.70243376 -0.054009631 0.65617651 0.58928299 -0.099300683 0.25063682 - 0.58928299 -0.30503851 -0.25063699 0.58928299 -0.30503842 -0.65617651 0.58928299 - -0.099300563 -0.92040229 0.70243376 -0.054009598 -0.7713815 0.30980459 0.11910006 - -0.29464149 0.30980459 0.25771224 0.29464158 0.30980459 0.25771236 0.7713815 0.30980459 - 0.11910014 1.1083192 0.36929098 -0.054009635 0.77138138 0.30980459 -0.15774632 0.29464146 - 0.30980459 -0.39960572 -0.29464155 0.30980459 -0.3996056 -0.77138138 0.30980459 -0.1577463 - -1.1104779 0.36929098 -0.054009598 -0.81107849 0 0.13064188 -0.30980459 0 0.27638754 - 0.3098048 0 0.27638742 0.81107849 0 0.1306421 1.1713946 0 -0.054009639 0.81107837 - 0 -0.17788558 0.30980453 0 -0.43219143 -0.30980474 0 -0.43219143 -0.81107837 0 -0.17788543 - -1.1759737 0 -0.054009598 -0.7713815 -0.30980459 0.11910006 -0.29464149 -0.30980459 - 0.25771224 0.29464158 -0.30980459 0.25771236 0.7713815 -0.30980459 0.11910014 1.1083192 - -0.36929098 -0.054009635 0.77138138 -0.30980459 -0.15774632 0.29464146 -0.30980459 - -0.39960572 -0.29464155 -0.30980459 -0.3996056 -0.77138138 -0.30980459 -0.1577463 - -1.1104779 -0.36929098 -0.054009598 -0.65617657 -0.58928299 0.085604019 -0.25063688 - -0.58928299 0.20351477 0.25063699 -0.58928299 0.20351465 0.67061043 -0.68686998 0.42273057 - 0.92526954 -0.70243376 -0.054009631 0.65617651 -0.58928299 -0.099300683 0.25063682 - -0.58928299 -0.30503851 -0.25063699 -0.58928299 -0.30503842 -0.65617651 -0.58928299 - -0.099300563 -1.0368359 -0.70243376 -0.054009598 -0.58973986 -0.96681732 0.29236239 - -0.18209852 -0.81107831 0.11910005 0.18209857 -0.81107831 0.11910014 0.49982405 -0.96681732 - 0.29236227 0.64016199 -0.96681732 -0.054009628 0.47674012 -0.81107831 -0.0082690716 - 0.18209849 -0.81107831 -0.1577463 -0.18209858 -0.81107831 -0.15774626 -0.47674012 - -0.81107831 -0.0082688872 -0.74078602 -0.96681732 -0.054009598 -0.28876579 -1.1365615 - 0.12808901 -0.082004264 -1.1365615 0.24063207 0.095734872 -1.1365615 0.24063204 0.25063691 - -1.1365615 0.12808898 0.30980462 -1.1365615 -0.054009609 0.25063688 -1.1365615 -0.23610812 - 0.095734812 -0.95348024 0.027852129 -0.095734924 -0.95348024 0.027852133 -0.25063694 - -1.1365615 -0.23610808 -0.36774182 -1.1365615 -0.054009598 0.079984799 1.195052 -0.054009598 - 0.045781415 -1.195052 -0.054009598; - setAttr ".dr" 1; -createNode transform -n "dRigidBodyArray1"; - setAttr ".t" -type "double3" 0 108.06003723673736 0 ; -createNode dRigidBodyArray -n "dRigidBodyArrayShape1" -p "dRigidBodyArray1"; - setAttr -k off ".v"; - setAttr ".nbds" 2000; - setAttr -s 2000 ".inpo"; - setAttr ".inpo[0:165]" -type "float3" -15 186.12009 -15 -12 186.12009 -15 -9 186.12009 - -15 -6 186.12009 -15 -3 186.12009 -15 0 186.12009 -15 3 186.12009 -15 6 186.12009 - -15 9 186.12009 -15 12 186.12009 -15 -15 189.12009 -15 -12 189.12009 -15 -9 189.12009 - -15 -6 189.12009 -15 -3 189.12009 -15 0 189.12009 -15 3 189.12009 -15 6 189.12009 - -15 9 189.12009 -15 12 189.12009 -15 -15 192.12009 -15 -12 192.12009 -15 -9 192.12009 - -15 -6 192.12009 -15 -3 192.12009 -15 0 192.12009 -15 3 192.12009 -15 6 192.12009 - -15 9 192.12009 -15 12 192.12009 -15 -15 195.12009 -15 -12 195.12009 -15 -9 195.12009 - -15 -6 195.12009 -15 -3 195.12009 -15 0 195.12009 -15 3 195.12009 -15 6 195.12009 - -15 9 195.12009 -15 12 195.12009 -15 -15 198.12007 -15 -12 198.12007 -15 -9 198.12007 - -15 -6 198.12007 -15 -3 198.12007 -15 0 198.12007 -15 3 198.12007 -15 6 198.12007 - -15 9 198.12007 -15 12 198.12007 -15 -15 201.12007 -15 -12 201.12007 -15 -9 201.12007 - -15 -6 201.12007 -15 -3 201.12007 -15 0 201.12007 -15 3 201.12007 -15 6 201.12007 - -15 9 201.12007 -15 12 201.12007 -15 -15 204.12007 -15 -12 204.12007 -15 -9 204.12007 - -15 -6 204.12007 -15 -3 204.12007 -15 0 204.12007 -15 3 204.12007 -15 6 204.12007 - -15 9 204.12007 -15 12 204.12007 -15 -15 207.12007 -15 -12 207.12007 -15 -9 207.12007 - -15 -6 207.12007 -15 -3 207.12007 -15 0 207.12007 -15 3 207.12007 -15 6 207.12007 - -15 9 207.12007 -15 12 207.12007 -15 -15 210.12007 -15 -12 210.12007 -15 -9 210.12007 - -15 -6 210.12007 -15 -3 210.12007 -15 0 210.12007 -15 3 210.12007 -15 6 210.12007 - -15 9 210.12007 -15 12 210.12007 -15 -15 213.12007 -15 -12 213.12007 -15 -9 213.12007 - -15 -6 213.12007 -15 -3 213.12007 -15 0 213.12007 -15 3 213.12007 -15 6 213.12007 - -15 9 213.12007 -15 12 213.12007 -15 -15 216.12007 -15 -12 216.12007 -15 -9 216.12007 - -15 -6 216.12007 -15 -3 216.12007 -15 0 216.12007 -15 3 216.12007 -15 6 216.12007 - -15 9 216.12007 -15 12 216.12007 -15 -15 219.12007 -15 -12 219.12007 -15 -9 219.12007 - -15 -6 219.12007 -15 -3 219.12007 -15 0 219.12007 -15 3 219.12007 -15 6 219.12007 - -15 9 219.12007 -15 12 219.12007 -15 -15 222.12007 -15 -12 222.12007 -15 -9 222.12007 - -15 -6 222.12007 -15 -3 222.12007 -15 0 222.12007 -15 3 222.12007 -15 6 222.12007 - -15 9 222.12007 -15 12 222.12007 -15 -15 225.12007 -15 -12 225.12007 -15 -9 225.12007 - -15 -6 225.12007 -15 -3 225.12007 -15 0 225.12007 -15 3 225.12007 -15 6 225.12007 - -15 9 225.12007 -15 12 225.12007 -15 -15 228.12007 -15 -12 228.12007 -15 -9 228.12007 - -15 -6 228.12007 -15 -3 228.12007 -15 0 228.12007 -15 3 228.12007 -15 6 228.12007 - -15 9 228.12007 -15 12 228.12007 -15 -15 231.12007 -15 -12 231.12007 -15 -9 231.12007 - -15 -6 231.12007 -15 -3 231.12007 -15 0 231.12007 -15 3 231.12007 -15 6 231.12007 - -15 9 231.12007 -15 12 231.12007 -15 -15 234.12007 -15 -12 234.12007 -15 -9 234.12007 - -15 -6 234.12007 -15 -3 234.12007 -15 0 234.12007 -15; - setAttr ".inpo[166:331]" 3 234.12007 -15 6 234.12007 -15 9 234.12007 -15 12 234.12007 - -15 -15 237.12007 -15 -12 237.12007 -15 -9 237.12007 -15 -6 237.12007 -15 -3 237.12007 - -15 0 237.12007 -15 3 237.12007 -15 6 237.12007 -15 9 237.12007 -15 12 237.12007 - -15 -15 240.12006 -15 -12 240.12006 -15 -9 240.12006 -15 -6 240.12006 -15 -3 240.12006 - -15 0 240.12006 -15 3 240.12006 -15 6 240.12006 -15 9 240.12006 -15 12 240.12006 - -15 -15 243.12004 -15 -12 243.12004 -15 -9 243.12004 -15 -6 243.12004 -15 -3 243.12004 - -15 0 243.12004 -15 3 243.12004 -15 6 243.12004 -15 9 243.12004 -15 12 243.12004 - -15 -15 186.12009 -12 -12 186.12009 -12 -9 186.12009 -12 -6 186.12009 -12 -3 186.12009 - -12 0 186.12009 -12 3 186.12009 -12 6 186.12009 -12 9 186.12009 -12 12 186.12009 - -12 -15 189.12009 -12 -12 189.12009 -12 -9 189.12009 -12 -6 189.12009 -12 -3 189.12009 - -12 0 189.12009 -12 3 189.12009 -12 6 189.12009 -12 9 189.12009 -12 12 189.12009 - -12 -15 192.12009 -12 -12 192.12009 -12 -9 192.12009 -12 -6 192.12009 -12 -3 192.12009 - -12 0 192.12009 -12 3 192.12009 -12 6 192.12009 -12 9 192.12009 -12 12 192.12009 - -12 -15 195.12009 -12 -12 195.12009 -12 -9 195.12009 -12 -6 195.12009 -12 -3 195.12009 - -12 0 195.12009 -12 3 195.12009 -12 6 195.12009 -12 9 195.12009 -12 12 195.12009 - -12 -15 198.12007 -12 -12 198.12007 -12 -9 198.12007 -12 -6 198.12007 -12 -3 198.12007 - -12 0 198.12007 -12 3 198.12007 -12 6 198.12007 -12 9 198.12007 -12 12 198.12007 - -12 -15 201.12007 -12 -12 201.12007 -12 -9 201.12007 -12 -6 201.12007 -12 -3 201.12007 - -12 0 201.12007 -12 3 201.12007 -12 6 201.12007 -12 9 201.12007 -12 12 201.12007 - -12 -15 204.12007 -12 -12 204.12007 -12 -9 204.12007 -12 -6 204.12007 -12 -3 204.12007 - -12 0 204.12007 -12 3 204.12007 -12 6 204.12007 -12 9 204.12007 -12 12 204.12007 - -12 -15 207.12007 -12 -12 207.12007 -12 -9 207.12007 -12 -6 207.12007 -12 -3 207.12007 - -12 0 207.12007 -12 3 207.12007 -12 6 207.12007 -12 9 207.12007 -12 12 207.12007 - -12 -15 210.12007 -12 -12 210.12007 -12 -9 210.12007 -12 -6 210.12007 -12 -3 210.12007 - -12 0 210.12007 -12 3 210.12007 -12 6 210.12007 -12 9 210.12007 -12 12 210.12007 - -12 -15 213.12007 -12 -12 213.12007 -12 -9 213.12007 -12 -6 213.12007 -12 -3 213.12007 - -12 0 213.12007 -12 3 213.12007 -12 6 213.12007 -12 9 213.12007 -12 12 213.12007 - -12 -15 216.12007 -12 -12 216.12007 -12 -9 216.12007 -12 -6 216.12007 -12 -3 216.12007 - -12 0 216.12007 -12 3 216.12007 -12 6 216.12007 -12 9 216.12007 -12 12 216.12007 - -12 -15 219.12007 -12 -12 219.12007 -12 -9 219.12007 -12 -6 219.12007 -12 -3 219.12007 - -12 0 219.12007 -12 3 219.12007 -12 6 219.12007 -12 9 219.12007 -12 12 219.12007 - -12 -15 222.12007 -12 -12 222.12007 -12 -9 222.12007 -12 -6 222.12007 -12 -3 222.12007 - -12 0 222.12007 -12 3 222.12007 -12 6 222.12007 -12 9 222.12007 -12 12 222.12007 - -12 -15 225.12007 -12 -12 225.12007 -12; - setAttr ".inpo[332:497]" -9 225.12007 -12 -6 225.12007 -12 -3 225.12007 -12 0 225.12007 - -12 3 225.12007 -12 6 225.12007 -12 9 225.12007 -12 12 225.12007 -12 -15 228.12007 - -12 -12 228.12007 -12 -9 228.12007 -12 -6 228.12007 -12 -3 228.12007 -12 0 228.12007 - -12 3 228.12007 -12 6 228.12007 -12 9 228.12007 -12 12 228.12007 -12 -15 231.12007 - -12 -12 231.12007 -12 -9 231.12007 -12 -6 231.12007 -12 -3 231.12007 -12 0 231.12007 - -12 3 231.12007 -12 6 231.12007 -12 9 231.12007 -12 12 231.12007 -12 -15 234.12007 - -12 -12 234.12007 -12 -9 234.12007 -12 -6 234.12007 -12 -3 234.12007 -12 0 234.12007 - -12 3 234.12007 -12 6 234.12007 -12 9 234.12007 -12 12 234.12007 -12 -15 237.12007 - -12 -12 237.12007 -12 -9 237.12007 -12 -6 237.12007 -12 -3 237.12007 -12 0 237.12007 - -12 3 237.12007 -12 6 237.12007 -12 9 237.12007 -12 12 237.12007 -12 -15 240.12006 - -12 -12 240.12006 -12 -9 240.12006 -12 -6 240.12006 -12 -3 240.12006 -12 0 240.12006 - -12 3 240.12006 -12 6 240.12006 -12 9 240.12006 -12 12 240.12006 -12 -15 243.12004 - -12 -12 243.12004 -12 -9 243.12004 -12 -6 243.12004 -12 -3 243.12004 -12 0 243.12004 - -12 3 243.12004 -12 6 243.12004 -12 9 243.12004 -12 12 243.12004 -12 -15 186.12009 - -9 -12 186.12009 -9 -9 186.12009 -9 -6 186.12009 -9 -3 186.12009 -9 0 186.12009 -9 - 3 186.12009 -9 6 186.12009 -9 9 186.12009 -9 12 186.12009 -9 -15 189.12009 -9 -12 - 189.12009 -9 -9 189.12009 -9 -6 189.12009 -9 -3 189.12009 -9 0 189.12009 -9 3 189.12009 - -9 6 189.12009 -9 9 189.12009 -9 12 189.12009 -9 -15 192.12009 -9 -12 192.12009 -9 - -9 192.12009 -9 -6 192.12009 -9 -3 192.12009 -9 0 192.12009 -9 3 192.12009 -9 6 192.12009 - -9 9 192.12009 -9 12 192.12009 -9 -15 195.12009 -9 -12 195.12009 -9 -9 195.12009 - -9 -6 195.12009 -9 -3 195.12009 -9 0 195.12009 -9 3 195.12009 -9 6 195.12009 -9 9 - 195.12009 -9 12 195.12009 -9 -15 198.12007 -9 -12 198.12007 -9 -9 198.12007 -9 -6 - 198.12007 -9 -3 198.12007 -9 0 198.12007 -9 3 198.12007 -9 6 198.12007 -9 9 198.12007 - -9 12 198.12007 -9 -15 201.12007 -9 -12 201.12007 -9 -9 201.12007 -9 -6 201.12007 - -9 -3 201.12007 -9 0 201.12007 -9 3 201.12007 -9 6 201.12007 -9 9 201.12007 -9 12 - 201.12007 -9 -15 204.12007 -9 -12 204.12007 -9 -9 204.12007 -9 -6 204.12007 -9 -3 - 204.12007 -9 0 204.12007 -9 3 204.12007 -9 6 204.12007 -9 9 204.12007 -9 12 204.12007 - -9 -15 207.12007 -9 -12 207.12007 -9 -9 207.12007 -9 -6 207.12007 -9 -3 207.12007 - -9 0 207.12007 -9 3 207.12007 -9 6 207.12007 -9 9 207.12007 -9 12 207.12007 -9 -15 - 210.12007 -9 -12 210.12007 -9 -9 210.12007 -9 -6 210.12007 -9 -3 210.12007 -9 0 210.12007 - -9 3 210.12007 -9 6 210.12007 -9 9 210.12007 -9 12 210.12007 -9 -15 213.12007 -9 - -12 213.12007 -9 -9 213.12007 -9 -6 213.12007 -9 -3 213.12007 -9 0 213.12007 -9 3 - 213.12007 -9 6 213.12007 -9; - setAttr ".inpo[498:663]" 9 213.12007 -9 12 213.12007 -9 -15 216.12007 -9 -12 216.12007 - -9 -9 216.12007 -9 -6 216.12007 -9 -3 216.12007 -9 0 216.12007 -9 3 216.12007 -9 - 6 216.12007 -9 9 216.12007 -9 12 216.12007 -9 -15 219.12007 -9 -12 219.12007 -9 -9 - 219.12007 -9 -6 219.12007 -9 -3 219.12007 -9 0 219.12007 -9 3 219.12007 -9 6 219.12007 - -9 9 219.12007 -9 12 219.12007 -9 -15 222.12007 -9 -12 222.12007 -9 -9 222.12007 - -9 -6 222.12007 -9 -3 222.12007 -9 0 222.12007 -9 3 222.12007 -9 6 222.12007 -9 9 - 222.12007 -9 12 222.12007 -9 -15 225.12007 -9 -12 225.12007 -9 -9 225.12007 -9 -6 - 225.12007 -9 -3 225.12007 -9 0 225.12007 -9 3 225.12007 -9 6 225.12007 -9 9 225.12007 - -9 12 225.12007 -9 -15 228.12007 -9 -12 228.12007 -9 -9 228.12007 -9 -6 228.12007 - -9 -3 228.12007 -9 0 228.12007 -9 3 228.12007 -9 6 228.12007 -9 9 228.12007 -9 12 - 228.12007 -9 -15 231.12007 -9 -12 231.12007 -9 -9 231.12007 -9 -6 231.12007 -9 -3 - 231.12007 -9 0 231.12007 -9 3 231.12007 -9 6 231.12007 -9 9 231.12007 -9 12 231.12007 - -9 -15 234.12007 -9 -12 234.12007 -9 -9 234.12007 -9 -6 234.12007 -9 -3 234.12007 - -9 0 234.12007 -9 3 234.12007 -9 6 234.12007 -9 9 234.12007 -9 12 234.12007 -9 -15 - 237.12007 -9 -12 237.12007 -9 -9 237.12007 -9 -6 237.12007 -9 -3 237.12007 -9 0 237.12007 - -9 3 237.12007 -9 6 237.12007 -9 9 237.12007 -9 12 237.12007 -9 -15 240.12006 -9 - -12 240.12006 -9 -9 240.12006 -9 -6 240.12006 -9 -3 240.12006 -9 0 240.12006 -9 3 - 240.12006 -9 6 240.12006 -9 9 240.12006 -9 12 240.12006 -9 -15 243.12004 -9 -12 243.12004 - -9 -9 243.12004 -9 -6 243.12004 -9 -3 243.12004 -9 0 243.12004 -9 3 243.12004 -9 - 6 243.12004 -9 9 243.12004 -9 12 243.12004 -9 -15 186.12009 -6 -12 186.12009 -6 -9 - 186.12009 -6 -6 186.12009 -6 -3 186.12009 -6 0 186.12009 -6 3 186.12009 -6 6 186.12009 - -6 9 186.12009 -6 12 186.12009 -6 -15 189.12009 -6 -12 189.12009 -6 -9 189.12009 - -6 -6 189.12009 -6 -3 189.12009 -6 0 189.12009 -6 3 189.12009 -6 6 189.12009 -6 9 - 189.12009 -6 12 189.12009 -6 -15 192.12009 -6 -12 192.12009 -6 -9 192.12009 -6 -6 - 192.12009 -6 -3 192.12009 -6 0 192.12009 -6 3 192.12009 -6 6 192.12009 -6 9 192.12009 - -6 12 192.12009 -6 -15 195.12009 -6 -12 195.12009 -6 -9 195.12009 -6 -6 195.12009 - -6 -3 195.12009 -6 0 195.12009 -6 3 195.12009 -6 6 195.12009 -6 9 195.12009 -6 12 - 195.12009 -6 -15 198.12007 -6 -12 198.12007 -6 -9 198.12007 -6 -6 198.12007 -6 -3 - 198.12007 -6 0 198.12007 -6 3 198.12007 -6 6 198.12007 -6 9 198.12007 -6 12 198.12007 - -6 -15 201.12007 -6 -12 201.12007 -6 -9 201.12007 -6 -6 201.12007 -6 -3 201.12007 - -6 0 201.12007 -6 3 201.12007 -6 6 201.12007 -6 9 201.12007 -6 12 201.12007 -6 -15 - 204.12007 -6 -12 204.12007 -6 -9 204.12007 -6 -6 204.12007 -6; - setAttr ".inpo[664:829]" -3 204.12007 -6 0 204.12007 -6 3 204.12007 -6 6 204.12007 - -6 9 204.12007 -6 12 204.12007 -6 -15 207.12007 -6 -12 207.12007 -6 -9 207.12007 - -6 -6 207.12007 -6 -3 207.12007 -6 0 207.12007 -6 3 207.12007 -6 6 207.12007 -6 9 - 207.12007 -6 12 207.12007 -6 -15 210.12007 -6 -12 210.12007 -6 -9 210.12007 -6 -6 - 210.12007 -6 -3 210.12007 -6 0 210.12007 -6 3 210.12007 -6 6 210.12007 -6 9 210.12007 - -6 12 210.12007 -6 -15 213.12007 -6 -12 213.12007 -6 -9 213.12007 -6 -6 213.12007 - -6 -3 213.12007 -6 0 213.12007 -6 3 213.12007 -6 6 213.12007 -6 9 213.12007 -6 12 - 213.12007 -6 -15 216.12007 -6 -12 216.12007 -6 -9 216.12007 -6 -6 216.12007 -6 -3 - 216.12007 -6 0 216.12007 -6 3 216.12007 -6 6 216.12007 -6 9 216.12007 -6 12 216.12007 - -6 -15 219.12007 -6 -12 219.12007 -6 -9 219.12007 -6 -6 219.12007 -6 -3 219.12007 - -6 0 219.12007 -6 3 219.12007 -6 6 219.12007 -6 9 219.12007 -6 12 219.12007 -6 -15 - 222.12007 -6 -12 222.12007 -6 -9 222.12007 -6 -6 222.12007 -6 -3 222.12007 -6 0 222.12007 - -6 3 222.12007 -6 6 222.12007 -6 9 222.12007 -6 12 222.12007 -6 -15 225.12007 -6 - -12 225.12007 -6 -9 225.12007 -6 -6 225.12007 -6 -3 225.12007 -6 0 225.12007 -6 3 - 225.12007 -6 6 225.12007 -6 9 225.12007 -6 12 225.12007 -6 -15 228.12007 -6 -12 228.12007 - -6 -9 228.12007 -6 -6 228.12007 -6 -3 228.12007 -6 0 228.12007 -6 3 228.12007 -6 - 6 228.12007 -6 9 228.12007 -6 12 228.12007 -6 -15 231.12007 -6 -12 231.12007 -6 -9 - 231.12007 -6 -6 231.12007 -6 -3 231.12007 -6 0 231.12007 -6 3 231.12007 -6 6 231.12007 - -6 9 231.12007 -6 12 231.12007 -6 -15 234.12007 -6 -12 234.12007 -6 -9 234.12007 - -6 -6 234.12007 -6 -3 234.12007 -6 0 234.12007 -6 3 234.12007 -6 6 234.12007 -6 9 - 234.12007 -6 12 234.12007 -6 -15 237.12007 -6 -12 237.12007 -6 -9 237.12007 -6 -6 - 237.12007 -6 -3 237.12007 -6 0 237.12007 -6 3 237.12007 -6 6 237.12007 -6 9 237.12007 - -6 12 237.12007 -6 -15 240.12006 -6 -12 240.12006 -6 -9 240.12006 -6 -6 240.12006 - -6 -3 240.12006 -6 0 240.12006 -6 3 240.12006 -6 6 240.12006 -6 9 240.12006 -6 12 - 240.12006 -6 -15 243.12004 -6 -12 243.12004 -6 -9 243.12004 -6 -6 243.12004 -6 -3 - 243.12004 -6 0 243.12004 -6 3 243.12004 -6 6 243.12004 -6 9 243.12004 -6 12 243.12004 - -6 -15 186.12009 -3 -12 186.12009 -3 -9 186.12009 -3 -6 186.12009 -3 -3 186.12009 - -3 0 186.12009 -3 3 186.12009 -3 6 186.12009 -3 9 186.12009 -3 12 186.12009 -3 -15 - 189.12009 -3 -12 189.12009 -3 -9 189.12009 -3 -6 189.12009 -3 -3 189.12009 -3 0 189.12009 - -3 3 189.12009 -3 6 189.12009 -3 9 189.12009 -3 12 189.12009 -3 -15 192.12009 -3 - -12 192.12009 -3 -9 192.12009 -3 -6 192.12009 -3 -3 192.12009 -3 0 192.12009 -3 3 - 192.12009 -3 6 192.12009 -3 9 192.12009 -3 12 192.12009 -3; - setAttr ".inpo[830:995]" -15 195.12009 -3 -12 195.12009 -3 -9 195.12009 -3 -6 195.12009 - -3 -3 195.12009 -3 0 195.12009 -3 3 195.12009 -3 6 195.12009 -3 9 195.12009 -3 12 - 195.12009 -3 -15 198.12007 -3 -12 198.12007 -3 -9 198.12007 -3 -6 198.12007 -3 -3 - 198.12007 -3 0 198.12007 -3 3 198.12007 -3 6 198.12007 -3 9 198.12007 -3 12 198.12007 - -3 -15 201.12007 -3 -12 201.12007 -3 -9 201.12007 -3 -6 201.12007 -3 -3 201.12007 - -3 0 201.12007 -3 3 201.12007 -3 6 201.12007 -3 9 201.12007 -3 12 201.12007 -3 -15 - 204.12007 -3 -12 204.12007 -3 -9 204.12007 -3 -6 204.12007 -3 -3 204.12007 -3 0 204.12007 - -3 3 204.12007 -3 6 204.12007 -3 9 204.12007 -3 12 204.12007 -3 -15 207.12007 -3 - -12 207.12007 -3 -9 207.12007 -3 -6 207.12007 -3 -3 207.12007 -3 0 207.12007 -3 3 - 207.12007 -3 6 207.12007 -3 9 207.12007 -3 12 207.12007 -3 -15 210.12007 -3 -12 210.12007 - -3 -9 210.12007 -3 -6 210.12007 -3 -3 210.12007 -3 0 210.12007 -3 3 210.12007 -3 - 6 210.12007 -3 9 210.12007 -3 12 210.12007 -3 -15 213.12007 -3 -12 213.12007 -3 -9 - 213.12007 -3 -6 213.12007 -3 -3 213.12007 -3 0 213.12007 -3 3 213.12007 -3 6 213.12007 - -3 9 213.12007 -3 12 213.12007 -3 -15 216.12007 -3 -12 216.12007 -3 -9 216.12007 - -3 -6 216.12007 -3 -3 216.12007 -3 0 216.12007 -3 3 216.12007 -3 6 216.12007 -3 9 - 216.12007 -3 12 216.12007 -3 -15 219.12007 -3 -12 219.12007 -3 -9 219.12007 -3 -6 - 219.12007 -3 -3 219.12007 -3 0 219.12007 -3 3 219.12007 -3 6 219.12007 -3 9 219.12007 - -3 12 219.12007 -3 -15 222.12007 -3 -12 222.12007 -3 -9 222.12007 -3 -6 222.12007 - -3 -3 222.12007 -3 0 222.12007 -3 3 222.12007 -3 6 222.12007 -3 9 222.12007 -3 12 - 222.12007 -3 -15 225.12007 -3 -12 225.12007 -3 -9 225.12007 -3 -6 225.12007 -3 -3 - 225.12007 -3 0 225.12007 -3 3 225.12007 -3 6 225.12007 -3 9 225.12007 -3 12 225.12007 - -3 -15 228.12007 -3 -12 228.12007 -3 -9 228.12007 -3 -6 228.12007 -3 -3 228.12007 - -3 0 228.12007 -3 3 228.12007 -3 6 228.12007 -3 9 228.12007 -3 12 228.12007 -3 -15 - 231.12007 -3 -12 231.12007 -3 -9 231.12007 -3 -6 231.12007 -3 -3 231.12007 -3 0 231.12007 - -3 3 231.12007 -3 6 231.12007 -3 9 231.12007 -3 12 231.12007 -3 -15 234.12007 -3 - -12 234.12007 -3 -9 234.12007 -3 -6 234.12007 -3 -3 234.12007 -3 0 234.12007 -3 3 - 234.12007 -3 6 234.12007 -3 9 234.12007 -3 12 234.12007 -3 -15 237.12007 -3 -12 237.12007 - -3 -9 237.12007 -3 -6 237.12007 -3 -3 237.12007 -3 0 237.12007 -3 3 237.12007 -3 - 6 237.12007 -3 9 237.12007 -3 12 237.12007 -3 -15 240.12006 -3 -12 240.12006 -3 -9 - 240.12006 -3 -6 240.12006 -3 -3 240.12006 -3 0 240.12006 -3 3 240.12006 -3 6 240.12006 - -3 9 240.12006 -3 12 240.12006 -3 -15 243.12004 -3 -12 243.12004 -3 -9 243.12004 - -3 -6 243.12004 -3 -3 243.12004 -3 0 243.12004 -3; - setAttr ".inpo[996:1161]" 3 243.12004 -3 6 243.12004 -3 9 243.12004 -3 12 243.12004 - -3 -15 186.12009 0 -12 186.12009 0 -9 186.12009 0 -6 186.12009 0 -3 186.12009 0 0 - 186.12009 0 3 186.12009 0 6 186.12009 0 9 186.12009 0 12 186.12009 0 -15 189.12009 - 0 -12 189.12009 0 -9 189.12009 0 -6 189.12009 0 -3 189.12009 0 0 189.12009 0 3 189.12009 - 0 6 189.12009 0 9 189.12009 0 12 189.12009 0 -15 192.12009 0 -12 192.12009 0 -9 192.12009 - 0 -6 192.12009 0 -3 192.12009 0 0 192.12009 0 3 192.12009 0 6 192.12009 0 9 192.12009 - 0 12 192.12009 0 -15 195.12009 0 -12 195.12009 0 -9 195.12009 0 -6 195.12009 0 -3 - 195.12009 0 0 195.12009 0 3 195.12009 0 6 195.12009 0 9 195.12009 0 12 195.12009 - 0 -15 198.12007 0 -12 198.12007 0 -9 198.12007 0 -6 198.12007 0 -3 198.12007 0 0 - 198.12007 0 3 198.12007 0 6 198.12007 0 9 198.12007 0 12 198.12007 0 -15 201.12007 - 0 -12 201.12007 0 -9 201.12007 0 -6 201.12007 0 -3 201.12007 0 0 201.12007 0 3 201.12007 - 0 6 201.12007 0 9 201.12007 0 12 201.12007 0 -15 204.12007 0 -12 204.12007 0 -9 204.12007 - 0 -6 204.12007 0 -3 204.12007 0 0 204.12007 0 3 204.12007 0 6 204.12007 0 9 204.12007 - 0 12 204.12007 0 -15 207.12007 0 -12 207.12007 0 -9 207.12007 0 -6 207.12007 0 -3 - 207.12007 0 0 207.12007 0 3 207.12007 0 6 207.12007 0 9 207.12007 0 12 207.12007 - 0 -15 210.12007 0 -12 210.12007 0 -9 210.12007 0 -6 210.12007 0 -3 210.12007 0 0 - 210.12007 0 3 210.12007 0 6 210.12007 0 9 210.12007 0 12 210.12007 0 -15 213.12007 - 0 -12 213.12007 0 -9 213.12007 0 -6 213.12007 0 -3 213.12007 0 0 213.12007 0 3 213.12007 - 0 6 213.12007 0 9 213.12007 0 12 213.12007 0 -15 216.12007 0 -12 216.12007 0 -9 216.12007 - 0 -6 216.12007 0 -3 216.12007 0 0 216.12007 0 3 216.12007 0 6 216.12007 0 9 216.12007 - 0 12 216.12007 0 -15 219.12007 0 -12 219.12007 0 -9 219.12007 0 -6 219.12007 0 -3 - 219.12007 0 0 219.12007 0 3 219.12007 0 6 219.12007 0 9 219.12007 0 12 219.12007 - 0 -15 222.12007 0 -12 222.12007 0 -9 222.12007 0 -6 222.12007 0 -3 222.12007 0 0 - 222.12007 0 3 222.12007 0 6 222.12007 0 9 222.12007 0 12 222.12007 0 -15 225.12007 - 0 -12 225.12007 0 -9 225.12007 0 -6 225.12007 0 -3 225.12007 0 0 225.12007 0 3 225.12007 - 0 6 225.12007 0 9 225.12007 0 12 225.12007 0 -15 228.12007 0 -12 228.12007 0 -9 228.12007 - 0 -6 228.12007 0 -3 228.12007 0 0 228.12007 0 3 228.12007 0 6 228.12007 0 9 228.12007 - 0 12 228.12007 0 -15 231.12007 0 -12 231.12007 0 -9 231.12007 0 -6 231.12007 0 -3 - 231.12007 0 0 231.12007 0 3 231.12007 0 6 231.12007 0 9 231.12007 0 12 231.12007 - 0 -15 234.12007 0 -12 234.12007 0; - setAttr ".inpo[1162:1327]" -9 234.12007 0 -6 234.12007 0 -3 234.12007 0 0 234.12007 - 0 3 234.12007 0 6 234.12007 0 9 234.12007 0 12 234.12007 0 -15 237.12007 0 -12 237.12007 - 0 -9 237.12007 0 -6 237.12007 0 -3 237.12007 0 0 237.12007 0 3 237.12007 0 6 237.12007 - 0 9 237.12007 0 12 237.12007 0 -15 240.12006 0 -12 240.12006 0 -9 240.12006 0 -6 - 240.12006 0 -3 240.12006 0 0 240.12006 0 3 240.12006 0 6 240.12006 0 9 240.12006 - 0 12 240.12006 0 -15 243.12004 0 -12 243.12004 0 -9 243.12004 0 -6 243.12004 0 -3 - 243.12004 0 0 243.12004 0 3 243.12004 0 6 243.12004 0 9 243.12004 0 12 243.12004 - 0 -15 186.12009 3 -12 186.12009 3 -9 186.12009 3 -6 186.12009 3 -3 186.12009 3 0 - 186.12009 3 3 186.12009 3 6 186.12009 3 9 186.12009 3 12 186.12009 3 -15 189.12009 - 3 -12 189.12009 3 -9 189.12009 3 -6 189.12009 3 -3 189.12009 3 0 189.12009 3 3 189.12009 - 3 6 189.12009 3 9 189.12009 3 12 189.12009 3 -15 192.12009 3 -12 192.12009 3 -9 192.12009 - 3 -6 192.12009 3 -3 192.12009 3 0 192.12009 3 3 192.12009 3 6 192.12009 3 9 192.12009 - 3 12 192.12009 3 -15 195.12009 3 -12 195.12009 3 -9 195.12009 3 -6 195.12009 3 -3 - 195.12009 3 0 195.12009 3 3 195.12009 3 6 195.12009 3 9 195.12009 3 12 195.12009 - 3 -15 198.12007 3 -12 198.12007 3 -9 198.12007 3 -6 198.12007 3 -3 198.12007 3 0 - 198.12007 3 3 198.12007 3 6 198.12007 3 9 198.12007 3 12 198.12007 3 -15 201.12007 - 3 -12 201.12007 3 -9 201.12007 3 -6 201.12007 3 -3 201.12007 3 0 201.12007 3 3 201.12007 - 3 6 201.12007 3 9 201.12007 3 12 201.12007 3 -15 204.12007 3 -12 204.12007 3 -9 204.12007 - 3 -6 204.12007 3 -3 204.12007 3 0 204.12007 3 3 204.12007 3 6 204.12007 3 9 204.12007 - 3 12 204.12007 3 -15 207.12007 3 -12 207.12007 3 -9 207.12007 3 -6 207.12007 3 -3 - 207.12007 3 0 207.12007 3 3 207.12007 3 6 207.12007 3 9 207.12007 3 12 207.12007 - 3 -15 210.12007 3 -12 210.12007 3 -9 210.12007 3 -6 210.12007 3 -3 210.12007 3 0 - 210.12007 3 3 210.12007 3 6 210.12007 3 9 210.12007 3 12 210.12007 3 -15 213.12007 - 3 -12 213.12007 3 -9 213.12007 3 -6 213.12007 3 -3 213.12007 3 0 213.12007 3 3 213.12007 - 3 6 213.12007 3 9 213.12007 3 12 213.12007 3 -15 216.12007 3 -12 216.12007 3 -9 216.12007 - 3 -6 216.12007 3 -3 216.12007 3 0 216.12007 3 3 216.12007 3 6 216.12007 3 9 216.12007 - 3 12 216.12007 3 -15 219.12007 3 -12 219.12007 3 -9 219.12007 3 -6 219.12007 3 -3 - 219.12007 3 0 219.12007 3 3 219.12007 3 6 219.12007 3 9 219.12007 3 12 219.12007 - 3 -15 222.12007 3 -12 222.12007 3 -9 222.12007 3 -6 222.12007 3 -3 222.12007 3 0 - 222.12007 3 3 222.12007 3 6 222.12007 3; - setAttr ".inpo[1328:1493]" 9 222.12007 3 12 222.12007 3 -15 225.12007 3 -12 225.12007 - 3 -9 225.12007 3 -6 225.12007 3 -3 225.12007 3 0 225.12007 3 3 225.12007 3 6 225.12007 - 3 9 225.12007 3 12 225.12007 3 -15 228.12007 3 -12 228.12007 3 -9 228.12007 3 -6 - 228.12007 3 -3 228.12007 3 0 228.12007 3 3 228.12007 3 6 228.12007 3 9 228.12007 - 3 12 228.12007 3 -15 231.12007 3 -12 231.12007 3 -9 231.12007 3 -6 231.12007 3 -3 - 231.12007 3 0 231.12007 3 3 231.12007 3 6 231.12007 3 9 231.12007 3 12 231.12007 - 3 -15 234.12007 3 -12 234.12007 3 -9 234.12007 3 -6 234.12007 3 -3 234.12007 3 0 - 234.12007 3 3 234.12007 3 6 234.12007 3 9 234.12007 3 12 234.12007 3 -15 237.12007 - 3 -12 237.12007 3 -9 237.12007 3 -6 237.12007 3 -3 237.12007 3 0 237.12007 3 3 237.12007 - 3 6 237.12007 3 9 237.12007 3 12 237.12007 3 -15 240.12006 3 -12 240.12006 3 -9 240.12006 - 3 -6 240.12006 3 -3 240.12006 3 0 240.12006 3 3 240.12006 3 6 240.12006 3 9 240.12006 - 3 12 240.12006 3 -15 243.12004 3 -12 243.12004 3 -9 243.12004 3 -6 243.12004 3 -3 - 243.12004 3 0 243.12004 3 3 243.12004 3 6 243.12004 3 9 243.12004 3 12 243.12004 - 3 -15 186.12009 6 -12 186.12009 6 -9 186.12009 6 -6 186.12009 6 -3 186.12009 6 0 - 186.12009 6 3 186.12009 6 6 186.12009 6 9 186.12009 6 12 186.12009 6 -15 189.12009 - 6 -12 189.12009 6 -9 189.12009 6 -6 189.12009 6 -3 189.12009 6 0 189.12009 6 3 189.12009 - 6 6 189.12009 6 9 189.12009 6 12 189.12009 6 -15 192.12009 6 -12 192.12009 6 -9 192.12009 - 6 -6 192.12009 6 -3 192.12009 6 0 192.12009 6 3 192.12009 6 6 192.12009 6 9 192.12009 - 6 12 192.12009 6 -15 195.12009 6 -12 195.12009 6 -9 195.12009 6 -6 195.12009 6 -3 - 195.12009 6 0 195.12009 6 3 195.12009 6 6 195.12009 6 9 195.12009 6 12 195.12009 - 6 -15 198.12007 6 -12 198.12007 6 -9 198.12007 6 -6 198.12007 6 -3 198.12007 6 0 - 198.12007 6 3 198.12007 6 6 198.12007 6 9 198.12007 6 12 198.12007 6 -15 201.12007 - 6 -12 201.12007 6 -9 201.12007 6 -6 201.12007 6 -3 201.12007 6 0 201.12007 6 3 201.12007 - 6 6 201.12007 6 9 201.12007 6 12 201.12007 6 -15 204.12007 6 -12 204.12007 6 -9 204.12007 - 6 -6 204.12007 6 -3 204.12007 6 0 204.12007 6 3 204.12007 6 6 204.12007 6 9 204.12007 - 6 12 204.12007 6 -15 207.12007 6 -12 207.12007 6 -9 207.12007 6 -6 207.12007 6 -3 - 207.12007 6 0 207.12007 6 3 207.12007 6 6 207.12007 6 9 207.12007 6 12 207.12007 - 6 -15 210.12007 6 -12 210.12007 6 -9 210.12007 6 -6 210.12007 6 -3 210.12007 6 0 - 210.12007 6 3 210.12007 6 6 210.12007 6 9 210.12007 6 12 210.12007 6 -15 213.12007 - 6 -12 213.12007 6 -9 213.12007 6 -6 213.12007 6; - setAttr ".inpo[1494:1659]" -3 213.12007 6 0 213.12007 6 3 213.12007 6 6 213.12007 - 6 9 213.12007 6 12 213.12007 6 -15 216.12007 6 -12 216.12007 6 -9 216.12007 6 -6 - 216.12007 6 -3 216.12007 6 0 216.12007 6 3 216.12007 6 6 216.12007 6 9 216.12007 - 6 12 216.12007 6 -15 219.12007 6 -12 219.12007 6 -9 219.12007 6 -6 219.12007 6 -3 - 219.12007 6 0 219.12007 6 3 219.12007 6 6 219.12007 6 9 219.12007 6 12 219.12007 - 6 -15 222.12007 6 -12 222.12007 6 -9 222.12007 6 -6 222.12007 6 -3 222.12007 6 0 - 222.12007 6 3 222.12007 6 6 222.12007 6 9 222.12007 6 12 222.12007 6 -15 225.12007 - 6 -12 225.12007 6 -9 225.12007 6 -6 225.12007 6 -3 225.12007 6 0 225.12007 6 3 225.12007 - 6 6 225.12007 6 9 225.12007 6 12 225.12007 6 -15 228.12007 6 -12 228.12007 6 -9 228.12007 - 6 -6 228.12007 6 -3 228.12007 6 0 228.12007 6 3 228.12007 6 6 228.12007 6 9 228.12007 - 6 12 228.12007 6 -15 231.12007 6 -12 231.12007 6 -9 231.12007 6 -6 231.12007 6 -3 - 231.12007 6 0 231.12007 6 3 231.12007 6 6 231.12007 6 9 231.12007 6 12 231.12007 - 6 -15 234.12007 6 -12 234.12007 6 -9 234.12007 6 -6 234.12007 6 -3 234.12007 6 0 - 234.12007 6 3 234.12007 6 6 234.12007 6 9 234.12007 6 12 234.12007 6 -15 237.12007 - 6 -12 237.12007 6 -9 237.12007 6 -6 237.12007 6 -3 237.12007 6 0 237.12007 6 3 237.12007 - 6 6 237.12007 6 9 237.12007 6 12 237.12007 6 -15 240.12006 6 -12 240.12006 6 -9 240.12006 - 6 -6 240.12006 6 -3 240.12006 6 0 240.12006 6 3 240.12006 6 6 240.12006 6 9 240.12006 - 6 12 240.12006 6 -15 243.12004 6 -12 243.12004 6 -9 243.12004 6 -6 243.12004 6 -3 - 243.12004 6 0 243.12004 6 3 243.12004 6 6 243.12004 6 9 243.12004 6 12 243.12004 - 6 -15 186.12009 9 -12 186.12009 9 -9 186.12009 9 -6 186.12009 9 -3 186.12009 9 0 - 186.12009 9 3 186.12009 9 6 186.12009 9 9 186.12009 9 12 186.12009 9 -15 189.12009 - 9 -12 189.12009 9 -9 189.12009 9 -6 189.12009 9 -3 189.12009 9 0 189.12009 9 3 189.12009 - 9 6 189.12009 9 9 189.12009 9 12 189.12009 9 -15 192.12009 9 -12 192.12009 9 -9 192.12009 - 9 -6 192.12009 9 -3 192.12009 9 0 192.12009 9 3 192.12009 9 6 192.12009 9 9 192.12009 - 9 12 192.12009 9 -15 195.12009 9 -12 195.12009 9 -9 195.12009 9 -6 195.12009 9 -3 - 195.12009 9 0 195.12009 9 3 195.12009 9 6 195.12009 9 9 195.12009 9 12 195.12009 - 9 -15 198.12007 9 -12 198.12007 9 -9 198.12007 9 -6 198.12007 9 -3 198.12007 9 0 - 198.12007 9 3 198.12007 9 6 198.12007 9 9 198.12007 9 12 198.12007 9 -15 201.12007 - 9 -12 201.12007 9 -9 201.12007 9 -6 201.12007 9 -3 201.12007 9 0 201.12007 9 3 201.12007 - 9 6 201.12007 9 9 201.12007 9 12 201.12007 9; - setAttr ".inpo[1660:1825]" -15 204.12007 9 -12 204.12007 9 -9 204.12007 9 -6 204.12007 - 9 -3 204.12007 9 0 204.12007 9 3 204.12007 9 6 204.12007 9 9 204.12007 9 12 204.12007 - 9 -15 207.12007 9 -12 207.12007 9 -9 207.12007 9 -6 207.12007 9 -3 207.12007 9 0 - 207.12007 9 3 207.12007 9 6 207.12007 9 9 207.12007 9 12 207.12007 9 -15 210.12007 - 9 -12 210.12007 9 -9 210.12007 9 -6 210.12007 9 -3 210.12007 9 0 210.12007 9 3 210.12007 - 9 6 210.12007 9 9 210.12007 9 12 210.12007 9 -15 213.12007 9 -12 213.12007 9 -9 213.12007 - 9 -6 213.12007 9 -3 213.12007 9 0 213.12007 9 3 213.12007 9 6 213.12007 9 9 213.12007 - 9 12 213.12007 9 -15 216.12007 9 -12 216.12007 9 -9 216.12007 9 -6 216.12007 9 -3 - 216.12007 9 0 216.12007 9 3 216.12007 9 6 216.12007 9 9 216.12007 9 12 216.12007 - 9 -15 219.12007 9 -12 219.12007 9 -9 219.12007 9 -6 219.12007 9 -3 219.12007 9 0 - 219.12007 9 3 219.12007 9 6 219.12007 9 9 219.12007 9 12 219.12007 9 -15 222.12007 - 9 -12 222.12007 9 -9 222.12007 9 -6 222.12007 9 -3 222.12007 9 0 222.12007 9 3 222.12007 - 9 6 222.12007 9 9 222.12007 9 12 222.12007 9 -15 225.12007 9 -12 225.12007 9 -9 225.12007 - 9 -6 225.12007 9 -3 225.12007 9 0 225.12007 9 3 225.12007 9 6 225.12007 9 9 225.12007 - 9 12 225.12007 9 -15 228.12007 9 -12 228.12007 9 -9 228.12007 9 -6 228.12007 9 -3 - 228.12007 9 0 228.12007 9 3 228.12007 9 6 228.12007 9 9 228.12007 9 12 228.12007 - 9 -15 231.12007 9 -12 231.12007 9 -9 231.12007 9 -6 231.12007 9 -3 231.12007 9 0 - 231.12007 9 3 231.12007 9 6 231.12007 9 9 231.12007 9 12 231.12007 9 -15 234.12007 - 9 -12 234.12007 9 -9 234.12007 9 -6 234.12007 9 -3 234.12007 9 0 234.12007 9 3 234.12007 - 9 6 234.12007 9 9 234.12007 9 12 234.12007 9 -15 237.12007 9 -12 237.12007 9 -9 237.12007 - 9 -6 237.12007 9 -3 237.12007 9 0 237.12007 9 3 237.12007 9 6 237.12007 9 9 237.12007 - 9 12 237.12007 9 -15 240.12006 9 -12 240.12006 9 -9 240.12006 9 -6 240.12006 9 -3 - 240.12006 9 0 240.12006 9 3 240.12006 9 6 240.12006 9 9 240.12006 9 12 240.12006 - 9 -15 243.12004 9 -12 243.12004 9 -9 243.12004 9 -6 243.12004 9 -3 243.12004 9 0 - 243.12004 9 3 243.12004 9 6 243.12004 9 9 243.12004 9 12 243.12004 9 -15 186.12009 - 12 -12 186.12009 12 -9 186.12009 12 -6 186.12009 12 -3 186.12009 12 0 186.12009 12 - 3 186.12009 12 6 186.12009 12 9 186.12009 12 12 186.12009 12 -15 189.12009 12 -12 - 189.12009 12 -9 189.12009 12 -6 189.12009 12 -3 189.12009 12 0 189.12009 12 3 189.12009 - 12 6 189.12009 12 9 189.12009 12 12 189.12009 12 -15 192.12009 12 -12 192.12009 12 - -9 192.12009 12 -6 192.12009 12 -3 192.12009 12 0 192.12009 12; - setAttr ".inpo[1826:1991]" 3 192.12009 12 6 192.12009 12 9 192.12009 12 12 192.12009 - 12 -15 195.12009 12 -12 195.12009 12 -9 195.12009 12 -6 195.12009 12 -3 195.12009 - 12 0 195.12009 12 3 195.12009 12 6 195.12009 12 9 195.12009 12 12 195.12009 12 -15 - 198.12007 12 -12 198.12007 12 -9 198.12007 12 -6 198.12007 12 -3 198.12007 12 0 198.12007 - 12 3 198.12007 12 6 198.12007 12 9 198.12007 12 12 198.12007 12 -15 201.12007 12 - -12 201.12007 12 -9 201.12007 12 -6 201.12007 12 -3 201.12007 12 0 201.12007 12 3 - 201.12007 12 6 201.12007 12 9 201.12007 12 12 201.12007 12 -15 204.12007 12 -12 204.12007 - 12 -9 204.12007 12 -6 204.12007 12 -3 204.12007 12 0 204.12007 12 3 204.12007 12 - 6 204.12007 12 9 204.12007 12 12 204.12007 12 -15 207.12007 12 -12 207.12007 12 -9 - 207.12007 12 -6 207.12007 12 -3 207.12007 12 0 207.12007 12 3 207.12007 12 6 207.12007 - 12 9 207.12007 12 12 207.12007 12 -15 210.12007 12 -12 210.12007 12 -9 210.12007 - 12 -6 210.12007 12 -3 210.12007 12 0 210.12007 12 3 210.12007 12 6 210.12007 12 9 - 210.12007 12 12 210.12007 12 -15 213.12007 12 -12 213.12007 12 -9 213.12007 12 -6 - 213.12007 12 -3 213.12007 12 0 213.12007 12 3 213.12007 12 6 213.12007 12 9 213.12007 - 12 12 213.12007 12 -15 216.12007 12 -12 216.12007 12 -9 216.12007 12 -6 216.12007 - 12 -3 216.12007 12 0 216.12007 12 3 216.12007 12 6 216.12007 12 9 216.12007 12 12 - 216.12007 12 -15 219.12007 12 -12 219.12007 12 -9 219.12007 12 -6 219.12007 12 -3 - 219.12007 12 0 219.12007 12 3 219.12007 12 6 219.12007 12 9 219.12007 12 12 219.12007 - 12 -15 222.12007 12 -12 222.12007 12 -9 222.12007 12 -6 222.12007 12 -3 222.12007 - 12 0 222.12007 12 3 222.12007 12 6 222.12007 12 9 222.12007 12 12 222.12007 12 -15 - 225.12007 12 -12 225.12007 12 -9 225.12007 12 -6 225.12007 12 -3 225.12007 12 0 225.12007 - 12 3 225.12007 12 6 225.12007 12 9 225.12007 12 12 225.12007 12 -15 228.12007 12 - -12 228.12007 12 -9 228.12007 12 -6 228.12007 12 -3 228.12007 12 0 228.12007 12 3 - 228.12007 12 6 228.12007 12 9 228.12007 12 12 228.12007 12 -15 231.12007 12 -12 231.12007 - 12 -9 231.12007 12 -6 231.12007 12 -3 231.12007 12 0 231.12007 12 3 231.12007 12 - 6 231.12007 12 9 231.12007 12 12 231.12007 12 -15 234.12007 12 -12 234.12007 12 -9 - 234.12007 12 -6 234.12007 12 -3 234.12007 12 0 234.12007 12 3 234.12007 12 6 234.12007 - 12 9 234.12007 12 12 234.12007 12 -15 237.12007 12 -12 237.12007 12 -9 237.12007 - 12 -6 237.12007 12 -3 237.12007 12 0 237.12007 12 3 237.12007 12 6 237.12007 12 9 - 237.12007 12 12 237.12007 12 -15 240.12006 12 -12 240.12006 12 -9 240.12006 12 -6 - 240.12006 12 -3 240.12006 12 0 240.12006 12 3 240.12006 12 6 240.12006 12 9 240.12006 - 12 12 240.12006 12 -15 243.12004 12 -12 243.12004 12; - setAttr ".inpo[1992:1999]" -9 243.12004 12 -6 243.12004 12 -3 243.12004 12 0 243.12004 - 12 3 243.12004 12 6 243.12004 12 9 243.12004 12 12 243.12004 12; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr -k off ".grvt" -type "float3" 1.4012985e-45 -9.8100004 0 ; - setAttr -k off ".grvt"; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 6; -createNode polyCylinder -n "polyCylinder1"; - setAttr ".r" 4.4334520128614425; - setAttr ".h" 26.049806719366714; - setAttr ".sh" 2; - setAttr ".sc" 1; - setAttr ".cuv" 3; -createNode polyTweak -n "polyTweak1"; - setAttr ".uopa" yes; - setAttr -s 21 ".tk"; - setAttr ".tk[40:59]" -type "float3" 24.435431 20.259966 -7.939548 20.786018 20.259966 - -15.101918 15.10192 20.259966 -20.786009 7.9395547 20.259966 -24.435417 2.7633844e-06 - 20.259966 -25.692919 -7.9395509 20.259966 -24.435417 -15.101917 20.259966 -20.786001 - -20.786001 20.259966 -15.101914 -24.435411 20.259966 -7.9395471 -25.692917 20.259966 - 4.1450794e-06 -24.435411 20.259966 7.9395547 -20.786001 20.259966 15.101918 -15.101908 - 20.259966 20.786005 -7.9395471 20.259966 24.435417 1.9976765e-06 20.259966 25.692919 - 7.9395509 20.259966 24.435417 15.101917 20.259966 20.786005 20.786001 20.259966 - 15.101918 24.43541 20.259966 7.9395509 25.692917 20.259966 4.1450794e-06 ; - setAttr ".tk[61]" -type "float3" 2.7633844e-06 20.259966 4.1450794e-06 ; -createNode deleteComponent -n "deleteComponent1"; - setAttr ".dc" -type "componentList" 1 "f[60:79]"; -createNode deleteComponent -n "deleteComponent2"; - setAttr ".dc" -type "componentList" 1 "f[40:59]"; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 1; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -createNode polySphere -n "polySphere1"; - setAttr ".r" 1.4460482431866666; - setAttr ".sa" 10; - setAttr ".sh" 10; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 0; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr -s 2 ".dsm"; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - setAttr ".npu" 1; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "deleteComponent2.og" "pCylinderShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "polySphere1.out" "pSphereShape1.i"; -connectAttr "dSolver1.rbds" "dRigidBodyArrayShape1.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyArrayShape1.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "polyCylinder1.out" "polyTweak1.ip"; -connectAttr "polyTweak1.out" "deleteComponent1.ig"; -connectAttr "deleteComponent1.og" "deleteComponent2.ig"; -connectAttr "pCylinderShape1.msg" "dCollisionShape2.insh"; -connectAttr "pSphereShape1.msg" "dCollisionShape3.insh"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -connectAttr "pCylinderShape1.iog" ":initialShadingGroup.dsm" -na; -connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; -// End of peanutFunnel.ma diff --git a/Extras/MayaPlugin/scenes/pointConstraint.ma b/Extras/MayaPlugin/scenes/pointConstraint.ma deleted file mode 100644 index 184fae228..000000000 --- a/Extras/MayaPlugin/scenes/pointConstraint.ma +++ /dev/null @@ -1,197 +0,0 @@ -//Maya ASCII 2008 scene -//Name: pointConstraint.ma -//Last modified: Wed, May 06, 2009 12:39:07 PM -//Codeset: 1252 -requires maya "2008"; -requires "BulletMayaPlugin" "2.73"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Unlimited 2008"; -fileInfo "version" "2008"; -fileInfo "cutIdentifier" "200708022245-704165"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" 5.4310852522104263 10.227807249820351 8.9834453601726043 ; - setAttr ".r" -type "double3" -36.938352729603878 18.200000000000443 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 12.88344218879959; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode transform -n "dRigidBody2"; - setAttr ".t" -type "double3" 0 2.3922815322875977 0 ; - setAttr ".r" -type "double3" -1.5902777198834224e-015 -1.5902771511559264e-015 9.6200597810677602e-006 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0 2.3922815 0 ; - setAttr ".inro" -type "float3" 0 0 9.6200602e-006 ; -createNode transform -n "dRigidBody3"; - setAttr ".t" -type "double3" -1.1345885992050171 3.7411060333251953 0 ; - setAttr ".r" -type "double3" -2.484861663096116e-017 4.9695900306853732e-017 -0.00061626089443063338 ; -createNode dRigidBody -n "dRigidBodyShape3" -p "dRigidBody3"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" -1.1345886 3.741106 0 ; - setAttr ".inro" -type "float3" 0 0 -0.00061626092 ; -createNode transform -n "dNailConstraint1"; - setAttr ".t" -type "double3" 0.34766338361584892 4.4408998843332972 0 ; -createNode dNailConstraint -n "dNailConstraintShape1" -p "dNailConstraint1"; - setAttr -k off ".v"; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 6; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 4; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n" - + " -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n" - + " -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n" - + " -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n" - + " -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" - + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n" - + " -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n" - + " -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n" - + " -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n" - + " -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" - + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n" - + "\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n" - + " -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n" - + " -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n" - + " -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n" - + " -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n" - + " -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n" - + " -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" - + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n" - + " -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" - + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n" - + " -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n" - + " -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n" - + " -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n" - + " -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n" - + " -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape3.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape3.incs"; -connectAttr "dRigidBodyShape3.msg" "dNailConstraintShape1.inrb"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of pointConstraint.ma diff --git a/Extras/MayaPlugin/scenes/sliderConstraint.ma b/Extras/MayaPlugin/scenes/sliderConstraint.ma deleted file mode 100644 index bcddb2b1a..000000000 --- a/Extras/MayaPlugin/scenes/sliderConstraint.ma +++ /dev/null @@ -1,196 +0,0 @@ -//Maya ASCII 2008 scene -//Name: sliderConstraint.ma -//Last modified: Wed, May 06, 2009 12:45:51 PM -//Codeset: 1252 -requires maya "2008"; -requires "BulletMayaPlugin" "2.73"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya Unlimited 2008"; -fileInfo "version" "2008"; -fileInfo "cutIdentifier" "200708022245-704165"; -fileInfo "osv" "Microsoft Windows XP Service Pack 2 (Build 2600)\n"; -createNode transform -s -n "persp"; - setAttr ".v" no; - setAttr ".t" -type "double3" -0.56341467921671107 10.723027971979135 23.053470331557246 ; - setAttr ".r" -type "double3" -24.938352729602354 -1.3999999999999964 0 ; -createNode camera -s -n "perspShape" -p "persp"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 25.431540639855051; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 100.1 0 ; - setAttr ".r" -type "double3" -89.999999999999986 0 0 ; -createNode camera -s -n "topShape" -p "top"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 100.1 ; -createNode camera -s -n "frontShape" -p "front"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - setAttr ".v" no; - setAttr ".t" -type "double3" 100.1 0 0 ; - setAttr ".r" -type "double3" 0 89.999999999999986 0 ; -createNode camera -s -n "sideShape" -p "side"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 100.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "dRigidBody1"; - setAttr ".t" -type "double3" -0.95629078149795532 4.8076047897338867 0 ; - setAttr ".r" -type "double3" -1.895758319773386e-022 -7.9513867036587919e-016 -2.3696978997167325e-023 ; -createNode dRigidBody -n "dRigidBodyShape1" -p "dRigidBody1"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" -0.95629078 4.8076048 0 ; -createNode transform -n "dRigidBody2"; - setAttr ".t" -type "double3" 0.36419060826301575 4.8076047897338867 0 ; - setAttr ".r" -type "double3" 5.6872749593201579e-022 3.975693351829396e-016 1.9731698772535437e-039 ; -createNode dRigidBody -n "dRigidBodyShape2" -p "dRigidBody2"; - setAttr -k off ".v"; - setAttr ".inpo" -type "float3" 0.36419061 4.8076048 0 ; -createNode transform -n "dSliderConstraint1"; - setAttr ".t" -type "double3" 0 4.4119499147547163 0 ; -createNode dSliderConstraint -n "dSliderConstraintShape1" -p "dSliderConstraint1"; - setAttr -k off ".v"; -createNode transform -n "dRigidBody3"; -createNode dRigidBody -n "dRigidBodyShape3" -p "dRigidBody3"; - setAttr -k off ".v"; - setAttr ".ma" 0; -createNode lightLinker -n "lightLinker1"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode displayLayerManager -n "layerManager"; -createNode displayLayer -n "defaultLayer"; -createNode renderLayerManager -n "renderLayerManager"; -createNode renderLayer -n "defaultRenderLayer"; - setAttr ".g" yes; -createNode dSolver -n "dSolver1"; - setAttr ".grvt" -type "float3" 1.4012985e-045 -9.8100004 0 ; -createNode dCollisionShape -n "dCollisionShape1"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape2"; - setAttr ".tp" 4; -createNode dCollisionShape -n "dCollisionShape3"; - setAttr ".tp" 6; -createNode script -n "uiConfigurationScriptNode"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n" - + " -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n" - + " -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n" - + " -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n" - + " -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n" - + " -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n" - + " -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" - + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n" - + " -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n" - + " -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n" - + " -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n" - + " -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n" - + " -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n" - + " -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" - + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n" - + "\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n" - + " -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n" - + " -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n" - + " -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n" - + " -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nRigids 1\n" - + " -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n" - + " -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n" - + " -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" - + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n" - + " -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" - + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n" - + " -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 0\n" - + " -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n" - + " -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n" - + " -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n" - + " -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n" - + "\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -autoFit 0\n -snapTime \"none\" \n -snapValue \"none\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n" - + "\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperGraphPanel\" -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -zoom 1\n -animateTransition 0\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -iconSize \"smallIcons\" \n -showCachedConnections 0\n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"visorPanel\" -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Texture Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"multiListerPanel\" (localizedPanelLabel(\"Multilister\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"multiListerPanel\" -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Multilister\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"blendShapePanel\" (localizedPanelLabel(\"Blend Shape\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tblendShapePanel -unParent -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tblendShapePanel -edit -l (localizedPanelLabel(\"Blend Shape\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynRelEdPanel\" -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"devicePanel\" (localizedPanelLabel(\"Devices\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\tdevicePanel -unParent -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels ;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tdevicePanel -edit -l (localizedPanelLabel(\"Devices\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"relationshipPanel\" -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"referenceEditorPanel\" -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"componentEditorPanel\" -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dynPaintScriptedPanelType\" -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"webBrowserPanel\" (localizedPanelLabel(\"Web Browser\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"webBrowserPanel\" -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Web Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"wireframe\\\" \\n -activeOnly 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 1\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 8192\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -maxConstantTransparency 1\\n -rendererName \\\"base_OpenGL_Renderer\\\" \\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -shadows 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 1000 -ast 1 -aet 1000 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 2 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :lightList1; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -select -ne :defaultHardwareRenderGlobals; - setAttr ".fn" -type "string" "im"; - setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; -connectAttr "dSolver1.rbds" "dRigidBodyShape1.solv"; -connectAttr "dCollisionShape1.oucs" "dRigidBodyShape1.incs"; -connectAttr "dSolver1.rbds" "dRigidBodyShape2.solv"; -connectAttr "dCollisionShape2.oucs" "dRigidBodyShape2.incs"; -connectAttr "dRigidBodyShape1.msg" "dSliderConstraintShape1.inrbA"; -connectAttr "dRigidBodyShape2.msg" "dSliderConstraintShape1.inrbB"; -connectAttr "dSolver1.rbds" "dRigidBodyShape3.solv"; -connectAttr "dCollisionShape3.oucs" "dRigidBodyShape3.incs"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[0].sllk"; -connectAttr ":initialShadingGroup.msg" "lightLinker1.slnk[0].solk"; -connectAttr ":defaultLightSet.msg" "lightLinker1.slnk[1].sllk"; -connectAttr ":initialParticleSE.msg" "lightLinker1.slnk[1].solk"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr ":time1.o" "dSolver1.it"; -connectAttr "lightLinker1.msg" ":lightList1.ln" -na; -// End of sliderConstraint.ma diff --git a/Extras/MayaPlugin/scripts/AEdCollisionShapeTemplate.mel b/Extras/MayaPlugin/scripts/AEdCollisionShapeTemplate.mel deleted file mode 100644 index 52f4185be..000000000 --- a/Extras/MayaPlugin/scripts/AEdCollisionShapeTemplate.mel +++ /dev/null @@ -1,41 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//AEdCollisionShapeTemplate.mel - -global proc AEdCollisionShapeTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl inShape; - editorTemplate -addControl outCollisionShape; - editorTemplate -addControl type; - editorTemplate -addControl scale; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdHingeConstraintTemplate.mel b/Extras/MayaPlugin/scripts/AEdHingeConstraintTemplate.mel deleted file mode 100644 index 9cf64baff..000000000 --- a/Extras/MayaPlugin/scripts/AEdHingeConstraintTemplate.mel +++ /dev/null @@ -1,59 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//AEdHingeConstraintTemplate.mel - -global proc AEdHingeConstraintTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl damping; - editorTemplate -addControl inRigidBodyA; - editorTemplate -addControl inRigidBodyB; - - editorTemplate -addControl lowerLimit; - editorTemplate -addControl upperLimit; - editorTemplate -addControl limitSoftness; - editorTemplate -addControl biasFactor; - editorTemplate -addControl relaxationFactor; - - separator; - - editorTemplate -addControl rotationInA; - editorTemplate -addControl pivotInA; - editorTemplate -addControl rotationInB; - editorTemplate -addControl pivotInB; - editorTemplate -addControl enableAngularMotor; - editorTemplate -addControl motorTargetVelocity; - editorTemplate -addControl maxMotorImpulse; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdNailConstraintTemplate.mel b/Extras/MayaPlugin/scripts/AEdNailConstraintTemplate.mel deleted file mode 100644 index a518e6188..000000000 --- a/Extras/MayaPlugin/scripts/AEdNailConstraintTemplate.mel +++ /dev/null @@ -1,45 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//AEdNailConstraintTemplate.mel - -global proc AEdNailConstraintTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl damping; - editorTemplate -addControl inRigidBodyA; - editorTemplate -addControl inRigidBodyB; - editorTemplate -addControl pivotInA; - editorTemplate -addControl pivotInB; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdRigidBodyArrayTemplate.mel b/Extras/MayaPlugin/scripts/AEdRigidBodyArrayTemplate.mel deleted file mode 100644 index 3e213a915..000000000 --- a/Extras/MayaPlugin/scripts/AEdRigidBodyArrayTemplate.mel +++ /dev/null @@ -1,89 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//AEdRigidBodyArrayTemplate.mel - -global proc AEdRigidBodyArrayTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl inCollisionShape; - editorTemplate -addControl numBodies; - editorTemplate -addControl active; - editorTemplate -addControl mass; - editorTemplate -addControl restitution; - editorTemplate -addControl friction; - editorTemplate -addControl linearDamping; - editorTemplate -addControl angularDamping; - - editorTemplate -beginLayout "Initial configuration" -collapse 1; - editorTemplate -addControl initialPosition; - editorTemplate -addControl initialRotation; - editorTemplate -addControl initialVelocity; - editorTemplate -addControl initialSpin; - editorTemplate -endLayout; - - editorTemplate -beginLayout "Current configuration" -collapse 1; - editorTemplate -addControl position; - editorTemplate -addControl rotation; - editorTemplate -endLayout; - - editorTemplate -beginLayout "File IO" -collapse 1; - editorTemplate -addControl fileIO; - editorTemplate -addControl files; - editorTemplate -addControl positionAttribute; - editorTemplate -addControl rotationAttribute; - editorTemplate -endLayout; - - editorTemplate -addControl solver; - - editorTemplate -beginLayout (uiRes("m_AElocatorTemplate.kLocatorAttributes")) -collapse 1; - AElocatorCommon $nodeName; - editorTemplate -endLayout; - - { - editorTemplate -suppress "motionBlur"; - editorTemplate -suppress "visibleInReflections"; - editorTemplate -suppress "visibleInRefractions"; - editorTemplate -suppress "maxVisibilitySamplesOverride"; - editorTemplate -suppress "maxVisibilitySamples"; - editorTemplate -suppress "geometryAntialiasingOverride"; - editorTemplate -suppress "antialiasingLevel"; - editorTemplate -suppress "shadingSamplesOverride"; - editorTemplate -suppress "shadingSamples"; - editorTemplate -suppress "maxShadingSamples"; - editorTemplate -suppress "volumeSamplesOverride"; - editorTemplate -suppress "volumeSamples"; - editorTemplate -suppress "depthJitter"; - editorTemplate -suppress "ignoreSelfShadowing"; - editorTemplate -suppress "primaryVisibility"; - editorTemplate -suppress "compInstObjGroups"; - } - - AEshapeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdRigidBodyTemplate.mel b/Extras/MayaPlugin/scripts/AEdRigidBodyTemplate.mel deleted file mode 100644 index b2453ded0..000000000 --- a/Extras/MayaPlugin/scripts/AEdRigidBodyTemplate.mel +++ /dev/null @@ -1,102 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//AEdRigidBodyTemplate.mel - -global proc AEdRigidBodyTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - /* editorTemplate -callCustom - "AEgpufxLCtextureFiles 1" - "AEgpufxLCtextureFiles 0" - "textureFiles"; - editorTemplate -suppress "textureFiles";*/ - - editorTemplate -addControl inCollisionShape; - editorTemplate -addControl active; - editorTemplate -addControl mass; - editorTemplate -addControl restitution; - editorTemplate -addControl friction; - editorTemplate -addControl linearDamping; - editorTemplate -addControl angularDamping; - - editorTemplate -beginLayout "Initial configuration" -collapse 0; - editorTemplate -addControl initialPosition; - editorTemplate -addControl initialRotation; - editorTemplate -addControl initialVelocity; - editorTemplate -addControl initialSpin; - editorTemplate -endLayout; - - editorTemplate -addControl solver; - - editorTemplate -beginLayout (uiRes("m_AElocatorTemplate.kLocatorAttributes")) -collapse 1; - AElocatorCommon $nodeName; - editorTemplate -endLayout; - - { - editorTemplate -suppress "motionBlur"; - editorTemplate -suppress "visibleInReflections"; - editorTemplate -suppress "visibleInRefractions"; - editorTemplate -suppress "maxVisibilitySamplesOverride"; - editorTemplate -suppress "maxVisibilitySamples"; - editorTemplate -suppress "geometryAntialiasingOverride"; - editorTemplate -suppress "antialiasingLevel"; - editorTemplate -suppress "shadingSamplesOverride"; - editorTemplate -suppress "shadingSamples"; - editorTemplate -suppress "maxShadingSamples"; - editorTemplate -suppress "volumeSamplesOverride"; - editorTemplate -suppress "volumeSamples"; - editorTemplate -suppress "depthJitter"; - editorTemplate -suppress "ignoreSelfShadowing"; - editorTemplate -suppress "primaryVisibility"; - editorTemplate -suppress "compInstObjGroups"; - } - - AEshapeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - -/* -global proc AEgpufxLCpdbFiles(int $create, string $node) -{ - if ($create) { - rowLayout -nc 3 -cw 3 57; - { - text -l "Pdb Files"; - textField -ann "Path to the pdb files" pdbFilesTF; - button -l "Reload" -ann "Reload pdb files" reloadPdbFilesB; - setParent ..; - } - } - - connectControl pdbFilesTF $node; - - // use dgdirty if we start using attributeAffects - button -e -c ("string $attr = getAttr(\"" +$node +"\"); setAttr " + $node + " -type \"string\" \"\"; setAttr " + $node + " -type \"string\" $attr;") reloadPdbFilesB; -} - -*/ diff --git a/Extras/MayaPlugin/scripts/AEdSixdofConstraintTemplate.mel b/Extras/MayaPlugin/scripts/AEdSixdofConstraintTemplate.mel deleted file mode 100644 index 3ae04306e..000000000 --- a/Extras/MayaPlugin/scripts/AEdSixdofConstraintTemplate.mel +++ /dev/null @@ -1,54 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//AEdSixdofConstraintTemplate.mel - -global proc AEdSixdofConstraintTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl damping; - editorTemplate -addControl inRigidBodyA; - editorTemplate -addControl inRigidBodyB; - editorTemplate -addControl lowerLinLimit; - editorTemplate -addControl upperLinLimit; - editorTemplate -addControl lowerAngLimit; - editorTemplate -addControl upperAngLimit; - - separator; - - editorTemplate -addControl rotationInA; - editorTemplate -addControl pivotInA; - editorTemplate -addControl rotationInB; - editorTemplate -addControl pivotInB; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdSliderConstraintTemplate.mel b/Extras/MayaPlugin/scripts/AEdSliderConstraintTemplate.mel deleted file mode 100644 index 7013ea4f7..000000000 --- a/Extras/MayaPlugin/scripts/AEdSliderConstraintTemplate.mel +++ /dev/null @@ -1,54 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Herbert Law - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Herbert Law - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//AEdSliderConstraintTemplate.mel - -global proc AEdSliderConstraintTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl damping; - editorTemplate -addControl inRigidBodyA; - editorTemplate -addControl inRigidBodyB; - editorTemplate -addControl lowerLinLimit; - editorTemplate -addControl upperLinLimit; - editorTemplate -addControl lowerAngLimit; - editorTemplate -addControl upperAngLimit; - - separator; - - editorTemplate -addControl rotationInA; - editorTemplate -addControl pivotInA; - editorTemplate -addControl rotationInB; - editorTemplate -addControl pivotInB; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/AEdSolverTemplate.mel b/Extras/MayaPlugin/scripts/AEdSolverTemplate.mel deleted file mode 100644 index b783f5e21..000000000 --- a/Extras/MayaPlugin/scripts/AEdSolverTemplate.mel +++ /dev/null @@ -1,65 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//AEdSolverTemplate.mel - -global proc AEdSolverTemplate( string $nodeName ) -{ - - editorTemplate -beginScrollLayout; - - editorTemplate -addControl ssSolverType; - - editorTemplate -addControl gravity; - - editorTemplate -addControl substeps; - - editorTemplate -addControl enabled; - - editorTemplate -addControl splitImpulse; - - editorTemplate -addControl startTime; - - editorTemplate -addControl rigidBodies; - - editorTemplate -addControl drawWireframe; - editorTemplate -addControl drawAabb; - editorTemplate -addControl drawFeaturesText; - editorTemplate -addControl drawContactPoints; - editorTemplate -addControl noDeactivation; - editorTemplate -addControl noHelpText; - editorTemplate -addControl drawText; - editorTemplate -addControl profileTimings; - editorTemplate -addControl enableSatComparison; - editorTemplate -addControl disableBulletLCP; - editorTemplate -addControl enableCCD; - editorTemplate -addControl drawConstraints; - editorTemplate -addControl drawConstraintLimits; - editorTemplate -addControl fastWireframe; - - AEdependNodeTemplate $nodeName; - - editorTemplate -addExtraControls; - editorTemplate -endScrollLayout; - -} - diff --git a/Extras/MayaPlugin/scripts/dynamica.mel b/Extras/MayaPlugin/scripts/dynamica.mel deleted file mode 100644 index 226805ceb..000000000 --- a/Extras/MayaPlugin/scripts/dynamica.mel +++ /dev/null @@ -1,23 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//dynamica.mel diff --git a/Extras/MayaPlugin/scripts/dynamicaUI.mel b/Extras/MayaPlugin/scripts/dynamicaUI.mel deleted file mode 100644 index 71ea447fa..000000000 --- a/Extras/MayaPlugin/scripts/dynamicaUI.mel +++ /dev/null @@ -1,988 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//dynamicaUI.mel - -// -global string $dynamicaUIWindow = "dynamicaUIWindow"; - - -global proc dynamicaUI_initialize() -{ - dynamicaUI_createShelfButton(); - - //add script jobs -// scriptJob -e "SceneOpened" gpufxGUI_updateSettings; -// scriptJob -e "timeChanged" "dynamicaUI_timeChangedCallback"; -// scriptJob -cc "playingBack" "dynamicaUI_playingBackCallback"; -// expression -string "dynamicaUI_timeChangedCallback"; - -} - -//main window -global proc dynamicaUI_createWindow() -{ - global string $dynamicaUIWindow; - - //check if the window exists - if ( `window -ex $dynamicaUIWindow` ) - { - showWindow $dynamicaUIWindow; - return; - } - - //create dSolver node if necessary - dSolver; - - $dynamicaUIWindow = `window -t "dynamica"`; - - string $mainForm = `formLayout`; - string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5`; - - formLayout -e - -attachForm $tabs "top" 0 - -attachForm $tabs "left" 0 - -attachForm $tabs "bottom" 0 - -attachForm $tabs "right" 0 - $mainForm; - - - string $mainLayt = dynamicaUI_createMainTab(); - string $solverLayt = dynamicaUI_createSolverTab(); - - tabLayout -e -tabLabel $mainLayt "Create" -tabLabel $solverLayt "Solver" $tabs; - - showWindow $dynamicaUIWindow; - // window -e -wh 479 664 $dynamicaUIWindow; - -} - -global proc dynamicaUI_createShelfButton() -{ - // The shelf we want to add the button to. - string $shelf = "EfxToolsLumiere"; - - // The icon we want to use on the button. - string $iconImage = "dynamica.xpm"; - - // Tle button label. - string $iconBtnLabel = "dynamica"; - - // Specify the shelf as the parent for our tool button. If there - // is no such shelf, we create it. - // - string $btnParent; - if ( `shelfLayout -ex $shelf` ) - { - $btnParent = $shelf; - - // Check to see if the shelf already has the gpufx button. If so, - // we want to delete it before we remake it so we don't end up with - // duplicate buttons on the shelf. - - string $existingShelfButtons[] = `shelfLayout -q -ca $shelf`; - for ( $btn in $existingShelfButtons ) - if ( `shelfButton -q -l $btn` == $iconBtnLabel ) - deleteUI $btn; - } else { - // Create the shelf under the global shelf parent. - global string $gShelfTopLevel; - $btnParent = `shelfLayout -p $gShelfTopLevel $shelf`; - } - - // Make (or remake) the tool button. - shelfButton -label $iconBtnLabel -image1 $iconImage - -command "dynamicaUI_createWindow" -p $btnParent; - -} - -global proc string dynamicaUI_createSolverTab() -{ - global string $dynamicaUI_STsolverType; - global string $dynamicaUI_STgravityX; - global string $dynamicaUI_STgravityY; - global string $dynamicaUI_STgravityZ; - global string $dynamicaUI_STenabled; - global string $dynamicaUI_STsplitImpulse; - global string $dynamicaUI_STsubsteps; - - string $mainForm = `columnLayout -adj 1`; - { - string $solverTypeFrame = `frameLayout -collapsable false -label "Solver Type" -borderStyle "etchedIn"`; - { - rowLayout -nc 1 -adj 1 -cat 1 "left" 30; - { - int $solverType = `getAttr dSolver1.ssSolverType` + 1; // 1-based - $dynamicaUI_STsolverType = `textScrollList -append "Bullet Physics" -append "Ageia PhysX" -append "Stanford PhysBAM" - -selectIndexedItem $solverType - -numberOfRows 1 - -sc dynamicaUI_STSolverTypeChanged`; - setParent ..; - } - setParent ..; - } - string $gravityFrame = `frameLayout -collapsable false -label "Gravity" -borderStyle "etchedIn"`; - { - rowLayout -nc 3 -cat 1 "both" 0 -cat 2 "both" 0 -cat 3 "both" 0 -cw3 50 50 50; - { - float $gravity[] = `getAttr dSolver1.gravity`; - $dynamicaUI_STgravityX = `floatField -precision 3 -value $gravity[0] -changeCommand dynamicaUI_STgravityChanged`; - $dynamicaUI_STgravityY = `floatField -precision 3 -value $gravity[1] -changeCommand dynamicaUI_STgravityChanged`; - $dynamicaUI_STgravityZ = `floatField -precision 3 -value $gravity[2] -changeCommand dynamicaUI_STgravityChanged`; - - setParent ..; - } - setParent ..; - } - string $substepsFrame = `frameLayout -collapsable false -label "Substeps" -borderStyle "etchedIn"`; - { - rowLayout -nc 1 -cat 1 "both" 0 -cw1 50; - { - int $substeps = `getAttr dSolver1.substeps`; - $dynamicaUI_STsubsteps = `intField -value $substeps -changeCommand dynamicaUI_STsubstepsChanged`; - - setParent ..; - } - setParent ..; - } - string $enabledFrame = `frameLayout -collapsable false -label "Solver State" -borderStyle "etchedIn"`; - { - rowLayout -nc 1 -adj 1 -cat 1 "left" 30; - { - int $enabled = `getAttr dSolver1.enabled`; - $dynamicaUI_STenabled = `checkBox -label "Enabled" -value $enabled - -cc dynamicaUI_STenabledChanged`; - setParent ..; - } - setParent ..; - } - string $splitImpulseFrame = `frameLayout -collapsable false -label "SplitImpulse" -borderStyle "etchedIn"`; - { - rowLayout -nc 1 -adj 1 -cat 1 "left" 30; - { - int $enabled = `getAttr dSolver1.splitImpulse`; - $dynamicaUI_STsplitImpulse = `checkBox -label "Enabled" -value $enabled - -cc dynamicaUI_STsplitImpulseChanged`; - setParent ..; - } - setParent ..; - } - setParent ..; - } - - return $mainForm; -} - -global proc string dynamicaUI_createMainTab() -{ - string $mainForm = `columnLayout -adj 1`; - { - frameLayout -collapsable true -label "Active Rigid Bodies" -borderStyle "in"; - { - rowLayout -nc 5; - { - string $createActiveSphereRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Sphere" - -width 100 -image1 "dynamicaCreateActiveSphereRB.xpm" -c ("dynamicaUI_createActiveSphereRB") - -ann "Create an active sphere rigid body"`; - - string $createActiveBoxRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Box" - -width 100 -image1 "dynamicaCreateActiveBoxRB.xpm" -c ("dynamicaUI_createActiveBoxRB") - -ann "Create an active box rigid body"`; - - string $createActivePlaneRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Plane" - -width 100 -image1 "dynamicaCreateActivePlaneRB.xpm" -c ("dynamicaUI_createActivePlaneRB") - -ann "Create an active plane rigid body"`; - - string $createActiveHullRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Hull" - -width 100 -image1 "dynamicaCreateActiveHullRB.xpm" -c ("dynamicaUI_createActiveHullRB") - -ann "Create an active hull rigid body"`; - - string $createActiveMeshRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Mesh" - -width 100 -image1 "dynamicaCreateActiveMeshRB.xpm" -c ("dynamicaUI_createActiveMeshRB") - -ann "Create an active mesh rigid body"`; - - setParent ..; - } - setParent ..; - } - - frameLayout -collapsable true -label "Passive Rigid Bodies" -borderStyle "in"; - { - rowLayout -nc 5; - { - string $createPassiveSphereRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Sphere" - -width 100 -image1 "dynamicaCreatePassiveSphereRB.xpm" -c ("dynamicaUI_createPassiveSphereRB") - -ann "Create an passive sphere rigid body"`; - - string $createPassiveBoxRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Box" - -width 100 -image1 "dynamicaCreatePassiveBoxRB.xpm" -c ("dynamicaUI_createPassiveBoxRB") - -ann "Create an passive box rigid body"`; - - string $createPassivePlaneRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Plane" - -width 100 -image1 "dynamicaCreatePassivePlaneRB.xpm" -c ("dynamicaUI_createPassivePlaneRB") - -ann "Create an passive plane rigid body"`; - - string $createPassiveHullRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Hull" - -width 100 -image1 "dynamicaCreatePassiveHullRB.xpm" -c ("dynamicaUI_createPassiveHullRB") - -ann "Create an passive hull rigid body"`; - - string $createPassiveMeshRBBtn = `iconTextButton -style "iconAndTextVertical" -label "Mesh" - -width 100 -image1 "dynamicaCreatePassiveMeshRB.xpm" -c ("dynamicaUI_createPassiveMeshRB") - -ann "Create an passive mesh rigid body"`; - - setParent ..; - } - setParent ..; - } - - - frameLayout -collapsable true -label "Active Rigid Body Arrays" -borderStyle "in"; - { - rowLayout -nc 5; - { - string $createActiveSphereRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Sphere" - -width 100 -image1 "dynamicaCreateActiveSphereRBArray.xpm" -c ("dynamicaUI_createActiveSphereRBArray") - -ann "Create an active sphere rigid body array"`; - - string $createActiveBoxRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Box" - -width 100 -image1 "dynamicaCreateActiveBoxRBArray.xpm" -c ("dynamicaUI_createActiveBoxRBArray") - -ann "Create an active box rigid body array"`; - - string $createActivePlaneRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Plane" - -width 100 -image1 "dynamicaCreateActivePlaneRBArray.xpm" -c ("dynamicaUI_createActivePlaneRBArray") - -ann "Create an active plane rigid body array"`; - - string $createActiveHullRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Hull" - -width 100 -image1 "dynamicaCreateActiveHullRBArray.xpm" -c ("dynamicaUI_createActiveHullRBArray") - -ann "Create an active hull rigid body array"`; - - string $createActiveMeshRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Mesh" - -width 100 -image1 "dynamicaCreateActiveMeshRBArray.xpm" -c ("dynamicaUI_createActiveMeshRBArray") - -ann "Create an active mesh rigid body array"`; - - setParent ..; - } - setParent ..; - } - - frameLayout -collapsable true -label "Passive Rigid Body Arrays" -borderStyle "in"; - { - rowLayout -nc 5; - { - string $createPassiveSphereRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Sphere" - -width 100 -image1 "dynamicaCreatePassiveSphereRBArray.xpm" -c ("dynamicaUI_createPassiveSphereRBArray") - -ann "Create an passive sphere rigid body array"`; - - string $createPassiveBoxRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Box" - -width 100 -image1 "dynamicaCreatePassiveBoxRBArray.xpm" -c ("dynamicaUI_createPassiveBoxRBArray") - -ann "Create an passive box rigid body array"`; - - string $createPassivePlaneRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Plane" - -width 100 -image1 "dynamicaCreatePassivePlaneRBArray.xpm" -c ("dynamicaUI_createPassivePlaneRBArray") - -ann "Create an passive plane rigid body array"`; - - string $createPassiveHullRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Hull" - -width 100 -image1 "dynamicaCreatePassiveHullRBArray.xpm" -c ("dynamicaUI_createPassiveHullRBArray") - -ann "Create an passive hull rigid body array"`; - - string $createPassiveMeshRBArrayBtn = `iconTextButton -style "iconAndTextVertical" -label "Mesh" - -width 100 -image1 "dynamicaCreatePassiveMeshRBArray.xpm" -c ("dynamicaUI_createPassiveMeshRBArray") - -ann "Create an passive mesh rigid body array"`; - - setParent ..; - } - setParent ..; - } - - frameLayout -collapsable true -label "Constraints" -borderStyle "in"; - { - rowLayout -nc 5; - { - string $createNailConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "Nail" - -width 100 -image1 "dynamicaCreateNailConstraint.xpm" -c ("dynamicaUI_createNailConstraint") - -ann "Create a nail constraint"`; - string $createHingeConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "Hinge" - -width 100 -image1 "dynamicaCreateHingeConstraint.xpm" -c ("dynamicaUI_createHingeConstraint") - -ann "Create a hinge constraint"`; - string $createSliderConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "Slider" - -width 100 -image1 "dynamicaCreateSliderConstraint.xpm" -c ("dynamicaUI_createSliderConstraint") - -ann "Create a slider constraint"`; -/* string $createConeTwistConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "ConeTwist" - -width 100 -image1 "dynamicaCreateConeTwistConstraint.xpm" -c ("dynamicaUI_createConeTwistConstraint") - -ann "Create a conetwist constraint"`; -*/ string $create6DofConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "6Dof" - -width 100 -image1 "dynamicaCreate6DofConstraint.xpm" -c ("dynamicaUI_create6DofConstraint") - -ann "Create a 6dof constraint"`; - - - - setParent ..; - } - setParent ..; - } - - setParent ..; - } - return $mainForm; -} - -global proc dynamicaUI_STSolverTypeChanged() -{ - //create dSolver node if necessary - dSolver; - - global string $dynamicaUI_STsolverType; - int $type[] = `textScrollList -q -selectIndexedItem $dynamicaUI_STsolverType`; - $type[0] = $type[0] -1; //1-based - setAttr dSolver1.ssSolverType $type[0]; -} - -global proc dynamicaUI_STgravityChanged() -{ - //create dSolver node if necessary - dSolver; - - global string $dynamicaUI_STgravityX; - global string $dynamicaUI_STgravityY; - global string $dynamicaUI_STgravityZ; - - float $gx = `floatField -query -value $dynamicaUI_STgravityX`; - float $gy = `floatField -query -value $dynamicaUI_STgravityY`; - float $gz = `floatField -query -value $dynamicaUI_STgravityZ`; - - setAttr dSolver1.gravity -type double3 $gx $gy $gz; - -} - -global proc dynamicaUI_STenabledChanged() -{ - //create dSolver node if necessary - dSolver; - - global string $dynamicaUI_STenabled; - - int $enabled = `checkBox -query -value $dynamicaUI_STenabled`; - - setAttr dSolver1.enabled $enabled; - -} - -global proc dynamicaUI_STsplitImpulseChanged() -{ - //create dSolver node if necessary - dSolver; - - global string $dynamicaUI_STsplitImpulse; - - int $enabled = `checkBox -query -value $dynamicaUI_STsplitImpulse`; - - setAttr dSolver1.splitImpulse $enabled; - -} - -global proc dynamicaUI_STsubstepsChanged() -{ - //create dSolver node if necessary - dSolver; - - global string $dynamicaUI_STsubsteps; - - int $substeps = `intField -query -value $dynamicaUI_STsubsteps`; - - setAttr dSolver1.substeps $substeps; - -} - -proc dynamicaUI_createRigidBody(int $activebody, int $collisionShapeType) -{ - float $mass = 1; - - if($activebody == false) - { - $mass = 0; - } - - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - - //create dSolver node if necessary - dSolver; - - string $newBodies[]; - int $makeCollisionShape; - - //pick the selected object's transform only if we are creating a hull or a mesh - if($collisionShapeType == 0 || $collisionShapeType == 1) { - - for($i = 0; $i < size($selection) / 2; $i++) - { - $makeCollisionShape = 1; - string $connectedCollisionShapes[] = `listConnections -s true -t dCollisionShape $selection[$i * 2]`; - if(size($connectedCollisionShapes) > 0) - { - $makeCollisionShape = 0; - } - string $shapeTransforms[] = `listRelatives -parent $selection[$i * 2]`; - if($makeCollisionShape) - { - string $rigidBodyNode = `dRigidBody`; - string $collisionShapeNode = `createNode dCollisionShape`; - connectAttr ($collisionShapeNode + ".outCollisionShape") ($rigidBodyNode + ".inCollisionShape"); - string $rigidBodyTransforms[] = `listRelatives -parent $rigidBodyNode`; - - if($selection[$i * 2 + 1] == "mesh") { - connectAttr ($selection[$i * 2] + ".message") ($collisionShapeNode + ".inShape"); - hide $shapeTransforms[0]; - } - setAttr ($rigidBodyNode + ".mass" ) $mass; - setAttr ($collisionShapeNode + ".type" ) $collisionShapeType; - - float $rot[]= `getAttr ($shapeTransforms[0] + ".rotate")`; - float $wmatr[]= `getAttr ($shapeTransforms[0] + ".worldMatrix")`; - // float $pos[]= `getAttr ($shapeTransforms[0] + ".translate")`; - // We need to take into account offset of the pivot point - // so get the final translation directly from world matrix - // also get existing scale - // note that this may not work if scaling coordinate system differs from object's coordinate system - // Bullet does not support that yet - float $pos[]; - $pos[0] = $wmatr[12]; - $pos[1] = $wmatr[13]; - $pos[2] = $wmatr[14]; - float $scale[] = `getAttr ($shapeTransforms[0] + ".scale")`; - - setAttr ($rigidBodyTransforms[0] + ".translate") -type double3 $pos[0] $pos[1] $pos[2]; - setAttr ($rigidBodyNode + ".initialPosition") -type double3 $pos[0] $pos[1] $pos[2]; - - setAttr ($rigidBodyTransforms[0] + ".rotate") -type double3 $rot[0] $rot[1] $rot[2]; - setAttr ($rigidBodyNode + ".initialRotation") -type double3 $rot[0] $rot[1] $rot[2]; - - setAttr ($rigidBodyTransforms[0] + ".scale") -type double3 $scale[0] $scale[1] $scale[2]; - setAttr ($collisionShapeNode + ".scale" ) -type double3 $scale[0] $scale[1] $scale[2]; - - $newBodies[$i] = $rigidBodyTransforms[0]; - } - else - { - print("Warning : Object " + $shapeTransforms[0] + " already is a rigid body\n"); - $newBodies[$i] = $shapeTransforms[0]; - } - } - } else { - string $rigidBodyNode = `dRigidBody`; - string $collisionShapeNode = `createNode dCollisionShape`; - connectAttr ($collisionShapeNode + ".outCollisionShape") ($rigidBodyNode + ".inCollisionShape"); - string $rigidBodyTransforms[] = `listRelatives -parent $rigidBodyNode`; - - setAttr ($rigidBodyNode + ".mass" ) $mass; - setAttr ($collisionShapeNode + ".type" ) $collisionShapeType; - $newBodies[0] = $rigidBodyTransforms[0]; - } - - select -r $newBodies; -} - -global proc dynamicaUI_createArrayUIdismissCB(string $button) -{ - global string $dynamicaUI_createArrayUI_sizeCT; - global string $dynamicaUI_createArrayUI_offsetCT; - - global int $dynamicaUI_createArrayUI_size[]; - global float $dynamicaUI_createArrayUI_offset[]; - - $dynamicaUI_createArrayUI_size = `intFieldGrp -query -value $dynamicaUI_createArrayUI_sizeCT`; - $dynamicaUI_createArrayUI_offset = `floatFieldGrp -query -value $dynamicaUI_createArrayUI_offsetCT`; - layoutDialog -dismiss $button; -} - -global proc dynamicaUI_createArrayUI() -{ - global string $dynamicaUI_createArrayUI_sizeCT; - global string $dynamicaUI_createArrayUI_offsetCT; - - // Get the dialog's formLayout. - string $form = `setParent -q`; - - // layoutDialog's are not resizable, so hard code a size here, - // to make sure all UI elements are visible. - formLayout -e -width 350 $form; - - string $b1 = `button -l "OK" -c "dynamicaUI_createArrayUIdismissCB(\"OK\")"`; - string $b2 = `button -l "Cancel"-c "dynamicaUI_createArrayUIdismissCB(\"Cancel\")"`; - - $dynamicaUI_createArrayUI_sizeCT = `intFieldGrp -columnAlign 1 "left" -adj 1 -numberOfFields 3 -label "Array Size" -v1 1 -v2 1 -v3 1`; - $dynamicaUI_createArrayUI_offsetCT = `floatFieldGrp -columnAlign 1 "left" -adj 1 -numberOfFields 3 -label "Array Offset" -v1 2.0 -v2 2.0 -v3 2.0`; - - formLayout -edit - -attachForm $dynamicaUI_createArrayUI_sizeCT "top" 5 - -attachForm $dynamicaUI_createArrayUI_sizeCT "left" 5 - -attachNone $dynamicaUI_createArrayUI_sizeCT "bottom" - -attachForm $dynamicaUI_createArrayUI_sizeCT "right" 5 - - -attachControl $dynamicaUI_createArrayUI_offsetCT "top" 5 $dynamicaUI_createArrayUI_sizeCT - -attachForm $dynamicaUI_createArrayUI_offsetCT "left" 5 - -attachNone $dynamicaUI_createArrayUI_offsetCT "bottom" - -attachForm $dynamicaUI_createArrayUI_offsetCT "right" 5 - - -attachControl $b1 "top" 5 $dynamicaUI_createArrayUI_offsetCT - -attachForm $b1 "left" 5 - -attachNone $b1 "bottom" - -attachPosition $b1 "right" 5 33 - - -attachControl $b2 "top" 5 $dynamicaUI_createArrayUI_offsetCT - -attachPosition $b2 "left" 5 33 - -attachNone $b2 "bottom" - -attachPosition $b2 "right" 5 66 - - $form; -} - -global proc dynamicaUI_createActiveRigidBody() -{ - dynamicaUI_createRigidBody(true, 0); -} - -global proc dynamicaUI_createPassiveRigidBody() -{ - dynamicaUI_createRigidBody(false, 0); -} - -global proc dynamicaUI_createActiveSphereRB() -{ - dynamicaUI_createRigidBody(true, 5); -} - -global proc dynamicaUI_createActiveBoxRB() -{ - dynamicaUI_createRigidBody(true, 4); -} - -global proc dynamicaUI_createActivePlaneRB() -{ - dynamicaUI_createRigidBody(true, 6); -} - -global proc dynamicaUI_createActiveHullRB() -{ - dynamicaUI_createRigidBody(true, 0); -} - -global proc dynamicaUI_createActiveMeshRB() -{ - dynamicaUI_createRigidBody(true, 1); -} - -global proc dynamicaUI_createPassiveSphereRB() -{ - dynamicaUI_createRigidBody(false, 5); -} - -global proc dynamicaUI_createPassiveBoxRB() -{ - dynamicaUI_createRigidBody(false, 4); -} - -global proc dynamicaUI_createPassivePlaneRB() -{ - dynamicaUI_createRigidBody(false, 6); -} - -global proc dynamicaUI_createPassiveHullRB() -{ - dynamicaUI_createRigidBody(false, 0); -} - -global proc dynamicaUI_createPassiveMeshRB() -{ - dynamicaUI_createRigidBody(false, 1); -} - -proc dynamicaUI_createRigidBodyArray(int $activebody, int $collisionShapeType) -{ - float $mass = 1; - - if ($activebody == false) - { - $mass = 0; - } - - global int $dynamicaUI_createArrayUI_size[]; - global float $dynamicaUI_createArrayUI_offset[]; - - if(`layoutDialog -title "Create Rigid Body Array" -ui "dynamicaUI_createArrayUI"` == "OK") { - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - - //create dSolver node if necessary - dSolver; - - string $rigidBodyArrayNode = `dRigidBodyArray`; - string $collisionShapeNode = `createNode dCollisionShape`; - connectAttr ($collisionShapeNode + ".outCollisionShape") ($rigidBodyArrayNode + ".inCollisionShape"); - string $rigidBodyTransforms[] = `listRelatives -parent $rigidBodyArrayNode`; - - if(size($selection) != 0) { - string $shapeTransforms[] = `listRelatives -parent $selection[0]`; - if($selection[1] == "mesh") { - connectAttr ($selection[0] + ".message") ($collisionShapeNode + ".inShape"); - hide $shapeTransforms[0]; - } - } - - setAttr ($rigidBodyArrayNode + ".mass" ) $mass; - setAttr ($collisionShapeNode + ".type" ) $collisionShapeType; - - select -r $rigidBodyTransforms[0]; - - int $size[]= $dynamicaUI_createArrayUI_size; - float $off[]= $dynamicaUI_createArrayUI_offset; - float $x0[]; - $x0[0] = -0.5 * $size[0] * $off[0]; - $x0[1] = -0.5 * $size[1] * $off[1]; - $x0[2] = -0.5 * $size[2] * $off[2]; - setAttr ($rigidBodyArrayNode + ".numBodies") ($size[0] * $size[1] * $size[2]); - for($i = 0; $i < $size[0]; $i++) { - for($j = 0; $j < $size[1]; $j++) { - for($k = 0; $k < $size[2]; $k++) { - setAttr ($rigidBodyArrayNode + ".initialPosition[" + string($i + $size[0] * $j + $size[0] * $size[1] * $k) + "]") ($x0[0] + $i * $off[0]) ($x0[1] + $j * $off[1]) ($x0[2] + $k * $off[2]); - } - } - } - } -} - -global proc dynamicaUI_createActiveSphereRBArray() -{ - dynamicaUI_createRigidBodyArray(true, 5); -} - -global proc dynamicaUI_createActiveBoxRBArray() -{ - dynamicaUI_createRigidBodyArray(true, 4); -} - -global proc dynamicaUI_createActivePlaneRBArray() -{ - dynamicaUI_createRigidBodyArray(true, 6); -} - -global proc dynamicaUI_createActiveHullRBArray() -{ - dynamicaUI_createRigidBodyArray(true, 0); -} - -global proc dynamicaUI_createActiveMeshRBArray() -{ - dynamicaUI_createRigidBodyArray(true, 1); -} - -global proc dynamicaUI_createPassiveSphereRBArray() -{ - dynamicaUI_createRigidBodyArray(false, 5); -} - -global proc dynamicaUI_createPassiveBoxRBArray() -{ - dynamicaUI_createRigidBodyArray(false, 4); -} - -global proc dynamicaUI_createPassivePlaneRBArray() -{ - dynamicaUI_createRigidBodyArray(false, 6); -} - -global proc dynamicaUI_createPassiveHullRBArray() -{ - dynamicaUI_createRigidBodyArray(false, 0); -} - -global proc dynamicaUI_createPassiveMeshRBArray() -{ - dynamicaUI_createRigidBodyArray(false, 1); -} - - -global proc float[] dynamicaUI_worldToObj(float $pointW[], float $objToWorldMatrix[]) -{ - float $result[]; - $result[0] = 0.0; - $result[1] = 0.0; - $result[2] = 0.0; - float $offs[]; - if ( size($pointW) != 3 || size($objToWorldMatrix) != 16 ) - { - warning("Point must be an array of 3 doubles and matrix must be an array of 16 doubles."); - return $result; - } - for($i = 0; $i < 3; $i++) - { - $offs[$i] = $pointW[$i] - $objToWorldMatrix[12 + $i]; - } - for($i = 0; $i < 3; $i++) - { - for($j = 0; $j < 3; $j++) - { - $result[$i] += $objToWorldMatrix[$i * 4 + $j] * $offs[$j]; - } - } - return $result; -} - -global proc dynamicaUI_createNailConstraint() -{ - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - //create dSolver node if necessary - dSolver; - // check selection in scene : one or two rigidBodies should be selected - int $selSize = size($selection); - int $selOK = (($selSize == 2) || ($selSize == 4)); - for($i = 0; $i < $selSize/2; $i++) - { - if($selection[$i * 2 + 1] != "dRigidBody") - { - $selOK = 0; - } - } - if(!$selOK) - { - error("Select one or two bodies to create a nail constraint"); - return; - } - // create nail constraint node - string $constraintNode = `dNailConstraint`; - string $constraintTransforms[] = `listRelatives -parent $constraintNode`; - string $newConstraintTransf = $constraintTransforms[0]; - // connect to bodies - if($selSize == 2) - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - string $rbTransform[] = `listRelatives -parent $selection[0]`; - float $posA[3] = `getAttr ($rbTransform[0] + ".translate")`; - float $iWorldA[16] = `getAttr ($rbTransform[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($posA, $iWorldA); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $posA[0] $posA[1] $posA[2]; - } - else - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - connectAttr ($selection[2] + ".message") ($constraintNode + ".inRigidBodyB"); - string $rbTransformA[] = `listRelatives -parent $selection[0]`; - string $rbTransformB[] = `listRelatives -parent $selection[2]`; - float $posA[] = `getAttr ($rbTransformA[0] + ".translate")`; - float $posB[] = `getAttr ($rbTransformB[2] + ".translate")`; - float $pivW[3]; - for($k=0; $k < 3; $k++) $pivW[$k] = $posA[$k]; - float $iWorldA[16] = `getAttr ($rbTransformA[0] + ".worldMatrix")`; - float $iWorldB[16] = `getAttr ($rbTransformB[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($pivW, $iWorldA); - float $pivB[] = dynamicaUI_worldToObj($pivW, $iWorldB); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($constraintNode + ".pivotInB") -type float3 $pivB[0] $pivB[1] $pivB[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $pivW[0] $pivW[1] $pivW[2]; - } - select -r $newConstraintTransf; -} - -global proc dynamicaUI_createHingeConstraint() -{ - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - //create dSolver node if necessary - dSolver; - // check selection in scene : one or two rigidBodies should be selected - int $selSize = size($selection); - int $selOK = (($selSize == 2) || ($selSize == 4)); - for($i = 0; $i < $selSize/2; $i++) - { - if($selection[$i * 2 + 1] != "dRigidBody") - { - $selOK = 0; - } - } - if(!$selOK) - { - error("Select one or two bodies to create a hinge constraint"); - return; - } - // create hinge constraint node - string $constraintNode = `dHingeConstraint`; - string $constraintTransforms[] = `listRelatives -parent $constraintNode`; - string $newConstraintTransf = $constraintTransforms[0]; - // connect to bodies - if($selSize == 2) - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - string $rbTransform[] = `listRelatives -parent $selection[0]`; - float $posA[3] = `getAttr ($rbTransform[0] + ".translate")`; - float $iWorldA[16] = `getAttr ($rbTransform[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($posA, $iWorldA); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $posA[0] $posA[1] $posA[2]; - } - else - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - connectAttr ($selection[2] + ".message") ($constraintNode + ".inRigidBodyB"); - string $rbTransformA[] = `listRelatives -parent $selection[0]`; - string $rbTransformB[] = `listRelatives -parent $selection[2]`; - float $posA[] = `getAttr ($rbTransformA[0] + ".translate")`; - float $posB[] = `getAttr ($rbTransformB[2] + ".translate")`; - float $pivW[3]; - for($k=0; $k < 3; $k++) $pivW[$k] = $posA[$k]; - float $iWorldA[16] = `getAttr ($rbTransformA[0] + ".worldMatrix")`; - float $iWorldB[16] = `getAttr ($rbTransformB[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($pivW, $iWorldA); - float $pivB[] = dynamicaUI_worldToObj($pivW, $iWorldB); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($constraintNode + ".pivotInB") -type float3 $pivB[0] $pivB[1] $pivB[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $pivW[0] $pivW[1] $pivW[2]; - } - select -r $newConstraintTransf; -} - -global proc dynamicaUI_createSliderConstraint() -{ - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - //create dSolver node if necessary - dSolver; - // check selection in scene : one or two rigidBodies should be selected - int $selSize = size($selection); - int $selOK = (($selSize == 2) || ($selSize == 4)); - for($i = 0; $i < $selSize/2; $i++) - { - if($selection[$i * 2 + 1] != "dRigidBody") - { - $selOK = 0; - } - } - if(!$selOK) - { - error("Select one or two bodies to create a slider constraint"); - return; - } - // create slider constraint node - string $constraintNode = `dSliderConstraint`; - string $constraintTransforms[] = `listRelatives -parent $constraintNode`; - string $newConstraintTransf = $constraintTransforms[0]; - // connect to bodies - if($selSize == 2) - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - string $rbTransform[] = `listRelatives -parent $selection[0]`; - float $posA[3] = `getAttr ($rbTransform[0] + ".translate")`; - float $iWorldA[16] = `getAttr ($rbTransform[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($posA, $iWorldA); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $posA[0] $posA[1] $posA[2]; - } - else - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - connectAttr ($selection[2] + ".message") ($constraintNode + ".inRigidBodyB"); - string $rbTransformA[] = `listRelatives -parent $selection[0]`; - string $rbTransformB[] = `listRelatives -parent $selection[2]`; - float $posA[] = `getAttr ($rbTransformA[0] + ".translate")`; - float $posB[] = `getAttr ($rbTransformB[2] + ".translate")`; - float $pivW[3]; - for($k=0; $k < 3; $k++) $pivW[$k] = $posA[$k]; - float $iWorldA[16] = `getAttr ($rbTransformA[0] + ".worldMatrix")`; - float $iWorldB[16] = `getAttr ($rbTransformB[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($pivW, $iWorldA); - float $pivB[] = dynamicaUI_worldToObj($pivW, $iWorldB); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($constraintNode + ".pivotInB") -type float3 $pivB[0] $pivB[1] $pivB[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $pivW[0] $pivW[1] $pivW[2]; - } - select -r $newConstraintTransf; -} - -global proc dynamicaUI_create6DofConstraint() -{ - string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`; - //create dSolver node if necessary - dSolver; - // check selection in scene : one or two rigidBodies should be selected - int $selSize = size($selection); - int $selOK = (($selSize == 2) || ($selSize == 4)); - for($i = 0; $i < $selSize/2; $i++) - { - if($selection[$i * 2 + 1] != "dRigidBody") - { - $selOK = 0; - } - } - if(!$selOK) - { - error("Select one or two bodies to create a slider constraint"); - return; - } - // create slider constraint node - string $constraintNode = `dSixdofConstraint`; - string $constraintTransforms[] = `listRelatives -parent $constraintNode`; - string $newConstraintTransf = $constraintTransforms[0]; - // connect to bodies - if($selSize == 2) - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - string $rbTransform[] = `listRelatives -parent $selection[0]`; - float $posA[3] = `getAttr ($rbTransform[0] + ".translate")`; - float $iWorldA[16] = `getAttr ($rbTransform[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($posA, $iWorldA); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $posA[0] $posA[1] $posA[2]; - } - else - { - connectAttr ($selection[0] + ".message") ($constraintNode + ".inRigidBodyA"); - connectAttr ($selection[2] + ".message") ($constraintNode + ".inRigidBodyB"); - string $rbTransformA[] = `listRelatives -parent $selection[0]`; - string $rbTransformB[] = `listRelatives -parent $selection[2]`; - float $posA[] = `getAttr ($rbTransformA[0] + ".translate")`; - float $posB[] = `getAttr ($rbTransformB[2] + ".translate")`; - float $pivW[3]; - for($k=0; $k < 3; $k++) $pivW[$k] = $posA[$k]; - float $iWorldA[16] = `getAttr ($rbTransformA[0] + ".worldMatrix")`; - float $iWorldB[16] = `getAttr ($rbTransformB[0] + ".worldMatrix")`; - float $pivA[] = dynamicaUI_worldToObj($pivW, $iWorldA); - float $pivB[] = dynamicaUI_worldToObj($pivW, $iWorldB); - setAttr ($constraintNode + ".pivotInA") -type float3 $pivA[0] $pivA[1] $pivA[2]; - setAttr ($constraintNode + ".pivotInB") -type float3 $pivB[0] $pivB[1] $pivB[2]; - setAttr ($newConstraintTransf + ".translate") -type float3 $pivW[0] $pivW[1] $pivW[2]; - } - select -r $newConstraintTransf; -} - - -global proc dyn_demo1() -{ - dynamicaUI_createActiveSphereRBArray(); - string $children[] = `listRelatives -shapes`; - setAttr ($children[0] + ".numBodies") 1000; - for($i = 0; $i < 10; $i++) { - for($j = 0; $j < 10; $j++) { - for($k = 0; $k < 10; $k++) { - setAttr ($children[0] + ".initialPosition[" + string($i + 10 * $j + 100 * $k) + "]") ($i * 2) (10 + $k * 2) ($j * 2); - } - } - } -} diff --git a/Extras/MayaPlugin/shared_ptr.h b/Extras/MayaPlugin/shared_ptr.h deleted file mode 100644 index 818e40f2b..000000000 --- a/Extras/MayaPlugin/shared_ptr.h +++ /dev/null @@ -1,199 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//shared_ptr.h - -#ifndef DYN_SHARED_PTR_H -#define DYN_SHARED_PTR_H - -#define DYN_SHARED_PTR_THREAD_SAFE - -#ifdef WIN32 - -#include - -class shared_count { -public: - shared_count(): m_count(1) { } - ~shared_count() { } - - long increment() - { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - return InterlockedIncrement(&m_count); -#else - return ++m_count; -#endif - } - - long decrement() { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - return InterlockedDecrement(&m_count); -#else - return ++m_count; -#endif - } - - long use_count() { return m_count; } - -private: - long m_count; -}; - -#else //ifdef WIN32 - -#include - -class shared_count { -public: - shared_count(): m_count(1) { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_init(&m_mutex, 0); -#endif - } - ~shared_count() { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_destroy(&m_mutex); -#endif - } - - long increment() - { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_lock(&m_mutex); -#endif - long c = ++m_count; -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_unlock(&m_mutex); -#endif - return c; - } - - long decrement() { -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_lock(&m_mutex); -#endif - long c = --m_count; -#ifdef DYN_SHARED_PTR_THREAD_SAFE - pthread_mutex_unlock(&m_mutex); -#endif - return c; - } - - long use_count() { return m_count; } - -private: - long m_count; - mutable pthread_mutex_t m_mutex; -}; - -#endif - -template -class shared_ptr -{ -public: - shared_ptr(): m_ptr(NULL), m_count(NULL) { } - shared_ptr(shared_ptr const& other): - m_ptr(other.m_ptr), - m_count(other.m_count) - { - if(other.m_count != NULL) other.m_count->increment(); - } - - template - shared_ptr(shared_ptr const& other): - m_ptr(other.m_ptr), - m_count(other.m_count) - { - if(other.m_count != NULL) other.m_count->increment(); - } - - shared_ptr(T const* other): m_ptr(const_cast(other)), m_count(NULL) - { - if(other != NULL) m_count = new shared_count; - } - - ~shared_ptr() - { - giveup_ownership(); - } - - void reset(T const* other) - { - if(m_ptr == other) return; - giveup_ownership(); - m_ptr = const_cast(other); - if(other != NULL) m_count = new shared_count; - else m_count = NULL; - } - - T* get() { return m_ptr; } - T const* get() const { return m_ptr; } - T* operator->() { return m_ptr; } - T const* operator->() const { return m_ptr; } - operator bool() { return m_ptr != NULL; } - - bool operator<(shared_ptr const& rhs) const { return m_ptr < rhs.m_ptr; } - - shared_ptr& operator=(shared_ptr const& other) { - if(m_ptr == other.m_ptr) return *this; - giveup_ownership(); - m_ptr = other.m_ptr; - m_count = other.m_count; - if(other.m_count != NULL) m_count->increment(); - return *this; - } - - template - shared_ptr& operator=(shared_ptr& other) { - if(m_ptr == other.m_ptr) return *this; - giveup_ownership(); - m_ptr = other.m_ptr; - m_count = other.m_count; - if(other.m_count != NULL) m_count->increment(); - return *this; - } - -protected: - - template friend class shared_ptr; - void giveup_ownership() - { - if(m_count != NULL) { - if( m_count->decrement() == 0) { - delete m_ptr; - m_ptr = NULL; - delete m_count; - m_count = NULL; - } - } - } - -protected: - T *m_ptr; - shared_count *m_count; - -}; - - -#endif diff --git a/Extras/MayaPlugin/solver.cpp b/Extras/MayaPlugin/solver.cpp deleted file mode 100644 index 7c5ca46de..000000000 --- a/Extras/MayaPlugin/solver.cpp +++ /dev/null @@ -1,203 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -//solver.cpp - -#include "solver.h" -#include "bt_solver.h" - -shared_ptr solver_t::m_impl; -std::set solver_t::m_rigid_bodies; -std::set solver_t::m_constraints; - -shared_ptr solver_t::get_solver() -{ - return m_impl; -} - - - -void solver_t::initialize() -{ - m_impl.reset(new bt_solver_t); -} - -void solver_t::cleanup() -{ - -} - -//creation methods -sphere_shape_t::pointer solver_t::create_sphere_shape(float radius) -{ - return sphere_shape_t::pointer(new sphere_shape_t(m_impl->create_sphere_shape(radius))); -} - -plane_shape_t::pointer solver_t::create_plane_shape(vec3f const& normal, float d) -{ - return plane_shape_t::pointer(new plane_shape_t(m_impl->create_plane_shape(normal, d))); -} - -box_shape_t::pointer solver_t::create_box_shape(vec3f const& halfExtents) -{ - return box_shape_t::pointer(new box_shape_t(m_impl->create_box_shape(halfExtents))); -} - -convex_hull_shape_t::pointer solver_t::create_convex_hull_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) -{ - return convex_hull_shape_t::pointer(new convex_hull_shape_t(m_impl->create_convex_hull_shape(vertices, num_vertices, - normals, - indices, num_indices))); -} - -mesh_shape_t::pointer solver_t::create_mesh_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) -{ - return mesh_shape_t::pointer(new mesh_shape_t(m_impl->create_mesh_shape(vertices, num_vertices, - normals, - indices, num_indices))); -} - -rigid_body_t::pointer solver_t::create_rigid_body(collision_shape_t::pointer& cs) -{ - return rigid_body_t::pointer(new rigid_body_t(m_impl->create_rigid_body(cs->impl()), cs)); -} - -nail_constraint_t::pointer solver_t::create_nail_constraint(rigid_body_t::pointer& rb, vec3f const& pivot) -{ - return nail_constraint_t::pointer(new nail_constraint_t(m_impl->create_nail_constraint(rb->impl(), pivot), rb)); -} -nail_constraint_t::pointer solver_t::create_nail_constraint(rigid_body_t::pointer& rbA, rigid_body_t::pointer& rbB, vec3f const& pivotInA, vec3f const& pivotInB) -{ - return nail_constraint_t::pointer(new nail_constraint_t(m_impl->create_nail_constraint(rbA->impl(), rbB->impl(), pivotInA, pivotInB), rbA, rbB)); -} -hinge_constraint_t::pointer solver_t::create_hinge_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot) -{ - return hinge_constraint_t::pointer(new hinge_constraint_t(m_impl->create_hinge_constraint(rb->impl(), pivot, rot), rb)); -} -hinge_constraint_t::pointer solver_t::create_hinge_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB) -{ - return hinge_constraint_t::pointer(new hinge_constraint_t(m_impl->create_hinge_constraint(rbA->impl(), pivotA, rotA, rbB->impl(), pivotB, rotB), rbA, rbB)); -} -slider_constraint_t::pointer solver_t::create_slider_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot) -{ - return slider_constraint_t::pointer(new slider_constraint_t(m_impl->create_slider_constraint(rb->impl(), pivot, rot), rb)); -} -slider_constraint_t::pointer solver_t::create_slider_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB) -{ - return slider_constraint_t::pointer(new slider_constraint_t(m_impl->create_slider_constraint(rbA->impl(), pivotA, rotA, rbB->impl(), pivotB, rotB), rbA, rbB)); -} -sixdof_constraint_t::pointer solver_t::create_sixdof_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot) -{ - return sixdof_constraint_t::pointer(new sixdof_constraint_t(m_impl->create_sixdof_constraint(rb->impl(), pivot, rot), rb)); -} -sixdof_constraint_t::pointer solver_t::create_sixdof_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB) -{ - return sixdof_constraint_t::pointer(new sixdof_constraint_t(m_impl->create_sixdof_constraint(rbA->impl(), pivotA, rotA, rbB->impl(), pivotB, rotB), rbA, rbB)); -} - -//add/remove from world -void solver_t::add_rigid_body(rigid_body_t::pointer& rb) -{ - if(rb) { - if(m_rigid_bodies.find(rb) == m_rigid_bodies.end()) { - m_rigid_bodies.insert(rb); - m_impl->add_rigid_body(rb->impl()); - } - } -} - -void solver_t::remove_rigid_body(rigid_body_t::pointer& rb) -{ - if(rb) { - if(m_rigid_bodies.find(rb) != m_rigid_bodies.end()) { - m_impl->remove_rigid_body(rb->impl()); - m_rigid_bodies.erase(rb); - } - } -} - -void solver_t::remove_all_rigid_bodies() -{ - std::set::iterator it; - for(it = m_rigid_bodies.begin(); it != m_rigid_bodies.end(); ++it) { - m_impl->remove_rigid_body(const_cast((*it).get())->impl()); - } - m_rigid_bodies.clear(); -} - -void solver_t::add_constraint(constraint_t::pointer& c) -{ - if(c) { - if(m_constraints.find(c) == m_constraints.end()) { - m_constraints.insert(c); - m_impl->add_constraint(c->impl()); - } - } -} - -void solver_t::remove_constraint(constraint_t::pointer& c) -{ - if(c) { - if(m_constraints.find(c) != m_constraints.end()) { - m_impl->remove_constraint(c->impl()); - m_constraints.erase(c); - } - } -} - -void solver_t::remove_all_constraints() -{ - std::set::iterator it; - for(it = m_constraints.begin(); it != m_constraints.end(); ++it) { - m_impl->remove_constraint(const_cast((*it).get())->impl()); - } - m_constraints.clear(); -} - -void solver_t::set_gravity(vec3f const& g) -{ - m_impl->set_gravity(g); -} - -void solver_t::set_split_impulse(bool enabled) -{ - m_impl->set_split_impulse(enabled); -} - -void solver_t::step_simulation(float dt) -{ - m_impl->step_simulation(dt); -} - - -void solver_t::debug_draw(int dbgMode) -{ - m_impl->debug_draw(dbgMode); -} diff --git a/Extras/MayaPlugin/solver.h b/Extras/MayaPlugin/solver.h deleted file mode 100644 index 30e6c698c..000000000 --- a/Extras/MayaPlugin/solver.h +++ /dev/null @@ -1,115 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -*/ - -//solver.h - -//basic class for all solvers - -#ifndef DYN_SOLVER_H -#define DYN_SOLVER_H - -#include - -#include "mathUtils.h" -#include "shared_ptr.h" - -#include "rigid_body.h" -#include "sphere_shape.h" -#include "plane_shape.h" -#include "box_shape.h" -#include "convex_hull_shape.h" -#include "mesh_shape.h" -#include "constraint/nail_constraint.h" -#include "solver_impl.h" - -#include "constraint/hinge_constraint.h" -#include "constraint/slider_constraint.h" -#include "constraint/sixdof_constraint.h" - -class solver_t -{ -public: - static void initialize(); - static void cleanup(); - - //creation methods - static sphere_shape_t::pointer create_sphere_shape(float radius = 1.0); - - static plane_shape_t::pointer create_plane_shape(vec3f const& normal = vec3f(0, 1, 0), float d = 0); - - static box_shape_t::pointer create_box_shape(vec3f const& halfExtents = vec3f(0.5f, 0.5f, 0.5f)); - - static convex_hull_shape_t::pointer create_convex_hull_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices); - - static mesh_shape_t::pointer create_mesh_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices); - - static rigid_body_t::pointer create_rigid_body(collision_shape_t::pointer& cs); - - static nail_constraint_t::pointer create_nail_constraint(rigid_body_t::pointer& rb, vec3f const& pivot); - static nail_constraint_t::pointer create_nail_constraint(rigid_body_t::pointer& rbA, rigid_body_t::pointer& rbB, vec3f const& pivotInA, vec3f const& pivotInB); - static hinge_constraint_t::pointer create_hinge_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot); - static hinge_constraint_t::pointer create_hinge_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB); - static slider_constraint_t::pointer create_slider_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot); - static slider_constraint_t::pointer create_slider_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB); - static sixdof_constraint_t::pointer create_sixdof_constraint(rigid_body_t::pointer& rb, vec3f const& pivot, quatf const& rot); - static sixdof_constraint_t::pointer create_sixdof_constraint(rigid_body_t::pointer& rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_t::pointer& rbB, vec3f const& pivotB, quatf const& rotB); - - //add/remove from world - static void add_rigid_body(rigid_body_t::pointer& rb); - static void remove_rigid_body(rigid_body_t::pointer& rb); - static void remove_all_rigid_bodies(); - - //add/remove from world - static void add_constraint(constraint_t::pointer& c); - static void remove_constraint(constraint_t::pointer& c); - static void remove_all_constraints(); - - // - static void set_gravity(vec3f const& g); - - // - static void set_split_impulse(bool enabled); - - // - static void step_simulation(float dt); - - static void debug_draw(int dbgMode); - - static shared_ptr get_solver(); - -private: - static shared_ptr m_impl; - static std::set m_rigid_bodies; - static std::set m_constraints; -}; - - - -#endif - diff --git a/Extras/MayaPlugin/solver_impl.h b/Extras/MayaPlugin/solver_impl.h deleted file mode 100644 index a0d4a9d3f..000000000 --- a/Extras/MayaPlugin/solver_impl.h +++ /dev/null @@ -1,93 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi - -Modified by Roman Ponomarev -01/22/2010 : Constraints reworked -01/27/2010 : Replaced COLLADA export with Bullet binary export -*/ - -//solver_impl.h - -#ifndef DYN_SOLVER_IMPL_H -#define DYN_SOLVER_IMPL_H - -#include "rigid_body_impl.h" -#include "constraint/nail_constraint_impl.h" -#include "collision_shape_impl.h" - -#include "constraint/hinge_constraint_impl.h" -#include "constraint/slider_constraint_impl.h" -#include "constraint/sixdof_constraint_impl.h" - -class solver_impl_t -{ -public: - virtual collision_shape_impl_t* create_sphere_shape(float radius) = 0; - - virtual collision_shape_impl_t* create_plane_shape(vec3f const& normal, float d) = 0; - - virtual collision_shape_impl_t* create_box_shape(vec3f const& halfExtents) = 0; - - virtual collision_shape_impl_t* create_convex_hull_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) = 0; - - virtual collision_shape_impl_t* create_mesh_shape(vec3f const* vertices, size_t num_vertices, - vec3f const* normals, - unsigned int const *indices, size_t num_indices) = 0; - - virtual rigid_body_impl_t* create_rigid_body(collision_shape_impl_t* cs) = 0; - - virtual nail_constraint_impl_t* create_nail_constraint(rigid_body_impl_t* rb, vec3f const& pivot) = 0; - virtual nail_constraint_impl_t* create_nail_constraint(rigid_body_impl_t* rbA, rigid_body_impl_t* rbB, vec3f const& pivotInA, vec3f const& pivotInB) = 0; - virtual hinge_constraint_impl_t* create_hinge_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) = 0; - virtual hinge_constraint_impl_t* create_hinge_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) = 0; - virtual slider_constraint_impl_t* create_slider_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) = 0; - virtual slider_constraint_impl_t* create_slider_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) = 0; - virtual sixdof_constraint_impl_t* create_sixdof_constraint(rigid_body_impl_t* rb, vec3f const& pivot, quatf const& rot) = 0; - virtual sixdof_constraint_impl_t* create_sixdof_constraint(rigid_body_impl_t* rbA, vec3f const& pivotA, quatf const& rotA, rigid_body_impl_t* rbB, vec3f const& pivotB, quatf const& rotB) = 0; - - virtual void add_rigid_body(rigid_body_impl_t* rb) = 0; - - virtual void remove_rigid_body(rigid_body_impl_t* rb) = 0; - - virtual void add_constraint(constraint_impl_t* rb) = 0; - - virtual void remove_constraint(constraint_impl_t* rb) = 0; - - virtual void set_gravity(vec3f const& g) = 0; - - virtual void set_split_impulse(bool enabled) = 0; - - virtual void export_bullet_file(const char* fileName) = 0; - - virtual void import_bullet_file(const char* filename) = 0; - - virtual void step_simulation(float dt) = 0; - - virtual void debug_draw(int dbgMode) {} - -public: - virtual ~solver_impl_t() { } -}; - -#endif - diff --git a/Extras/MayaPlugin/sphere_shape.h b/Extras/MayaPlugin/sphere_shape.h deleted file mode 100644 index 3266e6502..000000000 --- a/Extras/MayaPlugin/sphere_shape.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//sphere_shape.h - -#ifndef DYN_SPHERE_SHAPE_H -#define DYN_SPHERE_SHAPE_H - -#include "collision_shape.h" -#include "sphere_shape_impl.h" - -class sphere_shape_t: public collision_shape_t -{ -public: - //typedefs - typedef shared_ptr pointer; - - -protected: - friend class solver_t; - - sphere_shape_t(collision_shape_impl_t* impl): collision_shape_t(impl) { } - -}; - -#endif diff --git a/Extras/MayaPlugin/sphere_shape_impl.h b/Extras/MayaPlugin/sphere_shape_impl.h deleted file mode 100644 index 753018343..000000000 --- a/Extras/MayaPlugin/sphere_shape_impl.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Bullet Continuous Collision Detection and Physics Library Maya Plugin -Copyright (c) 2008 Walt Disney Studios - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising -from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must -not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Written by: Nicola Candussi -*/ - -//sphere_shape_impl.h - -#ifndef DYN_SPHERE_SHAPE_IMPL_H -#define DYN_SPHERE_SHAPE_IMPL_H - -#include "collision_shape_impl.h" - -class sphere_shape_impl_t: public collision_shape_impl_t -{ -public: - -private: - -}; - -#endif