Basic Image AlgorithmS Library
2.8.0
|
class Vector3 contains a Vector of fixed dim. More...
#include <Base/Math/Matrix.hh>
Public Types | |
typedef T | value_type |
Public Member Functions | |
template<> | |
BIAS::Vector3< double > | CoordEuclideanToSphere () const |
template<> | |
Vector3< double > | CoordSphereToEuclidean () const |
template<> | |
Matrix< unsigned int > | GetSkewSymmetricMatrix () const |
Vector3 () | |
Vector3 (const Vector3< T > &vec) | |
copy constructor More... | |
Vector3 (const T &scalar) | |
assignment with a constant value for all elements More... | |
Vector3 (const T *pv) | |
assignment with an array of values which is copied into this ones class members More... | |
Vector3 (char *s) | |
constructor with element assignment More... | |
Vector3 (const T &x, const T &y, const T &z) | |
constructor with element assigment using explicit values More... | |
Vector3 (const Vector< T > &v) | |
cast constructor More... | |
~Vector3 () | |
Iterator Functions | |
T const * | begin () const |
Iterator to first component of vector. More... | |
T * | begin () |
T const * | end () const |
Iterator pointing to one element after the last vector element. More... | |
T * | end () |
Set Functions | |
void | Set (const T *pv) |
copy the array of vectorsize beginning at *T to this->data_ More... | |
void | Set (const T &scalar) |
set all elements to a scalar value More... | |
void | Set (const T &x, const T &y, const T &z) |
set elementwise with given scalar values More... | |
void | Set (const Vector< T > &vec) |
Sets this form elements of Vector<T>. More... | |
void | SetZero () |
set all values to 0 More... | |
void | clear () |
stl conform interface More... | |
Get Functions | |
const unsigned int | Size () const |
const unsigned int | size () const |
const unsigned int | GetNumElements () const |
bool | IsZero () const |
double | Length () const |
returns the Euclidean Length of the Vector More... | |
const T * | GetData () const |
get the data pointer the member function itself is const (before {..}) because it doesn't change the this object. More... | |
T * | GetData () |
T | NormL1 () const |
Return the L1 norm: |a| + |b| + |c|. More... | |
double | NormL2 () const |
the L2 norm sqrt(a^2 + b^2 + c^2) More... | |
double | Dist (const Vector3< T > &vec) const |
Return the euclidean distance of 2 vectors. More... | |
double | DistLinf (const Vector3< T > &vec) const |
Return the L inf distance of 2 vectors. More... | |
Normalization | |
Vector3< T > & | Normalize () |
normalize this vector to length 1 More... | |
Vector3< T > & | Normalize (Matrix3x3< T > &cov) |
normalizes the vector to 1 and transfroms the associated covariance matrix More... | |
BIAS::Vector3< T > | GetNormalized () const |
return a normalized vector of this More... | |
Arithmetic | |
void | CrossProduct (const Vector3< T > &argvec, Vector3< T > &destvec) const |
cross product of two vectors destvec = this x argvec More... | |
Vector3< T > | CrossProduct (const Vector3< T > &argvec) const |
void | ScalarProduct (const Vector3< T > &argvec, T &result) const |
scalar product (=inner product) of two vectors, storing the result in result More... | |
T | ScalarProduct (const Vector3< T > &argvec) const |
scalar product (=inner product) of two vectors returns a scalar More... | |
void | ElementwiseProduct (const Vector3< T > &argvec, Vector3< T > &destvec) const |
multiply two vectors elementwise and store the result vector to destvec More... | |
Vector3< T > | ElementwiseProduct (const Vector3< T > &argvec) const |
multiply two vectors elementwise and return the result vector More... | |
void | ElementwiseDivision (const Vector3< T > &argvec, Vector3< T > &destvec) const |
Vector3< T > | ElementwiseDivision (const Vector3< T > &argvec) const |
divide elementwise More... | |
void | AddIP (const T &scalar) |
Addition (in place) of an scalar. More... | |
void | Add (const T &scalar, Vector3< T > &dest) const |
Addition with a scalar, storing results in destionation vector. More... | |
void | SubIP (const T &scalar) |
Substraction (in place) of an scalar. More... | |
void | Sub (const T &scalar, Vector3< T > &dest) const |
Substraction with a scalar, storing results in destination vector. More... | |
void | MultiplyIP (const T &scalar) |
Multiplication (in place) of an scalar. More... | |
void | MultIP (const T &scalar) |
void | Multiply (const T &scalar, Vector3< T > &dest) const |
Multiplication with a scalar, storing results in destination vector. More... | |
void | Mult (const T &scalar, Vector3< T > &dest) const |
void | DivideIP (const T &scalar) |
Division (in place) of an scalar. More... | |
void | DivIP (const T &scalar) |
void | Divide (const T &scalar, Vector3< T > &dest) const |
Division with a scalar, storing results in destination vector. More... | |
void | Div (const T &scalar, Vector3< T > &dest) const |
void | AddIP (const Vector3< T > &argvec) |
in place adding More... | |
void | Add (const Vector3< T > &argvec, Vector3< T > &destvec) const |
adding of two vectors, storing the result in destvec More... | |
void | SubIP (const Vector3< T > &argvec) |
in place substraction More... | |
void | Sub (const Vector3< T > &argvec, Vector3< T > &destvec) const |
subtracting of two Vectors, storing the result in destvec More... | |
Misc | |
void | OuterProduct (const Vector3< T > &v, Matrix3x3< T > &res) const |
outer product, constructs a matrix. More... | |
Matrix3x3< T > | OuterProduct (const Vector3< T > &v) const |
Matrix< T > | GetSkewSymmetricMatrix () const |
constructs a skew symmetric 3x3 matrix from (*this), which can be used instead of the cross product More... | |
BIAS::Vector3< T > | CoordSphereToEuclidean () const |
coordinate transfrom. More... | |
BIAS::Vector3< T > | PolarToCartesian () const |
BIAS::Vector3< T > | CoordSphereToEuclidian () const |
BIAS::Vector3< T > | CoordEuclideanToSphere () const |
coordinate transform. More... | |
BIAS::Vector3< T > | CartesianToPolar () const |
BIAS::Vector3< T > | CoordEuclidianToSphere () const |
T & | Radius () |
r for polar/sphere content JW More... | |
T | Radius () const |
T & | Phi () |
T | Phi () const |
T & | Theta () |
T | Theta () const |
int | LoadBogTC (const std::string &filename) |
reads the TC part of a BOG file which is used by Daimler Chrysler for storing Camera center position. More... | |
bool | Load (const std::string &filename) |
method to load directly from a given filename. More... | |
bool | Save (const std::string &filename) const |
method to save directly to a given filename. More... | |
Operators | |
Vector3< T > & | operator= (const Vector3< T > &vec) |
assignment operator More... | |
Vector3< T > & | operator= (const Vector< T > &vec) |
assignment operator More... | |
const T & | operator[] (const int i) const |
access an element of the vector with 0-based indizes. More... | |
T & | operator[] (const int i) |
access an element of the vector with 0-based indizes. More... | |
bool | operator== (const Vector3< T > &arg) const |
Comparison operator 'equal'. More... | |
bool | operator!= (const Vector3< T > &arg) const |
Comparison operator 'not equal'. More... | |
Protected Attributes | |
T | data_ [VECTOR3_SIZE] |
Related Functions | |
(Note that these are not member functions.) | |
template<class T > | |
Vector3< T > | operator* (const Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > | operator* (const T &scalar, const Vector3< T > &vec) |
template<class T > | |
T | operator* (const Vector3< T > &vec, const Vector3< T > &arg) |
template<class T > | |
Vector3< T > | operator* (const Matrix3x3< T > &mat, const Vector3< T > &argvec) |
template<class T > | |
Vector2< T > | operator* (const Matrix2x3< T > &mat, const Vector3< T > &vec) |
template<class T > | |
Vector< T > | operator* (const BIAS::Matrix< T > &mat, const Vector3< T > &vec) |
template<class T > | |
Vector3< T > & | operator*= (Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > | operator+ (const Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > | operator+ (const T &scalar, const Vector3< T > &vec) |
template<class T > | |
Vector3< T > | operator+ (const Vector3< T > &vec, const Vector3< T > &argvec) |
template<class T > | |
Vector3< T > | operator+ (const Vector3< T > &vec, const Vector< T > &argvec) |
template<class T > | |
Vector3< T > & | operator+= (Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > & | operator+= (Vector3< T > &vec, const Vector3< T > &argvec) |
template<class T > | |
Vector3< T > | operator- (const Vector3< T > &v) |
template<class T > | |
Vector3< T > | operator- (const Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > | operator- (const T &scalar, const Vector3< T > &vec) |
template<class T > | |
Vector3< T > | operator- (const Vector3< T > &vec, const Vector3< T > &argvec) |
template<class T > | |
Vector3< T > & | operator-= (Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > & | operator-= (Vector3< T > &vec, const Vector3< T > &argvec) |
template<class T > | |
Vector3< T > | operator/ (const Vector3< T > &vec, const T &scalar) |
template<class T > | |
Vector3< T > & | operator/= (Vector3< T > &vec, const T &scalar) |
template<class T > | |
bool | operator< (const Vector3< T > &a, const Vector3< T > &b) |
std::ostream & | operator<< (std::ostream &os, const BIAS::Vector3< unsigned char > &vec) |
Output with streams specialization for numerical display of unsigned char instead of alphabetically. fout format should be consistent with template implementation and Vector<> More... | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const BIAS::Vector3< T > &vec) |
template<class T > | |
bool | operator<= (const Vector3< T > &a, const Vector3< T > &b) |
template<class T > | |
bool | operator> (const Vector3< T > &a, const Vector3< T > &b) |
template<class T > | |
bool | operator>= (const Vector3< T > &a, const Vector3< T > &b) |
std::istream & | operator>> (std::istream &is, Vector3< unsigned char > &vec) |
Input with streams specialization for numerical display of unsigned char instead of alphebetically. fout format should be consistent with template implementation and Vector<> More... | |
template<class T > | |
std::istream & | operator>> (std::istream &is, Vector3< T > &vec) |
Input with streams. More... | |
class Vector3 contains a Vector of fixed dim.
3
It's elment type is templated. manual loop unrolling is used if possible. The Vector is in row-major order (3 rows, 1 column) the indizes begin with zero (to size-1)
operators are no longer class members removed memory leak by returning reference in operators removed inline code from class definition, woelk 01 2003
typedef T BIAS::Vector3< T >::value_type |
Definition at line 76 of file Vector3.hh.
|
inline |
Definition at line 78 of file Vector3.hh.
|
inline |
Definition at line 80 of file Vector3.hh.
|
inline |
copy constructor
Definition at line 84 of file Vector3.hh.
|
inlineexplicit |
assignment with a constant value for all elements
Definition at line 88 of file Vector3.hh.
|
inlineexplicit |
assignment with an array of values which is copied into this ones class members
Definition at line 93 of file Vector3.hh.
|
inlineexplicit |
constructor with element assignment
Definition at line 524 of file Vector3.hh.
|
inline |
constructor with element assigment using explicit values
Definition at line 102 of file Vector3.hh.
BIAS::Vector3< T >::Vector3 | ( | const Vector< T > & | v | ) |
|
inline |
Addition with a scalar, storing results in destionation vector.
Definition at line 684 of file Vector3.hh.
References BIAS::Vector3< T >::data_.
Referenced by BIAS::TrackballControl::MoveInViewingDirection(), BIAS::Vector3< T >::operator+(), and BIAS::TrackballControl::RotateAroundPOI().
|
inline |
adding of two vectors, storing the result in destvec
Definition at line 691 of file Vector3.hh.
|
inline |
Addition (in place) of an scalar.
Definition at line 310 of file Vector3.hh.
Referenced by BIAS::FlyControl::MoveDirection(), BIAS::Vector3< T >::operator+=(), BIAS::TriangleMesh::SimplifyMeshSurface_(), and BIAS::ProjectionParametersBase::UnProjectToPoint().
|
inline |
in place adding
Definition at line 349 of file Vector3.hh.
|
inline |
Iterator to first component of vector.
Definition at line 134 of file Vector3.hh.
|
inline |
Definition at line 137 of file Vector3.hh.
|
inline |
Definition at line 422 of file Vector3.hh.
Referenced by BIAS::CameraViewController::MoveOrbit().
|
inline |
stl conform interface
Definition at line 564 of file Vector3.hh.
Referenced by BIAS::Interpolator::GetControlPoints(), and BIAS::LEDDetector::Search_().
BIAS::Vector3< double > BIAS::Vector3< double >::CoordEuclideanToSphere | ( | ) | const |
Definition at line 127 of file Vector3.cpp.
BIAS::Vector3< T > BIAS::Vector3< T >::CoordEuclideanToSphere | ( | ) | const |
coordinate transform.
compute the sphere coordinates(r, phi, theta) for (this) given euclidean point p=(x,y,z) with radius : distance to center, theta : radian angle between positive z-axis and p=(x,y,z). (0-pi) phi : radian angle between positive x-axis and projection of p=(x,y,z) into XY plane. (0-2pi) assume (x,y,z) is in orthogonal right-hand-system.
Definition at line 113 of file Vector3.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib_(), BIAS::Parametrization::EMatrixToParams(), BIAS::ProjectionParametersSpherical::ProjectLocal(), BIAS::ProjectionParametersSphericalFast::ProjectLocal(), and BIAS::ProjectionParametersSpherical::TransfCoordRotateSphere2Image_().
|
inline |
Definition at line 426 of file Vector3.hh.
Vector3< double > BIAS::Vector3< double >::CoordSphereToEuclidean | ( | ) | const |
Definition at line 93 of file Vector3.cpp.
Vector3< T > BIAS::Vector3< T >::CoordSphereToEuclidean | ( | ) | const |
coordinate transfrom.
compute the euclidean coord p=(x,y,z) for (this) given sphere coord sph=(radius, phi, theta) with radius : distance to center, theta : radian angle between positive z-axis and p=(x,y,z). (0-pi) phi : radian angle between positive x-axis and projection of p=(x,y,z) into XY plane. (0-2pi) assume (x,y,z) is in orthogonal right-hand-system.
Definition at line 78 of file Vector3.cpp.
Referenced by BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::PMatrixEstimation::AutoCalib_(), BIAS::ProjectionParametersSpherical::EstimateUndistortionPolynomial(), BIAS::Parametrization::ParamsToEMatrix(), BIAS::ProjectionParametersSpherical::TransfCoordRotateSphere2Image_(), BIAS::ProjectionParametersSpherical::UnProjectLocal(), and BIAS::ProjectionParametersSphericalFast::UnProjectLocal().
|
inline |
Definition at line 407 of file Vector3.hh.
|
inline |
cross product of two vectors destvec = this x argvec
Definition at line 594 of file Vector3.hh.
Referenced by BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::ThreeDOut::AddTriangleMesh(), BIAS::PMatrix::BBCIn(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateMeanOrientation(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateRectifiedBases(), BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::ThreeDOut::ComputePlaneCorners(), BIAS::EpipolarLine::DrawDistortedLine(), BIAS::RMatrixBase::EnforceConstraints(), BIAS::TriangleMesh::GenerateVertexNormals(), BIAS::CheckerboardDetectorCrossFilter::GetFinalCheckerboard(), BIAS::TrifocalTensor::GetFMatrix21(), BIAS::TrifocalTensor::GetFMatrix31(), BIAS::TrackballBase::GetRotationAngle(), BIAS::TrackballBase::GetRotationAxisAndAngle(), BIAS::TrackballBase::GetTranslation(), BIAS::ProjectionParametersBase::GetUnProjectionJacobian(), BIAS::CamPoseCalib::GuessInitialCam_(), BIAS::EpipolarLine::Init(), BIAS::Triangulation::Intersect(), BIAS::FlyControl::LeftAndRightMouseMoved(), BIAS::TrackballControl::LeftAndRightMouseMoved(), BIAS::FlyControl::LeftMouseMoved(), BIAS::TrackballControl::LeftMouseMoved(), BIAS::glfMatrix::MakeLookAt(), BIAS::CameraViewController::MoveCoplanar(), BIAS::CameraViewController::MoveOrbit(), BIAS::EpipolarLine::ProjectEpipolarPlane(), BIAS::ProjectionParametersIO::ReadFromBBCStream(), BIAS::SceneTexturedPlane::Resize(), BIAS::HomgLine2D::Set(), BIAS::GLProjectionParametersBase::SetExtrinsics(), BIAS::RMatrixBase::SetFromHV(), BIAS::RMatrixBase::SetFromOriUp(), BIAS::RMatrixBase::SetFromOriUpGL(), BIAS::DualQuaternion< QUAT_TYPE >::SetFromRigidMotion(), BIAS::TriangleMesh::ThreePointsToPlane_(), and BIAS::Normalization::Woelk().
|
inline |
Definition at line 267 of file Vector3.hh.
|
inline |
Return the euclidean distance of 2 vectors.
Definition at line 639 of file Vector3.hh.
Referenced by BIAS::CamPoseCalib::Estimate().
|
inline |
Return the L inf distance of 2 vectors.
Definition at line 646 of file Vector3.hh.
|
inline |
Definition at line 343 of file Vector3.hh.
|
inline |
Division with a scalar, storing results in destination vector.
Definition at line 724 of file Vector3.hh.
References BIAS::Vector3< T >::data_.
Referenced by BIAS::Vector3< T >::operator/().
|
inline |
Division (in place) of an scalar.
Definition at line 719 of file Vector3.hh.
Referenced by BIAS::clfTrimmedICP::ComputeOptimalMotion_(), and BIAS::Vector3< T >::operator/=().
|
inline |
Definition at line 338 of file Vector3.hh.
|
inline |
Definition at line 625 of file Vector3.hh.
|
inline |
divide elementwise
Definition at line 300 of file Vector3.hh.
|
inline |
multiply two vectors elementwise and store the result vector to destvec
Definition at line 617 of file Vector3.hh.
|
inline |
multiply two vectors elementwise and return the result vector
Definition at line 288 of file Vector3.hh.
|
inline |
Iterator pointing to one element after the last vector element.
Definition at line 143 of file Vector3.hh.
|
inline |
Definition at line 146 of file Vector3.hh.
|
inline |
get the data pointer the member function itself is const (before {..}) because it doesn't change the this object.
Definition at line 202 of file Vector3.hh.
Referenced by BIAS::NurbsSurface::GetSurfacePoint(), BIAS::ThreeDOut::OpenGLOutPMatrices_(), BIAS::HomgPoint2D::operator=(), BIAS::Vector3< HOMGPOINT2D_TYPE >::operator=(), BIAS::Vector3< T >::operator>>(), BIAS::operator>>(), and BIAS::EuclideanTransf3D::Set().
|
inline |
Definition at line 203 of file Vector3.hh.
Vector3< T > BIAS::Vector3< T >::GetNormalized | ( | ) | const |
return a normalized vector of this
norm. to length 1
Definition at line 47 of file Vector3.cpp.
References BIAS::Vector3< T >::Normalize().
Referenced by BIAS::PMatrix::GetUp_gl(), BIAS::RMatrixBase::SetFromHV(), BIAS::RMatrixBase::SetFromOrthogonalBasis(), and BIAS::ProjectionParametersZoom::UnProjectLocal().
|
inline |
Definition at line 187 of file Vector3.hh.
Matrix< unsigned int > BIAS::Vector3< unsigned int >::GetSkewSymmetricMatrix | ( | ) | const |
Definition at line 245 of file Vector3.cpp.
References BIAS::Matrix< T >::SetZero().
Matrix< T > BIAS::Vector3< T >::GetSkewSymmetricMatrix | ( | ) | const |
constructs a skew symmetric 3x3 matrix from (*this), which can be used instead of the cross product
Definition at line 257 of file Vector3.cpp.
References BIAS::Matrix< T >::GetData(), and BIAS::Matrix< T >::SetZero().
Referenced by BIAS::PMatrixLinear::ComputeCalibrated(), BIAS::FMatrix::ComputeFromPMatrices(), BIAS::Conic2D::GetLines(), BIAS::FMatrixEstimation::GoldStandard(), and BIAS::Conic2D::IntersectLine().
|
inline |
Definition at line 571 of file Vector3.hh.
|
inline |
returns the Euclidean Length of the Vector
Definition at line 193 of file Vector3.hh.
Referenced by BIAS::ProjectionError::ComputeDiff(), BIAS::CamPoseCalib::Estimate(), BIAS::RenderContextBase::GetSceneCenter(), BIAS::CamPoseCalib::GuessInitialCam_(), BIAS::AutoControl::Init(), BIAS::TrackballControl::MiddleMouseMoved(), BIAS::CameraViewController::MoveCoplanar(), BIAS::Nurbs3D< ControlPointsT >::Nurbs3D(), BIAS::RenderContextBase::Render(), and BIAS::ThreeDOut::VRMLOutWriteViewpoint().
bool BIAS::Vector3< T >::Load | ( | const std::string & | filename | ) |
method to load directly from a given filename.
internally using stream operator
Definition at line 215 of file Vector3.cpp.
int BIAS::Vector3< T >::LoadBogTC | ( | const std::string & | filename | ) |
reads the TC part of a BOG file which is used by Daimler Chrysler for storing Camera center position.
Definition at line 161 of file Vector3.cpp.
Referenced by BIAS::PMatrixBase::LoadBOG().
|
inline |
Definition at line 332 of file Vector3.hh.
Referenced by BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::FlyControl::LeftMouseMoved(), BIAS::Vector3< T >::operator-(), BIAS::ProjectionParametersBase::Project(), BIAS::Projection::Project(), BIAS::ProjectionParametersZoom::ProjectLocal(), and BIAS::ProjectionParametersBase::UnProjectToPoint().
|
inline |
Definition at line 327 of file Vector3.hh.
Referenced by BIAS::ThreeDOutOpenSceneGraph::AddOSGImage_(), BIAS::PMatrixBase::Compose(), BIAS::TrackballBase::GetTranslation(), BIAS::Quadric3::Optimize(), BIAS::GLProjectionParametersBase::TranslateDepthToZ(), and BIAS::ProjectionParametersOrthographic::UnProjectToPointLocal().
|
inline |
Multiplication with a scalar, storing results in destination vector.
Definition at line 698 of file Vector3.hh.
References BIAS::Vector3< T >::data_.
Referenced by BIAS::TrackballBase::GetMoveinViewDirection(), BIAS::Triangulation::Intersect(), BIAS::TrackballControl::MoveInViewingDirection(), and BIAS::Vector3< T >::operator*().
|
inline |
Multiplication (in place) of an scalar.
Definition at line 326 of file Vector3.hh.
Referenced by BIAS::PMatrixEstimation::ComputeRotationCenter(), BIAS::RotationAveraging::GeodesicL1Mean(), BIAS::RotationAveraging::LogarithmicL2Mean(), and BIAS::Vector3< T >::operator*=().
|
inline |
normalize this vector to length 1
Definition at line 663 of file Vector3.hh.
Referenced by BIAS::PMatrixEstimation::AutoCalib_(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateMeanOrientation(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateRectifiedBases(), BIAS::TrifocalTensorBase::CheckPointCorr(), BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::PMatrixEstimation::ComputeFromFDirect(), BIAS::PMatrixEstimation::ComputeFromFQuasiEuklid(), BIAS::SceneOpenSceneGraph::createMirroredScene(), BIAS::GenGroundTruth::GenerateRandomCube(), BIAS::TriangleMesh::GenerateVertexNormals(), BIAS::RotationAveraging::GeodesicL1Mean(), BIAS::RotationAveraging::GeodesicL2Mean(), BIAS::FMatrix::GetEpipoles(), BIAS::PMatrix::GetFieldOfViewY(), BIAS::GeometryGL::GetImgCorner3d(), BIAS::ProjectionParametersPerspective::GetMinimalAngleInCorner_(), BIAS::TrackballBase::GetMoveinViewDirection(), BIAS::Vector3< T >::GetNormalized(), BIAS::TrifocalTensor::GetPMatrix2(), BIAS::TrifocalTensor::GetPMatrix3(), BIAS::Conic2D::GetPoint(), BIAS::TrackballBase::GetRotationAngle(), BIAS::TrackballBase::GetRotationAxisAndAngle(), BIAS::RMatrixBase::GetRotationAxisAngle(), BIAS::TrackballBase::GetTranslation(), BIAS::ProjectionParametersBase::GetUnProjectionJacobian(), BIAS::FMatrixEstimation::GoldStandard(), BIAS::AutoControl::GoTo(), BIAS::CamPoseCalib::GuessInitialCam_(), BIAS::Triangulation::Intersect(), BIAS::FlyControl::LeftAndRightMouseMoved(), BIAS::TrackballControl::LeftAndRightMouseMoved(), BIAS::FlyControl::LeftMouseMoved(), BIAS::TrackballControl::LeftMouseMoved(), BIAS::glfMatrix::MakeLookAt(), BIAS::TriangleMesh::MakeTriangles_(), BIAS::PMDImageProc::MetaFromPoseAndK(), BIAS::CameraViewController::MoveCoplanar(), BIAS::TrackballControl::MoveInViewingDirection(), BIAS::CameraViewController::MoveOrbit(), BIAS::Nurbs3D< ControlPointsT >::Nurbs3D(), BIAS::SceneBase::PerformCollision(), BIAS::EpipolarLine::ProjectEpipolarPlane(), BIAS::ProjectionParametersOrthographic::ProjectionParametersOrthographic(), BIAS::SceneTexturedPlane::Resize(), BIAS::GLProjectionParametersBase::SetExtrinsics(), BIAS::RMatrixBase::SetFromAxisAngle(), BIAS::RMatrixBase::SetFromOriUp(), BIAS::RMatrixBase::SetFromOriUpGL(), BIAS::ProjectionParametersOrthographic::SetParameters(), BIAS::PMDWarp::SetupDefaultPrimitiveRendering_(), BIAS::TriangleMesh::ThreePointsToPlane_(), BIAS::TrifocalTensor::TransferView3(), BIAS::PoseParametrizationCovariance::Transform(), BIAS::GLProjectionParametersBase::TranslateDepthToZ(), BIAS::Triangulation::Triangulate(), BIAS::ProjectionParametersSphericalFast::UnProjectLocal(), BIAS::ProjectionParametersCylindric::UnProjectLocal(), BIAS::Projection::UnProjectToPoint(), BIAS::ProjectionParametersSphericalFast::ViewDifference(), BIAS::ProjectionParametersSpherical::ViewDifference(), and BIAS::ThreeDOut::VRMLOutImages().
Vector3< T > & BIAS::Vector3< T >::Normalize | ( | Matrix3x3< T > & | cov | ) |
normalizes the vector to 1 and transfroms the associated covariance matrix
the jacobian of the function x' = x/|x| can be written as
J = 1/|x| ( I - (xx^T)/(x^Tx) ), cf. Foerstner, 2005 "Uncertainty and Projective Geometry"
Definition at line 56 of file Vector3.cpp.
References BIAS::MatrixIdentity, and BIAS::Matrix3x3< T >::Transpose().
|
inline |
Return the L1 norm: |a| + |b| + |c|.
Definition at line 677 of file Vector3.hh.
|
inline |
the L2 norm sqrt(a^2 + b^2 + c^2)
Definition at line 633 of file Vector3.hh.
Referenced by BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::ThreeDOut::AddTriangleMesh(), BIAS::SceneBase::ApplyTimeStep(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateRectifiedBases(), BIAS::ImageBlender::CheckFov(), BIAS::ImageBlenderIncremental::CheckFov_(), BIAS::Pose::CheckLookAt_(), BIAS::HMatrix::ComputeLinearizationError(), BIAS::PMatrixEstimation::ComputeRotationCenter(), BIAS::PMatrix::Decompose_(), BIAS::CylindricalRectification< InputStorageType, OutputStorageType >::DetermineCylindricCameraBoundriesCylindric_(), BIAS::CylindricalRectification< InputStorageType, OutputStorageType >::DetermineCylindricCameraBoundriesPerspective_(), BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth(), BIAS::ProjectionParametersPerspective::DoesPointProjectIntoImageLocal(), BIAS::EpipolarLine::DrawDistortedLine(), BIAS::Parametrization::EMatrixToParams(), BIAS::RMatrixBase::EnforceConstraints(), BIAS::PMDImageProc::FitDepthTo2DImage(), BIAS::PMDImageProc::FitDepthTo2DImageFree_(), BIAS::TriangleMesh::GenerateDenseMesh(), BIAS::TriangleMesh::GenerateTexturedQuad(), BIAS::TriangleMesh::GenerateVertexNormals(), BIAS::RotationAveraging::GeodesicL1Mean(), BIAS::RotationAveraging::GeodesicL2Mean(), BIAS::Quaternion< QUAT_TYPE >::GetAxisAngle(), BIAS::SceneThreeDOutWrapper::GetBoundingBox(), BIAS::RMatrixBase::GetCheckFailureReason(), BIAS::PMatrix::GetImagePlane(), BIAS::Conic2D::GetLinearizedOffset(), BIAS::Conic2D::GetLines(), BIAS::ProjectionParametersPerspective::GetMinimalAngleInCorner_(), BIAS::TrackballBase::GetMoveinViewDirection(), BIAS::PMatrix::GetNormRayWorldCoo(), BIAS::Quaternion< QUAT_TYPE >::GetRotationAxis(), BIAS::ProjectionParametersBase::GetSphericalViewingRange(), BIAS::ProjectionParametersBase::GetUnProjectionJacobian(), BIAS::CamPoseCalib::GuessInitialCam_(), BIAS::Triangulation::Intersect(), BIAS::TriangulationMidPoint::Intersect_(), BIAS::Conic2D::IntersectConic(), BIAS::Conic2D::IntersectLine(), BIAS::FlyControl::LeftMouseDoubleClicked(), BIAS::ProjectionParametersSphericalSimple::Local2Angles(), BIAS::ProjectionParametersGreatCircles::LocalEuclideanCamCoordinates2SphericalAngles(), BIAS::TriangleMesh::MakeTriangles_(), BIAS::HMatrix::MapAcrossPlane(), BIAS::TrackballControl::MoveInViewingDirection(), BIAS::HomgPoint2DCov::Normalize(), BIAS::Parametrization::ParamsToEMatrix(), BIAS::SceneBase::PerformCollision(), BIAS::ImageWarper< StorageType >::Process(), BIAS::EpipolarLine::ProjectEpipolarPlane(), BIAS::ProjectionParametersOrthographic::ProjectionParametersOrthographic(), BIAS::ProjectionParametersSphericalSimple::ProjectLocal(), BIAS::ProjectionParametersPerspective::ProjectLocal(), BIAS::ProjectionParametersCylindric::ProjectLocal(), BIAS::ProjectionParametersIO::ReadFromBBCStream(), BIAS::TrackballControl::RotateAroundViewingDirection(), BIAS::HomgPlane3D::Set(), BIAS::RMatrixBase::Set(), BIAS::GLProjectionParametersBase::SetExtrinsics(), BIAS::RMatrixBase::SetFromAxisAngle(), BIAS::ProjectionParametersOrthographic::SetParameters(), BIAS::TrackballControl::SetPointOfInterest(), BIAS::Conic2D::SetSingleLine(), BIAS::Conic2D::SetTwoLines(), BIAS::PMDWarp::SetupDefaultPrimitiveRendering_(), BIAS::TriangleMesh::ThreePointsToPlane_(), BIAS::Covariance3Dto2D::Transform_(), BIAS::Triangulation::Triangulate(), BIAS::TriangulationMidPoint::Triangulate_(), BIAS::GLProjectionParametersBase::UnProject(), BIAS::ProjectionParametersPerspective::UnProjectLocal(), BIAS::ProjectionParametersSphericalSimple::UnProjectToImagePlane(), BIAS::ProjectionParametersZoom::UnProjectToImagePlane(), BIAS::ProjectionParametersGreatCircles::UnProjectToImagePlane(), BIAS::ProjectionParametersPerspective::UnProjectToImagePlane(), BIAS::Projection::UnProjectToPoint(), BIAS::ProjectionParametersBase::UnProjectToPointLocal(), BIAS::ProjectionParametersPerspective::UpdateMinZLocal(), BIAS::ProjectionParametersCylindric::ViewDifference(), BIAS::ThreeDOut::VRMLOutImages(), BIAS::Normalization::Woelk(), and BIAS::GLProjectionParametersPerspective::Z2Depth_().
|
inline |
Comparison operator 'not equal'.
Definition at line 505 of file Vector3.hh.
|
inline |
assignment operator
Definition at line 473 of file Vector3.hh.
|
inline |
assignment operator
Definition at line 479 of file Vector3.hh.
|
inline |
Comparison operator 'equal'.
Definition at line 500 of file Vector3.hh.
|
inline |
access an element of the vector with 0-based indizes.
read only (no write) member function const because it doesn't change this object
Definition at line 580 of file Vector3.hh.
|
inline |
access an element of the vector with 0-based indizes.
write allowed
Definition at line 587 of file Vector3.hh.
void BIAS::Vector3< T >::OuterProduct | ( | const Vector3< T > & | v, |
Matrix3x3< T > & | res | ||
) | const |
outer product, constructs a matrix.
Often written as (*this) * v^T for col vectors made it fast
Definition at line 151 of file Vector3.cpp.
Referenced by BIAS::TrifocalTensor::Compose(), BIAS::TrifocalTensorBase::Compose(), BIAS::PMatrixLinear::ComputeCalibrated(), BIAS::PMatrixEstimation::ComputeRotation(), BIAS::Conic2D::GetLines(), BIAS::HMatrix::MapAcrossPlane(), BIAS::HomgPoint2DCov::Normalize(), BIAS::EParametrization::Normalize(), BIAS::Conic2D::SetSingleLine(), and BIAS::Conic2D::SetTwoLines().
|
inline |
Definition at line 379 of file Vector3.hh.
|
inline |
Definition at line 436 of file Vector3.hh.
|
inline |
Definition at line 438 of file Vector3.hh.
|
inline |
Definition at line 403 of file Vector3.hh.
|
inline |
r for polar/sphere content JW
Definition at line 431 of file Vector3.hh.
|
inline |
Definition at line 433 of file Vector3.hh.
bool BIAS::Vector3< T >::Save | ( | const std::string & | filename | ) | const |
method to save directly to a given filename.
internally using stream operator
Definition at line 230 of file Vector3.cpp.
|
inline |
scalar product (=inner product) of two vectors, storing the result in result
Definition at line 603 of file Vector3.hh.
Referenced by BIAS::ThreeDOut::AddPMatrix(), BIAS::SceneBase::ApplyTimeStep(), BIAS::HomgLine3D::CalculateFootpoint(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateMeanOrientation(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateRectifiedBases(), BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::ThreeDOut::ComputePlaneCorners(), BIAS::PMatrix::Decompose_(), BIAS::EpipolarLine::DrawDistortedLine(), BIAS::RMatrixBase::EnforceConstraints(), BIAS::RMatrixBase::GetCheckFailureReason(), BIAS::PMatrix::GetFieldOfView(), BIAS::PMatrix::GetFieldOfViewY(), BIAS::Conic2D::GetLinearizedOffset(), BIAS::ProjectionParametersPerspective::GetMinimalAngleInCorner_(), BIAS::Conic2D::GetPointDistance(), BIAS::AbsoluteOrientation::GetResidualErrors(), BIAS::TrackballBase::GetRotationAngle(), BIAS::TrackballBase::GetRotationAxisAndAngle(), BIAS::HomgLine3D::Homogenize(), BIAS::Triangulation::Intersect(), BIAS::FlyControl::LeftAndRightMouseMoved(), BIAS::TrackballControl::LeftAndRightMouseMoved(), BIAS::TriangleMesh::MakeTriangles_(), BIAS::HMatrix::MapAcrossPlane(), BIAS::HomgPoint2DCov::Normalize(), BIAS::EParametrization::Normalize(), BIAS::Vector3< T >::operator*(), BIAS::Triangulation::Optimal(), BIAS::SceneBase::PerformCollision(), BIAS::HomgPlane3D::Set(), BIAS::DualQuaternion< QUAT_TYPE >::SetFromRigidMotion(), BIAS::TriangleMesh::ThreePointsToPlane_(), BIAS::SceneBase::TimeToContact(), BIAS::Triangulation::Triangulate2D(), BIAS::ProjectionParametersCylindric::ViewDifference(), BIAS::ProjectionParametersSphericalFast::ViewDifference(), BIAS::ProjectionParametersSpherical::ViewDifference(), BIAS::ThreeDOut::VRMLOutWriteViewpoint(), BIAS::Normalization::Woelk(), and BIAS::PMatrix::WriteCAHV_10().
|
inline |
scalar product (=inner product) of two vectors returns a scalar
Definition at line 610 of file Vector3.hh.
|
inline |
copy the array of vectorsize beginning at *T to this->data_
Definition at line 532 of file Vector3.hh.
Referenced by BIAS::ProjectionParametersSphericalSimple::Angles2Local(), BIAS::RectificationBase< InputStorageType, OutputStorageType >::CalculateRectifiedBases(), BIAS::PMatrixBase::Compose(), BIAS::PMatrix::Compose(), BIAS::PMatrixLinear::ComputeCalibrated(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::Parametrization::EMatrixToParams(), BIAS::TriangleMesh::GenerateDenseMesh(), BIAS::TriangleMesh::GenerateImagePlane(), BIAS::SceneTexturedPlane::GetBoundingBox(), BIAS::TriangleMesh::GetBoundingBox(), BIAS::ProjectionParametersBase::GetFakeKMatrix(), BIAS::GenSynthMatches::GetGTNormalizedF(), BIAS::OpenGLCanvasBase::GetPixelValueRGB(), BIAS::DualQuaternion< QUAT_TYPE >::GetRigidMotion(), BIAS::CovMatrix3x3::GetSearchArea(), BIAS::NurbsSurface::GetSurfacePoint(), BIAS::VideoSource_Shm::GrabSingle(), BIAS::CamPoseCalib::GuessInitialCam_(), BIAS::TriangleMesh::MakeTriangles_(), BIAS::HomgPoint2D::operator=(), BIAS::PMatrixBase::Parametrization2R_(), BIAS::CamPoseCalib::Reset(), BIAS::HomgPoint2D::Set(), BIAS::SceneCoordinateFrame::SetCoordinateFrame(), BIAS::ProjectionParametersGreatCircles::SphericalAngles2LocalEuclideanRay(), BIAS::Interpolator::Spline(), BIAS::Triangulation::Triangulate(), and BIAS::Normalization::Woelk().
|
inline |
set all elements to a scalar value
Definition at line 160 of file Vector3.hh.
|
inline |
set elementwise with given scalar values
Definition at line 540 of file Vector3.hh.
|
inline |
Sets this form elements of Vector<T>.
Definition at line 547 of file Vector3.hh.
References TNT::Vector< T >::size().
|
inline |
set all values to 0
Definition at line 559 of file Vector3.hh.
Referenced by BIAS::clfTrimmedICP::Compute(), BIAS::RotationAveraging::GeodesicL1Mean(), BIAS::RotationAveraging::GeodesicL2Mean(), BIAS::CovMatrix3x3::GetSearchArea(), BIAS::NurbsSurface::GetSurfacePoint(), BIAS::TrackballBase::GetTranslation(), BIAS::ProjectionParametersIO::Initialize(), BIAS::ProjectionParametersIO::InitializeSensor(), BIAS::ProjectionParametersSpherical::ProjectLocal(), BIAS::ProjectionParametersSphericalFast::ProjectLocal(), BIAS::ProjectionParametersCylindric::ProjectLocal(), BIAS::ProjectionParametersIO::SetData_DummyRig(), and BIAS::ProjectionParametersSphericalFast::TransfCoordSphere2Image_().
|
inline |
Definition at line 183 of file Vector3.hh.
Referenced by BIAS::ImageBlender::ComputeCylCamGeometry(), and BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_().
|
inline |
Definition at line 185 of file Vector3.hh.
Referenced by BIAS::HMatrixEstimation::GetError(), BIAS::CheckerboardDetectorCrossFilter::GetFinalCheckerboard(), and BIAS::Interpolator::Spline().
|
inline |
Substraction with a scalar, storing results in destination vector.
Definition at line 705 of file Vector3.hh.
References BIAS::Vector3< T >::data_.
Referenced by BIAS::ImageBlender::ComputeCylCamGeometry(), BIAS::ImageBlenderIncremental::ComputeCylCamGeometry_(), BIAS::TrackballControl::MoveInViewingDirection(), BIAS::Vector3< T >::operator-(), BIAS::TrackballControl::RotateAroundPOI(), BIAS::GLProjectionParametersBase::SetExtrinsics(), and BIAS::TriangleMesh::SimplifyMeshSurface_().
|
inline |
subtracting of two Vectors, storing the result in destvec
Definition at line 712 of file Vector3.hh.
|
inline |
Substraction (in place) of an scalar.
Definition at line 318 of file Vector3.hh.
Referenced by BIAS::HomgLine3D::CalculateFootpoint(), BIAS::Pose::LookAt(), and BIAS::Vector3< T >::operator-=().
|
inline |
in place substraction
Definition at line 359 of file Vector3.hh.
|
inline |
Definition at line 441 of file Vector3.hh.
|
inline |
Definition at line 443 of file Vector3.hh.
Definition at line 169 of file Operators.hh.
References BIAS::Vector3< T >::Multiply().
Definition at line 178 of file Operators.hh.
References BIAS::Vector3< T >::Multiply().
Definition at line 403 of file Operators.hh.
References BIAS::Vector3< T >::ScalarProduct().
|
related |
matrix-vector multiplication using 'Mult'
Definition at line 638 of file Operators.hh.
References BIAS::Matrix3x3< T >::Mult().
|
related |
Definition at line 685 of file Operators.hh.
|
related |
Definition at line 709 of file Operators.hh.
References TNT::Matrix< T >::num_cols(), TNT::Matrix< T >::num_rows(), and BIAS::Vector< T >::Set().
Definition at line 740 of file Vector3.hh.
References BIAS::Vector3< T >::MultiplyIP().
Addition operator with scalar argument, returning new vector
Definition at line 189 of file Operators.hh.
References BIAS::Vector3< T >::Add().
Definition at line 408 of file Operators.hh.
References BIAS::Vector3< T >::Add().
|
related |
add operator for two Vectors, returning new vector
Definition at line 419 of file Operators.hh.
References BIAS::Vector3< T >::Add().
|
related |
add operator for Vector3, and Vector, so u dont have to cast...
Definition at line 430 of file Operators.hh.
References TNT::Vector< T >::size().
Addition operator with scalar argument
Definition at line 750 of file Vector3.hh.
References BIAS::Vector3< T >::AddIP().
|
related |
add operator for two Vectors
Definition at line 760 of file Vector3.hh.
References BIAS::Vector3< T >::AddIP().
Definition at line 61 of file Operators.hh.
Substraction operator with scalar argument, returning new vector
Definition at line 200 of file Operators.hh.
References BIAS::Vector3< T >::Sub().
Substraction operator with scalar argument, returning new vector
Definition at line 209 of file Operators.hh.
References BIAS::Vector3< T >::Mult().
|
related |
sub operator for two Vectors, returning new vector
Definition at line 448 of file Operators.hh.
References BIAS::Vector3< T >::Sub().
Substraction operator with scalar argument
Definition at line 771 of file Vector3.hh.
References BIAS::Vector3< T >::SubIP().
|
related |
sub operator for two Vectors
Definition at line 780 of file Vector3.hh.
References BIAS::Vector3< T >::SubIP().
Division operator with scalar argument, returning new vector
Definition at line 221 of file Operators.hh.
References BIAS::Vector3< T >::Divide().
Division operator with scalar argument
Definition at line 791 of file Vector3.hh.
References BIAS::Vector3< T >::DivideIP().
Definition at line 386 of file Operators.hh.
|
related |
Output with streams specialization for numerical display of unsigned char instead of alphabetically. fout format should be consistent with template implementation and Vector<>
Definition at line 809 of file Vector3.hh.
References BIAS::IsConsoleStream().
|
related |
Output with streams. Usese different format for cout,cerr and other ostreasm to be consistenv with Vector<> but have pretty display in console.
Definition at line 855 of file Vector3.hh.
References BIAS::IsConsoleStream().
Definition at line 380 of file Operators.hh.
Definition at line 398 of file Operators.hh.
Definition at line 392 of file Operators.hh.
|
related |
Input with streams specialization for numerical display of unsigned char instead of alphebetically. fout format should be consistent with template implementation and Vector<>
Definition at line 886 of file Vector3.hh.
References BIAS::Vector3< T >::GetData().
|
related |
Input with streams.
Definition at line 934 of file Vector3.hh.
References BIAS::Vector3< T >::GetData().
|
protected |
Definition at line 514 of file Vector3.hh.
Referenced by BIAS::Vector3< T >::Add(), BIAS::Vector3< T >::Divide(), BIAS::Vector3< T >::Multiply(), BIAS::Vector3< HOMGPOINT2D_TYPE >::operator==(), and BIAS::Vector3< T >::Sub().