82class
World : public virtual common::Subject
88 const std::string& _newName)>;
91 template <
typename... Args>
92 static WorldPtr create(Args&&... args);
99 static std::shared_ptr<World> create(
const std::string&
name =
"world");
102 World(
const std::string& _name =
"world");
109 std::shared_ptr<World> clone()
const;
116 const std::string& setName(
const std::string& _newName);
119 const std::string& getName()
const;
122 void setGravity(
const Eigen::Vector3d& _gravity);
125 const Eigen::Vector3d& getGravity()
const;
128 void setTimeStep(
double _timeStep);
131 double getTimeStep()
const;
146 std::size_t getNumSkeletons()
const;
156 std::set<dynamics::SkeletonPtr> removeAllSkeletons();
162 int getIndex(
int _index)
const;
171 std::size_t getNumSimpleFrames()
const;
181 std::set<dynamics::SimpleFramePtr> removeAllSimpleFrames();
189 bool checkCollision(
bool checkAllCollisions);
197 const collision::CollisionOption&
option
198 = collision::CollisionOption(false, 1u,
nullptr),
199 collision::CollisionResult*
result =
nullptr);
205 const collision::CollisionResult& getLastCollisionResult() const;
217 void step(
bool _resetCommand = true);
220 void setTime(
double _time);
223 double getTime() const;
229 int getSimFrames() const;
239 void setConstraintSolver(constraint::UniqueConstraintSolverPtr solver);
242 constraint::ConstraintSolver* getConstraintSolver();
245 const constraint::ConstraintSolver* getConstraintSolver() const;
256 void handleSkeletonNameChange(
257 const dynamics::ConstMetaSkeletonPtr& _skeleton);
260 void handleSimpleFrameNameChange(const dynamics::Entity* _entity);
266 std::vector<dynamics::SkeletonPtr> mSkeletons;
268 std::map<dynamics::ConstMetaSkeletonPtr,
269 dynamics::SkeletonPtr> mMapForSkeletons;
273 std::vector<common::Connection> mNameConnectionsForSkeletons;
276 dart::common::NameManager<dynamics::SkeletonPtr> mNameMgrForSkeletons;
279 std::vector<dynamics::SimpleFramePtr> mSimpleFrames;
283 std::vector<common::Connection> mNameConnectionsForSimpleFrames;
286 std::map<const dynamics::SimpleFrame*, dynamics::SimpleFramePtr> mSimpleFrameToShared;
289 dart::common::NameManager<dynamics::SimpleFramePtr> mNameMgrForSimpleFrames;
295 std::vector<
int> mIndices;
310 std::unique_ptr<constraint::ConstraintSolver> mConstraintSolver;
const CollisionOption & option
Collision option of DART.
Definition FCLCollisionDetector.cpp:154