RobWorkProject  23.9.11-
Classes | Public Types | Public Member Functions | List of all members
BasicFilterStrategy Class Reference

a simple rule based broadphase filter strategy. A static frame pair list of frame pairs that is to be checked for collision is maintained. The list is static in the sense that it is not optimized to be changed. However the user can both add and remove new geometries and rules. More...

#include <BasicFilterStrategy.hpp>

Inherits ProximityFilterStrategy.

Public Types

typedef rw::core::Ptr< BasicFilterStrategyPtr
 smart pointer type to this class
 
typedef rw::core::Ptr< const BasicFilterStrategyCPtr
 smart pointer type to this const class
 
- Public Types inherited from ProximityFilterStrategy
typedef rw::core::Ptr< ProximityFilterStrategyPtr
 smart pointer type to this class
 
typedef rw::core::Ptr< const ProximityFilterStrategyCPtr
 smart pointer type to this const class
 

Public Member Functions

 BasicFilterStrategy (rw::core::Ptr< rw::models::WorkCell > workcell)
 constructor - the ProximitySetup will be extracted from the workcell description if possible. More...
 
 BasicFilterStrategy (rw::core::Ptr< rw::models::WorkCell > workcell, const rw::proximity::ProximitySetup &setup)
 constructor - constructs frame pairs based on the setup More...
 
virtual ~BasicFilterStrategy ()
 destructor
 
virtual void reset (const rw::kinematics::State &state)
 Reset. More...
 
virtual rw::core::Ptr< rw::proximity::ProximityCachecreateProximityCache ()
 creates a FilterData object. This is used for caching relavant data between calls to update More...
 
virtual rw::core::Ptr< rw::proximity::ProximityFilterupdate (const rw::kinematics::State &state)
 Do an update. More...
 
virtual rw::core::Ptr< rw::proximity::ProximityFilterupdate (const rw::kinematics::State &state, rw::core::Ptr< rw::proximity::ProximityCache > data)
 creates a FilterData object. This is used for caching relavant data between calls to update More...
 
rw::proximity::ProximitySetupgetProximitySetup ()
 get the proximity setup that describe the include/exclude rules of this BroadPhaseStrategy More...
 
virtual void addGeometry (rw::core::Ptr< rw::kinematics::Frame > frame, const rw::core::Ptr< rw::geometry::Geometry >)
 Adds geometry associated to frame. More...
 
virtual void removeGeometry (rw::core::Ptr< rw::kinematics::Frame > frame, const rw::core::Ptr< rw::geometry::Geometry >)
 Removes the geometric model geo associated with Frame frame from this strategy. More...
 
virtual void removeGeometry (rw::core::Ptr< rw::kinematics::Frame > frame, const std::string &geometryId)
 Removes the geometric model geo associated with Frame frame from this strategy. More...
 
virtual void addRule (const rw::proximity::ProximitySetupRule &rule)
 Adds a ProximitySetupRule. More...
 
virtual void removeRule (const rw::proximity::ProximitySetupRule &rule)
 Removes a ProximitySetupRule If the rule cannot be found, then noting happens. More...
 
- Public Member Functions inherited from ProximityFilterStrategy
virtual ~ProximityFilterStrategy ()
 Destructor.
 

Detailed Description

a simple rule based broadphase filter strategy. A static frame pair list of frame pairs that is to be checked for collision is maintained. The list is static in the sense that it is not optimized to be changed. However the user can both add and remove new geometries and rules.

Note
The framepair list is explicitly kept in this class which makes this broadphase strategy infeasible for workcells with many objects. Consider a workcell with 100 objects, this will in worst case make a list of 10000 framepairs.

Constructor & Destructor Documentation

◆ BasicFilterStrategy() [1/2]

constructor - the ProximitySetup will be extracted from the workcell description if possible.

Parameters
workcell[in] the workcell.

◆ BasicFilterStrategy() [2/2]

constructor - constructs frame pairs based on the setup

Parameters
workcell[in] the workcell
setup[in] the ProximitySetup describing exclude/include relations

Member Function Documentation

◆ addGeometry()

virtual void addGeometry ( rw::core::Ptr< rw::kinematics::Frame frame,
const rw::core::Ptr< rw::geometry::Geometry  
)
virtual

Adds geometry associated to frame.

Parameters
frame[in] Frame which has the geometry associated

Implements ProximityFilterStrategy.

◆ addRule()

virtual void addRule ( const rw::proximity::ProximitySetupRule rule)
virtual

Adds a ProximitySetupRule.

Parameters
rule[in] the rule to add.

Implements ProximityFilterStrategy.

◆ createProximityCache()

virtual rw::core::Ptr<rw::proximity::ProximityCache> createProximityCache ( )
inlinevirtual

creates a FilterData object. This is used for caching relavant data between calls to update

Returns

Implements ProximityFilterStrategy.

◆ getProximitySetup()

rw::proximity::ProximitySetup& getProximitySetup ( )
virtual

get the proximity setup that describe the include/exclude rules of this BroadPhaseStrategy

Returns
a reference to the ProximitySetup

Implements ProximityFilterStrategy.

◆ removeGeometry() [1/2]

virtual void removeGeometry ( rw::core::Ptr< rw::kinematics::Frame frame,
const rw::core::Ptr< rw::geometry::Geometry  
)
virtual

Removes the geometric model geo associated with Frame frame from this strategy.

Parameters
frame[in] Frame which has the geometry associated

Implements ProximityFilterStrategy.

◆ removeGeometry() [2/2]

virtual void removeGeometry ( rw::core::Ptr< rw::kinematics::Frame frame,
const std::string &  geometryId 
)
virtual

Removes the geometric model geo associated with Frame frame from this strategy.

Parameters
frame[in] Frame which has the geometry associated
geometryId[in] Geometry

Implements ProximityFilterStrategy.

◆ removeRule()

virtual void removeRule ( const rw::proximity::ProximitySetupRule rule)
virtual

Removes a ProximitySetupRule If the rule cannot be found, then noting happens.

Parameters
rule[in] the rule to remove.

Implements ProximityFilterStrategy.

◆ reset()

virtual void reset ( const rw::kinematics::State state)
virtual

Reset.

Parameters
state[in] the state.

Implements ProximityFilterStrategy.

◆ update() [1/2]

virtual rw::core::Ptr<rw::proximity::ProximityFilter> update ( const rw::kinematics::State state)
virtual

Do an update.

Parameters
state[in] the state.
Returns

Implements ProximityFilterStrategy.

◆ update() [2/2]

creates a FilterData object. This is used for caching relavant data between calls to update

Returns

Implements ProximityFilterStrategy.


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