Blender V4.3
Freestyle::VecMat::Vec< T, N > Class Template Reference

#include <VecMat.h>

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 39 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 41 of file VecMat.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 263 of file VecMat.h.

Constructor & Destructor Documentation

◆ Vec() [1/4]

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

Definition at line 44 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, and N.

◆ ~Vec()

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

Definition at line 51 of file VecMat.h.

References N.

◆ 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 56 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and T.

◆ 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 63 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and T.

◆ 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 70 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, T, and v.

Member Function Documentation

◆ dim()

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

Definition at line 88 of file VecMat.h.

References N.

◆ norm()

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

Definition at line 94 of file VecMat.h.

References sqrt(), and Freestyle::VecMat::Vec< T, N >::squareNorm().

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< Traits >::decrement(), Freestyle::CurveInternal::CurvePointIterator::decrement(), Freestyle::firstIntersectionGridVisitor::examineOccluder(), Freestyle::ViewEdge::getLength2D(), Freestyle::SteerableViewMap::getSVMNumber(), Freestyle::gts_vertex_principal_directions(), Freestyle::CurveInternal::__point_iterator< Traits >::increment(), Freestyle::CurveInternal::CurvePointIterator::increment(), Freestyle::Grid::initRay(), Freestyle::BlenderFileLoader::insertShapeNode(), Freestyle::Smoother::iteration(), Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::VecMat::Vec< T, N >::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::WOEdge::setVecAndAngle(), 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 219 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and v.

◆ 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 139 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 156 of file VecMat.h.

References N, sum(), and v.

◆ 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 191 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, and N.

◆ 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 125 of file VecMat.h.

References v.

◆ 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 175 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, T, and v.

◆ 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 132 of file VecMat.h.

References v.

◆ 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 183 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, T, and v.

◆ 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 146 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 199 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, and N.

◆ operator<()

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

Definition at line 229 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and v.

◆ 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 165 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, T, and v.

◆ operator==()

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

Definition at line 209 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and v.

◆ operator>()

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

Definition at line 245 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord, N, and v.

◆ operator[]() [1/2]

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

Definition at line 83 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord.

◆ operator[]() [2/2]

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

Definition at line 78 of file VecMat.h.

References Freestyle::VecMat::Vec< T, N >::_coord.

◆ squareNorm()

Member Data Documentation

◆ _coord


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