vtf-logo

geom::ScanConversionPolygon< T > Class Template Reference

Class for a polygon in 2-D. More...

#include <ScanConversionPolygon.h>

List of all members.

Public Types

typedef T Number
 The floating point number type.
typedef ads::FixedArray<
2, Number
Point
 The representation of a point in 2 dimensions.
typedef int SizeType
 The size type.
typedef Container::iterator Iterator
 An iterator over points.
typedef Container::const_iterator ConstIterator
 A const Iterator over points.

Public Member Functions

Constructors etc.
 ScanConversionPolygon ()
 Default constructor. Uninitialized memory.
 ScanConversionPolygon (SizeType size)
 Constructor. Reserve room for size vertices.
 ScanConversionPolygon (const ScanConversionPolygon &other)
 Copy constructor.
ScanConversionPolygonoperator= (const ScanConversionPolygon &other)
 Assignment operator.
 ~ScanConversionPolygon ()
 Trivial destructor.
Accesors.
SizeType getVerticesSize () const
 Return the number of vertices.
const PointgetVertex (const int n) const
 Return a const reference to the specified vertex.
Manipulators.
Iterator getVerticesBeginning ()
Iterator getVerticesEnd ()
void clear ()
 Clear the vertices.
void insert (const Point &x)
 Add a vertex.
Mathematical functions.
void orderVertices ()
 Order the vertices in a positive orientation.
void removeDuplicates ()
 Remove adjacent duplicate vertices of an ordered polygon.
int computeBottomAndTop (Number *bottom, Number *top) const
 Find the top and bottom of the polygon. Return bottom vertex index.
template<typename IndexOutputIterator>
void scanConvert (IndexOutputIterator coords, const ads::FixedArray< 2, int > &extents) const
 Scan convert the ScanConversionPolygon in a 2-D grid.
template<typename IndexOutputIterator>
void scanConvert (IndexOutputIterator coords, const ads::FixedArray< 3, int > &extents, const int zCoordinate) const
 Scan convert the ScanConversionPolygon in a 3-D grid.
void clip (const Line_2< Number > &line)
 Clip the ScanConversionPolygon against the line.
bool isValid () const
 Check if polygon is valid.
File I/O.
void get (std::istream &in)
 Read the number of vertices and each vertex.
void put (std::ostream &out) const
 Write each vertex.
void mathematicaPrint (std::ostream &out) const
 Write a Line[] object that Mathematica can read.

Related Functions

(Note that these are not member functions.)

bool operator== (const ScanConversionPolygon< T > &a, const ScanConversionPolygon< T > &b)
 Return true if the polygons have the same points in the same order.
bool operator!= (const ScanConversionPolygon< T > &a, const ScanConversionPolygon< T > &b)
 Return true if they don't have the same points in the same order.
std::istream & operator>> (std::istream &in, ScanConversionPolygon< T > &x)
 Read the number of vertices and each vertex.
std::ostream & operator<< (std::ostream &out, const ScanConversionPolygon< T > &x)
 Write each vertex.


Detailed Description

template<typename T = double>
class geom::ScanConversionPolygon< T >

Class for a polygon in 2-D.

Parameters:
T is the number type. By default it is double.
A ScanConversionPolygon is a list of vertices that are ordered in the positive, (counter-clockwise), direction. The edges have outward normals.


Member Function Documentation

template<typename T = double>
bool geom::ScanConversionPolygon< T >::isValid (  )  const

Check if polygon is valid.

Check that the ScanConversionPolygon has at least three vertices and that adjacent vertices are not equal.

template<typename T = double>
template<typename IndexOutputIterator>
void geom::ScanConversionPolygon< T >::scanConvert ( IndexOutputIterator  coords,
const ads::FixedArray< 3, int > &  extents,
const int  zCoordinate 
) const [inline]

Scan convert the ScanConversionPolygon in a 3-D grid.

Parameters:
coords is an output Iterator for the set of grid indices.
extents are the extents of the grid.
zCoordinate is the z-coordinate of the slice being scan-converted.

template<typename T = double>
template<typename IndexOutputIterator>
void geom::ScanConversionPolygon< T >::scanConvert ( IndexOutputIterator  coords,
const ads::FixedArray< 2, int > &  extents 
) const [inline]

Scan convert the ScanConversionPolygon in a 2-D grid.

Parameters:
coords is an output Iterator for the set of grid indices.
extents are the extents of the grid.


The documentation for this class was generated from the following file:
Generated on Fri Aug 24 12:56:03 2007 for Computational Geometry Package by  doxygen 1.4.7