Exemplo n.º 1
0
 def applyActiveMaterial(self):
     objects = self.getObjectsUnderMouse()
     if len(objects) > 0:
         face = objects[0][0]
         if face.material.material != MaterialPool.ActiveMaterial:
             action = EditFaceMaterial(face)
             action.material.material = MaterialPool.ActiveMaterial
             base.actionMgr.performAction("Apply active material", action)
Exemplo n.º 2
0
    def __fitTexture(self):
        actions = []

        if self.treatAsOne:
            cloud = self.__getPointCloud(self.faces)
            for face in self.faces:
                action = EditFaceMaterial(face)
                action.material.fitTextureToPointCloud(cloud, 1, 1)
                actions.append(action)
        else:
            for face in self.faces:
                cloud = self.__getPointCloud([face])
                action = EditFaceMaterial(face)
                action.material.fitTextureToPointCloud(cloud, 1, 1)
                actions.append(action)

        base.actionMgr.performAction("Fit texture", ActionGroup(actions))
Exemplo n.º 3
0
    def __rotationChanged(self, val):
        actions = []
        for face in self.faces:
            action = EditFaceMaterial(face)
            action.material.setTextureRotation(val)
            actions.append(action)

        base.actionMgr.performAction("Texture rotation", ActionGroup(actions))
Exemplo n.º 4
0
    def __yShiftChanged(self, val):
        actions = []
        for face in self.faces:
            action = EditFaceMaterial(face)
            action.material.shift.x = val
            actions.append(action)

        base.actionMgr.performAction("Texture Y shift", ActionGroup(actions))
Exemplo n.º 5
0
    def __xScaleChanged(self, val):
        actions = []
        for face in self.faces:
            action = EditFaceMaterial(face)
            action.material.scale.x = val
            actions.append(action)

        base.actionMgr.performAction("Texture X scale", ActionGroup(actions))
Exemplo n.º 6
0
    def __doAlign(self, mode):
        actions = []

        if self.treatAsOne:
            cloud = self.__getPointCloud(self.faces)
            for face in self.faces:
                action = EditFaceMaterial(face)
                action.material.alignTextureWithPointCloud(cloud, mode)
                actions.append(action)
        else:
            for face in self.faces:
                cloud = self.__getPointCloud([face])
                action = EditFaceMaterial(face)
                action.material.alignTextureWithPointCloud(cloud, mode)
                actions.append(action)

        base.actionMgr.performAction("Align texture %s" % mode.name,
                                     ActionGroup(actions))
Exemplo n.º 7
0
    def __alignFace(self):
        actions = []
        for face in self.faces:
            action = EditFaceMaterial(face)
            action.material.alignTextureToFace(face)
            actions.append(action)
        base.actionMgr.performAction("Align texture to face",
                                     ActionGroup(actions))

        self.updateForSelection()
Exemplo n.º 8
0
    def __changeMaterial(self, filename):
        actions = []

        mat = MaterialPool.getMaterial(filename)
        MaterialPool.ActiveMaterial = mat
        for face in self.faces:
            action = EditFaceMaterial(face)
            action.material.material = mat
            actions.append(action)

        base.actionMgr.performAction("Change face material",
                                     ActionGroup(actions))

        self.updateMaterialIcon()