Class SiconosBulletCollisionManager#
Defined in Program listing for file mechanics/src/collision/bullet/SiconosBulletCollisionManager.hpp
-
class SiconosBulletCollisionManager : public SiconosCollisionManager#
Public Functions
-
virtual SP::StaticBody addStaticBody(SP::SiconosContactorSet cs, SP::SiconosVector position = SP::SiconosVector(), int number = 0)#
Add a static body in the collision detector.
-
virtual void removeStaticBody(const SP::StaticBody &body)#
Remove a body from the collision detector.
-
virtual void removeBody(const SP::SecondOrderDS &body)#
Remove a body from the collision detector.
This must be done after removing a body from the NonSmoothDynamicalSystem otherwise contact will occur with a non-graph body which results in failure.
-
virtual std::vector<SP::SiconosCollisionQueryResult> lineIntersectionQuery(const SiconosVector &start, const SiconosVector &end, bool closestOnly = false, bool sorted = true)#
Perform an intersection test on all shapes in the contactors and return a vector of all results, ordered by distance from start.
- Parameters:
start – The starting point of the line segment in inertial frame (world) coordinates.
end – The ending point of the line segment in inertial frame (world) coordinates.
closestOnly – If true, indicates only interested in first result closest to half-space boundary, max size of returned vector = 1.
sorted – If true, results are sorted by distance.
- Returns:
A vector of SiconosCollisionQueryResult that contain information about the query results.
-
inline void useEqualityConstraints(bool choice = true)#
Set the usage of equality constraints.
When the number of objects is huge as in granular material, the usage of equality constraint breaks scalability. This have to be fixed.
- Parameters:
choice – a boolean, default is True.
-
virtual SP::StaticBody addStaticBody(SP::SiconosContactorSet cs, SP::SiconosVector position = SP::SiconosVector(), int number = 0)#