# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Types | Public Member Functions | Static Public Attributes | Protected Attributes

# vl::Vector3< T_Scalar > Class Template Reference

The Vector3 class is a template class that implements a generic 3 components vector, see also vl::fvec3, vl::dvec3, vl::uvec3, vl::ivec3, vl::svec3, vl::usvec3, vl::bvec3, vl::ubvec3. More...

`#include <Vector3.hpp>`

List of all members.

## Public Types

typedef T_Scalar | scalar_type

## Public Member Functions

| Vector3 (const Vector3 &other)
| Vector3 ()
template<class T >
| Vector3 (const T &other)
| Vector3 (T_Scalar x, T_Scalar y, T_Scalar z)
| Vector3 (const Vector2< T_Scalar > &v, T_Scalar z)
T_Scalar * | ptr ()
const T_Scalar * | ptr () const
const T_Scalar & | x () const
const T_Scalar & | y () const
const T_Scalar & | z () const
T_Scalar & | x ()
T_Scalar & | y ()
T_Scalar & | z ()
const T_Scalar & | r () const
const T_Scalar & | g () const
const T_Scalar & | b () const
T_Scalar & | r ()
T_Scalar & | g ()
T_Scalar & | b ()
const T_Scalar & | s () const
const T_Scalar & | t () const
const T_Scalar & | p () const
T_Scalar & | s ()
T_Scalar & | t ()
T_Scalar & | p ()
Vector2< T_Scalar > | xy () const
Vector2< T_Scalar > | st () const
Vector3 | operator+ (const Vector3 &other) const
Vector3 | operator- (const Vector3 &other) const
Vector3 | operator* (const Vector3 &other) const
Vector3 | operator/ (const Vector3 &other) const
Vector3 | operator+ (T_Scalar val) const
Vector3 | operator- (T_Scalar val) const
Vector3 | operator* (T_Scalar val) const
Vector3 | operator/ (T_Scalar val) const
Vector3 | operator- () const
Vector3 & | operator+= (const Vector3 &other)
Vector3 & | operator-= (const Vector3 &other)
Vector3 & | operator*= (const Vector3 &other)
Vector3 & | operator/= (const Vector3 &other)
Vector3 & | operator+= (T_Scalar val)
Vector3 & | operator-= (T_Scalar val)
Vector3 & | operator*= (T_Scalar val)
Vector3 & | operator/= (T_Scalar val)
Vector3 & | operator= (const Vector3 &other)
Vector3 & | operator= (T_Scalar val)
bool | operator== (const Vector3 &other) const
bool | operator!= (const Vector3 &other) const
bool | operator< (const Vector3 &other) const
T_Scalar & | operator[] (unsigned i)
const T_Scalar & | operator[] (unsigned i) const
T_Scalar | length () const
T_Scalar | lengthSquared () const
bool | isNull () const
const Vector3 & | normalize (T_Scalar *len=NULL)
template<>
half | length () const
template<>
half | lengthSquared () const

## Static Public Attributes

static const int | scalar_count = 3

## Protected Attributes

T_Scalar | mScalar [scalar_count]

## Detailed Description

### template<typename T_Scalar>
class vl::Vector3< T_Scalar >

The Vector3 class is a template class that implements a generic 3 components vector, see also vl::fvec3, vl::dvec3, vl::uvec3, vl::ivec3, vl::svec3, vl::usvec3, vl::bvec3, vl::ubvec3.

See also:
  Vector4, Vector2, Matrix4, Matrix3, Matrix2

Definition at line 44 of file Vector3.hpp.

## Member Typedef Documentation

template<typename T_Scalar>

typedef T_Scalar vl::Vector3< T_Scalar >::scalar_type

Definition at line 47 of file Vector3.hpp.

## Constructor & Destructor Documentation

template<typename T_Scalar>

vl::Vector3< T_Scalar >::Vector3 | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 49 of file Vector3.hpp.

template<typename T_Scalar>

vl::Vector3< T_Scalar >::Vector3 | ( | ) | `[inline]`

Definition at line 50 of file Vector3.hpp.

Referenced by vl::Vector3< int >::operator*(), vl::Vector3< int >::operator+(), vl::Vector3< int >::operator-(), and vl::Vector3< int >::operator/().

template<typename T_Scalar>
template<class T >

vl::Vector3< T_Scalar >::Vector3 | ( | const T & | other ) | `[inline, explicit]`

Definition at line 53 of file Vector3.hpp.

template<typename T_Scalar>

vl::Vector3< T_Scalar >::Vector3 | ( | T_Scalar | x,
|  | T_Scalar | y,
|  | T_Scalar | z
| ) |  | `[inline, explicit]`

Definition at line 60 of file Vector3.hpp.

template<typename T_Scalar>

vl::Vector3< T_Scalar >::Vector3 | ( | const Vector2< T_Scalar > & | v,
|  | T_Scalar | z
| ) |  | `[inline, explicit]`

Definition at line 67 of file Vector3.hpp.

## Member Function Documentation

template<typename T_Scalar>

T_Scalar* vl::Vector3< T_Scalar >::ptr | ( | ) | `[inline]`

Definition at line 74 of file Vector3.hpp.

Referenced by vl::PointParameter::apply(), vl::Light::apply(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::computeBoundingBox(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::computeBoundingSphere(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::getAsVec3(), vl::Uniform::getUniform(), vl::GLSLProgram::getUniform(), vl::Text::render_Implementation(), and vl::Uniform::setUniform().

template<typename T_Scalar>

const T_Scalar* vl::Vector3< T_Scalar >::ptr | ( | ) | const`[inline]`

Definition at line 75 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::x | ( | ) | const`[inline]`

Definition at line 77 of file Vector3.hpp.

Referenced by vl::AABB::AABB(), vl::abs(), vl::acos(), vl::acosh(), vl::AABB::addPoint(), vl::all(), vl::any(), vl::Normal::apply(), vl::ClipPlane::apply(), vl::asin(), vl::asinh(), vl::atan(), vl::atanh(), vl::OpenGLContext::bindVAS(), vl::Text::boundingRect(), vl::CoreText::boundingRect(), vl::Text::boundingRectTransformed(), vl::ceil(), vl::Plane::classify(), vl::AABB::clip(), vl::Volume::computeAverage(), vl::MarchingCubes::computeEdges(), vl::Volume::computeMaximum(), vl::Volume::computeMinimum(), vl::Geometry::computeTangentSpace(), vl::TrackballManipulator::computeVector(), vl::cos(), vl::cosh(), vl::cross(), vl::Volume::cube(), vl::degrees(), vl::dot(), vl::Volume::downsample(), vl::equal(), vl::PolygonSimplifier::QErr::evaluate(), vl::PixelLODEvaluator::evaluate(), vl::VolumePlot::evaluateFunction(), vl::exp(), vl::exp2(), vl::floor(), vl::SlicedVolume::generateTextureCoordinates(), vl::RaycastVolume::generateTextureCoordinates(), vl::genGradientNormals(), vl::Matrix4< T_Scalar >::getLookAt(), vl::Matrix4< T_Scalar >::getLookAtModeling(), vl::PlyLoader::PlyElement::getNormal(), vl::Matrix4< T_Scalar >::getRotation(), vl::Matrix4< float >::getRotation(), vl::Matrix4< float >::getScaling(), vl::Matrix4< float >::getTranslation(), vl::PlyLoader::PlyElement::getVertex(), vl::greaterThan(), vl::greaterThanEqual(), vl::AABB::intersects(), vl::inversesqrt(), vl::isinf(), vl::AABB::isInside(), vl::isnan(), vl::Vector3< int >::isNull(), vl::Plane::isOutside(), vl::Vector3< int >::length(), vl::Vector3< int >::lengthSquared(), vl::lessThan(), vl::lessThanEqual(), vl::STLLoader::loadAscii(), vl::STLLoader::loadBinary(), vl::loadMD2(), vl::log(), vl::log10(), vl::log2(), vl::makeBox(), vl::max(), vl::min(), vl::mix(), vl::modf(), vl::Volume::normalHQ(), vl::Volume::normalLQ(), vl::notEqual(), vl::Vector3< int >::operator*(), vl::operator*(), vl::Vector3< int >::operator+(), vl::Vector3< int >::operator-(), vl::Vector3< int >::operator/(), vl::A3DSVertex::operator<(), vl::Vector3< int >::operator<(), vl::Vector3< int >::operator=(), vl::Vector3< int >::operator==(), vl::pow(), vl::MarchingCubes::processCube(), vl::PolygonSimplifier::QErr::QErr(), vl::radians(), vl::Text::rawboundingRect(), vl::CoreText::rawboundingRect(), vl::A3DSLoader::readVec3(), vl::OcclusionCullRenderer::render_pass2(), vl::CoreText::renderBackground(), vl::CoreText::renderBorder(), vl::Text::renderText(), vl::CoreText::renderText(), vl::Matrix4< float >::rotate(), vl::round(), vl::roundEven(), vl::Volume::sampleNearest(), vl::Volume::sampleSmooth(), vl::Matrix4< float >::scale(), vl::RaycastVolume::setBox(), vl::Quaternion< T_Scalar >::setFromAxisAngle(), vl::Matrix4< float >::setT(), vl::Volume::setup(), vl::Volume::setupInternalData(), vl::VolumePlot::setupLabels(), vl::Matrix4< float >::setX(), vl::Matrix4< float >::setY(), vl::Matrix4< float >::setZ(), vl::sign(), vl::sin(), vl::sinh(), vl::smoothstep(), vl::sqrt(), vl::Vector3< int >::st(), vl::step(), vl::tan(), vl::tanh(), vl::Tessellator::tessCombineData(), vl::Quaternion< T_Scalar >::toAxisAngle(), vl::trunc(), vl::Camera::unproject(), vl::GhostCameraManipulator::updateEvent(), vl::Vector3< int >::Vector3(), vl::Vector4< unsigned int >::Vector4(), vl::vlx_mat4(), vl::vlx_toValue(), vl::AABB::width(), and vl::Vector3< int >::xy().

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::y | ( | ) | const`[inline]`

Definition at line 78 of file Vector3.hpp.

Referenced by vl::AABB::AABB(), vl::abs(), vl::acos(), vl::acosh(), vl::AABB::addPoint(), vl::all(), vl::any(), vl::Normal::apply(), vl::ClipPlane::apply(), vl::asin(), vl::asinh(), vl::atan(), vl::atanh(), vl::OpenGLContext::bindVAS(), vl::Text::boundingRect(), vl::CoreText::boundingRect(), vl::Text::boundingRectTransformed(), vl::ceil(), vl::Plane::classify(), vl::AABB::clip(), vl::Volume::computeAverage(), vl::MarchingCubes::computeEdges(), vl::Volume::computeMaximum(), vl::Volume::computeMinimum(), vl::Geometry::computeTangentSpace(), vl::TrackballManipulator::computeVector(), vl::cos(), vl::cosh(), vl::cross(), vl::Volume::cube(), vl::degrees(), vl::dot(), vl::Volume::downsample(), vl::equal(), vl::PolygonSimplifier::QErr::evaluate(), vl::PixelLODEvaluator::evaluate(), vl::VolumePlot::evaluateFunction(), vl::exp(), vl::exp2(), vl::floor(), vl::SlicedVolume::generateTextureCoordinates(), vl::RaycastVolume::generateTextureCoordinates(), vl::genGradientNormals(), vl::Matrix4< T_Scalar >::getLookAt(), vl::Matrix4< T_Scalar >::getLookAtModeling(), vl::PlyLoader::PlyElement::getNormal(), vl::Matrix4< T_Scalar >::getRotation(), vl::Matrix4< float >::getRotation(), vl::Matrix4< float >::getScaling(), vl::Matrix4< float >::getTranslation(), vl::PlyLoader::PlyElement::getVertex(), vl::greaterThan(), vl::greaterThanEqual(), vl::AABB::height(), vl::inversesqrt(), vl::isinf(), vl::AABB::isInside(), vl::isnan(), vl::Vector3< int >::isNull(), vl::Plane::isOutside(), vl::Vector3< int >::length(), vl::Vector3< int >::lengthSquared(), vl::lessThan(), vl::lessThanEqual(), vl::STLLoader::loadAscii(), vl::STLLoader::loadBinary(), vl::loadMD2(), vl::log(), vl::log10(), vl::log2(), vl::makeBox(), vl::max(), vl::min(), vl::mix(), vl::modf(), vl::Volume::normalHQ(), vl::Volume::normalLQ(), vl::notEqual(), vl::Vector3< int >::operator*(), vl::operator*(), vl::Vector3< int >::operator+(), vl::Vector3< int >::operator-(), vl::Vector3< int >::operator/(), vl::A3DSVertex::operator<(), vl::Vector3< int >::operator<(), vl::Vector3< int >::operator=(), vl::Vector3< int >::operator==(), vl::pow(), vl::MarchingCubes::processCube(), vl::PolygonSimplifier::QErr::QErr(), vl::radians(), vl::Text::rawboundingRect(), vl::CoreText::rawboundingRect(), vl::A3DSLoader::readVec3(), vl::OcclusionCullRenderer::render_pass2(), vl::CoreText::renderBackground(), vl::CoreText::renderBorder(), vl::Text::renderText(), vl::CoreText::renderText(), vl::Matrix4< float >::rotate(), vl::round(), vl::roundEven(), vl::Volume::sampleNearest(), vl::Volume::sampleSmooth(), vl::Matrix4< float >::scale(), vl::RaycastVolume::setBox(), vl::Quaternion< T_Scalar >::setFromAxisAngle(), vl::Matrix4< float >::setT(), vl::Volume::setup(), vl::Volume::setupInternalData(), vl::VolumePlot::setupLabels(), vl::Matrix4< float >::setX(), vl::Matrix4< float >::setY(), vl::Matrix4< float >::setZ(), vl::sign(), vl::sin(), vl::sinh(), vl::smoothstep(), vl::sqrt(), vl::Vector3< int >::st(), vl::step(), vl::tan(), vl::tanh(), vl::Tessellator::tessCombineData(), vl::Quaternion< T_Scalar >::toAxisAngle(), vl::trunc(), vl::Camera::unproject(), vl::GhostCameraManipulator::updateEvent(), vl::Vector3< int >::Vector3(), vl::Vector4< unsigned int >::Vector4(), vl::vlx_mat4(), vl::vlx_toValue(), and vl::Vector3< int >::xy().

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::z | ( | ) | const`[inline]`

Definition at line 79 of file Vector3.hpp.

Referenced by vl::AABB::AABB(), vl::abs(), vl::acos(), vl::acosh(), vl::AABB::addPoint(), vl::all(), vl::any(), vl::Normal::apply(), vl::ClipPlane::apply(), vl::asin(), vl::asinh(), vl::atan(), vl::atanh(), vl::OpenGLContext::bindVAS(), vl::Text::boundingRectTransformed(), vl::ceil(), vl::Plane::classify(), vl::AABB::clip(), vl::Volume::computeAverage(), vl::MarchingCubes::computeEdges(), vl::Volume::computeMaximum(), vl::Volume::computeMinimum(), vl::Camera::computeNearFarOptimizedProjMatrix(), vl::Geometry::computeTangentSpace(), vl::TrackballManipulator::computeVector(), vl::cos(), vl::cosh(), vl::cross(), vl::degrees(), vl::AABB::depth(), vl::dot(), vl::Volume::downsample(), vl::equal(), vl::PolygonSimplifier::QErr::evaluate(), vl::PixelLODEvaluator::evaluate(), vl::VolumePlot::evaluateFunction(), vl::exp(), vl::exp2(), vl::floor(), vl::SlicedVolume::generateTextureCoordinates(), vl::RaycastVolume::generateTextureCoordinates(), vl::genGradientNormals(), vl::Matrix4< T_Scalar >::getLookAt(), vl::Matrix4< T_Scalar >::getLookAtModeling(), vl::PlyLoader::PlyElement::getNormal(), vl::Matrix4< T_Scalar >::getRotation(), vl::Matrix4< float >::getRotation(), vl::Matrix4< float >::getScaling(), vl::Matrix4< float >::getTranslation(), vl::PlyLoader::PlyElement::getVertex(), vl::greaterThan(), vl::greaterThanEqual(), vl::AABB::intersects(), vl::inversesqrt(), vl::isinf(), vl::AABB::isInside(), vl::isnan(), vl::Vector3< int >::isNull(), vl::Plane::isOutside(), vl::Vector3< int >::length(), vl::Vector3< int >::lengthSquared(), vl::lessThan(), vl::lessThanEqual(), vl::STLLoader::loadAscii(), vl::STLLoader::loadBinary(), vl::loadMD2(), vl::log(), vl::log10(), vl::log2(), vl::makeBox(), vl::max(), vl::min(), vl::mix(), vl::modf(), vl::Volume::normalHQ(), vl::Volume::normalLQ(), vl::notEqual(), vl::SlicedVolume::onActorRenderStarted(), vl::Vector3< int >::operator*(), vl::operator*(), vl::Vector3< int >::operator+(), vl::Vector3< int >::operator-(), vl::Vector3< int >::operator/(), vl::A3DSVertex::operator<(), vl::Vector3< int >::operator<(), vl::Vector3< int >::operator=(), vl::Vector3< int >::operator==(), vl::pow(), vl::PolygonSimplifier::QErr::QErr(), vl::radians(), vl::A3DSLoader::readVec3(), vl::OcclusionCullRenderer::render_pass2(), vl::CoreText::renderBackground(), vl::CoreText::renderBorder(), vl::Text::renderText(), vl::CoreText::renderText(), vl::Matrix4< float >::rotate(), vl::round(), vl::roundEven(), vl::Volume::sampleNearest(), vl::Volume::sampleSmooth(), vl::Matrix4< float >::scale(), vl::RaycastVolume::setBox(), vl::Quaternion< T_Scalar >::setFromAxisAngle(), vl::Matrix4< float >::setT(), vl::Volume::setup(), vl::Volume::setupInternalData(), vl::VolumePlot::setupLabels(), vl::Matrix4< float >::setX(), vl::Matrix4< float >::setY(), vl::Matrix4< float >::setZ(), vl::sign(), vl::sin(), vl::sinh(), vl::smoothstep(), vl::sqrt(), vl::step(), vl::tan(), vl::tanh(), vl::Tessellator::tessCombineData(), vl::Quaternion< T_Scalar >::toAxisAngle(), vl::trunc(), vl::Camera::unproject(), vl::GhostCameraManipulator::updateEvent(), vl::Vector3< int >::Vector3(), vl::Vector4< unsigned int >::Vector4(), vl::vlx_mat4(), and vl::vlx_toValue().

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::x | ( | ) | `[inline]`

Definition at line 81 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::y | ( | ) | `[inline]`

Definition at line 82 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::z | ( | ) | `[inline]`

Definition at line 83 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::r | ( | ) | const`[inline]`

Definition at line 85 of file Vector3.hpp.

Referenced by vl::SecondaryColor::apply(), vl::OpenGLContext::bindVAS(), vl::ObjLoader::loadObjMaterials(), vl::A3DSLoader::readColByte3(), vl::A3DSLoader::readColFloat3(), and vl::MarchingCubes::updateColor().

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::g | ( | ) | const`[inline]`

Definition at line 86 of file Vector3.hpp.

Referenced by vl::SecondaryColor::apply(), vl::OpenGLContext::bindVAS(), vl::ObjLoader::loadObjMaterials(), vl::A3DSLoader::readColByte3(), vl::A3DSLoader::readColFloat3(), and vl::MarchingCubes::updateColor().

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::b | ( | ) | const`[inline]`

Definition at line 87 of file Vector3.hpp.

Referenced by vl::SecondaryColor::apply(), vl::OpenGLContext::bindVAS(), vl::ObjLoader::loadObjMaterials(), vl::A3DSLoader::readColByte3(), vl::A3DSLoader::readColFloat3(), and vl::MarchingCubes::updateColor().

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::r | ( | ) | `[inline]`

Definition at line 89 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::g | ( | ) | `[inline]`

Definition at line 90 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::b | ( | ) | `[inline]`

Definition at line 91 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::s | ( | ) | const`[inline]`

Definition at line 93 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::t | ( | ) | const`[inline]`

Definition at line 94 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::p | ( | ) | const`[inline]`

Definition at line 95 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::s | ( | ) | `[inline]`

Definition at line 97 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::t | ( | ) | `[inline]`

Definition at line 98 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::p | ( | ) | `[inline]`

Definition at line 99 of file Vector3.hpp.

template<typename T_Scalar>

Vector2<T_Scalar> vl::Vector3< T_Scalar >::xy | ( | ) | const`[inline]`

Definition at line 101 of file Vector3.hpp.

template<typename T_Scalar>

Vector2<T_Scalar> vl::Vector3< T_Scalar >::st | ( | ) | const`[inline]`

Definition at line 102 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator+ | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 104 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator- | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 108 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator* | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 112 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator/ | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 116 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator+ | ( | T_Scalar | val ) | const`[inline]`

Definition at line 120 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator- | ( | T_Scalar | val ) | const`[inline]`

Definition at line 124 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator* | ( | T_Scalar | val ) | const`[inline]`

Definition at line 128 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator/ | ( | T_Scalar | val ) | const`[inline]`

Definition at line 132 of file Vector3.hpp.

template<typename T_Scalar>

Vector3 vl::Vector3< T_Scalar >::operator- | ( | ) | const`[inline]`

Definition at line 136 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator+= | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 140 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator-= | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 145 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator*= | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 150 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator/= | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 155 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator+= | ( | T_Scalar | val ) | `[inline]`

Definition at line 160 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator-= | ( | T_Scalar | val ) | `[inline]`

Definition at line 165 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator*= | ( | T_Scalar | val ) | `[inline]`

Definition at line 170 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator/= | ( | T_Scalar | val ) | `[inline]`

Definition at line 175 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator= | ( | const Vector3< T_Scalar > & | other ) | `[inline]`

Definition at line 180 of file Vector3.hpp.

template<typename T_Scalar>

Vector3& vl::Vector3< T_Scalar >::operator= | ( | T_Scalar | val ) | `[inline]`

Definition at line 187 of file Vector3.hpp.

template<typename T_Scalar>

bool vl::Vector3< T_Scalar >::operator== | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 192 of file Vector3.hpp.

Referenced by vl::Vector3< int >::operator!=().

template<typename T_Scalar>

bool vl::Vector3< T_Scalar >::operator!= | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 196 of file Vector3.hpp.

template<typename T_Scalar>

bool vl::Vector3< T_Scalar >::operator< | ( | const Vector3< T_Scalar > & | other ) | const`[inline]`

Definition at line 200 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar& vl::Vector3< T_Scalar >::operator[] | ( | unsigned | i ) | `[inline]`

Definition at line 210 of file Vector3.hpp.

template<typename T_Scalar>

const T_Scalar& vl::Vector3< T_Scalar >::operator[] | ( | unsigned | i ) | const`[inline]`

Definition at line 211 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar vl::Vector3< T_Scalar >::length | ( | ) | const`[inline]`

Definition at line 212 of file Vector3.hpp.

Referenced by vl::PolygonSimplifier::Triangle::computeArea(), vl::Geometry::computeNormals(), vl::PolygonSimplifier::Triangle::computePotentialArea(), vl::length(), vl::DaeLoader::load(), and vl::Vector3< int >::normalize().

template<typename T_Scalar>

T_Scalar vl::Vector3< T_Scalar >::lengthSquared | ( | ) | const`[inline]`

Definition at line 213 of file Vector3.hpp.

Referenced by vl::Geometry::computeBounds_Implementation().

template<typename T_Scalar>

bool vl::Vector3< T_Scalar >::isNull | ( | ) | const`[inline]`

Definition at line 214 of file Vector3.hpp.

Referenced by vl::EdgeExtractor::addEdge(), vl::EdgeExtractor::extractEdges(), vl::Sphere::operator+=(), and vl::MarchingCubes::processCube().

template<typename T_Scalar>

const Vector3& vl::Vector3< T_Scalar >::normalize | ( | T_Scalar * | len = `NULL` ) | `[inline]`

Definition at line 215 of file Vector3.hpp.

Referenced by vl::PolygonSimplifier::computeCollapseInfo(), vl::PolygonSimplifier::Vertex::computeEdgePenalty(), vl::Geometry::computeNormals(), vl::PolygonSimplifier::Triangle::computePotentialNormal(), vl::TrackballManipulator::computeVector(), vl::Billboard::computeWorldMatrix(), vl::EdgeExtractor::extractEdges(), vl::Extrusion::extrude(), vl::Matrix4< T_Scalar >::getLookAt(), vl::Matrix4< T_Scalar >::getLookAtModeling(), vl::Matrix4< T_Scalar >::getRotation(), vl::Matrix4< T_Scalar >::getYXRotationAngles(), vl::RayIntersector::intersectTriangle(), vl::RingExtractor::keepPlanarCycles(), vl::makeIcosphere(), vl::makeTorus(), vl::Volume::normalHQ(), vl::normalize(), vl::Volume::normalLQ(), vl::EdgeUpdateCallback::onActorRenderStarted(), vl::Sphere::operator+=(), vl::Billboard::setAxis(), vl::Quaternion< T_Scalar >::setFromAxisAngle(), vl::Quaternion< T_Scalar >::setFromVectors(), vl::Billboard::setNormal(), vl::TrackballManipulator::trackballRotation(), vl::GhostCameraManipulator::updateEvent(), and vl::SceneManagerPortals::visitSector().

template<>

half vl::Vector3< half >::length | ( | ) | const`[inline]`

Definition at line 605 of file half.hpp.

References vl::sqrt().

template<>

half vl::Vector3< half >::lengthSquared | ( | ) | const`[inline]`

Definition at line 606 of file half.hpp.

## Member Data Documentation

template<typename T_Scalar>

const int vl::Vector3< T_Scalar >::scalar_count = 3`[static]`

Definition at line 48 of file Vector3.hpp.

template<typename T_Scalar>

T_Scalar vl::Vector3< T_Scalar >::mScalar[scalar_count]`[protected]`

Definition at line 226 of file Vector3.hpp.

Referenced by vl::Vector3< int >::b(), vl::Vector3< int >::g(), vl::Vector3< int >::operator[](), vl::Vector3< int >::p(), vl::Vector3< int >::ptr(), vl::Vector3< int >::r(), vl::Vector3< int >::s(), vl::Vector3< int >::t(), vl::Vector3< int >::Vector3(), vl::Vector3< int >::x(), vl::Vector3< int >::y(), and vl::Vector3< int >::z().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlCore/Vector3.hpp

Visualization Library v2011.09.1162 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu Jan 26 2012 00:44:16.
Permission is granted to use this page to write and publish articles regarding Visualization Library.