class MPoint

Jump to documentation

Implementation of a point. (OpenMaya) (OpenMaya.py)

public members:

MPoint ()
MPoint ( const MPoint & srcpt )
MPoint ( const MFloatPoint & srcpt )
MPoint ( const MVector & src )
MPoint ( const MFloatVector & src )
MPoint ( double xx, double yy, double zz = 0.0, double ww = 1.0 )
MPoint ( const double[4] )
MPoint ( const float[4] )
~MPoint ()
MStatus get ( double[4] ) const
MStatus get ( float[4] ) const
double operator[] (unsigned int i) const
double operator() (unsigned int i) const
MPoint & operator= ( const MPoint & src )
MVector operator- ( const MPoint & other ) const
MPoint operator+ ( const MVector & other ) const
MPoint operator- ( const MVector & other ) const
MPoint & operator+= ( const MVector & vector )
MPoint & operator-= ( const MVector & vector )
MPoint operator* (const double scale) const
MPoint operator/ (const double scale) const
MPoint operator* (const MMatrix &) const
MPoint & operator*= (const MMatrix &)
bool operator== ( const MPoint & other ) const
bool operator!= ( const MPoint & other ) const
MPoint & cartesianize ()
MPoint & rationalize ()
MPoint & homogenize ()
double distanceTo ( const MPoint & other ) const
bool isEquivalent ( const MPoint & other, double tolerance = MPoint_kTol) const
double & operator[] (unsigned int i)
NO SCRIPT SUPPORT
double & operator() (unsigned int i)
NO SCRIPT SUPPORT
friend MPoint operator* (const MMatrix &, const MPoint &)
NO SCRIPT SUPPORT
friend std::ostream& operator<< (std::ostream& os, const MPoint & p)
NO SCRIPT SUPPORT
static const MPoint origin
double x
the x component of the point
double y
the y component of the point
double z
the z component of the point
double w
the w component of the point

Documentation

This class implements the Maya representation of a point
Description

This class provides an implementation of a point. Numerous convienence operators are provided to help with the manipulation of points. This includes operators that work with the MVector and MMatrix classes.

Functions

const MPoint MPoint:: origin (0,0,0,1)

Description

A constant representing the origin - (0,0,0,1).

MPoint:: MPoint ()

Description

Default constructor. The instance is initialized to the origin.

MPoint:: MPoint (const MPoint & srcpt)

Description

Copy constructor. Creates an new instance and initializes it to the same point as the given point.

Arguments

  • srcpt the point object to copy

MPoint:: MPoint (const MFloatPoint & srcpt)

Description

Class constructor. Creates an new instance and initializes it to the x, y, z, w values of the given point.

Arguments

  • srcpt the point object to copy

MPoint:: MPoint (const MVector & src)

Description

Class constructor. Creates an new instance and initializes it to the x, y, z values of the given vector. The w value is set to 1.0.

Arguments

  • srcpt the vector object to copy

MPoint:: MPoint (const MFloatVector & src)

Description

Class constructor. Creates an new instance and initializes it to the x, y, z values of the given vector. The w value is set to 1.0.

Arguments

  • srcpt the vector object to copy

MPoint:: MPoint (const double d[4] )

Description

Create a new instance and initialize it to the given position.

Arguments

  • d an array of 4 doubles used to initialize x, y, z, and w respectively

MPoint:: MPoint (const float d[4] )

Description

Create a new instance and initialize it to the given position.

Arguments

  • d an array of 4 floats used to initialize x, y, z, and w respectively

MPoint:: MPoint (double xx, double yy, double zz, double ww)

Description

Create a new instance and initialize it to the given position.

Arguments

  • xx the initial value of x
  • yy the initial value of y
  • zz the initial value of z
  • ww the initial value of w

MPoint:: ~MPoint ()

Description

Class destructor.

MStatus MPoint:: get ( double dest[4] ) const

Description

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

Arguments

  • dest the four element array of doubles

Return Value

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

MStatus MPoint:: get ( float dest[4] ) const

Description

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

Arguments

  • dest the four element array of floats

Return Value

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

MPoint & MPoint:: operator= (const MPoint & src)

Description

The assignment operator.

double& MPoint:: operator() (unsigned int i)

Description

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.

Arguments

  • i value indicating which component to return

Return Value

  • the value of the indicated component of the instance

double MPoint:: operator() (unsigned int i) const

Description

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.

Arguments

  • i value indicating which component to return

Return Value

  • the value of the indicated component of the instance

double& MPoint:: operator[] ( unsigned int i )

Description

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.

Arguments

  • i value indicating which component to return

Return Value

  • the value of the indicated component of the instance

double MPoint:: operator[] ( unsigned int i ) const

Description

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.

Arguments

  • i value indicating which component to return

Return Value

  • the value of the indicated component of the instance

MPoint MPoint:: operator+ (const MVector & vector) const

Description

The addition operator for adding an MVector to an MPoint. A new point is returned whose position is that of the original point translated by the vector.

MPoint MPoint:: operator- (const MVector & vector) const

Description

The addition operator for subtracting an MVector from an MPoint. A new point is returned whose position is that of the original point translated by the inverse of the vector.

MVector MPoint:: operator- (const MPoint & other) const

Description

The subtraction operator for two MPoints. The result is the MVector from the other point to this instance.

Arguments

  • other the other point

Return Value

  • MVector from the other point to this point

MPoint & MPoint:: operator+= (const MVector & vector )

Description

The in-place addition operator for adding an MVector to an MPoint. The current instance is translated from its original position by the vector.

MPoint & MPoint:: operator-= (const MVector & vector)

Description

The in-place subtraction operator for subtracting an MVector from an MPoint. The current instance is translated from its original position by the inverse of the vector.

MPoint MPoint:: operator* (const MMatrix & right) const

Description

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

Arguments

  • right the MMatrix to right multiply by

Return Value

  • a point representing the product

MPoint & MPoint:: operator*= (const MMatrix & right)

Description

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

Arguments

  • right the MMatrix to right multiply by

Return Value

  • a point representing the product

MPoint operator* (const MMatrix & left, const MPoint & right)

Description

The multiplication operator for computing the product of this point instance with the given matrix that allows the matrix to be on the left side of the operator.

Arguments

  • left the MMatrix to right multiply by
  • right this point instance

Return Value

  • a point representing the product

MPoint MPoint:: operator* (const double scale) const

Description

The multipication operator that allows the vector to by scaled by the given double parameter. The x, y, and z components are each multiplied by the parameter. The w component remains unchanged.

Arguments

  • scale the scale parameter

MPoint MPoint:: operator/ (const double scale) const

Description

The division operator that allows the vector to by scaled by the given double parameter. The x, y, and z components are each divided by the parameter. The w component remains unchanged.

Arguments

  • scale the scale parameter

Return Value

  • var des

bool MPoint:: operator== (const MPoint & other) const

Description

The equality operator. Returns true if all of the x, y, z, and w components of the two points are identical.

bool MPoint:: operator!= (const MPoint & other) const

Description

The inequality operator. Returns true if any of the x, y, z, and w components of the two points are not identical.

MPoint & MPoint:: cartesianize ()

Description

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.

MPoint & MPoint:: rationalize ()

Description

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.

MPoint & MPoint:: homogenize ()

Description

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

bool MPoint:: isEquivalent (const MPoint & other, double tolerance) const

Description

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

Arguments

  • other the other point to compare to
  • tolerance the tolerance to use during the comparison

Return Value

  • true if the points are equal within the given tolerance and false otherwise

double MPoint:: distanceTo (const MPoint & other) const

Description

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

Arguments

  • other the point to compute the distance to

Return Value

  • the distance between the two points

std::ostream& operator<< ( std::ostream& os, const MPoint & p )

Description

Print the contents of the given MPoint on the given ostream. The format used is [x, y, z, w].

Arguments

  • s the ostream to print to
  • str the MPoint whose value is to be printed

Return Value

  • the ostream reference, s, provided as the first parameter.

This class has no child classes.


Autodesk® Maya® 2008 © 1997-2007 Autodesk, Inc. All rights reserved. doc++ Copyright