![]() |
Parasol Planning Library (PPL)
|
A two or three dimensional bounding box in workspace. More...
#include <WorkspaceBoundingBox.h>
Public Member Functions | |
Construction | |
WorkspaceBoundingBox (const size_t _n) | |
WorkspaceBoundingBox (const std::vector< double > &_center) | |
WorkspaceBoundingBox (XMLNode &_node) | |
virtual | ~WorkspaceBoundingBox () noexcept |
virtual std::unique_ptr< Boundary > | Clone () const override |
Property Accessors | |
virtual Boundary::Space | Type () const noexcept override |
Get the space type. More... | |
virtual std::string | Name () const noexcept override |
Get the name of the boundary type. More... | |
Containment Testing | |
virtual bool | InBoundary (const Cfg &_c) const override |
virtual bool | InBoundary (const Vector3d &_p) const |
virtual bool | InBoundary (const std::vector< double > &_v) const=0 |
virtual bool | InBoundary (const Cfg &_c) const=0 |
![]() | |
virtual size_t | GetDimension () const noexcept override |
Get the dimension of this boundary. More... | |
virtual double | GetMaxDist (const double _r1=2., const double _r2=.5) const override |
virtual const Range< double > & | GetRange (const size_t _i) const override |
virtual const std::vector< double > & | GetCenter () const noexcept override |
Get the boundary's center point. More... | |
virtual double | GetVolume () const noexcept override |
Get the boundary's volume (Lebesgue Measure). More... | |
AbstractBoundingBox (const size_t _n) | |
AbstractBoundingBox (const std::vector< double > &_center) | |
AbstractBoundingBox (XMLNode &_node) | |
virtual | ~AbstractBoundingBox () noexcept |
virtual std::vector< double > | GetRandomPoint () const override |
Get a random point inside the boundary. More... | |
virtual void | PushInside (std::vector< double > &_sample) const noexcept override |
virtual bool | InBoundary (const std::vector< double > &_p) const override |
virtual bool | InBoundary (const Vector3d &_p) const |
virtual bool | InBoundary (const std::vector< double > &_v) const=0 |
virtual bool | InBoundary (const Cfg &_c) const=0 |
virtual double | GetClearance (const Vector3d &_p) const override |
virtual Vector3d | GetClearancePoint (const Vector3d &_p) const override |
int | GetSideID (const std::vector< double > &_p) const |
virtual void | SetCenter (const std::vector< double > &_c) noexcept override |
virtual void | Translate (const Vector3d &_v) override |
virtual void | Translate (const std::vector< double > &_t) override |
virtual void | ResetBoundary (const std::vector< std::pair< double, double >> &_bbx, const double _margin) override |
virtual void | Read (std::istream &_is, CountingStreamBuffer &_cbs) override |
virtual void | Write (std::ostream &_os) const override |
![]() | |
virtual void | ScalePoint (std::vector< double > &_point) const noexcept |
virtual void | UnscalePoint (std::vector< double > &_point) const noexcept |
virtual bool | InBoundary (const Vector3d &_p) const |
virtual | ~Boundary () noexcept |
![]() | |
NBox (const size_t _n) | |
NBox (const std::vector< double > &_center) | |
virtual | ~NBox () noexcept |
size_t | GetDimension () const noexcept |
Get the dimension of this box. More... | |
void | SetCenter (const std::vector< double > &_c) noexcept |
Set the center point. More... | |
const std::vector< double > & | GetCenter () const noexcept |
Get the center point. More... | |
const Range< double > & | GetRange (const size_t _i) const noexcept |
const std::vector< Range< double > > & | GetRanges () const noexcept |
Get all of the ranges. More... | |
void | SetRange (const size_t _i, const Range< double > &_r) noexcept |
void | SetRange (const size_t _i, Range< double > &&_r) noexcept |
void | SetRange (const size_t _i, const double _min, const double _max) noexcept |
void | Translate (const std::vector< double > &_v) noexcept |
double | GetVolume () const noexcept |
Compute the (hyper)volume or Lebesgue measure. More... | |
bool | Contains (const std::vector< double > &_p) const noexcept |
double | Clearance (const std::vector< double > &_p) const noexcept |
std::vector< double > | ClearancePoint (std::vector< double > _p) const noexcept |
std::vector< double > | Sample () const |
Sample a random point in the box with uniform probability. More... | |
Polyhedron Representations | |
virtual CGALPolyhedron | CGAL () const override |
Create a CGAL polyhedron representation of this. More... | |
virtual GMSPolyhedron | MakePolyhedron () const override |
typedef CGAL::Polyhedron_3< CGALKernel > | CGALPolyhedron |
Additional Inherited Members | |
![]() | |
enum | Space { Workspace , CSpace } |
The types of space that can be modeled with boundaries. More... | |
typedef CGAL::Exact_predicates_exact_constructions_kernel | CGALKernel |
typedef CGAL::Polyhedron_3< CGALKernel > | CGALPolyhedron |
![]() | |
static std::unique_ptr< Boundary > | Factory (XMLNode &_node) |
![]() | |
bool | InWorkspace (const Cfg &_c) const |
bool | InCSpace (const Cfg &_c) const |
A two or three dimensional bounding box in workspace.
typedef CGAL::Polyhedron_3<CGALKernel> Boundary::CGALPolyhedron |
|
explicit |
|
explicit |
WorkspaceBoundingBox::WorkspaceBoundingBox | ( | XMLNode & | _node | ) |
|
virtualdefaultnoexcept |
|
overridevirtual |
Create a CGAL polyhedron representation of this.
Reimplemented from Boundary.
|
overridevirtual |
Duplicate this boundary and return a dynamically-allocated copy with the same type. This is provided in the base class so that we can copy a boundary object without knowing its type.
Implements Boundary.
|
overridevirtual |
Test if a configuration lies within the boundary.
_cfg | The configuration to test. |
Implements Boundary.
virtual bool Boundary::InBoundary |
Test if a configuration lies within the boundary.
_cfg | The configuration to test. |
virtual bool Boundary::InBoundary |
Test if a specific n-dimensional point lies within the boundary.
_v | The point to test. |
bool Boundary::InBoundary |
Test if a specific point lies within the boundary.
_p | The point to test. |
|
overridevirtual |
Create a GMSPolyhedron representation of this. The polyhedron will be inside-out (normals facing inward) to properly represent the contact normals.
Reimplemented from Boundary.
|
overridevirtualnoexcept |
Get the name of the boundary type.
Implements Boundary.
|
overridevirtualnoexcept |
Get the space type.
Implements Boundary.