library of assembled shared sources

http://lass.cocamware.com

lass::prim::NoDegenerate Struct Reference
[DegeneratePolicy]

This is the default policy. More...

#include <degenerate_policy.h>


Static Public Member Functions

template<class Primitive >
static void enforceEdge (const Primitive &iPrimitive, int iIndexOfTailVertex)
template<class Primitive >
static void enforceSimple (const Primitive &)
template<class Primitive >
static const Primitive::TValue enforceNonZeroSignedArea (const Primitive &iPrimitive)


Detailed Description

This is the default policy.

NoDegenerate will not prevent a primitive to become degenerate, but it will check some basic conditions when you try to do "unsafe" operations and throws an exception on failure. e.g. CheckDegenerate will not allow you to get the edge(0) or vector(0) of a polygon with only one vertex.

However, it will not check all posible conditions. It will avoid expensive predicates. e.g. it will avoid to test if a polygon is simple, because that's too expensive. If you want all conditions to be checked, you should use StrictNoDegenerate

Definition at line 92 of file degenerate_policy.h.


Member Function Documentation

template<class Primitive >
static void lass::prim::NoDegenerate::enforceEdge ( const Primitive &  iPrimitive,
int  iIndexOfTailVertex 
) [inline, static]

Definition at line 95 of file degenerate_policy.h.

References LASS_THROW_EX.

template<class Primitive >
static void lass::prim::NoDegenerate::enforceSimple ( const Primitive &   )  [inline, static]

Definition at line 104 of file degenerate_policy.h.

template<class Primitive >
static const Primitive::TValue lass::prim::NoDegenerate::enforceNonZeroSignedArea ( const Primitive &  iPrimitive  )  [inline, static]

Definition at line 109 of file degenerate_policy.h.

References LASS_THROW_EX.


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

Generated on Mon Nov 10 14:22:13 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo