KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Geometric2DCSpace Class Reference

a 2D cspace whose obstacles are geometric primitives. More...

#include <Geometric2DCSpace.h>

Inheritance diagram for Geometric2DCSpace:
CSpace Geometric2DCollection

Public Member Functions

void InitConstraints ()
 
void DrawGL () const
 
Real ObstacleDistance (const Vector2 &x) const
 
Real ObstacleDistance (const Circle2D &circle) const
 
bool ObstacleOverlap (const Segment2D &s) const
 
bool ObstacleOverlap (const Circle2D &circle) const
 
bool ObstacleOverlap (const Box2D &box) const
 
bool ObstacleOverlap (const Triangle2D &tri) const
 
bool ObstacleOverlap (const Segment2D &s, int obstacle) const
 
virtual int NumDimensions () const
 
virtual void Sample (Config &x)
 
virtual void SampleNeighborhood (const Config &c, Real r, Config &x)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b, int obstacle)
 
virtual Real Distance (const Config &x, const Config &y)
 optionally overrideable (default uses euclidean space)
 
virtual Real ObstacleDistance (const Config &x)
 for local planners using obstacle distance
 
virtual void Properties (PropertyMap &) const
 
- Public Member Functions inherited from CSpace
void AddConstraint (const std::string &name, CSet *constraint)
 
void AddConstraint (const std::string &name, const std::shared_ptr< CSet > &constraint)
 
void AddConstraint (const std::string &name, CSet::CPredicate test)
 
void CopyConstraints (const CSpace *space, const std::string &prefix="")
 
virtual int NumDimensions ()
 
virtual std::string VariableName (int i)
 
virtual int NumConstraints ()
 
virtual std::string ConstraintName (int i)
 
virtual std::shared_ptr< CSetConstraint (int i)
 
virtual bool IsFeasible (const Config &)
 
virtual bool IsFeasible (const Config &, int constraint)
 
virtual EdgePlannerPtr LocalPlanner (const Config &a, const Config &b)
 
virtual void Interpolate (const Config &x, const Config &y, Real u, Config &out)
 
virtual void Midpoint (const Config &x, const Config &y, Config &out)
 
virtual bool ProjectFeasible (Config &x)
 
virtual Optimization::NonlinearProgramFeasibleNumeric ()
 If possible, give the feasible set as a nonlinear program.
 
virtual void Properties (PropertyMap &)
 Returns properties of the space that might be useful for planners. More...
 
virtual void CheckConstraints (const Config &, std::vector< bool > &satisfied)
 Returns a vector indicating which constraints are satisfied.
 
void GetFeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of feasible obstacles for the given configuration.
 
void GetInfeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of infeasible obstacles for the given configuration.
 
void PrintInfeasibleNames (const Config &q, std::ostream &out=std::cout, const char *prefix="", const char *suffix="\n")
 Prints out the list of infeasible obstacles for the given configuration.
 
- Public Member Functions inherited from Geometric2DCollection
int NumObstacles () const
 
Type ObstacleType (int obstacle) const
 
int ObstacleIndex (int obstacle) const
 
GeometricPrimitive2D Obstacle (int obstacle) const
 
const char * ObstacleTypeName (int obstacle) const
 
void Add (const Triangle2D &tri)
 
void Add (const AABB2D &bbox)
 
void Add (const Box2D &box)
 
void Add (const Circle2D &sphere)
 
void Add (const Geometric2DCollection &geom)
 
void Add (const GeometricPrimitive2D &geom)
 
void Clear ()
 
void DrawGL () const
 
void DrawOutlinesGL () const
 
void ToPolygons (vector< vector< Vector2 > > &polys) const
 
Real Distance (const Vector2 &x) const
 
Real Distance (const Circle2D &circle) const
 
bool Collides (const Vector2 &x) const
 
bool Collides (const Segment2D &s) const
 
bool Collides (const Circle2D &circle) const
 
bool Collides (const Box2D &box) const
 
bool Collides (const Triangle2D &tri) const
 
bool Collides (const GeometricPrimitive2D &geom) const
 
bool Collides (const Geometric2DCollection &geom) const
 
Real Distance (const Vector2 &x, int obstacle) const
 
Real Distance (const Circle2D &circle, int obstacle) const
 
bool Collides (const Vector2 &x, int obstacle) const
 
bool Collides (const Segment2D &s, int obstacle) const
 
bool Collides (const Circle2D &circle, int obstacle) const
 
bool Collides (const Box2D &box, int obstacle) const
 
bool Collides (const Triangle2D &tri, int obstacle) const
 
bool Collides (const GeometricPrimitive2D &geom, int obstacle) const
 
bool Collides (const Geometric2DCollection &geom, int obstacle) const
 
void Transform (const RigidTransform2D &T)
 

Public Attributes

bool euclideanSpace
 
Real visibilityEpsilon
 
AABB2D domain
 
- Public Attributes inherited from CSpace
std::vector< std::string > constraintNames
 
std::vector< std::shared_ptr< CSet > > constraints
 
- Public Attributes inherited from Geometric2DCollection
vector< AABB2Daabbs
 
vector< Box2Dboxes
 
vector< Circle2Dcircles
 
vector< Triangle2Dtriangles
 

Additional Inherited Members

- Public Types inherited from Geometric2DCollection
enum  Type { AABB, Triangle, Circle, Box }
 

Detailed Description

a 2D cspace whose obstacles are geometric primitives.

The C-space obstacles are explicitly given as aabbs, boxes, triangles, and spheres.


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