Collision Checker
collision::RectangleAABB Class Reference

Axis-aligned rectangle. More...

#include <rectangle_aabb.h>

Inheritance diagram for collision::RectangleAABB:
collision::Shape collision::CollisionObjectEx collision::solvers::solverFCL::IFCLCollisionObject collision::CollisionObject

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW RectangleAABB (double _rx, double _ry, const Eigen::Vector2d &_center=Eigen::Vector2d(0, 0))
 
bool rayTrace (const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const override
 
 ~RectangleAABB ()
 
 RectangleAABB (const RectangleAABB &copy)
 
RectangleAABBclone () const
 
void print (std::ostringstream &stream) const
 Print all parameters of the shape. More...
 
virtual CollisionObjectType getCollisionObjectType () const override
 
ShapeType type () const
 Get shape type. More...
 
Eigen::Vector2d r () const
 
double r (int i) const
 
double r_x () const
 
double r_y () const
 
Eigen::Vector2d min () const
 
Eigen::Vector2d max () const
 
fcl::CollisionGeometry< FCL_PRECISION > * createFCLCollisionGeometry (void) const override
 
fcl::CollisionObject< FCL_PRECISION > * createFCLCollisionObject (const std::shared_ptr< fcl::CollisionGeometry< FCL_PRECISION >> &col_geom) const override
 
void set_center (const Eigen::Vector2d &_center)
 
void set_r (const Eigen::Vector2d &_r)
 
void set_r_x (double _r_x)
 
void set_r_y (double _r_y)
 
void set_all (double r_x, double r_y, double center_x, double center_y)
 
double squareDisToPoint (const Eigen::Vector2d &p) const
 
std::vector< LineSegmentsegments (void) const
 
- Public Member Functions inherited from collision::Shape
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CollisionObjectClass getCollisionObjectClass () const override
 
virtual const ISolverEntity_FCLgetFclInterface () const override
 
 Shape (const Shape &copy)
 
Eigen::Vector2d center () const
 Get geometric center of shape. More...
 
double center_x () const
 
double center_y () const
 
void set_center (const Eigen::Vector2d &_center)
 Set geometric center of shape. More...
 
virtual CollisionObjectConstPtr timeSlice (int time_idx, CollisionObjectConstPtr shared_ptr_this) const
 
double radius () const
 Get radius. More...
 
virtual ~Shape ()
 
- Public Member Functions inherited from collision::CollisionObjectEx
 CollisionObjectEx ()
 
virtual ~CollisionObjectEx ()
 
virtual bool collide (const CollisionObject &c, const collision::CollisionRequest &req=CollisionRequest()) const
 
virtual bool BVCheck (CollisionObjectConstPtr obj2) const
 
virtual std::shared_ptr< const collision::RectangleAABBgetAABB () const
 
virtual int getSolverEntity (solvers::solverFCL::SolverEntity_FCL *&ptr) const
 
virtual int getSolverEntity (solvers::solverBoost::SolverEntity_Boost *&ptr) const
 
virtual const ICollisionContainergetContainerInterface (void) const
 
virtual const solvers::solverBoost::ISolverEntity_BoostgetBoostInterface (void) const
 
- Public Member Functions inherited from collision::CollisionObject
virtual ~CollisionObject ()
 
virtual void toString (std::ostringstream &stream) const
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from collision::Shape
 Shape (const Eigen::Vector2d &_center)
 
- Protected Member Functions inherited from collision::CollisionObjectEx
void invalidateCollisionEntityCache (void)
 
- Protected Attributes inherited from collision::Shape
Eigen::Vector2d center_
 
double radius_
 

Detailed Description

Axis-aligned rectangle.

Definition at line 18 of file rectangle_aabb.h.

Constructor & Destructor Documentation

◆ RectangleAABB() [1/2]

EIGEN_MAKE_ALIGNED_OPERATOR_NEW collision::RectangleAABB::RectangleAABB ( double  _rx,
double  _ry,
const Eigen::Vector2d &  _center = Eigen::Vector2d(0, 0) 
)
inline

Definition at line 22 of file rectangle_aabb.h.

◆ ~RectangleAABB()

collision::RectangleAABB::~RectangleAABB ( )
inline

Definition at line 40 of file rectangle_aabb.h.

◆ RectangleAABB() [2/2]

collision::RectangleAABB::RectangleAABB ( const RectangleAABB copy)

Definition at line 43 of file rectangle_aabb.cc.

Member Function Documentation

◆ clone()

RectangleAABB * collision::RectangleAABB::clone ( ) const
virtual

Implements collision::Shape.

Definition at line 41 of file rectangle_aabb.cc.

◆ createFCLCollisionGeometry()

fcl::CollisionGeometry< FCL_PRECISION > * collision::RectangleAABB::createFCLCollisionGeometry ( void  ) const
overridevirtual

◆ createFCLCollisionObject()

fcl::CollisionObject< FCL_PRECISION > * collision::RectangleAABB::createFCLCollisionObject ( const std::shared_ptr< fcl::CollisionGeometry< FCL_PRECISION >> &  col_geom) const
overridevirtual

◆ getCollisionObjectType()

virtual CollisionObjectType collision::RectangleAABB::getCollisionObjectType ( ) const
inlineoverridevirtual

Reimplemented from collision::CollisionObject.

Definition at line 50 of file rectangle_aabb.h.

◆ max()

Eigen::Vector2d collision::RectangleAABB::max ( ) const

Definition at line 63 of file rectangle_aabb.cc.

◆ min()

Eigen::Vector2d collision::RectangleAABB::min ( ) const

Definition at line 61 of file rectangle_aabb.cc.

◆ print()

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

Print all parameters of the shape.

Implements collision::Shape.

Definition at line 54 of file rectangle_aabb.cc.

◆ r() [1/2]

Eigen::Vector2d collision::RectangleAABB::r ( void  ) const

Definition at line 65 of file rectangle_aabb.cc.

◆ r() [2/2]

double collision::RectangleAABB::r ( int  i) const

Definition at line 67 of file rectangle_aabb.cc.

◆ r_x()

double collision::RectangleAABB::r_x ( ) const

Definition at line 85 of file rectangle_aabb.cc.

◆ r_y()

double collision::RectangleAABB::r_y ( ) const

Definition at line 87 of file rectangle_aabb.cc.

◆ rayTrace()

bool collision::RectangleAABB::rayTrace ( const Eigen::Vector2d &  point1,
const Eigen::Vector2d &  point2,
std::vector< LineSegment > &  intersect 
) const
overridevirtual

Reimplemented from collision::CollisionObject.

Definition at line 25 of file rectangle_aabb.cc.

◆ segments()

std::vector<LineSegment> collision::RectangleAABB::segments ( void  ) const
inline

Definition at line 83 of file rectangle_aabb.h.

◆ set_all()

void collision::RectangleAABB::set_all ( double  r_x,
double  r_y,
double  center_x,
double  center_y 
)

Definition at line 110 of file rectangle_aabb.cc.

◆ set_center()

void collision::RectangleAABB::set_center ( const Eigen::Vector2d &  _center)

Definition at line 89 of file rectangle_aabb.cc.

◆ set_r()

void collision::RectangleAABB::set_r ( const Eigen::Vector2d &  _r)

Definition at line 78 of file rectangle_aabb.cc.

◆ set_r_x()

void collision::RectangleAABB::set_r_x ( double  _r_x)

Definition at line 96 of file rectangle_aabb.cc.

◆ set_r_y()

void collision::RectangleAABB::set_r_y ( double  _r_y)

Definition at line 103 of file rectangle_aabb.cc.

◆ squareDisToPoint()

double collision::RectangleAABB::squareDisToPoint ( const Eigen::Vector2d &  p) const

Definition at line 124 of file rectangle_aabb.cc.

◆ type()

ShapeType collision::RectangleAABB::type ( ) const
virtual

Get shape type.

Implements collision::Shape.

Definition at line 52 of file rectangle_aabb.cc.


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