Subdivision strategy for infinite quadrilaterals which generates two children which are infinite quadrilaterals as well. More...

#include <quadsubdiv.hh>

Inheritance diagram for concepts::InfQuadSubdiv2V:
concepts::InfQuadSubdivision concepts::Subdivision concepts::OutputOperator

Public Member Functions

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

Static Public Member Functions

static const InfQuadSubdiv2Vinstance ()
 

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< InfQuadSubdiv2Vinstance_
 

Detailed Description

Subdivision strategy for infinite quadrilaterals which generates two children which are infinite quadrilaterals as well.

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

Author
Kersten Schmidt, 2009

Definition at line 182 of file quadsubdiv.hh.

Constructor & Destructor Documentation

◆ ~InfQuadSubdiv2V()

virtual concepts::InfQuadSubdiv2V::~InfQuadSubdiv2V ( )
virtual

Member Function Documentation

◆ createChildren()

virtual void concepts::InfQuadSubdiv2V::createChildren ( InfiniteQuad q) const
virtual

If no children of q exist, they are created.

Implements concepts::InfQuadSubdivision.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ instance()

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

◆ newEdge()

virtual Connector1* concepts::InfQuadSubdiv2V::newEdge ( const InfiniteQuad 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
qInfiniteQuad which has been refined
iIndex of the new edge
Returns
0 if the new edge with the index i does not exist

Implements concepts::InfQuadSubdivision.

◆ newVertex()

virtual Vertex* concepts::InfQuadSubdiv2V::newVertex ( const InfiniteQuad 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
qInfiniteQuad which has been refined
iIndex of the new vertex
Returns
0 if the new vertex with the index i does not exist

Implements concepts::InfQuadSubdivision.

◆ removeChildren()

virtual void concepts::InfQuadSubdiv2V::removeChildren ( InfiniteQuad q) const
virtual

If there are children, they are removed.

The additional edges and vertices are removed as well.

Implements concepts::InfQuadSubdivision.

Member Data Documentation

◆ instance_

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

Definition at line 193 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