ug4
|
calculates new positions by cutting parent edges with a plane More...
#include <plane_cut_projector.h>
Public Member Functions | |
virtual number | new_vertex (Vertex *vrt, Edge *parent) |
called when a new vertex was created from an old edge. More... | |
const vector3 & | normal () const |
PlaneCutProjector () | |
PlaneCutProjector (const vector3 &position, const vector3 &normal) | |
PlaneCutProjector (SPIGeometry3d geometry, const vector3 &position, const vector3 &normal) | |
const vector3 & | position () const |
void | set_normal (const vector3 &normal) |
void | set_position (const vector3 &position) |
virtual | ~PlaneCutProjector () |
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_n |
vector3 | m_p |
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) |
calculates new positions by cutting parent edges with a plane
For each edge the intersection of the edge with the initially given plane is calculated and used as new point. Vertices created on other geometric objects are treated as in the linear case.
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
called when a new vertex was created from an old edge.
Reimplemented from ug::RefinementProjector.
References m_n, m_p, ug::RefinementProjector::new_vertex(), ug::RefinementProjector::pos(), ug::RayPlaneIntersection(), ug::RefinementProjector::set_pos(), ug::VecSubtract(), and ug::EdgeVertices::vertex().
|
inline |
References m_n.
Referenced by set_normal().
|
inline |
References m_p.
Referenced by set_position().
|
inlineprivate |
References m_n, m_p, and UG_EMPTY_BASE_CLASS_SERIALIZATION.
|
inline |
|
inline |
References m_p, and position().
|
friend |
|
private |
Referenced by new_vertex(), normal(), serialize(), and set_normal().
|
private |
Referenced by new_vertex(), position(), serialize(), and set_position().