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,1034 @@
|
|
|
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_DYNAMICS_METASKELETON_HPP_
|
|
34
|
+
#define DART_DYNAMICS_METASKELETON_HPP_
|
|
35
|
+
|
|
36
|
+
#include <dart/dynamics/Frame.hpp>
|
|
37
|
+
#include <dart/dynamics/InvalidIndex.hpp>
|
|
38
|
+
|
|
39
|
+
#include <dart/math/Geometry.hpp>
|
|
40
|
+
|
|
41
|
+
#include <dart/common/LockableReference.hpp>
|
|
42
|
+
#include <dart/common/Signal.hpp>
|
|
43
|
+
#include <dart/common/Subject.hpp>
|
|
44
|
+
|
|
45
|
+
#include <Eigen/Dense>
|
|
46
|
+
|
|
47
|
+
#include <string>
|
|
48
|
+
#include <vector>
|
|
49
|
+
|
|
50
|
+
namespace dart {
|
|
51
|
+
namespace dynamics {
|
|
52
|
+
|
|
53
|
+
class BodyNode;
|
|
54
|
+
class SoftBodyNode;
|
|
55
|
+
class PointMass;
|
|
56
|
+
class Joint;
|
|
57
|
+
class DegreeOfFreedom;
|
|
58
|
+
|
|
59
|
+
/// MetaSkeleton is a pure abstract base class that provides a common interface
|
|
60
|
+
/// for obtaining data (such as Jacobians and Mass Matrices) from groups of
|
|
61
|
+
/// BodyNodes.
|
|
62
|
+
class MetaSkeleton : public common::Subject
|
|
63
|
+
{
|
|
64
|
+
public:
|
|
65
|
+
using NameChangedSignal = common::Signal<void(
|
|
66
|
+
std::shared_ptr<const MetaSkeleton> _skeleton,
|
|
67
|
+
const std::string& _oldName,
|
|
68
|
+
const std::string& _newName)>;
|
|
69
|
+
|
|
70
|
+
MetaSkeleton(const MetaSkeleton&) = delete;
|
|
71
|
+
|
|
72
|
+
/// Default destructor
|
|
73
|
+
virtual ~MetaSkeleton() = default;
|
|
74
|
+
|
|
75
|
+
/// Creates an identical clone of this MetaSkeleton
|
|
76
|
+
virtual MetaSkeletonPtr cloneMetaSkeleton(
|
|
77
|
+
const std::string& cloneName) const = 0;
|
|
78
|
+
// TODO: In DART7, rename this to clone() and change the current
|
|
79
|
+
// Skeleton::clone() to override it.
|
|
80
|
+
|
|
81
|
+
/// Creates an identical clone of this MetaSkeleton
|
|
82
|
+
MetaSkeletonPtr cloneMetaSkeleton() const;
|
|
83
|
+
|
|
84
|
+
/// Returns mutex.
|
|
85
|
+
virtual std::unique_ptr<common::LockableReference> getLockableReference()
|
|
86
|
+
const = 0;
|
|
87
|
+
// TODO: In DART7, rename this to getMutex() and change the current
|
|
88
|
+
// Skeleton::getMutex() to override it.
|
|
89
|
+
|
|
90
|
+
//----------------------------------------------------------------------------
|
|
91
|
+
/// \{ \name Name
|
|
92
|
+
//----------------------------------------------------------------------------
|
|
93
|
+
|
|
94
|
+
/// Set the name of this MetaSkeleton
|
|
95
|
+
virtual const std::string& setName(const std::string& _name) = 0;
|
|
96
|
+
|
|
97
|
+
/// Get the name of this MetaSkeleton
|
|
98
|
+
virtual const std::string& getName() const = 0;
|
|
99
|
+
|
|
100
|
+
/// \}
|
|
101
|
+
|
|
102
|
+
//----------------------------------------------------------------------------
|
|
103
|
+
/// \{ \name Structural Properties
|
|
104
|
+
//----------------------------------------------------------------------------
|
|
105
|
+
|
|
106
|
+
/// Get number of body nodes
|
|
107
|
+
virtual std::size_t getNumBodyNodes() const = 0;
|
|
108
|
+
|
|
109
|
+
/// Get BodyNode whose index is _idx
|
|
110
|
+
virtual BodyNode* getBodyNode(std::size_t _idx) = 0;
|
|
111
|
+
|
|
112
|
+
/// Get const BodyNode whose index is _idx
|
|
113
|
+
virtual const BodyNode* getBodyNode(std::size_t _idx) const = 0;
|
|
114
|
+
|
|
115
|
+
/// Returns the BodyNode of given name.
|
|
116
|
+
///
|
|
117
|
+
/// \param[in] name The BodyNode name that want to search.
|
|
118
|
+
/// \return The body node of given name.
|
|
119
|
+
virtual BodyNode* getBodyNode(const std::string& name) = 0;
|
|
120
|
+
|
|
121
|
+
/// Returns the BodyNode of given name.
|
|
122
|
+
///
|
|
123
|
+
/// \param[in] name The BodyNode name that want to search.
|
|
124
|
+
/// \return The body node of given name.
|
|
125
|
+
virtual const BodyNode* getBodyNode(const std::string& name) const = 0;
|
|
126
|
+
|
|
127
|
+
/// Get all the BodyNodes that are held by this MetaSkeleton
|
|
128
|
+
///
|
|
129
|
+
/// \deprecated Use eachBodyNode() instead.
|
|
130
|
+
DART_DEPRECATED(6.13)
|
|
131
|
+
virtual const std::vector<BodyNode*>& getBodyNodes() = 0;
|
|
132
|
+
|
|
133
|
+
/// Get all the BodyNodes that are held by this MetaSkeleton
|
|
134
|
+
///
|
|
135
|
+
/// \deprecated Use eachBodyNode() instead.
|
|
136
|
+
DART_DEPRECATED(6.13)
|
|
137
|
+
virtual const std::vector<const BodyNode*>& getBodyNodes() const = 0;
|
|
138
|
+
|
|
139
|
+
/// Returns all the BodyNodes of given name.
|
|
140
|
+
/// \param[in] name The BodyNode name that want to search.
|
|
141
|
+
/// \return The list of BodyNodes of given name.
|
|
142
|
+
virtual std::vector<BodyNode*> getBodyNodes(const std::string& name) = 0;
|
|
143
|
+
|
|
144
|
+
/// Returns all the BodyNodes of given name.
|
|
145
|
+
/// \param[in] name The BodyNode name that want to search.
|
|
146
|
+
/// \return The list of BodyNodes of given name.
|
|
147
|
+
virtual std::vector<const BodyNode*> getBodyNodes(
|
|
148
|
+
const std::string& name) const = 0;
|
|
149
|
+
|
|
150
|
+
/// Returns whether this Skeleton contains \c bodyNode.
|
|
151
|
+
virtual bool hasBodyNode(const BodyNode* bodyNode) const = 0;
|
|
152
|
+
|
|
153
|
+
/// Get the index of a specific BodyNode within this ReferentialSkeleton.
|
|
154
|
+
/// Returns INVALID_INDEX if it is not held in this ReferentialSkeleton.
|
|
155
|
+
/// When _warning is true, a warning message will be printed if the BodyNode
|
|
156
|
+
/// is not in the MetaSkeleton.
|
|
157
|
+
virtual std::size_t getIndexOf(
|
|
158
|
+
const BodyNode* _bn, bool _warning = true) const = 0;
|
|
159
|
+
|
|
160
|
+
/// Get number of Joints
|
|
161
|
+
virtual std::size_t getNumJoints() const = 0;
|
|
162
|
+
|
|
163
|
+
/// Get Joint whose index is _idx
|
|
164
|
+
virtual Joint* getJoint(std::size_t _idx) = 0;
|
|
165
|
+
|
|
166
|
+
/// Get const Joint whose index is _idx
|
|
167
|
+
virtual const Joint* getJoint(std::size_t _idx) const = 0;
|
|
168
|
+
|
|
169
|
+
/// Returns the Joint of given name.
|
|
170
|
+
/// \param[in] name The joint name that want to search.
|
|
171
|
+
/// \return The joint of given name.
|
|
172
|
+
virtual Joint* getJoint(const std::string& name) = 0;
|
|
173
|
+
|
|
174
|
+
/// Returns the joint of given name.
|
|
175
|
+
/// \param[in] name The joint name that want to search.
|
|
176
|
+
/// \return The joint of given name.
|
|
177
|
+
virtual const Joint* getJoint(const std::string& name) const = 0;
|
|
178
|
+
|
|
179
|
+
/// Returns all the joints that are held by this MetaSkeleton.
|
|
180
|
+
///
|
|
181
|
+
/// \deprecated Use eachJoint() instead.
|
|
182
|
+
DART_DEPRECATED(6.13)
|
|
183
|
+
virtual std::vector<Joint*> getJoints() = 0;
|
|
184
|
+
|
|
185
|
+
/// Returns all the joints that are held by this MetaSkeleton.
|
|
186
|
+
///
|
|
187
|
+
/// \deprecated Use eachJoint() instead.
|
|
188
|
+
DART_DEPRECATED(6.13)
|
|
189
|
+
virtual std::vector<const Joint*> getJoints() const = 0;
|
|
190
|
+
|
|
191
|
+
/// Returns all the Joint of given name.
|
|
192
|
+
///
|
|
193
|
+
/// This MetaSkeleton can contain multiple Joints with the same name when
|
|
194
|
+
/// this MetaSkeleton contains Joints from multiple Skeletons.
|
|
195
|
+
///
|
|
196
|
+
/// \param[in] name The joint name that want to search.
|
|
197
|
+
/// \return The list of joints of given name.
|
|
198
|
+
virtual std::vector<Joint*> getJoints(const std::string& name) = 0;
|
|
199
|
+
|
|
200
|
+
/// Returns all the Joint of given name.
|
|
201
|
+
///
|
|
202
|
+
/// This MetaSkeleton can contain multiple Joints with the same name when
|
|
203
|
+
/// this MetaSkeleton contains Joints from multiple Skeletons.
|
|
204
|
+
///
|
|
205
|
+
/// \param[in] name The joint name that want to search.
|
|
206
|
+
/// \return The list of joints of given name.
|
|
207
|
+
virtual std::vector<const Joint*> getJoints(
|
|
208
|
+
const std::string& name) const = 0;
|
|
209
|
+
|
|
210
|
+
/// Returns whether this Skeleton contains \c join.
|
|
211
|
+
virtual bool hasJoint(const Joint* joint) const = 0;
|
|
212
|
+
|
|
213
|
+
/// Get the index of a specific Joint within this ReferentialSkeleton. Returns
|
|
214
|
+
/// INVALID_INDEX if it is not held in this ReferentialSkeleton.
|
|
215
|
+
/// When _warning is true, a warning message will be printed if the Joint is
|
|
216
|
+
/// not in the MetaSkeleton.
|
|
217
|
+
virtual std::size_t getIndexOf(
|
|
218
|
+
const Joint* _joint, bool _warning = true) const = 0;
|
|
219
|
+
|
|
220
|
+
/// Return the number of degrees of freedom in this skeleton
|
|
221
|
+
virtual std::size_t getNumDofs() const = 0;
|
|
222
|
+
|
|
223
|
+
/// Get degree of freedom (aka generalized coordinate) whose index is _idx
|
|
224
|
+
virtual DegreeOfFreedom* getDof(std::size_t _idx) = 0;
|
|
225
|
+
|
|
226
|
+
/// Get degree of freedom (aka generalized coordinate) whose index is _idx
|
|
227
|
+
virtual const DegreeOfFreedom* getDof(std::size_t _idx) const = 0;
|
|
228
|
+
|
|
229
|
+
/// Get the vector of DegreesOfFreedom for this MetaSkeleton
|
|
230
|
+
///
|
|
231
|
+
/// \deprecated Use eachDof() instead.
|
|
232
|
+
DART_DEPRECATED(6.13)
|
|
233
|
+
virtual const std::vector<DegreeOfFreedom*>& getDofs() = 0;
|
|
234
|
+
|
|
235
|
+
/// Get a vector of const DegreesOfFreedom for this MetaSkeleton
|
|
236
|
+
///
|
|
237
|
+
/// \deprecated Use eachBodyNode() instead.
|
|
238
|
+
DART_DEPRECATED(6.13)
|
|
239
|
+
virtual std::vector<const DegreeOfFreedom*> getDofs() const = 0;
|
|
240
|
+
|
|
241
|
+
/// Get the index of a specific DegreeOfFreedom within this
|
|
242
|
+
/// ReferentialSkeleton. Returns INVALID_INDEX if it is not held in this
|
|
243
|
+
/// ReferentialSkeleton. When _warning is true, a warning message will be
|
|
244
|
+
/// printed if the DegreeOfFreedom is not in the MetaSkeleton.
|
|
245
|
+
virtual std::size_t getIndexOf(
|
|
246
|
+
const DegreeOfFreedom* _dof, bool _warning = true) const = 0;
|
|
247
|
+
|
|
248
|
+
/// \}
|
|
249
|
+
|
|
250
|
+
//----------------------------------------------------------------------------
|
|
251
|
+
/// \{ \name Command
|
|
252
|
+
//----------------------------------------------------------------------------
|
|
253
|
+
|
|
254
|
+
/// Set a single command
|
|
255
|
+
void setCommand(std::size_t _index, double _command);
|
|
256
|
+
|
|
257
|
+
/// Get a single command
|
|
258
|
+
double getCommand(std::size_t _index) const;
|
|
259
|
+
|
|
260
|
+
/// Set commands for all generalized coordinates
|
|
261
|
+
void setCommands(const Eigen::VectorXd& _commands);
|
|
262
|
+
|
|
263
|
+
/// Set commands for a subset of the generalized coordinates
|
|
264
|
+
void setCommands(
|
|
265
|
+
const std::vector<std::size_t>& _indices,
|
|
266
|
+
const Eigen::VectorXd& _commands);
|
|
267
|
+
|
|
268
|
+
/// Get commands for all generalized coordinates
|
|
269
|
+
Eigen::VectorXd getCommands() const;
|
|
270
|
+
|
|
271
|
+
/// Get commands for a subset of the generalized coordinates
|
|
272
|
+
Eigen::VectorXd getCommands(const std::vector<std::size_t>& _indices) const;
|
|
273
|
+
|
|
274
|
+
/// Set all commands to zero
|
|
275
|
+
void resetCommands();
|
|
276
|
+
|
|
277
|
+
/// \}
|
|
278
|
+
|
|
279
|
+
//----------------------------------------------------------------------------
|
|
280
|
+
/// \{ \name Position
|
|
281
|
+
//----------------------------------------------------------------------------
|
|
282
|
+
|
|
283
|
+
/// Set the position of a single generalized coordinate
|
|
284
|
+
void setPosition(std::size_t index, double _position);
|
|
285
|
+
|
|
286
|
+
/// Get the position of a single generalized coordinate
|
|
287
|
+
double getPosition(std::size_t _index) const;
|
|
288
|
+
|
|
289
|
+
/// Set the positions for all generalized coordinates
|
|
290
|
+
void setPositions(const Eigen::VectorXd& _positions);
|
|
291
|
+
|
|
292
|
+
/// Set the positions for a subset of the generalized coordinates
|
|
293
|
+
void setPositions(
|
|
294
|
+
const std::vector<std::size_t>& _indices,
|
|
295
|
+
const Eigen::VectorXd& _positions);
|
|
296
|
+
|
|
297
|
+
/// Get the positions for all generalized coordinates
|
|
298
|
+
Eigen::VectorXd getPositions() const;
|
|
299
|
+
|
|
300
|
+
/// Get the positions for a subset of the generalized coordinates
|
|
301
|
+
Eigen::VectorXd getPositions(const std::vector<std::size_t>& _indices) const;
|
|
302
|
+
|
|
303
|
+
/// Set all positions to zero
|
|
304
|
+
void resetPositions();
|
|
305
|
+
|
|
306
|
+
/// Set the lower limit of a generalized coordinate's position
|
|
307
|
+
void setPositionLowerLimit(std::size_t _index, double _position);
|
|
308
|
+
|
|
309
|
+
/// Set the lower limits for all generalized coordinates
|
|
310
|
+
void setPositionLowerLimits(const Eigen::VectorXd& positions);
|
|
311
|
+
|
|
312
|
+
/// Set the lower limits for a subset of the generalized coordinates
|
|
313
|
+
void setPositionLowerLimits(
|
|
314
|
+
const std::vector<std::size_t>& indices,
|
|
315
|
+
const Eigen::VectorXd& positions);
|
|
316
|
+
|
|
317
|
+
/// Get the lower limit of a generalized coordinate's position
|
|
318
|
+
double getPositionLowerLimit(std::size_t _index) const;
|
|
319
|
+
|
|
320
|
+
/// Get the lower limits for all generalized coordinates
|
|
321
|
+
Eigen::VectorXd getPositionLowerLimits() const;
|
|
322
|
+
|
|
323
|
+
/// Get the lower limits for a subset of the generalized coordinates
|
|
324
|
+
Eigen::VectorXd getPositionLowerLimits(
|
|
325
|
+
const std::vector<std::size_t>& indices) const;
|
|
326
|
+
|
|
327
|
+
/// Set the upper limit of a generalized coordainte's position
|
|
328
|
+
void setPositionUpperLimit(std::size_t _index, double _position);
|
|
329
|
+
|
|
330
|
+
/// Set the upper limits for all generalized coordinates
|
|
331
|
+
void setPositionUpperLimits(const Eigen::VectorXd& positions);
|
|
332
|
+
|
|
333
|
+
/// Set the upper limits for a subset of the generalized coordinates
|
|
334
|
+
void setPositionUpperLimits(
|
|
335
|
+
const std::vector<std::size_t>& indices,
|
|
336
|
+
const Eigen::VectorXd& positions);
|
|
337
|
+
|
|
338
|
+
/// Get the upper limit of a generalized coordinate's position
|
|
339
|
+
double getPositionUpperLimit(std::size_t _index) const;
|
|
340
|
+
|
|
341
|
+
/// Get the upper limits for all generalized coordinates
|
|
342
|
+
Eigen::VectorXd getPositionUpperLimits() const;
|
|
343
|
+
|
|
344
|
+
/// Get the upper limits for a subset of the generalized coordinates
|
|
345
|
+
Eigen::VectorXd getPositionUpperLimits(
|
|
346
|
+
const std::vector<std::size_t>& indices) const;
|
|
347
|
+
|
|
348
|
+
/// \}
|
|
349
|
+
|
|
350
|
+
//----------------------------------------------------------------------------
|
|
351
|
+
/// \{ \name Velocity
|
|
352
|
+
//----------------------------------------------------------------------------
|
|
353
|
+
|
|
354
|
+
/// Set the velocity of a single generalized coordinate
|
|
355
|
+
void setVelocity(std::size_t _index, double _velocity);
|
|
356
|
+
|
|
357
|
+
/// Get the velocity of a single generalized coordinate
|
|
358
|
+
double getVelocity(std::size_t _index) const;
|
|
359
|
+
|
|
360
|
+
/// Set the velocities of all generalized coordinates
|
|
361
|
+
void setVelocities(const Eigen::VectorXd& _velocities);
|
|
362
|
+
|
|
363
|
+
/// Set the velocities of a subset of the generalized coordinates
|
|
364
|
+
void setVelocities(
|
|
365
|
+
const std::vector<std::size_t>& _indices,
|
|
366
|
+
const Eigen::VectorXd& _velocities);
|
|
367
|
+
|
|
368
|
+
/// Get the velocities for all generalized coordinates
|
|
369
|
+
Eigen::VectorXd getVelocities() const;
|
|
370
|
+
|
|
371
|
+
/// Get the velocities for a subset of the generalized coordinates
|
|
372
|
+
Eigen::VectorXd getVelocities(const std::vector<std::size_t>& _indices) const;
|
|
373
|
+
|
|
374
|
+
/// Set all velocities to zero
|
|
375
|
+
void resetVelocities();
|
|
376
|
+
|
|
377
|
+
/// Set the lower limit of a generalized coordinate's velocity
|
|
378
|
+
void setVelocityLowerLimit(std::size_t _index, double _velocity);
|
|
379
|
+
|
|
380
|
+
/// Set the lower limits for all generalized coordinates's velocity
|
|
381
|
+
void setVelocityLowerLimits(const Eigen::VectorXd& velocities);
|
|
382
|
+
|
|
383
|
+
/// Set the lower limits for a subset of the generalized coordinates's
|
|
384
|
+
/// velocity
|
|
385
|
+
void setVelocityLowerLimits(
|
|
386
|
+
const std::vector<std::size_t>& indices,
|
|
387
|
+
const Eigen::VectorXd& velocities);
|
|
388
|
+
|
|
389
|
+
/// Get the lower limit of a generalized coordinate's velocity
|
|
390
|
+
double getVelocityLowerLimit(std::size_t _index);
|
|
391
|
+
|
|
392
|
+
/// Get the lower limits for all generalized coordinates's velocity
|
|
393
|
+
Eigen::VectorXd getVelocityLowerLimits() const;
|
|
394
|
+
|
|
395
|
+
/// Get the lower limits for a subset of the generalized coordinates's
|
|
396
|
+
/// velocity
|
|
397
|
+
Eigen::VectorXd getVelocityLowerLimits(
|
|
398
|
+
const std::vector<std::size_t>& indices) const;
|
|
399
|
+
|
|
400
|
+
/// Set the upper limit of a generalized coordinate's velocity
|
|
401
|
+
void setVelocityUpperLimit(std::size_t _index, double _velocity);
|
|
402
|
+
|
|
403
|
+
/// Set the upper limits for all generalized coordinates's velocity
|
|
404
|
+
void setVelocityUpperLimits(const Eigen::VectorXd& velocities);
|
|
405
|
+
|
|
406
|
+
/// Set the upper limits for a subset of the generalized coordinates's
|
|
407
|
+
/// velocity
|
|
408
|
+
void setVelocityUpperLimits(
|
|
409
|
+
const std::vector<std::size_t>& indices,
|
|
410
|
+
const Eigen::VectorXd& velocities);
|
|
411
|
+
|
|
412
|
+
/// Get the upper limit of a generalized coordinate's velocity
|
|
413
|
+
double getVelocityUpperLimit(std::size_t _index);
|
|
414
|
+
|
|
415
|
+
/// Get the upper limits for all generalized coordinates's velocity
|
|
416
|
+
Eigen::VectorXd getVelocityUpperLimits() const;
|
|
417
|
+
|
|
418
|
+
/// Get the upper limits for a subset of the generalized coordinates's
|
|
419
|
+
/// velocity
|
|
420
|
+
Eigen::VectorXd getVelocityUpperLimits(
|
|
421
|
+
const std::vector<std::size_t>& indices) const;
|
|
422
|
+
|
|
423
|
+
/// \}
|
|
424
|
+
|
|
425
|
+
//----------------------------------------------------------------------------
|
|
426
|
+
/// \{ \name Acceleration
|
|
427
|
+
//----------------------------------------------------------------------------
|
|
428
|
+
|
|
429
|
+
/// Set the acceleration of a single generalized coordinate
|
|
430
|
+
void setAcceleration(std::size_t _index, double _acceleration);
|
|
431
|
+
|
|
432
|
+
/// Get the acceleration of a single generalized coordinate
|
|
433
|
+
double getAcceleration(std::size_t _index) const;
|
|
434
|
+
|
|
435
|
+
/// Set the accelerations of all generalized coordinates
|
|
436
|
+
void setAccelerations(const Eigen::VectorXd& _accelerations);
|
|
437
|
+
|
|
438
|
+
/// Set the accelerations of a subset of the generalized coordinates
|
|
439
|
+
void setAccelerations(
|
|
440
|
+
const std::vector<std::size_t>& _indices,
|
|
441
|
+
const Eigen::VectorXd& _accelerations);
|
|
442
|
+
|
|
443
|
+
/// Get the accelerations for all generalized coordinates
|
|
444
|
+
Eigen::VectorXd getAccelerations() const;
|
|
445
|
+
|
|
446
|
+
/// Get the accelerations for a subset of the generalized coordinates
|
|
447
|
+
Eigen::VectorXd getAccelerations(
|
|
448
|
+
const std::vector<std::size_t>& _indices) const;
|
|
449
|
+
|
|
450
|
+
/// Set all accelerations to zero
|
|
451
|
+
void resetAccelerations();
|
|
452
|
+
|
|
453
|
+
/// Set the lower limit of a generalized coordinate's acceleration
|
|
454
|
+
void setAccelerationLowerLimit(std::size_t _index, double _acceleration);
|
|
455
|
+
|
|
456
|
+
/// Set the lower limits for all generalized coordinates's acceleration
|
|
457
|
+
void setAccelerationLowerLimits(const Eigen::VectorXd& accelerations);
|
|
458
|
+
|
|
459
|
+
/// Set the lower limits for a subset of the generalized coordinates's
|
|
460
|
+
/// acceleration
|
|
461
|
+
void setAccelerationLowerLimits(
|
|
462
|
+
const std::vector<std::size_t>& indices,
|
|
463
|
+
const Eigen::VectorXd& accelerations);
|
|
464
|
+
|
|
465
|
+
/// Get the lower limit of a generalized coordinate's acceleration
|
|
466
|
+
double getAccelerationLowerLimit(std::size_t _index) const;
|
|
467
|
+
|
|
468
|
+
/// Get the lower limits for all generalized coordinates's acceleration
|
|
469
|
+
Eigen::VectorXd getAccelerationLowerLimits() const;
|
|
470
|
+
|
|
471
|
+
/// Get the lower limits for a subset of the generalized coordinates's
|
|
472
|
+
/// acceleration
|
|
473
|
+
Eigen::VectorXd getAccelerationLowerLimits(
|
|
474
|
+
const std::vector<std::size_t>& indices) const;
|
|
475
|
+
|
|
476
|
+
/// Set the upper limit of a generalized coordinate's acceleration
|
|
477
|
+
void setAccelerationUpperLimit(std::size_t _index, double _acceleration);
|
|
478
|
+
|
|
479
|
+
/// Set the upper limits for all generalized coordinates's acceleration
|
|
480
|
+
void setAccelerationUpperLimits(const Eigen::VectorXd& accelerations);
|
|
481
|
+
|
|
482
|
+
/// Set the upper limits for a subset of the generalized coordinates's
|
|
483
|
+
/// acceleration
|
|
484
|
+
void setAccelerationUpperLimits(
|
|
485
|
+
const std::vector<std::size_t>& indices,
|
|
486
|
+
const Eigen::VectorXd& accelerations);
|
|
487
|
+
|
|
488
|
+
/// Get the upper limit of a generalized coordinate's acceleration
|
|
489
|
+
double getAccelerationUpperLimit(std::size_t _index) const;
|
|
490
|
+
|
|
491
|
+
/// Get the upper limits for all generalized coordinates's acceleration
|
|
492
|
+
Eigen::VectorXd getAccelerationUpperLimits() const;
|
|
493
|
+
|
|
494
|
+
/// Get the upper limits for a subset of the generalized coordinates's
|
|
495
|
+
/// acceleration
|
|
496
|
+
Eigen::VectorXd getAccelerationUpperLimits(
|
|
497
|
+
const std::vector<std::size_t>& indices) const;
|
|
498
|
+
|
|
499
|
+
/// \}
|
|
500
|
+
|
|
501
|
+
//----------------------------------------------------------------------------
|
|
502
|
+
/// \{ \name Force
|
|
503
|
+
//----------------------------------------------------------------------------
|
|
504
|
+
|
|
505
|
+
/// Set the force of a single generalized coordinate
|
|
506
|
+
void setForce(std::size_t _index, double _force);
|
|
507
|
+
|
|
508
|
+
/// Get the force of a single generalized coordinate
|
|
509
|
+
double getForce(std::size_t _index) const;
|
|
510
|
+
|
|
511
|
+
/// Set the forces of all generalized coordinates
|
|
512
|
+
void setForces(const Eigen::VectorXd& _forces);
|
|
513
|
+
|
|
514
|
+
/// Set the forces of a subset of the generalized coordinates
|
|
515
|
+
void setForces(
|
|
516
|
+
const std::vector<std::size_t>& _index, const Eigen::VectorXd& _forces);
|
|
517
|
+
|
|
518
|
+
/// Get the forces for all generalized coordinates
|
|
519
|
+
Eigen::VectorXd getForces() const;
|
|
520
|
+
|
|
521
|
+
/// Get the forces for a subset of the generalized coordinates
|
|
522
|
+
Eigen::VectorXd getForces(const std::vector<std::size_t>& _indices) const;
|
|
523
|
+
|
|
524
|
+
/// Set all forces of the generalized coordinates to zero
|
|
525
|
+
void resetGeneralizedForces();
|
|
526
|
+
|
|
527
|
+
/// Set the lower limit of a generalized coordinate's force
|
|
528
|
+
void setForceLowerLimit(std::size_t _index, double _force);
|
|
529
|
+
|
|
530
|
+
/// Set the lower limits for all generalized coordinates's force
|
|
531
|
+
void setForceLowerLimits(const Eigen::VectorXd& forces);
|
|
532
|
+
|
|
533
|
+
/// Set the lower limits for a subset of the generalized coordinates's force
|
|
534
|
+
void setForceLowerLimits(
|
|
535
|
+
const std::vector<std::size_t>& indices, const Eigen::VectorXd& forces);
|
|
536
|
+
|
|
537
|
+
/// Get the lower limit of a generalized coordinate's force
|
|
538
|
+
double getForceLowerLimit(std::size_t _index) const;
|
|
539
|
+
|
|
540
|
+
/// Get the lower limits for all generalized coordinates's force
|
|
541
|
+
Eigen::VectorXd getForceLowerLimits() const;
|
|
542
|
+
|
|
543
|
+
/// Get the lower limits for a subset of the generalized coordinates's force
|
|
544
|
+
Eigen::VectorXd getForceLowerLimits(
|
|
545
|
+
const std::vector<std::size_t>& indices) const;
|
|
546
|
+
|
|
547
|
+
/// Set the upper limit of a generalized coordinate's force
|
|
548
|
+
void setForceUpperLimit(std::size_t _index, double _force);
|
|
549
|
+
|
|
550
|
+
/// Set the upperlimits for all generalized coordinates's force
|
|
551
|
+
void setForceUpperLimits(const Eigen::VectorXd& forces);
|
|
552
|
+
|
|
553
|
+
/// Set the upper limits for a subset of the generalized coordinates's force
|
|
554
|
+
void setForceUpperLimits(
|
|
555
|
+
const std::vector<std::size_t>& indices, const Eigen::VectorXd& forces);
|
|
556
|
+
|
|
557
|
+
/// Get the upper limit of a generalized coordinate's force
|
|
558
|
+
double getForceUpperLimit(std::size_t _index) const;
|
|
559
|
+
|
|
560
|
+
/// Get the upper limits for all generalized coordinates's force
|
|
561
|
+
Eigen::VectorXd getForceUpperLimits() const;
|
|
562
|
+
|
|
563
|
+
/// Get the upper limits for a subset of the generalized coordinates's force
|
|
564
|
+
Eigen::VectorXd getForceUpperLimits(
|
|
565
|
+
const std::vector<std::size_t>& indices) const;
|
|
566
|
+
|
|
567
|
+
/// \}
|
|
568
|
+
|
|
569
|
+
//----------------------------------------------------------------------------
|
|
570
|
+
/// \{ \name Velocity Change
|
|
571
|
+
//----------------------------------------------------------------------------
|
|
572
|
+
|
|
573
|
+
/// Get the velocity changes for all the generalized coordinates
|
|
574
|
+
Eigen::VectorXd getVelocityChanges() const;
|
|
575
|
+
|
|
576
|
+
//----------------------------------------------------------------------------
|
|
577
|
+
/// \{ \name Constraint Impulse
|
|
578
|
+
//----------------------------------------------------------------------------
|
|
579
|
+
|
|
580
|
+
/// Set the constraint impulses for the generalized coordinates
|
|
581
|
+
void setJointConstraintImpulses(const Eigen::VectorXd& _impulses);
|
|
582
|
+
|
|
583
|
+
/// Get the constraint impulses for the generalized coordinates
|
|
584
|
+
Eigen::VectorXd getJointConstraintImpulses() const;
|
|
585
|
+
|
|
586
|
+
//----------------------------------------------------------------------------
|
|
587
|
+
/// \{ \name Jacobians
|
|
588
|
+
//----------------------------------------------------------------------------
|
|
589
|
+
|
|
590
|
+
/// Get the spatial Jacobian targeting the origin of a BodyNode. The Jacobian
|
|
591
|
+
/// is expressed in the Frame of the BodyNode.
|
|
592
|
+
virtual math::Jacobian getJacobian(const JacobianNode* _node) const = 0;
|
|
593
|
+
|
|
594
|
+
/// Get the spatial Jacobian targeting the origin of a BodyNode. You can
|
|
595
|
+
/// specify a coordinate Frame to express the Jacobian in.
|
|
596
|
+
virtual math::Jacobian getJacobian(
|
|
597
|
+
const JacobianNode* _node, const Frame* _inCoordinatesOf) const = 0;
|
|
598
|
+
|
|
599
|
+
/// Get the spatial Jacobian targeting the origin of a BodyNode relative to
|
|
600
|
+
/// another BodyNode in the same Skeleton. You can specify a coordinate Frame
|
|
601
|
+
/// to express the Jacobian in.
|
|
602
|
+
math::Jacobian getJacobian(
|
|
603
|
+
const JacobianNode* _node,
|
|
604
|
+
const JacobianNode* _relativeTo,
|
|
605
|
+
const Frame* _inCoordinatesOf) const;
|
|
606
|
+
|
|
607
|
+
/// Get the spatial Jacobian targeting an offset in a BodyNode. The _offset is
|
|
608
|
+
/// expected in coordinates of the BodyNode Frame. The Jacobian is expressed
|
|
609
|
+
/// in the Frame of the BodyNode.
|
|
610
|
+
virtual math::Jacobian getJacobian(
|
|
611
|
+
const JacobianNode* _node, const Eigen::Vector3d& _localOffset) const = 0;
|
|
612
|
+
|
|
613
|
+
/// Get the spatial Jacobian targeting an offset in a BodyNode. The _offset is
|
|
614
|
+
/// expected in coordinates of the BodyNode Frame. You can specify a
|
|
615
|
+
/// coordinate Frame to express the Jacobian in.
|
|
616
|
+
virtual math::Jacobian getJacobian(
|
|
617
|
+
const JacobianNode* _node,
|
|
618
|
+
const Eigen::Vector3d& _localOffset,
|
|
619
|
+
const Frame* _inCoordinatesOf) const = 0;
|
|
620
|
+
|
|
621
|
+
/// Get the spatial Jacobian targeting an offset in a BodyNode relative to
|
|
622
|
+
/// another BodyNode in the same Skeleton. The _offset is expected in
|
|
623
|
+
/// coordinates of the BodyNode Frame. You can specify a coordinate Frame to
|
|
624
|
+
/// express the Jacobian in.
|
|
625
|
+
math::Jacobian getJacobian(
|
|
626
|
+
const JacobianNode* _node,
|
|
627
|
+
const Eigen::Vector3d& _localOffset,
|
|
628
|
+
const JacobianNode* _relativeTo,
|
|
629
|
+
const Frame* _inCoordinatesOf) const;
|
|
630
|
+
|
|
631
|
+
/// Get the spatial Jacobian targeting the origin of a BodyNode. The Jacobian
|
|
632
|
+
/// is expressed in the World Frame.
|
|
633
|
+
virtual math::Jacobian getWorldJacobian(const JacobianNode* _node) const = 0;
|
|
634
|
+
|
|
635
|
+
/// Get the spatial Jacobian targeting an offset in a BodyNode. The _offset is
|
|
636
|
+
/// expected in coordinates of the BodyNode Frame. The Jacobian is expressed
|
|
637
|
+
/// in the World Frame.
|
|
638
|
+
virtual math::Jacobian getWorldJacobian(
|
|
639
|
+
const JacobianNode* _node, const Eigen::Vector3d& _localOffset) const = 0;
|
|
640
|
+
|
|
641
|
+
/// Get the linear Jacobian targeting the origin of a BodyNode. You can
|
|
642
|
+
/// specify a coordinate Frame to express the Jacobian in.
|
|
643
|
+
virtual math::LinearJacobian getLinearJacobian(
|
|
644
|
+
const JacobianNode* _node,
|
|
645
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
646
|
+
|
|
647
|
+
/// Get the linear Jacobian targeting an offset in a BodyNode. The _offset is
|
|
648
|
+
/// expected in coordinates of the BodyNode Frame. You can specify a
|
|
649
|
+
/// coordinate Frame to express the Jacobian in.
|
|
650
|
+
virtual math::LinearJacobian getLinearJacobian(
|
|
651
|
+
const JacobianNode* _node,
|
|
652
|
+
const Eigen::Vector3d& _localOffset,
|
|
653
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
654
|
+
|
|
655
|
+
/// Get the linear Jacobian targeting the origin of a BodyNode relative to
|
|
656
|
+
/// another BodyNode in the same Skeleton. You can specify a coordinate Frame
|
|
657
|
+
/// to express the Jacobian in.
|
|
658
|
+
math::LinearJacobian getLinearJacobian(
|
|
659
|
+
const JacobianNode* _node,
|
|
660
|
+
const JacobianNode* _relativeTo,
|
|
661
|
+
const Frame* _inCoordinatesOf = Frame::World()) const;
|
|
662
|
+
|
|
663
|
+
/// Get the linear Jacobian targeting an offset in a BodyNode relative to
|
|
664
|
+
/// another BodyNode in the same Skeleton. The _offset is expected in
|
|
665
|
+
/// coordinates of the BodyNode Frame. You can specify a coordinate Frame to
|
|
666
|
+
/// express the Jacobian in.
|
|
667
|
+
math::LinearJacobian getLinearJacobian(
|
|
668
|
+
const JacobianNode* _node,
|
|
669
|
+
const Eigen::Vector3d& _localOffset,
|
|
670
|
+
const JacobianNode* _relativeTo,
|
|
671
|
+
const Frame* _inCoordinatesOf = Frame::World()) const;
|
|
672
|
+
|
|
673
|
+
/// \}
|
|
674
|
+
|
|
675
|
+
//----------------------------------------------------------------------------
|
|
676
|
+
/// \{ \name Jacobian derivatives
|
|
677
|
+
//----------------------------------------------------------------------------
|
|
678
|
+
|
|
679
|
+
/// Get the angular Jacobian of a BodyNode. You can specify a coordinate Frame
|
|
680
|
+
/// to express the Jacobian in.
|
|
681
|
+
virtual math::AngularJacobian getAngularJacobian(
|
|
682
|
+
const JacobianNode* _node,
|
|
683
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
684
|
+
|
|
685
|
+
/// Get the angular Jacobian of a BodyNode relative to another BodyNode in the
|
|
686
|
+
/// same Skeleton. You can specify a coordinate Frame to express the Jacobian
|
|
687
|
+
/// in.
|
|
688
|
+
math::AngularJacobian getAngularJacobian(
|
|
689
|
+
const JacobianNode* _node,
|
|
690
|
+
const JacobianNode* _relativeTo,
|
|
691
|
+
const Frame* _inCoordinatesOf = Frame::World()) const;
|
|
692
|
+
|
|
693
|
+
/// Get the spatial Jacobian time derivative targeting the origin of a
|
|
694
|
+
/// BodyNode. The Jacobian is expressed in the Frame of the BodyNode.
|
|
695
|
+
virtual math::Jacobian getJacobianSpatialDeriv(
|
|
696
|
+
const JacobianNode* _node) const = 0;
|
|
697
|
+
|
|
698
|
+
/// Get the spatial Jacobian time derivative targeting the origin of a
|
|
699
|
+
/// BodyNode. You can specify a coordinate Frame to express the Jacobian in.
|
|
700
|
+
virtual math::Jacobian getJacobianSpatialDeriv(
|
|
701
|
+
const JacobianNode* _node, const Frame* _inCoordinatesOf) const = 0;
|
|
702
|
+
|
|
703
|
+
/// Get the spatial Jacobian time derivative targeting an offset in a
|
|
704
|
+
/// BodyNode. The _offset is expected in coordinates of the BodyNode Frame.
|
|
705
|
+
/// The Jacobian is expressed in the Frame of the BodyNode.
|
|
706
|
+
virtual math::Jacobian getJacobianSpatialDeriv(
|
|
707
|
+
const JacobianNode* _node, const Eigen::Vector3d& _localOffset) const = 0;
|
|
708
|
+
|
|
709
|
+
/// Get the spatial Jacobian time derivative targeting an offset in a
|
|
710
|
+
/// BodyNode. The _offset is expected in coordinates of the BodyNode Frame.
|
|
711
|
+
/// You can specify a coordinate Frame to express the Jacobian in.
|
|
712
|
+
virtual math::Jacobian getJacobianSpatialDeriv(
|
|
713
|
+
const JacobianNode* _node,
|
|
714
|
+
const Eigen::Vector3d& _localOffset,
|
|
715
|
+
const Frame* _inCoordinatesOf) const = 0;
|
|
716
|
+
|
|
717
|
+
/// Get the spatial Jacobian time derivative targeting the origin of a
|
|
718
|
+
/// BodyNode relative to another BodyNode in the same Skeleton. You can
|
|
719
|
+
/// specify a coordinate Frame to express the Jacobian in.
|
|
720
|
+
math::Jacobian getJacobianSpatialDeriv(
|
|
721
|
+
const JacobianNode* _node,
|
|
722
|
+
const JacobianNode* _relativeTo,
|
|
723
|
+
const Frame* _inCoordinatesOf) const;
|
|
724
|
+
|
|
725
|
+
/// Get the spatial Jacobian time derivative targeting an offset in a
|
|
726
|
+
/// BodyNode relative to another Bodynode in the same Skeleton. The _offset is
|
|
727
|
+
/// expected in coordinates of the BodyNode Frame. You can specify a
|
|
728
|
+
/// coordinate Frame to express the Jacobian in.
|
|
729
|
+
math::Jacobian getJacobianSpatialDeriv(
|
|
730
|
+
const JacobianNode* _node,
|
|
731
|
+
const Eigen::Vector3d& _localOffset,
|
|
732
|
+
const JacobianNode* _relativeTo,
|
|
733
|
+
const Frame* _inCoordinatesOf) const;
|
|
734
|
+
|
|
735
|
+
/// Get the spatial Jacobian (classical) time derivative targeting the origin
|
|
736
|
+
/// of a BodyNode. The Jacobian is expressed in the World Frame.
|
|
737
|
+
virtual math::Jacobian getJacobianClassicDeriv(
|
|
738
|
+
const JacobianNode* _node) const = 0;
|
|
739
|
+
|
|
740
|
+
/// Get the spatial Jacobian (classical) time derivative targeting the origin
|
|
741
|
+
/// a BodyNode. The _offset is expected in coordinates of the BodyNode Frame.
|
|
742
|
+
/// You can specify a coordinate Frame to express the Jacobian in.
|
|
743
|
+
virtual math::Jacobian getJacobianClassicDeriv(
|
|
744
|
+
const JacobianNode* _node, const Frame* _inCoordinatesOf) const = 0;
|
|
745
|
+
|
|
746
|
+
/// Get the spatial Jacobian (classical) time derivative targeting an offset
|
|
747
|
+
/// in a BodyNode. The _offset is expected in coordinates of the BodyNode
|
|
748
|
+
/// Frame. You can specify a coordinate Frame to express the Jacobian in.
|
|
749
|
+
virtual math::Jacobian getJacobianClassicDeriv(
|
|
750
|
+
const JacobianNode* _node,
|
|
751
|
+
const Eigen::Vector3d& _localOffset,
|
|
752
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
753
|
+
|
|
754
|
+
/// of a BodyNode. The _offset is expected in coordinates of the BodyNode
|
|
755
|
+
/// Frame. You can specify a coordinate Frame to express the Jacobian in.
|
|
756
|
+
virtual math::LinearJacobian getLinearJacobianDeriv(
|
|
757
|
+
const JacobianNode* _node,
|
|
758
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
759
|
+
|
|
760
|
+
/// Get the linear Jacobian (classical) time derivative targeting an offset in
|
|
761
|
+
/// a BodyNode. The _offset is expected in coordinates of the BodyNode Frame.
|
|
762
|
+
/// You can specify a coordinate Frame to express the Jacobian in.
|
|
763
|
+
virtual math::LinearJacobian getLinearJacobianDeriv(
|
|
764
|
+
const JacobianNode* _node,
|
|
765
|
+
const Eigen::Vector3d& _localOffset,
|
|
766
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
767
|
+
|
|
768
|
+
/// Get the angular Jacobian time derivative of a BodyNode. You can specify a
|
|
769
|
+
/// coordinate Frame to express the Jacobian in.
|
|
770
|
+
virtual math::AngularJacobian getAngularJacobianDeriv(
|
|
771
|
+
const JacobianNode* _node,
|
|
772
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
773
|
+
|
|
774
|
+
/// \}
|
|
775
|
+
|
|
776
|
+
//----------------------------------------------------------------------------
|
|
777
|
+
/// \{ \name Equations of Motion
|
|
778
|
+
//----------------------------------------------------------------------------
|
|
779
|
+
|
|
780
|
+
/// Get the total mass of all BodyNodes in this MetaSkeleton. Note that
|
|
781
|
+
/// for the ReferentialSkeleton extension of MetaSkeleton, this will be an
|
|
782
|
+
/// O(n) operation, while the Skeleton extension will be O(1).
|
|
783
|
+
virtual double getMass() const = 0;
|
|
784
|
+
|
|
785
|
+
/// Get the Mass Matrix of the MetaSkeleton
|
|
786
|
+
virtual const Eigen::MatrixXd& getMassMatrix() const = 0;
|
|
787
|
+
|
|
788
|
+
/// Get augmented mass matrix of the skeleton. This matrix is used in
|
|
789
|
+
/// ConstraintDynamics to compute constraint forces. The matrix is
|
|
790
|
+
/// M + h*D + h*h*K where D is diagonal joint damping coefficient matrix, K is
|
|
791
|
+
/// diagonal joint stiffness matrix, and h is simulation time step.
|
|
792
|
+
virtual const Eigen::MatrixXd& getAugMassMatrix() const = 0;
|
|
793
|
+
|
|
794
|
+
/// Get inverse of Mass Matrix of the MetaSkeleton.
|
|
795
|
+
virtual const Eigen::MatrixXd& getInvMassMatrix() const = 0;
|
|
796
|
+
|
|
797
|
+
/// Get inverse of augmented Mass Matrix of the MetaSkeleton.
|
|
798
|
+
virtual const Eigen::MatrixXd& getInvAugMassMatrix() const = 0;
|
|
799
|
+
|
|
800
|
+
/// Get Coriolis force vector of the MetaSkeleton's BodyNodes.
|
|
801
|
+
virtual const Eigen::VectorXd& getCoriolisForces() const = 0;
|
|
802
|
+
|
|
803
|
+
/// Get gravity force vector of the MetaSkeleton.
|
|
804
|
+
virtual const Eigen::VectorXd& getGravityForces() const = 0;
|
|
805
|
+
|
|
806
|
+
/// Get combined vector of Coriolis force and gravity force of the
|
|
807
|
+
/// MetaSkeleton.
|
|
808
|
+
virtual const Eigen::VectorXd& getCoriolisAndGravityForces() const = 0;
|
|
809
|
+
|
|
810
|
+
/// Get external force vector of the MetaSkeleton.
|
|
811
|
+
virtual const Eigen::VectorXd& getExternalForces() const = 0;
|
|
812
|
+
|
|
813
|
+
/// Get constraint force vector.
|
|
814
|
+
virtual const Eigen::VectorXd& getConstraintForces() const = 0;
|
|
815
|
+
|
|
816
|
+
/// Clear the external forces of the BodyNodes in this MetaSkeleton
|
|
817
|
+
virtual void clearExternalForces() = 0;
|
|
818
|
+
|
|
819
|
+
/// Clear the internal forces of the BodyNodes in this MetaSkeleton
|
|
820
|
+
virtual void clearInternalForces() = 0;
|
|
821
|
+
|
|
822
|
+
/// Compute and return Lagrangian of this MetaSkeleton
|
|
823
|
+
double computeLagrangian() const;
|
|
824
|
+
|
|
825
|
+
/// Get the kinetic energy of this MetaSkeleton
|
|
826
|
+
DART_DEPRECATED(6.1)
|
|
827
|
+
double getKineticEnergy() const;
|
|
828
|
+
|
|
829
|
+
/// Get the kinetic energy of this MetaSkeleton
|
|
830
|
+
virtual double computeKineticEnergy() const = 0;
|
|
831
|
+
|
|
832
|
+
/// Get the potential energy of this MetaSkeleton
|
|
833
|
+
DART_DEPRECATED(6.1)
|
|
834
|
+
double getPotentialEnergy() const;
|
|
835
|
+
|
|
836
|
+
/// Get the potential energy of this MetaSkeleton
|
|
837
|
+
virtual double computePotentialEnergy() const = 0;
|
|
838
|
+
|
|
839
|
+
/// Clear collision flags of the BodyNodes in this MetaSkeleton
|
|
840
|
+
DART_DEPRECATED(6.0)
|
|
841
|
+
virtual void clearCollidingBodies() = 0;
|
|
842
|
+
|
|
843
|
+
/// \}
|
|
844
|
+
|
|
845
|
+
//----------------------------------------------------------------------------
|
|
846
|
+
/// \{ \name Center of Mass Jacobian
|
|
847
|
+
//----------------------------------------------------------------------------
|
|
848
|
+
|
|
849
|
+
/// Get the MetaSkeleton's COM with respect to any Frame (default is World
|
|
850
|
+
/// Frame)
|
|
851
|
+
virtual Eigen::Vector3d getCOM(
|
|
852
|
+
const Frame* _withRespectTo = Frame::World()) const = 0;
|
|
853
|
+
|
|
854
|
+
/// Get the Skeleton's COM spatial velocity in terms of any Frame (default is
|
|
855
|
+
/// World Frame)
|
|
856
|
+
virtual Eigen::Vector6d getCOMSpatialVelocity(
|
|
857
|
+
const Frame* _relativeTo = Frame::World(),
|
|
858
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
859
|
+
|
|
860
|
+
/// Get the Skeleton's COM linear velocity in terms of any Frame (default is
|
|
861
|
+
/// World Frame)
|
|
862
|
+
virtual Eigen::Vector3d getCOMLinearVelocity(
|
|
863
|
+
const Frame* _relativeTo = Frame::World(),
|
|
864
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
865
|
+
|
|
866
|
+
/// Get the Skeleton's COM spatial acceleration in terms of any Frame (default
|
|
867
|
+
/// is World Frame)
|
|
868
|
+
virtual Eigen::Vector6d getCOMSpatialAcceleration(
|
|
869
|
+
const Frame* _relativeTo = Frame::World(),
|
|
870
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
871
|
+
|
|
872
|
+
/// Get the MetaSkeleton's COM linear acceleration in terms of any Frame
|
|
873
|
+
/// (default is World Frame)
|
|
874
|
+
virtual Eigen::Vector3d getCOMLinearAcceleration(
|
|
875
|
+
const Frame* _relativeTo = Frame::World(),
|
|
876
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
877
|
+
|
|
878
|
+
/// Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is
|
|
879
|
+
/// World Frame)
|
|
880
|
+
virtual math::Jacobian getCOMJacobian(
|
|
881
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
882
|
+
|
|
883
|
+
/// Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default
|
|
884
|
+
/// is World Frame)
|
|
885
|
+
virtual math::LinearJacobian getCOMLinearJacobian(
|
|
886
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
887
|
+
|
|
888
|
+
/// Get the Skeleton's COM Jacobian spatial time derivative in terms of any
|
|
889
|
+
/// Frame (default is World Frame).
|
|
890
|
+
///
|
|
891
|
+
/// NOTE: Since this is a spatial time derivative, it is only meant to be used
|
|
892
|
+
/// with spatial acceleration vectors. If you are using classical linear
|
|
893
|
+
/// vectors, then use getCOMLinearJacobianDeriv() instead.
|
|
894
|
+
virtual math::Jacobian getCOMJacobianSpatialDeriv(
|
|
895
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
896
|
+
|
|
897
|
+
/// Get the Skeleton's COM Linear Jacobian time derivative in terms of any
|
|
898
|
+
/// Frame (default is World Frame).
|
|
899
|
+
///
|
|
900
|
+
/// NOTE: Since this is a classical time derivative, it is only meant to be
|
|
901
|
+
/// used with classical acceleration vectors. If you are using spatial
|
|
902
|
+
/// vectors, then use getCOMJacobianSpatialDeriv() instead.
|
|
903
|
+
virtual math::LinearJacobian getCOMLinearJacobianDeriv(
|
|
904
|
+
const Frame* _inCoordinatesOf = Frame::World()) const = 0;
|
|
905
|
+
|
|
906
|
+
/// \}
|
|
907
|
+
|
|
908
|
+
/// Sets the RGB color of the BodyNodes that are currently in this
|
|
909
|
+
/// MetaSkeleton.
|
|
910
|
+
///
|
|
911
|
+
/// ShapeNodes that don't have VisualAspect will be ignored.
|
|
912
|
+
///
|
|
913
|
+
/// Note that the ShapeNodes that are added after calling this function
|
|
914
|
+
/// don't get updated to the color that was set beforehand.
|
|
915
|
+
void setColor(const Eigen::Vector3d& color);
|
|
916
|
+
|
|
917
|
+
/// Sets the RGBA color of the BodyNodes that are currently in this
|
|
918
|
+
/// MetaSkeleton.
|
|
919
|
+
///
|
|
920
|
+
/// ShapeNodes that don't have VisualAspect will be ignored.
|
|
921
|
+
///
|
|
922
|
+
/// Note that the ShapeNodes that are added after calling this function
|
|
923
|
+
/// don't get updated to the color that was set beforehand.
|
|
924
|
+
void setColor(const Eigen::Vector4d& color);
|
|
925
|
+
|
|
926
|
+
/// Sets the alpha component of the BodyNodes that are currently in this
|
|
927
|
+
/// MetaSkeleton.
|
|
928
|
+
///
|
|
929
|
+
/// ShapeNodes that don't have VisualAspect will be ignored.
|
|
930
|
+
///
|
|
931
|
+
/// Note that the BodyNodes that are added after calling this function
|
|
932
|
+
/// don't get updated to the alpha value that was set beforehand.
|
|
933
|
+
void setAlpha(double alpha);
|
|
934
|
+
|
|
935
|
+
/// \{ \name Iterations
|
|
936
|
+
|
|
937
|
+
/// Iterates all the BodyNodes in this MetaSkeleton and invokes the callback
|
|
938
|
+
/// function.
|
|
939
|
+
///
|
|
940
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
941
|
+
/// equivalent to \c void(const BodyNode*) or \c bool(const BodyNode*). If
|
|
942
|
+
/// you want to conditionally iterate, use \c bool(const BodyNode*) and
|
|
943
|
+
/// return false when to stop iterating.
|
|
944
|
+
///
|
|
945
|
+
/// \param[in] func: The callback function to be called for each BodyNode.
|
|
946
|
+
template <typename Func>
|
|
947
|
+
void eachBodyNode(Func func) const;
|
|
948
|
+
|
|
949
|
+
/// Iterates all the BodyNodes in this MetaSkeleton and invokes the callback
|
|
950
|
+
/// function.
|
|
951
|
+
///
|
|
952
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
953
|
+
/// equivalent to \c void(BodyNode*) or \c bool(BodyNode*). If
|
|
954
|
+
/// you want to conditionally iterate, use \c bool(BodyNode*) and
|
|
955
|
+
/// return false when to stop iterating.
|
|
956
|
+
///
|
|
957
|
+
/// \param[in] func: The callback function to be called for each BodyNode.
|
|
958
|
+
template <typename Func>
|
|
959
|
+
void eachBodyNode(Func func);
|
|
960
|
+
|
|
961
|
+
/// Iterates all the Joints in this MetaSkeleton and invokes the callback
|
|
962
|
+
/// function.
|
|
963
|
+
///
|
|
964
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
965
|
+
/// equivalent to \c void(const Joint*) or \c bool(const Joint*). If
|
|
966
|
+
/// you want to conditionally iterate, use \c bool(const BodyNode*) and
|
|
967
|
+
/// return false when to stop iterating.
|
|
968
|
+
///
|
|
969
|
+
/// \param[in] func: The callback function to be called for each Joint.
|
|
970
|
+
template <typename Func>
|
|
971
|
+
void eachJoint(Func func) const;
|
|
972
|
+
|
|
973
|
+
/// Iterates all the Joints in this MetaSkeleton and invokes the callback
|
|
974
|
+
/// function.
|
|
975
|
+
///
|
|
976
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
977
|
+
/// equivalent to \c void(Joint*) or \c bool(Joint*). If
|
|
978
|
+
/// you want to conditionally iterate, use \c bool(Joint*) and
|
|
979
|
+
/// return false when to stop iterating.
|
|
980
|
+
///
|
|
981
|
+
/// \param[in] func: The callback function to be called for each Joint.
|
|
982
|
+
template <typename Func>
|
|
983
|
+
void eachJoint(Func func);
|
|
984
|
+
|
|
985
|
+
/// Iterates all the DegreeOfFreedoms in this MetaSkeleton and invokes the
|
|
986
|
+
/// callback function.
|
|
987
|
+
///
|
|
988
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
989
|
+
/// equivalent to \c void(const DegreeOfFreedom*) or \c bool(const
|
|
990
|
+
/// DegreeOfFreedom*). If you want to conditionally iterate, use \c bool(const
|
|
991
|
+
/// DegreeOfFreedom*) and return false when to stop iterating.
|
|
992
|
+
///
|
|
993
|
+
/// \param[in] func: The callback function to be called for each
|
|
994
|
+
/// DegreeOfFreedom.
|
|
995
|
+
template <typename Func>
|
|
996
|
+
void eachDof(Func func) const;
|
|
997
|
+
|
|
998
|
+
/// Iterates all the DegreeOfFreedoms in this MetaSkeleton and invokes the
|
|
999
|
+
/// callback function.
|
|
1000
|
+
///
|
|
1001
|
+
/// \tparam Func: The callback function type. The function signature should be
|
|
1002
|
+
/// equivalent to \c void(DegreeOfFreedom*) or \c bool(DegreeOfFreedom*). If
|
|
1003
|
+
/// you want to conditionally iterate, use \c bool(DegreeOfFreedom*) and
|
|
1004
|
+
/// return false when to stop iterating.
|
|
1005
|
+
///
|
|
1006
|
+
/// \param[in] func: The callback function to be called for each
|
|
1007
|
+
/// DegreeOfFreedom.
|
|
1008
|
+
template <typename Func>
|
|
1009
|
+
void eachDof(Func func);
|
|
1010
|
+
|
|
1011
|
+
/// \}
|
|
1012
|
+
|
|
1013
|
+
protected:
|
|
1014
|
+
/// Default constructor
|
|
1015
|
+
MetaSkeleton();
|
|
1016
|
+
|
|
1017
|
+
//--------------------------------------------------------------------------
|
|
1018
|
+
// Signals
|
|
1019
|
+
//--------------------------------------------------------------------------
|
|
1020
|
+
NameChangedSignal mNameChangedSignal;
|
|
1021
|
+
|
|
1022
|
+
public:
|
|
1023
|
+
//--------------------------------------------------------------------------
|
|
1024
|
+
// Slot registers
|
|
1025
|
+
//--------------------------------------------------------------------------
|
|
1026
|
+
common::SlotRegister<NameChangedSignal> onNameChanged;
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
} // namespace dynamics
|
|
1030
|
+
} // namespace dart
|
|
1031
|
+
|
|
1032
|
+
#include <dart/dynamics/detail/MetaSkeleton-impl.hpp>
|
|
1033
|
+
|
|
1034
|
+
#endif // DART_DYNAMICS_METASKELETON_HPP_
|