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

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

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

#include <quadsubdiv.hh>

Inheritance diagram for concepts::QuadSubdiv4:
Inheritance graph
[legend]
Collaboration diagram for concepts::QuadSubdiv4:
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 ~QuadSubdiv4 ()

Static Public Member Functions

static const QuadSubdiv4instance ()

Protected Member Functions

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

Static Private Attributes

static std::auto_ptr< QuadSubdiv4instance_

Detailed Description

Subdivision strategy for quadrilaterals which generates four children.

This is the default subdivision strategy.

The children are generated by subdividing the four edges and introducing four new edges meeting in the middle of the parent quad.

Author:
Philipp Frauenfelder, 2002

Definition at line 71 of file quadsubdiv.hh.


Constructor & Destructor Documentation

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

Member Function Documentation

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

If no children of q exist, they are created.

Implements concepts::QuadSubdivision.

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

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

static const QuadSubdiv4* concepts::QuadSubdiv4::instance ( ) [static]
virtual Edge* concepts::QuadSubdiv4::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::QuadSubdiv4::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::QuadSubdiv4::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<QuadSubdiv4> concepts::QuadSubdiv4::instance_ [static, private]

Definition at line 82 of file quadsubdiv.hh.


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

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