dartpy 7.0.0.dev0__cp312-cp312-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-312-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-2607815a.so.0.7.0 +0 -0
- dartpy.libs/libfmt-277170bf.so.11.2.0 +0 -0
- dartpy.libs/libfontconfig-559ff509.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-78f9bc34.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-caca20fc.so.8.2.0 +0 -0
- dartpy.libs/libosg-e67375e5.so.3.6.5 +0 -0
- dartpy.libs/libosgDB-22ae780f.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-8caf1954.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,740 @@
|
|
|
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 <dart/gui/osg/osg.hpp>
|
|
34
|
+
|
|
35
|
+
#include <dart/utils/urdf/urdf.hpp>
|
|
36
|
+
#include <dart/utils/utils.hpp>
|
|
37
|
+
|
|
38
|
+
#include <dart/dart.hpp>
|
|
39
|
+
|
|
40
|
+
#include <cmath>
|
|
41
|
+
|
|
42
|
+
using namespace dart;
|
|
43
|
+
using namespace dart::common;
|
|
44
|
+
using namespace dart::dynamics;
|
|
45
|
+
using namespace dart::math;
|
|
46
|
+
|
|
47
|
+
static const std::string& robotName = "KR5";
|
|
48
|
+
|
|
49
|
+
class PointCloudWorld : public gui::osg::RealTimeWorldNode
|
|
50
|
+
{
|
|
51
|
+
public:
|
|
52
|
+
enum PointSamplingMode
|
|
53
|
+
{
|
|
54
|
+
SAMPLE_ON_ROBOT = 0,
|
|
55
|
+
SAMPLE_IN_BOX = 1,
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
explicit PointCloudWorld(
|
|
59
|
+
simulation::WorldPtr world, dynamics::SkeletonPtr robot)
|
|
60
|
+
: gui::osg::RealTimeWorldNode(std::move(world)),
|
|
61
|
+
mSampleingMode(SAMPLE_ON_ROBOT),
|
|
62
|
+
mRobot(std::move(robot))
|
|
63
|
+
{
|
|
64
|
+
auto pointCloudFrame = mWorld->getSimpleFrame("point cloud");
|
|
65
|
+
auto voxelGridFrame = mWorld->getSimpleFrame("voxel");
|
|
66
|
+
|
|
67
|
+
mPointCloudShape = std::dynamic_pointer_cast<dynamics::PointCloudShape>(
|
|
68
|
+
pointCloudFrame->getShape());
|
|
69
|
+
mPointCloudShape->setColorMode(dynamics::PointCloudShape::BIND_PER_POINT);
|
|
70
|
+
mVoxelGridShape = std::dynamic_pointer_cast<dynamics::VoxelGridShape>(
|
|
71
|
+
voxelGridFrame->getShape());
|
|
72
|
+
|
|
73
|
+
mPointCloudVisualAspect = pointCloudFrame->getVisualAspect();
|
|
74
|
+
mVoxelGridVisualAspect = voxelGridFrame->getVisualAspect();
|
|
75
|
+
mVoxelGridVisualAspect->show();
|
|
76
|
+
|
|
77
|
+
assert(mVoxelGridShape);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
void setPointSamplingMode(PointSamplingMode mode)
|
|
81
|
+
{
|
|
82
|
+
mSampleingMode = mode;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
PointSamplingMode getPointSamplingMode() const
|
|
86
|
+
{
|
|
87
|
+
return mSampleingMode;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Triggered at the beginning of each simulation step
|
|
91
|
+
void customPreStep() override
|
|
92
|
+
{
|
|
93
|
+
if (!mRobot)
|
|
94
|
+
return;
|
|
95
|
+
|
|
96
|
+
if (!mUpdate)
|
|
97
|
+
return;
|
|
98
|
+
|
|
99
|
+
// Set robot pose
|
|
100
|
+
Eigen::VectorXd pos = mRobot->getPositions();
|
|
101
|
+
pos += 0.01 * Eigen::VectorXd::Random(pos.size());
|
|
102
|
+
mRobot->setPositions(pos);
|
|
103
|
+
|
|
104
|
+
// Generate point cloud from robot meshes
|
|
105
|
+
octomap::Pointcloud pointCloud;
|
|
106
|
+
auto numPoints = 500u;
|
|
107
|
+
switch (mSampleingMode) {
|
|
108
|
+
case SAMPLE_ON_ROBOT:
|
|
109
|
+
pointCloud = generatePointCloudOnRobot(numPoints);
|
|
110
|
+
break;
|
|
111
|
+
case SAMPLE_IN_BOX:
|
|
112
|
+
pointCloud = generatePointCloudInBox(
|
|
113
|
+
numPoints,
|
|
114
|
+
Eigen::Vector3d::Constant(-0.5),
|
|
115
|
+
Eigen::Vector3d::Constant(0.5));
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Update sensor position
|
|
120
|
+
static double time = 0.0;
|
|
121
|
+
const double dt = 0.001;
|
|
122
|
+
const double radius = 1.0;
|
|
123
|
+
Eigen::Vector3d center = Eigen::Vector3d(0.0, 0.1, 0.0);
|
|
124
|
+
Eigen::Vector3d sensorPos = center;
|
|
125
|
+
sensorPos[0] = radius * std::sin(time);
|
|
126
|
+
sensorPos[1] = radius * std::cos(time);
|
|
127
|
+
sensorPos[2] = 0.5 + 0.25 * std::sin(time * 2.0);
|
|
128
|
+
time += dt;
|
|
129
|
+
auto sensorFrame = mWorld->getSimpleFrame("sensor");
|
|
130
|
+
assert(sensorFrame);
|
|
131
|
+
sensorFrame->setTranslation(sensorPos);
|
|
132
|
+
|
|
133
|
+
// Update point cloud
|
|
134
|
+
mPointCloudShape->setPoints(pointCloud);
|
|
135
|
+
|
|
136
|
+
// Update point cloud colors
|
|
137
|
+
auto colors = generatePointCloudColors(pointCloud);
|
|
138
|
+
assert(pointCloud.size() == colors.size());
|
|
139
|
+
mPointCloudShape->setColors(colors);
|
|
140
|
+
|
|
141
|
+
// Update voxel
|
|
142
|
+
mVoxelGridShape->updateOccupancy(pointCloud, sensorPos);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
dynamics::VisualAspect* getPointCloudVisualAspect()
|
|
146
|
+
{
|
|
147
|
+
return mPointCloudVisualAspect;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
dynamics::VisualAspect* getVoxelGridVisualAspect()
|
|
151
|
+
{
|
|
152
|
+
return mVoxelGridVisualAspect;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
void setUpdate(bool update)
|
|
156
|
+
{
|
|
157
|
+
mUpdate = update;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
bool getUpdate() const
|
|
161
|
+
{
|
|
162
|
+
return mUpdate;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
std::shared_ptr<dynamics::PointCloudShape> getPointCloudShape()
|
|
166
|
+
{
|
|
167
|
+
return mPointCloudShape;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
std::shared_ptr<const dynamics::PointCloudShape> getPointCloudShape() const
|
|
171
|
+
{
|
|
172
|
+
return mPointCloudShape;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
protected:
|
|
176
|
+
octomap::Pointcloud generatePointCloudOnRobot(std::size_t numPoints)
|
|
177
|
+
{
|
|
178
|
+
octomap::Pointcloud pointCloud;
|
|
179
|
+
pointCloud.reserve(numPoints);
|
|
180
|
+
|
|
181
|
+
const auto numBodies = mRobot->getNumBodyNodes();
|
|
182
|
+
assert(numBodies > 0);
|
|
183
|
+
while (true) {
|
|
184
|
+
const auto bodyIndex
|
|
185
|
+
= math::Random::uniform<std::size_t>(0, numBodies - 1);
|
|
186
|
+
auto body = mRobot->getBodyNode(bodyIndex);
|
|
187
|
+
const auto numShapeNodes
|
|
188
|
+
= body->getNumShapeNodesWith<dynamics::VisualAspect>();
|
|
189
|
+
if (numShapeNodes == 0)
|
|
190
|
+
continue;
|
|
191
|
+
|
|
192
|
+
const auto shapeIndex
|
|
193
|
+
= math::Random::uniform<std::size_t>(0, numShapeNodes - 1);
|
|
194
|
+
auto shapeNode
|
|
195
|
+
= body->getShapeNodeWith<dynamics::VisualAspect>(shapeIndex);
|
|
196
|
+
auto shape = shapeNode->getShape();
|
|
197
|
+
assert(shape);
|
|
198
|
+
|
|
199
|
+
if (!shape->is<dynamics::MeshShape>())
|
|
200
|
+
continue;
|
|
201
|
+
auto mesh = std::static_pointer_cast<dynamics::MeshShape>(shape);
|
|
202
|
+
|
|
203
|
+
auto assimpScene = mesh->getMesh();
|
|
204
|
+
assert(assimpScene);
|
|
205
|
+
|
|
206
|
+
if (assimpScene->mNumMeshes < 1)
|
|
207
|
+
continue;
|
|
208
|
+
const auto meshIndex
|
|
209
|
+
= math::Random::uniform<std::size_t>(0, assimpScene->mNumMeshes - 1);
|
|
210
|
+
|
|
211
|
+
auto assimpMesh = assimpScene->mMeshes[meshIndex];
|
|
212
|
+
auto numVertices = assimpMesh->mNumVertices;
|
|
213
|
+
|
|
214
|
+
auto vertexIndex
|
|
215
|
+
= math::Random::uniform<unsigned int>(0, numVertices - 1);
|
|
216
|
+
auto vertex = assimpMesh->mVertices[vertexIndex];
|
|
217
|
+
|
|
218
|
+
Eigen::Isometry3d tf = shapeNode->getWorldTransform();
|
|
219
|
+
Eigen::Vector3d eigenVertex
|
|
220
|
+
= Eigen::Vector3f(vertex.x, vertex.y, vertex.z).cast<double>();
|
|
221
|
+
eigenVertex = tf * eigenVertex;
|
|
222
|
+
|
|
223
|
+
pointCloud.push_back(
|
|
224
|
+
static_cast<float>(eigenVertex.x()),
|
|
225
|
+
static_cast<float>(eigenVertex.y()),
|
|
226
|
+
static_cast<float>(eigenVertex.z()));
|
|
227
|
+
|
|
228
|
+
if (pointCloud.size() == numPoints)
|
|
229
|
+
return pointCloud;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
octomap::Pointcloud generatePointCloudInBox(
|
|
234
|
+
std::size_t numPoints,
|
|
235
|
+
const Eigen::Vector3d& min = Eigen::Vector3d::Constant(-0.5),
|
|
236
|
+
const Eigen::Vector3d& max = Eigen::Vector3d::Constant(0.5))
|
|
237
|
+
{
|
|
238
|
+
octomap::Pointcloud pointCloud;
|
|
239
|
+
pointCloud.reserve(numPoints);
|
|
240
|
+
|
|
241
|
+
for (auto i = 0u; i < numPoints; ++i) {
|
|
242
|
+
const Eigen::Vector3d point = math::Random::uniform(min, max);
|
|
243
|
+
pointCloud.push_back(
|
|
244
|
+
static_cast<float>(point.x()),
|
|
245
|
+
static_cast<float>(point.y()),
|
|
246
|
+
static_cast<float>(point.z()));
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return pointCloud;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
std::vector<Eigen::Vector4d, Eigen::aligned_allocator<Eigen::Vector4d>>
|
|
253
|
+
generatePointCloudColors(const octomap::Pointcloud& pointCloud)
|
|
254
|
+
{
|
|
255
|
+
const auto& points = mPointCloudShape->getPoints();
|
|
256
|
+
double minZ = std::numeric_limits<double>::max();
|
|
257
|
+
double maxZ = std::numeric_limits<double>::min();
|
|
258
|
+
for (const auto& point : points) {
|
|
259
|
+
minZ = std::min(minZ, point.z());
|
|
260
|
+
maxZ = std::max(maxZ, point.z());
|
|
261
|
+
}
|
|
262
|
+
double diffZ
|
|
263
|
+
= std::max(std::abs(maxZ - minZ), std::numeric_limits<double>::min());
|
|
264
|
+
|
|
265
|
+
std::vector<Eigen::Vector4d, Eigen::aligned_allocator<Eigen::Vector4d>>
|
|
266
|
+
colors;
|
|
267
|
+
colors.reserve(pointCloud.size());
|
|
268
|
+
for (const auto& point : pointCloud) {
|
|
269
|
+
float r
|
|
270
|
+
= (point.z() - static_cast<float>(minZ)) / static_cast<float>(diffZ);
|
|
271
|
+
float g = 0.0f;
|
|
272
|
+
float b = 1.f - r;
|
|
273
|
+
r = math::clip(r, 0.1f, 0.9f);
|
|
274
|
+
g = math::clip(g, 0.1f, 0.9f);
|
|
275
|
+
b = math::clip(b, 0.1f, 0.9f);
|
|
276
|
+
colors.emplace_back(Eigen::Vector4f(r, g, b, 0.75).cast<double>());
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
return colors;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
PointSamplingMode mSampleingMode;
|
|
283
|
+
|
|
284
|
+
SkeletonPtr mRobot;
|
|
285
|
+
|
|
286
|
+
std::shared_ptr<dynamics::PointCloudShape> mPointCloudShape;
|
|
287
|
+
std::shared_ptr<dynamics::VoxelGridShape> mVoxelGridShape;
|
|
288
|
+
|
|
289
|
+
dynamics::VisualAspect* mPointCloudVisualAspect;
|
|
290
|
+
dynamics::VisualAspect* mVoxelGridVisualAspect;
|
|
291
|
+
|
|
292
|
+
bool mUpdate{true};
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
class PointCloudWidget : public dart::gui::osg::ImGuiWidget
|
|
296
|
+
{
|
|
297
|
+
public:
|
|
298
|
+
PointCloudWidget(
|
|
299
|
+
dart::gui::osg::ImGuiViewer* viewer,
|
|
300
|
+
PointCloudWorld* node,
|
|
301
|
+
gui::osg::GridVisual* grid)
|
|
302
|
+
: mViewer(viewer), mNode(node), mGrid(grid)
|
|
303
|
+
{
|
|
304
|
+
// Do nothing
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
void render() override
|
|
308
|
+
{
|
|
309
|
+
ImGui::SetNextWindowPos(ImVec2(10, 20));
|
|
310
|
+
ImGui::SetNextWindowSize(ImVec2(360, 600));
|
|
311
|
+
ImGui::SetNextWindowBgAlpha(0.5f);
|
|
312
|
+
if (!ImGui::Begin(
|
|
313
|
+
"Point Cloud & Voxel Grid Demo",
|
|
314
|
+
nullptr,
|
|
315
|
+
ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_HorizontalScrollbar)) {
|
|
316
|
+
// Early out if the window is collapsed, as an optimization.
|
|
317
|
+
ImGui::End();
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Menu
|
|
322
|
+
if (ImGui::BeginMenuBar()) {
|
|
323
|
+
if (ImGui::BeginMenu("Menu")) {
|
|
324
|
+
if (ImGui::MenuItem("Exit"))
|
|
325
|
+
mViewer->setDone(true);
|
|
326
|
+
ImGui::EndMenu();
|
|
327
|
+
}
|
|
328
|
+
if (ImGui::BeginMenu("Help")) {
|
|
329
|
+
if (ImGui::MenuItem("About DART"))
|
|
330
|
+
mViewer->showAbout();
|
|
331
|
+
ImGui::EndMenu();
|
|
332
|
+
}
|
|
333
|
+
ImGui::EndMenuBar();
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
ImGui::Text("Point cloud and voxel grid rendering example");
|
|
337
|
+
ImGui::Spacing();
|
|
338
|
+
ImGui::TextWrapped(
|
|
339
|
+
"The robot is moving by random joint velocities. The small blue boxes "
|
|
340
|
+
"and orange boxes represent point cloud and voxel grid, respectively. "
|
|
341
|
+
"The moving red sphere represents the sensor origin that generates the "
|
|
342
|
+
"point cloud.");
|
|
343
|
+
|
|
344
|
+
if (ImGui::CollapsingHeader("Help")) {
|
|
345
|
+
ImGui::PushTextWrapPos(ImGui::GetCursorPos().x + 320);
|
|
346
|
+
ImGui::Text("User Guid:\n");
|
|
347
|
+
ImGui::Text("%s", mViewer->getInstructions().c_str());
|
|
348
|
+
ImGui::PopTextWrapPos();
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
if (ImGui::CollapsingHeader("Simulation", ImGuiTreeNodeFlags_DefaultOpen)) {
|
|
352
|
+
int e = mViewer->isSimulating() ? 0 : 1;
|
|
353
|
+
if (mViewer->isAllowingSimulation()) {
|
|
354
|
+
if (ImGui::RadioButton("Play", &e, 0) && !mViewer->isSimulating())
|
|
355
|
+
mViewer->simulate(true);
|
|
356
|
+
ImGui::SameLine();
|
|
357
|
+
if (ImGui::RadioButton("Pause", &e, 1) && mViewer->isSimulating())
|
|
358
|
+
mViewer->simulate(false);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
int robotUpdate = mNode->getUpdate() ? 0 : 1;
|
|
362
|
+
if (ImGui::RadioButton("Run Robot Updating", &robotUpdate, 0))
|
|
363
|
+
mNode->setUpdate(true);
|
|
364
|
+
ImGui::SameLine();
|
|
365
|
+
if (ImGui::RadioButton("Stop Robot Updating", &robotUpdate, 1))
|
|
366
|
+
mNode->setUpdate(false);
|
|
367
|
+
|
|
368
|
+
int samplingMode
|
|
369
|
+
= mNode->getPointSamplingMode() == PointCloudWorld::SAMPLE_ON_ROBOT
|
|
370
|
+
? 0
|
|
371
|
+
: 1;
|
|
372
|
+
if (ImGui::RadioButton("Sample on robot", &samplingMode, 0))
|
|
373
|
+
mNode->setPointSamplingMode(PointCloudWorld::SAMPLE_ON_ROBOT);
|
|
374
|
+
ImGui::SameLine();
|
|
375
|
+
if (ImGui::RadioButton("Sample in box", &samplingMode, 1))
|
|
376
|
+
mNode->setPointSamplingMode(PointCloudWorld::SAMPLE_IN_BOX);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
if (ImGui::CollapsingHeader("View", ImGuiTreeNodeFlags_DefaultOpen)) {
|
|
380
|
+
if (mViewer->isAllowingSimulation()) {
|
|
381
|
+
// Point cloud settings
|
|
382
|
+
bool pcShow = !mNode->getPointCloudVisualAspect()->isHidden();
|
|
383
|
+
if (ImGui::Checkbox("Point Cloud", &pcShow)) {
|
|
384
|
+
if (pcShow)
|
|
385
|
+
mNode->getPointCloudVisualAspect()->show();
|
|
386
|
+
else
|
|
387
|
+
mNode->getPointCloudVisualAspect()->hide();
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if (pcShow) {
|
|
391
|
+
auto pointCloudShape = mNode->getPointCloudShape();
|
|
392
|
+
|
|
393
|
+
const char* colorModeItems[]
|
|
394
|
+
= {"Use shape color", "Bind overall", "Bind per point"};
|
|
395
|
+
int colorMode = pointCloudShape->getColorMode();
|
|
396
|
+
if (ImGui::Combo(
|
|
397
|
+
"Color Mode",
|
|
398
|
+
&colorMode,
|
|
399
|
+
colorModeItems,
|
|
400
|
+
IM_ARRAYSIZE(colorModeItems))) {
|
|
401
|
+
if (colorMode == 0) {
|
|
402
|
+
pointCloudShape->setColorMode(
|
|
403
|
+
dynamics::PointCloudShape::USE_SHAPE_COLOR);
|
|
404
|
+
} else if (colorMode == 1) {
|
|
405
|
+
pointCloudShape->setColorMode(
|
|
406
|
+
dynamics::PointCloudShape::BIND_OVERALL);
|
|
407
|
+
} else if (colorMode == 2) {
|
|
408
|
+
pointCloudShape->setColorMode(
|
|
409
|
+
dynamics::PointCloudShape::BIND_PER_POINT);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (colorMode == 0) {
|
|
413
|
+
auto visual = mNode->getPointCloudVisualAspect();
|
|
414
|
+
Eigen::Vector4d rgba = visual->getRGBA();
|
|
415
|
+
float color_rbga[4];
|
|
416
|
+
color_rbga[0] = static_cast<float>(rgba[0]);
|
|
417
|
+
color_rbga[1] = static_cast<float>(rgba[1]);
|
|
418
|
+
color_rbga[2] = static_cast<float>(rgba[2]);
|
|
419
|
+
color_rbga[3] = static_cast<float>(rgba[3]);
|
|
420
|
+
if (ImGui::ColorEdit4("Color", color_rbga)) {
|
|
421
|
+
rgba[0] = static_cast<double>(color_rbga[0]);
|
|
422
|
+
rgba[1] = static_cast<double>(color_rbga[1]);
|
|
423
|
+
rgba[2] = static_cast<double>(color_rbga[2]);
|
|
424
|
+
rgba[3] = static_cast<double>(color_rbga[3]);
|
|
425
|
+
visual->setRGBA(rgba);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
const char* pointShapeTypeItems[]
|
|
430
|
+
= {"Box", "Billboard Square", "Billboard Circle", "Point"};
|
|
431
|
+
int pointShapeType = pointCloudShape->getPointShapeType();
|
|
432
|
+
if (ImGui::Combo(
|
|
433
|
+
"Point Shape Type",
|
|
434
|
+
&pointShapeType,
|
|
435
|
+
pointShapeTypeItems,
|
|
436
|
+
IM_ARRAYSIZE(pointShapeTypeItems))) {
|
|
437
|
+
if (pointShapeType == 0) {
|
|
438
|
+
pointCloudShape->setPointShapeType(
|
|
439
|
+
dynamics::PointCloudShape::BOX);
|
|
440
|
+
} else if (pointShapeType == 1) {
|
|
441
|
+
pointCloudShape->setPointShapeType(
|
|
442
|
+
dynamics::PointCloudShape::BILLBOARD_SQUARE);
|
|
443
|
+
} else if (pointShapeType == 2) {
|
|
444
|
+
pointCloudShape->setPointShapeType(
|
|
445
|
+
dynamics::PointCloudShape::BILLBOARD_CIRCLE);
|
|
446
|
+
} else if (pointShapeType == 3) {
|
|
447
|
+
pointCloudShape->setPointShapeType(
|
|
448
|
+
dynamics::PointCloudShape::POINT);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
float visualSize
|
|
453
|
+
= static_cast<float>(pointCloudShape->getVisualSize());
|
|
454
|
+
if (ImGui::InputFloat(
|
|
455
|
+
"Visual Size", &visualSize, 0.01f, 0.02f, "%.2f")) {
|
|
456
|
+
if (visualSize < 0.01f)
|
|
457
|
+
visualSize = 0.01f;
|
|
458
|
+
pointCloudShape->setVisualSize(static_cast<double>(visualSize));
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
::ImGui::Separator();
|
|
463
|
+
|
|
464
|
+
// Voxel settings
|
|
465
|
+
bool vgShow = !mNode->getVoxelGridVisualAspect()->isHidden();
|
|
466
|
+
if (ImGui::Checkbox("Voxel Grid", &vgShow)) {
|
|
467
|
+
if (vgShow)
|
|
468
|
+
mNode->getVoxelGridVisualAspect()->show();
|
|
469
|
+
else
|
|
470
|
+
mNode->getVoxelGridVisualAspect()->hide();
|
|
471
|
+
}
|
|
472
|
+
if (vgShow) {
|
|
473
|
+
auto visual = mNode->getVoxelGridVisualAspect();
|
|
474
|
+
Eigen::Vector4d rgba = visual->getRGBA();
|
|
475
|
+
float color_rbga[4];
|
|
476
|
+
color_rbga[0] = static_cast<float>(rgba[0]);
|
|
477
|
+
color_rbga[1] = static_cast<float>(rgba[1]);
|
|
478
|
+
color_rbga[2] = static_cast<float>(rgba[2]);
|
|
479
|
+
color_rbga[3] = static_cast<float>(rgba[3]);
|
|
480
|
+
if (ImGui::ColorEdit4("Voxel grid color", color_rbga)) {
|
|
481
|
+
rgba[0] = static_cast<double>(color_rbga[0]);
|
|
482
|
+
rgba[1] = static_cast<double>(color_rbga[1]);
|
|
483
|
+
rgba[2] = static_cast<double>(color_rbga[2]);
|
|
484
|
+
rgba[3] = static_cast<double>(color_rbga[3]);
|
|
485
|
+
visual->setRGBA(rgba);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
if (ImGui::CollapsingHeader("Grid", ImGuiTreeNodeFlags_None)) {
|
|
491
|
+
assert(mGrid);
|
|
492
|
+
ImGui::Text("Grid");
|
|
493
|
+
|
|
494
|
+
bool display = mGrid->isDisplayed();
|
|
495
|
+
if (ImGui::Checkbox("Show", &display))
|
|
496
|
+
mGrid->display(display);
|
|
497
|
+
|
|
498
|
+
if (display) {
|
|
499
|
+
int e = static_cast<int>(mGrid->getPlaneType());
|
|
500
|
+
if (mViewer->isAllowingSimulation()) {
|
|
501
|
+
if (ImGui::RadioButton("XY-Plane", &e, 0))
|
|
502
|
+
mGrid->setPlaneType(gui::osg::GridVisual::PlaneType::XY);
|
|
503
|
+
ImGui::SameLine();
|
|
504
|
+
if (ImGui::RadioButton("YZ-Plane", &e, 1))
|
|
505
|
+
mGrid->setPlaneType(gui::osg::GridVisual::PlaneType::YZ);
|
|
506
|
+
ImGui::SameLine();
|
|
507
|
+
if (ImGui::RadioButton("ZX-Plane", &e, 2))
|
|
508
|
+
mGrid->setPlaneType(gui::osg::GridVisual::PlaneType::ZX);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
static Eigen::Vector3f offset;
|
|
512
|
+
ImGui::Columns(3);
|
|
513
|
+
offset = mGrid->getOffset().cast<float>();
|
|
514
|
+
if (ImGui::InputFloat("X", &offset[0], 0.1f, 0.5f, "%.1f"))
|
|
515
|
+
mGrid->setOffset(offset.cast<double>());
|
|
516
|
+
ImGui::NextColumn();
|
|
517
|
+
if (ImGui::InputFloat("Y", &offset[1], 0.1f, 0.5f, "%.1f"))
|
|
518
|
+
mGrid->setOffset(offset.cast<double>());
|
|
519
|
+
ImGui::NextColumn();
|
|
520
|
+
if (ImGui::InputFloat("Z", &offset[2], 0.1f, 0.5f, "%.1f"))
|
|
521
|
+
mGrid->setOffset(offset.cast<double>());
|
|
522
|
+
ImGui::Columns(1);
|
|
523
|
+
|
|
524
|
+
static int cellCount;
|
|
525
|
+
cellCount = static_cast<int>(mGrid->getNumCells());
|
|
526
|
+
if (ImGui::InputInt("Line Count", &cellCount, 1, 5)) {
|
|
527
|
+
if (cellCount < 0)
|
|
528
|
+
cellCount = 0;
|
|
529
|
+
mGrid->setNumCells(static_cast<std::size_t>(cellCount));
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
static float cellStepSize;
|
|
533
|
+
cellStepSize = static_cast<float>(mGrid->getMinorLineStepSize());
|
|
534
|
+
if (ImGui::InputFloat(
|
|
535
|
+
"Line Step Size", &cellStepSize, 0.001f, 0.1f)) {
|
|
536
|
+
mGrid->setMinorLineStepSize(static_cast<double>(cellStepSize));
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
static int minorLinesPerMajorLine;
|
|
540
|
+
minorLinesPerMajorLine
|
|
541
|
+
= static_cast<int>(mGrid->getNumMinorLinesPerMajorLine());
|
|
542
|
+
if (ImGui::InputInt(
|
|
543
|
+
"Minor Lines per Major Line",
|
|
544
|
+
&minorLinesPerMajorLine,
|
|
545
|
+
1,
|
|
546
|
+
5)) {
|
|
547
|
+
if (minorLinesPerMajorLine < 0)
|
|
548
|
+
minorLinesPerMajorLine = 0;
|
|
549
|
+
mGrid->setNumMinorLinesPerMajorLine(
|
|
550
|
+
static_cast<std::size_t>(minorLinesPerMajorLine));
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
static float axisLineWidth;
|
|
554
|
+
axisLineWidth = mGrid->getAxisLineWidth();
|
|
555
|
+
if (ImGui::InputFloat(
|
|
556
|
+
"Axis Line Width", &axisLineWidth, 1.f, 2.f, "%.0f")) {
|
|
557
|
+
mGrid->setAxisLineWidth(axisLineWidth);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
static float majorLineWidth;
|
|
561
|
+
majorLineWidth = mGrid->getMajorLineWidth();
|
|
562
|
+
if (ImGui::InputFloat(
|
|
563
|
+
"Major Line Width", &majorLineWidth, 1.f, 2.f, "%.0f")) {
|
|
564
|
+
mGrid->setMajorLineWidth(majorLineWidth);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
static float majorColor[3];
|
|
568
|
+
auto internalmajorColor = mGrid->getMajorLineColor();
|
|
569
|
+
majorColor[0] = static_cast<float>(internalmajorColor.x());
|
|
570
|
+
majorColor[1] = static_cast<float>(internalmajorColor.y());
|
|
571
|
+
majorColor[2] = static_cast<float>(internalmajorColor.z());
|
|
572
|
+
if (ImGui::ColorEdit3("Major Line Color", majorColor)) {
|
|
573
|
+
internalmajorColor[0] = static_cast<double>(majorColor[0]);
|
|
574
|
+
internalmajorColor[1] = static_cast<double>(majorColor[1]);
|
|
575
|
+
internalmajorColor[2] = static_cast<double>(majorColor[2]);
|
|
576
|
+
mGrid->setMajorLineColor(internalmajorColor);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
static float minorLineWidth;
|
|
580
|
+
minorLineWidth = mGrid->getMinorLineWidth();
|
|
581
|
+
if (ImGui::InputFloat(
|
|
582
|
+
"Minor Line Width", &minorLineWidth, 1.f, 2.f, "%.0f")) {
|
|
583
|
+
mGrid->setMinorLineWidth(minorLineWidth);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
float minorColor[3];
|
|
587
|
+
auto internalMinorColor = mGrid->getMinorLineColor();
|
|
588
|
+
minorColor[0] = static_cast<float>(internalMinorColor.x());
|
|
589
|
+
minorColor[1] = static_cast<float>(internalMinorColor.y());
|
|
590
|
+
minorColor[2] = static_cast<float>(internalMinorColor.z());
|
|
591
|
+
if (ImGui::ColorEdit3("Minor Line Color", minorColor)) {
|
|
592
|
+
internalMinorColor[0] = static_cast<double>(minorColor[0]);
|
|
593
|
+
internalMinorColor[1] = static_cast<double>(minorColor[1]);
|
|
594
|
+
internalMinorColor[2] = static_cast<double>(minorColor[2]);
|
|
595
|
+
mGrid->setMinorLineColor(internalMinorColor);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
ImGui::End();
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
protected:
|
|
605
|
+
osg::ref_ptr<dart::gui::osg::ImGuiViewer> mViewer;
|
|
606
|
+
osg::ref_ptr<PointCloudWorld> mNode;
|
|
607
|
+
osg::ref_ptr<gui::osg::GridVisual> mGrid;
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
dynamics::SkeletonPtr createRobot(const std::string& name)
|
|
611
|
+
{
|
|
612
|
+
auto urdfParser = dart::utils::DartLoader();
|
|
613
|
+
|
|
614
|
+
// Load the robot
|
|
615
|
+
auto robot
|
|
616
|
+
= urdfParser.parseSkeleton("dart://sample/urdf/KR5/KR5 sixx R650.urdf");
|
|
617
|
+
|
|
618
|
+
// Rotate the robot so that z is upwards (default transform is not Identity)
|
|
619
|
+
robot->getJoint(0)->setTransformFromParentBodyNode(
|
|
620
|
+
Eigen::Isometry3d::Identity());
|
|
621
|
+
|
|
622
|
+
robot->setName(name);
|
|
623
|
+
|
|
624
|
+
return robot;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
dynamics::SkeletonPtr createGround()
|
|
628
|
+
{
|
|
629
|
+
auto urdfParser = dart::utils::DartLoader();
|
|
630
|
+
|
|
631
|
+
auto ground = urdfParser.parseSkeleton("dart://sample/urdf/KR5/ground.urdf");
|
|
632
|
+
|
|
633
|
+
// Rotate and move the ground so that z is upwards
|
|
634
|
+
Eigen::Isometry3d ground_tf
|
|
635
|
+
= ground->getJoint(0)->getTransformFromParentBodyNode();
|
|
636
|
+
ground_tf.pretranslate(Eigen::Vector3d(0, 0, 0.5));
|
|
637
|
+
ground_tf.rotate(
|
|
638
|
+
Eigen::AngleAxisd(constantsd::pi() / 2, Eigen::Vector3d(1, 0, 0)));
|
|
639
|
+
ground->getJoint(0)->setTransformFromParentBodyNode(ground_tf);
|
|
640
|
+
|
|
641
|
+
return ground;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
dynamics::SimpleFramePtr createVoxelFrame(double resolution = 0.01)
|
|
645
|
+
{
|
|
646
|
+
auto voxelShape
|
|
647
|
+
= ::std::make_shared<dart::dynamics::VoxelGridShape>(resolution);
|
|
648
|
+
auto voxelFrame = ::dart::dynamics::SimpleFrame::createShared(
|
|
649
|
+
dart::dynamics::Frame::World());
|
|
650
|
+
voxelFrame->setName("voxel");
|
|
651
|
+
voxelFrame->setShape(voxelShape);
|
|
652
|
+
auto visualAspect = voxelFrame->createVisualAspect();
|
|
653
|
+
visualAspect->setRGBA(Color::Orange(0.5));
|
|
654
|
+
|
|
655
|
+
return voxelFrame;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
dynamics::SimpleFramePtr createPointCloudFrame()
|
|
659
|
+
{
|
|
660
|
+
auto pointCloudShape
|
|
661
|
+
= ::std::make_shared<::dart::dynamics::PointCloudShape>();
|
|
662
|
+
pointCloudShape->setPointShapeType(::dart::dynamics::PointCloudShape::BOX);
|
|
663
|
+
auto pointCloudFrame = ::dart::dynamics::SimpleFrame::createShared(
|
|
664
|
+
dart::dynamics::Frame::World());
|
|
665
|
+
pointCloudFrame->setName("point cloud");
|
|
666
|
+
pointCloudFrame->setShape(pointCloudShape);
|
|
667
|
+
auto visualAspect = pointCloudFrame->createVisualAspect();
|
|
668
|
+
visualAspect->setRGB(Color::Blue());
|
|
669
|
+
|
|
670
|
+
return pointCloudFrame;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
dynamics::SimpleFramePtr createSensorFrame()
|
|
674
|
+
{
|
|
675
|
+
auto sphereShape = ::std::make_shared<dart::dynamics::SphereShape>(0.05);
|
|
676
|
+
auto sensorFrame = ::dart::dynamics::SimpleFrame::createShared(
|
|
677
|
+
dart::dynamics::Frame::World());
|
|
678
|
+
sensorFrame->setName("sensor");
|
|
679
|
+
sensorFrame->setShape(sphereShape);
|
|
680
|
+
auto visualAspect = sensorFrame->createVisualAspect();
|
|
681
|
+
visualAspect->setRGB(Color::Red());
|
|
682
|
+
|
|
683
|
+
return sensorFrame;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
int main()
|
|
687
|
+
{
|
|
688
|
+
auto world = dart::simulation::World::create();
|
|
689
|
+
world->setGravity(Eigen::Vector3d::Zero());
|
|
690
|
+
|
|
691
|
+
auto robot = createRobot(robotName);
|
|
692
|
+
world->addSkeleton(robot);
|
|
693
|
+
|
|
694
|
+
auto ground = createGround();
|
|
695
|
+
world->addSkeleton(ground);
|
|
696
|
+
|
|
697
|
+
auto pointCloud = createPointCloudFrame();
|
|
698
|
+
world->addSimpleFrame(pointCloud);
|
|
699
|
+
|
|
700
|
+
auto voxel = createVoxelFrame(0.05);
|
|
701
|
+
world->addSimpleFrame(voxel);
|
|
702
|
+
|
|
703
|
+
auto sensor = createSensorFrame();
|
|
704
|
+
world->addSimpleFrame(sensor);
|
|
705
|
+
|
|
706
|
+
// Create an instance of our customized WorldNode
|
|
707
|
+
::osg::ref_ptr<PointCloudWorld> node = new PointCloudWorld(world, robot);
|
|
708
|
+
|
|
709
|
+
// Create the Viewer instance
|
|
710
|
+
osg::ref_ptr<dart::gui::osg::ImGuiViewer> viewer
|
|
711
|
+
= new dart::gui::osg::ImGuiViewer();
|
|
712
|
+
viewer->addWorldNode(node);
|
|
713
|
+
viewer->simulate(true);
|
|
714
|
+
|
|
715
|
+
// Create grid
|
|
716
|
+
::osg::ref_ptr<gui::osg::GridVisual> grid = new gui::osg::GridVisual();
|
|
717
|
+
|
|
718
|
+
// Add control widget for atlas
|
|
719
|
+
viewer->getImGuiHandler()->addWidget(
|
|
720
|
+
std::make_shared<PointCloudWidget>(viewer, node, grid));
|
|
721
|
+
|
|
722
|
+
viewer->addAttachment(grid);
|
|
723
|
+
|
|
724
|
+
// Print out instructions
|
|
725
|
+
std::cout << viewer->getInstructions() << std::endl;
|
|
726
|
+
|
|
727
|
+
// Set up the window to be 1280x720 pixels
|
|
728
|
+
viewer->setUpViewInWindow(0, 0, 1280, 720);
|
|
729
|
+
|
|
730
|
+
viewer->getCameraManipulator()->setHomePosition(
|
|
731
|
+
::osg::Vec3(2.57f, 3.14f, 1.64f),
|
|
732
|
+
::osg::Vec3(0.00f, 0.00f, 0.30f),
|
|
733
|
+
::osg::Vec3(-0.24f, -0.25f, 0.94f));
|
|
734
|
+
// We need to re-dirty the CameraManipulator by passing it into the viewer
|
|
735
|
+
// again, so that the viewer knows to update its HomePosition setting
|
|
736
|
+
viewer->setCameraManipulator(viewer->getCameraManipulator());
|
|
737
|
+
|
|
738
|
+
// Begin the application loop
|
|
739
|
+
viewer->run();
|
|
740
|
+
}
|