KrisLibrary
1.0.0
|
a 2D cspace whose obstacles are geometric primitives. More...
#include <Geometric2DCSpace.h>
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< CSet > | Constraint (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::NonlinearProgram * | FeasibleNumeric () |
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< AABB2D > | aabbs |
vector< Box2D > | boxes |
vector< Circle2D > | circles |
vector< Triangle2D > | triangles |
Additional Inherited Members | |
Public Types inherited from Geometric2DCollection | |
enum | Type { AABB, Triangle, Circle, Box } |
a 2D cspace whose obstacles are geometric primitives.
The C-space obstacles are explicitly given as aabbs, boxes, triangles, and spheres.