RobWorkProject  23.9.11-
Public Types | Public Member Functions | Protected Types | List of all members
ContactStrategyGeometry< A, B > Class Template Reference

Generic contact strategy that find contacts between two different types of geometry. More...

#include <ContactStrategyGeometry.hpp>

Inherits ContactStrategy.

Public Types

typedef rw::core::Ptr< ContactStrategyGeometry< A, B > > Ptr
 smart pointer type to this class
 
- 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
 

Public Member Functions

 ContactStrategyGeometry ()
 Construct new strategy.
 
virtual ~ContactStrategyGeometry ()
 Destructor.
 
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::geometry::Geometry::Ptr 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 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 bool match (rw::core::Ptr< const rw::geometry::GeometryData > geoA, rw::core::Ptr< const rw::geometry::GeometryData > geoB)=0
 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) 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 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 =0
 Check if there is contact between two contact models using additional data and tracking of contacts. More...
 
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 =0
 Update known contacts between two contact models. More...
 
virtual std::string getName ()=0
 Get the name of the strategy as a string. More...
 
virtual bool addGeometry (rw::proximity::ProximityModel *model, rw::core::Ptr< rw::geometry::Geometry > geom, bool forceCopy=false)=0
 
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...
 
virtual std::vector< rw::core::Ptr< rw::geometry::Geometry > > getGeometries (rw::proximity::ProximityModel *model)=0
 the list of all geometry that are associated to the proximity model model 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...
 

Protected Types

typedef ContactModelGeometry< A, B > GeometryModel
 The type of the contact model.
 

Additional Inherited Members

- 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

template<class A, class B>
class rwsim::contacts::ContactStrategyGeometry< A, B >

Generic contact strategy that find contacts between two different types of geometry.

Member Function Documentation

◆ addGeometry() [1/2]

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

◆ addGeometry() [2/2]

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

◆ clear()

virtual void clear ( )
inlinevirtual

Clears any stored model information.

Implements ContactStrategy.

◆ createModel()

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

creates an empty ProximityModel

Implements ContactStrategy.

◆ destroyModel()

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

deallocates the memory used for model

Parameters
model

Implements ContactStrategy.

◆ getGeometryIDs()

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

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.

◆ removeGeometry()

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

removes a geometry from a specific proximity model

Implements ContactStrategy.


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