31 #if defined(ChordGenericStandardPlaneComputer_RECURSES) 32 #error Recursive header files inclusion detected in ChordGenericStandardPlaneComputer.h 33 #else // defined(ChordGenericStandardPlaneComputer_RECURSES) 35 #define ChordGenericStandardPlaneComputer_RECURSES 37 #if !defined ChordGenericStandardPlaneComputer_h 39 #define ChordGenericStandardPlaneComputer_h 45 #include "DGtal/base/Common.h" 46 #include "DGtal/base/IteratorAdapter.h" 47 #include "DGtal/kernel/CInteger.h" 48 #include "DGtal/kernel/CSpace.h" 49 #include "DGtal/kernel/SpaceND.h" 50 #include "DGtal/kernel/PointVector.h" 51 #include "DGtal/arithmetic/IntegerComputer.h" 52 #include "DGtal/geometry/surfaces/ChordNaivePlaneComputer.h" 119 template <
typename TSpace,
120 typename TInputPoint,
121 typename TInternalScalar >
175 p[ 1 ] + (
_posY ? p[ 2 ] : -p[ 2 ] ),
181 p[ 1 ] + (
_posY ? -p[ 2 ] : p[ 2 ] ),
183 template <
typename Vector3D>
186 v[ 2 ] += (
_posX ? v[ 0 ] : -v[ 0 ] );
187 v[ 2 ] += (
_posY ? v[ 1 ] : -v[ 1 ] );
189 template <
typename Vector3D>
192 v[ 2 ] += (
_posX ? -v[ 0 ] : v[ 0 ] );
193 v[ 2 ] += (
_posY ? -v[ 1 ] : v[ 1 ] );
377 template <
typename TInputIterator>
378 bool extend( TInputIterator it, TInputIterator itE );
394 template <
typename TInputIterator>
395 bool isExtendable( TInputIterator it, TInputIterator itE )
const;
421 template <
typename Vector3D>
422 void getNormal( Vector3D & normal )
const;
430 template <
typename Vector3D>
520 template <
typename TSpace,
typename TInputPo
int,
typename TInternalScalar>
530 #include "DGtal/geometry/surfaces/ChordGenericStandardPlaneComputer.ih" 535 #endif // !defined ChordGenericStandardPlaneComputer_h 537 #undef ChordGenericStandardPlaneComputer_RECURSES 538 #endif // else defined(ChordGenericStandardPlaneComputer_RECURSES) InputPointSet::size_type size_type
ChordComputer::Primitive Primitive
ChordGenericStandardPlaneComputer()
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
ChordComputer myComputers[4]
void getUnitNormal(Vector3D &normal) const
const InputPoint * const_pointer
ChordComputer::Point Point
ChordComputer::Component Component
ConstIterator end() const
ChordComputer::ConstIterator InputPointSetConstIterator
static Transform invT(Dimension orthant)
DGtal::uint32_t Dimension
void selfDisplay(std::ostream &out) const
InputPointSet::iterator Iterator
Aim: A parallel strip in the space is the intersection of two parallel half-planes such that each hal...
bool isExtendable(const InputPoint &p) const
ChordGenericStandardPlaneComputer & operator=(const ChordGenericStandardPlaneComputer &other)
boost::transform_iterator< Transform, InputPointSetConstIterator, InputPoint, InputPoint > ConstIterator
~ChordGenericStandardPlaneComputer()
static Transform t(Dimension orthant)
bool operator()(const Point &p) const
InputPointSet::difference_type difference_type
std::vector< Dimension > myOrthants
ChordComputer::InputPointSet InputPointSet
TInternalScalar InternalScalar
std::vector< Dimension >::iterator OrthantIterator
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines...
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
void getBounds(double &min, double &max) const
InputPoint maximalPoint() const
Aim: The traits class for all models of Cinteger.
void getNormal(Vector3D &normal) const
InputVector::Component Component
InputPoint minimalPoint() const
std::vector< Dimension >::const_iterator OrthantConstIterator
ConstIterator const_iterator
Aim: Concept checking for Signed Numbers. Models of this concept should be listed in NumberTraits cla...
DGtal is the top-level namespace which contains all DGtal functions and types.
void getCharacteristics(InternalVector &n, InternalScalar &imin, InternalScalar &imax, InputPoint &p_min, InputPoint &p_max) const
ConstIterator begin() const
std::vector< Dimension > _orthantsToErase
ChordComputer::Coordinate Coordinate
static Transform myTransforms[4]
InputPointSet::size_type Size
bool extendAsIs(const InputPoint &p)
InputPoint::Coordinate Coordinate
ChordComputer::InternalVector InternalVector
InputPointSet::const_iterator ConstIterator
ChordNaivePlaneComputer< Space, InputPoint, InternalScalar > ChordComputer
void init(InternalScalar widthNumerator=NumberTraits< InternalScalar >::ONE, InternalScalar widthDenominator=NumberTraits< InternalScalar >::ONE)
bool extend(const InputPoint &p)
std::set< InputPoint > InputPointSet
BOOST_STATIC_ASSERT((TSpace::dimension==3))
Aim: A class that recognizes pieces of digital planes of given diagonal width. When the width is ...
const InputPoint & const_reference
ChordComputer::Iterator InputPointSetIterator
Primitive primitive() const