# Actors actor = svtk.svtkActor() actor.SetMapper(mapper) # Camera bd = htg.GetBounds() camera = svtk.svtkCamera() camera.SetClippingRange(1., 100.) focal = [] for i in range(3): focal.append(bd[ 2 * i ] + (bd[ 2 * i + 1 ] - bd[ 2 * i]) / 2.) camera.SetFocalPoint(focal) camera.SetPosition(focal[0], focal[1], focal[2] + 4.) # Renderer renderer = svtk.svtkRenderer() renderer.SetActiveCamera(camera) renderer.AddActor(actor) # Render window renWin = svtk.svtkRenderWindow() renWin.AddRenderer(renderer) renWin.SetSize(600, 400) # Render window interactor iren = svtk.svtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # render the image renWin.Render() # iren.Start()
contour = svtk.svtkContourFilter() contour.SetInputConnection(ele.GetOutputPort()) contour.SetValue(0, 0.5) g2 = svtk.svtkDataSetSurfaceFilter() g2.SetInputConnection(contour.GetOutputPort()) map2 = svtk.svtkPolyDataMapper() map2.SetInputConnection(g2.GetOutputPort()) map2.ScalarVisibilityOff() contourActor = svtk.svtkActor() contourActor.SetMapper(map2) contourActor.GetProperty().SetColor(1, 0, 0) contourActor.AddPosition(1, 2, 0) # Create graphics stuff # ren1 = svtk.svtkRenderer() renWin = svtk.svtkRenderWindow() renWin.AddRenderer(ren1) iren = svtk.svtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size # ren1.AddActor(a) ren1.AddActor(clipActor) ren1.AddActor(contourActor) ren1.SetBackground(1, 1, 1) renWin.SetSize(250, 150) aCam = svtk.svtkCamera()
m1.SetElement(1, 0, 0.000000) m1.SetElement(1, 1, 0.692820) m1.SetElement(1, 2, 0.400000) m1.SetElement(2, 0, 0.200000) m1.SetElement(2, 1, -0.469846) m1.SetElement(2, 2, 0.813798) f11 = svtk.svtkTransformPolyDataFilter() f11.SetInputConnection(ap.GetOutputPort()) f11.SetTransform(t1) m11 = svtk.svtkDataSetMapper() m11.SetInputConnection(f11.GetOutputPort()) a11 = svtk.svtkActor() a11.SetMapper(m11) a11.GetProperty().SetColor(1, 0, 0) a11.GetProperty().SetRepresentationToWireframe() ren11 = svtk.svtkRenderer() ren11.SetViewport(0.0, 0.5, 0.25, 1.0) ren11.ResetCamera(-0.5, 0.5, -0.5, 0.5, -1, 1) ren11.AddActor(a11) renWin.AddRenderer(ren11) # inverse identity transform f12 = svtk.svtkTransformPolyDataFilter() f12.SetInputConnection(ap.GetOutputPort()) f12.SetTransform(t1.GetInverse()) m12 = svtk.svtkDataSetMapper() m12.SetInputConnection(f12.GetOutputPort()) a12 = svtk.svtkActor() a12.SetMapper(m12) a12.GetProperty().SetColor(0.9, 0.9, 0) a12.GetProperty().SetRepresentationToWireframe() ren12 = svtk.svtkRenderer()
def testQuadricCut(self): solidTexture = (255, 255) clearTexture = (255, 0) edgeTexture = (0, 255) def makeBooleanTexture(caseNumber, resolution, thickness): #global solidTexture, clearTexture, edgeTexture booleanTexturecaseNumber = svtk.svtkBooleanTexture() booleanTexturecaseNumber.SetXSize(resolution) booleanTexturecaseNumber.SetYSize(resolution) booleanTexturecaseNumber.SetThickness(thickness) if caseNumber == 0: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(solidTexture) booleanTexturecaseNumber.SetOnIn(solidTexture) booleanTexturecaseNumber.SetOnOut(solidTexture) booleanTexturecaseNumber.SetInOn(solidTexture) booleanTexturecaseNumber.SetOutOn(solidTexture) elif caseNumber == 1: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(solidTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) elif caseNumber == 2: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(solidTexture) booleanTexturecaseNumber.SetInOn(solidTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 3: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(clearTexture) booleanTexturecaseNumber.SetOnOut(solidTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 4: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(solidTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(solidTexture) elif caseNumber == 5: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(clearTexture) booleanTexturecaseNumber.SetOutOn(solidTexture) elif caseNumber == 6: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 7: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutOut(solidTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(clearTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(clearTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 8: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(solidTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(solidTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 9: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 10: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(solidTexture) booleanTexturecaseNumber.SetOutOn(clearTexture) elif caseNumber == 11: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetInOut(solidTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(clearTexture) booleanTexturecaseNumber.SetOnOut(edgeTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(clearTexture) elif caseNumber == 12: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(solidTexture) booleanTexturecaseNumber.SetOnOut(clearTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 13: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutIn(solidTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(clearTexture) booleanTexturecaseNumber.SetInOn(clearTexture) booleanTexturecaseNumber.SetOutOn(edgeTexture) elif caseNumber == 14: booleanTexturecaseNumber.SetInIn(solidTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(edgeTexture) booleanTexturecaseNumber.SetOnIn(edgeTexture) booleanTexturecaseNumber.SetOnOut(clearTexture) booleanTexturecaseNumber.SetInOn(edgeTexture) booleanTexturecaseNumber.SetOutOn(clearTexture) elif caseNumber == 15: booleanTexturecaseNumber.SetInIn(clearTexture) booleanTexturecaseNumber.SetInOut(clearTexture) booleanTexturecaseNumber.SetOutIn(clearTexture) booleanTexturecaseNumber.SetOutOut(clearTexture) booleanTexturecaseNumber.SetOnOn(clearTexture) booleanTexturecaseNumber.SetOnIn(clearTexture) booleanTexturecaseNumber.SetOnOut(clearTexture) booleanTexturecaseNumber.SetInOn(clearTexture) booleanTexturecaseNumber.SetOutOn(clearTexture) booleanTexturecaseNumber.Update() return booleanTexturecaseNumber # A list of positions positions = [] positions.append((-4, 4, 0)) positions.append((-2, 4, 0)) positions.append((0, 4, 0)) positions.append((2, 4, 0)) positions.append((-4, 2, 0)) positions.append((-2, 2, 0)) positions.append((0, 2, 0)) positions.append((2, 2, 0)) positions.append((-4, 0, 0)) positions.append((-2, 0, 0)) positions.append((0, 0, 0)) positions.append((2, 0, 0)) positions.append((-4, -2, 0)) positions.append((-2, -2, 0)) positions.append((0, -2, 0)) positions.append((2, -2, 0)) ren = svtk.svtkRenderer() renWin = svtk.svtkRenderWindow() renWin.AddRenderer(ren) # define two elliptical cylinders quadric1 = svtk.svtkQuadric() quadric1.SetCoefficients(1, 2, 0, 0, 0, 0, 0, 0, 0, -.07) quadric2 = svtk.svtkQuadric() quadric2.SetCoefficients(2, 1, 0, 0, 0, 0, 0, 0, 0, -.07) # create a sphere for all to use aSphere = svtk.svtkSphereSource() aSphere.SetPhiResolution(50) aSphere.SetThetaResolution(50) # create texture coordinates for all tcoords = svtk.svtkImplicitTextureCoords() tcoords.SetInputConnection(aSphere.GetOutputPort()) tcoords.SetRFunction(quadric1) tcoords.SetSFunction(quadric2) aMapper = svtk.svtkDataSetMapper() aMapper.SetInputConnection(tcoords.GetOutputPort()) # create a mapper, sphere and texture map for each case aTexture = [] anActor = [] for i in range(0, 16): aTexture.append(svtk.svtkTexture()) aTexture[i].SetInputData(makeBooleanTexture(i, 256, 1).GetOutput()) aTexture[i].InterpolateOff() aTexture[i].RepeatOff() anActor.append(svtk.svtkActor()) anActor[i].SetMapper(aMapper) anActor[i].SetTexture(aTexture[i]) anActor[i].SetPosition(positions[i]) anActor[i].SetScale(2.0, 2.0, 2.0) ren.AddActor(anActor[i]) ren.SetBackground(0.4392, 0.5020, 0.5647) ren.ResetCamera() ren.GetActiveCamera().Zoom(1.4) renWin.SetSize(500, 500) # render and interact with data iRen = svtk.svtkRenderWindowInteractor() iRen.SetRenderWindow(renWin) renWin.Render() img_file = "quadricCut.png" svtk.test.Testing.compareImage( iRen.GetRenderWindow(), svtk.test.Testing.getAbsImagePath(img_file), threshold=25) svtk.test.Testing.interact()