This routine must be overriden if the shape is to be drawn in the interactive display. This function places drawing requests on maya's drawing queue and is called whenever the view is refreshed and the shape needs to be redrawn.
Parameters
[in]
info
Drawing state information.
[in]
objectAndActiveOnly
Used to determine if draw requests for components need to be supplied. If false, some or all components are active and draw requests must be built for all components.
This routine must be overriden if the shape is to be drawn in the interactive display. Maya will call this routine with requests that have been previously added to the drawing queue.
This routine must be overriden if the shape is to support interactive object and/or component selection.
The implementation of this method should call selectInfo.addSelection with information about the selected item and its selection mask. For single click selection, detected using the selectInfo.singleSection() method, the hit point should also be passed as an argument to selectInfo.addSelection.
Parameters
[in]
selectInfo
the Selection state information.
[out]
selectionList
List of items selected by this method. Do not update directly: use MSelectInfo::addSelection instead.
[out]
worldSpaceSelectPts
List of points used to sort corresponding selections in single-select mode. (Closest to camera wins.) Do not update directly: use MSelectInfo::addSelection instead.
Maya calls this method when snapping to the shape's vertices.
If you wish your custom shape to support point snapping then you must override this method and have it call snapInfo's MSelectInfo::setSnapPoint() method to set the point to be snapped to. If setSnapPoint() is called multiple times then the point closest to the cursor will be used.
Parameters
[in]
snapInfo
the Selection state information.
Returns
true found a vertex to be snapped to
false found no vertex to be snapped to
bool canDrawUV
(
)
const
virtual
Called by Maya to determine if this surface shape supports UV drawing.
Returns
true if the shape supports UV drawing, false otherwise.
This method is called when the user performs a selection within the texture view.
The method is called only when the surface shape is member of the active selection list.
Maya provides the current viewport instance, the type of the selection, the extents of the selection rectangle (in viewport coordinates), and if the selection mode is single selection. The API user is expected to fill the selection list and return a result of true if 'something was selected'.
To properly use this method, you must make sure that you have a valid component type that Maya can recognize. Selection tests can be done using a pick buffer or by spatially determining the selected objects.
Important Currently Maya does not know how to manipulate custom UV components. This method only provides the facilities to visualize what has been selected in the viewport. The API user is responsible for implementing commands that can manipulate the currently selected UVs.
Parameters
[in]
view
the texture drawing view
[in]
selType
the selection type
[in]
xmin
minimum x coordinate value of the selection rectangle.
[in]
ymin
minimum y coordinate value of the selection rectangle.
[in]
xmax
maximum x coordinate value of the selection rectangle.
[in]
ymax
maximum y coordinate value of the selection rectangle.
[in]
singleSelect
indicates if the user is in single selection mode.
Returns a list of materials associated with this shape and a given list of components.
The user must supply a DAG path as a shape can have several materials if instanced.
Parameters
[in]
path
the path for which to get materials
[in]
componentFilter
the (optional) list of components to iterate over. If the list is empty, it will return materials for all components.
[out]
materials
materials associated with this shape.
[out]
componentSet
optional output for components associated with each returned material. A MObject::kNullObj entry indicates that the corresponding material is associated with the entire shape, not a specific component.
Important This function can only be used for custom surface shapes and the function will return NULL if the provided path is not a custom surface shape.
Parameters
[in]
path
The full path to a surface shape, including the shape.
[out]
ReturnStatus
The return status.
MS::kSuccess The method was successful.
MS::kInvalidObjectType The specified object is not a custom surface shape.