RobWorkProject  23.9.11-
Public Member Functions | List of all members
BallBallStrategy Class Reference

Detection of contacts between balls. Each model can consist of multiple balls. More...

#include <BallBallStrategy.hpp>

Inherits ContactStrategy.

Public Member Functions

 BallBallStrategy ()
 Create new strategy.
 
virtual ~BallBallStrategy ()
 Destructor.
 
virtual bool match (rw::core::Ptr< const rw::geometry::GeometryData > geoA, rw::core::Ptr< const rw::geometry::GeometryData > geoB)
 Test is this strategy can be used for the given geometries. More...
 
virtual std::vector< ContactfindContacts (rw::proximity::ProximityModel::Ptr a, const rw::math::Transform3D<> &wTa, rw::proximity::ProximityModel::Ptr b, const rw::math::Transform3D<> &wTb, ContactStrategyData &data, ContactStrategyTracking &tracking, rwsim::log::SimulatorLogScope *log=NULL) const
 
virtual std::vector< ContactupdateContacts (rw::proximity::ProximityModel::Ptr a, const rw::math::Transform3D<> &wTa, rw::proximity::ProximityModel::Ptr b, const rw::math::Transform3D<> &wTb, ContactStrategyData &data, ContactStrategyTracking &tracking, rwsim::log::SimulatorLogScope *log=NULL) const
 Update known contacts between two contact models. More...
 
virtual std::string getName ()
 Get the name of the strategy as a string. More...
 
virtual rw::proximity::ProximityModel::Ptr createModel ()
 creates an empty ProximityModel More...
 
virtual void destroyModel (rw::proximity::ProximityModel *model)
 deallocates the memory used for model More...
 
virtual bool addGeometry (rw::proximity::ProximityModel *model, const rw::geometry::Geometry &geom)
 
virtual bool addGeometry (rw::proximity::ProximityModel *model, rw::core::Ptr< rw::geometry::Geometry > geom, bool forceCopy=false)
 
virtual bool removeGeometry (rw::proximity::ProximityModel *model, const std::string &geomId)
 removes a geometry from a specific proximity model More...
 
virtual std::vector< std::string > getGeometryIDs (rw::proximity::ProximityModel *model)
 the list of all geometry ids that are associated to the proximity model model is returned More...
 
virtual std::vector< rw::core::Ptr< rw::geometry::Geometry > > getGeometries (rw::proximity::ProximityModel *model)
 the list of all geometry that are associated to the proximity model model is returned More...
 
virtual void clear ()
 Clears any stored model information. More...
 
- Public Member Functions inherited from ContactStrategy
 ContactStrategy ()
 Create new contact strategy.
 
virtual ~ContactStrategy ()
 Destruct contact strategy.
 
virtual std::vector< ContactfindContacts (rw::proximity::ProximityModel::Ptr a, const rw::math::Transform3D<> &wTa, rw::proximity::ProximityModel::Ptr b, const rw::math::Transform3D<> &wTb) const
 Check if there is contact between two contact models. More...
 
virtual std::vector< ContactfindContacts (rw::proximity::ProximityModel::Ptr a, const rw::math::Transform3D<> &wTa, rw::proximity::ProximityModel::Ptr b, const rw::math::Transform3D<> &wTb, ContactStrategyData &data) const
 Check if there is contact between two contact models using additional data. More...
 
virtual rw::core::PropertyMapgetPropertyMap ()
 Get the properties used by the contact strategy. More...
 
virtual const rw::core::PropertyMapgetPropertyMap () const
 Get the properties used by the contact strategy. More...
 
virtual void setPropertyMap (const rw::core::PropertyMap &map)
 Set which properties the contact strategy should use. More...
 
- Public Member Functions inherited from ProximityStrategy
virtual ~ProximityStrategy ()
 Destructor.
 
virtual bool addModel (rw::core::Ptr< rw::models::Object > object)
 Adds a Proximity model of a frame to this strategy. More...
 
virtual bool addModel (const rw::core::Ptr< rw::kinematics::Frame > frame, const rw::geometry::Geometry &faces)
 Adds a Proximity model to a frame where the geometry is copied in the underlying proximity strategy. More...
 
virtual bool addModel (const rw::core::Ptr< rw::kinematics::Frame > frame, rw::core::Ptr< rw::geometry::Geometry > faces, bool forceCopy=false)
 Adds a Proximity model to a frame. More...
 
virtual bool hasModel (const rw::core::Ptr< rw::kinematics::Frame > frame)
 Tells whether the frame has a proximity model in the strategy. More...
 
virtual void clearFrame (const rw::core::Ptr< rw::kinematics::Frame > frame)
 Clear (remove all) model information for frame frame.
 
virtual void clearFrames ()
 Clear (remove all) model information for all frames.
 
ProximityModel::Ptr getModel (const rw::core::Ptr< rw::kinematics::Frame > frame)
 get the proximitymodel associated to frame. If no model has been associated to frame then NULL is returned. More...
 
 DEPRECATED ("This function is deprecated due to a spelling mistake, use the correct " "spelling \"getGeometries\" instead") std
 
void useThreads (int threads)
 setNumber of threads the strategy may use More...
 

Additional Inherited Members

- Public Types inherited from ContactStrategy
typedef rw::core::Ptr< ContactStrategyPtr
 smart pointer type to this class
 
- Public Types inherited from ProximityStrategy
typedef rw::core::Ptr< ProximityStrategyPtr
 smart pointer type to this class
 
- Protected Member Functions inherited from ProximityStrategy
 ProximityStrategy ()
 Creates object.
 
- Protected Attributes inherited from ContactStrategy
rw::core::PropertyMap _propertyMap
 Properties for strategy.
 
- Protected Attributes inherited from ProximityStrategy
size_t _threads
 the number of threads the strategy may use
 

Detailed Description

Detection of contacts between balls. Each model can consist of multiple balls.

Member Function Documentation

◆ addGeometry() [1/2]

virtual bool addGeometry ( rw::proximity::ProximityModel model,
const rw::geometry::Geometry geom 
)
virtual

◆ addGeometry() [2/2]

virtual bool addGeometry ( rw::proximity::ProximityModel model,
rw::core::Ptr< rw::geometry::Geometry geom,
bool  forceCopy = false 
)
virtual

◆ clear()

virtual void clear ( )
virtual

Clears any stored model information.

Implements ContactStrategy.

◆ createModel()

virtual rw::proximity::ProximityModel::Ptr createModel ( )
virtual

creates an empty ProximityModel

Implements ContactStrategy.

◆ destroyModel()

virtual void destroyModel ( rw::proximity::ProximityModel model)
virtual

deallocates the memory used for model

Parameters
model

Implements ContactStrategy.

◆ findContacts()

virtual std::vector<Contact> findContacts ( rw::proximity::ProximityModel::Ptr  a,
const rw::math::Transform3D<> &  wTa,
rw::proximity::ProximityModel::Ptr  b,
const rw::math::Transform3D<> &  wTb,
ContactStrategyData data,
ContactStrategyTracking tracking,
rwsim::log::SimulatorLogScope log = NULL 
) const
virtual

◆ getGeometries()

virtual std::vector<rw::core::Ptr<rw::geometry::Geometry> > getGeometries ( rw::proximity::ProximityModel model)
virtual

the list of all geometry that are associated to the proximity model model is returned

Parameters
model[in] the model containing the geometries
Returns
all geometry associated to the proximity model

Implements ProximityStrategy.

◆ getGeometryIDs()

virtual std::vector<std::string> getGeometryIDs ( rw::proximity::ProximityModel model)
virtual

the list of all geometry ids that are associated to the proximity model model is returned

Parameters
model[in] the model containing the geometries
Returns
all geometry ids associated to the proximity model

Implements ContactStrategy.

◆ getName()

virtual std::string getName ( )
virtual

Get the name of the strategy as a string.

Returns
name of the strategy.

Implements ContactStrategy.

◆ match()

virtual bool match ( rw::core::Ptr< const rw::geometry::GeometryData geoA,
rw::core::Ptr< const rw::geometry::GeometryData geoB 
)
virtual

Test is this strategy can be used for the given geometries.

Parameters
geoA[in] geometry data for the first object.
geoB[in] geometry data for the second object.
Returns
true if this strategy can be used for the given geometries.

Implements ContactStrategy.

◆ removeGeometry()

virtual bool removeGeometry ( rw::proximity::ProximityModel model,
const std::string &  geomId 
)
virtual

removes a geometry from a specific proximity model

Implements ContactStrategy.

◆ updateContacts()

virtual std::vector<Contact> updateContacts ( rw::proximity::ProximityModel::Ptr  a,
const rw::math::Transform3D<> &  wTa,
rw::proximity::ProximityModel::Ptr  b,
const rw::math::Transform3D<> &  wTb,
ContactStrategyData data,
ContactStrategyTracking tracking,
rwsim::log::SimulatorLogScope log = NULL 
) const
virtual

Update known contacts between two contact models.

Parameters
a[in] model a.
wTa[in] current transform of model a.
b[in] model b.
wTb[in] current transform of model b.
data[in/out] allows caching between contact detection calls, and makes it possible for detection algorithms to exploit spatial and temporal coherence.
tracking[in/out] meta-data for previously found contacts.
log[in/out] (optional) store detailed logging information.
Returns
a list of updated contacts.

Implements ContactStrategy.


The documentation for this class was generated from the following file: