Collision Checker
collision::Polygon Class Reference

Polygon contains Triangles and Vertices. More...

#include <polygon.h>

Inheritance diagram for collision::Polygon:
collision::Shape collision::solvers::solverBoost::IBoostCollisionObject collision::CollisionObjectEx collision::solvers::solverFCL::IFCLCollisionObject collision::CollisionObject

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW Polygon (std::vector< Eigen::Vector2d > &vertices, std::vector< std::vector< Eigen::Vector2d >> &hole_vertices, std::vector< TriangleConstPtr > &mesh_triangles, const Eigen::Vector2d &_center=Eigen::Vector2d(0, 0))
 
 Polygon (const Polygon &copy)
 
Polygonclone () const
 
ShapeType type (void) const
 Get shape type. More...
 
bool rayTrace (const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const override
 
virtual ~Polygon ()
 
bool isWithin (const Polygon &poly2) const
 
virtual const solvers::solverBoost::ISolverEntity_BoostgetBoostInterface () const override
 
virtual void toString (std::ostringstream &stream) const
 
virtual void print (std::ostringstream &stream) const
 Print all parameters of the shape. More...
 
virtual CollisionObjectConstPtr timeSlice (int time_idx, CollisionObjectConstPtr shared_ptr_this) const
 
ShapeGroupConstPtr getTrapezoids () const
 
std::vector< TriangleConstPtrgetTriangleMesh () const
 
std::vector< Eigen::Vector2d > getVertices () const
 
std::vector< std::vector< Eigen::Vector2d > > getHoleVertices () const
 
virtual CollisionObjectType getCollisionObjectType () const override
 
- 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...
 
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
 
- Public Member Functions inherited from collision::CollisionObject
virtual ~CollisionObject ()
 
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

Polygon contains Triangles and Vertices.

Definition at line 29 of file polygon.h.

Constructor & Destructor Documentation

◆ Polygon() [1/2]

collision::Polygon::Polygon ( std::vector< Eigen::Vector2d > &  vertices,
std::vector< std::vector< Eigen::Vector2d >> &  hole_vertices,
std::vector< TriangleConstPtr > &  mesh_triangles,
const Eigen::Vector2d &  _center = Eigen::Vector2d(0, 0) 
)

Definition at line 16 of file polygon.cc.

◆ Polygon() [2/2]

collision::Polygon::Polygon ( const Polygon copy)

Definition at line 83 of file polygon.cc.

◆ ~Polygon()

virtual collision::Polygon::~Polygon ( )
inlinevirtual

Definition at line 59 of file polygon.h.

Member Function Documentation

◆ clone()

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

Implements collision::Shape.

Definition at line 81 of file polygon.cc.

◆ getBoostInterface()

virtual const solvers::solverBoost::ISolverEntity_Boost* collision::Polygon::getBoostInterface ( void  ) const
inlineoverridevirtual

Reimplemented from collision::CollisionObjectEx.

Definition at line 63 of file polygon.h.

◆ getCollisionObjectType()

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

Reimplemented from collision::CollisionObject.

Definition at line 79 of file polygon.h.

◆ getHoleVertices()

std::vector< std::vector< Eigen::Vector2d > > collision::Polygon::getHoleVertices ( ) const

Definition at line 155 of file polygon.cc.

◆ getTrapezoids()

ShapeGroupConstPtr collision::Polygon::getTrapezoids ( ) const

◆ getTriangleMesh()

std::vector< TriangleConstPtr > collision::Polygon::getTriangleMesh ( ) const

Definition at line 149 of file polygon.cc.

◆ getVertices()

std::vector< Eigen::Vector2d > collision::Polygon::getVertices ( ) const

Definition at line 153 of file polygon.cc.

◆ isWithin()

bool collision::Polygon::isWithin ( const Polygon poly2) const

Definition at line 105 of file polygon.cc.

◆ print()

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

Print all parameters of the shape.

Implements collision::Shape.

Definition at line 94 of file polygon.cc.

◆ rayTrace()

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

Reimplemented from collision::CollisionObject.

Definition at line 65 of file polygon.cc.

◆ timeSlice()

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

Reimplemented from collision::Shape.

Definition at line 144 of file polygon.cc.

◆ toString()

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

Reimplemented from collision::CollisionObject.

Definition at line 96 of file polygon.cc.

◆ type()

ShapeType collision::Polygon::type ( void  ) const
virtual

Get shape type.

Implements collision::Shape.

Definition at line 92 of file polygon.cc.


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