def triple(self):
    if self.triple_sw:
        message = "Triangulate"
        message = get_progression_message(self, message)
        increment_progress_bar(self, self.progress)
        dialog.processing_log(message)
        lx.eval('poly.triple')
def merge_meshes(self, item):
    message = 'Merging Meshes'
    message = get_progression_message(self, message)
    increment_progress_bar(self, self.progress)
    dialog.processing_log(message)
    self.scn.select(item)
    lx.eval('layer.mergeMeshes true')
def harden_uv_border(self):
    if self.hardenUvBorder_sw:
        message = "HardenUvBorder = " + self.uvMapName
        message = get_progression_message(self, message)
        increment_progress_bar(self, self.progress)
        dialog.processing_log(message)
        lx.eval('select.vertexMap {%s} txuv replace' % self.uvMapName)
        lx.eval('uv.selectBorder')
        lx.eval('vertMap.hardenNormals uv')
        lx.eval('vertMap.updateNormals')
        lx.eval('select.type item')
def smooth_angle(self):
    if self.smoothAngle_sw:
        message = "Harden edges witch are sharper than %s degrees" % self.smoothAngle
        message = get_progression_message(self, message)
        increment_progress_bar(self, self.progress)
        dialog.processing_log(message)
        currAngle = lx.eval('user.value vnormkit.angle ?')
        lx.eval('user.value vnormkit.angle %s' % self.smoothAngle)
        lx.eval('vertMap.hardenNormals angle soften:true')
        lx.eval('user.value vnormkit.angle %s' % currAngle)
        lx.eval('vertMap.updateNormals')
def apply_morph(self, condition, name):
    if condition:
        message = 'Applying Morph Map : ' + name
        message = get_progression_message(self, message)
        increment_progress_bar(self, self.progress)
        dialog.processing_log(message)

        morph_maps = name.split(',')

        selection = self.scn.selected
        for i in xrange(0, len(selection)):
            self.scn.select(selection[i])
            for maps in morph_maps:
                lx.eval('vertMap.applyMorph %s 1.0' % maps)
            self.scn.select(selection)
    def batch_folder(self):
        self.currPath = file.getLatestPath(t.config_browse_src_path)
        dialog.init_dialog("input_path", self.currPath)

        try:  # mesh to process dialog
            lx.eval('dialog.open')
        except:
            dialog.init_dialog('cancel', self.currPath)
        else:
            input_dir = lx.eval1('dialog.result ?')
            file.updateExportPath('', input_dir, '')
            self.currPath = file.getLatestPath(t.config_browse_dest_path)
            dialog.init_dialog("output", self.currPath)
            try:  # output folder dialog
                lx.eval('dialog.open')
            except:
                dialog.init_dialog('cancel', self.currPath)
            else:
                output_dir = lx.eval1('dialog.result ?')
                file.updateExportPath('', '', output_dir)

                if not self.processSubfolder_sw:
                    format = helper.filter_string(self.formatFilter,
                                                  t.compatibleImportFormat)
                    files = helper.get_files_of_type(input_dir, format)
                else:
                    input_subdir = helper.get_recursive_subdir(
                        [input_dir], self.subfolderDepth)
                    files = []
                    format = helper.filter_string(self.formatFilter,
                                                  t.compatibleImportFormat)
                    for subdir in input_subdir:
                        subfiles = helper.get_files_of_type(subdir, format)

                        for f in subfiles:
                            files.append(f)

                file_count = len(files)

                self.progress = dialog.init_progress_bar(
                    file_count, 'Exporting files...')

                self.progression[1] = file_count
                self.progression[0] = 0

                t.set_import_setting()

                for f in files:
                    dialog.processing_log(
                        '.....................................   ' +
                        os.path.basename(f) +
                        '   .....................................')

                    lx.eval('!scene.open "%s" normal' % f)

                    self.scnIndex = lx.eval(
                        'query sceneservice scene.index ? current')

                    helper.select_compatible_item_type()

                    self.userSelection = self.scn.selected
                    self.userSelectionCount = len(self.userSelection)

                    dialog.print_log(
                        '.....................................   ' +
                        str(self.userSelectionCount) +
                        ' mesh item founded   .....................................'
                    )

                    if self.at_least_one_item_selected(exit=False):
                        lx.eval('!scene.close')
                        continue

                    input_relative_dir_root = os.path.split(f)[0].split(
                        input_dir)[1][1:]
                    output_subdir = os.path.join(output_dir,
                                                 input_relative_dir_root)

                    helper.create_folder_if_necessary(output_subdir)

                    self.filename = os.path.splitext(os.path.basename(f))[0]

                    self.batch_process(output_subdir, self.filename)

                    dialog.increment_progress_bar(self, self.progress[0],
                                                  self.progression)

                    helper.revert_initial_parameter(self)

                    lx.eval('!scene.close')

                helper.reset_import_settings(self)

                #dialog.deallocate_dialog_svc(self.progress[1])

        dialog.init_message(
            'info', 'Done',
            'Operation completed successfully ! %s file(s) exported' %
            self.exportedFileCount)

        helper.open_destination_folder(self, output_dir)

        dialog.ending_log(self)
    def batch_files(self):
        self.currPath = file.getLatestPath(t.config_browse_src_path)
        dialog.init_dialog("input", self.currPath)

        try:  # mesh to process dialog
            lx.eval('dialog.open')
        except:
            dialog.init_dialog('cancel', self.currPath)
        else:
            files = lx.evalN('dialog.result ?')
            file.updateExportPath('', os.path.split(files[0])[0], '')
            self.currPath = file.getLatestPath(t.config_browse_dest_path)
            dialog.init_dialog("output", self.currPath)
            try:  # output folder dialog
                lx.eval('dialog.open')
            except:
                dialog.init_dialog('cancel', self.currPath)
            else:
                output_dir = lx.eval1('dialog.result ?')
                file.updateExportPath('', '', output_dir)

                file_count = len(files)

                self.progress = dialog.init_progress_bar(
                    file_count, 'Exporting files...')

                self.progression[1] = file_count
                self.progression[0] = 0

                t.set_import_setting()

                for f in files:
                    dialog.processing_log(
                        '.....................................   ' +
                        os.path.basename(f) +
                        '   .....................................')

                    lx.eval('!scene.open "%s" normal' % f)

                    self.scnIndex = lx.eval(
                        'query sceneservice scene.index ? current')

                    helper.select_compatible_item_type()

                    self.userSelection = self.scn.selected
                    self.userSelectionCount = len(self.userSelection)

                    dialog.print_log(
                        '.....................................   ' +
                        str(self.userSelectionCount) +
                        ' mesh item founded   .....................................'
                    )

                    if self.at_least_one_item_selected(exit=False):
                        lx.eval('!scene.close')
                        continue

                    self.filename = os.path.splitext(os.path.basename(f))[0]

                    self.batch_process(output_dir, self.filename)

                    dialog.increment_progress_bar(self, self.progress[0],
                                                  self.progression)

                    helper.revert_initial_parameter(self)

                    lx.eval('!scene.close')

                helper.reset_import_settings(self)

        dialog.init_message(
            'info', 'Done',
            'Operation completed successfully ! %s file(s) exported' %
            self.exportedFileCount)

        helper.open_destination_folder(self, output_dir)

        dialog.ending_log(self)