3 #ifndef ROBOWFLEX_DART_WORLD_
4 #define ROBOWFLEX_DART_WORLD_
8 #include <dart/dynamics/Skeleton.hpp>
9 #include <dart/collision/CollisionFilter.hpp>
10 #include <dart/collision/DistanceFilter.hpp>
11 #include <dart/collision/CollisionGroup.hpp>
12 #include <dart/simulation/World.hpp>
36 bool needDistance(
const dart::collision::CollisionObject *object1,
37 const dart::collision::CollisionObject *object2)
const override;
157 Eigen::Vector3d &getWorkspaceLow();
162 const Eigen::Vector3d &getWorkspaceLowConst()
const;
167 Eigen::Vector3d &getWorkspaceHigh();
172 const Eigen::Vector3d &getWorkspaceHighConst()
const;
177 dart::simulation::WorldPtr getSim();
182 const dart::simulation::WorldPtr &getSimConst()
const;
188 unsigned int getSkeletonIndex(
const dart::dynamics::SkeletonPtr &skeleton)
const;
215 double distanceToCollision()
const;
225 void clearIKModules();
237 void openOSGViewer();
249 getSelfCollisionGroup(
const std::string &name)
const;
256 getOtherCollisionGroup(
const std::string &name)
const;
286 void addSkeletonCollider(
const std::string &name,
const dart::dynamics::SkeletonPtr &skeleton);
292 void removeSkeletonCollider(
const std::string &name,
const dart::dynamics::SkeletonPtr &skeleton);
296 Eigen::Vector3d low_{-5, -5, -5};
297 Eigen::Vector3d high_{5, 5, 5};
302 dart::collision::CollisionGroupPtr
all_;
#define ROBOWFLEX_CLASS_FORWARD(C)
Macro that forward declares a class and defines two shared ptrs types:
#define ROBOWFLEX_EIGEN
Macro for classes with fixed width Eigen classes.
A const shared pointer wrapper for robowflex::Robot.
A shared pointer wrapper for robowflex::Robot.
A wrapper for the ACM to pass into signed distance computation. Returns based on if the objects would...
std::shared_ptr< dart::collision::CollisionFilter > filter_
Wrapped collision filter.
A const shared pointer wrapper for robowflex::darts::Structure.
A shared pointer wrapper for robowflex::darts::Structure.
A shared pointer wrapper for robowflex::darts::World.
Wrapper for a dart::simulation::World, which contains a set of skeletons (i.e., Robots and Structures...
dart::simulation::WorldPtr world_
Underlying world.
std::map< std::string, RobotPtr > robots_
Robots in world.
std::recursive_mutex mutex_
Internal lock.
dart::collision::CollisionDetectorPtr collider_
Collision checker.
std::map< std::string, CollisionInfo > collision_
dart::collision::CollisionDetectorPtr getCollider() const
Get the collision detector for this world.
const std::string name_
Name of world.
std::shared_ptr< dart::collision::CompositeCollisionFilter > filter_
std::map< std::string, StructurePtr > structures_
Structures in world.
dart::collision::CollisionGroupPtr all_
All collision groups in world.
Functions for loading and animating robots in Blender.
Main namespace. Contains all library classes and functions.
Collision filter information.
std::shared_ptr< dart::collision::CollisionGroup > others
All other nodes in world.