コード例 #1
0
    def updatePlanFrames(self):

        if self.getViewMode() != "frames":
            return

        numberOfSamples = self.getNumberOfSamples()

        meshes = self.planPlayback.getPlanPoseMeshes(
            self.plan,
            self.playbackJointController,
            self.playbackRobotModel,
            numberOfSamples,
        )
        d = DebugData()

        startColor = [0.8, 0.8, 0.8]
        endColor = [85 / 255.0, 255 / 255.0, 255 / 255.0]
        colorFunc = scipy.interpolate.interp1d(
            [0, numberOfSamples - 1], [startColor, endColor], axis=0, kind="slinear"
        )

        for i, mesh in reversed(list(enumerate(meshes))):
            d.addPolyData(mesh, color=colorFunc(i))

        pd = d.getPolyData()
        clean = vtk.vtkCleanPolyData()
        clean.SetInput(pd)
        clean.Update()
        pd = clean.GetOutput()

        self.planFramesObj = vis.updatePolyData(
            d.getPolyData(),
            "robot plan",
            alpha=1.0,
            visible=False,
            colorByName="RGB255",
            parent="planning",
        )
        self.showPlanFrames()
コード例 #2
0
def getMergedConvexHullsMesh(chulls):
    d = DebugData()
    for i, chull in enumerate(chulls):
        d.addPolyData(chull.convexHull, color=segmentation.getRandomColor())
    return d.getPolyData()