33#ifndef UG__LIB_GRID__REFINEMENT__PROJECTORS__ELLIPTIC_CYLINDER_PROJECTOR_H
34#define UG__LIB_GRID__REFINEMENT__PROJECTORS__ELLIPTIC_CYLINDER_PROJECTOR_H
129 template <
class TElem>
134 template <
class Archive>
#define UG_EMPTY_BASE_CLASS_SERIALIZATION(clsDerived, clsBase)
Definition boost_serialization.h:51
Base-class for edges.
Definition grid_base_objects.h:397
Projects new vertices onto a cylinder with an elliptic base.
Definition elliptic_cylinder_projector.h:52
void set_center(const vector3 ¢er)
Definition elliptic_cylinder_projector.cpp:148
number m_a
Definition elliptic_cylinder_projector.h:161
virtual number new_vertex(Vertex *vrt, Edge *parent)
called when a new vertex was created from an old edge
Definition elliptic_cylinder_projector.cpp:219
void serialize(Archive &ar, const unsigned int version)
Definition elliptic_cylinder_projector.h:135
void set_influence_radius(number influenceRadius)
Definition elliptic_cylinder_projector.cpp:207
number influence_radius() const
Definition elliptic_cylinder_projector.cpp:212
const vector3 & center() const
Definition elliptic_cylinder_projector.cpp:153
vector3 m_ellipseNormal
Definition elliptic_cylinder_projector.h:160
number m_b
Definition elliptic_cylinder_projector.h:162
const vector3 & ellipse_axis1() const
Definition elliptic_cylinder_projector.cpp:177
number scale_point_to_radius(vector3 &vIO, number r)
Definition elliptic_cylinder_projector.cpp:251
void set_ellipse_axis2(const vector3 &axis)
Definition elliptic_cylinder_projector.cpp:183
number m_influenceRadius
Definition elliptic_cylinder_projector.h:158
const vector3 & cylinder_axis() const
Definition elliptic_cylinder_projector.cpp:164
number radial_ellipse_coord(const vector3 &v)
Definition elliptic_cylinder_projector.cpp:236
number m_radius
Definition elliptic_cylinder_projector.h:157
vector3 m_center
Definition elliptic_cylinder_projector.h:153
number radius() const
Definition elliptic_cylinder_projector.cpp:201
EllipticCylinderProjector()
Definition elliptic_cylinder_projector.cpp:42
vector3 m_ellipse_axis2
Definition elliptic_cylinder_projector.h:156
void set_radius(number radius)
Definition elliptic_cylinder_projector.cpp:196
vector3 m_cylinder_axis
Definition elliptic_cylinder_projector.h:154
vector3 m_ellipse_axis1
Definition elliptic_cylinder_projector.h:155
const vector3 & ellipse_axis2() const
Definition elliptic_cylinder_projector.cpp:190
void set_ellipse_axis1(const vector3 &axis)
Definition elliptic_cylinder_projector.cpp:170
friend class boost::serialization::access
Definition elliptic_cylinder_projector.h:132
number perform_projection(Vertex *vrt, TElem *parent)
Definition elliptic_cylinder_projector.cpp:277
void set_cylinder_axis(const vector3 &axis)
Definition elliptic_cylinder_projector.cpp:159
virtual ~EllipticCylinderProjector()
Definition elliptic_cylinder_projector.cpp:143
Faces are 2-dimensional objects.
Definition grid_base_objects.h:510
Adjusts vertex coordinates during refinement.
Definition refinement_projector.h:55
virtual SPIGeometry3d geometry() const
Definition refinement_projector.h:81
Base-class for all vertex-types.
Definition grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition grid_base_objects.h:754
double number
Definition types.h:124
vector_t::value_type VecLength(const vector_t &v)
returns the length of v. Slower than VecLengthSq.
Definition math_vector_functions_common_impl.hpp:341
void VecCross(vector_t &vOut, const vector_t &v1, const vector_t &v2)
calculates the cross product of two Vectors of dimension 3. It makes no sense to use VecCross for vec...
Definition math_vector_functions_common_impl.hpp:437