This reference page is linked to from the following overview topics: Threading and Maya.
#include <MFloatPoint.h>
Implementation of a point.
This class provides an implementation of a point in float. Numerous convienence operators are provided to help with the manipulation of points. This includes operators that work with the MFloatVector and MFloatMatrix classes.
All methods that query the point are threadsafe, all methods that modify the point are not threadsafe.
animCubeNode/animCubeNode.cpp, anisotropicShader/anisotropicShader.cpp, blindDataShader/blindDataMesh.cpp, cellShader/cellShader.cpp, dx11Shader/dx11Shader.cpp, flameShader/flameShader.cpp, gpuCache/CacheReaderAlembic.cpp, gpuCache/gpuCacheDrawOverride.cpp, gpuCache/gpuCacheUtil.h, hwColorPerVertexShader/hwColorPerVertexShader.cpp, hwPhongShader/hwPhongShader.cpp, intersectCmd/intersectCmd.cpp, lavaShader/lavaShader.cpp, meshOpCmd/meshOpFtyAction.cpp, noiseShader/noiseShader.cpp, polyPrimitiveCmd/polyPrimitiveCmd.cpp, renderAccessNode/renderAccessNode.cpp, sampleCmd/sampleCmd.cpp, sampleParticles/sampleParticles.cpp, shellNode/shellNode.cpp, solidCheckerShader/solidCheckerShader.cpp, sseDeformer/sseDeformer.cpp, threadedBoundingBox/threadedBoundingBox.cpp, viewRenderOverride/viewRenderOverride.cpp, viewRenderOverride/viewRenderOverride.h, and viewRenderOverride/viewRenderOverrideOperations.cpp.
Public Member Functions 

MFloatPoint ()  
Default constructor. 

MFloatPoint (const MFloatPoint &srcpt)  
Copy constructor. 

MFloatPoint (const MFloatVector &src)  
Class constructor. 

MFloatPoint (float xx, float yy, float zz=0.0, float ww=1.0)  
Create a new instance and initialize it to
the given position. 

MFloatPoint (const float d[4])  
Create a new instance and initialize it to
the given position. 

~MFloatPoint ()  
Class destructor. 

MStatus  get (double dest[4]) const 
Copy the values of x, y, z, and w from the
instance to the four elements of the given array of doubles.


MStatus  get (float dest[4]) const 
Copy the values of x, y, z, and w from the
instance to the four elements of the given array of floats.


MStatus  setCast (const MPoint &srcpt) 
Copy the values of x, y, z, and w from srcpt
to the instance. 

MStatus  setCast (const MVector &src) 
Copy the values of x, y, z, and w from src
to the instance. 

MStatus  setCast (const double d[4]) 
Copy the values of x, y, z, and w to the
instance from the four elements of the given array of doubles.


MFloatPoint &  operator= (const MFloatPoint &src) 
The assignment operator. 

float  operator() (unsigned int i) const 
The index operator. 

float  operator[] (unsigned int i) const 
The index operator. 

MFloatVector  operator (const MFloatPoint &other) const 
The subtraction operator for two
MFloatPoints. 

MFloatPoint  operator+ (const MFloatVector &other) const 
The operator for adding an MFloatVector to an
MFloatPoint. 

MFloatPoint  operator (const MFloatVector &other) const 
The operator for subtracting an MFloatVector from
an MFloatPoint. 

MFloatPoint &  operator+= (const MFloatVector &vector) 
The inplace addition operator for adding an
MFloatVector to an
MFloatPoint. 

MFloatPoint &  operator= (const MFloatVector &vector) 
The inplace subtraction operator for
subtracting an MFloatVector
from an MFloatPoint. 

MFloatPoint  operator* (const float scale) const 
The multipication operator that allows the
vector to by scaled by the given float parameter. 

MFloatPoint  operator/ (const float scale) const 
The division operator that allows the vector
to by scaled by the given float parameter. 

MFloatPoint  operator* (const MFloatMatrix &) const 
The multiplication operator for computing
the product of this point instance with the given matrix. 

MFloatPoint &  operator*= (const MFloatMatrix &) 
The inplace multiplication operator for
computing the product of this point instance with the given matrix.


bool  operator== (const MFloatPoint &other) const 
The equality operator. 

bool  operator!= (const MFloatPoint &other) const 
The inequality operator. 

MFloatPoint &  cartesianize () 
If this point instance is of the form P(W*x,
W*y, W*z, W), for some scale factor W != 0, then it is reset to be
P(x, y, z, 1). 

MFloatPoint &  rationalize () 
If this point instance is of the form P(W*x,
W*y, W*z, W) (ie. 

MFloatPoint &  homogenize () 
If this point instance is of the form P(x,
y, z, W) (ie. 

float  distanceTo (const MFloatPoint &other) const 
Return the distance between this instance
and the point passed as an argument. 

bool  isEquivalent (const MFloatPoint &other, float tolerance=MFloatPoint_kTol) const 
Returns true if this instance the the point
passed as an argument represent the same position within the
specified tolerance. 

float &  operator() (unsigned int i) 
NO SCRIPT SUPPORT. 

float &  operator[] (unsigned int i) 
NO SCRIPT SUPPORT. 

Static Public Member Functions 

static const char *  className () 
Returns the name of this class. 

Public Attributes 

float  x 
the x component of the point 

float  y 
the y component of the point 

float  z 
the z component of the point 

float  w 
the w component of the point 

Static Public Attributes 

static const MFloatPoint  origin 
A constant representing the origin 
(0,0,0,1). 

Friends 

OPENMAYA_EXPORT MFloatPoint  operator* (const MFloatMatrix &, const MFloatPoint &) 
NO SCRIPT SUPPORT. 

OPENMAYA_EXPORT std::ostream &  operator<< (std::ostream &os, const MFloatPoint &p) 
NO SCRIPT SUPPORT. 
MFloatPoint  (  )  [inline] 
Default constructor.
The instance is initialized to the origin.
MFloatPoint  (  const MFloatPoint &  srcpt  )  [inline] 
Copy constructor.
Creates an new instance and initializes it to the same point as the given point.
[in]  srcpt  the point object to copy 
MFloatPoint  (  const MFloatVector &  srcpt  ) 
Class constructor.
Create a new point and initialize it to the same x, y, z values as the given vector.
[in]  srcpt  the vector object to copy 
MFloatPoint  (  float  xx, 
float  yy,  
float  zz = 0.0 , 

float  ww = 1.0 

)  [inline] 
Create a new instance and initialize it to the given position.
[in]  xx  the initial value of x 
[in]  yy  the initial value of y 
[in]  zz  the initial value of z 
[in]  ww  the initial value of w 
MFloatPoint  (  const float  d[4]  )  [inline] 
Create a new instance and initialize it to the given position.
[in]  d  an array of 4 floats used to initialize x, y, z, and w respectively 
MStatus get  (  double  dest[4]  )  const [inline] 
Copy the values of x, y, z, and w from the instance to the four elements of the given array of doubles.
[out]  dest  the four element array of doubles 
MStatus get  (  float  dest[4]  )  const [inline] 
Copy the values of x, y, z, and w from the instance to the four elements of the given array of floats.
[out]  dest  the four element array of floats 
Copy the values of x, y, z, and w from srcpt to the instance.
Note that this operation will lose precision as it casts from double to singleprecision floating point.
[in]  srcpt  the point to copy the x, y, z and w values from. 
Copy the values of x, y, z, and w from src to the instance.
Note that this operation will lose precision as it casts from double to singleprecision floating point.
[in]  src  the vector to copy the x, y, z and w values from. 
MStatus setCast  (  const double  d[4]  ) 
Copy the values of x, y, z, and w to the instance from the four elements of the given array of doubles.
Note that this operation will lose precision as it casts from double to singleprecision floating point.
[in]  d  the four element array of doubles 
MFloatPoint & operator=  (  const MFloatPoint &  src  )  [inline] 
The assignment operator.
[in]  src  The point to copy from. 
float operator()  (  unsigned int  i  )  const [inline] 
The index operator.
[in]  i  value indicating which component to return 
float operator[]  (  unsigned int  i  )  const [inline] 
The index operator.
[in]  i  value indicating which component to return 
MFloatVector operator  (  const MFloatPoint &  other  )  const [inline] 
The subtraction operator for two MFloatPoints.
The result is the MFloatVector from the other point to this instance.
[in]  other  The point to substract. 
MFloatPoint operator+  (  const MFloatVector &  other  )  const [inline] 
The operator for adding an MFloatVector to an MFloatPoint.
A new point is returned whose position is that of the original point translated by the vector.
[in]  other  The vector to add. 
MFloatPoint operator  (  const MFloatVector &  other  )  const [inline] 
The operator for subtracting an MFloatVector from an MFloatPoint.
A new point is returned whose position is that of the original point translated by the inverse of the vector.
[in]  other  The vector to substract. 
MFloatPoint & operator+=  (  const MFloatVector &  vector  )  [inline] 
The inplace addition operator for adding an MFloatVector to an MFloatPoint.
The current instance is translated from its original position by the vector.
[in]  vector  The vector to add. 
MFloatPoint & operator=  (  const MFloatVector &  vector  )  [inline] 
The inplace subtraction operator for subtracting an MFloatVector from an MFloatPoint.
The current instance is translated from its original position by the inverse of the vector.
[in]  vector  The vector to substract. 
MFloatPoint operator*  (  const float  scale  )  const [inline] 
The multipication operator that allows the vector to by scaled by the given float parameter.
The x, y, and z components are each multiplied by the parameter. The w component remains unchanged.
[in]  scale  The scale parameter. 
MFloatPoint operator/  (  const float  scale  )  const [inline] 
The division operator that allows the vector to by scaled by the given float parameter.
The x, y, and z components are each divided by the parameter. The w component remains unchanged.
[in]  scale  The scale parameter. 
MFloatPoint operator*  (  const MFloatMatrix &  right  )  const 
The multiplication operator for computing the product of this point instance with the given matrix.
[in]  right  the MFloatMatrix to right multiply by 
MFloatPoint & operator*=  (  const MFloatMatrix &  right  ) 
The inplace multiplication operator for computing the product of this point instance with the given matrix.
[in]  right  the MFloatMatrix to right multiply by 
bool operator==  (  const MFloatPoint &  other  )  const [inline] 
The equality operator.
Returns true if all of the x, y, z, and w components of the two points are identical.
[in]  other  The point to compare with. 
bool operator!=  (  const MFloatPoint &  other  )  const [inline] 
The inequality operator.
Returns true if any of the x, y, z, and w components of the two points are not identical.
[in]  other  The point to compare with. 
MFloatPoint & cartesianize  (  ) 
If this point instance is of the form P(W*x, W*y, W*z, W), for some scale factor W != 0, then it is reset to be P(x, y, z, 1).
This will only work correctly if the point is in homogenous form or cartesian form. If the point is in rational form, the results are not defined.
MFloatPoint & rationalize  (  ) 
If this point instance is of the form P(W*x, W*y, W*z, W) (ie.
is in homogenous or (for W==1) cartesian form), for some scale factor W != 0, then it is reset to be P(x, y, z, W). This will only work correctly if the point is in homogenous or cartesian form. If the point is already in rational form, the resultsare not defined.
MFloatPoint & homogenize  (  ) 
If this point instance is of the form P(x, y, z, W) (ie.
is in rational or (for W==1) cartesian form), for some scale factor W != 0, then it is reset to be P(W*x, W*y, W*z, W).
float distanceTo  (  const MFloatPoint &  other  )  const [inline] 
Return the distance between this instance and the point passed as an argument.
[in]  other  the point to compute the distance to 
bool isEquivalent  (  const MFloatPoint &  other, 
float  tol =
MFloatPoint_kTol 

)  const [inline] 
Returns true if this instance the the point passed as an argument represent the same position within the specified tolerance.
[in]  other  the other point to compare to 
[in]  tol  the tolerance to use during the comparison 
float & operator()  (  unsigned int  i  )  [inline] 
NO SCRIPT SUPPORT.
The index operator.
[in]  i  value indicating which component to return 
float & operator[]  (  unsigned int  i  )  [inline] 
NO SCRIPT SUPPORT.
The index operator.
[in]  i  value indicating which component to return 
const char * className  (  )  [static] 
OPENMAYA_EXPORT MFloatPoint operator*  (  const MFloatMatrix &  left, 
const MFloatPoint &  right  
)  [friend] 
NO SCRIPT SUPPORT.
[in]  left  the MFloatMatrix to right multiply by 
[in]  right  this point instance 
OPENMAYA_EXPORT std::ostream& operator<<  (  std::ostream &  os, 
const MFloatPoint &  p  
)  [friend] 
NO SCRIPT SUPPORT.
The format used is [x, y, z, w].
[in]  os  the ostream to print to 
[in]  p  the MFloatPoint whose value is to be printed 