33 #ifndef __H__UG_cylinder_cut_projector
34 #define __H__UG_cylinder_cut_projector
101 bool t0IsFine = (t0 >= 0) && (t0 <= 1);
102 bool t1IsFine = (t1 >= 0) && (t1 <= 1);
133 template <
class Archive>
134 void serialize( Archive& ar,
const unsigned int version)
137 ar & make_nvp(
"axis",
m_axis);
#define UG_EMPTY_BASE_CLASS_SERIALIZATION(clsDerived, clsBase)
Definition: boost_serialization.h:51
Refines linearily except for when a refined edge intersects the given cylinder.
Definition: cylinder_cut_projector.h:49
number radius() const
Definition: cylinder_cut_projector.h:87
const vector3 & center() const
Definition: cylinder_cut_projector.h:81
CylinderCutProjector(SPIGeometry3d geometry, const vector3 ¢er, const vector3 &axis, number radius)
Definition: cylinder_cut_projector.h:66
void set_axis(const vector3 &axis)
Definition: cylinder_cut_projector.h:83
number m_radius
Definition: cylinder_cut_projector.h:144
CylinderCutProjector(const vector3 ¢er, const vector3 &axis, number radius)
Definition: cylinder_cut_projector.h:57
vector3 m_center
Definition: cylinder_cut_projector.h:142
void serialize(Archive &ar, const unsigned int version)
Definition: cylinder_cut_projector.h:134
void set_radius(number radius)
Definition: cylinder_cut_projector.h:86
void set_center(const vector3 ¢er)
Definition: cylinder_cut_projector.h:80
CylinderCutProjector()
Definition: cylinder_cut_projector.h:51
friend class boost::serialization::access
Definition: cylinder_cut_projector.h:131
const vector3 & axis() const
Definition: cylinder_cut_projector.h:84
vector3 m_axis
Definition: cylinder_cut_projector.h:143
virtual number new_vertex(Vertex *vrt, Edge *parent)
called when a new vertex was created from an old edge.
Definition: cylinder_cut_projector.h:90
virtual ~CylinderCutProjector()
Definition: cylinder_cut_projector.h:78
Base-class for edges.
Definition: grid_base_objects.h:397
virtual Vertex * vertex(size_t index) const
Definition: grid_base_objects.h:366
Adjusts vertex coordinates during refinement.
Definition: refinement_projector.h:55
void set_pos(Vertex *v, const vector3 &p)
Definition: refinement_projector.h:157
virtual number new_vertex(Vertex *vrt, Vertex *parent)
called when a new vertex was created from an old vertex.
Definition: refinement_projector.h:121
vector3 pos(Vertex *v) const
Definition: refinement_projector.h:149
virtual SPIGeometry3d geometry() const
Definition: refinement_projector.h:81
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
double number
Definition: types.h:124
bool RayCylinderIntersection(number &tMinOut, number &tMaxOut, const vector3 &rayFrom, const vector3 &rayDir, const vector3 &cylCenter, const vector3 &cylAxis, number cylRadius)
returns the parameter values at which a given ray intersects an infinite cylinder.
Definition: math_util.cpp:386
void VecScaleAdd(vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2)
Scales two Vectors, adds them and returns the sum in a third vector.
Definition: math_vector_functions_common_impl.hpp:265
void VecSubtract(vector_t &vOut, const vector_t &v1, const vector_t &v2)
subtracts v2 from v1 and stores the result in a vOut
Definition: math_vector_functions_common_impl.hpp:226