DGtal  1.5.beta
DGtal::detail::BoundedRationalPolytopeSpecializer< N, TInteger > Struct Template Reference

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

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

Public Types

typedef TInteger Integer
 
typedef SpaceND< N, IntegerSpace
 
typedef Space::Point Point
 
typedef Space::Vector Vector
 
typedef BoundedRationalPolytope< 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::BoundedRationalPolytopeSpecializer< N, TInteger >

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

Description of template class 'BoundedRationalPolytopeSpecializer'

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

Definition at line 700 of file BoundedRationalPolytope.h.

Member Typedef Documentation

◆ Integer

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

Definition at line 701 of file BoundedRationalPolytope.h.

◆ Point

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

Definition at line 703 of file BoundedRationalPolytope.h.

◆ Polytope

template<DGtal::Dimension N, typename TInteger >
typedef BoundedRationalPolytope< Space > DGtal::detail::BoundedRationalPolytopeSpecializer< N, TInteger >::Polytope

Definition at line 705 of file BoundedRationalPolytope.h.

◆ Space

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

Definition at line 702 of file BoundedRationalPolytope.h.

◆ Vector

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

Definition at line 704 of file BoundedRationalPolytope.h.

Member Function Documentation

◆ addEdgeConstraint()

template<DGtal::Dimension N, typename TInteger >
static void DGtal::detail::BoundedRationalPolytopeSpecializer< 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 721 of file BoundedRationalPolytope.h.

723  {
724  trace.error() << "[BoundedRationalPolytopeHelper::addEdgeConstraint]"
725  << " this method is only implemented in 3D." << std::endl;
726  }
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::BoundedRationalPolytopeSpecializer< N, TInteger >::crossProduct ( const Vector ,
const Vector  
)
inlinestatic

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

Returns
their cross product.

Definition at line 731 of file BoundedRationalPolytope.h.

732  {
733  trace.error() << "[BoundedRationalPolytopeHelper::crossProduct]"
734  << " this method is only implemented in 3D." << std::endl;
735  return Vector::zero;
736  }
static Self zero
Static const for zero PointVector.
Definition: PointVector.h:1595

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::BoundedRationalPolytopeSpecializer< N, TInteger >::dimension = Space::dimension
static

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