Imath 3.1 Technical Documentation¶
Imath is a basic, light-weight, and efficient C++ representation of 2D
and 3D vectors and matrices and other simple but useful mathematical
objects, functions, and data types common in computer graphics
applications, including the half
16-bit floating-point type.
Download: https://github.com/AcademySoftwareFoundation/Imath
Install Help: INSTALL.md
Porting Help: Imath/OpenEXR Version 2->3 Porting Guide
License: BSD License
Introduction¶
The half Type¶
Imath Classes¶
- Box
- Color3
Color3c
Color3h
Color3f
C3c
C3h
C3f
Color3
Color3::Color3()
Color3::Color3()
Color3::Color3()
Color3::Color3()
Color3::Color3()
Color3::~Color3()
Color3::operator=()
Color3::operator+=()
Color3::operator+()
Color3::operator-=()
Color3::operator-()
Color3::operator-()
Color3::negate()
Color3::operator*=()
Color3::operator*=()
Color3::operator*()
Color3::operator*()
Color3::operator/=()
Color3::operator/=()
Color3::operator/()
Color3::operator/()
- Color4
Color4c
Color4h
Color4f
C4c
C4h
C4f
Color4
Color4::r
Color4::g
Color4::b
Color4::a
Color4::Color4()
Color4::Color4()
Color4::Color4()
Color4::Color4()
Color4::Color4()
Color4::~Color4()
Color4::operator=()
Color4::operator[]()
Color4::operator[]()
Color4::operator==()
Color4::operator!=()
Color4::operator+=()
Color4::operator+()
Color4::operator-=()
Color4::operator-()
Color4::operator-()
Color4::negate()
Color4::operator*=()
Color4::operator*=()
Color4::operator*()
Color4::operator*()
Color4::operator/=()
Color4::operator/=()
Color4::operator/()
Color4::operator/()
Color4::setValue()
Color4::setValue()
Color4::getValue()
Color4::getValue()
Color4::getValue()
Color4::getValue()
Color4::dimensions()
Color4::baseTypeLowest()
Color4::baseTypeMax()
Color4::baseTypeSmallest()
Color4::baseTypeEpsilon()
Color4::BaseType
operator<<()
- Euler
Eulerf
Eulerd
Euler
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::Euler()
Euler::~Euler()
Euler::order()
Euler::frameStatic()
Euler::initialRepeated()
Euler::parityEven()
Euler::initialAxis()
Euler::angleOrder()
Euler::angleMapping()
Euler::legal()
Euler::setOrder()
Euler::setXYZVector()
Euler::set()
Euler::operator=()
Euler::operator=()
Euler::extract()
Euler::extract()
Euler::extract()
Euler::toMatrix33()
Euler::toMatrix44()
Euler::toQuat()
Euler::toXYZVector()
Euler::makeNear()
Euler::angleMod()
Euler::simpleXYZRotation()
Euler::nearestRotation()
Euler::Order
Euler::Axis
Euler::InputLayout
operator<<()
- Frustum
Frustumf
Frustumd
Frustum
Frustum::Frustum()
Frustum::Frustum()
Frustum::Frustum()
Frustum::Frustum()
Frustum::~Frustum()
Frustum::operator=()
Frustum::operator==()
Frustum::operator!=()
Frustum::orthographic()
Frustum::nearPlane()
Frustum::hither()
Frustum::farPlane()
Frustum::yon()
Frustum::left()
Frustum::right()
Frustum::bottom()
Frustum::top()
Frustum::fovx()
Frustum::fovy()
Frustum::aspect()
Frustum::aspectExc()
Frustum::projectionMatrix()
Frustum::projectionMatrixExc()
Frustum::degenerate()
Frustum::set()
Frustum::set()
Frustum::setExc()
Frustum::modifyNearAndFar()
Frustum::setOrthographic()
Frustum::planes()
Frustum::planes()
Frustum::window()
Frustum::projectScreenToRay()
Frustum::projectPointToScreen()
Frustum::projectPointToScreenExc()
Frustum::ZToDepth()
Frustum::ZToDepthExc()
Frustum::normalizedZToDepth()
Frustum::normalizedZToDepthExc()
Frustum::DepthToZ()
Frustum::DepthToZExc()
Frustum::worldRadius()
Frustum::worldRadiusExc()
Frustum::screenRadius()
Frustum::screenRadiusExc()
- Interval
Intervals
Intervali
Intervalf
Intervald
Interval
Interval::min
Interval::max
Interval::Interval()
Interval::Interval()
Interval::Interval()
Interval::operator==()
Interval::operator!=()
Interval::makeEmpty()
Interval::extendBy()
Interval::extendBy()
Interval::makeInfinite()
Interval::size()
Interval::center()
Interval::intersects()
Interval::intersects()
Interval::isEmpty()
Interval::hasVolume()
Interval::isInfinite()
operator<<()
- Line3
- Matrix22
M22f
M22d
Matrix22
Matrix22::x
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::Matrix22()
Matrix22::operator=()
Matrix22::operator=()
Matrix22::~Matrix22()
Matrix22::getValue()
Matrix22::getValue()
Matrix22::getValue()
Matrix22::setValue()
Matrix22::setTheMatrix()
Matrix22::operator==()
Matrix22::operator!=()
Matrix22::equalWithAbsError()
Matrix22::equalWithRelError()
Matrix22::operator+=()
Matrix22::operator+=()
Matrix22::operator+()
Matrix22::operator-=()
Matrix22::operator-=()
Matrix22::operator-()
Matrix22::operator-()
Matrix22::negate()
Matrix22::operator*=()
Matrix22::operator*()
Matrix22::operator/=()
Matrix22::operator/()
Matrix22::operator*=()
Matrix22::operator*()
Matrix22::multDirMatrix()
Matrix22::makeIdentity()
Matrix22::transpose()
Matrix22::transposed()
Matrix22::invert()
Matrix22::invert()
Matrix22::inverse()
Matrix22::inverse()
Matrix22::determinant()
Matrix22::setRotation()
Matrix22::rotate()
Matrix22::setScale()
Matrix22::setScale()
Matrix22::scale()
Matrix22::baseTypeLowest()
Matrix22::baseTypeMax()
Matrix22::baseTypeSmallest()
Matrix22::baseTypeEpsilon()
Matrix22::BaseType
Matrix22::BaseVecType
Matrix22::operator[]()
Matrix22::operator[]()
Matrix22::setValue()
Matrix22::setTheMatrix()
Matrix22::setRotation()
Matrix22::rotate()
Matrix22::setScale()
Matrix22::scale()
Matrix22::dimensions()
operator<<()
- Matrix33
M33f
M33d
Matrix33
Matrix33::x
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::Matrix33()
Matrix33::operator=()
Matrix33::operator=()
Matrix33::~Matrix33()
Matrix33::getValue()
Matrix33::getValue()
Matrix33::getValue()
Matrix33::setValue()
Matrix33::setTheMatrix()
Matrix33::operator==()
Matrix33::operator!=()
Matrix33::equalWithAbsError()
Matrix33::equalWithRelError()
Matrix33::operator+=()
Matrix33::operator+=()
Matrix33::operator+()
Matrix33::operator-=()
Matrix33::operator-=()
Matrix33::operator-()
Matrix33::operator-()
Matrix33::negate()
Matrix33::operator*=()
Matrix33::operator*()
Matrix33::operator/=()
Matrix33::operator/()
Matrix33::operator*=()
Matrix33::operator*()
Matrix33::multVecMatrix()
Matrix33::multDirMatrix()
Matrix33::makeIdentity()
Matrix33::transpose()
Matrix33::transposed()
Matrix33::invert()
Matrix33::invert()
Matrix33::inverse()
Matrix33::inverse()
Matrix33::gjInvert()
Matrix33::gjInvert()
Matrix33::gjInverse()
Matrix33::gjInverse()
Matrix33::minorOf()
Matrix33::fastMinor()
Matrix33::determinant()
Matrix33::setRotation()
Matrix33::rotate()
Matrix33::setScale()
Matrix33::setScale()
Matrix33::scale()
Matrix33::setTranslation()
Matrix33::translation()
Matrix33::translate()
Matrix33::setShear()
Matrix33::setShear()
Matrix33::shear()
Matrix33::shear()
Matrix33::baseTypeLowest()
Matrix33::baseTypeMax()
Matrix33::baseTypeSmallest()
Matrix33::baseTypeEpsilon()
Matrix33::BaseType
Matrix33::BaseVecType
Matrix33::operator[]()
Matrix33::operator[]()
Matrix33::setValue()
Matrix33::setTheMatrix()
Matrix33::setRotation()
Matrix33::rotate()
Matrix33::setScale()
Matrix33::scale()
Matrix33::setTranslation()
Matrix33::translate()
Matrix33::setShear()
Matrix33::setShear()
Matrix33::shear()
Matrix33::shear()
Matrix33::dimensions()
operator<<()
- Matrix44
M44f
M44d
Matrix44
Matrix44::x
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::Matrix44()
Matrix44::operator=()
Matrix44::operator=()
Matrix44::~Matrix44()
Matrix44::getValue()
Matrix44::getValue()
Matrix44::getValue()
Matrix44::setValue()
Matrix44::setTheMatrix()
Matrix44::operator==()
Matrix44::operator!=()
Matrix44::equalWithAbsError()
Matrix44::equalWithRelError()
Matrix44::operator+=()
Matrix44::operator+=()
Matrix44::operator+()
Matrix44::operator-=()
Matrix44::operator-=()
Matrix44::operator-()
Matrix44::operator-()
Matrix44::negate()
Matrix44::operator*=()
Matrix44::operator*()
Matrix44::operator/=()
Matrix44::operator/()
Matrix44::operator*=()
Matrix44::operator*()
Matrix44::multVecMatrix()
Matrix44::multDirMatrix()
Matrix44::multiply()
Matrix44::multiply()
Matrix44::makeIdentity()
Matrix44::transpose()
Matrix44::transposed()
Matrix44::invert()
Matrix44::invert()
Matrix44::inverse()
Matrix44::inverse()
Matrix44::gjInvert()
Matrix44::gjInvert()
Matrix44::gjInverse()
Matrix44::gjInverse()
Matrix44::minorOf()
Matrix44::fastMinor()
Matrix44::determinant()
Matrix44::setEulerAngles()
Matrix44::setAxisAngle()
Matrix44::rotate()
Matrix44::setScale()
Matrix44::setScale()
Matrix44::scale()
Matrix44::setTranslation()
Matrix44::translation()
Matrix44::translate()
Matrix44::setShear()
Matrix44::setShear()
Matrix44::shear()
Matrix44::shear()
Matrix44::baseTypeLowest()
Matrix44::baseTypeMax()
Matrix44::baseTypeSmallest()
Matrix44::baseTypeEpsilon()
Matrix44::BaseType
Matrix44::BaseVecType
Matrix44::operator[]()
Matrix44::operator[]()
Matrix44::setValue()
Matrix44::setTheMatrix()
Matrix44::setEulerAngles()
Matrix44::setAxisAngle()
Matrix44::rotate()
Matrix44::setScale()
Matrix44::scale()
Matrix44::setTranslation()
Matrix44::translate()
Matrix44::setShear()
Matrix44::setShear()
Matrix44::shear()
Matrix44::shear()
Matrix44::dimensions()
operator<<()
- Plane3
- Quat
Quatf
Quat
Quat::r
Quat::v
Quat::Quat()
Quat::Quat()
Quat::Quat()
Quat::Quat()
Quat::Quat()
Quat::operator=()
Quat::~Quat()
Quat::identity()
Quat::operator*=()
Quat::operator*=()
Quat::operator/=()
Quat::operator/=()
Quat::operator+=()
Quat::operator-=()
Quat::operator==()
Quat::operator!=()
Quat::length()
Quat::angle()
Quat::axis()
Quat::toMatrix33()
Quat::toMatrix44()
Quat::log()
Quat::exp()
Quat::invert()
Quat::inverse()
Quat::normalize()
Quat::normalized()
Quat::rotateVector()
Quat::euclideanInnerProduct()
Quat::setAxisAngle()
Quat::setRotation()
Quat::BaseType
Quat::operator[]()
Quat::operator[]()
operator<<()
- Rand32
- Rand48
- Shear6
Shear6f
Shear6
Shear6::xy
Shear6::xz
Shear6::yz
Shear6::yx
Shear6::zx
Shear6::zy
Shear6::Shear6()
Shear6::Shear6()
Shear6::Shear6()
Shear6::Shear6()
Shear6::Shear6()
Shear6::Shear6()
Shear6::Shear6()
Shear6::operator=()
Shear6::operator=()
Shear6::~Shear6()
Shear6::setValue()
Shear6::setValue()
Shear6::getValue()
Shear6::getValue()
Shear6::getValue()
Shear6::getValue()
Shear6::operator==()
Shear6::operator!=()
Shear6::equalWithAbsError()
Shear6::equalWithRelError()
Shear6::operator+=()
Shear6::operator+()
Shear6::operator-=()
Shear6::operator-()
Shear6::operator-()
Shear6::negate()
Shear6::operator*=()
Shear6::operator*=()
Shear6::operator*()
Shear6::operator*()
Shear6::operator/=()
Shear6::operator/=()
Shear6::operator/()
Shear6::operator/()
Shear6::baseTypeLowest()
Shear6::baseTypeMax()
Shear6::baseTypeSmallest()
Shear6::baseTypeEpsilon()
Shear6::BaseType
Shear6::operator[]()
Shear6::operator[]()
Shear6::operator=()
Shear6::dimensions()
operator<<()
- Sphere3
- Vec2
V2s
V2i
V2i64
V2f
V2d
Vec2
Vec2::x
Vec2::y
Vec2::Vec2()
Vec2::Vec2()
Vec2::Vec2()
Vec2::Vec2()
Vec2::Vec2()
Vec2::operator=()
Vec2::~Vec2()
Vec2::setValue()
Vec2::setValue()
Vec2::getValue()
Vec2::getValue()
Vec2::getValue()
Vec2::getValue()
Vec2::operator==()
Vec2::operator!=()
Vec2::equalWithAbsError()
Vec2::equalWithRelError()
Vec2::dot()
Vec2::operator^()
Vec2::cross()
Vec2::operator%()
Vec2::operator+=()
Vec2::operator+()
Vec2::operator-=()
Vec2::operator-()
Vec2::operator-()
Vec2::negate()
Vec2::operator*=()
Vec2::operator*=()
Vec2::operator*()
Vec2::operator*()
Vec2::operator/=()
Vec2::operator/=()
Vec2::operator/()
Vec2::operator/()
Vec2::length()
Vec2::length2()
Vec2::normalize()
Vec2::normalizeExc()
Vec2::normalizeNonNull()
Vec2::normalized()
Vec2::normalizedExc()
Vec2::normalizedNonNull()
Vec2::baseTypeLowest()
Vec2::baseTypeMax()
Vec2::baseTypeSmallest()
Vec2::baseTypeEpsilon()
Vec2::BaseType
Vec2::operator[]()
Vec2::operator[]()
Vec2::dimensions()
operator<<()
- Vec3
V3s
V3i
V3i64
V3f
V3d
Vec3
Vec3::x
Vec3::y
Vec3::z
Vec3::Vec3()
Vec3::Vec3()
Vec3::Vec3()
Vec3::Vec3()
Vec3::Vec3()
Vec3::Vec3()
Vec3::Vec3()
Vec3::operator=()
Vec3::~Vec3()
Vec3::setValue()
Vec3::setValue()
Vec3::getValue()
Vec3::getValue()
Vec3::getValue()
Vec3::getValue()
Vec3::operator==()
Vec3::operator!=()
Vec3::equalWithAbsError()
Vec3::equalWithRelError()
Vec3::dot()
Vec3::operator^()
Vec3::cross()
Vec3::operator%=()
Vec3::operator%()
Vec3::operator+=()
Vec3::operator+()
Vec3::operator-=()
Vec3::operator-()
Vec3::operator-()
Vec3::negate()
Vec3::operator*=()
Vec3::operator*=()
Vec3::operator*()
Vec3::operator*()
Vec3::operator/=()
Vec3::operator/=()
Vec3::operator/()
Vec3::operator/()
Vec3::length()
Vec3::length2()
Vec3::normalize()
Vec3::normalizeExc()
Vec3::normalizeNonNull()
Vec3::normalized()
Vec3::normalizedExc()
Vec3::normalizedNonNull()
Vec3::baseTypeLowest()
Vec3::baseTypeMax()
Vec3::baseTypeSmallest()
Vec3::baseTypeEpsilon()
Vec3::BaseType
Vec3::operator[]()
Vec3::operator[]()
Vec3::dimensions()
operator<<()
- Vec4
V4s
V4i
V4i64
V4f
V4d
Vec4
Vec4::x
Vec4::y
Vec4::z
Vec4::w
Vec4::Vec4()
Vec4::Vec4()
Vec4::Vec4()
Vec4::Vec4()
Vec4::Vec4()
Vec4::Vec4()
Vec4::operator=()
Vec4::~Vec4()
Vec4::operator==()
Vec4::operator!=()
Vec4::equalWithAbsError()
Vec4::equalWithRelError()
Vec4::dot()
Vec4::operator^()
Vec4::operator+=()
Vec4::operator+()
Vec4::operator-=()
Vec4::operator-()
Vec4::operator-()
Vec4::negate()
Vec4::operator*=()
Vec4::operator*=()
Vec4::operator*()
Vec4::operator*()
Vec4::operator/=()
Vec4::operator/=()
Vec4::operator/()
Vec4::operator/()
Vec4::length()
Vec4::length2()
Vec4::normalize()
Vec4::normalizeExc()
Vec4::normalizeNonNull()
Vec4::normalized()
Vec4::normalizedExc()
Vec4::normalizedNonNull()
Vec4::baseTypeLowest()
Vec4::baseTypeMax()
Vec4::baseTypeSmallest()
Vec4::baseTypeEpsilon()
Vec4::BaseType
Vec4::operator[]()
Vec4::operator[]()
Vec4::dimensions()
operator<<()
Imath Functions¶
- Box Functions
- Color Functions
- Frame Functions
- GL Functions
- GLU Functions
- Line3 Functions
- Matrix Functions
extractScaling()
sansScaling()
removeScaling()
extractScalingAndShear()
sansScalingAndShear()
sansScalingAndShear()
removeScalingAndShear()
extractAndRemoveScalingAndShear()
extractEulerXYZ()
extractEulerZYX()
extractQuat()
extractSHRT()
extractSHRT()
extractSHRT()
checkForZeroScaleInRow()
outerProduct()
rotationMatrix()
rotationMatrixWithUpDir()
alignZAxisWithTargetDir()
computeLocalFrame()
addOffset()
computeRSMatrix()
extractScaling()
sansScaling()
removeScaling()
extractScalingAndShear()
sansScalingAndShear()
removeScalingAndShear()
extractAndRemoveScalingAndShear()
extractEuler()
extractEuler()
extractSHRT()
checkForZeroScaleInRow()
outerProduct()
procrustesRotationAndTranslation()
procrustesRotationAndTranslation()
jacobiSVD()
jacobiSVD()
jacobiEigenSolver()
jacobiEigenSolver()
jacobiEigenSolver()
jacobiEigenSolver()
maxEigenVector()
minEigenVector()
- Random Numbers
- Roots
- Vector Functions