|
ug4
|
Projects new vertices onto a sphere during refinement. More...
#include <sphere_projector.h>
Inheritance diagram for ug::SphereProjector:Public Member Functions | |
| const vector3 & | center () const |
| number | influence_radius () const |
| virtual number | new_vertex (Vertex *vrt, Edge *parent) |
| called when a new vertex was created from an old edge. | |
| virtual number | new_vertex (Vertex *vrt, Face *parent) |
| called when a new vertex was created from an old face. | |
| virtual number | new_vertex (Vertex *vrt, Volume *parent) |
| called when a new vertex was created from an old volume. | |
| number | radius () const |
| void | set_center (const vector3 ¢er) |
| void | set_influence_radius (number influenceRadius) |
| void | set_radius (number radius) |
| SphereProjector () | |
| template<class TGeomProvider > | |
| SphereProjector (const TGeomProvider &geometry, const vector3 ¢er, number radius, number influenceRadius) | |
| SphereProjector (const vector3 ¢er) | |
| SphereProjector (const vector3 ¢er, number radius) | |
| SphereProjector (const vector3 ¢er, number radius, number influenceRadius) | |
| SphereProjector (SPIGeometry3d geometry, const vector3 ¢er) | |
| SphereProjector (SPIGeometry3d geometry, const vector3 ¢er, number radius) | |
| virtual | ~SphereProjector () |
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. | |
| virtual void | refinement_begins (const ISubGrid *sg) |
| called before refinement begins | |
| virtual bool | refinement_begins_requires_subgrid () const |
| virtual void | refinement_ends () |
| called when refinement is done | |
| 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 TElem > | |
| number | perform_projection (Vertex *vrt, TElem *parent) |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
| vector3 | m_center |
| number | m_influenceRadius |
| number | m_radius |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Protected Member Functions inherited from ug::RefinementProjector | |
| IGeometry3d & | geom () |
| const IGeometry3d & | geom () const |
| template<class TElem > | |
| bool | is_concerned (TElem *e) |
| vector3 | pos (Vertex *v) const |
| void | set_pos (Vertex *v, const vector3 &p) |
Projects new vertices onto a sphere during refinement.
For projection during refinement the radius property is ignored. Instead the distance to the center of a newly inserted vertex is calculated as the average distance of the vertices of the parent element to the center. The radius property thus defaults to -1.
You may still specify a radius. This radius can be used for auto-fitting of the center and for reprojecting a set of vertices onto the sphere.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
References m_center.
Referenced by set_center().
|
inline |
References m_influenceRadius.
called when a new vertex was created from an old edge.
Reimplemented from ug::RefinementProjector.
References perform_projection().
called when a new vertex was created from an old face.
Reimplemented from ug::RefinementProjector.
References perform_projection().
called when a new vertex was created from an old volume.
Reimplemented from ug::RefinementProjector.
References perform_projection().
|
inlineprivate |
References m_center, m_influenceRadius, m_radius, p, ug::RefinementProjector::pos(), ug::RefinementProjector::set_pos(), ug::SMALL, ug::VecDistance(), ug::VecLength(), ug::VecScale(), and ug::VecSubtract().
Referenced by new_vertex(), new_vertex(), and new_vertex().
|
inline |
References m_radius.
Referenced by set_radius().
|
inlineprivate |
References m_center, m_influenceRadius, m_radius, and UG_EMPTY_BASE_CLASS_SERIALIZATION.
|
inline |
|
inline |
References m_influenceRadius.
|
friend |
|
private |
Referenced by center(), perform_projection(), serialize(), and set_center().
|
private |
Referenced by influence_radius(), perform_projection(), serialize(), and set_influence_radius().
|
private |
Referenced by perform_projection(), radius(), serialize(), and set_radius().