33 #ifndef __H__UG__volume_calculation_impl__
34 #define __H__UG__volume_calculation_impl__
42 template <
class TAAPos>
64 template <
class TAAPos>
73 template <
class TAAPos>
83 template <
class TAAPos>
94 template <
class TAAPos>
107 template <
class TAAPos>
118 template <
class TAAPos>
125 template <
class TAAPos>
131 template <
class TAAPos>
137 template <
class TIterator,
class TAAPos>
141 for(TIterator iter = begin; iter != end; ++iter){
155 for(
size_t ii = 1; ii < npoints; ++ii)
157 for(
int i = 0; i <
dim; ++i)
160 if(v[i] < vMinBB[i]) vMinBB[i] = v[i];
161 else if(v[i] > vMaxBB[i]) vMaxBB[i] = v[i];
holds the vertices of an Edge or an EdgeDescriptor.
Definition: grid_base_objects.h:362
Definition: grid_base_objects.h:483
A volume element with 6 quadrilateral sides.
Definition: grid_objects_3d.h:227
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_3d.h:243
platonic solid with eight faces.
Definition: grid_objects_3d.h:626
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_3d.h:641
A volume element with 2 triangle and 3 quadrilateral sides.
Definition: grid_objects_3d.h:360
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_3d.h:376
A volume element with 4 triangle and 1 quadrilateral sides.
Definition: grid_objects_3d.h:493
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_3d.h:509
the most simple volume-element.
Definition: grid_objects_3d.h:91
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_3d.h:106
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition: grid_base_objects.h:754
virtual ReferenceObjectID reference_object_id() const
Definition: grid_base_objects.h:927
static number FaceArea(TDomain &dom, ISubsetHandler &sh, int si, size_t lvl)
Definition: domain_bridge.cpp:262
UG_API number EdgeLength(const EdgeVertices *e, TAAPosVRT &aaPos)
Calculates the length of the given edge.
Definition: edge_util_impl.hpp:80
number CalculateVolume(Volume *elem, TAAPos aaPos)
Calculates the volume of the given element.
Definition: volume_calculation_impl.hpp:43
#define UG_THROW(msg)
Definition: error.h:57
double number
Definition: types.h:124
number CalculateTetrahedronVolume(const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d)
Definition: math_util.cpp:440
number CalculateOctahedronVolume(const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f)
Definition: math_util.cpp:525
number CalculatePyramidVolume(const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e)
Definition: math_util.cpp:465
number CalculatePrismVolume(const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f)
Definition: math_util.cpp:485
number CalculateHexahedronVolume(const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d, const vector3 &e, const vector3 &f, const vector3 &g, const vector3 &h)
Definition: math_util.cpp:503
@ ROID_TETRAHEDRON
Definition: grid_base_objects.h:80
@ ROID_PYRAMID
Definition: grid_base_objects.h:83
@ ROID_PRISM
Definition: grid_base_objects.h:82
@ ROID_OCTAHEDRON
Definition: grid_base_objects.h:84
@ ROID_HEXAHEDRON
Definition: grid_base_objects.h:81
AABox< typename TAAPos::ValueType > CalculateBoundingBox(Vertex *e, TAAPos aaPos)
calculates the smallest axis aligned box that contains the given vertex
Definition: bounding_box_util.h:43