DGtal
1.5.beta
|
Aim: Represents a way to probe the L-neighborhood, see [87] for details. More...
#include <DGtal/geometry/surfaces/estimation/PlaneProbingLNeighborhood.h>
Data Structures | |
struct | ClosestGridPoint |
Aim: Used to store the closest grid point associated to a vertex of the triangle and two extra boolean values about the local configuration at that vertex. More... | |
Public Types | |
using | Predicate = TPredicate |
using | Point = typename Predicate::Point |
using | Vector = Point |
using | Integer = typename Point::Coordinate |
using | Triangle = std::array< Vector, 3 > |
using | HexagonState = typename PlaneProbingNeighborhood< TPredicate >::HexagonState |
using | UpdateOperation = typename PlaneProbingNeighborhood< TPredicate >::UpdateOperation |
using | Index = typename PlaneProbingNeighborhood< TPredicate >::Index |
using | PointOnProbingRay = typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay |
using | GridPoint = typename detail::GridPoint< Integer, Index > |
using | GridPointOnProbingRay = typename detail::GridPointOnProbingRay< Integer, Index > |
Public Types inherited from DGtal::PlaneProbingRNeighborhood< TPredicate > | |
using | Predicate = TPredicate |
using | Point = typename TPredicate::Point |
using | Triangle = typename PlaneProbingNeighborhood< TPredicate >::Triangle |
using | Integer = typename PlaneProbingNeighborhood< TPredicate >::Integer |
using | PointOnProbingRay = typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay |
using | HexagonState = typename PlaneProbingNeighborhood< TPredicate >::HexagonState |
Public Types inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
enum class | HexagonState { Empty , NonConvex , NonPlanar , Planar } |
using | Predicate = TPredicate |
using | Point = typename Predicate::Point |
using | Vector = Point |
using | Integer = typename Point::Coordinate |
using | Triangle = std::array< Vector, 3 > |
using | Index = std::size_t |
using | PointOnProbingRay = detail::PointOnProbingRay< Integer, Index > |
Protected Member Functions | |
ClosestGridPoint | closestInGrid (const Index &aIdx) const |
void | candidatesInGrid (const GridPoint &y1, const GridPoint &y2, std::back_insert_iterator< std::vector< GridPoint > > out) const |
GridPointOnProbingRay | closestOnBoundedRayLinearWithPredicate (GridPointOnProbingRay const &aRay, Integer const &aBound) const |
GridPointOnProbingRay | closestOnBoundedRayLogWithPredicate (GridPointOnProbingRay const &aRay, Integer const &aBound) const |
UpdateOperation | getOperationFromGridPoint (GridPoint const &aClosest) const |
void | updateGrid (const Index &aIdx) |
Point | direction (GridPoint const &aP) const |
Protected Member Functions inherited from DGtal::PlaneProbingRNeighborhood< TPredicate > | |
template<typename TPointAdapter > | |
TPointAdapter | closestPointOnRayLogWithPredicate (TPointAdapter const &aRay) const |
template<typename TPointAdapter > | |
TPointAdapter | closestPointOnRayLinearWithPredicate (TPointAdapter const &aRay) const |
Protected Member Functions inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
template<class TPointAdapter > | |
TPointAdapter | closestPointInList (std::vector< TPointAdapter > const &aPoints) const |
bool | isNeighbor (PointOnProbingRay const &aRay) const |
bool | isSmallest (Point const &aX, Point const &aY) const |
template<class TPointAdapter > | |
Point | relativePoint (TPointAdapter const &aPoint) const |
template<class TPointAdapter > | |
Point | absolutePoint (TPointAdapter const &aPoint) const |
Protected Attributes | |
std::vector< ClosestGridPoint > | myGrids |
Protected Attributes inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
Predicate const & | myPredicate |
Point const & | myQ |
Triangle const & | myM |
std::vector< PointOnProbingRay > | myCandidates |
std::vector< PointOnProbingRay > | myNeighbors |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((DGtal::concepts::CPointPredicate< TPredicate >)) | |
Additional Inherited Members | |
Static Protected Attributes inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
static const PointOnProbingRay | myNeighborhood [6] |
Aim: Represents a way to probe the L-neighborhood, see [87] for details.
Description of template class 'PlaneProbingLNeighborhood'
TPredicate | the probing predicate, a model of concepts::CPointPredicate. |
Definition at line 65 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::GridPoint = typename detail::GridPoint<Integer, Index> |
Definition at line 82 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::GridPointOnProbingRay = typename detail::GridPointOnProbingRay<Integer, Index> |
Definition at line 83 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::HexagonState = typename PlaneProbingNeighborhood<TPredicate>::HexagonState |
Definition at line 77 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Index = typename PlaneProbingNeighborhood<TPredicate>::Index |
Definition at line 80 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Integer = typename Point::Coordinate |
Definition at line 74 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Point = typename Predicate::Point |
Definition at line 72 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::PointOnProbingRay = typename PlaneProbingNeighborhood<TPredicate>::PointOnProbingRay |
Definition at line 81 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Predicate = TPredicate |
Definition at line 71 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Triangle = std::array<Vector, 3> |
Definition at line 75 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::UpdateOperation = typename PlaneProbingNeighborhood<TPredicate>::UpdateOperation |
Definition at line 78 of file PlaneProbingLNeighborhood.h.
using DGtal::PlaneProbingLNeighborhood< TPredicate >::Vector = Point |
Definition at line 73 of file PlaneProbingLNeighborhood.h.
|
delete |
Default constructor.
DGtal::PlaneProbingLNeighborhood< TPredicate >::PlaneProbingLNeighborhood | ( | Predicate const & | aPredicate, |
Point const & | aQ, | ||
Triangle const & | aM | ||
) |
Constructor.
aPredicate | a probing predicate. |
aQ | the fixed point 'q'. |
aM | a frame composed of the three vectors. |
DGtal::PlaneProbingLNeighborhood< TPredicate >::~PlaneProbingLNeighborhood | ( | ) |
Destructor.
|
delete |
Copy constructor.
other | the object to clone. |
|
delete |
Move constructor.
other | the object to move. |
|
private |
|
protected |
Computes the candidate grid points lying in a cone given by two grid points.
y1 | a first grid point |
y2 | a second grid point |
out | an output iterator on grid points |
|
overridevirtual |
Computes the closest candidate point, used for updating a frame in a plane probing based estimator.
Reimplemented from DGtal::PlaneProbingNeighborhood< TPredicate >.
|
protected |
Computes the closest candidate point in a given grid identified by the index of the associated vertex.
aIdx |
|
protected |
Finds a closest point on a given ray using a linear search.
aRay | a ray. |
aBound | a bound that limits the search range. |
|
protected |
Finds a closest point on a given ray using a binary search.
aRay | a ray. |
aBound | a bound that limits the search range. |
|
protected |
Returns the vector from the base to a grid point.
aP | a point on a grid. |
|
protected |
Constructs an update operation from the closest candidate point.
aClosest | the closest candidate point. |
|
overridevirtual |
Computes the current state of the neighborhood. This is the function that is overloaded for the different probing modes.
Reimplemented from DGtal::PlaneProbingRNeighborhood< TPredicate >.
bool DGtal::PlaneProbingLNeighborhood< TPredicate >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
delete |
Copy assignment operator.
other | the object to copy. |
|
delete |
Move assignment operator.
other | the object to move. |
void DGtal::PlaneProbingLNeighborhood< TPredicate >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
protected |
Update a grid after a triangle update. This procedure is called at the beginning of every call to hexagonState, which must prepare the computations.
aIdx |
|
protected |
closest point and additional useful data stored at each vertex.
Definition at line 194 of file PlaneProbingLNeighborhood.h.