Blender V5.0
Freestyle::VecMat::Vec< T, N > Class Template Reference

#include <VecMat.h>

Inherited by Freestyle::VecMat::HVec3< uint >, Freestyle::VecMat::HVec3< int >, Freestyle::VecMat::HVec3< float >, Freestyle::VecMat::HVec3< double >, Freestyle::VecMat::HVec3< real >, Freestyle::VecMat::Vec2< uint >, Freestyle::VecMat::Vec2< int >, Freestyle::VecMat::Vec2< float >, Freestyle::VecMat::Vec2< double >, Freestyle::VecMat::Vec2< real >, Freestyle::VecMat::Vec3< uint >, Freestyle::VecMat::Vec3< int >, Freestyle::VecMat::Vec3< float >, Freestyle::VecMat::Vec3< double >, and Freestyle::VecMat::Vec3< real >.

Public Types

typedef T value_type

Public Member Functions

 Vec ()
 ~Vec ()
template<class U>
 Vec (const U tab[N])
template<class U>
 Vec (const std::vector< U > &tab)
template<class U>
 Vec (const Vec< U, N > &v)
value_type operator[] (const uint i) const
value_typeoperator[] (const uint i)
value_type norm () const
value_type squareNorm () const
Vec< T, N > & normalize ()
Vec< T, N > & normalizeSafe ()
Vec< T, Noperator+ (const Vec< T, N > &v) const
Vec< T, Noperator- (const Vec< T, N > &v) const
Vec< T, Noperator* (const typename Vec< T, N >::value_type r) const
Vec< T, Noperator/ (const typename Vec< T, N >::value_type r) const
value_type operator* (const Vec< T, N > &v) const
template<class U>
Vec< T, N > & operator= (const Vec< U, N > &v)
template<class U>
Vec< T, N > & operator+= (const Vec< U, N > &v) &
template<class U>
Vec< T, N > & operator-= (const Vec< U, N > &v) &
template<class U>
Vec< T, N > & operator*= (const U r) &
template<class U>
Vec< T, N > & operator/= (const U r) &
bool operator== (const Vec< T, N > &v) const
bool operator!= (const Vec< T, N > &v) const
bool operator< (const Vec< T, N > &v) const
bool operator> (const Vec< T, N > &v) const

Static Public Member Functions

static uint dim ()

Protected Types

enum  { _dim = N }

Protected Attributes

value_type _coord [N]

Detailed Description

template<class T, uint N>
class Freestyle::VecMat::Vec< T, N >

Definition at line 37 of file VecMat.h.

Member Typedef Documentation

◆ value_type

template<class T, uint N>
typedef T Freestyle::VecMat::Vec< T, N >::value_type

Definition at line 39 of file VecMat.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T, uint N>
anonymous enum
protected
Enumerator
_dim 

Definition at line 261 of file VecMat.h.

Constructor & Destructor Documentation

◆ Vec() [1/4]

◆ ~Vec()

template<class T, uint N>
Freestyle::VecMat::Vec< T, N >::~Vec ( )
inline

Definition at line 49 of file VecMat.h.

◆ Vec() [2/4]

template<class T, uint N>
template<class U>
Freestyle::VecMat::Vec< T, N >::Vec ( const U tab[N])
inlineexplicit

Definition at line 54 of file VecMat.h.

◆ Vec() [3/4]

template<class T, uint N>
template<class U>
Freestyle::VecMat::Vec< T, N >::Vec ( const std::vector< U > & tab)
inlineexplicit

Definition at line 61 of file VecMat.h.

◆ Vec() [4/4]

template<class T, uint N>
template<class U>
Freestyle::VecMat::Vec< T, N >::Vec ( const Vec< U, N > & v)
inlineexplicit

Definition at line 68 of file VecMat.h.

Member Function Documentation

◆ dim()

template<class T, uint N>
uint Freestyle::VecMat::Vec< T, N >::dim ( )
inlinestatic

Definition at line 86 of file VecMat.h.

◆ norm()

template<class T, uint N>
value_type Freestyle::VecMat::Vec< T, N >::norm ( ) const
inline

Definition at line 92 of file VecMat.h.

Referenced by Freestyle::OGF::NormalCycle::accumulate_dihedral_angle(), Freestyle::SteerableViewMap::AddFEdge(), Freestyle::Grid::castInfiniteRay(), Freestyle::Grid::castRayToFindFirstIntersection(), Freestyle::Strip::cleanUpSingularities(), Freestyle::Smoother::computeCurvature(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::Strip::computeTexCoordWithTips(), Freestyle::computeVisibility(), Freestyle::Strip::createStrip(), Freestyle::createStroke(), Freestyle::CurveInternal::__point_iterator< CurveInternal::CurvePoint_nonconst_traits >::decrement(), Freestyle::CurveInternal::CurvePointIterator::decrement(), Freestyle::ViewEdge::getLength2D(), Freestyle::SteerableViewMap::getSVMNumber(), Freestyle::gts_vertex_principal_directions(), Freestyle::CurveInternal::__point_iterator< CurveInternal::CurvePoint_nonconst_traits >::increment(), Freestyle::CurveInternal::CurvePointIterator::increment(), Freestyle::BlenderFileLoader::insertShapeNode(), Freestyle::Smoother::iteration(), Freestyle::WShape::MakeFace(), Freestyle::VecMat::value_type< T, 2 >::normalize(), Freestyle::VecMat::value_type< T, 2 >::normalizeSafe(), Freestyle::Functions0D::Curvature2DAngleF0D::operator()(), Freestyle::Functions0D::GetViewMapGradientNormF0D::operator()(), Freestyle::Functions0D::VertexOrientation2DF0D::operator()(), Freestyle::Functions0D::VertexOrientation3DF0D::operator()(), Freestyle::FEdgeXDetector::preProcessFace(), Freestyle::FEdgeXDetector::ProcessSilhouetteFace(), Freestyle::Curve::push_vertex_back(), Freestyle::Curve::push_vertex_back(), Freestyle::Curve::push_vertex_front(), Freestyle::Curve::push_vertex_front(), Freestyle::Stroke::Resample(), Freestyle::Stroke::Resample(), Freestyle::Smoother::Smoother(), and Freestyle::FEdge::z_discontinuity().

◆ normalize()

◆ normalizeSafe()

◆ operator!=()

template<class T, uint N>
bool Freestyle::VecMat::Vec< T, N >::operator!= ( const Vec< T, N > & v) const
inline

Definition at line 217 of file VecMat.h.

◆ operator*() [1/2]

template<class T, uint N>
Vec< T, N > Freestyle::VecMat::Vec< T, N >::operator* ( const typename Vec< T, N >::value_type r) const
inline

Definition at line 137 of file VecMat.h.

◆ operator*() [2/2]

template<class T, uint N>
value_type Freestyle::VecMat::Vec< T, N >::operator* ( const Vec< T, N > & v) const
inline

Definition at line 154 of file VecMat.h.

◆ operator*=()

template<class T, uint N>
template<class U>
Vec< T, N > & Freestyle::VecMat::Vec< T, N >::operator*= ( const U r) &
inline

Definition at line 189 of file VecMat.h.

◆ operator+()

template<class T, uint N>
Vec< T, N > Freestyle::VecMat::Vec< T, N >::operator+ ( const Vec< T, N > & v) const
inline

Definition at line 123 of file VecMat.h.

◆ operator+=()

template<class T, uint N>
template<class U>
Vec< T, N > & Freestyle::VecMat::Vec< T, N >::operator+= ( const Vec< U, N > & v) &
inline

Definition at line 173 of file VecMat.h.

◆ operator-()

template<class T, uint N>
Vec< T, N > Freestyle::VecMat::Vec< T, N >::operator- ( const Vec< T, N > & v) const
inline

Definition at line 130 of file VecMat.h.

◆ operator-=()

template<class T, uint N>
template<class U>
Vec< T, N > & Freestyle::VecMat::Vec< T, N >::operator-= ( const Vec< U, N > & v) &
inline

Definition at line 181 of file VecMat.h.

◆ operator/()

template<class T, uint N>
Vec< T, N > Freestyle::VecMat::Vec< T, N >::operator/ ( const typename Vec< T, N >::value_type r) const
inline

Definition at line 144 of file VecMat.h.

◆ operator/=()

template<class T, uint N>
template<class U>
Vec< T, N > & Freestyle::VecMat::Vec< T, N >::operator/= ( const U r) &
inline

Definition at line 197 of file VecMat.h.

◆ operator<()

template<class T, uint N>
bool Freestyle::VecMat::Vec< T, N >::operator< ( const Vec< T, N > & v) const
inline

Definition at line 227 of file VecMat.h.

◆ operator=()

template<class T, uint N>
template<class U>
Vec< T, N > & Freestyle::VecMat::Vec< T, N >::operator= ( const Vec< U, N > & v)
inline

Definition at line 163 of file VecMat.h.

◆ operator==()

template<class T, uint N>
bool Freestyle::VecMat::Vec< T, N >::operator== ( const Vec< T, N > & v) const
inline

Definition at line 207 of file VecMat.h.

◆ operator>()

template<class T, uint N>
bool Freestyle::VecMat::Vec< T, N >::operator> ( const Vec< T, N > & v) const
inline

Definition at line 243 of file VecMat.h.

◆ operator[]() [1/2]

template<class T, uint N>
value_type & Freestyle::VecMat::Vec< T, N >::operator[] ( const uint i)
inline

Definition at line 81 of file VecMat.h.

◆ operator[]() [2/2]

template<class T, uint N>
value_type Freestyle::VecMat::Vec< T, N >::operator[] ( const uint i) const
inline

Definition at line 76 of file VecMat.h.

◆ squareNorm()

Member Data Documentation

◆ _coord


The documentation for this class was generated from the following file: