Collision Checker
collision::CollisionObject Class Referenceabstract

Base class for CollisionObjects and some of their groups. More...

#include <collision_object.h>

Inheritance diagram for collision::CollisionObject:
collision::CollisionObjectEx collision::Shape collision::ShapeGroup collision::TimeVariantCollisionObject collision::Point collision::Polygon collision::RectangleAABB collision::RectangleOBB collision::Sphere collision::Triangle

Public Member Functions

virtual ~CollisionObject ()
 
virtual CollisionObjectType getCollisionObjectType () const
 
virtual CollisionObjectClass getCollisionObjectClass () const
 
virtual bool collide (const CollisionObject &c, const collision::CollisionRequest &req=CollisionRequest()) const =0
 
virtual void print (std::ostringstream &stream) const
 
virtual void toString (std::ostringstream &stream) const
 
virtual bool BVCheck (CollisionObjectConstPtr obj2) const =0
 
virtual std::shared_ptr< const collision::RectangleAABBgetAABB () const =0
 
virtual void addParentMap (std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map) const
 
virtual void addParentMap (std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map, CollisionObjectConstPtr parent) const
 
virtual CollisionObjectConstPtr timeSlice (int time_idx, CollisionObjectConstPtr shared_ptr_this) const =0
 
virtual bool rayTrace (const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const
 

Detailed Description

Base class for CollisionObjects and some of their groups.

Definition at line 47 of file collision_object.h.

Constructor & Destructor Documentation

◆ ~CollisionObject()

virtual collision::CollisionObject::~CollisionObject ( )
inlinevirtual

Definition at line 49 of file collision_object.h.

Member Function Documentation

◆ addParentMap() [1/2]

void collision::CollisionObject::addParentMap ( std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &  parent_map) const
virtual

Reimplemented in collision::ShapeGroup, and collision::TimeVariantCollisionObject.

Definition at line 24 of file collision_object.cc.

◆ addParentMap() [2/2]

void collision::CollisionObject::addParentMap ( std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &  parent_map,
CollisionObjectConstPtr  parent 
) const
virtual

Reimplemented in collision::ShapeGroup.

Definition at line 36 of file collision_object.cc.

◆ BVCheck()

virtual bool collision::CollisionObject::BVCheck ( CollisionObjectConstPtr  obj2) const
pure virtual

◆ collide()

virtual bool collision::CollisionObject::collide ( const CollisionObject c,
const collision::CollisionRequest req = CollisionRequest() 
) const
pure virtual

◆ getAABB()

virtual std::shared_ptr<const collision::RectangleAABB> collision::CollisionObject::getAABB ( ) const
pure virtual

◆ getCollisionObjectClass()

virtual CollisionObjectClass collision::CollisionObject::getCollisionObjectClass ( ) const
inlinevirtual

◆ getCollisionObjectType()

virtual CollisionObjectType collision::CollisionObject::getCollisionObjectType ( ) const
inlinevirtual

◆ print()

virtual void collision::CollisionObject::print ( std::ostringstream &  stream) const
inlinevirtual

◆ rayTrace()

virtual bool collision::CollisionObject::rayTrace ( const Eigen::Vector2d &  point1,
const Eigen::Vector2d &  point2,
std::vector< LineSegment > &  intersect 
) const
inlinevirtual

◆ timeSlice()

virtual CollisionObjectConstPtr collision::CollisionObject::timeSlice ( int  time_idx,
CollisionObjectConstPtr  shared_ptr_this 
) const
pure virtual

◆ toString()

virtual void collision::CollisionObject::toString ( std::ostringstream &  stream) const
inlinevirtual

Reimplemented in collision::Polygon, and collision::ShapeGroup.

Definition at line 73 of file collision_object.h.


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