eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Math Namespace Reference


Classes

class  AbstractTransformation
class  BellCurve
class  BellSurface
struct  BezierTriangle3
class  BSpline1
class  BSpline2
struct  ConvolutionKernel
class  GaussNewton
class  Point2
class  Point3
class  Segment2
class  Segment3
class  Rectangle2
class  AOBBox2
class  Triangle2
class  Triangle3
class  TriangleIdx
struct  TriangulationData
struct  BarycentricCoordinates2
class  IFunctionNL
class  IMatrix
class  IResampleFilter
class  ISpline1D
class  ISpline2D
class  IVector
class  KDTree
struct  KDNode
class  LeastSquares
class  LinearTransformation
class  Matrix
class  MatrixColVector
class  MatrixRowVector
class  Ramp
class  ResampleHelper
class  SingleColMatrix
class  SingleRowMatrix
class  SubMatrix
class  IMapTransform
class  CopyTransform
class  GammaTransform
class  MidtoneTransform
class  ITransfertFunction
class  AbstractTransfertFunction
class  TransfertFunctionCopy
class  TransfertFunctionGamma
class  TransfertFunctionMidtone
class  TransposedMatrix
class  Vector

Typedefs

typedef ConvolutionKernel< float > ConvolutionKernelf
typedef ConvolutionKernel< double > ConvolutionKerneld
typedef ConvolutionKernel< int32 > ConvolutionKerneli
typedef std::vector< Point2iPoint2iList
typedef std::vector< Point2lPoint2lList
typedef std::vector< Point2fPoint2fList
typedef std::vector< Point2dPoint2dList
typedef std::vector< AOBBox2iAOBBox2iList
typedef std::vector< AOBBox2lAOBBox2lList
typedef std::vector< AOBBox2fAOBBox2fList
typedef std::vector< AOBBox2dAOBBox2dList
typedef std::vector< TriangleIdxTriangleIdxList
1d BSpline specializations
typedef BSpline1< int32 > BSpline1i
typedef BSpline1< int64 > BSpline1l
typedef BSpline1< float > BSpline1f
typedef BSpline1< double > BSpline1d
2d BSpline specializations
typedef BSpline2< int32 > BSpline2i
typedef BSpline2< int64 > BSpline2l
typedef BSpline2< float > BSpline2f
typedef BSpline2< double > BSpline2d
Point specializations
typedef Point2< int32 > Point2i
typedef Point2< int64 > Point2l
typedef Point2< float > Point2f
typedef Point2< double > Point2d
typedef Point3< int32 > Point3i
typedef Point3< int64 > Point3l
typedef Point3< float > Point3f
typedef Point3< double > Point3d
Segment specializations
typedef Segment2< int32 > Segment2i
typedef Segment2< int64 > Segment2l
typedef Segment2< float > Segment2f
typedef Segment2< double > Segment2d
typedef Segment3< int32 > Segment3i
typedef Segment3< int64 > Segment3l
typedef Segment3< float > Segment3f
typedef Segment3< double > Segment3d
Rectangle specializations
typedef Rectangle2< int32 > Rectangle2i
typedef Rectangle2< int64 > Rectangle2l
typedef Rectangle2< float > Rectangle2f
typedef Rectangle2< double > Rectangle2d
Segment specializations
typedef AOBBox2< int32 > AOBBox2i
typedef AOBBox2< int64 > AOBBox2l
typedef AOBBox2< float > AOBBox2f
typedef AOBBox2< double > AOBBox2d
Triangle specializations
typedef Triangle2< int32 > Triangle2i
typedef Triangle2< int64 > Triangle2l
typedef Triangle2< float > Triangle2f
typedef Triangle2< double > Triangle2d
typedef Triangle3< int32 > Triangle3i
typedef Triangle3< int64 > Triangle3l
typedef Triangle3< float > Triangle3f
typedef Triangle3< double > Triangle3d

Enumerations

enum  ECompassDirection {
  CD_North = 0, CD_NorthEast, CD_East, CD_SouthEast,
  CD_South, CD_SouthWest, CD_West, CD_NorthWest
}
enum  EResampleFilter {
  RF_Box, RF_Triangle, RF_Hermite, RF_Bell,
  RF_CubicBSpline, RF_Lanczos3, RF_Mitchell, RF_Cosine,
  RF_CatmullRom, RF_Quadratic, RF_CubicConvolution, RF_Lanczos5,
  RF_Lanczos8, RF_BlackmanHarris, RF_Undefined
}
 Implemented resample filter collection. More...

Functions

ExportedByMath bool elxFFT (float *ioprComplexMap, uint32 iDimArray[], uint32 iDimension, bool ibForward)
ExportedByMath bool elxFFT (double *ioprComplexMap, uint32 iDimArray[], uint32 iDimension, bool ibForward)
template<typename T >
double elxGetDistance (const Point2< T > &iP0, const Point2< T > &iP1)
template<typename T >
Point2< T > elxGetMiddle (const Point2< T > &iP0, const Point2< T > &iP1)
template<class T >
Point2< T > elxGetMiddle (const Point2< T > &iP0, const Point2< T > &iP1, const Point2< T > &iP2)
template<typename T >
bool elxComparePoints (const Point2< T > &iP0, const Point2< T > &iP1)
template<typename T >
bool elxEqualPoints (const Point2< T > &iP0, const Point2< T > &iP1)
template<class T >
Point2< T > elxNormalizePoint (const Point2< T > &iP)
template<class T >
elxDotProduct (const Point2< T > &iP0, const Point2< T > &iP1)
template<class T >
Point2< T > elxSubstructPoints (const Point2< T > &iP0, const Point2< T > &iP1)
template<class T >
Point2< T > elxAddPoints (const Point2< T > &iP0, const Point2< T > &iP1)
template<typename T >
double elxGetDistance (const Point3< T > &iP0, const Point3< T > &iP1)
template<typename T >
Point3< T > elxGetMiddle (const Point3< T > &iP0, const Point3< T > &iP1)
template<class T >
Point3< T > elxGetMiddle (const Point3< T > &iP0, const Point3< T > &iP1, const Point3< T > &iP2)
template<typename T >
bool elxComparePoints (const Point3< T > &iP0, const Point3< T > &iP1)
template<typename T >
bool elxEqualPoints (const Point3< T > &iP0, const Point3< T > &iP1)
template<class T >
Point3< T > elxNormalizePoint (const Point3< T > &iP)
template<class T >
Point3< T > elxCrossProduct (const Point3< T > &iP0, const Point3< T > &iP1)
template<class T >
elxDotProduct (const Point3< T > &iP0, const Point3< T > &iP1)
template<class T >
Point3< T > elxSubstructPoints (const Point3< T > &iP0, const Point3< T > &iP1)
template<class T >
Point3< T > elxAddPoints (const Point3< T > &iP0, const Point3< T > &iP1)
bool ExportedByMath elxTriangulate (const Point2iList &iPoints, TriangleIdxList &oTriangles)
bool ExportedByMath elxTriangulate (const Point2iList &iPoints, TriangulationData &oTriangles)
template<class Operator >
void ExportedByMath elxProcessLine2i (int32 iX1, int32 iY1, int32 iX2, int32 iY2, int32 iW, int32 iH, Operator &iOperator)
template<class Operator >
void ExportedByMath elxProcessLine2i (const Math::Point2i &iP1, const Math::Point2i &iP2, int32 iW, int32 iH, Operator &iOperator)
void ExportedByMath elxComputeLinePoints (const Point2i &iP1, const Point2i &iP2, int32 iW, int32 iH, Point2iList &iPoints)
template<typename T >
bool ExportedByMath elxIntersectLineLine (const Point2< T > &iPoint11, const Point2< T > &iPoint12, const Point2< T > &iPoint21, const Point2< T > &iPoint22, Point2< T > &oPoint)
template<typename T >
bool ExportedByMath elxIntersectLineLine (const T iX11, const T iY11, const T iX12, const T iY12, const T iX21, const T iY21, const T iX22, const T iY22, T &X, T &Y)
template<typename T , typename U >
bool ExportedByMath elxIntersectLineLine (const Point2< T > &iPoint11, const Point2< T > &iPoint12, const Point2< T > &iPoint21, const Point2< T > &iPoint22, Point2< U > &oPoint)
template<typename T , typename U >
bool ExportedByMath elxIntersectLineLine (const T iX11, const T iY11, const T iX12, const T iY12, const T iX21, const T iY21, const T iX22, const T iY22, U &X, U &Y)
template<typename T >
bool ExportedByMath elxIntersectLineSegment (const Point2< T > &iPoint1, const Point2< T > &iPoint2, const Segment2< T > &iSegment, Point2< T > &oPoint)
bool ExportedByMath elxIntersectLineRectangle (const Point2< int32 > &iPoint1, const Point2< int32 > &iPoint2, const Rectangle2< int32 > &iRectangle, Segment2< int32 > &oSegment)
template<typename T >
bool ExportedByMath elxIntersectCircleRectangle (const Rectangle2< T > &iRectangle, const Point2< T > &iPoint, T iRadius)
ExportedByMath uint32 elxGetKernelSize (double iRadius)
ExportedByMath ConvolutionKerneld elxMakeGaussianSeparableKernel (uint32 iWidth, double iVariance, bool ibHorizontal)
ExportedByMath ConvolutionKerneld elxMakeGaussianKernel (uint32 iWidth, uint32 iHeight, double iVariance)
ExportedByMath ConvolutionKerneld elxMakeGaussianKernel (uint32 iRadius, double iVariance)
ExportedByMath ConvolutionKerneld elxMakeMeanKernel (uint32 iWidth, uint32 iHeight)
ExportedByMath ConvolutionKerneld elxMakeMeanRadiusKernel (double iRadius, bool ibCircular=true)
ExportedByMath ConvolutionKerneld elxMakeCircleKernel (double iRadius, bool ibNormalize=false)
ExportedByMath ConvolutionKerneld elxMakeSmooth3x3d ()
ExportedByMath ConvolutionKerneld elxMakeCone5x5d ()
ExportedByMath ConvolutionKerneld elxMakePyramidal5x5d ()
ExportedByMath ConvolutionKerneld elxMakeLowpass3x3d (double iAlpha)
ExportedByMath ConvolutionKerneld elxMakeSharpenSoft3x3d ()
ExportedByMath ConvolutionKerneld elxMakeSharpenSoft5x5d ()
ExportedByMath ConvolutionKerneld elxMakeSharpenSmooth3x3d (double iAlpha)
ExportedByMath ConvolutionKerneld elxMakeSharpenMore3x3d (double iAlpha=1.0)
ExportedByMath ConvolutionKerneld elxMakeSharpen (double iRadius)
ExportedByMath ConvolutionKerneld elxMakeEmboss3x3d (double iDegrees=0.0)
ExportedByMath ConvolutionKerneld elxMakePixelDifference3x3d ()
ExportedByMath ConvolutionKerneld elxMakeSeparatedPixelDifference3x3d ()
ExportedByMath ConvolutionKerneld elxMakeRoberts3x3d ()
ExportedByMath ConvolutionKerneld elxMakePrewitt3x3d ()
ExportedByMath ConvolutionKerneld elxMakePrewitt5x5d ()
ExportedByMath ConvolutionKerneld elxMakeFreiChen3x3d ()
ExportedByMath ConvolutionKerneld elxMakeSobel3x3d ()
ExportedByMath ConvolutionKerneld elxMakeSobel5x5d ()
ExportedByMath ConvolutionKerneld elxMakeSobelNxNd (uint32 iSize=3)
ExportedByMath ConvolutionKerneld elxMakeRobinson5x5d ()
ExportedByMath ConvolutionKerneld elxMakeLaplacian3x3d ()
ExportedByMath ConvolutionKerneld elxMakeLaplacian3x3d (double iAlpha)
ExportedByMath ConvolutionKerneld elxMakeLaplacian (double iRadius)
ExportedByMath ConvolutionKerneld elxMakeLoG (double iRadius, double iVariance)
ExportedByMath ConvolutionKerneld elxMakeMarrHildreth3x3d ()
ExportedByMath ConvolutionKerneld elxMakeKirsch3x3d ()
ExportedByMath ConvolutionKerneld elxMakeKirsch5x5d ()
template<typename T >
bool elxApplyRamp (const Ramp< T > &iRamp, T *iprSrc, size_t iSize, uint32 iChannelCount, uint32 iChannelMask)
template<typename T >
bool elxApplyRampFast (const Ramp< T > &iRamp, T *iprSrc, size_t iSize, uint32 iChannelCount, uint32 iChannelMask)
template<typename T >
bool elxApplyRamp (const Ramp< T > &iRamp0, const Ramp< T > &iRamp1, T *iprSrc, size_t iSize, uint32 iChannelMask)
template<typename T >
bool elxApplyRampFast (const Ramp< T > &iRamp0, const Ramp< T > &iRamp1, T *iprSrc, size_t iSize, uint32 iChannelMask)
template<typename T >
bool elxApplyRamp (const Ramp< T > &iRamp0, const Ramp< T > &iRamp1, const Ramp< T > &iRamp2, T *iprSrc, size_t iSize, uint32 iChannelMask)
template<typename T >
bool elxApplyRampFast (const Ramp< T > &iRamp0, const Ramp< T > &iRamp1, const Ramp< T > &iRamp2, T *iprSrc, size_t iSize, uint32 iChannelMask)
 DEFINE_RESAMPLE_FILTER (Box)
 DEFINE_RESAMPLE_FILTER (Triangle)
 DEFINE_RESAMPLE_FILTER (Hermite)
 DEFINE_RESAMPLE_FILTER (Bell)
 DEFINE_RESAMPLE_FILTER (CubicBSpline)
 DEFINE_RESAMPLE_FILTER (Lanczos3)
 DEFINE_RESAMPLE_FILTER (Mitchell)
 DEFINE_RESAMPLE_FILTER (Cosine)
 DEFINE_RESAMPLE_FILTER (CatmullRom)
 DEFINE_RESAMPLE_FILTER (Quadratic)
 DEFINE_RESAMPLE_FILTER (CubicConvolution)
 DEFINE_RESAMPLE_FILTER (Lanczos5)
 DEFINE_RESAMPLE_FILTER (Lanczos8)
 DEFINE_RESAMPLE_FILTER (BlackmanHarris)
ExportedByMath const char * elxToString (EResampleFilter iFilter)
ExportedByMath const
IResampleFilter
elxGetResampleFilter (EResampleFilter iFilter)
Sort function helpers.
template<typename T >
const T & elxMin (const T &iA, const T &iB)
template<typename T >
const T & elxMin (const T &iA, const T &iB, const T &iC)
template<typename T >
const T & elxMin (const T &iA, const T &iB, const T &iC, const T &iD)
template<typename T >
const T & elxMin (const T &iA, const T &iB, const T &iC, const T &iD, const T &iE)
template<typename T >
const T & elxMin (const T &iA, const T &iB, const T &iC, const T &iD, const T &iE, const T &iF)
template<typename T >
bool elxMin (const T *iprSrc, uint32 iSize, T &oMin)
template<typename T >
bool elxMin (const T *iprSrc, uint32 iSize, uint32 iStep, T *oprMin)
template<typename T >
elxMin (T iV0, T iV1, T iV2, T iV3, T iV4, T iV5, T iV6, T iV7, T iV8)
template<typename T >
const T & elxMax (const T &iA, const T &iB)
template<typename T >
const T & elxMax (const T &iA, const T &iB, const T &iC)
template<typename T >
const T & elxMax (const T &iA, const T &iB, const T &iC, const T &iD)
template<typename T >
const T & elxMax (const T &iA, const T &iB, const T &iC, const T &iD, const T &iE)
template<typename T >
const T & elxMax (const T &iA, const T &iB, const T &iC, const T &iD, const T &iE, const T &iF)
template<typename T >
bool elxMax (const T *iprSrc, uint32 iSize, T &oMin)
template<typename T >
bool elxMax (const T *iprSrc, uint32 iSize, uint32 iStep, T *oprMax)
template<typename T >
elxMax (T iV0, T iV1, T iV2, T iV3, T iV4, T iV5, T iV6, T iV7, T iV8)
template<typename T >
bool elxMinMax (const T *iprSrc, uint32 iSize, T &oMin, T &oMax)
template<typename T >
bool elxMinMax (const T *iprSrc, uint32 iSize, uint32 iStep, T *oprMin, T *oprMax)
template<typename T >
elxNeg (const T iValue)
 negative
template<typename T >
elxMedian (T iV0, T iV1, T iV2)
 Median of 3 values.
template<typename T >
elxMedian (T iV0, T iV1, T iV2, T iV3)
 Median of 4 values.
template<typename T >
elxMedian (T iV0, T iV1, T iV2, T iV3, T iV4, T iV5, T iV6, T iV7, T iV8)
 Median of 9 values.
Normalization.
template<typename T >
bool elxNormalize (T *ioprSrc, uint32 iSize, T iMin, T iMax)
template<typename T >
bool elxNormalize (T *ioprSrc, uint32 iSize, const T *oprMin, const T *oprMax, uint32 iChannelMask, uint32 iChannelCount)
template<typename T >
bool elxNormalize (T *ioprSrc, uint32 iSize)
template<typename T >
bool elxNormalize (T *ioprSrc, uint32 iStep, uint32 iSize, uint32 iChannelMask, uint32 iChannelCount)
Arithmetic helpers.
template<typename T >
elxSign (T iValue)
template<typename T >
elxAbs (T iX)
template<typename T >
elxFloor (T iValue)
template<typename T >
elxCeil (T iValue)
template<typename T >
elxRound (T iValue)
template<typename T >
int32 elxRint (T iValue)
template<typename T >
elxMod (T iA, T iB)
template<typename T >
elxMean (T iV1, T iV2)
template<typename T >
elxAbsDiff (T iV1, T iV2)
template<typename T >
bool elxIsOdd (T iValue)
template<typename T >
bool elxIsEven (T iValue)
ExportedByMath int32 elxHighBit (uint32 iVal)
Exponential, logarithmic and power function helpers.
template<typename T >
elxSqr (T iX)
template<typename T >
elxSqrt (T iX)
template<typename T >
elxPow (T iX, T iY)
template<typename T >
elxLog (T iX)
template<typename T >
elxLog10 (T iX)
template<typename T >
elxExp (T iX)
template<typename T >
bool elxIsPow2 (T iValue)
template<typename T >
elxNextPow2 (T iValue)
Trigonometric and hyperbolic function helpers.
PI constant value

template<typename T >
elxDeg2Rad (T iDegrees)
template<typename T >
elxRad2Deg (T iRadian)
template<typename T >
elxCos (T iRadian)
template<typename T >
elxSin (T iRadian)
template<typename T >
elxTan (T iRadian)
template<typename T >
elxArccos (T iX)
template<typename T >
elxArcsin (T iX)
template<typename T >
elxArctan (T iYoX)
Gaussian family function helpers.
template<typename T >
elxGetGaussianVariance (T iRadius)
 Get variance from a given radius.
template<typename T >
elxGaussian (T iX, T iSigma)
 1D Gaussian curve.
template<typename T >
elxGaussian (T iX, T iY, T iSigma)
 2D Gaussian curve.
template<typename T >
elxMeanGaussian (T iX, T iSigma)
template<typename T >
elxDoG (T iX, T iSigma)
 First Derivative of Gaussian.
template<typename T >
elxLoG (T iX, T iSigma)
 Laplacian of Gaussian.
template<typename T >
elxLoG (T iX, T iY, T iSigma)
 2D Laplacian of Gaussian curve.
Miscelaneaous function helpers.
template<typename T >
elxSmooth (T iMin, T iMax, T iValue)
ExportedByMath double elxMidtone (double iX, double iMidtone)
Random number generator function helpers.
ExportedByMath void elxRandomReset ()
ExportedByMath void elxRandomReset (int32 iSeed)
ExportedByMath int32 elxRandomSign ()
ExportedByMath double elxRandom ()
template<typename T >
elxRandom (T iMax)
template<typename T >
elxRandom (T iMin, T iMax)

Operators.

enum  EValueAction { R_NoAction, R_Clamp, R_Cycle }
 List of possible actions with the returned value. More...
template<typename T , typename U >
void elxClamp (T iIn, U &oOut)
template<typename T >
void elxClamp (T iInMin, T iInMax, T &oOut)
template<typename T >
bool elxAdd (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxSub (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxMul (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxDiv (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxDif (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxAddClamp (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxSubClamp (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxMulClamp (T *ioprSrc, uint32 iSize, double iValue)
template<typename T >
bool elxDivClamp (T *ioprSrc, uint32 iSize, double iValue)
template<typename T >
bool elxAddCycle (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxSubCycle (T *ioprSrc, uint32 iSize, T iValue)
template<typename T >
bool elxMulCycle (T *ioprSrc, uint32 iSize, double iValue)
template<typename T >
bool elxDivCycle (T *ioprSrc, uint32 iSize, double iValue)
template<typename T >
bool elxAdd (T *ioprSrc, uint32 iSize, T iValue, EValueAction iAction)
template<typename T >
bool elxSub (T *ioprSrc, uint32 iSize, T iValue, EValueAction iAction)
template<typename T >
bool elxMul (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxDiv (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxAdd (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxSub (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxAddNorm (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxSubNorm (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxMulNorm (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)
template<typename T >
bool elxDivNorm (T *ioprSrc, uint32 iSize, double iValue, EValueAction iAction)

Detailed Description

Deals with all basic math helpers and vectorial tools classes.


Typedef Documentation

Definition at line 76 of file BSpline.h.

Definition at line 77 of file BSpline.h.

Definition at line 78 of file BSpline.h.

Definition at line 79 of file BSpline.h.

Definition at line 139 of file BSpline.h.

Definition at line 140 of file BSpline.h.

Definition at line 141 of file BSpline.h.

Definition at line 142 of file BSpline.h.

Definition at line 139 of file ConvolutionKernel.h.

Definition at line 140 of file ConvolutionKernel.h.

Definition at line 141 of file ConvolutionKernel.h.

typedef Point2<int32> eLynx::Math::Point2i

Definition at line 132 of file Geometry.h.

typedef Point2<int64> eLynx::Math::Point2l

Definition at line 133 of file Geometry.h.

typedef Point2<float> eLynx::Math::Point2f

Definition at line 134 of file Geometry.h.

typedef Point2<double> eLynx::Math::Point2d

Definition at line 135 of file Geometry.h.

typedef Point3<int32> eLynx::Math::Point3i

Definition at line 137 of file Geometry.h.

typedef Point3<int64> eLynx::Math::Point3l

Definition at line 138 of file Geometry.h.

typedef Point3<float> eLynx::Math::Point3f

Definition at line 139 of file Geometry.h.

typedef Point3<double> eLynx::Math::Point3d

Definition at line 140 of file Geometry.h.

typedef std::vector<Point2i> eLynx::Math::Point2iList

Definition at line 143 of file Geometry.h.

typedef std::vector<Point2l> eLynx::Math::Point2lList

Definition at line 144 of file Geometry.h.

typedef std::vector<Point2f> eLynx::Math::Point2fList

Definition at line 145 of file Geometry.h.

typedef std::vector<Point2d> eLynx::Math::Point2dList

Definition at line 146 of file Geometry.h.

Definition at line 190 of file Geometry.h.

Definition at line 191 of file Geometry.h.

Definition at line 192 of file Geometry.h.

Definition at line 193 of file Geometry.h.

Definition at line 195 of file Geometry.h.

Definition at line 196 of file Geometry.h.

Definition at line 197 of file Geometry.h.

Definition at line 198 of file Geometry.h.

Definition at line 230 of file Geometry.h.

Definition at line 231 of file Geometry.h.

Definition at line 232 of file Geometry.h.

Definition at line 233 of file Geometry.h.

Definition at line 272 of file Geometry.h.

Definition at line 273 of file Geometry.h.

Definition at line 274 of file Geometry.h.

typedef AOBBox2<double> eLynx::Math::AOBBox2d

Definition at line 275 of file Geometry.h.

typedef std::vector<AOBBox2i> eLynx::Math::AOBBox2iList

Definition at line 278 of file Geometry.h.

typedef std::vector<AOBBox2l> eLynx::Math::AOBBox2lList

Definition at line 279 of file Geometry.h.

typedef std::vector<AOBBox2f> eLynx::Math::AOBBox2fList

Definition at line 280 of file Geometry.h.

typedef std::vector<AOBBox2d> eLynx::Math::AOBBox2dList

Definition at line 281 of file Geometry.h.

Definition at line 330 of file Geometry.h.

Definition at line 331 of file Geometry.h.

Definition at line 332 of file Geometry.h.

Definition at line 333 of file Geometry.h.

Definition at line 335 of file Geometry.h.

Definition at line 336 of file Geometry.h.

Definition at line 337 of file Geometry.h.

Definition at line 338 of file Geometry.h.

Definition at line 358 of file Geometry.h.


Enumeration Type Documentation

Orientation CD_NorthWest CD_North CD_NorthEast CD_West CD_East CD_SouthWest CD_South CD_SouthEast

Enumerator:
CD_North 
CD_NorthEast 
CD_East 
CD_SouthEast 
CD_South 
CD_SouthWest 
CD_West 
CD_NorthWest 

Definition at line 32 of file ConvolutionKernel.h.

List of possible actions with the returned value.

Enumerator:
R_NoAction 
R_Clamp 
R_Cycle 

Definition at line 202 of file MathCore.h.

Implemented resample filter collection.

Enumerator:
RF_Box  pulse, Fourier window, 1st order (constant) b-spline
RF_Triangle  Bartlett window, 2nd order (linear) b-spline.
RF_Hermite 
RF_Bell  3rd order (quadratic) b-spline
RF_CubicBSpline  4th order (cubic) b-spline
RF_Lanczos3 
RF_Mitchell  Mitchell & Netravali's two-param cubic.
RF_Cosine 
RF_CatmullRom  Catmull-Rom spline, Overhauser spline.
RF_Quadratic 
RF_CubicConvolution 
RF_Lanczos5 
RF_Lanczos8 
RF_BlackmanHarris 
RF_Undefined 

Definition at line 51 of file ResampleFilterImpls.h.


Function Documentation

ExportedByMath bool eLynx::Math::elxFFT ( float *  ioprComplexMap,
uint32  iDimArray[],
uint32  iDimension,
bool  ibForward 
)

Computes an in-place complex-to-complex FFT

Parameters:
ioprComplexMap,: a map of complex.
iDimArray,: size for each dimension, must be a power of 2.
iDimension,: number of dimensions of complex map.
ibForward true for forward transform, false for inverse transform.
Returns:
false if the dimensions are not powers of 2, true otherwise.

ExportedByMath bool eLynx::Math::elxFFT ( double *  ioprComplexMap,
uint32  iDimArray[],
uint32  iDimension,
bool  ibForward 
)

template<typename T >
double eLynx::Math::elxGetDistance ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<typename T >
Point2<T> eLynx::Math::elxGetMiddle ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<class T >
Point2<T> eLynx::Math::elxGetMiddle ( const Point2< T > &  iP0,
const Point2< T > &  iP1,
const Point2< T > &  iP2 
) [inline]

template<typename T >
bool eLynx::Math::elxComparePoints ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<typename T >
bool eLynx::Math::elxEqualPoints ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<class T >
Point2<T> eLynx::Math::elxNormalizePoint ( const Point2< T > &  iP  )  [inline]

template<class T >
T eLynx::Math::elxDotProduct ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<class T >
Point2<T> eLynx::Math::elxSubstructPoints ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<class T >
Point2<T> eLynx::Math::elxAddPoints ( const Point2< T > &  iP0,
const Point2< T > &  iP1 
) [inline]

template<typename T >
double eLynx::Math::elxGetDistance ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<typename T >
Point3<T> eLynx::Math::elxGetMiddle ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<class T >
Point3<T> eLynx::Math::elxGetMiddle ( const Point3< T > &  iP0,
const Point3< T > &  iP1,
const Point3< T > &  iP2 
) [inline]

template<typename T >
bool eLynx::Math::elxComparePoints ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<typename T >
bool eLynx::Math::elxEqualPoints ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<class T >
Point3<T> eLynx::Math::elxNormalizePoint ( const Point3< T > &  iP  )  [inline]

template<class T >
Point3<T> eLynx::Math::elxCrossProduct ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<class T >
T eLynx::Math::elxDotProduct ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<class T >
Point3<T> eLynx::Math::elxSubstructPoints ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

template<class T >
Point3<T> eLynx::Math::elxAddPoints ( const Point3< T > &  iP0,
const Point3< T > &  iP1 
) [inline]

bool ExportedByMath eLynx::Math::elxTriangulate ( const Point2iList &  iPoints,
TriangleIdxList &  oTriangles 
)

bool ExportedByMath eLynx::Math::elxTriangulate ( const Point2iList &  iPoints,
TriangulationData &  oTriangles 
)

template<class Operator >
void ExportedByMath eLynx::Math::elxProcessLine2i ( int32  iX1,
int32  iY1,
int32  iX2,
int32  iY2,
int32  iW,
int32  iH,
Operator &  iOperator 
) [inline]

template<class Operator >
void ExportedByMath eLynx::Math::elxProcessLine2i ( const Math::Point2i &  iP1,
const Math::Point2i &  iP2,
int32  iW,
int32  iH,
Operator &  iOperator 
) [inline]

void ExportedByMath eLynx::Math::elxComputeLinePoints ( const Point2i &  iP1,
const Point2i &  iP2,
int32  iW,
int32  iH,
Point2iList &  iPoints 
)

template<typename T >
bool ExportedByMath eLynx::Math::elxIntersectLineLine ( const Point2< T > &  iPoint11,
const Point2< T > &  iPoint12,
const Point2< T > &  iPoint21,
const Point2< T > &  iPoint22,
Point2< T > &  oPoint 
) [inline]

template<typename T >
bool ExportedByMath eLynx::Math::elxIntersectLineLine ( const T  iX11,
const T  iY11,
const T  iX12,
const T  iY12,
const T  iX21,
const T  iY21,
const T  iX22,
const T  iY22,
T &  X,
T &  Y 
) [inline]

template<typename T , typename U >
bool ExportedByMath eLynx::Math::elxIntersectLineLine ( const Point2< T > &  iPoint11,
const Point2< T > &  iPoint12,
const Point2< T > &  iPoint21,
const Point2< T > &  iPoint22,
Point2< U > &  oPoint 
) [inline]

template<typename T , typename U >
bool ExportedByMath eLynx::Math::elxIntersectLineLine ( const T  iX11,
const T  iY11,
const T  iX12,
const T  iY12,
const T  iX21,
const T  iY21,
const T  iX22,
const T  iY22,
U &  X,
U &  Y 
) [inline]

template<typename T >
bool ExportedByMath eLynx::Math::elxIntersectLineSegment ( const Point2< T > &  iPoint1,
const Point2< T > &  iPoint2,
const Segment2< T > &  iSegment,
Point2< T > &  oPoint 
) [inline]

bool ExportedByMath eLynx::Math::elxIntersectLineRectangle ( const Point2< int32 > &  iPoint1,
const Point2< int32 > &  iPoint2,
const Rectangle2< int32 > &  iRectangle,
Segment2< int32 > &  oSegment 
)

template<typename T >
bool ExportedByMath eLynx::Math::elxIntersectCircleRectangle ( const Rectangle2< T > &  iRectangle,
const Point2< T > &  iPoint,
iRadius 
) [inline]

ExportedByMath uint32 eLynx::Math::elxGetKernelSize ( double  iRadius  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeGaussianSeparableKernel ( uint32  iWidth,
double  iVariance,
bool  ibHorizontal 
)

Make 2D Gaussian separable kernel.

Parameters:
iWidth the kernel width.
iVariance of the Gaussian curve.
ibHorizontal true if kernel is Wx1, false for 1xH.
Returns:
A normalized Gaussian kernel.

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeGaussianKernel ( uint32  iWidth,
uint32  iHeight,
double  iVariance 
)

Make 2D Gaussian kernel.

Parameters:
iWidth the kernel width.
iHeight the kernel height.
iVariance of the Gaussian curve.
Returns:
A normalized Gaussian kernel.

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeGaussianKernel ( uint32  iRadius,
double  iVariance 
)

Make 2D Gaussian kernel.

Parameters:
iRadius the kernel width and height.
iVariance of the Gaussian curve.
Returns:
A normalized Gaussian kernel.

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeMeanKernel ( uint32  iWidth,
uint32  iHeight 
)

Make 2D mean kernel, this have a smoothing effect.

Parameters:
iWidth the kernel width.
iHeight the kernel height.
Returns:
A normalized mean kernel, all elements have value 1/(iWidth*iHeight).

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeMeanRadiusKernel ( double  iRadius,
bool  ibCircular = true 
)

Make 2D mean kernel, square or circle mask kernel.

Parameters:
iRadius the square or circle radius.
ibCircular if true this kernel is circle otherwise is square.
Returns:
A normalized mean kernel.

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeCircleKernel ( double  iRadius,
bool  ibNormalize = false 
)

Make circle mask kernel. Value inside circle of radius iRadius are valuated with 1.0, outside with 0.0.

Parameters:
iRadius the circle radius.
ibNormalize if true this kernel is equivalent to mean filter, false to use as a mask (mul with another kernel to have impact with radius).
Returns:
A circle mask kernel.

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSmooth3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeCone5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakePyramidal5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeLowpass3x3d ( double  iAlpha  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSharpenSoft3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSharpenSoft5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSharpenSmooth3x3d ( double  iAlpha  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSharpenMore3x3d ( double  iAlpha = 1.0  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSharpen ( double  iRadius  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeEmboss3x3d ( double  iDegrees = 0.0  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakePixelDifference3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSeparatedPixelDifference3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeRoberts3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakePrewitt3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakePrewitt5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeFreiChen3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSobel3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSobel5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeSobelNxNd ( uint32  iSize = 3  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeRobinson5x5d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeLaplacian3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeLaplacian3x3d ( double  iAlpha  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeLaplacian ( double  iRadius  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeLoG ( double  iRadius,
double  iVariance 
)

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeMarrHildreth3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeKirsch3x3d (  ) 

ExportedByMath ConvolutionKerneld eLynx::Math::elxMakeKirsch5x5d (  ) 

template<typename T >
const T& eLynx::Math::elxMin ( const T &  iA,
const T &  iB 
) [inline]

Minimum of two T values.

Parameters:
iA A T value.
iB A T value.
Returns:
The minimum in list iA,iB.

template<typename T >
const T& eLynx::Math::elxMin ( const T &  iA,
const T &  iB,
const T &  iC 
) [inline]

Minimum of tree T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
Returns:
The minimum in list iA,iB,iC.

template<typename T >
const T& eLynx::Math::elxMin ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD 
) [inline]

Minimum of for T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
Returns:
The minimum in list iA,iB,iC,iD.

template<typename T >
const T& eLynx::Math::elxMin ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD,
const T &  iE 
) [inline]

Minimum of for T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
iE A T value.
Returns:
The minimum in list iA,iB,iC,iD,iE.

template<typename T >
const T& eLynx::Math::elxMin ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD,
const T &  iE,
const T &  iF 
) [inline]

Minimum of for T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
iE A T value.
iF A T value.
Returns:
The minimum in list iA,iB,iC,iD,iE,iF.

template<typename T >
bool eLynx::Math::elxMin ( const T *  iprSrc,
uint32  iSize,
T &  oMin 
) [inline]

template<typename T >
bool eLynx::Math::elxMin ( const T *  iprSrc,
uint32  iSize,
uint32  iStep,
T *  oprMin 
) [inline]

template<typename T >
T eLynx::Math::elxMin ( iV0,
iV1,
iV2,
iV3,
iV4,
iV5,
iV6,
iV7,
iV8 
) [inline]

template<typename T >
const T& eLynx::Math::elxMax ( const T &  iA,
const T &  iB 
) [inline]

Maximum of two T values.

Parameters:
iA A T value.
iB A T value.
Returns:
The maximum in list iA,iB.

template<typename T >
const T& eLynx::Math::elxMax ( const T &  iA,
const T &  iB,
const T &  iC 
) [inline]

Maximum of two T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
Returns:
The maximum in list iA,iB,iC.

template<typename T >
const T& eLynx::Math::elxMax ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD 
) [inline]

Maximum of two T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
Returns:
The maximum in list iA,iB,iC,iD.

template<typename T >
const T& eLynx::Math::elxMax ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD,
const T &  iE 
) [inline]

Maximum of two T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
iE A T value.
Returns:
The maximum in list iA,iB,iC,iD,iE.

template<typename T >
const T& eLynx::Math::elxMax ( const T &  iA,
const T &  iB,
const T &  iC,
const T &  iD,
const T &  iE,
const T &  iF 
) [inline]

Maximum of two T values.

Parameters:
iA A T value.
iB A T value.
iC A T value.
iD A T value.
iE A T value.
iF A T value.
Returns:
The maximum in list iA,iB,iC,iD,iE,iF.

template<typename T >
bool eLynx::Math::elxMax ( const T *  iprSrc,
uint32  iSize,
T &  oMin 
) [inline]

template<typename T >
bool eLynx::Math::elxMax ( const T *  iprSrc,
uint32  iSize,
uint32  iStep,
T *  oprMax 
) [inline]

template<typename T >
T eLynx::Math::elxMax ( iV0,
iV1,
iV2,
iV3,
iV4,
iV5,
iV6,
iV7,
iV8 
) [inline]

template<typename T >
bool eLynx::Math::elxMinMax ( const T *  iprSrc,
uint32  iSize,
T &  oMin,
T &  oMax 
) [inline]

template<typename T >
bool eLynx::Math::elxMinMax ( const T *  iprSrc,
uint32  iSize,
uint32  iStep,
T *  oprMin,
T *  oprMax 
) [inline]

template<typename T >
T eLynx::Math::elxNeg ( const T  iValue  )  [inline]

negative

template<typename T >
T eLynx::Math::elxMedian ( iV0,
iV1,
iV2 
) [inline]

Median of 3 values.

template<typename T >
T eLynx::Math::elxMedian ( iV0,
iV1,
iV2,
iV3 
) [inline]

Median of 4 values.

template<typename T >
T eLynx::Math::elxMedian ( iV0,
iV1,
iV2,
iV3,
iV4,
iV5,
iV6,
iV7,
iV8 
) [inline]

Median of 9 values.

template<typename T , typename U >
void eLynx::Math::elxClamp ( iIn,
U &  oOut 
) [inline]

template<typename T >
void eLynx::Math::elxClamp ( iInMin,
iInMax,
T &  oOut 
) [inline]

template<typename T >
bool eLynx::Math::elxAdd ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxSub ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxMul ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxDiv ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxDif ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxAddClamp ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxSubClamp ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxMulClamp ( T *  ioprSrc,
uint32  iSize,
double  iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxDivClamp ( T *  ioprSrc,
uint32  iSize,
double  iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxAddCycle ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxSubCycle ( T *  ioprSrc,
uint32  iSize,
iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxMulCycle ( T *  ioprSrc,
uint32  iSize,
double  iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxDivCycle ( T *  ioprSrc,
uint32  iSize,
double  iValue 
) [inline]

template<typename T >
bool eLynx::Math::elxAdd ( T *  ioprSrc,
uint32  iSize,
iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxSub ( T *  ioprSrc,
uint32  iSize,
iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxMul ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxDiv ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxAdd ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxSub ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxAddNorm ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxSubNorm ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxMulNorm ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxDivNorm ( T *  ioprSrc,
uint32  iSize,
double  iValue,
EValueAction  iAction 
) [inline]

template<typename T >
bool eLynx::Math::elxNormalize ( T *  ioprSrc,
uint32  iSize,
iMin,
iMax 
) [inline]

template<typename T >
bool eLynx::Math::elxNormalize ( T *  ioprSrc,
uint32  iSize,
const T *  oprMin,
const T *  oprMax,
uint32  iChannelMask,
uint32  iChannelCount 
) [inline]

template<typename T >
bool eLynx::Math::elxNormalize ( T *  ioprSrc,
uint32  iSize 
) [inline]

template<typename T >
bool eLynx::Math::elxNormalize ( T *  ioprSrc,
uint32  iStep,
uint32  iSize,
uint32  iChannelMask,
uint32  iChannelCount 
) [inline]

template<typename T >
T eLynx::Math::elxSign ( iValue  )  [inline]

Computes the sign of a value.

Ex: elxSign(3.8f) = 1.0f, elxSign(-2.5) = -1.0, elxSign(-5) = -1 .

Parameters:
iValue the value to get sign.
Returns:
0 for 0, +1 for positive, -1 for negative.

template<typename T >
T eLynx::Math::elxAbs ( iX  )  [inline]

Absolute of value, noted |a|.

Ex: elxAbs(1) = 1, elxAbs(-1) = 1, elxAbs(0) = 0, elxAbs(-2147483648) = -2147483648.

Parameters:
iX value.
Returns:
|iX| >= 0.

template<typename T >
T eLynx::Math::elxFloor ( iValue  )  [inline]

Returns a value representing the largest integer that is less than or equal to the value.

Ex: elxFloor(4.9f) = 4.0f, elxFloor(-4.9) = -5.0;

Parameters:
iValue The value.
Returns:
The floored value.

template<typename T >
T eLynx::Math::elxCeil ( iValue  )  [inline]

Returns a value representing the smallest integer that is greater than or equal to the value.

Ex: elxCeil(4.2f) is 5.0f, elxCeil(-4.9) is -4.0;

Parameters:
iValue The value.
Returns:
The floored value.

template<typename T >
T eLynx::Math::elxRound ( iValue  )  [inline]

Returns a value representing the whole integer nearest to the value.

Ex: elxRound(4.9f) = 5.0f, elxRound(4.2) = 4.0, elxRound(1.5) is 2.0,
elxRound(-1.5) = -2.0, elxRound(-1.2f) = -1.0f, elxRound(20) = 20.

Parameters:
iValue The value.
Returns:
The rounded value.

template<typename T >
int32 eLynx::Math::elxRint ( iValue  )  [inline]

Returns a int32 value representing the whole integer nearest to the value.

Ex: elxRint(4.9f) = 5, elxRint(4.2) = 4, elxRint(1.5) = 2.

Parameters:
iValue The value.
Returns:
The int32 rounded value.

template<typename T >
T eLynx::Math::elxMod ( iA,
iB 
) [inline]

Modulus of values noted m=a [b]. Returns the remainder of a / b such that a = i * b + f, where i is an integer. f has the same sign as a, and the absolute value of f is less than the absolute value of b.

Ex: elxMod(7, 5) = 2, elxMod(7, -5) = 2, elxMod(-7 ,5) = -2, elxMod(-7, -5) = -2.

Parameters:
iA A value.
iB A value.
Returns:
The value of iA modulus iB.

template<typename T >
T eLynx::Math::elxMean ( iV1,
iV2 
) [inline]

Computes the mean of two values iV1, iV2.

Parameters:
iV1 1st value.
iV2 2nd value.
Returns:
(iV1+iV2)/2.

template<typename T >
T eLynx::Math::elxAbsDiff ( iV1,
iV2 
) [inline]

Computes absolute difference of iV1, iV2, to be used for unsigned type.

Parameters:
iV1 1st value.
iV2 2nd value.
Returns:
|iV1-iV2|.

template<typename T >
bool eLynx::Math::elxIsOdd ( iValue  )  [inline]

Checks if an integer is odd (2n+1).

Ex: elxIsOdd(0)=false, elxIsOdd(1)=true, elxIsOdd(-1)=true.

Parameters:
iValue integer value.
Returns:
true if integer value is odd, false if it's even.

template<typename T >
bool eLynx::Math::elxIsEven ( iValue  )  [inline]

Checks if an integer is even (2n).

Ex: elxIsEven(0)=true, elxIsEven(1)=false, elxIsEven(-1)=false.

Parameters:
iValue integer value.
Returns:
true if integer value is even, false if it's odd.

ExportedByMath int32 eLynx::Math::elxHighBit ( uint32  iVal  ) 

template<typename T >
T eLynx::Math::elxSqr ( iX  )  [inline]

Computes the square of iX = iX^2 = iX*iX.

Parameters:
iX value.
Returns:
the squared value.

template<typename T >
T eLynx::Math::elxSqrt ( iX  )  [inline]

Computes the compute the square root of iX.

Parameters:
iX Nonnegative value whose root is to be computed.
Returns:
iX^1/2.

template<typename T >
T eLynx::Math::elxPow ( iX,
iY 
) [inline]

Computes computes x raised to the power y.

Parameters:
iX the mantissa.
iY the exponent.
Returns:
iX^iY.

template<typename T >
T eLynx::Math::elxLog ( iX  )  [inline]

Computes the value of the natural logarithm of argument iX.

Parameters:
iX value.
Returns:
the natural logarithm of iX, ln(x).

template<typename T >
T eLynx::Math::elxLog10 ( iX  )  [inline]

Computes computes the value of the logarithm of argument iX to base 10.

Parameters:
iX value.
Returns:
the logarithm to base 10 of iX, log10(x).

template<typename T >
T eLynx::Math::elxExp ( iX  )  [inline]

Computes the exponent of iX.

Parameters:
iX value.
Returns:
the exponent of iX, exp(x) = e^x.

template<typename T >
bool eLynx::Math::elxIsPow2 ( iValue  )  [inline]

Returns if a number is a power of 2, for value=0 return false.

Parameters:
iValue integer value.
Returns:
true if value is a power of two, false otherwise.

template<typename T >
T eLynx::Math::elxNextPow2 ( iValue  )  [inline]

Returns the next power of 2 lower of input value, return value if value is power of two.

Parameters:
iValue integer value.
Returns:
The next power of 2 lower or equal.

template<typename T >
T eLynx::Math::elxDeg2Rad ( iDegrees  )  [inline]

Converts a degree angle in radians angle unit.

Parameters:
iDegrees The degree angle.
Returns:
The radian angle.

template<typename T >
T eLynx::Math::elxRad2Deg ( iRadian  )  [inline]

Converts a radian angle in degrees angle unit.

Parameters:
iRadian The radian angle.
Returns:
The degree angle.

template<typename T >
T eLynx::Math::elxCos ( iRadian  )  [inline]

Computes the cosine of iX angle in radians.

Parameters:
iRadian angle in radians.
Returns:
the cosine of iRadian.

template<typename T >
T eLynx::Math::elxSin ( iRadian  )  [inline]

Computes the sine of iX angle in radians.

Parameters:
iRadian angle in radians.
Returns:
the sine of iRadian.

template<typename T >
T eLynx::Math::elxTan ( iRadian  )  [inline]

Computes the tangent of angle in radians.

Parameters:
iRadian Angle in radians.
Returns:
The tangent of angle.

template<typename T >
T eLynx::Math::elxArccos ( iX  )  [inline]

Computes the arccosine in radians.

Parameters:
iX Value between 0 and 1 whose arccosine is to be calculated.
Returns:
the arccossine, if argument is less than 1.0 or greater than 1.0, returns an indefinite double_MAX.

template<typename T >
T eLynx::Math::elxArcsin ( iX  )  [inline]

Computes the arcsine in radians.

Parameters:
iX Value between 1.0 and 1.0 whose arcsine is to be calculated.
Returns:
the arcsine, if argument is less than 1.0 or greater than 1.0, returns an indefinite double_MAX.

template<typename T >
T eLynx::Math::elxArctan ( iYoX  )  [inline]

Computes the arctangent in radians.

Parameters:
iYoX Value between 1.0 and 1.0 whose arctangent is to be calculated.
Returns:
the arctangent, if argument is less than 1.0 or greater than 1.0, returns an indefinite double_MAX.

template<typename T >
T eLynx::Math::elxGetGaussianVariance ( iRadius  )  [inline]

Get variance from a given radius.

template<typename T >
T eLynx::Math::elxGaussian ( iX,
iSigma 
) [inline]

1D Gaussian curve.

template<typename T >
T eLynx::Math::elxGaussian ( iX,
iY,
iSigma 
) [inline]

2D Gaussian curve.

template<typename T >
T eLynx::Math::elxMeanGaussian ( iX,
iSigma 
) [inline]

template<typename T >
T eLynx::Math::elxDoG ( iX,
iSigma 
) [inline]

First Derivative of Gaussian.

template<typename T >
T eLynx::Math::elxLoG ( iX,
iSigma 
) [inline]

Laplacian of Gaussian.

template<typename T >
T eLynx::Math::elxLoG ( iX,
iY,
iSigma 
) [inline]

template<typename T >
T eLynx::Math::elxSmooth ( iMin,
iMax,
iValue 
) [inline]

Smoothly interpolate value in range [iMin, iMax] to [0, 1]. To be used only with float and double resolution.

Parameters:
iMin The minimum of input range value.
iMax The maximum of input range value.
iValue the input value to smooth between 0 and 1.
Returns:
The smoothed value.

ExportedByMath double eLynx::Math::elxMidtone ( double  iX,
double  iMidtone 
)

ExportedByMath void eLynx::Math::elxRandomReset (  ) 

Sets the starting point for generating a series of pseudorandom. It seeds the pseudorandom-number generator with current time.

ExportedByMath void eLynx::Math::elxRandomReset ( int32  iSeed  ) 

ExportedByMath int32 eLynx::Math::elxRandomSign (  ) 

Returns int32 a pseudorandom sign, ie +1 or -1. Use the elxRandomReset() function to seed the pseudorandom-number generator before calling.

Returns:
A pseudorandom int32 sign, +1 or -1.

ExportedByMath double eLynx::Math::elxRandom (  ) 

template<typename T >
T eLynx::Math::elxRandom ( iMax  )  [inline]

template<typename T >
T eLynx::Math::elxRandom ( iMin,
iMax 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRamp ( const Ramp< T > &  iRamp,
T *  iprSrc,
size_t  iSize,
uint32  iChannelCount,
uint32  iChannelMask 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRampFast ( const Ramp< T > &  iRamp,
T *  iprSrc,
size_t  iSize,
uint32  iChannelCount,
uint32  iChannelMask 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRamp ( const Ramp< T > &  iRamp0,
const Ramp< T > &  iRamp1,
T *  iprSrc,
size_t  iSize,
uint32  iChannelMask 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRampFast ( const Ramp< T > &  iRamp0,
const Ramp< T > &  iRamp1,
T *  iprSrc,
size_t  iSize,
uint32  iChannelMask 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRamp ( const Ramp< T > &  iRamp0,
const Ramp< T > &  iRamp1,
const Ramp< T > &  iRamp2,
T *  iprSrc,
size_t  iSize,
uint32  iChannelMask 
) [inline]

template<typename T >
bool eLynx::Math::elxApplyRampFast ( const Ramp< T > &  iRamp0,
const Ramp< T > &  iRamp1,
const Ramp< T > &  iRamp2,
T *  iprSrc,
size_t  iSize,
uint32  iChannelMask 
) [inline]

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Box   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Triangle   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Hermite   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Bell   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( CubicBSpline   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Lanczos3   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Mitchell   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Cosine   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( CatmullRom   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Quadratic   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( CubicConvolution   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Lanczos5   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( Lanczos8   ) 

eLynx::Math::DEFINE_RESAMPLE_FILTER ( BlackmanHarris   ) 

ExportedByMath const char* eLynx::Math::elxToString ( EResampleFilter  iFilter  ) 

Return the string name of the resample filter function.

Parameters:
iFilter The requested filter.
Returns:
The string name of the resample filter function.

ExportedByMath const IResampleFilter& eLynx::Math::elxGetResampleFilter ( EResampleFilter  iFilter  ) 

Get resample filter from enum.

Parameters:
iFilter The requested filter.
Returns:
Implementation of IResampleFilter for the given enum.


Generated on 14 Apr 2009 by doxygen 1.5.8