from __future__ import annotations

from typing import *

import maya.api.OpenMaya
import maya.api.OpenMayaRender

Unknown = Any

class M3dView:
    """M3dView provides methods for working with 3D model views."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def active3dView(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def activeAffectedColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def activeTemplateColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def applicationShell(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def backgroundColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def backgroundColorBottom(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def backgroundColorTop(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginGL(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginProjMatrixOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginXorDrawing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def colorAtIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def colorMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deviceContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def disallowPolygonOffset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def display(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayStatus(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawText(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endGL(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endProjMatrixOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endXorDrawing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def filteredObjectList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def get3dView(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCamera(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorIndexAndTable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightingMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getM3dViewFromModelEditor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getM3dViewFromModelPanel(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRendererName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getScreenPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def hiliteColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def initNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isBackgroundGradient(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLightVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isShadeActiveOnly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kActive: int = 0
    kActiveAffected: int = 10
    kActiveColors: int = 0
    kActiveComponent: int = 7
    kActiveTemplate: int = 6
    kBackgroundColor: int = 6
    kBoundingBox: int = 0
    kCenter: int = 1
    kDefaultQualityRenderer: int = 0
    kDepth_8: int = 0
    kDepth_Float: int = 1
    kDisplayCVs: int = 131072
    kDisplayCameras: int = 32
    kDisplayDeformers: int = 256
    kDisplayDimensions: int = 4096
    kDisplayDynamicConstraints: int = 134217728
    kDisplayDynamics: int = 512
    kDisplayEverything: int = -1
    kDisplayFluids: int = 2097152
    kDisplayFollicles: int = 4194304
    kDisplayGrid: int = 65536
    kDisplayHairSystems: int = 8388608
    kDisplayHulls: int = 262144
    kDisplayIkHandles: int = 128
    kDisplayImagePlane: int = 16777216
    kDisplayJoints: int = 64
    kDisplayLights: int = 16
    kDisplayLocators: int = 2048
    kDisplayManipulators: int = 268435456
    kDisplayMeshes: int = 4
    kDisplayNCloths: int = 33554432
    kDisplayNParticles: int = 536870912
    kDisplayNRigids: int = 67108864
    kDisplayNurbsCurves: int = 1
    kDisplayNurbsSurfaces: int = 2
    kDisplayParticleInstancers: int = 1024
    kDisplayPivots: int = 16384
    kDisplayPlanes: int = 8
    kDisplaySelectHandles: int = 8192
    kDisplayStrokes: int = 524288
    kDisplaySubdivSurfaces: int = 1048576
    kDisplayTextures: int = 32768
    kDormant: int = 2
    kDormantColors: int = 2
    kExcludeMotionTrails: int = 1073741824
    kExcludePluginShapes: int = -2147483648
    kExternalRenderer: int = 3
    kFlatShaded: int = 1
    kGouraudShaded: int = 2
    kHighQualityRenderer: int = 1
    kHilite: int = 4
    kIntermediateObject: int = 9
    kInvisible: int = 3
    kLead: int = 8
    kLeft: int = 0
    kLightActive: int = 2
    kLightAll: int = 0
    kLightDefault: int = 3
    kLightNone: int = 5
    kLightSelected: int = 1
    kLive: int = 1
    kNoStatus: int = 11
    kPoints: int = 4
    kRight: int = 2
    kStippleDashed: int = 1
    kStippleNone: int = 0
    kTemplate: int = 5
    kTemplateColor: int = 5
    kUnused1: int = 4
    kViewport2Renderer: int = 2
    kWireFrame: int = 3
    @staticmethod
    def leadColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def liveColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def loadName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def modelViewMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def multipleDrawEnabled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def multipleDrawPassCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numActiveColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numDormantColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numUserDefinedColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def numberOf3dViews(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectDisplay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectListFilterName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def playblastPortHeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def playblastPortWidth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pluginObjectDisplay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def popName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def popViewport(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def portHeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def portWidth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def projectionMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pushName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pushViewport(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readBufferTo2dTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readColorBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def readDepthMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def referenceLayerColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def refresh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderOverrideName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rendererString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scheduleRefresh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def scheduleRefreshAllViews(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCamera(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setColorMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDisallowPolygonOffset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDisplayStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawColorAndAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMultipleDrawEnable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMultipleDrawPassCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObjectDisplay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObjectListFilterName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPluginObjectDisplay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRenderOverrideName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShowObjectFilterNameInHUD(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setShowViewSelectedChildren(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setUserDefinedColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setViewSelectedPrefix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def showObjectFilterNameInHUD(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def showViewSelectedChildren(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def templateColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def textureMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def twoSidedLighting(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateViewingParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def userDefinedColorIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def usingDefaultMaterial(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def usingMipmappedTextures(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewIsFiltered(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewSelectedPrefix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewToObjectSpace(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewToWorld(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewport(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def widget(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def window(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def wireframeOnShaded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def wireframeOnlyInShadedMode(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def worldToView(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeColorBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def xray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def xrayJoints(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MCursor:
    """Manipulate Cursors."""
    def __eq__(self, value: Unknown, /) -> Any: ...
    def __ge__(self, value: Unknown, /) -> Any: ...
    def __gt__(self, value: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __le__(self, value: Unknown, /) -> Any: ...
    def __lt__(self, value: Unknown, /) -> Any: ...
    def __ne__(self, value: Unknown, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kCrossHairCursor: MCursor
    kDefaultCursor: MCursor
    kDoubleCrossHairCursor: MCursor
    kEditCursor: MCursor
    kHandCursor: MCursor
    kPencilCursor: MCursor

class MDrawData:
    """The MDrawData class holds geometry specific information for user defined shapes which maya does not intrinsicly know about."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDrawInfo:
    """This class is used by the getDrawRequests method of MPxSurfaceShapeUI to specify the current object drawing state for a user defined shape."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canDrawComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def completelyInside(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayStatus(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPrototype(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inUserInteraction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inclusiveMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def multiPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectDisplayStatus(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def pluginObjectDisplayStatus(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def projectionMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMultiPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def userChangingViewContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def view(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDrawProperties:
    """Draw properties"""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    color: maya.api.OpenMaya.MColor
    lineStyle: int
    lineWidth: float
    pointSize: float

class MDrawRequest:
    """This class encapsulates all the information needed to fulfill a request to draw an object or part of an object.
    This class is used by the draw methods of MPxSurfaceShapeUI derived objects.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    color: maya.api.OpenMaya.MColor
    component: maya.api.OpenMaya.MObject
    displayCullOpposite: bool
    displayCulling: bool
    displayStatus: int
    displayStyle: int
    drawData: MDrawData
    drawLast: bool
    isTransparent: bool
    material: MMaterial
    matrix: maya.api.OpenMaya.MMatrix
    multiPath: maya.api.OpenMaya.MDagPath
    def planeColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPlaneColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    token: int
    view: M3dView

class MEvent:
    """Query interactive system events."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    controlKey: int = 4
    def getWindowPosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isModifierControl(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isModifierKeyRelease(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isModifierLeftMouseButton(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def isModifierMiddleMouseButton(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def isModifierNone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isModifierShift(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kLeftMouse: int = 64
    kMiddleMouse: int = 128
    modifiers: Any
    def mouseButton(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    position: Any
    shiftKey: int = 1

class MFnCircleSweepManip(MFnManip3D):
    """The CircleSweepManip allows the user to manipulate a point constrained to move around a circle, in order to specify a sweep angle. This manipulator generates a single floating point value corresponding to the sweep angle."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def angleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def axisIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def centerIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToAnglePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endCircleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    endPoint: Any
    def setAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCenterPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawAsArc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRadius(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def startCircleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    startPoint: Any

class MFnCurveSegmentManip(MFnManip3D):
    """The CurveSegmentManip allows the user to manipulate two points on a curve, in order to specify a curve segment. This manipulator generates two floating point values, which correspond to the parameters of the start and end of the curve segment."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToCurvePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToEndParamPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToStartParamPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def curveIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endParamIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    endParameter: Any
    def startParamIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    startParameter: Any

class MFnDirectionManip(MFnManip3D):
    """The DirectionManip allows the user to specify a direction, as defined by the vector from the start point to the manipulator position."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToDirectionPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def directionIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endPointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawStart(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNormalizeDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setStartPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def startPointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDiscManip(MFnManip3D):
    """The DiscManip allows the user to rotate a disc in order to specify a rotation about an axis. This manipulator generates a single floating point value corresponding to the rotation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def angleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def axisIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def centerIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToAnglePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAngle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCenterPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setNormal(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRadius(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnDistanceManip(MFnManip3D):
    """The DistanceManip allows the user to manipulate a point that is constrained to move along a line. This manipulator generates a single floating point value. Scaling factors can be used to determine how the manipulator appears when it is drawn."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToDistancePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentPointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def directionIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def distanceIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDrawLineOn: Any
    isDrawStartOn: Any
    scalingFactor: Any
    def setDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setStartPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def startPointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnFreePointTriadManip(MFnManip3D):
    """The FreePointTriadManip provides a moveable point, which can be moved anywhere, and has axes for constrained x, y, and z movement and obeys grid snapping, point snapping, and curve snapping. The FreePointTriadManip generates the 3D position of the moveable point. It is useful for specifying the position of an object in space.

    Note that only the MFnNumericData::k3Double data type is supportedwhen connecting to a pointPlug via connectToPointPlug.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToPointPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDrawAxesOn: Any
    isKeyframeAllOn: Any
    isSnapModeOn: Any
    kViewPlane: int = 3
    kXYPlane: int = 2
    kXZPlane: int = 1
    kYZPlane: int = 0
    def pointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDirection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawArrowHead(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGlobalTriadPlane(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnManip3D(maya.api.OpenMaya.MFnTransform):
    """MFnManip3D allows the creation and manipulation of 3D manipulators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deleteManipulator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def drawPlaneHandles(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def globalSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def handleSize(*args: Unknown, **kwargs: Unknown) -> Any: ...

    isOptimizePlaybackOn: Any
    isVisible: Any
    @staticmethod
    def lineSize(*args: Unknown, **kwargs: Unknown) -> Any: ...

    manipScale: Any
    def rotateXYZValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setDrawPlaneHandles(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setGlobalSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setHandleSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setLineSize(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnPointOnCurveManip(MFnManip3D):
    """The PointOnCurveManip allows the user to manipulate a point constrained to move along a curve, in order to specify the "u" curve parameter value. This manipulator generates a single floating point value corresponding to the curve parameter.the sweep angle."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToCurvePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToParamPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def curveIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def curvePoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDrawCurveOn: Any
    def paramIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    parameter: Any

class MFnPointOnSurfaceManip(MFnManip3D):
    """The PointOnSurfaceManip allows the user to manipulate a point constrained to move along a surface, in order to specify the (u, v) surface parameter values. This manipulator generates two floating point values corresponding to the surface (u, v) parameters."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToParamPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToSurfacePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isDrawSurfaceOn: Any
    def paramIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawArrows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def surfaceIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    uParam: Any
    vParam: Any

class MFnRotateManip(MFnManip3D):
    """This class provides access to the built-in Maya rotate manipulator."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToRotationCenterPlug(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def connectToRotationPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayWithNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isSnapModeOn: bool
    kGimbal: int = 2
    kObjectSpace: int = 0
    kWorldSpace: int = 1
    rotateMode: int
    def rotationCenterIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rotationIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInitialRotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRotationCenter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    snapIncrement: float

class MFnScaleManip(MFnManip3D):
    """This class provides access to the built-in Maya scale manipulator."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToScaleCenterPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToScalePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayWithNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isSnapModeOn: bool
    kArbitraryOrientation: int = 1
    kDefaultOrientation: int = 0
    orientation: Any
    orientationMode: Any
    def scaleCenterIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def scaleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInitialScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    snapIncrement: float

class MFnStateManip(MFnManip3D):
    """The StateManip allows the user to switch between multiple states. It is drawn as a circle with a notch. Each click on the circle increments the value of the state (modulo the maximum number of states). This manipulator generates an integer value corresponding to the state of the manip."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToStatePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    maxStates: Any
    def positionIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInitialState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def state(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def stateIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MFnToggleManip(MFnManip3D):
    """The ToggleManip allows the user to switch between two modes or some on/off state. It is drawn as a circle with or without a dot. When the mode is on, the dot is drawn in the circle; when the mode is off, the circle is drawn without the dot. This manipulator generates a boolean value corresponding to whether or not the mode is on or off."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToTogglePlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def create(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    direction: Any
    def directionIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    length: Any
    def lengthIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    startPoint: Any
    def startPointIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    toggle: Any
    def toggleIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MHWShaderSwatchGenerator(maya.api.OpenMayaRender.MSwatchRenderBase):
    """Hardware shader swatch generator utility class."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def createObj(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def doIteration(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getSwatchBackgroundColor(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def initialize(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MManipData:
    """Class that encapsulates manipulator data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asDouble(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asLong(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asMObject(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asShort(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asUnsigned(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isSimple(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MMaterial:
    """This class is used in the draw functions of user defined shapes (see MPxSurfaceShapeUI) for setting up and querying materials in shaded mode drawing."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def applyTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def defaultMaterial(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateDiffuse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateEmission(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateMaterial(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateShininess(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateSpecular(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def evaluateTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDiffuse(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEmission(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getHasTransparency(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getHwShaderNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getShininess(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSpecular(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTextureTransformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAmbientColor: int = 2
    kBumpMap: int = 4
    kColor: int = 0
    kCosinePower: int = 10
    kDiffuse: int = 5
    kEccentricity: int = 11
    kHighlightSize: int = 8
    kIncandescence: int = 3
    kReflectedColor: int = 15
    kReflectivity: int = 14
    kRoughness: int = 7
    kSpecularColor: int = 13
    kSpecularRollOff: int = 12
    kTransluscence: int = 6
    kTransparency: int = 1
    kWhiteness: int = 9
    def materialIsTextured(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMaterial(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shadingEngine(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def textureImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MMaterialArray:
    """An array of MMaterial."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def insert(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def set(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sizeIncrement: int

class MPaintMessage(maya.api.OpenMaya.MMessage):
    """Class used to register callbacks for paint related messages."""
    @staticmethod
    def addVertexColorCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MPanelCanvas:
    """Provides API extension to panel canvas.

    __init__()
    Initializes a new MPanelCanvas.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPrimitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createFloatVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createPrimitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createTimeVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destroyPrimitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destroyVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isAutoRefresh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isLayerVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isValid(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kGraphEditorAxisLabels: int = 1000
    kGraphEditorBackground: int = 0
    kGraphEditorCurveNames: int = 3000
    kGraphEditorCurves: int = 2000
    kGraphEditorFirstDefaultDraw: int = 100
    kGraphEditorGrid: int = 100
    kGraphEditorLastDefaultDraw: int = 10000
    kGraphEditorOverlayTexture: int = 10000
    kGraphEditorRetimeToolText: int = 5000
    kGraphEditorTimeMarker: int = 4000
    kGraphEditorUndefined: int = -1
    def refresh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerDrawUICallback(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removePrimitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAutoRefresh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLayerVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsUIDrawing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unregisterDrawUICallback(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPanelCanvasInfo:
    """Provides API extension to get/set panel canvas information.

    __init__()
    Initializes a new MPanelCanvasInfo.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getViewportBounds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getViewportSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setViewportBounds(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsUIDrawing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxContext:
    """This is the base class for user defined drag and drop behaviors."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def abortAction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addManipulator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def argTypeNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginMarquee(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def completeAction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteAction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteManipulators(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDrag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDragLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doEnterRegion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doExitRegion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doHold(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doHoldLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPress(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPressLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPtrMoved(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPtrMovedLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doRelease(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doReleaseLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dragMarquee(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawFeedback(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def feedbackNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def helpStateHasChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def image(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def inAlternateContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kImage1: int = 0
    kImage2: int = 1
    kImage3: int = 2
    def newToolCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def processNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def releaseMarquee(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCursor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHelpString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTitleString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def stringClassName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def toolOffCleanup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def toolOnSetup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxContextCommand:
    """Base class for custom context commands."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def appendSyntax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doEditFlags(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doQueryFlags(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def makeObj(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parser(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setResult(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def syntax(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxDragAndDropBehavior:
    """This is the base class for user defined drag and drop behaviors."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectAttrToAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectAttrToNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectNodeToAttr(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectNodeToNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shouldBeUsedFor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxHardwareShader(maya.api.OpenMaya.MPxNode):
    """Base class for user defined hardware shaders."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findResource(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAvailableImages(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getHardwareShader(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kIsTransparent: int = 1
    kNoTransparencyFrontBackCull: int = 2
    kNoTransparencyPolygonSort: int = 4
    outColor: maya.api.OpenMaya.MObject
    outColorB: maya.api.OpenMaya.MObject
    outColorG: maya.api.OpenMaya.MObject
    outColorR: maya.api.OpenMaya.MObject
    def profile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderSwatchImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setUniformParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVaryingParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transparencyOptions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxHwShaderNode(maya.api.OpenMaya.MPxNode):
    """Base class for user defined hardware shaders."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def bind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def colorsPerVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def currentShadingEngine(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dirtyMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAvailableImages(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getHwShaderNode(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTexCoordSetNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def glBind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def glGeometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def glUnbind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasTransparency(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def invertTexCoords(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kDirtyAll: int = 15
    kDirtyColorArrays: int = 4
    kDirtyNone: int = 0
    kDirtyNormalArray: int = 2
    kDirtyTexCoordArrays: int = 8
    kDirtyVertexArray: int = 1
    kIsTransparent: int = 1
    kNoTransparencyFrontBackCull: int = 2
    kNoTransparencyPolygonSort: int = 4
    kWriteAll: int = 15
    kWriteColorArrays: int = 4
    kWriteNone: int = 0
    kWriteNormalArray: int = 2
    kWriteTexCoordArrays: int = 8
    kWriteVertexArray: int = 1
    def normalsPerVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    outColor: maya.api.OpenMaya.MObject
    outColorB: maya.api.OpenMaya.MObject
    outColorG: maya.api.OpenMaya.MObject
    outColorR: maya.api.OpenMaya.MObject
    outGlowColor: maya.api.OpenMaya.MObject
    outGlowColorB: maya.api.OpenMaya.MObject
    outGlowColorG: maya.api.OpenMaya.MObject
    outGlowColorR: maya.api.OpenMaya.MObject
    outMatteOpacity: maya.api.OpenMaya.MObject
    outMatteOpacityB: maya.api.OpenMaya.MObject
    outMatteOpacityG: maya.api.OpenMaya.MObject
    outMatteOpacityR: maya.api.OpenMaya.MObject
    outTransparency: maya.api.OpenMaya.MObject
    outTransparencyB: maya.api.OpenMaya.MObject
    outTransparencyG: maya.api.OpenMaya.MObject
    outTransparencyR: maya.api.OpenMaya.MObject
    def provideVertexIDs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderSwatchImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsBatching(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def texCoordsPerVertex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transparencyOptions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unbind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxLocatorNode(maya.api.OpenMaya.MPxNode):
    """Base class for user defined locators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundingBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    boundingBoxCenterX: maya.api.OpenMaya.MObject
    boundingBoxCenterY: maya.api.OpenMaya.MObject
    boundingBoxCenterZ: maya.api.OpenMaya.MObject
    center: maya.api.OpenMaya.MObject
    def closestPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def color(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def colorRGB(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def draw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawLast(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def excludeAsLocator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getShapeSelectionMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    instObjGroups: maya.api.OpenMaya.MObject
    intermediateObject: maya.api.OpenMaya.MObject
    inverseMatrix: maya.api.OpenMaya.MObject
    def isBounded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    isTemplated: maya.api.OpenMaya.MObject
    def isTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    localPosition: maya.api.OpenMaya.MObject
    localPositionX: maya.api.OpenMaya.MObject
    localPositionY: maya.api.OpenMaya.MObject
    localPositionZ: maya.api.OpenMaya.MObject
    localScale: maya.api.OpenMaya.MObject
    localScaleX: maya.api.OpenMaya.MObject
    localScaleY: maya.api.OpenMaya.MObject
    localScaleZ: maya.api.OpenMaya.MObject
    matrix: maya.api.OpenMaya.MObject
    nodeBoundingBox: maya.api.OpenMaya.MObject
    nodeBoundingBoxMax: maya.api.OpenMaya.MObject
    nodeBoundingBoxMaxX: maya.api.OpenMaya.MObject
    nodeBoundingBoxMaxY: maya.api.OpenMaya.MObject
    nodeBoundingBoxMaxZ: maya.api.OpenMaya.MObject
    nodeBoundingBoxMin: maya.api.OpenMaya.MObject
    nodeBoundingBoxMinX: maya.api.OpenMaya.MObject
    nodeBoundingBoxMinY: maya.api.OpenMaya.MObject
    nodeBoundingBoxMinZ: maya.api.OpenMaya.MObject
    nodeBoundingBoxSize: maya.api.OpenMaya.MObject
    nodeBoundingBoxSizeX: maya.api.OpenMaya.MObject
    nodeBoundingBoxSizeY: maya.api.OpenMaya.MObject
    nodeBoundingBoxSizeZ: maya.api.OpenMaya.MObject
    objectColor: maya.api.OpenMaya.MObject
    objectGroupColor: maya.api.OpenMaya.MObject
    objectGroupId: maya.api.OpenMaya.MObject
    objectGroups: maya.api.OpenMaya.MObject
    objectGrpCompList: maya.api.OpenMaya.MObject
    parentInverseMatrix: maya.api.OpenMaya.MObject
    parentMatrix: maya.api.OpenMaya.MObject
    underWorldObject: maya.api.OpenMaya.MObject
    def useClosestPointForSelection(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

    useObjectColor: maya.api.OpenMaya.MObject
    visibility: maya.api.OpenMaya.MObject
    worldInverseMatrix: maya.api.OpenMaya.MObject
    worldMatrix: maya.api.OpenMaya.MObject
    worldPosition: maya.api.OpenMaya.MObject
    worldPositionX: maya.api.OpenMaya.MObject
    worldPositionY: maya.api.OpenMaya.MObject
    worldPositionZ: maya.api.OpenMaya.MObject

class MPxManipContainer(maya.api.OpenMaya.MPxNode):
    """Parent class of all user defined manipulators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addCircleSweepManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addCurveSegmentManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDirectionManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDiscManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDistanceManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addFreePointTriadManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addMPxManipulatorNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addManipToPlugConversion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPlugToInViewEditor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPlugToManipConversion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPointOnCurveManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPointOnSurfaceManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addRotateManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addScaleManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addStateManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addToManipConnectTable(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def addToggleManip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToDependNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createChildren(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDrag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPress(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doRelease(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def draw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawUI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def finishAddingManips(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConverterManipDoubleValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipMEulerRotationValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipMMatrixValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipMPointValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipMTransformationMatrixValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipMVectorValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipUIntValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterManipValues(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getConverterPlugDoubleValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterPlugMEulerRotationValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterPlugMMatrixValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterPlugMPointValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterPlugMVectorValue(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getConverterPlugValues(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def initialize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def isManipActive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def manipToPlugConversion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def newManipulator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def plugToManipConversion(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preDrawUI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def removeFromManipConnectTable(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxManipulatorNode(maya.api.OpenMaya.MPxNode):
    """Parent class of all user defined manipulators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDependentPlug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addDoubleValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPointValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addVectorValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def colorAndName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectPlugToValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def connectToDependNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dependentPlugsReset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterForMouseMove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dimmedColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDrag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doMove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPress(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doRelease(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def draw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawUI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def finishAddingManips(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDoubleValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPointValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getVectorValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def glActiveName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def glFirstHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def labelBackgroundColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def labelColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lineColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mainColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mouseDown(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mousePosition(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mouseRay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mouseRayWorld(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mouseUp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def newManipulator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def preDrawUI(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def prevColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerForMouseMove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectedColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDoubleValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHandleColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPointValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setVectorValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shouldDrawHandleAsSelected(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def xColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def yColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def zColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxSelectionContext(MPxContext):
    """Base class for interative selection tools."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def abortAction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addManipulator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def argTypeNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteManipulators(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDrag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doDragLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doHold(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doHoldLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPress(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doPressLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doRelease(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doReleaseLegacy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def feedbackNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def helpStateHasChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def image(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isSelecting(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lastDragPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def newToolCommand(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def processNumericalInput(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowDoubleClickAction(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setAllowPaintSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowPreSelectHilight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowSoftSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowSymmetry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setImage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def startPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxSurfaceShapeUI:
    """(Deprecated: Please use MHWRender::MPxGeometryOverride, MHWRender::MPxSubSceneOverride, or MHWRender::MPxDrawOverride instead.)
    Base class for the UI portion of all user defined shapes.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def canDrawUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kSelectMeshEdges: int = 3
    kSelectMeshFaces: int = 2
    kSelectMeshUVs: int = 0
    kSelectMeshVerts: int = 1
    def material(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def materials(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def select(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectUV(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def snap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def surfaceShape(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def surfaceShapeUI(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxToolCommand(maya.api.OpenMaya.MPxCommand):
    """Base class for custom tool commands."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cancel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doFinalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doIt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def finalize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSelectInfo(MDrawInfo):
    """(Deprecated: Please use MHWRender::MPxGeometryOverride, MHWRender::MPxSubSceneOverride, or MHWRender::MPxDrawOverride instead.)
    Selection state information used in MPxSurfaceShapeUI.select.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addSelection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getAlignmentMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLocalRay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    highestPriority: Any
    def isRay(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectClosest(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectForHilite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectOnHilitedOnly(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectRect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectableComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSnapPoint(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def singleSelection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def view(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTextureEditorDrawInfo:
    """Drawing state for drawing to the UV texture window with custom shapes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    drawingFunction: int
    kDrawEdgeForSelect: int = 4
    kDrawEverything: int = 2
    kDrawFacetForSelect: int = 5
    kDrawFunctionFirst: int = 1
    kDrawFunctionLast: int = 6
    kDrawUVForSelect: int = 6
    kDrawVertexForSelect: int = 3
    kDrawWireframe: int = 1

class MTimeSliderCustomDrawManager:
    """Manager to add drawing primitive to the time slider."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearDrawPrimitives(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deregisterCustomDraw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAbove: int = 0
    kBelow: int = 1
    kOn: int = 2
    def registerCustomDrawOn(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def registerCustomDrawOutside(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def requestTimeSliderRedraw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBackgroundColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawHeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawLayer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawLocation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawPrimitives(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawPriority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawVisible(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setEditPrimitiveFunction(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSetCopyPrimitivesFunction(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setStartPrimitiveEditFunction(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setStopPrimitiveEditFunction(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setTooltip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTimeSliderDrawPrimitive:
    """Primitive to be drawn set in a context with MTimeSiderCustomDrawManager."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    bottom: Any
    color: Any
    drawType: Any
    endTime: Any
    height: Any
    kBracket: int = 4
    kFilledRect: int = 0
    kFrameFlag: int = 5
    kFullOutline: int = 2
    kMoveEndTime: int = 3
    kMovePrimitive: int = 1
    kMoveStartTime: int = 2
    kNone: int = 0
    kUpperOutline: int = 1
    kVerticalLine: int = 3
    label: Any
    priority: Any
    startTime: Any
    tooltip: Any

class MUiMessage(maya.api.OpenMaya.MMessage):
    """Class used to register callbacks for UI related messages."""
    @staticmethod
    def add3dViewDestroyMsgCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def add3dViewPostRenderMsgCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def add3dViewPreRenderMsgCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def add3dViewRenderOverrideChangedCallback(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def add3dViewRendererChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addCameraChangedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def addUiDeletedCallback(*args: Unknown, **kwargs: Unknown) -> Any: ...

class RenderParameters:
    """Provides information on how to render the image."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    baseColor: maya.api.OpenMaya.MColor
    showAlphaMask: bool
    unfiltered: bool

class ShaderContext:
    """Provides contextual information about the current invocation of the shader."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    path: maya.api.OpenMaya.MDagPath
    shadingEngine: maya.api.OpenMaya.MObject

key: str = "__file__"

ourdict: Dict[str, Any]

py2dict: Dict[str, Any]

val: str = "C:\\Program Files\\Autodesk\\Maya2026\\Python\\Lib\\site-packages\\maya\\api\\_OpenMayaUI_py2.pyd"
