33#ifndef DART_COLLISION_COLLISIONGROUP_HPP_
34#define DART_COLLISION_COLLISIONGROUP_HPP_
71 const std::vector<const dynamics::ShapeFrame*>& shapeFrames);
81 template <
typename... Others>
83 const Others*... others);
86 template <
typename... Others>
88 const std::vector<const dynamics::ShapeFrame*>& shapeFrames,
89 const Others*... others);
93 template <
typename... Others>
95 const Others*... others);
99 template <
typename... Others>
101 const Others*... others);
105 template <
typename... Others>
107 const Others*... others);
118 const std::vector<const dynamics::ShapeFrame*>& shapeFrames);
128 template <
typename... Others>
130 const Others*... others);
133 template <
typename... Others>
135 const std::vector<const dynamics::ShapeFrame*>& shapeFrames,
136 const Others*... others);
140 template <
typename... Others>
142 const Others*... others);
146 template <
typename... Others>
148 const Others*... others);
152 template <
typename... Others>
154 const Others*... others);
231 const std::vector<CollisionObject*>& collObjects) = 0;
const CollisionOption & option
Collision option of DART.
Definition FCLCollisionDetector.cpp:154
CollisionResult * result
Collision result of DART.
Definition FCLCollisionDetector.cpp:157
std::size_t index
Definition SkelParser.cpp:1617
Definition CollisionGroup.hpp:49
virtual void addCollisionObjectToEngine(CollisionObject *object)=0
Add CollisionObject to the collision detection engine.
std::vector< std::pair< const dynamics::ShapeFrame *, CollisionObjectPtr > > mShapeFrameMap
ShapeFrames and CollisionOjbects added to this CollisionGroup.
Definition CollisionGroup.hpp:254
void addShapeFramesOf()
Do nothing.
Definition CollisionGroup.cpp:89
bool collide(const CollisionOption &option=CollisionOption(false, 1u, nullptr), CollisionResult *result=nullptr)
Perform collision check within this CollisionGroup.
Definition CollisionGroup.cpp:165
CollisionDetectorPtr mCollisionDetector
Collision detector.
Definition CollisionGroup.hpp:246
void removeShapeFrames(const std::vector< const dynamics::ShapeFrame * > &shapeFrames)
Remove ShapeFrames from this CollisionGroup.
Definition CollisionGroup.cpp:115
virtual void initializeEngineData()=0
Initialize the collision detection engine data such as broadphase algorithm.
void addShapeFrames(const std::vector< const dynamics::ShapeFrame * > &shapeFrames)
Add ShapeFrames to this CollisionGroup.
Definition CollisionGroup.cpp:81
double distance(const DistanceOption &option=DistanceOption(false, 0.0, nullptr), DistanceResult *result=nullptr)
Get the minimum signed distance between the Shape pairs in this CollisionGroup.
Definition CollisionGroup.cpp:181
virtual void removeAllCollisionObjectsFromEngine()=0
Remove all the CollisionObjects from the collision detection engine.
void removeAllShapeFrames()
Remove all the ShapeFrames in this CollisionGroup.
Definition CollisionGroup.cpp:129
void addShapeFrame(const dynamics::ShapeFrame *shapeFrame)
Add a ShapeFrame to this CollisionGroup.
Definition CollisionGroup.cpp:65
virtual void updateCollisionGroupEngineData()=0
Update the collision detection engine data such as broadphase algorithm.
void removeShapeFrame(const dynamics::ShapeFrame *shapeFrame)
Remove a ShapeFrame from this CollisionGroup.
Definition CollisionGroup.cpp:95
virtual void addCollisionObjectsToEngine(const std::vector< CollisionObject * > &collObjects)=0
Add CollisionObjects to the collision detection engine.
void updateEngineData()
Update engine data.
Definition CollisionGroup.cpp:197
virtual void removeCollisionObjectFromEngine(CollisionObject *object)=0
Remove CollisionObject from the collision detection engine.
virtual ~CollisionGroup()=default
Destructor.
bool hasShapeFrame(const dynamics::ShapeFrame *shapeFrame) const
Return true if this CollisionGroup contains shapeFrame.
Definition CollisionGroup.cpp:137
std::size_t getNumShapeFrames() const
Return number of ShapeFrames added to this CollisionGroup.
Definition CollisionGroup.cpp:148
void removeShapeFramesOf()
Do nothing.
Definition CollisionGroup.cpp:123
CollisionDetectorPtr getCollisionDetector()
Return collision detection engine associated with this CollisionGroup.
Definition CollisionGroup.cpp:53
const dynamics::ShapeFrame * getShapeFrame(std::size_t index) const
Get the ShapeFrame corresponding to the given index.
Definition CollisionGroup.cpp:154
Definition CollisionObject.hpp:45
Definition CollisionResult.hpp:52
BodyNode class represents a single node of the skeleton.
Definition BodyNode.hpp:78
Definition ShapeFrame.hpp:164
std::shared_ptr< const CollisionDetector > ConstCollisionDetectorPtr
Definition SmartPointer.hpp:41
std::shared_ptr< CollisionDetector > CollisionDetectorPtr
Definition SmartPointer.hpp:41
std::shared_ptr< CollisionObject > CollisionObjectPtr
Definition SmartPointer.hpp:45
Definition BulletCollisionDetector.cpp:63
Definition CollisionOption.hpp:45
Definition DistanceOption.hpp:45
Definition DistanceResult.hpp:47