- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends

# MFloatPoint Class Reference
OpenMaya - API module for common classes

This reference page is linked to from the following overview topics: Threading and Maya.

Search for all occurrences

## Detailed Description

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.

Examples:

  animCubeNode.cpp, anisotropicShader.cpp, blindDataMesh.cpp, cellShader.cpp, flameShader.cpp, hwColorPerVertexShader.cpp, hwPhongShader.cpp, intersectCmd.cpp, lavaShader.cpp, meshOpFtyAction.cpp, noiseShader.cpp, polyPrimitiveCmd.cpp, renderAccessNode.cpp, sampleCmd.cpp, sampleParticles.cpp, shellNode.cpp, and solidCheckerShader.cpp.

`#include <MFloatPoint.h>`

List of all members.

## 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 in-place addition operator for adding an MFloatVector to an MFloatPoint.
MFloatPoint & | operator-= (const MFloatVector &vector)
| The in-place 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 in-place 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 Search for all occurrences
float | y
| the y component of the point Search for all occurrences
float | z
| the z component of the point Search for all occurrences
float | w
| the w component of the point
## Static Public Attributes Search for all occurrences
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. Search for all occurrences

## Constructor & Destructor Documentation

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.

Parameters:

  [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.

Parameters:

  [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.

Parameters:

  [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.

Parameters:

  [in] | d | an array of 4 floats used to initialize x, y, z, and w respectively

## Member Function Documentation

MStatus get | ( | double | dest[4] | ) | const`[inline]`

Search for all occurrences

Copy the values of x, y, z, and w from the instance to the four elements of the given array of doubles.

Parameters:

  [out] | dest | the four element array of doubles

Returns:
  MS::kSuccess if dest is a non-zero pointer and MS::kFailure otherwise.

MStatus get | ( | float | dest[4] | ) | const`[inline]`

Search for all occurrences

Copy the values of x, y, z, and w from the instance to the four elements of the given array of floats.

Parameters:

  [out] | dest | the four element array of floats

Returns:
  MS::kSuccess if dest is a non-zero pointer and MS::kFailure otherwise.

MStatus setCast | ( | const MPoint & | srcpt | ) |

Search for all occurrences

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 single-precision floating point.

Parameters:

  [in] | srcpt | the point to copy the x, y, z and w values from.

Returns:
  MS::kSuccess always returned.

MStatus setCast | ( | const MVector & | src | ) |

Search for all occurrences

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 single-precision floating point.

Parameters:

  [in] | src | the vector to copy the x, y, z and w values from.

Returns:
  MS::kSuccess always returned.

MStatus setCast | ( | const double | d[4] | ) |

Search for all occurrences

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 single-precision floating point.

Parameters:

  [in] | d | the four element array of doubles

Returns:
  MS::kSuccess if dest is a non-zero pointer and MS::kFailure otherwise

MFloatPoint & operator= | ( | const MFloatPoint & | src | ) | `[inline]`

The assignment operator.

Parameters:

  [in] | src | The point to copy from.

float operator() | ( | unsigned int | i | ) | const`[inline]`

The index operator.

- If the argument is 0 it will return the x component of the constant instance.
- If the argument is 1 it will return the y component of the constant instance.
- If the argument is 2 it will return the z component of the constant instance.
- If the argument is 3 it will return the w component of the constant instance. Otherwise it will return the x component of the point.

Parameters:

  [in] | i | value indicating which component to return

Returns:
  The value of the indicated component of the instance.

float operator[] | ( | unsigned int | i | ) | const`[inline]`

The index operator.

- If the argument is 0 it will return the x component of the constant instance.
- If the argument is 1 it will return the y component of the constant instance.
- If the argument is 2 it will return the z component of the constant instance.
- If the argument is 3 it will return the w component of the constant instance. Otherwise it will return the x component of the point.

Parameters:

  [in] | i | value indicating which component to return

Returns:
  The value of the indicated component of the instance.

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.

Parameters:

  [in] | other | The point to substract.

Returns:
  MFloatVector from the other point to this point.

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.

Parameters:

  [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.

Parameters:

  [in] | other | The vector to substract.

MFloatPoint & operator+= | ( | const MFloatVector & | vector | ) | `[inline]`

The in-place addition operator for adding an MFloatVector to an MFloatPoint.

The current instance is translated from its original position by the vector.

Parameters:

  [in] | vector | The vector to add.

MFloatPoint & operator-= | ( | const MFloatVector & | vector | ) | `[inline]`

The in-place subtraction operator for subtracting an MFloatVector from an MFloatPoint.

The current instance is translated from its original position by the inverse of the vector.

Parameters:

  [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.

Parameters:

  [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.

Parameters:

  [in] | scale | The scale parameter.

Returns:
  Scaled point.

MFloatPoint operator* | ( | const MFloatMatrix & | right | ) | const

The multiplication operator for computing the product of this point instance with the given matrix.

Parameters:

  [in] | right | the MFloatMatrix to right multiply by

Returns:
  A point representing the product

MFloatPoint & operator*= | ( | const MFloatMatrix & | right | ) |

The in-place multiplication operator for computing the product of this point instance with the given matrix.

Parameters:

  [in] | right | the MFloatMatrix to right multiply by

Returns:
  A point representing the product

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.

Parameters:

  [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.

Parameters:

  [in] | other | The point to compare with.

MFloatPoint & cartesianize | ( |  | ) |

Search for all occurrences

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 | ( |  | ) |

Search for all occurrences

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 | ( |  | ) |

Search for all occurrences

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]`

Search for all occurrences

Return the distance between this instance and the point passed as an argument.

Parameters:

  [in] | other | the point to compute the distance to

Returns:
  The distance between the two points.

bool isEquivalent | ( | const MFloatPoint & | other,
|  | float | tol = `MFloatPoint_kTol`
| ) |  | const`[inline]`

Search for all occurrences

Returns true if this instance the the point passed as an argument represent the same position within the specified tolerance.

Parameters:

  [in] | other | the other point to compare to
  [in] | tol | the tolerance to use during the comparison

Returns:
  True if the points are equal within the given tolerance and false otherwise.

float & operator() | ( | unsigned int | i | ) | `[inline]`

NO SCRIPT SUPPORT.

The index operator.

- If the argument is 0 it will return the x component of the instance.
- If the argument is 1 it will return the y component of the instance.
- If the argument is 2 it will return the z component of the instance.
- If the argument is 3 it will return the w component of the instance. Otherwise it will return the x component of the instance.

Parameters:

  [in] | i | value indicating which component to return

Returns:
  The value of the indicated component of the instance.

float & operator[] | ( | unsigned int | i | ) | `[inline]`

NO SCRIPT SUPPORT.

The index operator.

- If the argument is 0 it will return the x component of the instance.
- If the argument is 1 it will return the y component of the instance.
- If the argument is 2 it will return the z component of the instance.
- If the argument is 3 it will return the w component of the instance. Otherwise it will return the x component of the instance.

Parameters:

  [in] | i | value indicating which component to return

Returns:
  The value of the indicated component of the instance.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

## Friends And Related Function Documentation

OPENMAYA_EXPORT MFloatPoint operator* | ( | const MFloatMatrix & | left,
|  | const MFloatPoint & | right
| ) |  | `[friend]`

NO SCRIPT SUPPORT.

Parameters:

  [in] | left | the MFloatMatrix to right multiply by
  [in] | right | this point instance

Returns:
  A point representing the product

OPENMAYA_EXPORT std::ostream& operator<< | ( | std::ostream & | os,
|  | const MFloatPoint & | p
| ) |  | `[friend]`

NO SCRIPT SUPPORT.

The format used is [x, y, z, w].

Parameters:

  [in] | os | the ostream to print to
  [in] | p | the MFloatPoint whose value is to be printed

Returns:
  The ostream reference, s, provided as the first parameter.

MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint
MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint MFloatPoint