コード例 #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)
コード例 #6
0
    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
コード例 #8
0
    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
ファイル: notDefaultUVSet.py プロジェクト: kingmax/medic
    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
ファイル: intermediateNode.py プロジェクト: gatgui/medic
    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
ファイル: incompleteUV.py プロジェクト: wmoten/medic
    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
ファイル: hasInputGeometry.py プロジェクト: wmoten/medic
    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
ファイル: freezeVertex.py プロジェクト: wmoten/medic
    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
ファイル: unknownType.py プロジェクト: wmoten/medic
 def test(self, node):
     return medic.PyReport(node)
コード例 #18
0
    def test(self, node):
        if node.dag().isInstanced():
            return medic.PyReport(node)

        return None
コード例 #19
0
    def test(self, node):
        if node.dg().isFromReferencedFile():
            return medic.PyReport(node)

        return None
コード例 #20
0
    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)