31#if defined(BoundedLatticePolytopeCounter_RECURSES)
32#error Recursive header files inclusion detected in BoundedLatticePolytopeCounter.h
35#define BoundedLatticePolytopeCounter_RECURSES
38#if !defined BoundedLatticePolytopeCounter_h
40#define BoundedLatticePolytopeCounter_h
46#include "DGtal/kernel/IntegralIntervals.h"
47#include "DGtal/geometry/volumes/BoundedLatticePolytope.h"
65 template <
typename TSpace >
216#include "BoundedLatticePolytopeCounter.ih"
223#undef BoundedLatticePolytopeCounter_RECURSES
Aim: Useful to compute quickly the lattice points within a polytope, i.e. a convex polyhedron.
LatticeSetByInterval getLatticeCells(Dimension a) const
typename Polytope::Domain Domain
LatticeSetByInterval getLatticeSet(Dimension a) const
typename Polytope::InequalityVector InequalityVector
typename Polytope::Point Point
typename Polytope::InequalityMatrix InequalityMatrix
typename Polytope::HalfSpace HalfSpace
Interval interiorIntersectionIntervalAlongAxis(Point p, Dimension a) const
std::map< Point, Interval > LatticeSetByInterval
Internal type used to represent a convex lattice point set.
const Polytope * myPolytope
The associated polytope.
BoundedLatticePolytopeCounter(const Polytope &P)
void getInteriorPointsAlongAxis(PointRange &pts, Dimension a) const
BoundedLatticePolytopeCounter< TSpace > Self
BoundedLatticePolytope< TSpace > Polytope
Point myUpper
The upper point of the tight bounding box to the associated polytope.
typename Polytope::BigInteger BigInteger
Point myLower
The lower point of the tight bounding box to the associated polytope.
Interval intersectionIntervalAlongAxis(Point p, Dimension a) const
typename Polytope::Vector Vector
void init(const Polytope *ptrP)
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
Integer countAlongAxis(Dimension a) const
void getPointsAlongAxis(PointRange &pts, Dimension a) const
Dimension longestAxis() const
typename Intervals::Interval Interval
Integer countInteriorAlongAxis(Dimension a) const
std::map< Point, Intervals > LatticeSetByIntervals
Internal type used to represent any lattice point set.
typename Polytope::Integer Integer
BoundedLatticePolytopeCounter()=default
Default constructor.
std::vector< Point > PointRange
static const Dimension dimension
Aim: Represents an nD lattice polytope, i.e. a convex polyhedron bounded with vertices with integer c...
ClosedIntegerHalfPlane< Space > HalfSpace
std::vector< Vector > InequalityMatrix
std::vector< Integer > InequalityVector
DGtal::BigInteger BigInteger
HyperRectDomain< Space > Domain
std::pair< Integer, Integer > Interval
static const Dimension dimension
static constants to store the dimension.
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.