[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

Polytope< N, T > Class Template Referenceabstract

Represent an n-dimensional polytope. More...

`#include <vigra/polytope.hxx>`

Inheritance diagram for Polytope< N, T >:

## Public Member Functions

virtual node_type | addVertex (const point_view_type &p)
virtual bool | closed () const
virtual bool | closed (const node_type n) const
virtual real_type | distance (const node_type u, const point_view_type &p) const
virtual void | eraseFacet (const node_type u)
virtual unsigned int | fill (MultiArrayView< N, unsigned int > &array, const unsigned int label, const point_view_type offset) const
virtual unsigned int | fill (MultiArrayView< N, unsigned int > &array, const unsigned int label, const point_view_type offset, const point_view_type scale) const
virtual std::set< node_type > | getConnected (const node_type u) const
virtual ArrayVector< node_type > | litFacets (const point_view_type &p) const
virtual void | operator= (const Polytope< N, T > &other)
| Polytope ()
| Polytope (const Polytope< N, T > &other)
virtual void | tidyUp ()

## Detailed Description

template<unsigned int N, class T>
class vigra::Polytope< N, T >

Represent an n-dimensional polytope.

Template Parameters

  N | Dimension the polytope.
  T | Type of the vector components of the polytope vertices.

## Constructor & Destructor Documentation

## ◆ Polytope() [1/2]

template<unsigned int N, class T >

Polytope | ( |  | ) |

Default constructor creates an empty polytope class.

## ◆ Polytope() [2/2]

template<unsigned int N, class T >

Polytope | ( | const Polytope< N, T > & | other | ) |

Copy constructor.

## Member Function Documentation

## ◆ operator=()

template<unsigned int N, class T >

virtual void operator= | ( | const Polytope< N, T > & | other | ) |

virtual

Copy from another polytope.

## ◆ closed() [1/2]

template<unsigned int N, class T >

virtual bool closed | ( | const node_type | n | ) | const

virtual

Check if the facet aligns with other facets at each of its ridges.

## ◆ closed() [2/2]

template<unsigned int N, class T >

virtual bool closed | ( |  | ) | const

virtual

Check if the polytope has a closed surface

## ◆ addVertex()

template<unsigned int N, class T >

virtual node_type addVertex | ( | const point_view_type & | p | ) |

virtual

Add a vertex to the polytope.

## ◆ eraseFacet()

template<unsigned int N, class T >

virtual void eraseFacet | ( | const node_type | u | ) |

virtual

Erase a facet.

## ◆ getConnected()

template<unsigned int N, class T >

virtual std::set< node_type > getConnected | ( | const node_type | u | ) | const

virtual

Get the connected elements in the graph that represents the polytope. If a facet node is inserted, all of its vertices will be returned, if a vertex node is inserted, all facets having this vertex will be returned.

## ◆ litFacets()

template<unsigned int N, class T >

virtual ArrayVector< node_type > litFacets | ( | const point_view_type & | p | ) | const

virtual

Get all facets whose normal has a positive scalar product with the vector to the given vertex.

## ◆ tidyUp()

template<unsigned int N, class T >

virtual void tidyUp | ( |  | ) |

virtual

Remove all vertices that are not part of the polytope mesh.

## ◆ distance()

template<unsigned int N, class T >

virtual real_type distance | ( | const node_type | u,
|  | const point_view_type & | p
| ) |  | const

virtual

Get the distance between a facet and a vertex

## ◆ fill() [1/2]

template<unsigned int N, class T >

virtual unsigned int fill | ( | MultiArrayView< N, unsigned int > & | array,
|  | const unsigned int | label,
|  | const point_view_type | offset,
|  | const point_view_type | scale
| ) |  | const

virtual

Label all elements in the array which are inside the polytope.

## ◆ fill() [2/2]

template<unsigned int N, class T >

virtual unsigned int fill | ( | MultiArrayView< N, unsigned int > & | array,
|  | const unsigned int | label,
|  | const point_view_type | offset
| ) |  | const

virtual

Label all elements in the array which are inside the polytope.

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

- vigra/polytope.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.12.1