Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Private Attributes
concepts::QuadSubdiv2V Class Reference

Subdivision strategy for quadrilaterals which generates two children. More...

#include <quadsubdiv.hh>

Inheritance diagram for concepts::QuadSubdiv2V:
Inheritance graph
[legend]
Collaboration diagram for concepts::QuadSubdiv2V:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void createChildren (Quad &q) const
 If no children of q exist, they are created.
virtual EdgenewEdge (const Quad &q, uint i) const
 Returns the ith edge which has been newly created by the subdivision.
virtual VertexnewVertex (const Quad &q, uint i) const
 Return the ith vertex which has been newly created by the subdivision.
virtual void removeChildren (Quad &q) const
 If there are children, they are removed.
virtual ~QuadSubdiv2V ()

Static Public Member Functions

static const QuadSubdiv2Vinstance ()

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Static Private Attributes

static std::auto_ptr
< QuadSubdiv2V
instance_

Detailed Description

Subdivision strategy for quadrilaterals which generates two children.

The parent quad's horizontal axis is subdivided, the vertical is not.

Author:
Philipp Frauenfelder, 2002

Definition at line 115 of file quadsubdiv.hh.


Constructor & Destructor Documentation

virtual concepts::QuadSubdiv2V::~QuadSubdiv2V ( ) [virtual]

Member Function Documentation

virtual void concepts::QuadSubdiv2V::createChildren ( Quad q) const [virtual]

If no children of q exist, they are created.

Implements concepts::QuadSubdivision.

virtual std::ostream& concepts::QuadSubdiv2V::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

static const QuadSubdiv2V* concepts::QuadSubdiv2V::instance ( ) [static]
virtual Edge* concepts::QuadSubdiv2V::newEdge ( const Quad q,
uint  i 
) const [virtual]

Returns the ith edge which has been newly created by the subdivision.

An edge which is the result of a refinement is not newly created.

Parameters:
qQuad which has been refined
iIndex of the new edge
Returns:
0 if the new edge with the index i does not exist

Implements concepts::QuadSubdivision.

virtual Vertex* concepts::QuadSubdiv2V::newVertex ( const Quad q,
uint  i 
) const [virtual]

Return the ith vertex which has been newly created by the subdivision.

An vertex which is the result of a refinement (ie. of an edge) is not newly created.

Parameters:
qQuad which has been refined
iIndex of the new vertex
Returns:
0 if the new vertex with the index i does not exist

Implements concepts::QuadSubdivision.

virtual void concepts::QuadSubdiv2V::removeChildren ( Quad q) const [virtual]

If there are children, they are removed.

The additional edges and vertices are removed as well.

Implements concepts::QuadSubdivision.


Member Data Documentation

std::auto_ptr<QuadSubdiv2V> concepts::QuadSubdiv2V::instance_ [static, private]

Definition at line 126 of file quadsubdiv.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)