ug4
Vectors

Classes

class  ug::MathVector< N, T >
 a mathematical Vector with N entries. More...
 
class  ug::MathVector< 0, T >
 
class  ug::MathVector< 1, T >
 
class  ug::MathVector< 2, T >
 
class  ug::MathVector< 3, T >
 
class  ug::MathVector< 4, T >
 

Typedefs

typedef MathMatrix< 2, 2, numberug::matrix22
 a 2x2 matrix More...
 
typedef MathMatrix< 3, 3, numberug::matrix33
 a 3x3 matrix More...
 
typedef MathMatrix< 4, 4, numberug::matrix44
 a 4x4 matrix More...
 
typedef MathVector< 1, numberug::vector1
 a 1d vector More...
 
typedef MathVector< 2, numberug::vector2
 a 2d vector More...
 
typedef MathVector< 3, numberug::vector3
 a 3d vector More...
 
typedef MathVector< 4, numberug::vector4
 a 4d vector More...
 

Functions

template<typename vector_t >
void ug::CalculateTriangleNormal (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3)
 Calculates a triangle-normal in 3d (output has length 1). More...
 
template<typename vector_t >
void ug::CalculateTriangleNormalNoNormalize (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3)
 Calculates a triangle-normal in 3d (no normalization is performed). More...
 
template<class TStream , std::size_t N, class T >
void ug::Deserialize (TStream &out, MathVector< N, T > &valOut)
 
template<size_t dim>
void ug::GenVecCross (MathVector< dim > &result, const MathVector< dim > &v_1, const MathVector< dim > &v_2)
 calculates the usual cross product in 3d, and the (det, 0) vector as a cross product in 2d More...
 
template<std::size_t N, typename T >
bool ug::operator!= (const MathVector< N, T > &v, const MathVector< N, T > &w)
 
template<std::size_t N, typename T >
bool ug::operator< (const MathVector< N, T > &v, const MathVector< N, T > &w)
 
template<typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 0, T > &v)
 
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 1 > &v)
 formatted output of MathVector objects: (...,...) More...
 
template<typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 1, T > &v)
 
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 2 > &v)
 formatted output of MathVector objects: (...,...) More...
 
template<typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 2, T > &v)
 
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 3 > &v)
 formatted output of MathVector objects: (...,...) More...
 
template<typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 3, T > &v)
 
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 4 > &v)
 formatted output of MathVector objects: (...,...) More...
 
template<typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< 4, T > &v)
 
template<std::size_t N, typename T >
std::ostream & ug::operator<< (std::ostream &outStream, const ug::MathVector< N, T > &v)
 
template<typename T >
bool ug::operator== (const MathVector< 0, T > &v, const MathVector< 0, T > &w)
 
template<std::size_t N, typename T >
bool ug::operator== (const MathVector< N, T > &v, const MathVector< N, T > &w)
 
std::istream & ug::read_plain_txt (std::istream &inStream, ug::MathVector< 1 > &v)
 plain text input of MathVectors: read space-separated coordinates More...
 
std::istream & ug::read_plain_txt (std::istream &inStream, ug::MathVector< 2 > &v)
 plain text input of MathVectors: read space-separated coordinates More...
 
std::istream & ug::read_plain_txt (std::istream &inStream, ug::MathVector< 3 > &v)
 plain text input of MathVectors: read space-separated coordinates More...
 
std::istream & ug::read_plain_txt (std::istream &inStream, ug::MathVector< 4 > &v)
 plain text input of MathVectors: read space-separated coordinates More...
 
template<class TStream , std::size_t N, class T >
void ug::Serialize (TStream &out, const MathVector< N, T > &val)
 
template<typename vector_t >
void ug::VecAdd (vector_t &vOut, const vector_t &v, typename vector_t::value_type s)
 Add a scalar to a vector (componentwise) More...
 
template<typename vector_t >
void ug::VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2)
 adds two MathVector<N>s and stores the result in a third one More...
 
template<typename vector_t >
void ug::VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3)
 adds three MathVector<N>s and stores the result in a fourth one More...
 
template<typename vector_t >
void ug::VecAdd (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3, const vector_t &v4)
 adds four MathVector<N>s and stores the result in a firth one More...
 
template<typename vector_t >
vector_t::value_type ug::VecAngle (const vector_t &v1, const vector_t &v2)
 returns the angle between two vectors in radiants More...
 
template<typename vector_t >
vector_t::value_type ug::VecAngleNorm (const vector_t &v1, const vector_t &v2)
 returns the angle between two vectors of length 1 in radiants More...
 
template<typename vector_t >
void ug::VecAppend (vector_t &vOut, const vector_t &v1)
 adds a MathVector<N> to a second one More...
 
template<typename vector_t >
void ug::VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2)
 adds two MathVector<N>s and adds the result to a third one More...
 
template<typename vector_t >
void ug::VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3)
 adds two MathVector<N>s and adds the result to a fourth one More...
 
template<typename vector_t >
void ug::VecAppend (vector_t &vOut, const vector_t &v1, const vector_t &v2, const vector_t &v3, const vector_t &v4)
 adds two MathVector<N>s and adds the result to a fifth one More...
 
template<typename vector_target_t , typename vector_source_t >
void ug::VecCopy (vector_target_t &target, const vector_source_t &source, typename vector_target_t::value_type fill)
 Copy contents between vectors of possibly different types. More...
 
template<typename vector_t >
void ug::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 vector_ts that have not dimension 3. More...
 
template<typename vector_t >
vector_t::value_type ug::VecDistance (const vector_t &v1, const vector_t &v2)
 returns the distance of two vector_ts. More...
 
template<typename vector_t >
vector_t::value_type ug::VecDistanceSq (const vector_t &v1, const vector_t &v2)
 returns the squared distance of two vector_ts. More...
 
template<typename vector_t >
vector_t::value_type ug::VecDot (const vector_t &v1, const vector_t &v2)
 returns the dot-product of two vector_ts More...
 
template<typename vector_t >
vector_t::value_type ug::VecInftyNorm (const vector_t &v)
 
template<typename vector_t >
void ug::VecInterpolateLinear (vector_t &vOut, const vector_t &v1, const vector_t &v2, typename vector_t::value_type interpAmount)
 
template<typename vector_t >
vector_t::value_type ug::VecLength (const vector_t &v)
 returns the length of v. Slower than VecLengthSq. More...
 
template<typename vector_t >
vector_t::value_type ug::VecLengthSq (const vector_t &v)
 returns the squared length of v. Faster than VecLength. More...
 
template<typename vector_t >
vector_t::value_type ug::VecMaxNorm (const vector_t &v)
 
template<typename vector_t >
void ug::VecNormalize (vector_t &vOut, const vector_t &v)
 scales a vector_t to unit length More...
 
template<typename vector_t >
vector_t::value_type ug::VecOneNorm (const vector_t &v)
 
template<typename vector_t >
vector_t::value_type ug::VecPNorm (const vector_t &v, unsigned int p)
 
template<typename vector_t >
void ug::VecPow (vector_t &vOut, const vector_t &v1, typename vector_t::value_type s)
 component-wise exponentiation of a vector More...
 
template<typename vector_t >
void ug::VecScale (vector_t &vOut, const vector_t &v, typename vector_t::value_type s)
 scales a MathVector<N> More...
 
template<typename vector_t >
void ug::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. More...
 
template<typename vector_t >
void ug::VecScaleAdd (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3)
 Scales three Vectors, adds them and returns the sum in a fourth vector. More...
 
template<typename vector_t >
void ug::VecScaleAdd (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3, typename vector_t::value_type s4, const vector_t &v4)
 Scales four Vectors, adds them and returns the sum in a fifth vector. More...
 
template<typename vector_t >
void ug::VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1)
 Scales a Vector and adds it to a second vector. More...
 
template<typename vector_t >
void ug::VecScaleAppend (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 adds the sum to a third vector. More...
 
template<typename vector_t >
void ug::VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3)
 Scales three Vectors, adds them and adds the sum to a fourth vector. More...
 
template<typename vector_t >
void ug::VecScaleAppend (vector_t &vOut, typename vector_t::value_type s1, const vector_t &v1, typename vector_t::value_type s2, const vector_t &v2, typename vector_t::value_type s3, const vector_t &v3, typename vector_t::value_type s4, const vector_t &v4)
 Scales four Vectors, adds them and adds the sum to a fifth vector. More...
 
template<typename vector_t >
void ug::VecSet (vector_t &vInOut, typename vector_t::value_type s)
 Set each vector component to scalar (componentwise) More...
 
template<typename vector_t >
void ug::VecSubtract (vector_t &vOut, const vector_t &v, typename vector_t::value_type s)
 Subtract a scalar from a vector (componentwise) More...
 
template<typename vector_t >
void ug::VecSubtract (vector_t &vOut, const vector_t &v1, const vector_t &v2)
 subtracts v2 from v1 and stores the result in a vOut More...
 
template<typename vector_t >
vector_t::value_type ug::VecTwoNorm (const vector_t &v)
 
template<typename vector_t >
vector_t::value_type ug::VecTwoNormSq (const vector_t &v)
 
std::ostream & ug::write_plain_txt (std::ostream &outStream, const ug::MathVector< 1 > &v)
 plain text output of MathVector objects: space-separated coordinates More...
 
std::ostream & ug::write_plain_txt (std::ostream &outStream, const ug::MathVector< 2 > &v)
 plain text output of MathVector objects: space-separated coordinates More...
 
std::ostream & ug::write_plain_txt (std::ostream &outStream, const ug::MathVector< 3 > &v)
 plain text output of MathVector objects: space-separated coordinates More...
 
std::ostream & ug::write_plain_txt (std::ostream &outStream, const ug::MathVector< 4 > &v)
 plain text output of MathVector objects: space-separated coordinates More...
 
template<std::size_t fromN, std::size_t toN, typename T >
MathVector< toN, T > ug::MathVectorFrom (const MathVector< fromN, T > &v)
 helper method which creates a vector from another vector of different dimensionality More...
 
template<std::size_t N, typename T >
MathVector< N, T > ug::MathVectorFrom (const MathVector< N, T > &v)
 helper method which creates a vector from another vector of different dimensionality More...
 

Detailed Description

Abbreviations of small vectors

Typedef Documentation

◆ matrix22

a 2x2 matrix

◆ matrix33

a 3x3 matrix

◆ matrix44

a 4x4 matrix

◆ vector1

a 1d vector

◆ vector2

a 2d vector

◆ vector3

a 3d vector

◆ vector4

a 4d vector

Function Documentation

◆ CalculateTriangleNormal()

template<typename vector_t >
void ug::CalculateTriangleNormal ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3 
)
inline

Calculates a triangle-normal in 3d (output has length 1).

Calculates a triangle-normal in 3d.

References ug::CalculateTriangleNormalNoNormalize(), and ug::VecNormalize().

Referenced by ug::CalculateNormal(), ug::CalculateNormalDot(), and ug::IntersectCoplanarTriangles().

◆ CalculateTriangleNormalNoNormalize()

template<typename vector_t >
void ug::CalculateTriangleNormalNoNormalize ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3 
)
inline

◆ Deserialize()

template<class TStream , std::size_t N, class T >
void ug::Deserialize ( TStream &  out,
MathVector< N, T > &  valOut 
)

◆ GenVecCross()

template<size_t dim>
void ug::GenVecCross ( MathVector< dim > &  result,
const MathVector< dim > &  v_1,
const MathVector< dim > &  v_2 
)
inline

calculates the usual cross product in 3d, and the (det, 0) vector as a cross product in 2d

computes the "generalized vector product" of two vectors

In 3d, this is a usual cross-product. In 2d, the first component of the result is the determinant of the 2x2-matrix build of the operands, and the second component is always 0.

Template Parameters
dimdimensionality of the vectors
Parameters
result= v_1 X v_2

References UG_THROW.

Referenced by ug::TriangleArea().

◆ MathVectorFrom() [1/2]

template<std::size_t fromN, std::size_t toN, typename T >
MathVector<toN, T> ug::MathVectorFrom ( const MathVector< fromN, T > &  v)

helper method which creates a vector from another vector of different dimensionality

Typically, the method isn't invoked directly but serves as an implementation helper for MathVector<toN, T>::from(v).

◆ MathVectorFrom() [2/2]

template<std::size_t N, typename T >
MathVector<N, T> ug::MathVectorFrom ( const MathVector< N, T > &  v)

helper method which creates a vector from another vector of different dimensionality

Typically, the method isn't invoked directly but serves as an implementation helper for MathVector<toN, T>::from(v).

◆ operator!=()

template<std::size_t N, typename T >
bool ug::operator!= ( const MathVector< N, T > &  v,
const MathVector< N, T > &  w 
)

◆ operator<()

template<std::size_t N, typename T >
bool ug::operator< ( const MathVector< N, T > &  v,
const MathVector< N, T > &  w 
)

References ug::SMALL.

◆ operator<<() [1/10]

template<typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 0, T > &  v 
)

◆ operator<<() [2/10]

UG_API std::ostream & ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 1 > &  v 
)

formatted output of MathVector objects: (...,...)

References ug::MathVector< N, T >::coord().

◆ operator<<() [3/10]

template<typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 1, T > &  v 
)

◆ operator<<() [4/10]

UG_API std::ostream & ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 2 > &  v 
)

formatted output of MathVector objects: (...,...)

References ug::MathVector< N, T >::coord().

◆ operator<<() [5/10]

template<typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 2, T > &  v 
)

◆ operator<<() [6/10]

UG_API std::ostream & ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 3 > &  v 
)

formatted output of MathVector objects: (...,...)

References ug::MathVector< N, T >::coord().

◆ operator<<() [7/10]

template<typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 3, T > &  v 
)

◆ operator<<() [8/10]

UG_API std::ostream & ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 4 > &  v 
)

formatted output of MathVector objects: (...,...)

References ug::MathVector< N, T >::coord().

◆ operator<<() [9/10]

template<typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< 4, T > &  v 
)

◆ operator<<() [10/10]

template<std::size_t N, typename T >
std::ostream& ug::operator<< ( std::ostream &  outStream,
const ug::MathVector< N, T > &  v 
)

◆ operator==() [1/2]

template<typename T >
bool ug::operator== ( const MathVector< 0, T > &  v,
const MathVector< 0, T > &  w 
)

◆ operator==() [2/2]

template<std::size_t N, typename T >
bool ug::operator== ( const MathVector< N, T > &  v,
const MathVector< N, T > &  w 
)

◆ read_plain_txt() [1/4]

UG_API std::istream & ug::read_plain_txt ( std::istream &  inStream,
ug::MathVector< 1 > &  v 
)

plain text input of MathVectors: read space-separated coordinates

References ug::MathVector< N, T >::coord().

Referenced by ug::IDWUserData< WDim, TData >::load_data_from().

◆ read_plain_txt() [2/4]

UG_API std::istream & ug::read_plain_txt ( std::istream &  inStream,
ug::MathVector< 2 > &  v 
)

plain text input of MathVectors: read space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ read_plain_txt() [3/4]

UG_API std::istream & ug::read_plain_txt ( std::istream &  inStream,
ug::MathVector< 3 > &  v 
)

plain text input of MathVectors: read space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ read_plain_txt() [4/4]

UG_API std::istream & ug::read_plain_txt ( std::istream &  inStream,
ug::MathVector< 4 > &  v 
)

plain text input of MathVectors: read space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ Serialize()

template<class TStream , std::size_t N, class T >
void ug::Serialize ( TStream &  out,
const MathVector< N, T > &  val 
)

◆ VecAdd() [1/4]

template<typename vector_t >
void ug::VecAdd ( vector_t &  vOut,
const vector_t &  v,
typename vector_t::value_type  s 
)
inline

Add a scalar to a vector (componentwise)

References s.

◆ VecAdd() [2/4]

template<typename vector_t >
void ug::VecAdd ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2 
)
inline

adds two MathVector<N>s and stores the result in a third one

Referenced by ug::NeuriteProjector::average_params(), ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::calculate_center(), ug::ntree< tree_dim, world_dim, TElem, TCommonData >::calculate_center_of_mass(), ug::CalculateBarycenter(), ug::CalculateBoundaryVertexNormal3D(), ug::CalculateCenter(), ug::CalculateConstrainedSmoothVolumePosInTopLevel(), ug::CalculateCreaseNormal(), ug::CalculateMinCurvature(), ug::CalculateNormal(), ug::CalculateNormalNoNormalize(), ug::CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme(), ug::CalculateSmoothManifoldPosInParentLevelButterflyScheme(), ug::CalculateSmoothManifoldPosInParentLevelLoopScheme(), ug::CalculateSmoothManifoldPosInTopLevelAveragingScheme(), ug::CalculateSmoothVolumePosInTopLevel(), ug::CalculateVertexNormal(), ug::CalculateVertexNormals(), ug::AABox< vector_t >::center(), ug::CollapseEdge(), ug::HFV1Geometry< TElem, TWorldDim >::compute_side_midpoints(), ug::DimHFV1Geometry< TDim, TWorldDim >::compute_side_midpoints(), ug::HFV1ManifoldGeometry< TElem, TWorldDim >::compute_side_midpoints(), ug::CreatePrism(), ug::node_tree::CreateSubOctrees(), ug::DropAPerpendicular(), ug::Duplicate(), ug::ExpandFractures2d(), ug::ExpandFractures3d(), ug::Extrude(), ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::grow_box(), ug::node_tree::GrowBox(), ug::LaplacianSmooth(), ug::fv1_traits_ReferenceFace3d::NormalOnSCVF_Face(), ug::ObtainSimpleGrid_CollapseEdge(), ug::AABox< ug::MathVector< dim > >::overlaps_line(), ug::pos_on_surface_tip(), ug::SomaProjector::project_to_soma_surface(), ug::ProjectPointToRay(), ug::QualityGridGeneration(), ug::RayPlaneIntersection(), ug::RayRayIntersection3d(), ug::tet_rules::Refine(), ug::SubdivisionProjector::refinement_begins(), ug::EllipticCylinderProjector::scale_point_to_radius(), ug::SnapMarkerPointToGridVertex(), ug::TangentialSmooth(), ug::TangentialSmoothSimple(), ug::TranslateDomain(), ug::TranslateSelection(), ug::TriangleFill(), ug::TrySplit(), ug::Valence4VertexIsObsolete(), ug::IVector_AlgebraDownCastTo< TVec >::vec_add(), ug::WeightedEdgeSmooth(), and ug::WeightedFaceSmooth().

◆ VecAdd() [3/4]

template<typename vector_t >
void ug::VecAdd ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3 
)
inline

adds three MathVector<N>s and stores the result in a fourth one

adds three Vectors and stores the result in a fourth one

◆ VecAdd() [4/4]

template<typename vector_t >
void ug::VecAdd ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3,
const vector_t &  v4 
)
inline

adds four MathVector<N>s and stores the result in a firth one

adds four Vectors and stores the result in a fifth one

◆ VecAngle()

template<typename vector_t >
vector_t::value_type ug::VecAngle ( const vector_t &  v1,
const vector_t &  v2 
)
inline

◆ VecAngleNorm()

template<typename vector_t >
vector_t::value_type ug::VecAngleNorm ( const vector_t &  v1,
const vector_t &  v2 
)
inline

returns the angle between two vectors of length 1 in radiants

This method assumes that v1 and v2 are normalized vectors (both have length 1). No checks are performed!

References ug::PI, and ug::VecDot().

◆ VecAppend() [1/4]

template<typename vector_t >
void ug::VecAppend ( vector_t &  vOut,
const vector_t &  v1 
)
inline

adds a MathVector<N> to a second one

adds a MathVector<N>s to a second one

Referenced by ug::ComputeElementExtensionsSq(), ug::ElementSize< ReferenceHexahedron, 3 >(), and ug::ElementSize< ReferencePrism, 3 >().

◆ VecAppend() [2/4]

template<typename vector_t >
void ug::VecAppend ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2 
)
inline

adds two MathVector<N>s and adds the result to a third one

◆ VecAppend() [3/4]

template<typename vector_t >
void ug::VecAppend ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3 
)
inline

adds two MathVector<N>s and adds the result to a fourth one

adds three Vectors and adds the result to a fourth one

◆ VecAppend() [4/4]

template<typename vector_t >
void ug::VecAppend ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
const vector_t &  v3,
const vector_t &  v4 
)
inline

adds two MathVector<N>s and adds the result to a fifth one

adds four Vectors and adds the result to a fifth one

◆ VecCopy()

template<typename vector_target_t , typename vector_source_t >
void ug::VecCopy ( vector_target_t &  target,
const vector_source_t &  source,
typename vector_target_t::value_type  fill 
)

◆ VecCross()

template<typename vector_t >
void ug::VecCross ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2 
)
inline

◆ VecDistance()

◆ VecDistanceSq()

template<typename vector_t >
vector_t::value_type ug::VecDistanceSq ( const vector_t &  v1,
const vector_t &  v2 
)
inline

returns the squared distance of two vector_ts.

returns the squared distance of two MathVector<N>s.

References ug::VecLengthSq(), and ug::VecSubtract().

Referenced by ug::AdaptSurfaceGridToCylinder(), ug::bp_newton_start_pos(), ug::CalculateBoundingSphere(), ug::DelaunayInfo< TAAPos >::classify_face(), ug::bridge::Evaluate::CloseVertexExists(), ug::Sphere< vector_t >::contains_point(), ug::DelaunayLineLineIntersection(), ug::StdLagrangeElemTransfer< TDomain >::do_restrict(), ug::EdgeLengthSq(), ug::ElementDiameterSq(), ug::H1SemiDistIntegrand< TGridFunction >::evaluate(), ug::H1EnergyDistIntegrand< TGridFunction >::evaluate(), ug::H1DistIntegrand< TGridFunction >::evaluate(), ug::H1ErrorIntegrand< TGridFunction >::evaluate(), ug::bridge::Evaluate::EvaluateAtVertex(), ug::ExpandFractures2d(), ug::ExpandFractures3d(), ug::FindClosestByCoordinate(), ug::FindClosestVertexInArray(), ug::FindCloseVertexInArray(), ug::FindVertexByCoordiante(), ug::FindVertexByCoordinate(), ug::GetMaxEdgeLength(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::inner_dist2(), ug::IntersectCoplanarTriangles(), ug::Sphere< vector_t >::intersects(), ug::DelaunayInfo< TAAPos >::is_classifiable(), ug::IsDegenerated(), ug::IsSliver(), ug::MakeDelaunay(), ug::MarkForAdaption_VerticesInSphereMaxLvl(), ug::MarkForRefinement_ElementsInSphere(), ug::PerformCollapses(), ug::PerformSplits(), ug::ProjectVerticesToCloseEdges(), ug::ProjectVerticesToCloseFaces(), ug::QualityGridGeneration(), ug::tet_rules::Refine(), ug::RemoveDoubles(), ug::ResolveEdgeEdgeIntersection(), ug::ResolveVertexEdgeIntersection(), ug::ResolveVertexFaceIntersection(), ug::ScaleDomainSqrtWeighting(), ug::ScaleDomainSquaredWeighting(), ug::ScaleDomainWeighting(), ug::SeparateFaceSubsetsByNormal(), ug::SlopeSmooth(), ug::SnapMarkerPointToGridVertex(), ug::SplitOctahedronToTetrahedrons(), ug::TriangleCircumcenter(), ug::TriangleQuality_Area(), ug::UpdateChainInfo(), ug::Valence3VertexIsObsolete(), ug::Valence4VertexIsObsolete(), ug::VecDistance(), and ug::VertexDistanceSq().

◆ VecDot()

template<typename vector_t >
vector_t::value_type ug::VecDot ( const vector_t &  v1,
const vector_t &  v2 
)
inline

returns the dot-product of two vector_ts

calculates the dot-product of two MathVector<N>s

Referenced by ug::ActiveSet< TDomain, TAlgebra >::active_index_elem(), ug::FV1IBGeometry< TElem, TWorldDim >::adapt(), ug::DimFV1IBGeometry< TDim, TWorldDim >::adapt(), ug::NeumannBoundaryFE< TDomain >::add_rhs_elem(), ug::NeumannBoundaryFV< TDomain >::add_rhs_elem(), ug::NeumannBoundaryFV1< TDomain >::add_rhs_elem(), ug::bp_defect_and_gradient(), ug::bp_newton_start_pos(), ug::CalculateAngles(), ug::CalculateHexahedronAspectRatio(), ug::CalculateMaxAngle(), ug::CalculateMaxDihedral(), ug::CalculateMinAngle(), ug::CalculateMinCurvature(), ug::CalculateMinDihedral(), ug::CalculateNormalDot(), ug::CalculateOctahedronVolume(), ug::CalculatePolychainEdgeNormals(), ug::CalculatePyramidAspectRatio(), ug::CalculateRightBendVal(), ug::CalculateTetrahedronVolume(), ug::ActiveSet< TDomain, TAlgebra >::check_conv_elem(), ug::CheckOrientation(), ug::DelaunayInfo< TAAPos >::classify_face(), ug::NeumannBoundaryFV1< TDomain >::compute_err_est_rhs_elem(), ug::ContainsPoint(), ug::FVPointSourceOrSink< dim, TData >::corresponds_to(), ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), ug::DropAPerpendicular(), ug::ElementSize< ReferenceHexahedron, 3 >(), ug::ElementSize< ReferenceOctahedron, 3 >(), ug::ElementSize< ReferencePrism, 3 >(), ug::ElementSize< ReferencePyramid, 3 >(), ug::ElementSize< ReferenceTetrahedron, 3 >(), ug::LognormalRandomField< TData, dim, TRet >::eval_K(), ug::H1SemiIntegrand< TGridFunction >::evaluate(), ug::H1NormIntegrand< TGridFunction >::evaluate(), ug::EvaluateGradientJump_SideIntegral(), ug::ExpandFractures2d(), ug::ExpandFractures3d(), ug::FaceQuality(), ug::FindNormal(), ug::GeometricApproximationDegree(), ug::node_tree::Traverser_ProjectPoint::handle_collision_triangles(), ug::UserDataIntegrandSq< TData, TGridFunction >::inner_prod(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::inner_prod(), ug::IntegralNormalComponentOnManifoldGeneral(), ug::IntegralNormalComponentOnManifoldUsingFV1Geom(), ug::IntegrateNormalComponentOnManifold(), ug::IntegrateNormalGradientOnManifold(), ug::IntersectCoplanarTriangles(), ug::MarkCorners(), ug::MarkCreaseEdges(), ug::MarkForRefinement_AnisotropicDirection(), ug::MarkForRefinementByDirection(), ug::MatHouseholder(), ug::MinimizeEdgeLength_SwapsOnly(), ug::linker_traits< MathVector< dim >, MathVector< dim >, number >::mult_add(), ug::PointFaceTest(), ug::PointIsInsideQuadrilateral(), ug::PointIsInsideTetrahedron(), ug::PointIsInsideTriangle(), ug::ClusterElementStacks< elem_t, vector_t >::post_process(), ug::ProjectPointToPlane(), ug::ProjectPointToRay(), ug::ProjectPointToSurface(), ug::QuadDiagonalIsValid(), ug::EllipticCylinderProjector::radial_ellipse_coord(), ug::RayCylinderIntersection(), ug::RayPlaneIntersection(), ug::RayRayProjection(), ug::ReflectVectorAtPlane(), ug::ResolveTriangleIntersections(), ug::EllipticCylinderProjector::scale_point_to_radius(), ug::SelectCreaseEdges(), ug::SelectEdgesByDirection(), ug::SelectLinkedFlatAndDegeneratedFaces(), ug::SelectLinkedFlatFaces(), ug::SelectSmoothEdgePath(), ug::SelectSubsetEdgesByDirection(), ug::SlopeSmooth(), ug::TangentialSmooth(), ug::TriangleCircumcenter(), ug::TriangleFill(), ug::TriangleFill_SweepLine(), ug::TriangleQuality(), ug::Triangulate(), ug::TrySwap(), ug::ConvectionShapesNoUpwind< TDim >::update(), ug::ConvectionShapesFullUpwind< TDim >::update(), ug::ConvectionShapesWeightedUpwind< TDim >::update(), ug::ConvectionShapesPartialUpwind< TDim >::update(), ug::HFV1Geometry< TElem, TWorldDim >::update(), ug::DimHFV1Geometry< TDim, TWorldDim >::update(), ug::UpdateChainInfo(), ug::VecAngle(), ug::VecAngleNorm(), ug::VecDistanceSq(), and ug::WeightedNormalSmooth().

◆ VecInftyNorm()

template<typename vector_t >
vector_t::value_type ug::VecInftyNorm ( const vector_t &  v)
inline

References ug::VecMaxNorm().

◆ VecInterpolateLinear()

template<typename vector_t >
void ug::VecInterpolateLinear ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2,
typename vector_t::value_type  interpAmount 
)
inline

◆ VecLength()

◆ VecLengthSq()

◆ VecMaxNorm()

template<typename vector_t >
vector_t::value_type ug::VecMaxNorm ( const vector_t &  v)
inline

Referenced by ug::VecInftyNorm().

◆ VecNormalize()

template<typename vector_t >
void ug::VecNormalize ( vector_t &  vOut,
const vector_t &  v 
)
inline

scales a vector_t to unit length

scales a MathVector<N> to unit length

References ug::VecLength(), and ug::VecScale().

Referenced by ug::AdaptSurfaceGridToCylinder(), ug::CalculateAngles(), ug::CalculateBoundaryVertexNormal2D(), ug::CalculateBoundaryVertexNormal3D(), ug::CalculateCreaseNormal(), ug::CalculateMaxAngle(), ug::CalculateMaxDihedral(), ug::CalculateMinAngle(), ug::CalculateMinCurvature(), ug::CalculateMinDihedral(), ug::CalculateNormal(), ug::CalculateNormalNoNormalize(), ug::CalculateOuterNormal(), ug::CalculatePolychainEdgeNormals(), ug::CalculateRightBendVal(), ug::CalculateTriangleNormal(), ug::CalculateVertexNormal(), ug::CalculateVertexNormals(), ug::DelaunayInfo< TAAPos >::classify_face(), ug::CollapseEdge(), ug::compute_angle(), ug::NeumannBoundaryFV1< TDomain >::compute_err_est_rhs_elem(), ug::compute_ONB(), ug::ConstructOrthonormalSystem(), ug::DelaunayLineLineIntersection(), ug::ElementNormal< ReferenceEdge, 3 >(), ug::ElementNormal< ReferenceVertex, 2 >(), ug::ElementNormal< ReferenceVertex, 3 >(), ug::ExpandFractures2d(), ug::ExpandFractures3d(), ug::FindClosestPlane(), ug::FindNormal(), ug::GetColorFromDefaultPalette(), ug::GetEdgeOnTheLeft(), ug::MarkAnisotropicOnlyX(), ug::MarkCorners(), ug::MarkForRefinement_AnisotropicDirection(), ug::MarkForRefinementByDirection(), ug::fv1_traits< ReferenceEdge, 1 >::NormalOnSCVF(), ug::fv1_traits< ReferenceEdge, 2 >::NormalOnSCVF(), ug::fv1_traits< ReferenceEdge, 3 >::NormalOnSCVF(), ug::fv1_traits_ReferenceFace3d::NormalOnSCVF_Face(), ug::ObtainSimpleGrid_CollapseEdge(), ug::ClusterElementStacks< elem_t, vector_t >::post_process(), ug::ProjectPointToPlane(), ug::QualityGridGeneration(), ug::RayCylinderIntersection(), ug::SelectEdgesByDirection(), ug::SelectSmoothEdgePath(), ug::SelectSubsetEdgesByDirection(), ug::SlopeSmooth(), ug::TangentialSmooth(), ug::TriangleFill(), ug::TriangleFill_SweepLine(), ug::TriangleQuality(), ug::TrySplit(), ug::TrySwap(), ug::FVGeometry< TOrder, TElem, TWorldDim, TQuadOrder >::update(), ug::DimFVGeometry< TWorldDim, TDim >::update(), and ug::WeightedNormalSmooth().

◆ VecOneNorm()

template<typename vector_t >
vector_t::value_type ug::VecOneNorm ( const vector_t &  v)
inline

◆ VecPNorm()

template<typename vector_t >
vector_t::value_type ug::VecPNorm ( const vector_t &  v,
unsigned int  p 
)
inline

References p.

◆ VecPow()

template<typename vector_t >
void ug::VecPow ( vector_t &  vOut,
const vector_t &  v1,
typename vector_t::value_type  s 
)
inline

component-wise exponentiation of a vector

References s.

Referenced by ug::NeuriteProjector::IsElementInsideSphere().

◆ VecScale()

template<typename vector_t >
void ug::VecScale ( vector_t &  vOut,
const vector_t &  v,
typename vector_t::value_type  s 
)
inline

scales a MathVector<N>

References s.

Referenced by ug::ApplySmoothManifoldPosToTopLevelAveragingScheme(), ug::ApplySmoothVolumePosToTopLevel(), ug::NeuriteProjector::average_params(), ug::bp_defect_and_gradient(), ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::calculate_center(), ug::ntree< tree_dim, world_dim, TElem, TCommonData >::calculate_center_of_mass(), ug::CalculateBarycenter(), ug::CalculateCenter(), ug::CalculateNormalNoNormalize(), ug::CalculateRightBendVal(), ug::AABox< vector_t >::center(), ug::CollapseEdge(), ug::ComputeElementExtensionsSq(), ug::FileReaderSWC::create_grid(), ug::CreatePrism(), ug::node_tree::CreateSubOctrees(), ug::DropAPerpendicular(), ug::ElementNormal< ReferenceEdge, 3 >(), ug::ElementNormal< ReferenceQuadrilateral, 3 >(), ug::ElementNormal< ReferenceTriangle, 3 >(), ug::DarcyVelocityLinker< dim >::eval_and_deriv(), ug::DarcyVelocityLinker< dim >::evaluate(), ug::ExplicitGridFunctionGradient< TGridFunction >::evaluate(), ug::ExpandFractures2d(), ug::ExpandFractures3d(), ug::ExtrudeCylinder(), ug::FaceQuality(), ug::FindNormal(), ug::GetEdgeOnTheLeft(), ug::BaseReferenceMapping< dim, worldDim, isLinear, TImpl >::global_to_local(), ug::node_tree::GrowBox(), ug::IntersectCoplanarTriangles(), ug::LaplacianSmooth(), ug::fv1_traits_ReferenceFace3d::NormalOnSCVF_Face(), ug::CylinderProjector::perform_projection(), ug::EllipticCylinderProjector::perform_projection(), ug::SomaProjector::perform_projection(), ug::SphereProjector::perform_projection(), ug::pos_on_surface_tip(), ug::SomaProjector::project_to_soma_surface(), ug::ProjectPointToPlane(), ug::ProjectPointToRay(), ug::ProjectToLimitPLoop(), ug::QualityGridGeneration(), ug::RayCylinderIntersection(), ug::RayPlaneIntersection(), ug::tet_rules::Refine(), ug::ParallelShiftIdentifier< TPosAA >::set_shift(), ug::SnapMarkerPointToGridVertex(), ug::TangentialSmooth(), ug::TangentialSmoothSimple(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::transform_eulerian_coord_sys(), ug::TriangleFill(), ug::TriangleQuality(), ug::ConvectionShapesNoUpwind< TDim >::update(), ug::ConvectionShapesFullUpwind< TDim >::update(), ug::ConvectionShapesWeightedUpwind< TDim >::update(), ug::ConvectionShapesPartialUpwind< TDim >::update(), ug::VecNormalize(), and ug::Traverser_RayElementIntersection< tree_t >::visit_up().

◆ VecScaleAdd() [1/3]

template<typename vector_t >
void ug::VecScaleAdd ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2 
)
inline

Scales two Vectors, adds them and returns the sum in a third vector.

Referenced by ug::AdaptSurfaceGridToCylinder(), ug::ElementSideRayIntersectionWrapper< TRefElem, 2, 2 >::apply(), ug::ElementSideRayIntersectionWrapper< TRefElem, 3, 3 >::apply(), ug::SCVFofSCVRayIntersectionWrapper< 2, 2 >::apply(), ug::BiCGStab< TVector >::apply_return_defect(), ug::CG< TVector >::apply_return_defect(), ug::ApplySmoothManifoldPosToTopLevelAveragingScheme(), ug::ApplySmoothVolumePosToTopLevel(), ug::bridge::AlgebraCommon::VecScaleAddClass< TAlgebra >::assign(), ug::AssignSubsetColorsBlueToGreen(), ug::AssignSubsetColorsRedToGreen(), ug::NeuriteProjector::average_params(), ug::bp_defect_and_gradient(), ug::bp_newton_start_pos(), ug::Partitioner_DynamicBisection< TElem, dim >::calculate_global_dimensions(), ug::PowerMethod< TAlgebra >::calculate_max_eigenvalue(), ug::PowerMethod< TAlgebra >::calculate_min_eigenvalue(), ug::CalculateCenter(), ug::compute_angle(), ug::compute_ONB(), ComputeMidPoints(), ug::ComputeMidPoints(), ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), ug::GenerateIcosahedron(), ug::node_tree::Traverser_ProjectPoint::handle_collision_edges(), ug::IntegrateNormalComponentOnManifold(), ug::IntegrateNormalGradientOnManifold(), ug::InterpolateValues(), ug::LaplacianSmooth(), ug::ReferenceMapping< ReferenceEdge, TWorldDim >::local_to_global(), ug::ReferenceMapping< ReferenceTriangle, TWorldDim >::local_to_global(), ug::ReferenceMapping< ReferenceQuadrilateral, TWorldDim >::local_to_global(), ug::ReferenceMapping< ReferenceTetrahedron, TWorldDim >::local_to_global(), ug::MatMultAdd(), ug::mat_operations_class< vector_t, matrix_t, MATRIX_USE_ROW_FUNCTIONS >::MatMultAdd(), ug::MatMultAddDirect(), ug::CylinderCutProjector::new_vertex(), ug::SubdivisionProjector::new_vertex(), ug::newton_for_bp_projection(), ug::pos_in_bp(), ug::pos_in_neurite(), ug::ProjectToLimitPLoop(), ug::ProjectToLimitSubdivBoundary(), ug::ProjectVerticesToSphere(), ug::ProlongateP1(), ug::QualityGridGeneration(), ug::SubdivisionProjector::refinement_begins(), ug::ReflectVectorAtPlane(), ug::ResolveEdgeEdgeIntersection(), ug::EllipticCylinderProjector::scale_point_to_radius(), ug::StandardLineSearch< TVector >::search(), ug::SetLagrangeEdgeMultiIndex(), ug::SlopeSmooth(), ug::TangentialSmooth(), ug::TangentialSmoothSimple(), ug::ObstacleInNormalDir< TDomain, TAlgebra >::transform_eulerian_coord_sys(), ug::TriangleBarycenter(), ug::TriangleCircumcenter(), ug::FetiLayouts< TAlgebra >::vec_scale_add_on_dual(), ug::FetiLayouts< TAlgebra >::vec_scale_add_on_primal(), ug::FetiLayouts< TAlgebra >::vec_scale_append_on_dual(), ug::FetiLayouts< TAlgebra >::vec_scale_append_on_primal(), ug::VecScaleAdd(), ug::bridge::AlgebraCommon::VecScaleAdd2(), ug::bridge::AlgebraCommon::VecScaleAdd3(), ug::GMRES< TVector >::VecScaleAppend(), ug::VectorAssign(), and ug::WeightedFaceSmooth().

◆ VecScaleAdd() [2/3]

template<typename vector_t >
void ug::VecScaleAdd ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2,
typename vector_t::value_type  s3,
const vector_t &  v3 
)
inline

Scales three Vectors, adds them and returns the sum in a fourth vector.

◆ VecScaleAdd() [3/3]

template<typename vector_t >
void ug::VecScaleAdd ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2,
typename vector_t::value_type  s3,
const vector_t &  v3,
typename vector_t::value_type  s4,
const vector_t &  v4 
)
inline

Scales four Vectors, adds them and returns the sum in a fifth vector.

◆ VecScaleAppend() [1/4]

template<typename vector_t >
void ug::VecScaleAppend ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1 
)
inline

◆ VecScaleAppend() [2/4]

template<typename vector_t >
void ug::VecScaleAppend ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2 
)
inline

Scales two Vectors, adds them and adds the sum to a third vector.

Scales two Vectors, adds the sum to a third vector.

◆ VecScaleAppend() [3/4]

template<typename vector_t >
void ug::VecScaleAppend ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2,
typename vector_t::value_type  s3,
const vector_t &  v3 
)
inline

Scales three Vectors, adds them and adds the sum to a fourth vector.

Scales three Vectors, adds the sum to a fourth vector.

◆ VecScaleAppend() [4/4]

template<typename vector_t >
void ug::VecScaleAppend ( vector_t &  vOut,
typename vector_t::value_type  s1,
const vector_t &  v1,
typename vector_t::value_type  s2,
const vector_t &  v2,
typename vector_t::value_type  s3,
const vector_t &  v3,
typename vector_t::value_type  s4,
const vector_t &  v4 
)
inline

Scales four Vectors, adds them and adds the sum to a fifth vector.

Scales four Vectors, adds the sum to a fifth vector.

◆ VecSet()

template<typename vector_t >
void ug::VecSet ( vector_t &  vInOut,
typename vector_t::value_type  s 
)
inline

Set each vector component to scalar (componentwise)

Set each vector component to scalar.

References s.

Referenced by ug::AABox< vector_t >::AABox(), ug::ntree< tree_dim, world_dim, TElem, TCommonData >::calculate_center_of_mass(), ug::Partitioner_DynamicBisection< TElem, dim >::calculate_global_dimensions(), ug::CalculateBarycenter(), ug::CalculateBoundaryVertexNormal2D(), ug::CalculateBoundaryVertexNormal3D(), ug::CalculateBoundingBox(), ug::CalculateCenter(), ug::CalculateConstrainedSmoothVolumePosInTopLevel(), ug::CalculateCreaseNormal(), ug::CalculateOuterNormal(), ug::CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme(), ug::CalculateSmoothManifoldPosInParentLevelButterflyScheme(), ug::CalculateSmoothManifoldPosInParentLevelLoopScheme(), ug::CalculateSmoothManifoldPosInTopLevelAveragingScheme(), ug::CalculateSmoothVolumePosInTopLevel(), ug::ClusterElementStacks< elem_t, vector_t >::ClusterElementStacks(), ug::StdLinConsistentGravity< refDim >::compute(), ug::StdLinConsistentGravityX< refDim >::compute(), ug::ComputeGradientCrouzeixRaviart(), ug::ComputeGradientLagrange1(), ug::GridFunctionGradientData< TGridFunction >::eval_and_deriv(), ug::GradientDataExport< dim >::eval_and_deriv(), ug::GridFunctionGradientComponentData< TGridFunction >::eval_and_deriv(), ug::GradientEvaluator_LagrangeP1< TFunction >::evaluate(), ug::GlobalGridFunctionGradientData< TGridFunction >::evaluate(), ug::ExplicitGridFunctionGradient< TGridFunction >::evaluate(), ug::GlobalGridFunctionNumberData< TGridFunction, elemDim >::evaluate(), ug::L2DistIntegrand< TGridFunction >::evaluate(), ug::H1SemiDistIntegrand< TGridFunction >::evaluate(), ug::H1EnergyDistIntegrand< TGridFunction >::evaluate(), ug::H1DistIntegrand< TGridFunction >::evaluate(), ug::H1ErrorIntegrand< TGridFunction >::evaluate(), ug::H1NormIntegrand< TGridFunction >::evaluate(), ug::UserDataDistIntegrandSq< TData, TGridFunction >::evaluate(), ug::bridge::Evaluate::NumberValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::evaluateOnThisProcess(), ug::PiecewiseConstantLSFS< TRefElem >::grad(), ug::IntegrateNormalComponentOnManifold(), ug::IntegrateNormalGradientOnManifold(), ug::LaplacianSmooth(), ug::MarkForAdaption_GradientAverage(), ug::StdLinConsistentGravity< refDim >::prepare_edge(), ug::StdLinConsistentGravity< refDim >::prepare_quadrilateral(), ug::StdLinConsistentGravity< refDim >::prepare_triangle(), ug::ProjectVerticesToCloseEdges(), ug::ProjectVerticesToCloseFaces(), ug::ProlongateElemwise(), ug::SubdivisionProjector::refinement_begins(), ug::RestrictElemwise(), ug::ConvectionShapesNoUpwind< TDim >::update(), ug::ConvectionShapesFullUpwind< TDim >::update(), ug::ConvectionShapesWeightedUpwind< TDim >::update(), ug::ConvectionShapesPartialUpwind< TDim >::update(), ug::FetiLayouts< TAlgebra >::vec_set_on_dual(), ug::FetiLayouts< TAlgebra >::vec_set_on_primal(), ug::Traverser_RayElementIntersection< tree_t >::visit_up(), ug::WeightedEdgeSmooth(), ug::WeightedFaceSmooth(), and ug::WeightedNormalSmooth().

◆ VecSubtract() [1/2]

template<typename vector_t >
void ug::VecSubtract ( vector_t &  vOut,
const vector_t &  v,
typename vector_t::value_type  s 
)
inline

Subtract a scalar from a vector (componentwise)

References s.

◆ VecSubtract() [2/2]

template<typename vector_t >
void ug::VecSubtract ( vector_t &  vOut,
const vector_t &  v1,
const vector_t &  v2 
)
inline

subtracts v2 from v1 and stores the result in a vOut

Referenced by ug::FV1IBGeometry< TElem, TWorldDim >::adapt(), ug::DimFV1IBGeometry< TDim, TWorldDim >::adapt(), ug::AdaptSurfaceGridToCylinder(), ug::NeuriteProjector::average_params(), ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::box_diagonal(), ug::bp_defect_and_gradient(), ug::bp_newton_start_pos(), ug::CalculateAngles(), ug::CalculateCreaseNormal(), ug::CalculateHexahedronAspectRatio(), ug::CalculateMaxAngle(), ug::CalculateMaxDihedral(), ug::CalculateMinAngle(), ug::CalculateMinDihedral(), ug::CalculateMinTriangleHeight(), ug::CalculateNormal(), ug::CalculateNormalNoNormalize(), ug::CalculateOctahedronVolume(), ug::CalculateOuterNormal(), ug::CalculatePolychainEdgeNormals(), ug::CalculatePyramidVolume(), ug::CalculateTetrahedronVolume(), ug::CalculateTriangleNormalNoNormalize(), ug::CheckOrientation(), ug::DelaunayInfo< TAAPos >::classify_face(), ug::ComputeElementExtensionsSq(), ug::ContainsPoint(), ug::FVPointSourceOrSink< dim, TData >::corresponds_to(), ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), ug::CutEdgesWithPlane(), ug::DelaunayLineLineIntersection(), ug::DistancePointToTriangle(), ug::DropAPerpendicular(), ug::EdgeOrientation< TDomain >::elem_evaluate(), ug::ElementNormal< ReferenceEdge, 3 >(), ug::ElementNormal< ReferenceQuadrilateral, 3 >(), ug::ElementNormal< ReferenceTriangle, 3 >(), ug::ElementSize< ReferenceHexahedron, 3 >(), ug::ElementSize< ReferenceOctahedron, 3 >(), ug::ElementSize< ReferencePrism, 3 >(), ug::ElementSize< ReferencePyramid, 3 >(), ug::ElementSize< ReferenceQuadrilateral, 3 >(), ug::ElementSize< ReferenceTetrahedron, 3 >(), ug::ElementSize< ReferenceTriangle, 3 >(), ug::DarcyVelocityLinker< dim >::eval_and_deriv(), ug::DarcyVelocityLinker< dim >::evaluate(), ug::AABox< vector_t >::extension(), ug::ExtrudeLayers(), ug::FaceQuality(), ug::FindNormal(), ug::BaseReferenceMapping< dim, worldDim, isLinear, TImpl >::global_to_local(), ug::lg_ntree_traits_base< tree_dim, world_dim, elem_t_, common_data_t_ >::grow_box(), ug::node_tree::GrowBox(), ug::IdentifySubsets(), ug::DelaunayInfo< TAAPos >::init_marks(), ug::IntersectCoplanarTriangles(), ug::IntersectPlaneWithTetrahedron(), ug::DelaunayInfo< TAAPos >::is_classifiable(), ug::NeuriteProjector::IsElementInsideSphere(), ug::LaplacianSmooth(), ug::LineBoxIntersection(), ug::LineLineIntersection2d(), ug::LineLineProjection(), ug::LineSphereIntersection(), ug::MarkAnisotropicOnlyX(), ug::MarkCorners(), ug::MarkForRefinement_AnisotropicDirection(), ug::MarkForRefinementByDirection(), ug::ParallelShiftIdentifier< TPosAA >::match_impl(), ug::MultiEdgeSplit(), ug::CylinderCutProjector::new_vertex(), ug::PlaneCutProjector::new_vertex(), ug::fv1_traits< ReferenceEdge, 2 >::NormalOnSCVF(), ug::fv1_traits< ReferenceEdge, 3 >::NormalOnSCVF(), ug::OrderDownwindForDofDist(), ug::AABox< ug::MathVector< dim > >::overlaps_line(), ug::CylinderProjector::perform_projection(), ug::SomaProjector::perform_projection(), ug::SphereProjector::perform_projection(), ug::PointFaceTest(), ug::PointIsInsideQuadrilateral(), ug::PointIsInsideTetrahedron(), ug::PointIsInsideTriangle(), ug::pos_in_bp(), ug::pos_on_surface_tip(), ug::StdLinConsistentGravityX< refDim >::prepare_simplex(), ug::SomaProjector::project_to_soma_surface(), ug::ProjectPointToLine(), ug::ProjectPointToPlane(), ug::ProjectPointToRay(), ug::ProjectVerticesToSphere(), ug::QualityGridGeneration(), ug::RayCylinderIntersection(), ug::RayLineIntersection2d(), ug::RayPlaneIntersection(), ug::RayRayIntersection2d(), ug::RayRayProjection(), ug::ResolveEdgeFaceIntersection(), ug::EllipticCylinderProjector::scale_point_to_radius(), ug::SelectEdgesByDirection(), ug::SelectKinkVertices(), ug::SelectSmoothEdgePath(), ug::SelectSubsetEdgesByDirection(), ug::SetLagrangeFaceMultiIndex(), ug::SimplifyPolylines(), ug::SideAndElemErrEstData< TDomain >::summarize_err_est_data(), ug::TangentialSmooth(), ug::TransformPointSetTo2D(), ug::TriangleArea(), ug::TriangleBoxIntersection(), ug::TriangleCircumcenter(), ug::TriangleFill(), ug::TriangleFill_SweepLine(), ug::TriangleQuality(), ug::TrySwap(), ug::ReferenceMapping< ReferenceEdge, TWorldDim >::update(), ug::ReferenceMapping< ReferenceTriangle, TWorldDim >::update(), ug::ReferenceMapping< ReferenceTetrahedron, TWorldDim >::update(), ug::HFV1Geometry< TElem, TWorldDim >::update(), ug::DimHFV1Geometry< TDim, TWorldDim >::update(), ug::UpdateChainInfo(), ug::VecDistanceSq(), ug::WeightedEdgeSmooth(), and ug::WeightedFaceSmooth().

◆ VecTwoNorm()

◆ VecTwoNormSq()

template<typename vector_t >
vector_t::value_type ug::VecTwoNormSq ( const vector_t &  v)
inline

◆ write_plain_txt() [1/4]

UG_API std::ostream & ug::write_plain_txt ( std::ostream &  outStream,
const ug::MathVector< 1 > &  v 
)

plain text output of MathVector objects: space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ write_plain_txt() [2/4]

UG_API std::ostream & ug::write_plain_txt ( std::ostream &  outStream,
const ug::MathVector< 2 > &  v 
)

plain text output of MathVector objects: space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ write_plain_txt() [3/4]

UG_API std::ostream & ug::write_plain_txt ( std::ostream &  outStream,
const ug::MathVector< 3 > &  v 
)

plain text output of MathVector objects: space-separated coordinates

References ug::MathVector< N, T >::coord().

◆ write_plain_txt() [4/4]

UG_API std::ostream & ug::write_plain_txt ( std::ostream &  outStream,
const ug::MathVector< 4 > &  v 
)

plain text output of MathVector objects: space-separated coordinates

References ug::MathVector< N, T >::coord().