dartpy 7.0.0.dev0__cp313-cp313-manylinux_2_39_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dartpy might be problematic. Click here for more details.
- dartpy-7.0.0.dev0.dist-info/METADATA +86 -0
- dartpy-7.0.0.dev0.dist-info/RECORD +994 -0
- dartpy-7.0.0.dev0.dist-info/WHEEL +5 -0
- dartpy-7.0.0.dev0.dist-info/licenses/LICENSE +31 -0
- dartpy.cpython-313-x86_64-linux-gnu.so +0 -0
- dartpy.libs/libBulletCollision-f96eb02c.so.3.25 +0 -0
- dartpy.libs/libBulletDynamics-3cff1f18.so.3.25 +0 -0
- dartpy.libs/libBulletSoftBody-220f01bd.so.3.25 +0 -0
- dartpy.libs/libLinearMath-71568d02.so.3.25 +0 -0
- dartpy.libs/libOpenThreads-8bc434db.so.3.3.1 +0 -0
- dartpy.libs/libSDL2-2-3db87ac0.0.so.0.3200.56 +0 -0
- dartpy.libs/libassimp-44cf3e77.so.5.4.3 +0 -0
- dartpy.libs/libccd-4f119cf4.so.2.0 +0 -0
- dartpy.libs/libconsole_bridge-f26e11cc.so.1.0 +0 -0
- dartpy.libs/libfcl-0400fc28.so.0.7.0 +0 -0
- dartpy.libs/libfmt-277170bf.so.11.2.0 +0 -0
- dartpy.libs/libfontconfig-582da43c.so.1.14.0 +0 -0
- dartpy.libs/libfreetype-64806fc6.so.6.20.4 +0 -0
- dartpy.libs/libglfw-6f066845.so.3.4 +0 -0
- dartpy.libs/libimgui-ab87b07d.so +0 -0
- dartpy.libs/libnlopt-d1ae937b.so.1.0.0 +0 -0
- dartpy.libs/liboctomap-38e56f99.so.1.10.0 +0 -0
- dartpy.libs/liboctomath-bff26442.so.1.10.0 +0 -0
- dartpy.libs/libode-99b67f5b.so.8.2.0 +0 -0
- dartpy.libs/libosg-e67375e5.so.3.6.5 +0 -0
- dartpy.libs/libosgDB-bcdb6be9.so.3.6.5 +0 -0
- dartpy.libs/libosgGA-6af4078b.so.3.6.5 +0 -0
- dartpy.libs/libosgManipulator-3270f659.so.3.6.5 +0 -0
- dartpy.libs/libosgShadow-127a8d77.so.3.6.5 +0 -0
- dartpy.libs/libosgText-87d82d87.so.3.6.5 +0 -0
- dartpy.libs/libosgUtil-55896958.so.3.6.5 +0 -0
- dartpy.libs/libosgViewer-76d832e3.so.3.6.5 +0 -0
- dartpy.libs/libpng16-bd65464e.so.16.50.0 +0 -0
- dartpy.libs/libtinyxml2-8d10763c.so.11.0.0 +0 -0
- dartpy.libs/liburdfdom_model-7b26ae88.so.4.0 +0 -0
- dartpy.libs/liburdfdom_model_state-95a5ad6e.so.4.0 +0 -0
- dartpy.libs/liburdfdom_sensor-55a145ea.so.4.0 +0 -0
- dartpy.libs/liburdfdom_world-a32c7194.so.4.0 +0 -0
- dartpy.libs/libvulkan-08e1e162.so.1.4.328 +0 -0
- include/dart/collision/CollisionDetector.hpp +305 -0
- include/dart/collision/CollisionFilter.hpp +126 -0
- include/dart/collision/CollisionGroup.hpp +546 -0
- include/dart/collision/CollisionObject.hpp +90 -0
- include/dart/collision/CollisionOption.hpp +71 -0
- include/dart/collision/CollisionResult.hpp +109 -0
- include/dart/collision/Contact.hpp +103 -0
- include/dart/collision/DistanceFilter.hpp +66 -0
- include/dart/collision/DistanceOption.hpp +80 -0
- include/dart/collision/DistanceResult.hpp +123 -0
- include/dart/collision/Option.hpp +42 -0
- include/dart/collision/RaycastOption.hpp +58 -0
- include/dart/collision/RaycastResult.hpp +80 -0
- include/dart/collision/Result.hpp +42 -0
- include/dart/collision/SmartPointer.hpp +51 -0
- include/dart/collision/all.hpp +17 -0
- include/dart/collision/bullet/BulletCollisionDetector.hpp +168 -0
- include/dart/collision/bullet/BulletCollisionGroup.hpp +98 -0
- include/dart/collision/bullet/BulletCollisionObject.hpp +75 -0
- include/dart/collision/bullet/BulletCollisionShape.hpp +62 -0
- include/dart/collision/bullet/BulletInclude.hpp +47 -0
- include/dart/collision/bullet/BulletTypes.hpp +57 -0
- include/dart/collision/bullet/all.hpp +8 -0
- include/dart/collision/bullet/bullet.hpp +14 -0
- include/dart/collision/bullet/detail/BulletCollisionDispatcher.hpp +70 -0
- include/dart/collision/bullet/detail/BulletOverlapFilterCallback.hpp +72 -0
- include/dart/collision/collision.hpp +14 -0
- include/dart/collision/dart/DARTCollide.hpp +106 -0
- include/dart/collision/dart/DARTCollisionDetector.hpp +109 -0
- include/dart/collision/dart/DARTCollisionGroup.hpp +82 -0
- include/dart/collision/dart/DARTCollisionObject.hpp +63 -0
- include/dart/collision/dart/all.hpp +6 -0
- include/dart/collision/dart/dart.hpp +14 -0
- include/dart/collision/detail/CollisionDetector.hpp +66 -0
- include/dart/collision/detail/CollisionGroup.hpp +287 -0
- include/dart/collision/detail/Contact-impl.hpp +56 -0
- include/dart/collision/detail/UnorderedPairs.hpp +153 -0
- include/dart/collision/fcl/BackwardCompatibility.hpp +145 -0
- include/dart/collision/fcl/CollisionShapes.hpp +374 -0
- include/dart/collision/fcl/FCLCollisionDetector.hpp +204 -0
- include/dart/collision/fcl/FCLCollisionGroup.hpp +95 -0
- include/dart/collision/fcl/FCLCollisionObject.hpp +72 -0
- include/dart/collision/fcl/FCLTypes.hpp +62 -0
- include/dart/collision/fcl/TriTriIntersectionTest.hpp +17 -0
- include/dart/collision/fcl/all.hpp +9 -0
- include/dart/collision/fcl/fcl.hpp +14 -0
- include/dart/collision/fcl/tri_tri_intersection_test.hpp +332 -0
- include/dart/collision/ode/OdeCollisionDetector.hpp +131 -0
- include/dart/collision/ode/OdeCollisionGroup.hpp +87 -0
- include/dart/collision/ode/OdeCollisionObject.hpp +89 -0
- include/dart/collision/ode/OdeTypes.hpp +51 -0
- include/dart/collision/ode/all.hpp +6 -0
- include/dart/collision/ode/detail/OdeBox.hpp +58 -0
- include/dart/collision/ode/detail/OdeCapsule.hpp +58 -0
- include/dart/collision/ode/detail/OdeCylinder.hpp +58 -0
- include/dart/collision/ode/detail/OdeGeom.hpp +83 -0
- include/dart/collision/ode/detail/OdeHeightmap-impl.hpp +170 -0
- include/dart/collision/ode/detail/OdeHeightmap.hpp +70 -0
- include/dart/collision/ode/detail/OdeMesh.hpp +83 -0
- include/dart/collision/ode/detail/OdePlane.hpp +67 -0
- include/dart/collision/ode/detail/OdeSphere.hpp +58 -0
- include/dart/collision/ode/ode.hpp +14 -0
- include/dart/common/Aspect.hpp +215 -0
- include/dart/common/AspectWithVersion.hpp +180 -0
- include/dart/common/CAllocator.hpp +65 -0
- include/dart/common/Castable.hpp +102 -0
- include/dart/common/ClassWithVirtualBase.hpp +47 -0
- include/dart/common/Cloneable.hpp +327 -0
- include/dart/common/Composite.hpp +205 -0
- include/dart/common/CompositeJoiner.hpp +160 -0
- include/dart/common/Console.hpp +75 -0
- include/dart/common/Deprecated.hpp +126 -0
- include/dart/common/EmbeddedAspect.hpp +466 -0
- include/dart/common/Empty.hpp +55 -0
- include/dart/common/Factory.hpp +146 -0
- include/dart/common/Filesystem.hpp +112 -0
- include/dart/common/FreeListAllocator.hpp +162 -0
- include/dart/common/IncludeWindows.hpp +50 -0
- include/dart/common/LocalResource.hpp +76 -0
- include/dart/common/LocalResourceRetriever.hpp +63 -0
- include/dart/common/LockableReference.hpp +166 -0
- include/dart/common/Logging.hpp +146 -0
- include/dart/common/Macros.hpp +78 -0
- include/dart/common/Memory.hpp +215 -0
- include/dart/common/MemoryAllocator.hpp +120 -0
- include/dart/common/MemoryAllocatorDebugger.hpp +98 -0
- include/dart/common/MemoryManager.hpp +189 -0
- include/dart/common/Metaprogramming.hpp +68 -0
- include/dart/common/NameManager.hpp +184 -0
- include/dart/common/Observer.hpp +85 -0
- include/dart/common/Optional.hpp +48 -0
- include/dart/common/Platform.hpp +92 -0
- include/dart/common/PoolAllocator.hpp +141 -0
- include/dart/common/Profile.hpp +56 -0
- include/dart/common/ProxyAspect.hpp +93 -0
- include/dart/common/RequiresAspect.hpp +79 -0
- include/dart/common/Resource.hpp +96 -0
- include/dart/common/ResourceRetriever.hpp +82 -0
- include/dart/common/SharedLibrary.hpp +201 -0
- include/dart/common/Signal.hpp +250 -0
- include/dart/common/Singleton.hpp +85 -0
- include/dart/common/SmartPointer.hpp +63 -0
- include/dart/common/SpecializedForAspect.hpp +207 -0
- include/dart/common/StlAllocator.hpp +111 -0
- include/dart/common/StlHelpers.hpp +61 -0
- include/dart/common/Stopwatch.hpp +143 -0
- include/dart/common/String.hpp +71 -0
- include/dart/common/SubPtr.hpp +17 -0
- include/dart/common/Subject.hpp +84 -0
- include/dart/common/Timer.hpp +119 -0
- include/dart/common/Uri.hpp +229 -0
- include/dart/common/VersionCounter.hpp +68 -0
- include/dart/common/Virtual.hpp +51 -0
- include/dart/common/all.hpp +53 -0
- include/dart/common/common.hpp +14 -0
- include/dart/common/detail/Aspect.hpp +102 -0
- include/dart/common/detail/AspectWithVersion.hpp +455 -0
- include/dart/common/detail/Castable-impl.hpp +109 -0
- include/dart/common/detail/Cloneable.hpp +638 -0
- include/dart/common/detail/Composite.hpp +241 -0
- include/dart/common/detail/CompositeData.hpp +393 -0
- include/dart/common/detail/CompositeJoiner.hpp +128 -0
- include/dart/common/detail/ConnectionBody.hpp +157 -0
- include/dart/common/detail/EmbeddedAspect.hpp +487 -0
- include/dart/common/detail/Factory-impl.hpp +200 -0
- include/dart/common/detail/LockableReference-impl.hpp +156 -0
- include/dart/common/detail/Logging-impl.hpp +162 -0
- include/dart/common/detail/Memory-impl.hpp +66 -0
- include/dart/common/detail/MemoryAllocator-impl.hpp +97 -0
- include/dart/common/detail/MemoryAllocatorDebugger-impl.hpp +201 -0
- include/dart/common/detail/MemoryManager-impl.hpp +102 -0
- include/dart/common/detail/Metaprogramming-impl.hpp +89 -0
- include/dart/common/detail/NameManager.hpp +301 -0
- include/dart/common/detail/NoOp.hpp +57 -0
- include/dart/common/detail/ProxyAspect.hpp +172 -0
- include/dart/common/detail/RequiresAspect.hpp +51 -0
- include/dart/common/detail/SharedLibraryManager.hpp +106 -0
- include/dart/common/detail/Signal.hpp +242 -0
- include/dart/common/detail/Singleton-impl.hpp +74 -0
- include/dart/common/detail/SpecializedForAspect.hpp +331 -0
- include/dart/common/detail/StlAllocator-impl.hpp +108 -0
- include/dart/common/detail/Stopwatch-impl.hpp +242 -0
- include/dart/common/detail/SubPtr.hpp +17 -0
- include/dart/common/detail/TemplateJoinerDispatchMacro.hpp +59 -0
- include/dart/common/detail/sub_ptr.hpp +139 -0
- include/dart/common/sub_ptr.hpp +103 -0
- include/dart/config.hpp +100 -0
- include/dart/constraint/BalanceConstraint.hpp +202 -0
- include/dart/constraint/BallJointConstraint.hpp +142 -0
- include/dart/constraint/BoxedLcpConstraintSolver.hpp +182 -0
- include/dart/constraint/BoxedLcpSolver.hpp +101 -0
- include/dart/constraint/ConstrainedGroup.hpp +120 -0
- include/dart/constraint/ConstraintBase.hpp +141 -0
- include/dart/constraint/ConstraintSolver.hpp +325 -0
- include/dart/constraint/ContactConstraint.hpp +286 -0
- include/dart/constraint/ContactSurface.hpp +191 -0
- include/dart/constraint/DantzigBoxedLcpSolver.hpp +71 -0
- include/dart/constraint/DantzigLCPSolver.hpp +87 -0
- include/dart/constraint/DynamicJointConstraint.hpp +120 -0
- include/dart/constraint/JointConstraint.hpp +182 -0
- include/dart/constraint/JointCoulombFrictionConstraint.hpp +149 -0
- include/dart/constraint/JointLimitConstraint.hpp +185 -0
- include/dart/constraint/LCPSolver.hpp +71 -0
- include/dart/constraint/MimicMotorConstraint.hpp +164 -0
- include/dart/constraint/PGSLCPSolver.hpp +109 -0
- include/dart/constraint/PgsBoxedLcpSolver.hpp +106 -0
- include/dart/constraint/ServoMotorConstraint.hpp +151 -0
- include/dart/constraint/SmartPointer.hpp +69 -0
- include/dart/constraint/SoftContactConstraint.hpp +262 -0
- include/dart/constraint/WeldJointConstraint.hpp +133 -0
- include/dart/constraint/all.hpp +25 -0
- include/dart/constraint/constraint.hpp +14 -0
- include/dart/constraint/detail/ConstraintSolver-impl.hpp +78 -0
- include/dart/dart.hpp +44 -0
- include/dart/dynamics/ArrowShape.hpp +121 -0
- include/dart/dynamics/AssimpInputResourceAdaptor.hpp +129 -0
- include/dart/dynamics/BallJoint.hpp +143 -0
- include/dart/dynamics/BodyNode.hpp +1279 -0
- include/dart/dynamics/BoxShape.hpp +90 -0
- include/dart/dynamics/Branch.hpp +107 -0
- include/dart/dynamics/CapsuleShape.hpp +105 -0
- include/dart/dynamics/Chain.hpp +142 -0
- include/dart/dynamics/CompositeNode.hpp +114 -0
- include/dart/dynamics/ConeShape.hpp +107 -0
- include/dart/dynamics/CylinderShape.hpp +96 -0
- include/dart/dynamics/DegreeOfFreedom.hpp +415 -0
- include/dart/dynamics/EllipsoidShape.hpp +115 -0
- include/dart/dynamics/EndEffector.hpp +158 -0
- include/dart/dynamics/Entity.hpp +258 -0
- include/dart/dynamics/EntityNode.hpp +77 -0
- include/dart/dynamics/EulerJoint.hpp +174 -0
- include/dart/dynamics/FixedFrame.hpp +105 -0
- include/dart/dynamics/FixedJacobianNode.hpp +168 -0
- include/dart/dynamics/Frame.hpp +388 -0
- include/dart/dynamics/FreeJoint.hpp +369 -0
- include/dart/dynamics/GenericJoint.hpp +825 -0
- include/dart/dynamics/Group.hpp +270 -0
- include/dart/dynamics/HeightmapShape.hpp +195 -0
- include/dart/dynamics/HierarchicalIK.hpp +419 -0
- include/dart/dynamics/IkFast.hpp +277 -0
- include/dart/dynamics/Inertia.hpp +176 -0
- include/dart/dynamics/InvalidIndex.hpp +46 -0
- include/dart/dynamics/InverseKinematics.hpp +1401 -0
- include/dart/dynamics/JacobianNode.hpp +312 -0
- include/dart/dynamics/Joint.hpp +1128 -0
- include/dart/dynamics/LineSegmentShape.hpp +140 -0
- include/dart/dynamics/Linkage.hpp +246 -0
- include/dart/dynamics/Marker.hpp +126 -0
- include/dart/dynamics/MeshShape.hpp +225 -0
- include/dart/dynamics/MetaSkeleton.hpp +1034 -0
- include/dart/dynamics/MimicDofProperties.hpp +62 -0
- include/dart/dynamics/MultiSphereConvexHullShape.hpp +111 -0
- include/dart/dynamics/MultiSphereShape.hpp +42 -0
- include/dart/dynamics/Node.hpp +273 -0
- include/dart/dynamics/NodeManagerJoiner.hpp +190 -0
- include/dart/dynamics/PlanarJoint.hpp +161 -0
- include/dart/dynamics/PlaneShape.hpp +105 -0
- include/dart/dynamics/PointCloudShape.hpp +186 -0
- include/dart/dynamics/PointMass.hpp +709 -0
- include/dart/dynamics/PrismaticJoint.hpp +120 -0
- include/dart/dynamics/PyramidShape.hpp +122 -0
- include/dart/dynamics/ReferentialSkeleton.hpp +550 -0
- include/dart/dynamics/RevoluteJoint.hpp +120 -0
- include/dart/dynamics/ScrewJoint.hpp +126 -0
- include/dart/dynamics/Shape.hpp +231 -0
- include/dart/dynamics/ShapeFrame.hpp +291 -0
- include/dart/dynamics/ShapeNode.hpp +134 -0
- include/dart/dynamics/SharedLibraryIkFast.hpp +147 -0
- include/dart/dynamics/SimpleFrame.hpp +247 -0
- include/dart/dynamics/Skeleton.hpp +1350 -0
- include/dart/dynamics/SmartPointer.hpp +185 -0
- include/dart/dynamics/SoftBodyNode.hpp +472 -0
- include/dart/dynamics/SoftMeshShape.hpp +100 -0
- include/dart/dynamics/SpecializedNodeManager.hpp +230 -0
- include/dart/dynamics/SphereShape.hpp +89 -0
- include/dart/dynamics/TemplatedJacobianNode.hpp +128 -0
- include/dart/dynamics/TranslationalJoint.hpp +105 -0
- include/dart/dynamics/TranslationalJoint2D.hpp +156 -0
- include/dart/dynamics/UniversalJoint.hpp +128 -0
- include/dart/dynamics/VoxelGridShape.hpp +171 -0
- include/dart/dynamics/WeldJoint.hpp +116 -0
- include/dart/dynamics/ZeroDofJoint.hpp +562 -0
- include/dart/dynamics/all.hpp +69 -0
- include/dart/dynamics/detail/BasicNodeManager.hpp +539 -0
- include/dart/dynamics/detail/BodyNode.hpp +344 -0
- include/dart/dynamics/detail/BodyNodeAspect.hpp +177 -0
- include/dart/dynamics/detail/BodyNodePtr.hpp +351 -0
- include/dart/dynamics/detail/CompositeNode.hpp +93 -0
- include/dart/dynamics/detail/DegreeOfFreedomPtr.hpp +338 -0
- include/dart/dynamics/detail/EndEffectorAspect.hpp +106 -0
- include/dart/dynamics/detail/EntityNode.hpp +81 -0
- include/dart/dynamics/detail/EntityNodeAspect.hpp +101 -0
- include/dart/dynamics/detail/EulerJointAspect.hpp +93 -0
- include/dart/dynamics/detail/FixedFrameAspect.hpp +58 -0
- include/dart/dynamics/detail/FixedJacobianNode.hpp +55 -0
- include/dart/dynamics/detail/GenericJoint.hpp +2471 -0
- include/dart/dynamics/detail/GenericJointAspect.hpp +353 -0
- include/dart/dynamics/detail/HeightmapShape-impl.hpp +243 -0
- include/dart/dynamics/detail/InverseKinematics.hpp +83 -0
- include/dart/dynamics/detail/InverseKinematicsPtr.hpp +341 -0
- include/dart/dynamics/detail/JointAspect.hpp +161 -0
- include/dart/dynamics/detail/JointPtr.hpp +293 -0
- include/dart/dynamics/detail/MarkerAspect.hpp +68 -0
- include/dart/dynamics/detail/MetaSkeleton-impl.hpp +151 -0
- include/dart/dynamics/detail/Node.hpp +532 -0
- include/dart/dynamics/detail/NodeManagerJoiner.hpp +184 -0
- include/dart/dynamics/detail/NodePtr.hpp +259 -0
- include/dart/dynamics/detail/PlanarJointAspect.hpp +136 -0
- include/dart/dynamics/detail/PrismaticJointAspect.hpp +85 -0
- include/dart/dynamics/detail/RevoluteJointAspect.hpp +86 -0
- include/dart/dynamics/detail/ScrewJointAspect.hpp +90 -0
- include/dart/dynamics/detail/ShapeFrameAspect.hpp +169 -0
- include/dart/dynamics/detail/ShapeNode.hpp +51 -0
- include/dart/dynamics/detail/Skeleton.hpp +92 -0
- include/dart/dynamics/detail/SkeletonAspect.hpp +181 -0
- include/dart/dynamics/detail/SoftBodyNodeAspect.hpp +132 -0
- include/dart/dynamics/detail/SpecializedNodeManager.hpp +324 -0
- include/dart/dynamics/detail/TemplatedJacobianNode.hpp +294 -0
- include/dart/dynamics/detail/TranslationalJoint2DAspect.hpp +140 -0
- include/dart/dynamics/detail/UniversalJointAspect.hpp +86 -0
- include/dart/dynamics/dynamics.hpp +14 -0
- include/dart/dynamics/ikfast.h +345 -0
- include/dart/external/convhull_3d/convhull_3d.h +1878 -0
- include/dart/external/convhull_3d/safe_convhull_3d.h +53 -0
- include/dart/external/odelcpsolver/common.h +418 -0
- include/dart/external/odelcpsolver/error.h +62 -0
- include/dart/external/odelcpsolver/lcp.h +75 -0
- include/dart/external/odelcpsolver/matrix.h +277 -0
- include/dart/external/odelcpsolver/misc.h +82 -0
- include/dart/external/odelcpsolver/odeconfig.h +110 -0
- include/dart/gui/osg/DefaultEventHandler.hpp +237 -0
- include/dart/gui/osg/DragAndDrop.hpp +360 -0
- include/dart/gui/osg/GridVisual.hpp +218 -0
- include/dart/gui/osg/ImGuiHandler.hpp +113 -0
- include/dart/gui/osg/ImGuiViewer.hpp +83 -0
- include/dart/gui/osg/ImGuiWidget.hpp +91 -0
- include/dart/gui/osg/IncludeImGui.hpp +75 -0
- include/dart/gui/osg/InteractiveFrame.hpp +170 -0
- include/dart/gui/osg/MouseEventHandler.hpp +76 -0
- include/dart/gui/osg/RealTimeWorldNode.hpp +126 -0
- include/dart/gui/osg/ShapeFrameNode.hpp +117 -0
- include/dart/gui/osg/SupportPolygonVisual.hpp +202 -0
- include/dart/gui/osg/TrackballManipulator.hpp +97 -0
- include/dart/gui/osg/Utils.hpp +120 -0
- include/dart/gui/osg/Viewer.hpp +427 -0
- include/dart/gui/osg/WorldNode.hpp +211 -0
- include/dart/gui/osg/all.hpp +19 -0
- include/dart/gui/osg/detail/CameraModeCallback.hpp +82 -0
- include/dart/gui/osg/detail/Utils-impl.hpp +160 -0
- include/dart/gui/osg/osg.hpp +14 -0
- include/dart/gui/osg/render/BoxShapeNode.hpp +74 -0
- include/dart/gui/osg/render/CapsuleShapeNode.hpp +75 -0
- include/dart/gui/osg/render/ConeShapeNode.hpp +74 -0
- include/dart/gui/osg/render/CylinderShapeNode.hpp +75 -0
- include/dart/gui/osg/render/EllipsoidShapeNode.hpp +76 -0
- include/dart/gui/osg/render/HeightmapShapeNode.hpp +485 -0
- include/dart/gui/osg/render/LineSegmentShapeNode.hpp +75 -0
- include/dart/gui/osg/render/MeshShapeNode.hpp +86 -0
- include/dart/gui/osg/render/MultiSphereShapeNode.hpp +76 -0
- include/dart/gui/osg/render/PlaneShapeNode.hpp +75 -0
- include/dart/gui/osg/render/PointCloudShapeNode.hpp +85 -0
- include/dart/gui/osg/render/PyramidShapeNode.hpp +75 -0
- include/dart/gui/osg/render/ShapeNode.hpp +126 -0
- include/dart/gui/osg/render/SoftMeshShapeNode.hpp +75 -0
- include/dart/gui/osg/render/SphereShapeNode.hpp +76 -0
- include/dart/gui/osg/render/VoxelGridShapeNode.hpp +83 -0
- include/dart/gui/osg/render/WarningShapeNode.hpp +64 -0
- include/dart/gui/osg/render/all.hpp +19 -0
- include/dart/gui/osg/render/render.hpp +14 -0
- include/dart/integration/EulerIntegrator.hpp +64 -0
- include/dart/integration/Integrator.hpp +104 -0
- include/dart/integration/RK4Integrator.hpp +68 -0
- include/dart/integration/SemiImplicitEulerIntegrator.hpp +64 -0
- include/dart/integration/all.hpp +6 -0
- include/dart/integration/integration.hpp +14 -0
- include/dart/lcpsolver/Lemke.hpp +54 -0
- include/dart/lcpsolver/ODELCPSolver.hpp +88 -0
- include/dart/lcpsolver/all.hpp +4 -0
- include/dart/lcpsolver/lcpsolver.hpp +14 -0
- include/dart/math/ConfigurationSpace.hpp +144 -0
- include/dart/math/Constants.hpp +79 -0
- include/dart/math/Geometry.hpp +659 -0
- include/dart/math/Helpers.hpp +481 -0
- include/dart/math/Icosphere.hpp +106 -0
- include/dart/math/MathTypes.hpp +100 -0
- include/dart/math/Mesh.hpp +108 -0
- include/dart/math/Random.hpp +225 -0
- include/dart/math/TriMesh.hpp +121 -0
- include/dart/math/all.hpp +11 -0
- include/dart/math/detail/ConfigurationSpace.hpp +235 -0
- include/dart/math/detail/Geometry-impl.hpp +126 -0
- include/dart/math/detail/Icosphere-impl.hpp +214 -0
- include/dart/math/detail/Mesh-impl.hpp +151 -0
- include/dart/math/detail/Random-impl.hpp +353 -0
- include/dart/math/detail/TriMesh-impl.hpp +202 -0
- include/dart/math/math.hpp +14 -0
- include/dart/optimizer/Function.hpp +203 -0
- include/dart/optimizer/GenericMultiObjectiveProblem.hpp +174 -0
- include/dart/optimizer/GradientDescentSolver.hpp +240 -0
- include/dart/optimizer/MultiObjectiveProblem.hpp +168 -0
- include/dart/optimizer/MultiObjectiveSolver.hpp +168 -0
- include/dart/optimizer/Population.hpp +108 -0
- include/dart/optimizer/Problem.hpp +191 -0
- include/dart/optimizer/Solver.hpp +182 -0
- include/dart/optimizer/all.hpp +10 -0
- include/dart/optimizer/ipopt/BackwardCompatibility.hpp +43 -0
- include/dart/optimizer/ipopt/IpoptSolver.hpp +223 -0
- include/dart/optimizer/ipopt/all.hpp +4 -0
- include/dart/optimizer/ipopt/ipopt.hpp +14 -0
- include/dart/optimizer/nlopt/NloptSolver.hpp +212 -0
- include/dart/optimizer/nlopt/all.hpp +3 -0
- include/dart/optimizer/nlopt/nlopt.hpp +14 -0
- include/dart/optimizer/optimizer.hpp +14 -0
- include/dart/simulation/Recording.hpp +118 -0
- include/dart/simulation/SmartPointer.hpp +46 -0
- include/dart/simulation/World.hpp +405 -0
- include/dart/simulation/all.hpp +5 -0
- include/dart/simulation/detail/World-impl.hpp +129 -0
- include/dart/simulation/simulation.hpp +14 -0
- include/dart/utils/C3D.hpp +107 -0
- include/dart/utils/CompositeResourceRetriever.hpp +97 -0
- include/dart/utils/DartResourceRetriever.hpp +104 -0
- include/dart/utils/FileInfoC3D.hpp +91 -0
- include/dart/utils/FileInfoDof.hpp +109 -0
- include/dart/utils/FileInfoWorld.hpp +75 -0
- include/dart/utils/PackageResourceRetriever.hpp +118 -0
- include/dart/utils/SkelParser.hpp +70 -0
- include/dart/utils/VskParser.hpp +108 -0
- include/dart/utils/XmlHelpers.hpp +243 -0
- include/dart/utils/all.hpp +14 -0
- include/dart/utils/detail/XmlHelpers-impl.hpp +213 -0
- include/dart/utils/mjcf/MjcfParser.hpp +80 -0
- include/dart/utils/mjcf/all.hpp +3 -0
- include/dart/utils/mjcf/mjcf.hpp +14 -0
- include/dart/utils/sdf/SdfParser.hpp +98 -0
- include/dart/utils/sdf/all.hpp +3 -0
- include/dart/utils/sdf/sdf.hpp +14 -0
- include/dart/utils/urdf/BackwardCompatibility.hpp +52 -0
- include/dart/utils/urdf/DartLoader.hpp +277 -0
- include/dart/utils/urdf/IncludeUrdf.hpp +47 -0
- include/dart/utils/urdf/URDFTypes.hpp +42 -0
- include/dart/utils/urdf/all.hpp +5 -0
- include/dart/utils/urdf/urdf.hpp +14 -0
- include/dart/utils/urdf/urdf_world_parser.hpp +83 -0
- include/dart/utils/utils.hpp +14 -0
- lib64/libdart-collision-bullet.a +0 -0
- lib64/libdart-collision-ode.a +0 -0
- lib64/libdart-external-odelcpsolver.a +0 -0
- lib64/libdart-gui-osg.a +0 -0
- lib64/libdart-optimizer-ipopt.a +0 -0
- lib64/libdart-optimizer-nlopt.a +0 -0
- lib64/libdart-utils-urdf.a +0 -0
- lib64/libdart-utils.a +0 -0
- lib64/libdart.a +0 -0
- lib64/pkgconfig/dart.pc +12 -0
- share/dart/cmake/DARTConfig.cmake +194 -0
- share/dart/cmake/DARTConfigVersion.cmake +65 -0
- share/dart/cmake/DARTFindBullet.cmake +96 -0
- share/dart/cmake/DARTFindEigen3.cmake +9 -0
- share/dart/cmake/DARTFindIPOPT.cmake +20 -0
- share/dart/cmake/DARTFindNLOPT.cmake +17 -0
- share/dart/cmake/DARTFindODE.cmake +23 -0
- share/dart/cmake/DARTFindOpenSceneGraph.cmake +69 -0
- share/dart/cmake/DARTFindassimp.cmake +18 -0
- share/dart/cmake/DARTFindfcl.cmake +23 -0
- share/dart/cmake/DARTFindfmt.cmake +9 -0
- share/dart/cmake/DARTFindimgui.cmake +21 -0
- share/dart/cmake/DARTFindoctomap.cmake +17 -0
- share/dart/cmake/DARTFindspdlog.cmake +9 -0
- share/dart/cmake/DARTFindtinyxml2.cmake +27 -0
- share/dart/cmake/DARTFindurdfdom.cmake +29 -0
- share/dart/cmake/FindIPOPT.cmake +54 -0
- share/dart/cmake/FindNLOPT.cmake +54 -0
- share/dart/cmake/FindODE.cmake +54 -0
- share/dart/cmake/Findassimp.cmake +56 -0
- share/dart/cmake/Findfcl.cmake +67 -0
- share/dart/cmake/Findimgui.cmake +70 -0
- share/dart/cmake/Findtinyxml2.cmake +54 -0
- share/dart/cmake/dart_collision-bulletComponent.cmake +19 -0
- share/dart/cmake/dart_collision-bulletTargets-release.cmake +19 -0
- share/dart/cmake/dart_collision-bulletTargets.cmake +122 -0
- share/dart/cmake/dart_collision-odeComponent.cmake +19 -0
- share/dart/cmake/dart_collision-odeTargets-release.cmake +19 -0
- share/dart/cmake/dart_collision-odeTargets.cmake +122 -0
- share/dart/cmake/dart_dartComponent.cmake +19 -0
- share/dart/cmake/dart_dartTargets-release.cmake +19 -0
- share/dart/cmake/dart_dartTargets.cmake +125 -0
- share/dart/cmake/dart_external-odelcpsolverComponent.cmake +19 -0
- share/dart/cmake/dart_external-odelcpsolverTargets-release.cmake +19 -0
- share/dart/cmake/dart_external-odelcpsolverTargets.cmake +106 -0
- share/dart/cmake/dart_gui-osgComponent.cmake +19 -0
- share/dart/cmake/dart_gui-osgTargets-release.cmake +19 -0
- share/dart/cmake/dart_gui-osgTargets.cmake +122 -0
- share/dart/cmake/dart_optimizer-ipoptComponent.cmake +19 -0
- share/dart/cmake/dart_optimizer-ipoptTargets-release.cmake +19 -0
- share/dart/cmake/dart_optimizer-ipoptTargets.cmake +123 -0
- share/dart/cmake/dart_optimizer-nloptComponent.cmake +19 -0
- share/dart/cmake/dart_optimizer-nloptTargets-release.cmake +19 -0
- share/dart/cmake/dart_optimizer-nloptTargets.cmake +123 -0
- share/dart/cmake/dart_utils-urdfComponent.cmake +19 -0
- share/dart/cmake/dart_utils-urdfTargets-release.cmake +19 -0
- share/dart/cmake/dart_utils-urdfTargets.cmake +122 -0
- share/dart/cmake/dart_utilsComponent.cmake +19 -0
- share/dart/cmake/dart_utilsTargets-release.cmake +19 -0
- share/dart/cmake/dart_utilsTargets.cmake +122 -0
- share/dart/package.xml +42 -0
- share/doc/dart/data/c3d/nick_freeform_001.c3d +0 -0
- share/doc/dart/data/c3d/squat.c3d +0 -0
- share/doc/dart/data/dof/RHand.dof +205 -0
- share/doc/dart/data/dof/fixedHand.dof +205 -0
- share/doc/dart/data/dof/init_Tpose.dof +240 -0
- share/doc/dart/data/dof/same.dof +1003 -0
- share/doc/dart/data/dof/simMotion.dof +1817 -0
- share/doc/dart/data/dof/simMotion1.dof +1355 -0
- share/doc/dart/data/etc/fort.4 +43 -0
- share/doc/dart/data/humanJointLimits/neuralnets/net-larm +0 -0
- share/doc/dart/data/humanJointLimits/neuralnets/net-lleg +0 -0
- share/doc/dart/data/mjcf/openai/LICENSE.md +36 -0
- share/doc/dart/data/mjcf/openai/ant.xml +81 -0
- share/doc/dart/data/mjcf/openai/half_cheetah.xml +96 -0
- share/doc/dart/data/mjcf/openai/hopper.xml +50 -0
- share/doc/dart/data/mjcf/openai/humanoid.xml +121 -0
- share/doc/dart/data/mjcf/openai/humanoidstandup.xml +121 -0
- share/doc/dart/data/mjcf/openai/inverted_double_pendulum.xml +47 -0
- share/doc/dart/data/mjcf/openai/inverted_pendulum.xml +27 -0
- share/doc/dart/data/mjcf/openai/point.xml +31 -0
- share/doc/dart/data/mjcf/openai/pusher.xml +91 -0
- share/doc/dart/data/mjcf/openai/reacher.xml +39 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/pick_and_place.xml +35 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/push.xml +32 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/reach.xml +26 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/robot.xml +123 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/shared.xml +66 -0
- share/doc/dart/data/mjcf/openai/robotics/fetch/slide.xml +32 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/.get +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/base_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/bellows_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/elbow_flex_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/estop_link.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/forearm_roll_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/gripper_link.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/head_pan_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/head_tilt_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/l_wheel_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/laser_link.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/r_wheel_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/shoulder_lift_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/shoulder_pan_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/torso_fixed_link.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/torso_lift_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/upperarm_roll_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/wrist_flex_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/stls/fetch/wrist_roll_link_collision.stl +0 -0
- share/doc/dart/data/mjcf/openai/robotics/textures/block.png +0 -0
- share/doc/dart/data/mjcf/openai/robotics/textures/block_hidden.png +0 -0
- share/doc/dart/data/mjcf/openai/striker.xml +101 -0
- share/doc/dart/data/mjcf/openai/swimmer.xml +39 -0
- share/doc/dart/data/mjcf/openai/thrower.xml +127 -0
- share/doc/dart/data/mjcf/openai/walker2d.xml +62 -0
- share/doc/dart/data/mjcf/test/default.xml +17 -0
- share/doc/dart/data/mjcf/test/include_default.xml +8 -0
- share/doc/dart/data/mjcf/test/include_main.xml +12 -0
- share/doc/dart/data/obj/Body_Hip.obj +22830 -0
- share/doc/dart/data/obj/BoxSmall.obj +23 -0
- share/doc/dart/data/obj/foot.obj +10970 -0
- share/doc/dart/data/other/torus1.path +11991 -0
- share/doc/dart/data/other/torus1.tris +5329 -0
- share/doc/dart/data/other/torus2.path +11991 -0
- share/doc/dart/data/other/torus2.tris +12961 -0
- share/doc/dart/data/screencap/.KEEP +0 -0
- share/doc/dart/data/sdf/atlas/atlas_v3.urdf +914 -0
- share/doc/dart/data/sdf/atlas/atlas_v3_no_head.sdf +1541 -0
- share/doc/dart/data/sdf/atlas/atlas_v3_no_head.urdf +914 -0
- share/doc/dart/data/sdf/atlas/atlas_v3_no_head_soft_feet.sdf +1567 -0
- share/doc/dart/data/sdf/atlas/ground.urdf +28 -0
- share/doc/dart/data/sdf/atlas/head.dae +8607 -0
- share/doc/dart/data/sdf/atlas/head.stl +0 -0
- share/doc/dart/data/sdf/atlas/head_camera.dae +2326 -0
- share/doc/dart/data/sdf/atlas/head_camera.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_clav.dae +1278 -0
- share/doc/dart/data/sdf/atlas/l_clav.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_farm.dae +1204 -0
- share/doc/dart/data/sdf/atlas/l_farm.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_foot.dae +1330 -0
- share/doc/dart/data/sdf/atlas/l_foot.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_hand.dae +964 -0
- share/doc/dart/data/sdf/atlas/l_hand.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_larm.dae +1378 -0
- share/doc/dart/data/sdf/atlas/l_larm.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_lglut.dae +897 -0
- share/doc/dart/data/sdf/atlas/l_lglut.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_lleg.dae +6660 -0
- share/doc/dart/data/sdf/atlas/l_lleg.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_scap.dae +1531 -0
- share/doc/dart/data/sdf/atlas/l_scap.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_talus.dae +374 -0
- share/doc/dart/data/sdf/atlas/l_talus.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_uarm.dae +1204 -0
- share/doc/dart/data/sdf/atlas/l_uarm.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_uglut.dae +398 -0
- share/doc/dart/data/sdf/atlas/l_uglut.stl +0 -0
- share/doc/dart/data/sdf/atlas/l_uleg.dae +9087 -0
- share/doc/dart/data/sdf/atlas/l_uleg.stl +0 -0
- share/doc/dart/data/sdf/atlas/ltorso.dae +614 -0
- share/doc/dart/data/sdf/atlas/ltorso.stl +0 -0
- share/doc/dart/data/sdf/atlas/mtorso.dae +266 -0
- share/doc/dart/data/sdf/atlas/mtorso.stl +0 -0
- share/doc/dart/data/sdf/atlas/pelvis.dae +8727 -0
- share/doc/dart/data/sdf/atlas/pelvis.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_clav.dae +1278 -0
- share/doc/dart/data/sdf/atlas/r_clav.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_farm.dae +1204 -0
- share/doc/dart/data/sdf/atlas/r_farm.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_foot.dae +1330 -0
- share/doc/dart/data/sdf/atlas/r_foot.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_hand.dae +904 -0
- share/doc/dart/data/sdf/atlas/r_hand.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_larm.dae +1378 -0
- share/doc/dart/data/sdf/atlas/r_larm.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_lglut.dae +897 -0
- share/doc/dart/data/sdf/atlas/r_lglut.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_lleg.dae +6661 -0
- share/doc/dart/data/sdf/atlas/r_lleg.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_scap.dae +1531 -0
- share/doc/dart/data/sdf/atlas/r_scap.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_talus.dae +374 -0
- share/doc/dart/data/sdf/atlas/r_talus.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_uarm.dae +1144 -0
- share/doc/dart/data/sdf/atlas/r_uarm.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_uglut.dae +398 -0
- share/doc/dart/data/sdf/atlas/r_uglut.stl +0 -0
- share/doc/dart/data/sdf/atlas/r_uleg.dae +9087 -0
- share/doc/dart/data/sdf/atlas/r_uleg.stl +0 -0
- share/doc/dart/data/sdf/atlas/utorso.dae +28342 -0
- share/doc/dart/data/sdf/atlas/utorso.stl +0 -0
- share/doc/dart/data/sdf/atlas/utorso_mod.dae +16508 -0
- share/doc/dart/data/sdf/atlas/utorso_mod.stl +0 -0
- share/doc/dart/data/sdf/atlas/utorso_pack.dae +8521 -0
- share/doc/dart/data/sdf/atlas/utorso_pack.stl +0 -0
- share/doc/dart/data/sdf/benchmark.world +2510 -0
- share/doc/dart/data/sdf/double_pendulum.world +168 -0
- share/doc/dart/data/sdf/double_pendulum_with_base.world +263 -0
- share/doc/dart/data/sdf/empty.world +13 -0
- share/doc/dart/data/sdf/ground.world +48 -0
- share/doc/dart/data/sdf/materials/textures/atlas_cage_and_camera_diffuse_flat.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/drc_extremities_diffuse.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/drc_labels_1.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/drc_torso_head_diffuse.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/extremities_diffuse_unplugged.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/right_leg_diffuse_unplugged.jpg +0 -0
- share/doc/dart/data/sdf/materials/textures/torso_diffuse_unplugged.jpg +0 -0
- share/doc/dart/data/sdf/quad.sdf +867 -0
- share/doc/dart/data/sdf/test/force_torque_test.world +173 -0
- share/doc/dart/data/sdf/test/force_torque_test2.world +214 -0
- share/doc/dart/data/sdf/test/issue1193_revolute_test.sdf +70 -0
- share/doc/dart/data/sdf/test/issue1193_revolute_with_offset_test.sdf +70 -0
- share/doc/dart/data/sdf/test/issue1624_cubes.sdf +5037 -0
- share/doc/dart/data/sdf/test/single_bodynode_skeleton.world +55 -0
- share/doc/dart/data/sdf/test/test_issue1583.model +45 -0
- share/doc/dart/data/sdf/test/test_issue1596.model +182 -0
- share/doc/dart/data/sdf/test/test_skeleton_joint.world +278 -0
- share/doc/dart/data/skel/biped.skel +850 -0
- share/doc/dart/data/skel/bullet_collision.skel +174 -0
- share/doc/dart/data/skel/chain.skel +212 -0
- share/doc/dart/data/skel/cube.skel +71 -0
- share/doc/dart/data/skel/cubes.skel +137 -0
- share/doc/dart/data/skel/empty.skel +10 -0
- share/doc/dart/data/skel/freeChain.skel +212 -0
- share/doc/dart/data/skel/fullbody1.skel +1177 -0
- share/doc/dart/data/skel/ground.skel +31 -0
- share/doc/dart/data/skel/joint_limit.skel +123 -0
- share/doc/dart/data/skel/kima/abdomen.dae +18933 -0
- share/doc/dart/data/skel/kima/head.dae +34634 -0
- share/doc/dart/data/skel/kima/kima_human_edited.skel +933 -0
- share/doc/dart/data/skel/kima/kima_human_left_arm.skel +323 -0
- share/doc/dart/data/skel/kima/kima_human_left_leg.skel +327 -0
- share/doc/dart/data/skel/kima/l-clavicle.dae +20111 -0
- share/doc/dart/data/skel/kima/l-foot.dae +28208 -0
- share/doc/dart/data/skel/kima/pelvis.dae +35919 -0
- share/doc/dart/data/skel/kima/r-clavicle.dae +20090 -0
- share/doc/dart/data/skel/kima/thorax.dae +47337 -0
- share/doc/dart/data/skel/mesh_collision.skel +137 -0
- share/doc/dart/data/skel/shapes.skel +378 -0
- share/doc/dart/data/skel/skateboard.skel +222 -0
- share/doc/dart/data/skel/softBodies.skel +284 -0
- share/doc/dart/data/skel/soft_cubes.skel +134 -0
- share/doc/dart/data/skel/soft_open_chain.skel +241 -0
- share/doc/dart/data/skel/sphere.skel +74 -0
- share/doc/dart/data/skel/spheres.skel +118 -0
- share/doc/dart/data/skel/test/SimplePendulum.skel +141 -0
- share/doc/dart/data/skel/test/ball_joints.skel +49 -0
- share/doc/dart/data/skel/test/box_stacking.skel +346 -0
- share/doc/dart/data/skel/test/boxes.skel +52 -0
- share/doc/dart/data/skel/test/chainwhipa.skel +193 -0
- share/doc/dart/data/skel/test/collision_of_prescribed_joints_test.skel +249 -0
- share/doc/dart/data/skel/test/dof_attribute_test.skel +206 -0
- share/doc/dart/data/skel/test/double_pendulum.skel +76 -0
- share/doc/dart/data/skel/test/double_pendulum_ball_joint.skel +76 -0
- share/doc/dart/data/skel/test/double_pendulum_euler_joint.skel +78 -0
- share/doc/dart/data/skel/test/double_pendulum_with_base.skel +1390 -0
- share/doc/dart/data/skel/test/drop.skel +116 -0
- share/doc/dart/data/skel/test/drop_BENCHMARK.skel +10 -0
- share/doc/dart/data/skel/test/drop_unrotated_box.skel +156 -0
- share/doc/dart/data/skel/test/empty.skel +10 -0
- share/doc/dart/data/skel/test/file_info_world_test.skel +1177 -0
- share/doc/dart/data/skel/test/free_joints.skel +49 -0
- share/doc/dart/data/skel/test/gazebo/drop_test.skel +161 -0
- share/doc/dart/data/skel/test/gazebo/force_torque_test.skel +138 -0
- share/doc/dart/data/skel/test/gazebo/force_torque_test2.skel +171 -0
- share/doc/dart/data/skel/test/hybrid_dynamics_test.skel +172 -0
- share/doc/dart/data/skel/test/joint_actuator_type_test.skel +185 -0
- share/doc/dart/data/skel/test/joint_dynamics_elements_test.skel +103 -0
- share/doc/dart/data/skel/test/joint_friction_test.skel +80 -0
- share/doc/dart/data/skel/test/joint_limit_test.skel +80 -0
- share/doc/dart/data/skel/test/planar_joint.skel +167 -0
- share/doc/dart/data/skel/test/serial_chain_BENCHMARK.skel +10 -0
- share/doc/dart/data/skel/test/serial_chain_ball_joint.skel +212 -0
- share/doc/dart/data/skel/test/serial_chain_ball_joint_20.skel +412 -0
- share/doc/dart/data/skel/test/serial_chain_ball_joint_40.skel +812 -0
- share/doc/dart/data/skel/test/serial_chain_eulerxyz_joint.skel +224 -0
- share/doc/dart/data/skel/test/serial_chain_revolute_joint.skel +244 -0
- share/doc/dart/data/skel/test/simple_tree_structure.skel +108 -0
- share/doc/dart/data/skel/test/simple_tree_structure_ball_joint.skel +108 -0
- share/doc/dart/data/skel/test/simple_tree_structure_euler_joint.skel +111 -0
- share/doc/dart/data/skel/test/single_pendulum.skel +55 -0
- share/doc/dart/data/skel/test/single_pendulum_ball_joint.skel +55 -0
- share/doc/dart/data/skel/test/single_pendulum_euler_joint.skel +56 -0
- share/doc/dart/data/skel/test/spheres.skel +118 -0
- share/doc/dart/data/skel/test/test_adaptive_deformable.skel +88 -0
- share/doc/dart/data/skel/test/test_articulated_bodies.skel +112 -0
- share/doc/dart/data/skel/test/test_articulated_bodies_10bodies.skel +401 -0
- share/doc/dart/data/skel/test/test_double_pendulum.skel +105 -0
- share/doc/dart/data/skel/test/test_drop_box.skel +87 -0
- share/doc/dart/data/skel/test/test_drop_box_offset.skel +87 -0
- share/doc/dart/data/skel/test/test_drop_low_stiffness.skel +86 -0
- share/doc/dart/data/skel/test/test_drop_sphere.skel +86 -0
- share/doc/dart/data/skel/test/test_shapes.skel +324 -0
- share/doc/dart/data/skel/test/test_single_body.skel +55 -0
- share/doc/dart/data/skel/test/test_single_pendulum.skel +55 -0
- share/doc/dart/data/skel/test/translational_joints.skel +49 -0
- share/doc/dart/data/skel/test/tree_structure.skel +428 -0
- share/doc/dart/data/skel/test/tree_structure_ball_joint.skel +441 -0
- share/doc/dart/data/skel/test/tree_structure_euler_joint.skel +441 -0
- share/doc/dart/data/skel/two_cubes.skel +118 -0
- share/doc/dart/data/skel/vehicle.skel +322 -0
- share/doc/dart/data/test/hello_world.txt +1 -0
- share/doc/dart/data/urdf/KR5/KR5 sixx R650.urdf +397 -0
- share/doc/dart/data/urdf/KR5/ground.urdf +28 -0
- share/doc/dart/data/urdf/KR5/meshes/base_link.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/bicep.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/elbow.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/forearm.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/palm.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/shoulder.STL +0 -0
- share/doc/dart/data/urdf/KR5/meshes/wrist.STL +0 -0
- share/doc/dart/data/urdf/drchubo/CMakeLists.txt +5 -0
- share/doc/dart/data/urdf/drchubo/drchubo.urdf +1508 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LAP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LAR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LEP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LF1.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LF2.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LF3.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LHP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LHR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LHY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LKP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LSP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LSR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LSY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LWP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LWR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_LWY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_NK1_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_NK2.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_NKY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RAP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RAR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_REP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RF1.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RF2.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RF3.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RHP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RHR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RHY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RKP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RSP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RSR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RSY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RWP_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RWR_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_RWY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_TSY_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/meshes/convhull_Torso_merged.stl +0 -0
- share/doc/dart/data/urdf/drchubo/package.xml +11 -0
- share/doc/dart/data/urdf/test/invalid.urdf +1 -0
- share/doc/dart/data/urdf/test/invalid_mesh.stl +1 -0
- share/doc/dart/data/urdf/test/invalid_mesh.urdf +10 -0
- share/doc/dart/data/urdf/test/issue838.urdf +86 -0
- share/doc/dart/data/urdf/test/joint_properties.urdf +60 -0
- share/doc/dart/data/urdf/test/missing_mesh.urdf +10 -0
- share/doc/dart/data/urdf/test/missing_package.urdf +10 -0
- share/doc/dart/data/urdf/test/primitive_geometry.urdf +12 -0
- share/doc/dart/data/urdf/test/testWorld.urdf +9 -0
- share/doc/dart/data/urdf/wam/meshes/images/base_gray_128x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/images/forearm_256x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/images/lpu_128x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/images/shoulder_256x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/images/upperarm_128x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/images/wrist_yaw_128x.jpg +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam1.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam1.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam1_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam2.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam2.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam2_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam3.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam3.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam3_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam4.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam4.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam4_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam5.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam5.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam5_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam6.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam6.dae +187 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam6_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam7.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam7.dae +137 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam7_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam_base.STL +0 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam_base.dae +103 -0
- share/doc/dart/data/urdf/wam/meshes/wam/wam_base_collision.STL +0 -0
- share/doc/dart/data/urdf/wam/wam.urdf +230 -0
- share/doc/dart/data/vsk/Nick01.vsk +398 -0
- share/doc/dart/data/vsk/SehoonVSK3.vsk +398 -0
- share/doc/dart/data/vsk/Yuting.vsk +398 -0
- share/doc/dart/data/vsk/test/empty.vsk +3 -0
- share/doc/dart/examples/CMakeLists.txt +44 -0
- share/doc/dart/examples/README.md +33 -0
- share/doc/dart/examples/add_delete_skels/CMakeLists.txt +19 -0
- share/doc/dart/examples/add_delete_skels/main.cpp +165 -0
- share/doc/dart/examples/atlas_puppet/CMakeLists.txt +19 -0
- share/doc/dart/examples/atlas_puppet/README.md +20 -0
- share/doc/dart/examples/atlas_puppet/main.cpp +930 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconEventHandler.cpp +71 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconEventHandler.hpp +56 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWidget.cpp +187 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWidget.hpp +85 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWorldNode.cpp +134 -0
- share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWorldNode.hpp +75 -0
- share/doc/dart/examples/atlas_simbicon/CMakeLists.txt +19 -0
- share/doc/dart/examples/atlas_simbicon/Controller.cpp +996 -0
- share/doc/dart/examples/atlas_simbicon/Controller.hpp +203 -0
- share/doc/dart/examples/atlas_simbicon/README.md +20 -0
- share/doc/dart/examples/atlas_simbicon/State.cpp +674 -0
- share/doc/dart/examples/atlas_simbicon/State.hpp +336 -0
- share/doc/dart/examples/atlas_simbicon/StateMachine.cpp +222 -0
- share/doc/dart/examples/atlas_simbicon/StateMachine.hpp +134 -0
- share/doc/dart/examples/atlas_simbicon/TerminalCondition.cpp +111 -0
- share/doc/dart/examples/atlas_simbicon/TerminalCondition.hpp +102 -0
- share/doc/dart/examples/atlas_simbicon/main.cpp +102 -0
- share/doc/dart/examples/biped_stand/CMakeLists.txt +19 -0
- share/doc/dart/examples/biped_stand/README.md +20 -0
- share/doc/dart/examples/biped_stand/main.cpp +287 -0
- share/doc/dart/examples/box_stacking/CMakeLists.txt +19 -0
- share/doc/dart/examples/box_stacking/README.md +20 -0
- share/doc/dart/examples/box_stacking/main.cpp +417 -0
- share/doc/dart/examples/boxes/CMakeLists.txt +19 -0
- share/doc/dart/examples/boxes/README.md +20 -0
- share/doc/dart/examples/boxes/main.cpp +157 -0
- share/doc/dart/examples/drag_and_drop/CMakeLists.txt +19 -0
- share/doc/dart/examples/drag_and_drop/README.md +20 -0
- share/doc/dart/examples/drag_and_drop/main.cpp +101 -0
- share/doc/dart/examples/empty/CMakeLists.txt +19 -0
- share/doc/dart/examples/empty/README.md +20 -0
- share/doc/dart/examples/empty/main.cpp +164 -0
- share/doc/dart/examples/fetch/CMakeLists.txt +19 -0
- share/doc/dart/examples/fetch/README.md +20 -0
- share/doc/dart/examples/fetch/main.cpp +246 -0
- share/doc/dart/examples/hardcoded_design/CMakeLists.txt +19 -0
- share/doc/dart/examples/hardcoded_design/HardcodedEventHandler.cpp +71 -0
- share/doc/dart/examples/hardcoded_design/HardcodedEventHandler.hpp +56 -0
- share/doc/dart/examples/hardcoded_design/README.md +27 -0
- share/doc/dart/examples/hardcoded_design/main.cpp +186 -0
- share/doc/dart/examples/heightmap/CMakeLists.txt +19 -0
- share/doc/dart/examples/heightmap/README.md +20 -0
- share/doc/dart/examples/heightmap/main.cpp +460 -0
- share/doc/dart/examples/hello_world/CMakeLists.txt +19 -0
- share/doc/dart/examples/hello_world/README.md +20 -0
- share/doc/dart/examples/hello_world/main.cpp +114 -0
- share/doc/dart/examples/hubo_puppet/CMakeLists.txt +19 -0
- share/doc/dart/examples/hubo_puppet/README.md +20 -0
- share/doc/dart/examples/hubo_puppet/main.cpp +1464 -0
- share/doc/dart/examples/human_joint_limits/CMakeLists.txt +49 -0
- share/doc/dart/examples/human_joint_limits/HumanArmJointLimitConstraint.cpp +411 -0
- share/doc/dart/examples/human_joint_limits/HumanArmJointLimitConstraint.hpp +182 -0
- share/doc/dart/examples/human_joint_limits/HumanLegJointLimitConstraint.cpp +432 -0
- share/doc/dart/examples/human_joint_limits/HumanLegJointLimitConstraint.hpp +179 -0
- share/doc/dart/examples/human_joint_limits/main.cpp +157 -0
- share/doc/dart/examples/hybrid_dynamics/CMakeLists.txt +19 -0
- share/doc/dart/examples/hybrid_dynamics/README.md +17 -0
- share/doc/dart/examples/hybrid_dynamics/main.cpp +187 -0
- share/doc/dart/examples/imgui/CMakeLists.txt +19 -0
- share/doc/dart/examples/imgui/README.md +20 -0
- share/doc/dart/examples/imgui/main.cpp +289 -0
- share/doc/dart/examples/joint_constraints/CMakeLists.txt +19 -0
- share/doc/dart/examples/joint_constraints/Controller.cpp +110 -0
- share/doc/dart/examples/joint_constraints/Controller.hpp +105 -0
- share/doc/dart/examples/joint_constraints/README.md +22 -0
- share/doc/dart/examples/joint_constraints/main.cpp +242 -0
- share/doc/dart/examples/mixed_chain/CMakeLists.txt +19 -0
- share/doc/dart/examples/mixed_chain/README.md +35 -0
- share/doc/dart/examples/mixed_chain/main.cpp +188 -0
- share/doc/dart/examples/operational_space_control/CMakeLists.txt +19 -0
- share/doc/dart/examples/operational_space_control/README.md +20 -0
- share/doc/dart/examples/operational_space_control/main.cpp +338 -0
- share/doc/dart/examples/point_cloud/CMakeLists.txt +19 -0
- share/doc/dart/examples/point_cloud/README.md +20 -0
- share/doc/dart/examples/point_cloud/main.cpp +740 -0
- share/doc/dart/examples/rerun/CMakeLists.txt +19 -0
- share/doc/dart/examples/rigid_chain/CMakeLists.txt +19 -0
- share/doc/dart/examples/rigid_chain/README.md +19 -0
- share/doc/dart/examples/rigid_chain/main.cpp +110 -0
- share/doc/dart/examples/rigid_cubes/CMakeLists.txt +19 -0
- share/doc/dart/examples/rigid_cubes/README.md +91 -0
- share/doc/dart/examples/rigid_cubes/main.cpp +201 -0
- share/doc/dart/examples/rigid_loop/CMakeLists.txt +19 -0
- share/doc/dart/examples/rigid_loop/README.md +34 -0
- share/doc/dart/examples/rigid_loop/main.cpp +127 -0
- share/doc/dart/examples/rigid_shapes/CMakeLists.txt +19 -0
- share/doc/dart/examples/rigid_shapes/README.md +19 -0
- share/doc/dart/examples/rigid_shapes/main.cpp +250 -0
- share/doc/dart/examples/simple_frames/CMakeLists.txt +19 -0
- share/doc/dart/examples/simple_frames/README.md +27 -0
- share/doc/dart/examples/simple_frames/main.cpp +124 -0
- share/doc/dart/examples/simulation_event_handler/CMakeLists.txt +19 -0
- share/doc/dart/examples/simulation_event_handler/README.md +189 -0
- share/doc/dart/examples/simulation_event_handler/SimulationEventHandler.cpp +572 -0
- share/doc/dart/examples/simulation_event_handler/SimulationEventHandler.hpp +211 -0
- share/doc/dart/examples/simulation_event_handler/main.cpp +277 -0
- share/doc/dart/examples/soft_bodies/CMakeLists.txt +19 -0
- share/doc/dart/examples/soft_bodies/README.md +20 -0
- share/doc/dart/examples/soft_bodies/main.cpp +219 -0
- share/doc/dart/examples/speed_test/CMakeLists.txt +19 -0
- share/doc/dart/examples/speed_test/README.md +20 -0
- share/doc/dart/examples/speed_test/main.cpp +250 -0
- share/doc/dart/examples/tinkertoy/CMakeLists.txt +19 -0
- share/doc/dart/examples/tinkertoy/README.md +20 -0
- share/doc/dart/examples/tinkertoy/TinkertoyWidget.cpp +208 -0
- share/doc/dart/examples/tinkertoy/TinkertoyWidget.hpp +70 -0
- share/doc/dart/examples/tinkertoy/TinkertoyWorldNode.cpp +35 -0
- share/doc/dart/examples/tinkertoy/TinkertoyWorldNode.hpp +470 -0
- share/doc/dart/examples/tinkertoy/main.cpp +186 -0
- share/doc/dart/examples/vehicle/CMakeLists.txt +19 -0
- share/doc/dart/examples/vehicle/README.md +22 -0
- share/doc/dart/examples/vehicle/main.cpp +195 -0
- share/doc/dart/examples/wam_ikfast/CMakeLists.txt +22 -0
- share/doc/dart/examples/wam_ikfast/Helpers.cpp +148 -0
- share/doc/dart/examples/wam_ikfast/Helpers.hpp +46 -0
- share/doc/dart/examples/wam_ikfast/InputHandler.cpp +110 -0
- share/doc/dart/examples/wam_ikfast/InputHandler.hpp +73 -0
- share/doc/dart/examples/wam_ikfast/README.md +20 -0
- share/doc/dart/examples/wam_ikfast/WamWorld.cpp +46 -0
- share/doc/dart/examples/wam_ikfast/WamWorld.hpp +53 -0
- share/doc/dart/examples/wam_ikfast/ikfast/CMakeLists.txt +11 -0
- share/doc/dart/examples/wam_ikfast/ikfast/ikfast71.Transform6D.4_6_9_10_11_12_f8.cpp +14930 -0
- share/doc/dart/examples/wam_ikfast/osgWamIkFast.cpp +96 -0
- share/doc/dart/tutorials/CMakeLists.txt +12 -0
- share/doc/dart/tutorials/README.md +45 -0
- share/doc/dart/tutorials/tutorial_biped/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_biped/README +18 -0
- share/doc/dart/tutorials/tutorial_biped/main.cpp +374 -0
- share/doc/dart/tutorials/tutorial_biped_finished/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_biped_finished/README +18 -0
- share/doc/dart/tutorials/tutorial_biped_finished/main.cpp +532 -0
- share/doc/dart/tutorials/tutorial_collisions/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_collisions/README +18 -0
- share/doc/dart/tutorials/tutorial_collisions/main.cpp +506 -0
- share/doc/dart/tutorials/tutorial_collisions_finished/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_collisions_finished/README +18 -0
- share/doc/dart/tutorials/tutorial_collisions_finished/main.cpp +679 -0
- share/doc/dart/tutorials/tutorial_dominoes/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_dominoes/README +18 -0
- share/doc/dart/tutorials/tutorial_dominoes/main.cpp +394 -0
- share/doc/dart/tutorials/tutorial_dominoes_finished/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_dominoes_finished/README +18 -0
- share/doc/dart/tutorials/tutorial_dominoes_finished/main.cpp +559 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum/README +18 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum/main.cpp +443 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum_finished/CMakeLists.txt +19 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum_finished/README +18 -0
- share/doc/dart/tutorials/tutorial_multi_pendulum_finished/main.cpp +512 -0
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2011-2025, The DART development contributors
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* The list of contributors can be found at:
|
|
6
|
+
* https://github.com/dartsim/dart/blob/main/LICENSE
|
|
7
|
+
*
|
|
8
|
+
* This file is provided under the following "BSD-style" License:
|
|
9
|
+
* Redistribution and use in source and binary forms, with or
|
|
10
|
+
* without modification, are permitted provided that the following
|
|
11
|
+
* conditions are met:
|
|
12
|
+
* * Redistributions of source code must retain the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer.
|
|
14
|
+
* * Redistributions in binary form must reproduce the above
|
|
15
|
+
* copyright notice, this list of conditions and the following
|
|
16
|
+
* disclaimer in the documentation and/or other materials provided
|
|
17
|
+
* with the distribution.
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
23
|
+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
26
|
+
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
27
|
+
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
28
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
29
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
30
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
#ifndef DART_EXAMPLE_OSG_OSGATLASSIMBICON_TINKERTOYWORLDNODE_HPP_
|
|
34
|
+
#define DART_EXAMPLE_OSG_OSGATLASSIMBICON_TINKERTOYWORLDNODE_HPP_
|
|
35
|
+
|
|
36
|
+
#include <dart/gui/osg/osg.hpp>
|
|
37
|
+
|
|
38
|
+
#include <dart/utils/utils.hpp>
|
|
39
|
+
|
|
40
|
+
#include <dart/dart.hpp>
|
|
41
|
+
|
|
42
|
+
const double DefaultBlockLength = 0.5;
|
|
43
|
+
const double DefaultBlockWidth = 0.075;
|
|
44
|
+
const double DefaultJointRadius = 1.5 * DefaultBlockWidth / 2.0;
|
|
45
|
+
const double BalsaWoodDensity = 0.16 * 10e3; // kg/m^3
|
|
46
|
+
const double DefaultBlockMass
|
|
47
|
+
= BalsaWoodDensity * DefaultBlockLength * pow(DefaultBlockWidth, 2);
|
|
48
|
+
const double DefaultDamping = 0.4;
|
|
49
|
+
|
|
50
|
+
const Eigen::Vector4d DefaultSimulationColor
|
|
51
|
+
= Eigen::Vector4d(0.5, 0.5, 1.0, 1.0);
|
|
52
|
+
const Eigen::Vector4d DefaultPausedColor
|
|
53
|
+
= Eigen::Vector4d(0xEE, 0xC9, 0x00, 0.0) / 255.0
|
|
54
|
+
+ Eigen::Vector4d(0, 0, 0, 1.0);
|
|
55
|
+
const Eigen::Vector4d DefaultSelectedColor = dart::Color::Red(1.0);
|
|
56
|
+
const Eigen::Vector4d DefaultForceBodyColor = dart::Color::Fuchsia(1.0);
|
|
57
|
+
const Eigen::Vector4d DefaultForceLineColor
|
|
58
|
+
= Eigen::Vector4d(1.0, 0.63, 0.0, 1.0);
|
|
59
|
+
|
|
60
|
+
const double MaxForce = 200.0;
|
|
61
|
+
const double DefaultForceCoeff = 100.0;
|
|
62
|
+
const double MaxForceCoeff = 1000.0;
|
|
63
|
+
const double MinForceCoeff = 10.0;
|
|
64
|
+
const double ForceIncrement = 10.0;
|
|
65
|
+
|
|
66
|
+
//==============================================================================
|
|
67
|
+
class TinkertoyWorldNode : public dart::gui::osg::RealTimeWorldNode
|
|
68
|
+
{
|
|
69
|
+
public:
|
|
70
|
+
TinkertoyWorldNode(const dart::simulation::WorldPtr& world)
|
|
71
|
+
: dart::gui::osg::RealTimeWorldNode(world),
|
|
72
|
+
mForceCoeff(DefaultForceCoeff),
|
|
73
|
+
mWasSimulating(false)
|
|
74
|
+
{
|
|
75
|
+
mTarget = dart::gui::osg::InteractiveFrame::createShared(
|
|
76
|
+
dart::dynamics::Frame::World());
|
|
77
|
+
getWorld()->addSimpleFrame(mTarget);
|
|
78
|
+
|
|
79
|
+
createShapes();
|
|
80
|
+
createInitialToy1();
|
|
81
|
+
createInitialToy2();
|
|
82
|
+
createForceLine();
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void setAllBodyColors(const Eigen::Vector4d& color)
|
|
86
|
+
{
|
|
87
|
+
getWorld()->eachSkeleton(
|
|
88
|
+
[&](dart::dynamics::Skeleton* skel) { skel->setColor(color); });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void setPickedNodeColor(const Eigen::Vector4d& color)
|
|
92
|
+
{
|
|
93
|
+
if (!mPickedNode)
|
|
94
|
+
return;
|
|
95
|
+
|
|
96
|
+
mPickedNode->setColor(color);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
void resetForceLine()
|
|
100
|
+
{
|
|
101
|
+
if (mPickedNode) {
|
|
102
|
+
mForceLine->setVertex(0, mPickedNode->getWorldTransform() * mPickedPoint);
|
|
103
|
+
mForceLine->setVertex(1, mTarget->getWorldTransform().translation());
|
|
104
|
+
} else {
|
|
105
|
+
mForceLine->setVertex(0, Eigen::Vector3d::Zero());
|
|
106
|
+
mForceLine->setVertex(1, Eigen::Vector3d::Zero());
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
void customPreRefresh() override
|
|
111
|
+
{
|
|
112
|
+
if (isSimulating()) {
|
|
113
|
+
setAllBodyColors(DefaultSimulationColor);
|
|
114
|
+
setPickedNodeColor(DefaultForceBodyColor);
|
|
115
|
+
} else {
|
|
116
|
+
setAllBodyColors(DefaultPausedColor);
|
|
117
|
+
setPickedNodeColor(DefaultSelectedColor);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
resetForceLine();
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
void customPreStep() override
|
|
124
|
+
{
|
|
125
|
+
if (mPickedNode) {
|
|
126
|
+
Eigen::Vector3d F = mForceCoeff
|
|
127
|
+
* (mTarget->getWorldTransform().translation()
|
|
128
|
+
- mPickedNode->getWorldTransform() * mPickedPoint);
|
|
129
|
+
|
|
130
|
+
const double F_norm = F.norm();
|
|
131
|
+
if (F_norm > MaxForce)
|
|
132
|
+
F = MaxForce * F / F_norm;
|
|
133
|
+
|
|
134
|
+
mPickedNode->addExtForce(F, mPickedPoint);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
void handlePick(const dart::gui::osg::PickInfo& pick)
|
|
139
|
+
{
|
|
140
|
+
dart::dynamics::BodyNode* bn
|
|
141
|
+
= dynamic_cast<dart::dynamics::BodyNode*>(pick.frame->getParentFrame());
|
|
142
|
+
|
|
143
|
+
if (!bn)
|
|
144
|
+
return;
|
|
145
|
+
|
|
146
|
+
mPickedNode = bn;
|
|
147
|
+
mPickedPoint = bn->getWorldTransform().inverse() * pick.position;
|
|
148
|
+
|
|
149
|
+
Eigen::Isometry3d tf = bn->getWorldTransform();
|
|
150
|
+
tf.translation()
|
|
151
|
+
= pick.position + pick.normal.normalized() * DefaultBlockWidth / 2.0;
|
|
152
|
+
|
|
153
|
+
mTarget->setTransform(tf);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
void clearPick()
|
|
157
|
+
{
|
|
158
|
+
mPickedNode = nullptr;
|
|
159
|
+
mTarget->setTransform(Eigen::Isometry3d::Identity());
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
void deletePick()
|
|
163
|
+
{
|
|
164
|
+
if (!mPickedNode)
|
|
165
|
+
return;
|
|
166
|
+
|
|
167
|
+
if (isSimulating()) {
|
|
168
|
+
std::cout << " -- Please pause simulation [using the Spacebar] before "
|
|
169
|
+
<< "attempting to delete blocks." << std::endl;
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
dart::dynamics::SkeletonPtr temporary = mPickedNode->remove();
|
|
174
|
+
for (size_t i = 0; i < temporary->getNumBodyNodes(); ++i) {
|
|
175
|
+
mViewer->disableDragAndDrop(
|
|
176
|
+
mViewer->enableDragAndDrop(temporary->getBodyNode(i)));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
getWorld()->getConstraintSolver()->getCollisionGroup()->removeShapeFramesOf(
|
|
180
|
+
temporary.get());
|
|
181
|
+
|
|
182
|
+
clearPick();
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
void createShapes()
|
|
186
|
+
{
|
|
187
|
+
createWeldJointShape();
|
|
188
|
+
createRevoluteJointShape();
|
|
189
|
+
createBallJointShape();
|
|
190
|
+
createBlockShape();
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
void createWeldJointShape()
|
|
194
|
+
{
|
|
195
|
+
mWeldJointShape
|
|
196
|
+
= std::make_shared<dart::dynamics::BoxShape>(Eigen::Vector3d(
|
|
197
|
+
2.0 * DefaultJointRadius, DefaultBlockWidth, DefaultBlockWidth));
|
|
198
|
+
|
|
199
|
+
mWeldJointShape->addDataVariance(dart::dynamics::Shape::DYNAMIC_COLOR);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
void createRevoluteJointShape()
|
|
203
|
+
{
|
|
204
|
+
mRevoluteJointShape = std::make_shared<dart::dynamics::CylinderShape>(
|
|
205
|
+
DefaultJointRadius, 1.5 * DefaultBlockWidth);
|
|
206
|
+
|
|
207
|
+
mRevoluteJointShape->addDataVariance(dart::dynamics::Shape::DYNAMIC_COLOR);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
void createBallJointShape()
|
|
211
|
+
{
|
|
212
|
+
mBallJointShape
|
|
213
|
+
= std::make_shared<dart::dynamics::SphereShape>(DefaultJointRadius);
|
|
214
|
+
|
|
215
|
+
mBallJointShape->addDataVariance(dart::dynamics::Shape::DYNAMIC_COLOR);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
void createBlockShape()
|
|
219
|
+
{
|
|
220
|
+
mBlockShape = std::make_shared<dart::dynamics::BoxShape>(Eigen::Vector3d(
|
|
221
|
+
DefaultBlockLength, DefaultBlockWidth, DefaultBlockWidth));
|
|
222
|
+
|
|
223
|
+
mBlockShape->addDataVariance(dart::dynamics::Shape::DYNAMIC_COLOR);
|
|
224
|
+
|
|
225
|
+
mBlockOffset = Eigen::Isometry3d::Identity();
|
|
226
|
+
mBlockOffset.translation()[0] = DefaultBlockLength / 2.0;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
template <class JointType>
|
|
230
|
+
std::pair<JointType*, dart::dynamics::BodyNode*> addBlock(
|
|
231
|
+
dart::dynamics::BodyNode* parent,
|
|
232
|
+
const Eigen::Isometry3d& relTf,
|
|
233
|
+
const dart::dynamics::ShapePtr& jointShape)
|
|
234
|
+
{
|
|
235
|
+
if (isSimulating()) {
|
|
236
|
+
std::cout << " -- Please pause simulation [using the Spacebar] before "
|
|
237
|
+
<< "attempting to add new bodies" << std::endl;
|
|
238
|
+
return std::make_pair(nullptr, nullptr);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
dart::dynamics::SkeletonPtr skel;
|
|
242
|
+
if (parent) {
|
|
243
|
+
skel = parent->getSkeleton();
|
|
244
|
+
} else {
|
|
245
|
+
skel = dart::dynamics::Skeleton::create(
|
|
246
|
+
"toy_#" + std::to_string(getWorld()->getNumSkeletons() + 1));
|
|
247
|
+
getWorld()->addSkeleton(skel);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
auto pair = skel->createJointAndBodyNodePair<JointType>(parent);
|
|
251
|
+
JointType* joint = pair.first;
|
|
252
|
+
dart::dynamics::BodyNode* bn = pair.second;
|
|
253
|
+
bn->setName("block_#" + std::to_string(skel->getNumBodyNodes()));
|
|
254
|
+
joint->setName("joint_#" + std::to_string(skel->getNumJoints()));
|
|
255
|
+
|
|
256
|
+
joint->setTransformFromParentBodyNode(relTf);
|
|
257
|
+
for (size_t i = 0; i < joint->getNumDofs(); ++i)
|
|
258
|
+
joint->getDof(i)->setDampingCoefficient(DefaultDamping);
|
|
259
|
+
|
|
260
|
+
bn->createShapeNodeWith<
|
|
261
|
+
dart::dynamics::VisualAspect,
|
|
262
|
+
dart::dynamics::CollisionAspect,
|
|
263
|
+
dart::dynamics::DynamicsAspect>(jointShape);
|
|
264
|
+
|
|
265
|
+
dart::dynamics::ShapeNode* block = bn->createShapeNodeWith<
|
|
266
|
+
dart::dynamics::VisualAspect,
|
|
267
|
+
dart::dynamics::CollisionAspect,
|
|
268
|
+
dart::dynamics::DynamicsAspect>(mBlockShape);
|
|
269
|
+
block->setRelativeTransform(mBlockOffset);
|
|
270
|
+
|
|
271
|
+
dart::dynamics::Inertia inertia = bn->getInertia();
|
|
272
|
+
inertia.setMass(DefaultBlockMass);
|
|
273
|
+
inertia.setMoment(mBlockShape->computeInertia(DefaultBlockMass));
|
|
274
|
+
inertia.setLocalCOM(DefaultBlockLength / 2.0 * Eigen::Vector3d::UnitX());
|
|
275
|
+
bn->setInertia(inertia);
|
|
276
|
+
|
|
277
|
+
getWorld()->getConstraintSolver()->getCollisionGroup()->addShapeFramesOf(
|
|
278
|
+
bn);
|
|
279
|
+
|
|
280
|
+
clearPick();
|
|
281
|
+
|
|
282
|
+
return std::make_pair(joint, bn);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
Eigen::Isometry3d getRelTf() const
|
|
286
|
+
{
|
|
287
|
+
return mPickedNode ? mTarget->getTransform(mPickedNode)
|
|
288
|
+
: mTarget->getWorldTransform();
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
void addWeldJointBlock()
|
|
292
|
+
{
|
|
293
|
+
addWeldJointBlock(mPickedNode, getRelTf());
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
dart::dynamics::BodyNode* addWeldJointBlock(
|
|
297
|
+
dart::dynamics::BodyNode* parent, const Eigen::Isometry3d& relTf)
|
|
298
|
+
{
|
|
299
|
+
return addBlock<dart::dynamics::WeldJoint>(parent, relTf, mWeldJointShape)
|
|
300
|
+
.second;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
void addRevoluteJointBlock()
|
|
304
|
+
{
|
|
305
|
+
addRevoluteJointBlock(mPickedNode, getRelTf());
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
dart::dynamics::BodyNode* addRevoluteJointBlock(
|
|
309
|
+
dart::dynamics::BodyNode* parent, const Eigen::Isometry3d& relTf)
|
|
310
|
+
{
|
|
311
|
+
auto pair = addBlock<dart::dynamics::RevoluteJoint>(
|
|
312
|
+
parent, relTf, mRevoluteJointShape);
|
|
313
|
+
|
|
314
|
+
if (pair.first)
|
|
315
|
+
pair.first->setAxis(Eigen::Vector3d::UnitZ());
|
|
316
|
+
|
|
317
|
+
return pair.second;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
void addBallJointBlock()
|
|
321
|
+
{
|
|
322
|
+
addBallJointBlock(mPickedNode, getRelTf());
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
dart::dynamics::BodyNode* addBallJointBlock(
|
|
326
|
+
dart::dynamics::BodyNode* parent, const Eigen::Isometry3d& relTf)
|
|
327
|
+
{
|
|
328
|
+
return addBlock<dart::dynamics::BallJoint>(parent, relTf, mBallJointShape)
|
|
329
|
+
.second;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
void createInitialToy1()
|
|
333
|
+
{
|
|
334
|
+
Eigen::Isometry3d tf(Eigen::Isometry3d::Identity());
|
|
335
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
336
|
+
dart::math::toRadian(45.0), Eigen::Vector3d::UnitY()));
|
|
337
|
+
dart::dynamics::BodyNode* bn = addBallJointBlock(nullptr, tf);
|
|
338
|
+
|
|
339
|
+
tf = Eigen::Isometry3d::Identity();
|
|
340
|
+
tf.translation()[0] = DefaultBlockLength;
|
|
341
|
+
tf.linear() = Eigen::Matrix3d::Identity();
|
|
342
|
+
tf.prerotate(Eigen::AngleAxisd(
|
|
343
|
+
dart::math::toRadian(90.0), Eigen::Vector3d::UnitX()));
|
|
344
|
+
bn = addRevoluteJointBlock(bn, tf);
|
|
345
|
+
|
|
346
|
+
tf = Eigen::Isometry3d::Identity();
|
|
347
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
348
|
+
dart::math::toRadian(90.0), Eigen::Vector3d::UnitZ()));
|
|
349
|
+
bn = addWeldJointBlock(bn, tf);
|
|
350
|
+
|
|
351
|
+
tf = Eigen::Isometry3d::Identity();
|
|
352
|
+
tf.translation()[0] = DefaultBlockLength / 2.0;
|
|
353
|
+
tf.translation()[2] = DefaultBlockWidth;
|
|
354
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
355
|
+
dart::math::toRadian(-30.0), Eigen::Vector3d::UnitZ()));
|
|
356
|
+
bn = addBallJointBlock(bn, tf);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
void createInitialToy2()
|
|
360
|
+
{
|
|
361
|
+
Eigen::Isometry3d tf(Eigen::Isometry3d::Identity());
|
|
362
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
363
|
+
dart::math::toRadian(90.0), Eigen::Vector3d::UnitY()));
|
|
364
|
+
tf.pretranslate(-1.0 * Eigen::Vector3d::UnitX());
|
|
365
|
+
dart::dynamics::BodyNode* bn = addBallJointBlock(nullptr, tf);
|
|
366
|
+
|
|
367
|
+
tf = Eigen::Isometry3d::Identity();
|
|
368
|
+
tf.translation()[0] = DefaultBlockLength;
|
|
369
|
+
tf.translation()[2] = DefaultBlockLength / 2.0;
|
|
370
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
371
|
+
dart::math::toRadian(90.0), Eigen::Vector3d::UnitY()));
|
|
372
|
+
bn = addWeldJointBlock(bn, tf);
|
|
373
|
+
|
|
374
|
+
tf = Eigen::Isometry3d::Identity();
|
|
375
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
376
|
+
dart::math::toRadian(-90.0), Eigen::Vector3d::UnitX()));
|
|
377
|
+
tf.rotate(Eigen::AngleAxisd(
|
|
378
|
+
dart::math::toRadian(-90.0), Eigen::Vector3d::UnitZ()));
|
|
379
|
+
tf.translation()[2] = DefaultBlockWidth / 2.0;
|
|
380
|
+
addRevoluteJointBlock(bn, tf);
|
|
381
|
+
|
|
382
|
+
tf.translation()[0] = DefaultBlockLength;
|
|
383
|
+
bn = addRevoluteJointBlock(bn, tf);
|
|
384
|
+
|
|
385
|
+
tf = Eigen::Isometry3d::Identity();
|
|
386
|
+
tf.translation()[0] = DefaultBlockLength;
|
|
387
|
+
addBallJointBlock(bn, tf);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
void createForceLine()
|
|
391
|
+
{
|
|
392
|
+
dart::dynamics::SimpleFramePtr lineFrame
|
|
393
|
+
= std::make_shared<dart::dynamics::SimpleFrame>(
|
|
394
|
+
dart::dynamics::Frame::World());
|
|
395
|
+
|
|
396
|
+
mForceLine = std::make_shared<dart::dynamics::LineSegmentShape>(
|
|
397
|
+
Eigen::Vector3d::Zero(), Eigen::Vector3d::Zero(), 3.0);
|
|
398
|
+
mForceLine->addDataVariance(dart::dynamics::Shape::DYNAMIC_VERTICES);
|
|
399
|
+
|
|
400
|
+
lineFrame->setShape(mForceLine);
|
|
401
|
+
lineFrame->createVisualAspect();
|
|
402
|
+
lineFrame->getVisualAspect()->setColor(DefaultForceLineColor);
|
|
403
|
+
|
|
404
|
+
getWorld()->addSimpleFrame(lineFrame);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
void setForceCoeff(double coeff)
|
|
408
|
+
{
|
|
409
|
+
mForceCoeff = coeff;
|
|
410
|
+
|
|
411
|
+
if (mForceCoeff > MaxForceCoeff)
|
|
412
|
+
mForceCoeff = MaxForceCoeff;
|
|
413
|
+
else if (mForceCoeff < MinForceCoeff)
|
|
414
|
+
mForceCoeff = MinForceCoeff;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
double getForceCoeff() const
|
|
418
|
+
{
|
|
419
|
+
return mForceCoeff;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
void incrementForceCoeff()
|
|
423
|
+
{
|
|
424
|
+
mForceCoeff += ForceIncrement;
|
|
425
|
+
if (mForceCoeff > MaxForceCoeff)
|
|
426
|
+
mForceCoeff = MaxForceCoeff;
|
|
427
|
+
|
|
428
|
+
std::cout << "[Force Coefficient: " << mForceCoeff << "]" << std::endl;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
void decrementForceCoeff()
|
|
432
|
+
{
|
|
433
|
+
mForceCoeff -= ForceIncrement;
|
|
434
|
+
if (mForceCoeff < MinForceCoeff)
|
|
435
|
+
mForceCoeff = MinForceCoeff;
|
|
436
|
+
|
|
437
|
+
std::cout << "[Force Coefficient: " << mForceCoeff << "]" << std::endl;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
void reorientTarget()
|
|
441
|
+
{
|
|
442
|
+
Eigen::Isometry3d tf = mTarget->getWorldTransform();
|
|
443
|
+
tf.linear() = Eigen::Matrix3d::Identity();
|
|
444
|
+
mTarget->setTransform(tf);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
float mForceCoeff;
|
|
448
|
+
|
|
449
|
+
protected:
|
|
450
|
+
void setupViewer() override
|
|
451
|
+
{
|
|
452
|
+
mViewer->enableDragAndDrop(mTarget.get());
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
dart::dynamics::ShapePtr mWeldJointShape;
|
|
456
|
+
dart::dynamics::ShapePtr mRevoluteJointShape;
|
|
457
|
+
dart::dynamics::ShapePtr mBallJointShape;
|
|
458
|
+
dart::dynamics::ShapePtr mBlockShape;
|
|
459
|
+
Eigen::Isometry3d mBlockOffset;
|
|
460
|
+
|
|
461
|
+
dart::dynamics::BodyNode* mPickedNode;
|
|
462
|
+
Eigen::Vector3d mPickedPoint;
|
|
463
|
+
dart::gui::osg::InteractiveFramePtr mTarget;
|
|
464
|
+
|
|
465
|
+
dart::dynamics::LineSegmentShapePtr mForceLine;
|
|
466
|
+
|
|
467
|
+
bool mWasSimulating;
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
#endif // DART_EXAMPLE_OSG_OSGATLASSIMBICON_TINKERTOYWORLDNODE_HPP_
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2011-2025, The DART development contributors
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* The list of contributors can be found at:
|
|
6
|
+
* https://github.com/dartsim/dart/blob/main/LICENSE
|
|
7
|
+
*
|
|
8
|
+
* This file is provided under the following "BSD-style" License:
|
|
9
|
+
* Redistribution and use in source and binary forms, with or
|
|
10
|
+
* without modification, are permitted provided that the following
|
|
11
|
+
* conditions are met:
|
|
12
|
+
* * Redistributions of source code must retain the above copyright
|
|
13
|
+
* notice, this list of conditions and the following disclaimer.
|
|
14
|
+
* * Redistributions in binary form must reproduce the above
|
|
15
|
+
* copyright notice, this list of conditions and the following
|
|
16
|
+
* disclaimer in the documentation and/or other materials provided
|
|
17
|
+
* with the distribution.
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
23
|
+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
26
|
+
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
27
|
+
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
28
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
29
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
30
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
#include "TinkertoyWidget.hpp"
|
|
34
|
+
#include "TinkertoyWorldNode.hpp"
|
|
35
|
+
|
|
36
|
+
#include <dart/gui/osg/osg.hpp>
|
|
37
|
+
|
|
38
|
+
#include <dart/dart.hpp>
|
|
39
|
+
|
|
40
|
+
//==============================================================================
|
|
41
|
+
class TinkertoyInputHandler : public osgGA::GUIEventHandler
|
|
42
|
+
{
|
|
43
|
+
public:
|
|
44
|
+
TinkertoyInputHandler(
|
|
45
|
+
dart::gui::osg::Viewer* viewer, TinkertoyWorldNode* node)
|
|
46
|
+
: mViewer(viewer), mNode(node)
|
|
47
|
+
{
|
|
48
|
+
// Do nothing
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
bool handle(
|
|
52
|
+
const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter&) override
|
|
53
|
+
{
|
|
54
|
+
if (ea.getEventType() == osgGA::GUIEventAdapter::KEYDOWN) {
|
|
55
|
+
if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Tab) {
|
|
56
|
+
mViewer->home();
|
|
57
|
+
return true;
|
|
58
|
+
} else if (ea.getKey() == '1') {
|
|
59
|
+
mNode->addWeldJointBlock();
|
|
60
|
+
return true;
|
|
61
|
+
} else if (ea.getKey() == '2') {
|
|
62
|
+
mNode->addRevoluteJointBlock();
|
|
63
|
+
return true;
|
|
64
|
+
} else if (ea.getKey() == '3') {
|
|
65
|
+
mNode->addBallJointBlock();
|
|
66
|
+
return true;
|
|
67
|
+
} else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_BackSpace) {
|
|
68
|
+
mNode->clearPick();
|
|
69
|
+
return true;
|
|
70
|
+
} else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Delete) {
|
|
71
|
+
mNode->deletePick();
|
|
72
|
+
return true;
|
|
73
|
+
} else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Up) {
|
|
74
|
+
mNode->incrementForceCoeff();
|
|
75
|
+
return true;
|
|
76
|
+
} else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Down) {
|
|
77
|
+
mNode->decrementForceCoeff();
|
|
78
|
+
return true;
|
|
79
|
+
} else if (ea.getKey() == '`') {
|
|
80
|
+
mNode->reorientTarget();
|
|
81
|
+
return true;
|
|
82
|
+
} else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Return) {
|
|
83
|
+
if (!mViewer->isRecording())
|
|
84
|
+
mViewer->record(DART_DATA_PATH "/screencap");
|
|
85
|
+
else
|
|
86
|
+
mViewer->pauseRecording();
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
dart::gui::osg::Viewer* mViewer;
|
|
95
|
+
TinkertoyWorldNode* mNode;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
//==============================================================================
|
|
99
|
+
class TinkertoyMouseHandler : public dart::gui::osg::MouseEventHandler
|
|
100
|
+
{
|
|
101
|
+
public:
|
|
102
|
+
TinkertoyMouseHandler(TinkertoyInputHandler* inputHandler)
|
|
103
|
+
: mInputHandler(inputHandler)
|
|
104
|
+
{
|
|
105
|
+
// Do nothing
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
void update() override
|
|
109
|
+
{
|
|
110
|
+
dart::gui::osg::Viewer* viewer = mInputHandler->mViewer;
|
|
111
|
+
TinkertoyWorldNode* node = mInputHandler->mNode;
|
|
112
|
+
|
|
113
|
+
dart::gui::osg::MouseButtonEvent event
|
|
114
|
+
= viewer->getDefaultEventHandler()->getButtonEvent(
|
|
115
|
+
dart::gui::osg::LEFT_MOUSE);
|
|
116
|
+
|
|
117
|
+
if (dart::gui::osg::BUTTON_PUSH == event) {
|
|
118
|
+
const std::vector<dart::gui::osg::PickInfo>& picks
|
|
119
|
+
= viewer->getDefaultEventHandler()->getButtonPicks(
|
|
120
|
+
dart::gui::osg::LEFT_MOUSE, dart::gui::osg::BUTTON_PUSH);
|
|
121
|
+
|
|
122
|
+
if (picks.empty())
|
|
123
|
+
return;
|
|
124
|
+
|
|
125
|
+
node->handlePick(picks.front());
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
TinkertoyInputHandler* mInputHandler;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
//==============================================================================
|
|
133
|
+
int main()
|
|
134
|
+
{
|
|
135
|
+
// Create a world
|
|
136
|
+
dart::simulation::WorldPtr world(new dart::simulation::World);
|
|
137
|
+
|
|
138
|
+
// Create some coordinate axes for the user's reference
|
|
139
|
+
dart::gui::osg::InteractiveFramePtr coordinates
|
|
140
|
+
= dart::gui::osg::InteractiveFrame::createShared(
|
|
141
|
+
dart::dynamics::Frame::World(),
|
|
142
|
+
"coordinates",
|
|
143
|
+
Eigen::Isometry3d::Identity(),
|
|
144
|
+
0.2);
|
|
145
|
+
|
|
146
|
+
for (size_t i = 0; i < 3; ++i)
|
|
147
|
+
for (size_t j = 0; j < 3; ++j)
|
|
148
|
+
coordinates->getTool((dart::gui::osg::InteractiveTool::Type)(i), j)
|
|
149
|
+
->setEnabled(false);
|
|
150
|
+
|
|
151
|
+
world->addSimpleFrame(coordinates);
|
|
152
|
+
|
|
153
|
+
// Create the OSG Node that represents the world
|
|
154
|
+
osg::ref_ptr<TinkertoyWorldNode> node = new TinkertoyWorldNode(world);
|
|
155
|
+
|
|
156
|
+
// Create the viewer
|
|
157
|
+
osg::ref_ptr<dart::gui::osg::ImGuiViewer> viewer
|
|
158
|
+
= new dart::gui::osg::ImGuiViewer();
|
|
159
|
+
viewer->addWorldNode(node);
|
|
160
|
+
|
|
161
|
+
// Add control widget for atlas
|
|
162
|
+
viewer->getImGuiHandler()->addWidget(
|
|
163
|
+
std::make_shared<TinkertoyWidget>(viewer, node.get()));
|
|
164
|
+
|
|
165
|
+
// Add the keyboard input handler
|
|
166
|
+
osg::ref_ptr<TinkertoyInputHandler> input
|
|
167
|
+
= new TinkertoyInputHandler(viewer, node);
|
|
168
|
+
viewer->addEventHandler(input.get());
|
|
169
|
+
|
|
170
|
+
// Add the mouse input handler
|
|
171
|
+
std::shared_ptr<TinkertoyMouseHandler> mouse
|
|
172
|
+
= std::make_shared<TinkertoyMouseHandler>(input);
|
|
173
|
+
viewer->getDefaultEventHandler()->addMouseEventHandler(mouse.get());
|
|
174
|
+
|
|
175
|
+
// Set the dimensions for the window
|
|
176
|
+
viewer->setUpViewInWindow(0, 0, 1280, 720);
|
|
177
|
+
|
|
178
|
+
// Set the window name
|
|
179
|
+
viewer->realize();
|
|
180
|
+
osgViewer::Viewer::Windows windows;
|
|
181
|
+
viewer->getWindows(windows);
|
|
182
|
+
windows.front()->setWindowName("Tinkertoy");
|
|
183
|
+
|
|
184
|
+
// Run the GUI application
|
|
185
|
+
viewer->run();
|
|
186
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.22.1)
|
|
2
|
+
|
|
3
|
+
get_filename_component(example_name ${CMAKE_CURRENT_LIST_DIR} NAME)
|
|
4
|
+
|
|
5
|
+
project(${example_name})
|
|
6
|
+
|
|
7
|
+
set(required_components utils-urdf gui-osg)
|
|
8
|
+
set(required_libraries dart dart-utils-urdf dart-gui-osg)
|
|
9
|
+
|
|
10
|
+
if(DART_IN_SOURCE_BUILD)
|
|
11
|
+
dart_build_example_in_source(${example_name} LINK_LIBRARIES ${required_libraries})
|
|
12
|
+
return()
|
|
13
|
+
endif()
|
|
14
|
+
|
|
15
|
+
find_package(DART 6.15.0 REQUIRED COMPONENTS ${required_components} CONFIG)
|
|
16
|
+
|
|
17
|
+
file(GLOB srcs "*.cpp" "*.hpp")
|
|
18
|
+
add_executable(${example_name} ${srcs})
|
|
19
|
+
target_link_libraries(${example_name} PUBLIC ${required_libraries})
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Vehicle
|
|
2
|
+
|
|
3
|
+
This example demonstrates a simple vehicle simulation with steering control and velocity control for wheels. The vehicle has four wheels with differential drive control.
|
|
4
|
+
|
|
5
|
+
## Controls
|
|
6
|
+
|
|
7
|
+
- `w`: Move forward (set back wheels to rotate forward)
|
|
8
|
+
- `s`: Stop (set back wheel velocity to zero)
|
|
9
|
+
- `x`: Move backward (set back wheels to rotate backward)
|
|
10
|
+
- `a`: Rotate steering wheels to left (maximum 30 degrees)
|
|
11
|
+
- `d`: Rotate steering wheels to right (maximum -30 degrees)
|
|
12
|
+
- `Space`: Simulation on/off
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
|
|
16
|
+
The vehicle example showcases:
|
|
17
|
+
- Basic vehicle kinematics and dynamics
|
|
18
|
+
- Steering control with angle limits
|
|
19
|
+
- Differential drive control for rear wheels
|
|
20
|
+
- PD control for wheel steering and velocity tracking
|
|
21
|
+
|
|
22
|
+
The vehicle uses proportional-derivative (PD) control to track desired steering angles and wheel velocities. The steering is limited to ±30 degrees for realistic behavior.
|