Public Types | Public Member Functions | Static Public Member Functions

MAngle Class Reference

This reference page is linked to from the following overview topics: Appendix D: Frequently asked questions.


Search for all occurrences

Detailed Description

Manipulate Angular Data.

Methods for setting and retreiving angular data in various unit systems

The MAngle class provides a fundamental type for the Maya API to hold and manipulate angular data. All API methods that require or return angular information do so through variables of this type.

Examples:

animFileExport.cpp, animFileUtils.cpp, animFileUtils.h, D3DResourceManager.cpp, shellNode.cpp, and swissArmyManip.cpp.

#include <MAngle.h>

List of all members.

Public Types

enum  Unit {
  kInvalid, kRadians, kDegrees, kAngMinutes,
  kAngSeconds, kLast
}
 

Available Unit Systems.

More...

Public Member Functions

 MAngle ()
 Default constructor.
 MAngle (const MAngle &src)
 Copy constructor.
 MAngle (double value, Unit u=kRadians)
 Class constructor.
 ~MAngle ()
 Class destructor.
MAngleoperator= (const MAngle &other)
 Assignment operator.
Unit unit () const
 Current unit.
double value () const
 Current value.
MStatus setUnit (Unit newUnit)
 Set current unit.
MStatus setValue (double newValue)
 Set current value.
double as (Unit otherUnit, MStatus *ReturnStatus=NULL) const
 Unit conversion.
double asUnits (Unit otherUnit, MStatus *ReturnStatus=NULL) const
 Unit conversion.
double asRadians () const
 Convert to radians.
double asDegrees () const
 Convert to degrees.
double asAngMinutes () const
 Convert to minutes of arc.
double asAngSeconds () const
 Convert to seconds of arc.

Static Public Member Functions

static Unit uiUnit ()
 Working unit.
static MStatus setUIUnit (Unit newUnit)
 Set working unit.
static Unit internalUnit ()
 Internal unit.
static double internalToUI (double internalValue)
 Unit conversion.
static double uiToInternal (double uiValue)
 Unit conversion.
static const char * className ()
 Returns the name of this class.
static MStatus setInternalUnit (Unit internalUnit)
 This method is obsolete.

Member Enumeration Documentation

enum Unit

Available Unit Systems.

Enumerator:
kInvalid 

Invalid value.

kRadians 

Radians.

kDegrees 

Degrees.

kAngMinutes 

Minutes of Arc.

kAngSeconds 

Seconds of Arc.

kLast 

Last enum value.


Constructor & Destructor Documentation

MAngle ( )

Default constructor.

Initialize the MAngle instance to 0 in the current internal units.

See also:
internalUnit().
MAngle ( const MAngle src)

Copy constructor.

Parameters:
[in]srcThe source MAngle object.
MAngle ( double  value,
MAngle::Unit  unitSystem = kRadians 
)

Class constructor.

Initialize the MAngle instance to the given value in the given unit system.

Parameters:
[in]valueThe initial value of the instance
[in]unitSystemThe unit system for the initial value

Member Function Documentation

MAngle & operator= ( const MAngle src)

Assignment operator.

Parameters:
[in]srcThe source MAngle object.
Returns:
Reference to the MAngle
MAngle::Unit unit ( ) const

Current unit.

Return the units currently in effect for this instance.

Returns:
An element of the MAngle::Unit enum
double value ( ) const

Current value.

Return the value of the current instance in the currently set units.

Returns:
The current value of the instance
MStatus setUnit ( MAngle::Unit  newUnit)

Set current unit.

Set the unit used by this instance. This will not affect the current value of the MAngle.

Parameters:
[in]newUnitAn element of the MAngle::Unit enum
Returns:
Status code.
Status Codes:
MStatus setValue ( double  newValue)

Set current value.

Set the value of this instance.

Parameters:
[in]newValueThe new value in the units currently in effect
Returns:
Always returns MS::kSuccess
double as ( MAngle::Unit  otherUnit,
MStatus ReturnStatus = NULL 
) const

Unit conversion.

Return the current value of this instance in the provided units.

Parameters:
[in]otherUnitAn element of the MAngle::Unit enum specifying the desired units
[out]ReturnStatusReturn status
Returns:
The current value in the given units
Status Codes:
Examples:
animFileExport.cpp, and animFileUtils.cpp.
double asUnits ( MAngle::Unit  otherUnit,
MStatus ReturnStatus = NULL 
) const

Unit conversion.

Return the current value of this instance in the provided units.

Parameters:
[in]otherUnitAn element of the MAngle::Unit enum specifying the desired units
[out]ReturnStatusReturn status
Returns:
The current value in the given units
Status Codes:
double asRadians ( ) const

Convert to radians.

Return the current value of this instance in radians.

Returns:
The current value in the radians
Examples:
shellNode.cpp, and swissArmyManip.cpp.
double asDegrees ( ) const

Convert to degrees.

Return the current value of this instance in degrees.

Returns:
The current value in the degrees
double asAngMinutes ( ) const

Convert to minutes of arc.

Return the current value of this instance in minutes of arc.

Returns:
The current value in the minutes of arc
double asAngSeconds ( ) const

Convert to seconds of arc.

Return the current value of this instance in seconds of arc.

Returns:
The current value in the seconds of arc
MAngle::Unit uiUnit ( ) [static]

Working unit.

Returns the Working Units (or UI units) chosen in the settings of the prefs window.

Returns:
An element of the MAngle::Unit enum
Examples:
animFileExport.cpp, and animFileUtils.cpp.
MStatus setUIUnit ( MAngle::Unit  newUnit) [static]

Set working unit.

Set the unit system to be used by the user in the UI. This will not change the return value of the MAngle::value() method of this instance of MAngle.

Parameters:
[in]newUnitand element of the MAngle::Unit enum.
Returns:
MS::kSuccess if a valid unit was provided, MS::kFailure otherwise.
MAngle::Unit internalUnit ( ) [static]

Internal unit.

Returns the internal unit system used by Maya. This is the unit system Maya stores angles in.

Returns:
The internal unit for angles
Examples:
animFileUtils.cpp.
double internalToUI ( double  internalValue) [static]

Unit conversion.

Converts a value from Maya's internal units to the current units used in the UI.

Parameters:
[in]internalValuea value in internal units
Returns:
The value in UI units
double uiToInternal ( double  uiValue) [static]

Unit conversion.

Converts a value from the units Maya is currently uses in the UI to the Maya internal unit system.

Parameters:
[in]uiValuea value in UI units
Returns:
The value in internal units.
const char * className ( ) [static]

Returns the name of this class.

Returns:
The name of this class.
MStatus setInternalUnit ( MAngle::Unit  internalUnit) [static]

This method is obsolete.

Deprecated:
Changing the internal units is generally not a good idea and using the method may often produce unexpected results.

It is recommended to just read the values and convert them to the units desired.

Sets the internal unit system which Maya uses to store angles.

Parameters:
[in]internalUnitthe internal unit for angles
Returns:
Status code
Status Codes:

MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle
MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle MAngle