Public Types | Public Member Functions | Static Public Member Functions

MAngle Class Reference

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.
MAngle operator= (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] src The 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] value The initial value of the instance
[in] unitSystem The unit system for the initial value

Member Function Documentation

MAngle & operator= ( const MAngle src )

Assignment operator.

Parameters:
[in] src The 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] newUnit An 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] newValue The 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] otherUnit An element of the MAngle::Unit enum specifying the desired units
[out] ReturnStatus Return 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] otherUnit An element of the MAngle::Unit enum specifying the desired units
[out] ReturnStatus Return 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] newUnit and 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] internalValue a 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] uiValue a 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] internalUnit the 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