MRichSelection Class Reference

#include <MRichSelection.h>

Class Description

Selection list supporting soft selection and symmetry.

This class implements a selection list that support soft selection and symmetry.

The rich selection is split into two halves: the "normal" side, and an optional symmetric component. Components on both sides can include weight data which is used to specify both the amount of influence and the proximity to the centre of symmetry.

In addition to the selected objects, the rich selection also includes information about the axis of symmetry so that operations can determine how to process any symmetric selection (e.g. reflect transformations, etc).

+ Examples:

Public Member Functions

 MRichSelection ()
 Class constructor. More...
 
 MRichSelection (const MRichSelection &src)
 Copy constructor. More...
 
virtual ~MRichSelection ()
 Class destructor. More...
 
MStatus getSelection (MSelectionList &selection) const
 Returns a copy of the non-symmetry component of the rich selection. More...
 
MStatus getSymmetry (MSelectionList &symmetry) const
 Returns a copy of the symmetry component of the rich selection. More...
 
MStatus getSymmetryMatrix (MMatrix &symmetryMatrix, MSpace::Space &space) const
 Returns the raw symmetry matrix to use for the symmetric components of the rich selection. More...
 
MStatus getSymmetryMatrix (const MDagPath &path, MSpace::Space space, MMatrix &symmetryMatrix) const
 Returns the symmetry matrix to use for the symmetric component of the specified DAG object. More...
 
MStatus getSymmetryPlane (const MDagPath &path, MSpace::Space space, MPlane &plane) const
 Returns the plane of symmetry. More...
 
MStatus clear ()
 This method empties the rich selection. More...
 
MStatus setSelection (const MSelectionList &selection)
 Sets the non-symmetry component of the rich selection. More...
 

Static Public Member Functions

static const char * className ()
 Returns the name of this class. More...
 

Friends

class MGlobal
 

Constructor & Destructor Documentation

OPENMAYA_MAJOR_NAMESPACE_OPEN MRichSelection ( )

Class constructor.

Creates an empty rich selection.

MRichSelection ( const MRichSelection src)

Copy constructor.

This constructor will copy the contents of the given selection list into the newly created selection list.

Parameters
[in]srcthe rich selection to be copied.
~MRichSelection ( )
virtual

Class destructor.

Removes the selection list.

Member Function Documentation

MStatus getSelection ( MSelectionList selection) const

Returns a copy of the non-symmetry component of the rich selection.

Parameters
[out]selectionStorage for the selection list
Returns
Status code
Status Codes:
  • MS::kSuccess Selection list was successfully returned
  • MS::kFailure Error getting the selection list
+ Examples:
MStatus getSymmetry ( MSelectionList symmetry) const

Returns a copy of the symmetry component of the rich selection.

Parameters
[out]symmetryStorage for the symmetric selection list
Returns
Status code
Status Codes:
  • MS::kSuccess Selection list was successfully returned
  • MS::kFailure Error getting the selection list
+ Examples:
MStatus getSymmetryMatrix ( MMatrix symmetryMatrix,
MSpace::Space space 
) const

Returns the raw symmetry matrix to use for the symmetric components of the rich selection.

The caller is responsible for handling any necessary transformation space conversions when using this version of getSymmetryMatrix.

Parameters
[out]symmetryMatrixStorage for the symmetry matrix
[out]spaceThe transformation space of the symmetryMatrix
Returns
Status code
Status Codes:
  • MS::kSuccess Symmetry matrix was successfully returned
  • MS::kFailure Error getting the symmetry matrix
+ Examples:
MStatus getSymmetryMatrix ( const MDagPath path,
MSpace::Space  space,
MMatrix symmetryMatrix 
) const

Returns the symmetry matrix to use for the symmetric component of the specified DAG object.

This method handles any matrix space conversions for you.

Parameters
[in]pathThe DAG path the matrix should be calculated for
[in]spaceThe space the matrix should be calculated in. Only kWorld and kObject are currently supported.
[out]symmetryMatrixStorage for the symmetry matrix
Returns
Status code
Status Codes:
  • MS::kSuccess Symmetry matrix was successfully returned
  • MS::kFailure Error getting the symmetry matrix
MStatus getSymmetryPlane ( const MDagPath path,
MSpace::Space  space,
MPlane symmetryPlane 
) const

Returns the plane of symmetry.

This can be used to enforce seam weights in tools that support symmetry. Note that the direction of the plane carries no significance (specifically, having a positive offset from the plane does not imply a point is part of the non-symmetric selection).

Parameters
[in]pathThe DAG path the plane should be calculated for
[in]spaceThe space the plane should be calculated in. Only kWorld and kObject are currently supported.
[out]symmetryPlaneStorage for the symmetry plane
Returns
Status code
Status Codes:
  • MS::kSuccess Symmetry plane was successfully returned
  • MS::kFailure Error getting the symmetry plane
+ Examples:
MStatus clear ( )

This method empties the rich selection.

Returns
Status flag
Status Codes:
  • MS::kSuccess The list was successfully reset.
  • MS::kFailure Error resetting list.
MStatus setSelection ( const MSelectionList selection)

Sets the non-symmetry component of the rich selection.

Parameters
[in]selectionThe selection list
Returns
Status code
Status Codes:
  • MS::kSuccess Selection list was successfully set
  • MS::kFailure Error setting the selection list
const char * className ( )
static

Returns the name of this class.

Returns
The name of this class.

The documentation for this class was generated from the following files:
  • MRichSelection.h
  • MRichSelection.cpp