ug4
ug::CylinderCutProjector Class Reference

Refines linearily except for when a refined edge intersects the given cylinder. More...

#include <cylinder_cut_projector.h>

+ Inheritance diagram for ug::CylinderCutProjector:

Public Member Functions

const vector3axis () const
 
const vector3center () const
 
 CylinderCutProjector ()
 
 CylinderCutProjector (const vector3 &center, const vector3 &axis, number radius)
 
 CylinderCutProjector (SPIGeometry3d geometry, const vector3 &center, const vector3 &axis, number radius)
 
virtual number new_vertex (Vertex *vrt, Edge *parent)
 called when a new vertex was created from an old edge. More...
 
number radius () const
 
void set_axis (const vector3 &axis)
 
void set_center (const vector3 &center)
 
void set_radius (number radius)
 
virtual ~CylinderCutProjector ()
 
- Public Member Functions inherited from ug::RefinementProjector
virtual SPIGeometry3d geometry () const
 
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, Vertex *parent)
 called when a new vertex was created from an old vertex. 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 bool refinement_begins_requires_subgrid () const
 
virtual void refinement_ends ()
 called when refinement is done More...
 
 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

vector3 m_axis
 
vector3 m_center
 
number m_radius
 

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

Refines linearily except for when a refined edge intersects the given cylinder.

Refines linearily except for when a refined edge intersects the given cylinder. the new vertex will be placed at the intersection of the edge with the cylinder in this case.

Note
This projector is not commonly used during grid adaption. It serves very special purposes for specialized algorithms. Used without specialized meshing operations it may lead to bad elements.

Constructor & Destructor Documentation

◆ CylinderCutProjector() [1/3]

ug::CylinderCutProjector::CylinderCutProjector ( )
inline

◆ CylinderCutProjector() [2/3]

ug::CylinderCutProjector::CylinderCutProjector ( const vector3 center,
const vector3 axis,
number  radius 
)
inline

◆ CylinderCutProjector() [3/3]

ug::CylinderCutProjector::CylinderCutProjector ( SPIGeometry3d  geometry,
const vector3 center,
const vector3 axis,
number  radius 
)
inline

◆ ~CylinderCutProjector()

virtual ug::CylinderCutProjector::~CylinderCutProjector ( )
inlinevirtual

Member Function Documentation

◆ axis()

const vector3& ug::CylinderCutProjector::axis ( ) const
inline

References m_axis.

Referenced by set_axis().

◆ center()

const vector3& ug::CylinderCutProjector::center ( ) const
inline

References m_center.

Referenced by set_center().

◆ new_vertex()

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

◆ radius()

number ug::CylinderCutProjector::radius ( ) const
inline

References m_radius.

Referenced by set_radius().

◆ serialize()

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

◆ set_axis()

void ug::CylinderCutProjector::set_axis ( const vector3 axis)
inline

References axis(), and m_axis.

◆ set_center()

void ug::CylinderCutProjector::set_center ( const vector3 center)
inline

References center(), and m_center.

◆ set_radius()

void ug::CylinderCutProjector::set_radius ( number  radius)
inline

References m_radius, and radius().

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Member Data Documentation

◆ m_axis

vector3 ug::CylinderCutProjector::m_axis
private

Referenced by axis(), new_vertex(), serialize(), and set_axis().

◆ m_center

vector3 ug::CylinderCutProjector::m_center
private

◆ m_radius

number ug::CylinderCutProjector::m_radius
private

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