def makeGraph(attributeType): reader = vtk.vtkPDBReader() reader.SetFileName("" + str(VTK_DATA_ROOT) + "/Data/3GQP.pdb") reader.Update() molecule = reader.GetOutputDataObject(1) pd = molecule.GetAttributes(attributeType) num = 0 if attributeType == vtk.vtkDataObject.VERTEX: num = molecule.GetNumberOfVertices() else: num = molecule.GetNumberOfEdges() a = [x for x in range(num)] aa = numpy.array(a) b = [x**2 for x in a] bb = numpy.array(b) array1 = np_s.numpy_to_vtk(aa, deep=True) array1.SetName("ID") array2 = np_s.numpy_to_vtk(bb, deep=True) array2.SetName("Square") pd.AddArray(array1) pd.AddArray(array2) return molecule
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkPDBReader(), 'Reading vtkPDB.', (), ('vtkPDB',), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def convert_vtk_file(vtk_file, plt_file, strand=None, solution_time=None): reader = None if vtk_file.endswith(".vtu"): reader = vtk.vtkXMLUnstructuredGridReader() elif vtk_file.endswith(".vtp"): reader = vtk.vtkXMLPolyDataReader() elif vtk_file.endswith(".vts"): reader = vtk.vtkXMLStructuredGridReader() elif vtk_file.endswith(".vti"): reader = vtk.vtkXMLImageDataReader() elif vtk_file.endswith(".pdb"): reader = vtk.vtkPDBReader() reader.SetFileName(vtk_file) reader.Update() vtk_dataset = reader.GetOutput() tp.new_layout() tecplot_dataset = tp.active_frame().dataset add_vtk_dataset(vtk_dataset, tecplot_dataset) if tecplot_dataset.num_zones == 0: print("No zones created.") return for z in tecplot_dataset.zones(): z.name = os.path.basename(vtk_file) if strand and solution_time: z.strand = strand z.solution_time = solution_time tp.data.save_tecplot_plt(plt_file, dataset=tecplot_dataset)
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__(self, module_manager, vtk.vtkPDBReader(), 'Reading vtkPDB.', (), ('vtkPDB', ), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def loadPDB(filename, bondScale=1, hydrogenBondScale=1, coilWidth=0.3, helixWidth=1.3): """Reads a molecule Protein Data Bank file.""" rr = vtk.vtkPDBReader() rr.SetFileName('1btn.pdb') rr.SetBScale(bondScale) rr.SetHBScale(hydrogenBondScale) rr.Update() prf = vtk.vtkProteinRibbonFilter() prf.SetCoilWidth(coilWidth) prf.SetHelixWidth(helixWidth) prf.SetInputData(rr.GetOutput()) prf.Update() return Mesh(prf.GetOutput())
def ReadPDB(file_name): pdb = vtk.vtkPDBReader() pdb.SetFileName(file_name) pdb.SetHBScale(1.0) pdb.SetBScale(1.0) pdb.Update() sphere = vtk.vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(1) glyph = vtk.vtkGlyph3D() glyph.SetInputConnection(pdb.GetOutputPort()) glyph.SetSourceConnection(sphere.GetOutputPort()) glyph.SetOrient(1) glyph.SetColorMode(1) glyph.SetScaleMode(2) glyph.SetScaleFactor(.25) glyph.Update() tube = vtk.vtkTubeFilter() tube.SetInputConnection(pdb.GetOutputPort()) tube.SetNumberOfSides(6) tube.CappingOff() tube.SetRadius(0.2) tube.SetVaryRadius(0) tube.SetRadiusFactor(10) tube.Update() tubeMesh = vtk.vtkPolyData() tubeMesh.ShallowCopy(tube.GetOutput()) N = tubeMesh.GetNumberOfPoints() rgb_colors = tubeMesh.GetPointData().GetArray("rgb_colors") if rgb_colors is not None: if rgb_colors.GetNumberOfComponents() == 3: for i in range(N): rgb_colors.SetTupleValue(i, (127, 127, 127)) appendFilter = vtk.vtkAppendPolyData() appendFilter.AddInputConnection(glyph.GetOutputPort()) try: appendFilter.AddInputData(tubeMesh) except: appendFilter.AddInput(tubeMesh) appendFilter.Update() polyData = vtk.vtkPolyData() polyData.ShallowCopy(appendFilter.GetOutput()) return polyData
def ReadPDB(file_name): pdb = vtk.vtkPDBReader() pdb.SetFileName(file_name) pdb.SetHBScale(1.0) pdb.SetBScale(1.0) pdb.Update() sphere = vtk.vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(1) glyph = vtk.vtkGlyph3D() glyph.SetInputConnection(pdb.GetOutputPort()) glyph.SetSourceConnection(sphere.GetOutputPort()) glyph.SetOrient(1) glyph.SetColorMode(1) glyph.SetScaleMode(2) glyph.SetScaleFactor(.25) glyph.Update() tube = vtk.vtkTubeFilter() tube.SetInputConnection(pdb.GetOutputPort()) tube.SetNumberOfSides(6) tube.CappingOff() tube.SetRadius(0.2) tube.SetVaryRadius(0) tube.SetRadiusFactor(10) tube.Update() tubeMesh = vtk.vtkPolyData() tubeMesh.ShallowCopy(tube.GetOutput()) N = tubeMesh.GetNumberOfPoints() rgb_colors = tubeMesh.GetPointData().GetArray("rgb_colors") if rgb_colors is not None: if rgb_colors.GetNumberOfComponents() == 3: for i in xrange(N): rgb_colors.SetTupleValue(i, (127,127,127)) appendFilter = vtk.vtkAppendPolyData() appendFilter.AddInputConnection(glyph.GetOutputPort()) try: appendFilter.AddInputData(tubeMesh) except: appendFilter.AddInput(tubeMesh) appendFilter.Update() polyData = vtk.vtkPolyData() polyData.ShallowCopy(appendFilter.GetOutput()) return polyData
def initVtkProtein(self, pdbFile) : reader = vtk.vtkPDBReader() reader.SetFileName(pdbFile) protein = vtk.vtkProteinRibbonFilter() protein.SetInputConnection(reader.GetOutputPort()) protein.SetDrawSmallMoleculesAsSpheres(False) protein.Update() mProtein = vtk.vtkPolyDataMapper() mProtein.SetInputData(protein.GetOutput()) mProtein.Update() aProtein = vtk.vtkActor() aProtein.SetMapper(mProtein) return aProtein
# -*- coding: cp1252 -*- import vtk pdb0 = vtk.vtkPDBReader() pdb0.SetFileName("caffeine.pdb") sp = vtk.vtkSphereSource() gly = vtk.vtkGlyph3D() gly.SetInput(pdb0.GetOutput()) gly.SetColorMode(1) gly.SetScaleMode(2) gly.SetScaleFactor(0.5) gly.SetSource(sp.GetOutput()) tb = vtk.vtkTubeFilter() tb.SetInput(pdb0.GetOutput()) tb.SetNumberOfSides(20) tb.SetRadius(0.2) app = vtk.vtkAppendPolyData() app.AddInput(gly.GetOutput()) app.AddInput(tb.GetOutput()) m = vtk.vtkPolyDataMapper() m.SetInput(app.GetOutput()) m.Update() a = vtk.vtkActor() a.SetMapper(m)
def __init__(self, parent, visualizer, **kws): """ Initialization """ self.actorsInitialized = False VisualizationModule.__init__(self, parent, visualizer, **kws) self.descs = {"FileName": "PDB file", "SphereRadius": "Sphere radius", "TubeRadius": "Tube radius"} self.enabled = 1 self.mapper = vtk.vtkPolyDataMapper() self.mapper.UseLookupTableScalarRangeOff() self.mapper.SetScalarVisibility(1) self.mapper.SetScalarModeToDefault() #make the actor from the mapper self.actor = vtk.vtkLODActor() self.actor.GetProperty().SetRepresentationToSurface() self.actor.GetProperty().SetInterpolationToGouraud() self.actor.GetProperty().SetColor(1,1,1) self.actor.GetProperty().SetAmbient(0.15) self.actor.GetProperty().SetDiffuse(0.85) self.actor.GetProperty().SetSpecular(0.1) self.actor.GetProperty().SetSpecularPower(100) self.actor.GetProperty().SetSpecularColor(1,1,1) self.actor.GetProperty().SetColor(1,1,1) self.actor.SetNumberOfCloudPoints(30000) self.actor.SetMapper(self.mapper) self.reader = vtk.vtkPDBReader() self.renderer = self.parent.getRenderer() self.tubeFilter = vtk.vtkTubeFilter() self.tubeFilter.SetNumberOfSides(8) self.tubeFilter.SetCapping(0) self.tubeFilter.SetRadius(0.2) self.tubeFilter.SetVaryRadius(0) self.tubeFilter.SetRadiusFactor(10) self.mapper2 = vtk.vtkPolyDataMapper() self.mapper2.UseLookupTableScalarRangeOff() self.mapper2.SetScalarVisibility(1) self.mapper2.SetScalarModeToDefault() self.tubeActor = vtk.vtkLODActor() self.tubeActor.SetMapper(self.mapper2) self.tubeActor.GetProperty().SetRepresentationToSurface() self.tubeActor.GetProperty().SetInterpolationToGouraud() self.tubeActor.GetProperty().SetColor(1,1,1) self.tubeActor.GetProperty().SetAmbient(0.15) self.tubeActor.GetProperty().SetDiffuse(0.85) self.tubeActor.GetProperty().SetSpecular(0.1) self.tubeActor.GetProperty().SetSpecularPower(100) self.tubeActor.GetProperty().SetSpecularColor(1,1,1) self.tubeActor.SetNumberOfCloudPoints(30000) self.sphereSource = vtk.vtkSphereSource() self.sphereSource.SetCenter(0,0,0) self.sphereSource.SetRadius(1) self.sphereSource.SetThetaResolution(8) self.sphereSource.SetStartTheta(0) self.sphereSource.SetEndTheta(360) self.sphereSource.SetPhiResolution(8) self.sphereSource.SetStartPhi(0) self.sphereSource.SetEndPhi(180) self.glyph3D = vtk.vtkGlyph3D() self.glyph3D.SetOrient(1) self.glyph3D.SetColorMode(1) self.glyph3D.SetScaleMode(2) self.glyph3D.SetScaleFactor(.25) self.glyph3D.SetSource(self.sphereSource.GetOutput()) self.filterDesc = "Visualize Protein Data Bank file"
#!/usr/bin/env python import vtk import molecules_io pdb = vtk.vtkPDBReader() pdb.SetFileName("TM2.pdb") ball = vtk.vtkSphereSource() ball.SetRadius(0.25) ball.SetThetaResolution(8) ball.SetPhiResolution(8) ballGlyph = vtk.vtkGlyph3D() ballGlyph.SetInput(pdb.GetOutput()) ballGlyph.SetColorMode(1) ballGlyph.SetScaleMode(2) ballGlyph.SetScaleFactor(0.25) ballGlyph.SetSourceConnection(ball.GetOutputPort()) ballMapper = vtk.vtkPolyDataMapper() ballMapper.SetInputConnection(ballGlyph.GetOutputPort()) ballMapper.ImmediateModeRenderingOn() ballActor = vtk.vtkActor() ballActor.SetMapper(ballMapper) tubeFilter = vtk.vtkTubeFilter() tubeFilter.SetInput(pdb.GetOutput()) tubeFilter.SetRadius(0.15) tubeFilter.SetNumberOfSides(7) tubeMapper = vtk.vtkPolyDataMapper()
def read(self): from vtk import vtkPDBReader, vtkSphereSource, vtkGlyph3D, \ vtkPolyDataMapper, vtkLODActor, vtkTubeFilter actor_list = self.actor_list polydata_list = self.polydata_list pdb = vtkPDBReader() pdb.SetFileName(self.filename) pdb.SetHBScale(1.0) pdb.SetBScale(1.0) if self.molecule_on: sphere = vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(1) sphere.SetThetaResolution(8) sphere.SetStartTheta(0) sphere.SetEndTheta(360) sphere.SetPhiResolution(8) sphere.SetStartPhi(0) sphere.SetEndPhi(180) glyph = vtkGlyph3D() glyph.SetInputConnection(pdb.GetOutputPort()) #glyph.SetOrient(1) glyph.SetColorMode(1) glyph.ScalingOn() glyph.SetScaleMode(2) glyph.SetScaleFactor(0.25) glyph.SetSource(sphere.GetOutput()) mapper = vtkPolyDataMapper() mapper.SetInputConnection(glyph.GetOutputPort()) mapper.SetImmediateModeRendering(1) mapper.UseLookupTableScalarRangeOff() mapper.SetScalarVisibility(1) mapper.SetScalarModeToDefault() actor = vtkLODActor() actor.SetMapper(mapper) #actor.GetProperty().SetRepresentationToSurface() #actor.GetProperty().SetInterpolationToGouraud() #actor.GetProperty().SetAmbient(0.15) #actor.GetProperty().SetDiffuse(0.85) #actor.GetProperty().SetSpecular(0.1) #actor.GetProperty().SetSpecularPower(100) #actor.GetProperty().SetSpecularColor(1, 1, 1) #actor.GetProperty().SetColor(1, 1, 1) actor.SetNumberOfCloudPoints(30000) actor_list.append(actor) polydata_list.append(glyph.GetOutput()) if self.tubes_on: tubes = vtkTubeFilter() tubes.SetInputConnection(pdb.GetOutputPort()) tubes.SetNumberOfSides(8) tubes.SetCapping(0) tubes.SetRadius(0.2) tubes.SetVaryRadius(0) tubes.SetRadiusFactor(10) tube_mapper = vtkPolyDataMapper() tube_mapper.SetInputConnection(tubes.GetOutputPort()) tube_mapper.SetImmediateModeRendering(1) tube_mapper.UseLookupTableScalarRangeOff() tube_mapper.SetScalarVisibility(1) tube_mapper.SetScalarModeToDefault() tube_actor = vtkLODActor() tube_actor.SetMapper(tube_mapper) #tub_actor.GetProperty().SetRepresentationToSurface() #tub_actor.GetProperty().SetInterpolationToGouraud() #tub_actor.GetProperty().SetAmbient(0.15) #tub_actor.GetProperty().SetDiffuse(0.85) #tub_actor.GetProperty().SetSpecular(0.1) #tub_actor.GetProperty().SetSpecularPower(100) #tub_actor.GetProperty().SetSpecularColor(1, 1, 1) #tub_actor.GetProperty().SetColor(1, 1, 1) tube_actor.SetNumberOfCloudPoints(30000) actor_list.append(tube_actor) polydata_list.append(tubes.GetOutput()) return actor_list, polydata_list
# -*- coding: cp1252 -*- import vtk b = vtk.vtkPDBReader() b.SetFileName("caffeine.pdb") m = vtk.vtkPolyDataMapper() m.SetInput(b.GetOutput()) m.Update() a = vtk.vtkActor() a.SetMapper(m) ren = vtk.vtkRenderer() ren.SetBackground(1, 1, 1) ren.AddActor(a) ren.ResetCamera() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) rwi = vtk.vtkRenderWindowInteractor() rwi.SetRenderWindow(renWin) rwi.Initialize() rwi.Render() rwi.Start()
def main(): filename = get_program_parameters() colors = vtk.vtkNamedColors() renderer = vtk.vtkRenderer() renderer.SetBackground(colors.GetColor3d("SlateGray")) render_window = vtk.vtkRenderWindow() render_window.AddRenderer(renderer) render_window.SetSize(640, 480) interactor = vtk.vtkRenderWindowInteractor() interactor.SetRenderWindow(render_window) pdb = vtk.vtkPDBReader() pdb.SetFileName(filename) pdb.SetHBScale(1.0) pdb.SetBScale(1.0) pdb.Update() print("# of atoms is:", pdb.GetNumberOfAtoms()) resolution = math.sqrt(300000.0 / pdb.GetNumberOfAtoms()) if resolution > 20: resolution = 20 if resolution < 4: resolution = 4 print("Resolution is:", resolution) sphere = vtk.vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(1) sphere.SetThetaResolution(int(resolution)) sphere.SetPhiResolution(int(resolution)) glyph = vtk.vtkGlyph3D() glyph.SetInputConnection(pdb.GetOutputPort()) glyph.SetOrient(1) glyph.SetColorMode(1) # glyph.ScalingOn(); glyph.SetScaleMode(2) glyph.SetScaleFactor(.25) glyph.SetSourceConnection(sphere.GetOutputPort()) atom_mapper = vtk.vtkPolyDataMapper() atom_mapper.SetInputConnection(glyph.GetOutputPort()) atom_mapper.UseLookupTableScalarRangeOff() atom_mapper.ScalarVisibilityOn() atom_mapper.SetScalarModeToDefault() atom = vtk.vtkLODActor() atom.SetMapper(atom_mapper) atom.GetProperty().SetRepresentationToSurface() atom.GetProperty().SetInterpolationToGouraud() atom.GetProperty().SetAmbient(0.1) atom.GetProperty().SetDiffuse(0.7) atom.GetProperty().SetSpecular(0.5) atom.GetProperty().SetSpecularPower(80) atom.GetProperty().SetSpecularColor(colors.GetColor3d("White")) atom.SetNumberOfCloudPoints(30000) renderer.AddActor(atom) tube = vtk.vtkTubeFilter() tube.SetInputConnection(pdb.GetOutputPort()) tube.SetNumberOfSides(int(resolution)) tube.CappingOff() tube.SetRadius(0.2) tube.SetVaryRadius(0) tube.SetRadiusFactor(10) bond_mapper = vtk.vtkPolyDataMapper() bond_mapper.SetInputConnection(tube.GetOutputPort()) bond_mapper.UseLookupTableScalarRangeOff() bond_mapper.ScalarVisibilityOff() bond_mapper.SetScalarModeToDefault() bond = vtk.vtkLODActor() bond.SetMapper(bond_mapper) bond.GetProperty().SetRepresentationToSurface() bond.GetProperty().SetInterpolationToGouraud() bond.GetProperty().SetAmbient(0.1) bond.GetProperty().SetDiffuse(0.7) bond.GetProperty().SetSpecular(0.5) bond.GetProperty().SetSpecularPower(80) bond.GetProperty().SetSpecularColor(colors.GetColor3d("White")) renderer.AddActor(bond) renderer.SetBackground(colors.GetColor3d("Green")) render_window.Render() interactor.Initialize() interactor.Start()
def display_mod(self,mod): self.renderer.RemoveAllViewProps() if mod.type == 'mol': if mod.dspmodtype == 'CA': reader = vtk.vtkPDBReader() reader.SetFileName(mod.dfn) reader.SetHBScale(0) reader.SetBScale(4.0) mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(reader.GetOutputPort()) mapper.SetScalarModeToDefault() acteur = vtk.vtkActor() acteur.SetMapper(mapper) else: #all atoms or backbone case reader = vtk.vtkPDBReader() reader.SetFileName(mod.dfn) mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(reader.GetOutputPort()) mapper.SetScalarModeToDefault() acteur = vtk.vtkActor() acteur.SetMapper(mapper) self.camera.SetFocalPoint(0, 0, 0) self.camera.SetPosition(0, 0, 250) elif mod.type=='map': reader = vtk.vtkStructuredPointsReader() reader.SetFileName(mod.dfn) reader.Update() #by calling Update() we read the file iso = vtk.vtkMarchingContourFilter() iso.UseScalarTreeOn() iso.ComputeNormalsOn() iso.SetInputConnection(reader.GetOutputPort()) iso.SetValue(0,mod.isov*mod.sigavg[0]+mod.sigavg[1]) mapper = vtk.vtkOpenGLPolyDataMapper() mapper.SetInputConnection(iso.GetOutputPort()) ### <- connection here mapper.ScalarVisibilityOff() mapper.Update() acteur= vtk.vtkOpenGLActor() acteur.SetMapper(mapper) acteur.GetProperty().SetColor(0,0.35,1) if mod.rep=='Wireframe': acteur.GetProperty().SetRepresentationToWireframe() elif mod.rep=='Surface': acteur.GetProperty().SetRepresentationToSurface() else : acteur.GetProperty().SetRepresentationToWireframe() acteur.GetProperty().SetInterpolationToGouraud() acteur.GetProperty().SetSpecular(.4) acteur.GetProperty().SetSpecularPower(10) (xmin,xmax,ymin,ymax,zmin,zmax)=acteur.GetBounds() maxi=max(xmax-xmin,ymax-ymin,zmax-zmin) mini=min(xmax-xmin,ymax-ymin,zmax-zmin) fp=((xmax+xmin)/2.,(ymax+ymin)/2.,(zmax+zmin)/2.) self.camera.SetFocalPoint(fp[0],fp[1],fp[2]) self.camera.SetPosition(fp[0],fp[1],fp[2]+(zmax-zmin)*4.) else : print 'strange Error in mod.type' (xl, xu, yl, yu, zl, zu)=acteur.GetBounds() mod.coldist = min(xu-xl,yu-yl,zu-zl)/2. mod.sphdist = max(xu-xl,yu-yl,zu-zl)/2. self.renderer.AddActor(acteur) self.renderer.ResetCameraClippingRange() self.renwin.Render()
def load_mols(mol,rendmod,gfx,atomcol): mol.reader = vtk.vtkPDBReader() mol.reader.SetFileName(mol.mod.dfn) mol.reader.Update() #by calling Update() we read the file mol.reader.SetHBScale(mol.hbdsl) mol.reader.SetBScale(mol.bdsl) Localmol=[] beg=0 if mol.acteur!=None: pos = mol.acteur.GetPosition() ori = mol.acteur.GetOrientation() gfx.renderer.RemoveActor(mol.acteur) beg=1 if rendmod in [0,4] : mol.mapper = vtk.vtkPolyDataMapper() mol.mapper.SetInputConnection(mol.reader.GetOutputPort()) if atomcol!=1: mol.mapper.UseLookupTableScalarRangeOff() mol.mapper.SetScalarVisibility(0) else: mol.mapper.SetScalarModeToDefault() lacteur = vtk.vtkActor() lacteur.GetProperty().SetColor(mol.col) if mol.mod.dspmodtype=='AA': lacteur.GetProperty().SetLineWidth(3) else : lacteur.GetProperty().SetLineWidth(4) lacteur.SetMapper(mol.mapper) Localmol+=[lacteur] if rendmod in [1,3,4]: sphere = vtk.vtkSphereSource() sphere.SetCenter(0, 0, 0) sphere.SetRadius(1) sphere.SetThetaResolution(8) sphere.SetStartTheta(0) sphere.SetEndTheta(360) sphere.SetPhiResolution(8) sphere.SetStartPhi(0) sphere.SetEndPhi(180) glyph = vtk.vtkGlyph3D() glyph.SetInputConnection(mol.reader.GetOutputPort()) glyph.SetColorMode(1) glyph.ScalingOn() glyph.SetScaleMode(2) glyph.SetScaleFactor(0.25) glyph.SetSource(sphere.GetOutput()) mol.mapper = vtk.vtkPolyDataMapper() mol.mapper.SetInputConnection(glyph.GetOutputPort()) if atomcol!=1: mol.mapper.UseLookupTableScalarRangeOff() mol.mapper.SetScalarVisibility(0) else: mol.mapper.SetScalarModeToDefault() bacteur = vtk.vtkActor() bacteur.SetMapper(mol.mapper) bacteur.GetProperty().SetRepresentationToSurface() bacteur.GetProperty().SetInterpolationToGouraud() bacteur.GetProperty().SetAmbient(0.15) bacteur.GetProperty().SetDiffuse(0.85) bacteur.GetProperty().SetSpecular(0.1) bacteur.GetProperty().SetSpecularPower(100) bacteur.GetProperty().SetSpecularColor(1, 1, 1) bacteur.GetProperty().SetColor(mol.col) Localmol+=[bacteur] if rendmod in [2,3] : tubes = vtk.vtkTubeFilter() tubes.SetInputConnection(mol.reader.GetOutputPort()) tubes.SetNumberOfSides(8) tubes.SetCapping(0) tubes.SetRadius(1) tubes.SetVaryRadius(0) tubes.SetRadiusFactor(10) mol.mapper = vtk.vtkPolyDataMapper() mol.mapper.SetInputConnection(tubes.GetOutputPort()) if atomcol!=1: mol.mapper.UseLookupTableScalarRangeOff() mol.mapper.SetScalarVisibility(0) else: mol.mapper.SetScalarModeToDefault() tacteur = vtk.vtkActor() tacteur.SetMapper(mol.mapper) tacteur.GetProperty().SetRepresentationToSurface() tacteur.GetProperty().SetInterpolationToGouraud() tacteur.GetProperty().SetAmbient(0.15) tacteur.GetProperty().SetDiffuse(0.85) tacteur.GetProperty().SetSpecular(0.1) tacteur.GetProperty().SetSpecularPower(100) tacteur.GetProperty().SetSpecularColor(1, 1, 1) tacteur.GetProperty().SetColor(mol.col) Localmol+=[tacteur] assembly = vtk.vtkAssembly() for act in Localmol: assembly.AddPart(act) del act mol.acteur=assembly if beg: mol.acteur.SetPosition(pos) mol.acteur.SetOrientation(ori) else : remember_rottra(mol) gfx.renderer.AddActor(mol.acteur) gfx.renwin.Render()