DGtal 1.4.0
|
Aim: More...
#include <DGtal/geometry/surfaces/estimation/PlaneProbingParallelepipedEstimator.h>
Data Structures | |
class | NotAbovePredicate |
Public Types | |
using | Self = PlaneProbingParallelepipedEstimator<TPredicate, mode> |
using | Predicate = TPredicate |
using | Point = typename Predicate::Point |
using | Vector = Point |
using | Integer = typename Predicate::Integer |
using | TetrahedronEstimator = PlaneProbingTetrahedronEstimator<NotAbovePredicate, mode> |
using | Triangle = typename TetrahedronEstimator::Triangle |
using | PointOnProbingRay = typename TetrahedronEstimator::PointOnProbingRay |
using | Quantity = typename TetrahedronEstimator::Quantity |
using | UpdateOperation = typename TetrahedronEstimator::UpdateOperation |
using | HexagonState = typename TetrahedronEstimator::HexagonState |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< TPredicate >)) | |
std::vector< UpdateOperation > | geometricalDecomposition (UpdateOperation const &aOp) const |
bool | translateIf (UpdateOperation const &aOp) |
bool | inPlane (Point const &aPoint) const |
Private Attributes | |
NotAbovePredicate | myNotAbovePredicate |
TetrahedronEstimator | myTetrahedronEstimator |
bool | myIsInReverseState |
Aim:
Description of template class 'PlaneProbingParallelepipedEstimator'
TPredicate | the probing predicate, a model of concepts::CPointPredicate. |
Definition at line 62 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::HexagonState = typename TetrahedronEstimator::HexagonState |
Definition at line 79 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Integer = typename Predicate::Integer |
Definition at line 73 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Point = typename Predicate::Point |
Definition at line 71 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::PointOnProbingRay = typename TetrahedronEstimator::PointOnProbingRay |
Definition at line 76 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Predicate = TPredicate |
Definition at line 70 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Quantity = typename TetrahedronEstimator::Quantity |
Definition at line 77 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Self = PlaneProbingParallelepipedEstimator<TPredicate, mode> |
Definition at line 69 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::TetrahedronEstimator = PlaneProbingTetrahedronEstimator<NotAbovePredicate, mode> |
Definition at line 74 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Triangle = typename TetrahedronEstimator::Triangle |
Definition at line 75 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::UpdateOperation = typename TetrahedronEstimator::UpdateOperation |
Definition at line 78 of file PlaneProbingParallelepipedEstimator.h.
using DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::Vector = Point |
Definition at line 72 of file PlaneProbingParallelepipedEstimator.h.
|
delete |
Default constructor.
DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::PlaneProbingParallelepipedEstimator | ( | Point const & | aPoint, |
Triangle const & | aM, | ||
Predicate const & | aPredicate, | ||
Integer const & | aBound ) |
Constructs a plane probing parallelepiped estimator from an initial frame and a probing predicate.
aPoint | the base point of the initial frame. |
aM | the three vectors of the initial frame. |
aPredicate | the probing predicate. |
aBound | the bound used in the NotAbove predicate. |
|
default |
Destructor.
|
delete |
Copy constructor.
other | the object to clone. |
|
delete |
Move constructor.
other | the object to move. |
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::advance | ( | ) |
Do one step of the estimation.
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::advance | ( | std::vector< PointOnProbingRay > const & | aNeighbors | ) |
Do one step of the estimation, but considering only a subset of candidate rays. Particularly useful on digital surfaces when some directions must be discarded because of 'flat' zones.
aNeighbors | the list of candidates ray to consider. |
|
private |
Quantity DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::compute | ( | ) |
Estimate the normal using a plane-probing approach, calls advance repeatedly.
Quantity DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::compute | ( | std::vector< PointOnProbingRay > const & | aNeighbors | ) |
Estimate the normal using a plane-probing approach, calls advance repeatedly.
aNeighbors | the list of candidates ray to consider. |
Referenced by TEST_CASE().
|
private |
Decompose a non-elementary operations into an array of elementary ones.
std::pair< Vector, Vector > DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::getBasis | ( | ) | const |
Vector DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::getNormal | ( | ) | const |
Point DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::getOrigin | ( | ) | const |
int DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::getState | ( | ) | const |
Referenced by main().
HexagonState DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::hexagonState | ( | ) | const |
Referenced by main().
|
private |
A shortcut to the inPlane function of 'myNotAbovePredicate'
aPoint | any digital point. |
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::isInReverseState | ( | ) | const |
Referenced by main().
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::isReduced | ( | ) | const |
Referenced by TEST_CASE().
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::isSeparating | ( | ) | const |
bool DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
Vector DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::m | ( | int | aIndex | ) | const |
|
delete |
Copy assignment operator.
other | the object to copy. |
|
delete |
Move assignment operator.
other | the object to move. |
Point DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::q | ( | ) | const |
void DGtal::PlaneProbingParallelepipedEstimator< TPredicate, mode >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
private |
Translates (reverses) the current parallelepiped if needed (depending on the state).
aOp | the operation to apply. |
|
private |
We store whether we are in a reversed state or not
Definition at line 295 of file PlaneProbingParallelepipedEstimator.h.
|
private |
The NotAbove predicate.
Definition at line 293 of file PlaneProbingParallelepipedEstimator.h.
|
private |
Internally, we use a plane probing tetrahedron estimator.
Definition at line 294 of file PlaneProbingParallelepipedEstimator.h.