Exemplo n.º 1
0
    def saveTimeStatistics(self):
        if self.options['time_parameters']['time_profiling']:
            if self.iterations <= self.options['time_parameters'][
                    'iteration_amount']:
                result = Sofa.timerEnd(
                    self.options['time_parameters']['timer_name'],
                    self.rootNode)
                if result != None:
                    with open(
                            self.fullFolderName + '/' +
                            self.options['time_parameters']
                        ['time_statistics_file'], "a") as outputFile:
                        outputFile.write(result + ",")
                        outputFile.close()
            # replace last symbol
            if self.iterations == self.options['time_parameters'][
                    'iteration_amount']:
                with open(
                        self.fullFolderName + '/' +
                        self.options['time_parameters']
                    ['time_statistics_file'], "a") as outputFile:
                    outputFile.seek(-1, os.SEEK_END)
                    outputFile.truncate()
                    outputFile.write("\n}")
                    outputFile.close()

        return 0
Exemplo n.º 2
0
def measureAnimationTime(node, timerName, timerInterval, timerOutputType,
                         resultFileName, simulationDeltaTime, iterations):

    # timer
    Sofa.timerSetInterval(
        timerName,
        timerInterval)  # Set the number of steps neded to compute the timer
    Sofa.timerSetEnabled(timerName, True)
    resultFileName = resultFileName + ".log"
    rootNode = node.getRoot()

    with open(resultFileName, "w+") as outputFile:
        outputFile.write("{")
        i = 0
        Sofa.timerSetOutPutType(timerName, timerOutputType)
        while i < iterations:
            Sofa.timerBegin(timerName)
            rootNode.simulationStep(simulationDeltaTime)
            result = Sofa.timerEnd(timerName, rootNode)
            if result != None:
                outputFile.write(result + ",")
                oldResult = result
            i = i + 1
        last_pose = outputFile.tell()
        outputFile.seek(last_pose - 1)
        outputFile.write("\n}")
        outputFile.seek(7)
        firstStep = outputFile.read(1)
        outputFile.close()
        Sofa.timerSetEnabled(timerName, 0)

        print "[Scene info]: end of simulation."
    return 0
Exemplo n.º 3
0
    def animate(self, iterations):
        #setup the environment
        #Animation loop
        with open("poutre_grid_sofa_timerLog.log", "w+") as outputFile :
            outputFile.write("{")
            i = 0
            Sofa.timerSetOutPutType("timer_poutre_grid_sofa", "ljson")
            while i < iterations:
                Sofa.timerBegin("timer_poutre_grid_sofa")
                self.rootNode.simulationStep(0.1)
                result = Sofa.timerEnd("timer_poutre_grid_sofa", self.rootNode)
                if result != None :
                    outputFile.write(result + ",")
                    oldResult = result
                i = i+1
            last_pose = outputFile.tell()
            outputFile.seek(last_pose - 1)
            outputFile.write("\n}")
            outputFile.seek(7)
            firstStep = outputFile.read(1)
            outputFile.close()
            Sofa.timerSetEnabled("timer_poutre_grid_sofa", 0)

            data = [firstStep]
            self.rootNode.sendScriptEvent('end', data)
        return 0
Exemplo n.º 4
0
    def animate(self, iterations):
        #setup the environment
        #Animation loop
        with open("poutre_grid_CGOGN_timerLog.log", "w+") as outputFile:
            outputFile.write("{")
            i = 0
            Sofa.timerSetOutPutType("timer_poutre_grid_CGOGN", "ljson")
            while i < iterations:
                Sofa.timerBegin("timer_poutre_grid_CGOGN")
                self.rootNode.simulationStep(0.1)
                result = Sofa.timerEnd("timer_poutre_grid_CGOGN",
                                       self.rootNode)
                if result != None:
                    outputFile.write(result + ",")
                    oldResult = result
                i = i + 1
            last_pose = outputFile.tell()
            outputFile.seek(last_pose - 1)
            outputFile.write("\n}")
            outputFile.seek(7)
            firstStep = outputFile.read(1)
            outputFile.close()
            Sofa.timerSetEnabled("timer_poutre_grid_CGOGN", 0)

            data = [firstStep]
            self.rootNode.sendScriptEvent('end', data)
        return 0