|
DGtal 2.0.0
|
Aim: a geometric kernel to compute the convex hull of digital points with integer-only arithmetic. More...
#include <DGtal/geometry/tools/QuickHullKernels.h>
Public Member Functions | |
| ConvexHullIntegralKernel ()=default | |
| Default constructor. | |
| bool | hasInfiniteFacets () const |
| bool | isHalfSpaceFacetInfinite (const HalfSpace &hs) const |
| template<typename InputPoint> | |
| void | makeInput (std::vector< CoordinatePoint > &processed_points, IndexRange &input2comp, IndexRange &comp2input, const std::vector< InputPoint > &input_points, bool remove_duplicates) |
| template<typename OutputPoint> | |
| void | convertPointTo (const CoordinatePoint &p, OutputPoint &out_p) const |
| HalfSpace | compute (const std::vector< CoordinatePoint > &vpoints, const CombinatorialPlaneSimplex &simplex, Index idx_below) |
| HalfSpace | compute (const std::vector< CoordinatePoint > &vpoints, const CombinatorialPlaneSimplex &simplex) |
| CoordinateVector | normal (const HalfSpace &H) const |
| CoordinateScalar | intercept (const HalfSpace &H) const |
| InternalScalar | dot (const HalfSpace &H1, const HalfSpace &H2) const |
| bool | equal (const HalfSpace &H1, const HalfSpace &H2) const |
| InternalScalar | height (const HalfSpace &H, const CoordinatePoint &p) const |
| InternalScalar | volume (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | above (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | aboveOrOn (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | on (const HalfSpace &H, const CoordinatePoint &p) const |
| Public Member Functions inherited from DGtal::ConvexHullCommonKernel< dim, DGtal::int64_t, DGtal::int64_t > | |
| BOOST_CONCEPT_ASSERT ((concepts::CInteger< DGtal::int64_t >)) | |
| ConvexHullCommonKernel ()=default | |
| Default constructor. | |
| HalfSpace | compute (const std::vector< CoordinatePoint > &vpoints, const CombinatorialPlaneSimplex &simplex, Index idx_below) |
| CoordinateVector | normal (const HalfSpace &H) const |
| CoordinateScalar | intercept (const HalfSpace &H) const |
| InternalScalar | dot (const HalfSpace &H1, const HalfSpace &H2) const |
| bool | equal (const HalfSpace &H1, const HalfSpace &H2) const |
| InternalScalar | height (const HalfSpace &H, const CoordinatePoint &p) const |
| InternalScalar | volume (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | above (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | aboveOrOn (const HalfSpace &H, const CoordinatePoint &p) const |
| bool | on (const HalfSpace &H, const CoordinatePoint &p) const |
Static Public Attributes | |
| static const Dimension | dimension |
| Static Public Attributes inherited from DGtal::ConvexHullCommonKernel< dim, DGtal::int64_t, DGtal::int64_t > | |
| static const Dimension | dimension |
Aim: a geometric kernel to compute the convex hull of digital points with integer-only arithmetic.
Description of template class 'ConvexHullIntegralKernel'
| dim | the dimension of the space of processed points. |
| TCoordinateInteger | the integer type that represents coordinates of lattice points, a model of concepts::CInteger. |
| TInternalInteger | the integer type that is used for internal computations of above/below plane tests, a model of concepts::CInteger. Must be at least as precise as TCoordinateInteger. |
Definition at line 375 of file QuickHullKernels.h.
| typedef ConvexHullCommonKernel< dim, TCoordinateInteger, TInternalInteger > DGtal::ConvexHullIntegralKernel< dim, TCoordinateInteger, TInternalInteger >::Base |
Definition at line 378 of file QuickHullKernels.h.
|
default |
Default constructor.
|
inline |
| H | the half-space |
| p | any point |
Definition at line 333 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
| p | any point |
Definition at line 339 of file QuickHullKernels.h.
|
inline |
Computes an halfspace from dimension points specified by simplex with vertices in a range vpoints of Point. Orientation is induced by the order of the points. If the simplex is degenrated, the half-space is invalid and has null normal.
| [in] | vpoints | a range of points over which the simplex is defined. |
| [in] | simplex | a range of dimension indices of points defining an hyperplane. |
Definition at line 257 of file QuickHullKernels.h.
|
inline |
Computes an halfspace from dimension points specified by simplex with vertices in a range vpoints of Point. It is oriented such that the point of index idx_below is included in the half-space (i.e. below).
| [in] | vpoints | a range of points over which the simplex is defined. |
| [in] | simplex | a range of dimension indices of points defining an hyperplane. |
| [in] | idx_below | the index of a p-oint that is below the hyperplane. |
Definition at line 230 of file QuickHullKernels.h.
|
inline |
|
inline |
Equivalent of the dot product of the normals of the half-spaces.
| H1 | an half-space |
| H2 | an half-space |
Definition at line 297 of file QuickHullKernels.h.
|
inline |
| H1 | an half-space |
| H2 | an half-space |
Definition at line 310 of file QuickHullKernels.h.
|
inline |
Definition at line 414 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
| p | any point |
Definition at line 318 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
Definition at line 284 of file QuickHullKernels.h.
|
inline |
| [in] | hs | an half-space corresponding to a facet. |
Definition at line 421 of file QuickHullKernels.h.
|
inline |
Transforms a range input_points of input points to a range processed_points of points adapted to a processing by QuickHull convex hull algorithm. Keep the mapping information between input and processed points.
| InputPoint | any model of point whose components are convertible to Scalar. |
| [out] | processed_points | the range of points prepared for a process by QuickHull. |
| [out] | input2comp | the surjective mapping between the input_points range and the processed_points range used for computation. |
| [out] | comp2input | the injective mapping between the processed_points range used for computation and the input_points range. |
| [in] | input_points | the range of input points. |
| [in] | remove_duplicates | when 'true', this method removes possible duplicates in input_points and processed_points may thus be of smaller size, otherwise, when 'false', it means that there are no duplicates in input_points. |
Definition at line 453 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
Definition at line 277 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
| p | any point |
Definition at line 345 of file QuickHullKernels.h.
|
inline |
| H | the half-space |
| p | any point |
Definition at line 324 of file QuickHullKernels.h.
|
static |
Definition at line 196 of file QuickHullKernels.h.