DGtal 1.4.0
Loading...
Searching...
No Matches
DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger > Struct Template Reference

Aim: It is just a helper class for BoundedLatticePolytope to add dimension specific static methods. More...

#include <DGtal/geometry/volumes/BoundedLatticePolytope.h>

Public Types

typedef TInteger Integer
 
typedef SpaceND< N, IntegerSpace
 
typedef Space::Point Point
 
typedef Space::Vector Vector
 
typedef BoundedLatticePolytope< SpacePolytope
 

Static Public Member Functions

static void addEdgeConstraint (Polytope &, unsigned int, unsigned int, const std::vector< Point > &)
 
static Vector crossProduct (const Vector &, const Vector &)
 

Static Public Attributes

static const Dimension dimension = Space::dimension
 

Detailed Description

template<DGtal::Dimension N, typename TInteger>
struct DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >

Aim: It is just a helper class for BoundedLatticePolytope to add dimension specific static methods.

Description of template class 'BoundedLatticePolytopeSpecializer'

Template Parameters
Nthe dimension of the polytope.
TIntegerany model of integer.

Definition at line 886 of file BoundedLatticePolytope.h.

Member Typedef Documentation

◆ Integer

template<DGtal::Dimension N, typename TInteger >
typedef TInteger DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::Integer

Definition at line 887 of file BoundedLatticePolytope.h.

◆ Point

template<DGtal::Dimension N, typename TInteger >
typedef Space::Point DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::Point

Definition at line 889 of file BoundedLatticePolytope.h.

◆ Polytope

template<DGtal::Dimension N, typename TInteger >
typedef BoundedLatticePolytope< Space > DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::Polytope

Definition at line 891 of file BoundedLatticePolytope.h.

◆ Space

template<DGtal::Dimension N, typename TInteger >
typedef SpaceND< N, Integer> DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::Space

Definition at line 888 of file BoundedLatticePolytope.h.

◆ Vector

template<DGtal::Dimension N, typename TInteger >
typedef Space::Vector DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::Vector

Definition at line 890 of file BoundedLatticePolytope.h.

Member Function Documentation

◆ addEdgeConstraint()

template<DGtal::Dimension N, typename TInteger >
static void DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::addEdgeConstraint ( Polytope & ,
unsigned int ,
unsigned int ,
const std::vector< Point > &  )
inlinestatic

Not implemented generic method.

This method add extremal constraints for simplex edges, faces, etc. Each constraint is a half-space bounded by the edge, face, etc, and one axis. Such constraints are useful when computing the Minkowski sum.

Note
This method is useful starting from 3D, where it is implemented in the specialization of this class.
Todo
For higher dimensions, one should add constraint for extremal faces, etc.

Definition at line 907 of file BoundedLatticePolytope.h.

909 {
910 trace.error() << "[BoundedLatticePolytopeHelper::addEdgeConstraint]"
911 << " this method is only implemented in 3D." << std::endl;
912 }
std::ostream & error()
Trace trace
Definition Common.h:153

References DGtal::Trace::error(), and DGtal::trace.

◆ crossProduct()

template<DGtal::Dimension N, typename TInteger >
static Vector DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::crossProduct ( const Vector & ,
const Vector &  )
inlinestatic

Generic method for cross product, only implemented in 3D.

Returns
their cross product.

Definition at line 917 of file BoundedLatticePolytope.h.

918 {
919 trace.error() << "[BoundedLatticePolytopeHelper::crossProduct]"
920 << " this method is only implemented in 3D." << std::endl;
921 return Vector::zero;
922 }

References DGtal::Trace::error(), DGtal::trace, and DGtal::PointVector< dim, Integer >::zero.

Field Documentation

◆ dimension

template<DGtal::Dimension N, typename TInteger >
const Dimension DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::dimension = Space::dimension
static

The documentation for this struct was generated from the following file: