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

#include <quadsubdiv.hh>

Inheritance diagram for concepts::QuadSubdiv2H:
concepts::QuadSubdivision concepts::Subdivision concepts::OutputOperator

Public Member Functions

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

Static Public Member Functions

static const QuadSubdiv2Hinstance ()
 

Protected Member Functions

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

Static Private Attributes

static std::unique_ptr< QuadSubdiv2Hinstance_
 

Detailed Description

Subdivision strategy for quadrilaterals which generates two children.

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

Author
Philipp Frauenfelder, 2002

Definition at line 95 of file quadsubdiv.hh.

Constructor & Destructor Documentation

◆ ~QuadSubdiv2H()

virtual concepts::QuadSubdiv2H::~QuadSubdiv2H ( )
virtual

Member Function Documentation

◆ createChildren()

virtual void concepts::QuadSubdiv2H::createChildren ( Quad q) const
virtual

If no children of q exist, they are created.

Implements concepts::QuadSubdivision.

◆ info()

virtual std::ostream& concepts::QuadSubdiv2H::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ instance()

static const QuadSubdiv2H* concepts::QuadSubdiv2H::instance ( )
static

◆ newEdge()

virtual Edge* concepts::QuadSubdiv2H::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.

◆ newVertex()

virtual Vertex* concepts::QuadSubdiv2H::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.

◆ removeChildren()

virtual void concepts::QuadSubdiv2H::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

◆ instance_

std::unique_ptr<QuadSubdiv2H> concepts::QuadSubdiv2H::instance_
staticprivate

Definition at line 106 of file quadsubdiv.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich