#include
<MFnUnitAttribute.h>
List of all
members.
Detailed Description
Unit attribute Function set.
MFnUnitAttribute is the function
set for dependency nodes attributes that store one of the
fundamental types of Maya data. The currently supported types are
MAngle, MDistance, and MTime.
It is possible to set the defaults using a double. This is valid
for angles and distances. In the case of angles, the value is
assumed to be in radians, and in the case of distances, it is
assumed to be in centimeters. Time values should not be set using a
double.
It is possible to use unit attributes in place of double
attributes when creating numeric compounds (see
MFnNumericAttrbute). To create a numeric compound of three distance
values, create the three child attributes using MFnUnitAttribute and then pass
the children into the create method of MFnNumericAttribute.
|
Public Types
|
enum |
Type
{
kInvalid,
kAngle,
kDistance,
kTime,
kLast
} |
|
Type of unit represented by attribute
values. More...
|
Public Member Functions
|
virtual MFn::Type |
type
() const |
|
Function set type.
|
virtual |
~MFnUnitAttribute
() |
|
Destructor.
|
|
MFnUnitAttribute
() |
|
Default constructor.
|
|
MFnUnitAttribute
(MObject &object,
MStatus
*ReturnStatus=NULL) |
|
Constructor.
|
MObject |
create
(const MString
&fullName, const MString &briefName, MFnUnitAttribute::Type
unitType, double defaultValue=0.0, MStatus *ReturnStatus=NULL) |
MObject |
create
(const MString
&fullName, const MString &briefName, const MTime &defaultValue,
MStatus
*ReturnStatus=NULL) |
MObject |
create
(const MString
&fullName, const MString &briefName, const MAngle &defaultValue,
MStatus
*ReturnStatus=NULL) |
MObject |
create
(const MString
&fullName, const MString &briefName, const MDistance &defaultValue,
MStatus
*ReturnStatus=NULL) |
MFnUnitAttribute::Type |
unitType
(MStatus
*ReturnStatus=NULL) const |
bool |
hasMin
(MStatus
*ReturnStatus=NULL) const |
bool |
hasMax
(MStatus
*ReturnStatus=NULL) const |
bool |
hasSoftMin
(MStatus
*ReturnStatus=NULL) const |
bool |
hasSoftMax
(MStatus
*ReturnStatus=NULL) const |
MStatus |
getMin
(double &minValue) const |
MStatus |
getMin
(MTime &minValue)
const |
MStatus |
getMin
(MAngle &minValue)
const |
MStatus |
getMin
(MDistance
&minValue) const |
MStatus |
getMax
(double &maxValue) const |
MStatus |
getMax
(MTime &maxValue)
const |
MStatus |
getMax
(MAngle &maxValue)
const |
MStatus |
getMax
(MDistance
&maxValue) const |
MStatus |
getSoftMin
(double &minValue) const |
MStatus |
getSoftMin
(MTime &minValue)
const |
MStatus |
getSoftMin
(MAngle &minValue)
const |
MStatus |
getSoftMin
(MDistance
&minValue) const |
MStatus |
getSoftMax
(double &maxValue) const |
MStatus |
getSoftMax
(MTime &maxValue)
const |
MStatus |
getSoftMax
(MAngle &maxValue)
const |
MStatus |
getSoftMax
(MDistance
&maxValue) const |
MStatus |
setMin
(double minValue) |
MStatus |
setMin
(const MTime
&minValue) |
MStatus |
setMin
(const MAngle
&minValue) |
MStatus |
setMin
(const MDistance
&minValue) |
MStatus |
setMax
(double maxValue) |
MStatus |
setMax
(const MTime
&maxValue) |
MStatus |
setMax
(const MAngle
&maxValue) |
MStatus |
setMax
(const MDistance
&maxValue) |
MStatus |
setSoftMin
(double minValue) |
MStatus |
setSoftMin
(const MTime
&minValue) |
MStatus |
setSoftMin
(const MAngle
&minValue) |
MStatus |
setSoftMin
(const MDistance
&minValue) |
MStatus |
setSoftMax
(double maxValue) |
MStatus |
setSoftMax
(const MTime
&maxValue) |
MStatus |
setSoftMax
(const MAngle
&maxValue) |
MStatus |
setSoftMax
(const MDistance
&maxValue) |
MStatus |
getDefault
(double &defaultValue) |
MStatus |
getDefault
(MTime
&defaultValue) |
MStatus |
getDefault
(MAngle
&defaultValue) |
MStatus |
getDefault
(MDistance
&defaultValue) |
MStatus |
setDefault
(double defaultValue) |
MStatus |
setDefault
(const MTime
&defaultValue) |
MStatus |
setDefault
(const MAngle
&defaultValue) |
MStatus |
setDefault
(const MDistance
&defaultValue) |
|
MFnUnitAttribute
(const MObject
&object, MStatus
*ReturnStatus=NULL) |
|
Constructor.
|
Protected Member Functions
|
virtual const char * |
className
() const |
|
Class name.
|
Member Enumeration Documentation
Type of unit represented by attribute values.
- Enumerator:
-
kInvalid |
Invalid unit type. |
kAngle |
Angular attribute. |
kDistance |
Distance (linear) attribute. |
kTime |
Time attribute. |
kLast |
Last value, for counting. |
Constructor & Destructor Documentation
MFnUnitAttribute::MFnUnitAttribute |
( |
MObject & |
object, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor.
Class constructor that initializes the function set to the given
MObject.
- Parameters:
-
[in] |
object |
The MObject to
attach the function set to |
[out] |
ReturnStatus |
the return status |
- Status Codes:
-
MFnUnitAttribute::MFnUnitAttribute |
( |
const MObject & |
object, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Constructor.
Class constructor that initializes the function set to the given
MObject.
- Parameters:
-
[in] |
object |
The MObject to
attach the function set to |
[out] |
ReturnStatus |
the return status |
- Status Codes:
-
Member Function Documentation
MFn::Type
MFnUnitAttribute::type |
( |
|
) |
const [virtual] |
const char * MFnUnitAttribute::className |
( |
|
) |
const [protected, virtual] |
Class name.
Return the class name : "MFnUnitAttribute"
Reimplemented from MFnAttribute.
Create a new unit attribute and return it as an MObject. For both angle and distance
attributes, the attribute is type independent. For example, you
define an angular attribute as containing an angle in radians. The
defaultValue passed to the create method must be in these units,
and the value in those units will be returned by the get and set
methods. If this method is used to instantiate a time attribute,
the units stored in the attribute will be those of the current
default time unit (see
MTime).
A unit attribute supports both a hard maximum/minimum and a soft
maximum/minimum. The soft maximum/minimum are used by the user
interface for limits on sliders, but values within the hard range
are still valid.
The create method needs to be called on a per node basis. That
means if you want to create and add the same attribute to multiple
nodes, you need to call the create method for each node to get a
unique MObject back.
If you call create just once and add the attribute to multiple
nodes, Maya will encounter a fatal error.
- Parameters:
-
[in] |
full |
the full (or int) name of the attribute |
[in] |
brief |
the brief (or short) name of the attribute |
[in] |
unitType |
an element of the MFnUnitAttribute::Type
enum |
[in] |
defaultValue |
the default value for the new attribute |
[out] |
ReturnStatus |
|
- Returns:
- An MObject
representing the new attribute
Create a new unit attribute of type time and return it
as an MObject. The
units of the time value stored in the attribute will be those of
the current default time units in effect (see MTime).
- Parameters:
-
[in] |
full |
the full (or int) name of the attribute |
[in] |
brief |
the brief (or short) name of the attribute |
[in] |
defaultValue |
the default value for the new attribute |
[out] |
ReturnStatus |
|
- Returns:
- An MObject
representing the new attribute
Create a new unit attribute of type angle and return it
as an MObject.
- Parameters:
-
[in] |
full |
the full (or int) name of the attribute |
[in] |
brief |
the brief (or short) name of the attribute |
[in] |
defaultValue |
the default value for the new attribute |
[out] |
ReturnStatus |
|
- Returns:
- An MObject
representing the new attribute
Create a new unit attribute of type distance and return
it as an MObject.
- Parameters:
-
[in] |
full |
the full (or int) name of the attribute |
[in] |
brief |
the brief (or short) name of the attribute |
[in] |
defaultValue |
the default value for the new attribute |
[out] |
ReturnStatus |
|
- Returns:
- An MObject
representing the new attribute
Return the unit type of this attribute.
- Parameters:
-
[out] |
ReturnStatus |
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
|
- Returns:
- An element of the MFnUnitAttribute::Type
enum
bool MFnUnitAttribute::hasMin |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determine whether or not this attribute has a minimum value
set.
- Parameters:
-
[out] |
ReturnStatus |
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
|
- Returns:
- true if the attribute has a minimum value, and false
otherwise
bool MFnUnitAttribute::hasMax |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determine whether or not this attribute has a maximum value
set.
- Parameters:
-
[out] |
ReturnStatus |
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
|
- Returns:
- true if the attribute has a maximum value, and false
otherwise
bool MFnUnitAttribute::hasSoftMin |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determine whether or not this attribute has a soft minimum value
set.
- Parameters:
-
[out] |
ReturnStatus |
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
|
- Returns:
- true if the attribute has a minimum value, and false
otherwise
bool MFnUnitAttribute::hasSoftMax |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determine whether or not this attribute has a soft maximum value
set.
- Parameters:
-
[out] |
ReturnStatus |
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
|
- Returns:
- true if the attribute has a maximum value, and false
otherwise
MStatus MFnUnitAttribute::getMin |
( |
double & |
minValue |
) |
const |
Return the minimum value for this attribute. This routine simply
returns the numerical value of the attribute. It is up to the
programmer to know the units used by this attribute (eg. radians
for angular data, centimeters for distance data, etc.) and
interpret the response appropriately.
- Parameters:
-
[out] |
minValue |
the minimum value for this attribute |
- Returns:
-
Return the minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the minimum value for this attribute |
- Returns:
-
Return the minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the minimum value for this attribute |
- Returns:
-
Return the minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the minimum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getMax |
( |
double & |
maxValue |
) |
const |
Return the maximum value for this attribute. This routine simply
returns the numerical value of the attribute. It is up to the
programmer to know the units used by this attribute (eg. radians
for angular data, centimeters for distance data, etc.) and
interpret the response appropriately.
- Parameters:
-
[out] |
maxValue |
the maximum value for this attribute |
- Returns:
-
Return the maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the maximum value for this attribute |
- Returns:
-
Return the maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the maximum value for this attribute |
- Returns:
-
Return the maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the maximum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getSoftMin |
( |
double & |
minValue |
) |
const |
Return the soft minimum value for this attribute. This routine
simply returns the numerical value of the attribute. It is up to
the programmer to know the units used by this attribute (eg.
radians for angular data, centimeters for distance data, etc.) and
interpret the response appropriately.
- Parameters:
-
[out] |
minValue |
the soft minimum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getSoftMin |
( |
MTime & |
minValue |
) |
const |
Return the soft minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the soft minimum value for this attribute |
- Returns:
-
Return the soft minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the soft minimum value for this attribute |
- Returns:
-
Return the soft minimum value for this attribute.
- Parameters:
-
[out] |
minValue |
the soft minimum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getSoftMax |
( |
double & |
maxValue |
) |
const |
Return the soft maximum value for this attribute. This routine
simply returns the numerical value of the attribute. It is up to
the programmer to know the units used by this attribute (eg.
radians for angular data, centimeters for distance data, etc.) and
interpret the response appropriately.
- Parameters:
-
[out] |
maxValue |
the soft maximum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getSoftMax |
( |
MTime & |
maxValue |
) |
const |
Return the soft maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the soft maximum value for this attribute |
- Returns:
-
Return the soft maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the soft maximum value for this attribute |
- Returns:
-
Return the soft maximum value for this attribute.
- Parameters:
-
[out] |
maxValue |
the soft maximum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::setMin |
( |
double |
minValue |
) |
|
Set the minimum value for this attribute. This routine simply
stores the given double as the numerical value of the attribute. It
is up to the programmer to know the units used by this attribute
(eg. radians for angular data, centimeters for distance data, etc.)
and provide the appropriate value.
- Parameters:
-
[in] |
minValue |
the new minimum value for this attribute |
- Returns:
-
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
Set the minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new minimum value for this attribute |
- Returns:
-
Set the minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new minimum value for this attribute |
- Returns:
-
Set the minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new minimum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::setMax |
( |
double |
maxValue |
) |
|
Set the maximum value for this attribute. This routine simply
stores the given double as the numerical value of the attribute. It
is up to the programmer to know the units used by this attribute
(eg. radians for angular data, centimeters for distance data, etc.)
and provide the appropriate value.
- Parameters:
-
[in] |
maxValue |
the new maximum value for this attribute |
- Returns:
-
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
Set the maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new maximum value for this attribute |
- Returns:
-
Set the maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new maximum value for this attribute |
- Returns:
-
Set the maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new maximum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::setSoftMin |
( |
double |
minValue |
) |
|
Set the soft minimum value for this attribute. This routine
simply stores the given double as the numerical value of the
attribute. It is up to the programmer to know the units used by
this attribute (eg. radians for angular data, centimeters for
distance data, etc.) and provide the appropriate value.
- Parameters:
-
[in] |
minValue |
the new soft minimum value for this attribute |
- Returns:
-
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
MStatus MFnUnitAttribute::setSoftMin |
( |
const MTime & |
minValue |
) |
|
Set the soft minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new soft minimum value for this attribute |
- Returns:
-
Set the soft minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new soft minimum value for this attribute |
- Returns:
-
Set the soft minimum value for this attribute.
- Parameters:
-
[in] |
minValue |
the new soft minimum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::setSoftMax |
( |
double |
maxValue |
) |
|
Set the soft maximum value for this attribute. This routine
simply stores the given double as the numerical value of the
attribute. It is up to the programmer to know the units used by
this attribute (eg. radians for angular data, centimeters for
distance data, etc.) and provide the appropriate value.
- Parameters:
-
[in] |
maxValue |
the new soft maximum value for this attribute |
- Returns:
-
- MS::kSuccess the
operation succeeded
- MS::kObjectDoesNotExist this instance is not bound to an
MObject
MStatus MFnUnitAttribute::setSoftMax |
( |
const MTime & |
maxValue |
) |
|
Set the soft maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new soft maximum value for this attribute |
- Returns:
-
Set the soft maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new soft maximum value for this attribute |
- Returns:
-
Set the soft maximum value for this attribute.
- Parameters:
-
[in] |
maxValue |
the new soft maximum value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::getDefault |
( |
double & |
defaultValue |
) |
|
Gets the default value for this attribute. This routine simply
returns the given double which represents the default value for the
attribute.
- Parameters:
-
[out] |
defaultValue |
returns the default value for this attribute. This method
simply returns the given default value of the attribute as a
double. It is up to the programmer to know the units used by this
attribute (eg. radians for angular data, centimeters for distance
data, etc.). |
- Returns:
-
MStatus MFnUnitAttribute::getDefault |
( |
MTime & |
defaultValue |
) |
|
Gets the default value for a time attribute.
- Parameters:
-
[out] |
defaultValue |
returns the default value for this attribute |
- Returns:
-
Gets the default value for this attribute.
- Parameters:
-
[out] |
defaultValue |
returns the default value for this attribute in radians |
- Returns:
-
Gets the default value for this attribute.
- Parameters:
-
[out] |
defaultValue |
returns the default value for this attribute in
centimeters |
- Returns:
-
MStatus MFnUnitAttribute::setDefault |
( |
double |
defaultValue |
) |
|
Set a new default value for this attribute. This routine simply
stores the given double as the new default value of the attribute.
It is up to the programmer to know the units used by this attribute
(eg. radians for angular data, centimeters for distance data, etc.)
and provide the appropriate value.
- Parameters:
-
[in] |
defaultValue |
the new default value for this attribute |
- Returns:
- MS::kSuccess the
operation succeeded
MStatus MFnUnitAttribute::setDefault |
( |
const MTime & |
defaultValue |
) |
|
Set a new default value for a time attribute.
- Parameters:
-
[in] |
defaultValue |
the new default value for this attribute |
- Returns:
-
MStatus MFnUnitAttribute::setDefault |
( |
const MAngle & |
defaultValue |
) |
|
Set a new default value for this attribute.
- Parameters:
-
[in] |
defaultValue |
the new default value for this attribute |
- Returns:
-
Set a new default value for this attribute.
- Parameters:
-
[in] |
defaultValue |
the new default value for this attribute |
- Returns:
-