31 #if defined(PlaneProbingTetrahedronEstimator_RECURSES)
32 #error Recursive header files inclusion detected in PlaneProbingTetrahedronEstimator.h
35 #define PlaneProbingTetrahedronEstimator_RECURSES
37 #if !defined PlaneProbingTetrahedronEstimator_h
39 #define PlaneProbingTetrahedronEstimator_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/geometry/helpers/PlaneProbingEstimatorHelper.h"
47 #include "DGtal/geometry/surfaces/estimation/PlaneProbingNeighborhood.h"
48 #include "DGtal/kernel/CPointPredicate.h"
110 template <
typename TPredicate, ProbingMode mode = ProbingMode::H>
224 std::pair<bool, UpdateOperation>
advance (std::vector<PointOnProbingRay>
const& aNeighbors);
342 template <
typename TPredicate, ProbingMode mode>
350 #include "DGtal/geometry/surfaces/estimation/PlaneProbingTetrahedronEstimator.ih"
357 #undef PlaneProbingTetrahedronEstimator_RECURSES
Aim: A base virtual class that represents a way to probe a neighborhood, used in the plane probing ba...
detail::PointOnProbingRay< Integer, Index > PointOnProbingRay
std::array< Vector, 3 > Triangle
Aim: A class that locally estimates a normal on a digital set using only a predicate "does a point x ...
void applyOperation(UpdateOperation const &aOp)
void translateQ(Vector const &aTranslation)
void update(UpdateOperation const &aOp)
Vector const & m(int aIndex) const
bool isUnimodular() const
bool isProjectedInside() const
HexagonState hexagonState() const
bool isProjectedInside(Triangle const &aTriangle) const
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
typename PointOnProbingRay::Permutation Permutation
std::vector< UpdateOperation > myOperations
typename Neighborhood::Triangle Triangle
Neighborhood * myNeighborhood
PlaneProbingTetrahedronEstimator(const PlaneProbingTetrahedronEstimator &other)=delete
PlaneProbingTetrahedronEstimator(PlaneProbingTetrahedronEstimator &&other)=delete
~PlaneProbingTetrahedronEstimator()
std::pair< Vector, Vector > getBasis() const
typename Predicate::Point Point
typename Neighborhood::HexagonState HexagonState
std::pair< bool, UpdateOperation > advance(std::vector< PointOnProbingRay > const &aNeighbors)
typename Point::Coordinate Integer
typename Neighborhood::UpdateOperation UpdateOperation
Predicate const & myPredicate
PlaneProbingTetrahedronEstimator & operator=(const PlaneProbingTetrahedronEstimator &other)=delete
void selfDisplay(std::ostream &out) const
Triangle vertices() const
PlaneProbingTetrahedronEstimator()=delete
PlaneProbingTetrahedronEstimator(Point const &aPoint, Triangle const &aM, Predicate const &aPredicate)
Quantity compute(std::vector< PointOnProbingRay > const &aNeighbors)
std::pair< bool, UpdateOperation > advance()
typename Neighborhood::PointOnProbingRay PointOnProbingRay
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: Defines a predicate on a point.