示例#1
0
    def test(self, node):
        if FaceAssigned.__TestObjGrp(node, "compInstObjGroups",
                                     "compObjectGroups"):
            return medic.PyReport(node)

        if FaceAssigned.__TestObjGrp(node, "instObjGroups", "objectGroups"):
            return medic.PyReport(node)

        return None
示例#2
0
    def test(self, node):
        if node.name() not in [
                "BaseAnimation", "defaultRenderLayer", "defaultLayer"
        ]:
            return medic.PyReport(node)

        return None
示例#3
0
    def test(self, node):
        if node.dg().isFromReferencedFile():
            return None

        if Namespace.ReNS.search(node.name()):
            return medic.PyReport(node)

        return None
示例#4
0
    def test(self, node):
        if node.dag().isIntermediateObject():
            plugs = OpenMaya.MPlugArray()
            node.dg().getConnections(plugs)
            if plugs.length() <= 2:
                return medic.PyReport(node)

        return None
示例#5
0
    def test(self, node):
        plug = node.dg().findPlug("displaySmoothMesh")
        if not plug:
            return None

        if plug.asInt() == 0:
            return None

        return medic.PyReport(node)
    def test(self, node):
        if node.dag().isInstanced():
            return None

        transform = node.dag().transformationMatrix()
        if NotFreezed.Identity == transform:
            return None

        return medic.PyReport(node)
示例#7
0
    def test(self, node, geom=None):
        plug = node.dg().findPlug("pnts", True)
        tweaked = False
        for i in range(plug.numElements()):
            elm = plug.elementByPhysicalIndex(i)
            for j in range(3):
                if abs(elm.child(j).asDouble()) > 0.000001:
                    return medic.PyReport(node)

        return None
    def test(self, node):
        if node.dag().isInstanced() or node.dag().isFromReferencedFile(
        ) or node.dag().isIntermediateObject():
            return None

        parent = node.parents()[0]
        if ShapeSuffix.NameCompare(node.dg().name(), parent.dg().name()):
            return None

        return medic.PyReport(node)
示例#9
0
    def test(self, node):
        mesh = None
        try:
            mesh = OpenMaya.MFnMesh(node.object())
        except:
            return None

        if mesh.currentUVSetName() != NotDefaultUVSet.__DefaultSetName:
            return medic.PyReport(node)

        return None
示例#10
0
    def test(self, node):
        if node.dag().isInstanced():
            return None

        iden = OpenMaya.MMatrix()

        for p in node.parents():
            transform = p.dag().transformationMatrix()
            if not NotFreezed.Identity == transform:
                return medic.PyReport(node)

        return None
示例#11
0
    def test(self, node):
        if not node.dag().isIntermediateObject():
            return None

        for i, f in enumerate(cmds.listHistory(node.name(),
                                               future=True)) or []:
            if i == 0:
                continue

            if "shape" in cmds.nodeType(f, inherited=True):
                return None

        return medic.PyReport(node)
示例#12
0
    def test(self, node):
        mesh = None
        try:
            mesh = OpenMaya.MFnMesh(node.object())
        except:
            return None

        uv_count = 0

        map_list = []
        mesh.getUVSetNames(map_list)

        for i, mp in enumerate(map_list):
            n_uvs = mesh.numUVs(mp)

            if i == 0:
                uv_count = n_uvs
            elif uv_count != n_uvs:
                return medic.PyReport(node)

        if uv_count is 0:
            return medic.PyReport(node)

        return None
示例#13
0
    def test(self, node):
        plug_name = None
        if node.object().hasFn(OpenMaya.MFn.kNurbsSurfaceGeom) or node.object().hasFn(OpenMaya.MFn.kNurbsCurve):
            plug_name = "create"

        elif node.object().hasFn(OpenMaya.MFn.kMesh):
            plug_name = "inMesh"

        if not plug_name:
            return None

        if self.__plugHasSourceConnection(node.dg().findPlug(plug_name)):
            return medic.PyReport(node)

        return None
示例#14
0
    def test(self, node, geom=None):
        plug = node.dg().findPlug("pnts", True)
        tweaked = False
        for i in range(plug.numElements()):
            elm = plug.elementByPhysicalIndex(i)
            for j in range(3):
                if abs(elm.child(j).asDouble()) > sys.float_info.epsilon:
                    tweaked = True
                    break
            if tweaked:
                break

        if tweaked:
            return medic.PyReport(node)
        else:
            return None
示例#15
0
    def test(self, node):
        nc = None
        if node.object().hasFn(OpenMaya.MFn.kMesh):
            om = node.dg().findPlug("outMesh", True)
            nc = om.asMDataHandle().asMesh()

        elif node.object().hasFn(OpenMaya.MFn.kNurbsCurve):
            cc = node.dg().findPlug("cc", True)
            nc = cc.asMDataHandle().asNurbsCurve()

        elif node.object().hasFn(OpenMaya.MFn.kNurbsSurfaceGeom):
            cc = node.dg().findPlug("cc", True)
            nc = cc.asMDataHandle().asNurbsSurface()

        if nc is not None and nc.isNull():
            return medic.PyReport(node)

        return None
示例#16
0
    def test(self, node):
        geom = None
        try:
            if node.object().hasFn(OpenMaya.MFn.kMesh):
                geom = OpenMaya.MFnMesh(node.object())
            elif node.object().hasFn(OpenMaya.MFn.kNurbsSurfaceGeom):
                geom = OpenMaya.MFnNurbsSurface(node.object())
        except:
            return None

        for i in range(node.dag().instanceCount(True)):
            objs = OpenMaya.MObjectArray()
            sid = OpenMaya.MIntArray()
            geom.getConnectedShaders(i, objs, sid)

            if objs.length() > 1:
                return medic.PyReport(node)

        return None
示例#17
0
 def test(self, node):
     return medic.PyReport(node)
示例#18
0
    def test(self, node):
        if node.dag().isInstanced():
            return medic.PyReport(node)

        return None
    def test(self, node):
        if node.dg().isFromReferencedFile():
            return medic.PyReport(node)

        return None
    def test(self, node):
        if not node.dag().isIntermediateObject():
            return None

        return medic.PyReport(node)
示例#21
0
    def test(self, node):
        if node.dg().hasUniqueName():
            return None

        return medic.PyReport(node)