DGtal
1.5.beta
|
Aim: Represent a way to probe the R-neighborhood, with the R1 optimization, see [106] for details. More...
#include <DGtal/geometry/surfaces/estimation/PlaneProbingR1Neighborhood.h>
Public Types | |
using | Predicate = TPredicate |
using | Point = typename TPredicate::Point |
using | Triangle = typename PlaneProbingRNeighborhood< TPredicate >::Triangle |
using | PointOnProbingRay = typename PlaneProbingRNeighborhood< TPredicate >::PointOnProbingRay |
using | Integer = typename Point::Coordinate |
using | HexagonState = typename PlaneProbingRNeighborhood< TPredicate >::HexagonState |
using | Index = typename PlaneProbingRNeighborhood< TPredicate >::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 > |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< TPredicate >)) | |
int | getNeighborhoodCode () const |
std::pair< PointOnProbingRay, PointOnProbingRay > | candidateRay (Index const &index) const |
std::vector< PointOnProbingRay > | intersectSphereRay (PointOnProbingRay const &aPoint, PointOnProbingRay const &aRay) const |
bool | isValidIntersectSphereRay (PointOnProbingRay const &aPoint, PointOnProbingRay const &aRay, std::vector< PointOnProbingRay > const &aLst) const |
PointOnProbingRay | closestPointOnRayConstant (PointOnProbingRay const &aRay) const |
PointOnProbingRay | closestPointOnRayLinear (PointOnProbingRay const &aRay) const |
PointOnProbingRay | closestRayPoint (std::pair< PointOnProbingRay, PointOnProbingRay > const &aRayPoint) const |
Private Attributes | |
std::array< bool, 6 > | myState |
Additional Inherited Members | |
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 inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
Predicate const & | myPredicate |
Point const & | myQ |
Triangle const & | myM |
std::vector< PointOnProbingRay > | myCandidates |
std::vector< PointOnProbingRay > | myNeighbors |
Static Protected Attributes inherited from DGtal::PlaneProbingNeighborhood< TPredicate > | |
static const PointOnProbingRay | myNeighborhood [6] |
Aim: Represent a way to probe the R-neighborhood, with the R1 optimization, see [106] for details.
Description of template class 'PlaneProbingR1Neighborhood'
TPredicate | the probing predicate, a model of concepts::CPointPredicate. |
Definition at line 63 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::HexagonState = typename PlaneProbingRNeighborhood<TPredicate>::HexagonState |
Definition at line 74 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::Index = typename PlaneProbingRNeighborhood<TPredicate>::Index |
Definition at line 76 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::Integer = typename Point::Coordinate |
Definition at line 73 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::Point = typename TPredicate::Point |
Definition at line 70 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::PointOnProbingRay = typename PlaneProbingRNeighborhood<TPredicate>::PointOnProbingRay |
Definition at line 72 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::Predicate = TPredicate |
Definition at line 69 of file PlaneProbingR1Neighborhood.h.
using DGtal::PlaneProbingR1Neighborhood< TPredicate >::Triangle = typename PlaneProbingRNeighborhood<TPredicate>::Triangle |
Definition at line 71 of file PlaneProbingR1Neighborhood.h.
|
delete |
Default constructor.
DGtal::PlaneProbingR1Neighborhood< TPredicate >::PlaneProbingR1Neighborhood | ( | 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::PlaneProbingR1Neighborhood< TPredicate >::~PlaneProbingR1Neighborhood | ( | ) |
Destructor.
|
delete |
Copy constructor.
other | the object to clone. |
|
delete |
Move constructor.
other | the object to move. |
|
private |
|
private |
index | an integer between 0 and 2. |
|
private |
aRay | a ray. |
|
private |
aRay | a ray. |
|
private |
aRayPoint | a pair describing a ray and a point on a ray. |
|
private |
|
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 >.
|
private |
aPoint | a point on a ray. |
aRay | a ray. |
bool DGtal::PlaneProbingR1Neighborhood< TPredicate >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
private |
Sanity check for point returned by intersectSphereRay.
aPoint | a point on a ray. |
aRay | a ray. |
aLst | a list of points on a ray. |
|
delete |
Copy assignment operator.
other | the object to copy. |
|
delete |
Move assignment operator.
other | the object to move. |
void DGtal::PlaneProbingR1Neighborhood< TPredicate >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
mutableprivate |
The current state of the H-neighborhood.
Definition at line 149 of file PlaneProbingR1Neighborhood.h.