ug4
ug::SmoothProjector Class Reference

Smoothes vertices during refinement. More...

#include <smooth_projector.h>

+ Inheritance diagram for ug::SmoothProjector:

Public Member Functions

number change_rate () const
 
int iterations () const
 
virtual number new_vertex (Vertex *vrt, Edge *parent)
 called when a new vertex was created from an old edge. More...
 
virtual number new_vertex (Vertex *vrt, Face *parent)
 called when a new vertex was created from an old face. More...
 
virtual number new_vertex (Vertex *vrt, Volume *parent)
 called when a new vertex was created from an old volume. More...
 
virtual void refinement_begins (const ISubGrid *sg)
 called before refinement begins More...
 
virtual void refinement_ends ()
 called when refinement is done. More...
 
void set_change_rate (number changeRate)
 
void set_iterations (int iterations)
 
 SmoothProjector ()
 
 SmoothProjector (int iterations, number changeRate)
 
 SmoothProjector (SPIGeometry3d geometry, int iterations, number changeRate)
 
- Public Member Functions inherited from ug::RefinementProjector
virtual SPIGeometry3d geometry () const
 
virtual number new_vertex (Vertex *vrt, Vertex *parent)
 called when a new vertex was created from an old vertex. More...
 
virtual bool refinement_begins_requires_subgrid () const
 
 RefinementProjector ()
 
 RefinementProjector (SPElementCallback cb)
 
 RefinementProjector (SPIGeometry3d geometry)
 
 RefinementProjector (SPIGeometry3d geometry, SPElementCallback concernedElems)
 
virtual void set_concerned_elements (SPElementCallback cb)
 
virtual void set_geometry (SPIGeometry3d geometry)
 
virtual ~RefinementProjector ()
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

number m_changeRate
 
int m_iterations
 
std::vector< Vertex * > m_newVrts
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from ug::RefinementProjector
IGeometry3dgeom ()
 
const IGeometry3dgeom () const
 
template<class TElem >
bool is_concerned (TElem *e)
 
vector3 pos (Vertex *v) const
 
void set_pos (Vertex *v, const vector3 &p)
 

Detailed Description

Smoothes vertices during refinement.

Constructor & Destructor Documentation

◆ SmoothProjector() [1/3]

ug::SmoothProjector::SmoothProjector ( )
inline

◆ SmoothProjector() [2/3]

ug::SmoothProjector::SmoothProjector ( int  iterations,
number  changeRate 
)
inline

◆ SmoothProjector() [3/3]

ug::SmoothProjector::SmoothProjector ( SPIGeometry3d  geometry,
int  iterations,
number  changeRate 
)
inline

Member Function Documentation

◆ change_rate()

number ug::SmoothProjector::change_rate ( ) const
inline

References m_changeRate.

◆ iterations()

int ug::SmoothProjector::iterations ( ) const
inline

References m_iterations.

Referenced by set_iterations().

◆ new_vertex() [1/3]

virtual number ug::SmoothProjector::new_vertex ( Vertex vrt,
Edge parent 
)
inlinevirtual

called when a new vertex was created from an old edge.

Reimplemented from ug::RefinementProjector.

References m_newVrts, and ug::RefinementProjector::new_vertex().

◆ new_vertex() [2/3]

virtual number ug::SmoothProjector::new_vertex ( Vertex vrt,
Face parent 
)
inlinevirtual

called when a new vertex was created from an old face.

Reimplemented from ug::RefinementProjector.

References m_newVrts, and ug::RefinementProjector::new_vertex().

◆ new_vertex() [3/3]

virtual number ug::SmoothProjector::new_vertex ( Vertex vrt,
Volume parent 
)
inlinevirtual

called when a new vertex was created from an old volume.

Reimplemented from ug::RefinementProjector.

References m_newVrts, and ug::RefinementProjector::new_vertex().

◆ refinement_begins()

virtual void ug::SmoothProjector::refinement_begins ( const ISubGrid sg)
inlinevirtual

called before refinement begins

Reimplemented from ug::RefinementProjector.

References m_newVrts, and ug::RefinementProjector::refinement_begins().

◆ refinement_ends()

◆ serialize()

template<class Archive >
void ug::SmoothProjector::serialize ( Archive &  ar,
const unsigned int  version 
)
inlineprivate

◆ set_change_rate()

void ug::SmoothProjector::set_change_rate ( number  changeRate)
inline

References m_changeRate.

◆ set_iterations()

void ug::SmoothProjector::set_iterations ( int  iterations)
inline

References iterations(), and m_iterations.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ m_changeRate

number ug::SmoothProjector::m_changeRate
private

◆ m_iterations

int ug::SmoothProjector::m_iterations
private

◆ m_newVrts

std::vector<Vertex*> ug::SmoothProjector::m_newVrts
private

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