[Paraview] Re: python scripting inside Paraview
Fabian Braennstroem
f.braennstroem at gmx.de
Tue Jun 12 17:04:56 EDT 2007
Hi Utkarsh,
I tried you script, unfortunately it does not seem to work for me as
wanted; I get:
Display could not locate the pqPipelineSource object for the input
proxy.
Could not locate the server on which the new source was added.
Do I do something wrong? I use version 3.0.0.
Greetings!
Fabian
Utkarsh Ayachit schrieb am 06/12/2007 02:48 PM:
> Hmm weird,
>
> Here's my script to create a 1000 spheres. It seems to work just fine
> for me.
>
> Can you post your script?
>
> import paraview
>
> # Locate the view to which we'll add the "display". All views are
> # registered in the group "view_modules" with the proxy manager.
> pxm = paraview.pyProxyManager()
> iter = pxm.group_iter("view_modules");
> activeView = None
> for proxy in iter:
> if proxy.IsA("vtkSMRenderModuleProxy"):
> activeView = proxy
> break
> if activeView:
> for z in range (0, 10):
> for y in range (0, 10):
> for cc in range (0, 10):
> # create a display for the source in the active view.
> sphere = \
> paraview.CreateProxy("sources","SphereSource","sources",
> "sphere.%d.%d.%d"% (cc,y,z))
> sphere.SetCenter(cc, y, z);
> sphere.UpdateVTKObjects();
> disp = paraview.CreateDisplay(sphere, activeView);
> activeView.StillRender();
>
> Utkarsh
>
> Robert Maynard wrote:
>> Thank you for the reply. I tried something similar to this but by doing
>> it this way:
>>
>> renModule = paraview.GetRenderModule()
>> paraview.CreateDisplay(sphere, renModule):
>>
>> The major problem I get is that for both of these ways to add the item
>> to a Display proxy, is that while it works nicely for a small dataset.
>> When I try to create with python 200 sphere's, and 1000 lines. The python
>> parser slows right down, and really slows down the render. It seems that
>> this
>> way extra display proxies are created, becuase when I try to save the
>> state, or close paraview
>> I get the following error.
>>
>> The program 'modpython' received an X Window System error.
>> This probably reflects a bug in the program.
>> The error was 'BadWindow (invalid Window parameter)'.
>> (Details: serial 366766 error_code 3 request_code 15 minor_code 0)
>> (Note to programmers: normally, X errors are reported asynchronously;
>> that is, you will receive the error a while after causing it.
>> To debug your program, run it with the --sync command line
>> option to change this behavior. You can then get a meaningful
>> backtrace from your debugger if you break on the gdk_x_error() function.)
>> vtkDebugLeaks has detected LEAKS!
>> Class "vtkSMSourceProxy" has 1645 instances still around.
>> Class "vtkSMPWriterProxy" has 8 instances still around.
>> Class "vtkPVAxesActor" has 1 instance still around.
>> Class "vtkFixedPointVolumeRayCastCompositeHelper" has 129 instances
>> still around.
>> Class "vtkOpenGLScalarsToColorsPainter" has 273 instances still around.
>> Class "pqPendingDisplayUndoElement" has 1 instance still around.
>> Class "vtkXOpenGLRenderWindow" has 1 instance still around.
>> Class "vtkSMAxesProxy" has 1 instance still around.
>> Class "vtkSMMaterialLoaderProxy" has 129 instances still around.
>> Class "pqOptions" has 1 instance still around.
>> Class "vtkSMSimpleIntInformationHelper" has 13 instances still around.
>> Class "vtkSMTimeStepsInformationHelper" has 17 instances still around.
>> Class "vtkSMEnumerationDomain" has 1884 instances still around.
>> Class "vtkSMPropertyModificationUndoElement" has 1 instance still around.
>> Class "vtkSMLODDisplayProxy" has 129 instances still around.
>> Class "vtkSelfConnection" has 2 instances still around.
>> Class "vtkCellTypes" has 1 instance still around.
>> Class "vtkPVXMLElement" has 29275 instances still around.
>> Class "vtkCellData" has 1494 instances still around.
>> Class "vtkSMInputProperty" has 1948 instances still around.
>> Class "vtkClientServerInterpreter" has 1 instance still around.
>> Class "vtkCollection" has 7512 instances still around.
>> Class "vtkSMDoubleVectorProperty" has 4086 instances still around.
>> Class "vtkSMExtentDomain" has 2 instances still around.
>> Class "vtkFrustumCoverageCuller" has 3 instances still around.
>> Class "vtkPointsPainter" has 138 instances still around.
>> Class "vtkCursor3D" has 4 instances still around.
>> Class "vtkInformationVector" has 8430 instances still around.
>> Class "vtkSMDataTypeDomain" has 1283 instances still around.
>> Class "vtkPVFileInformationHelper" has 2 instances still around.
>> Class "vtkSMIntArrayInformationHelper" has 2 instances still around.
>> Class "vtkPerspectiveTransform" has 6 instances still around.
>> Class "vtkPVTrackballZoom" has 3 instances still around.
>> Class "vtkSMMultiViewRenderModuleProxy" has 1 instance still around.
>> Class "vtkOpenGLPainterDeviceAdapter" has 1 instance still around.
>> Class "vtkPVTrackballRoll" has 1 instance still around.
>> Class "vtkPVOpenGLExtensionsInformation" has 1 instance still around.
>> Class "vtkSMWriterProxy" has 12 instances still around.
>> Class "vtkQuad" has 11 instances still around.
>> Class "vtkPointData" has 1623 instances still around.
>> Class "vtkOpenGLDisplayListPainter" has 273 instances still around.
>> Class "vtkSMXDMFInformationHelper" has 6 instances still around.
>> Class "vtkVectorText" has 3 instances still around.
>> Class "vtkProperty2D" has 1 instance still around.
>> Class "vtkPVUpdateSuppressor" has 387 instances still around.
>> Class "vtkPriorityQueue" has 129 instances still around.
>> Class "vtkPointPlacer" has 4 instances still around.
>> Class "vtkWidgetEventTranslator" has 4 instances still around.
>> Class "vtkCacheSizeKeeper" has 1 instance still around.
>> Class "vtkPolygonsPainter" has 138 instances still around.
>> Class "vtkCompositeDataPipeline" has 1420 instances still around.
>> Class "vtkFixedPointRayCastImage" has 129 instances still around.
>> Class "vtkTrivialProducer" has 277 instances still around.
>> Class "vtkProp3DCollection" has 4 instances still around.
>> Class "vtkQuadricClustering" has 129 instances still around.
>> Class "vtkSMArraySelectionInformationHelper" has 139 instances still
>> around.
>> Class "vtkMatrix4x4" has 3316 instances still around.
>> Class "vtkFeatureEdges" has 129 instances still around.
>> Class "vtkSphericalDirectionEncoder" has 129 instances still around.
>> Class "vtkPVMain" has 1 instance still around.
>> Class "pqStateLoader" has 1 instance still around.
>> Class "vtkSMFixedTypeDomain" has 1 instance still around.
>> Class "vtkCoordinate" has 11 instances still around.
>> Class "vtkBox" has 1 instance still around.
>> Class "vtkSMFileListDomain" has 104 instances still around.
>> Class "vtkSMProxyGroupDomain" has 3509 instances still around.
>> Class "vtkSMExtractLocationsProxy" has 1 instance still around.
>> Class "vtkFollower" has 3 instances still around.
>> Class "vtkSimpleTransform" has 21 instances still around.
>> Class "vtkDataSetSurfaceFilter" has 129 instances still around.
>> Class "vtkPVLODVolume" has 129 instances still around.
>> Class "vtkSMStringVectorProperty" has 1637 instances still around.
>> Class "vtkFiniteDifferenceGradientEstimator" has 129 instances still around.
>> Class "vtkDummyController" has 2 instances still around.
>> Class "vtkEventQtSlotConnect" has 716 instances still around.
>> Class "vtkSMDoubleRangeDomain" has 3888 instances still around.
>> Class "vtkSMProxyRegisterUndoElement" has 1 instance still around.
>> Class "vtkPoints" has 644 instances still around.
>> Class "vtkIntArray" has 1 instance still around.
>> Class "vtkEncodedGradientShader" has 129 instances still around.
>> Class "vtkInformation" has 23589 instances still around.
>> Class "vtkUnstructuredGridVolumeRayCastMapper" has 129 instances still
>> around.
>> Class "vtkSMUpdateSuppressorProxy" has 388 instances still around.
>> Class "vtkLine" has 46 instances still around.
>> Class "vtkSMUndoStackUndoSet" has 908 instances still around.
>> Class "vtkSMProxyLink" has 1420 instances still around.
>> Class "vtkSMCameraProxy" has 1 instance still around.
>> Class "pqRenderViewProxy" has 1 instance still around.
>> Class "vtkActorCollection" has 7 instances still around.
>> Class "vtkAxes" has 1 instance still around.
>> Class "vtkSMPart" has 645 instances still around.
>> Class "vtkPointHandleRepresentation3D" has 4 instances still around.
>> Class "vtkProcessModule" has 1 instance still around.
>> Class "vtkLightKit" has 1 instance still around.
>> Class "vtkSMViewModuleProxy" has 1 instance still around.
>> Class "vtkSMPVAnimationSceneProxy" has 1 instance still around.
>> Class "vtkPVClassNameInformation" has 645 instances still around.
>> Class "vtkUnstructuredGridBunykRayCastFunction" has 129 instances still
>> around.
>> Class "vtkSMDomainIterator" has 18999 instances still around.
>> Class "vtkVolumeCollection" has 3 instances still around.
>> Class "vtkMultiThreader" has 387 instances still around.
>> Class "vtkInteractorStyleRubberBandPick" has 1 instance still around.
>> Class "vtkPropCollection" has 9 instances still around.
>> Class "vtkSMProxyManager" has 1 instance still around.
>> Class "vtkOpenGLCoincidentTopologyResolutionPainter" has 273 instances
>> still around.
>> Class "vtkOpenGLLightingPainter" has 273 instances still around.
>> Class "vtkPolyData" has 1491 instances still around.
>> Class "vtkGenericCell" has 133 instances still around.
>> Class "vtkLookupTable" has 1 instance still around.
>> Class "vtkPVPythonInterpretor" has 1 instance still around.
>> Class "vtkUnstructuredGridVolumeZSweepMapper" has 129 instances still
>> around.
>> Class "vtkPVDataInformation" has 2704 instances still around.
>> Class "vtkSMNumberOfGroupsDomain" has 4 instances still around.
>> Class "vtkSelfConnectionUndoSet" has 925 instances still around.
>> Class "vtkCylinderSource" has 1 instance still around.
>> Class "vtkSMBooleanDomain" has 4326 instances still around.
>> Class "vtkSMSummaryHelperProxy" has 7 instances still around.
>> Class "vtkOrderedTriangulator" has 129 instances still around.
>> Class "pqOutputWindowAdapter" has 1 instance still around.
>> Class "vtkPVArrayInformation" has 3345 instances still around.
>> Class "vtkSMUpdateInformationUndoElement" has 1 instance still around.
>> Class "vtkBiQuadraticQuad" has 4 instances still around.
>> Class "vtkPiecewiseFunction" has 5 instances still around.
>> Class "vtkOpenGLRayCastImageDisplayHelper" has 387 instances still around.
>> Class "vtkPainterPolyDataMapper" has 273 instances still around.
>> Class "vtkPVCompositeDataInformation" has 2833 instances still around.
>> Class "vtkHexahedron" has 2 instances still around.
>> Class "vtkActor2D" has 1 instance still around.
>> Class "vtkPropPicker" has 1 instance still around.
>> Class "vtkPVLODPartDisplayInformation" has 129 instances still around.
>> Class "vtkPVOptionsXMLParser" has 1 instance still around.
>> Class "vtkTriQuadraticHexahedron" has 1 instance still around.
>> Class "vtkOpenGLCamera" has 3 instances still around.
>> Class "vtkPVServerInformation" has 1 instance still around.
>> Class "vtkSMArraySelectionDomain" has 137 instances still around.
>> Class "vtkOpenGLActor" has 146 instances still around.
>> Class "vtkLineWidget2" has 1 instance still around.
>> Class "vtkSMProxyListDomain" has 11 instances still around.
>> Class "vtkSMFieldDataDomain" has 3 instances still around.
>> Class "vtkIdList" has 369 instances still around.
>> Class "vtkWorldPointPicker" has 1 instance still around.
>> Class "ProcessModuleGUIHelper" has 1 instance still around.
>> Class "vtkQuadraticLinearQuad" has 2 instances still around.
>> Class "vtkSMPropertyLink" has 266 instances still around.
>> Class "vtkConeSource" has 1 instance still around.
>> Class "vtkEmptyCell" has 133 instances still around.
>> Class "vtkTStripsPainter" has 138 instances still around.
>> Class "vtkOpenGLProjectedTetrahedraMapper" has 129 instances still around.
>> Class "vtkObserverMediator" has 1 instance still around.
>> Class "vtkDoubleArray" has 783 instances still around.
>> Class "vtkInformationDoubleValue" has 138 instances still around.
>> Class "vtkMatrixToLinearTransform" has 132 instances still around.
>> Class "vtkDefaultPainter" has 273 instances still around.
>> Class "vtkAlgorithmOutput" has 937 instances still around.
>> Class "vtkCullerCollection" has 3 instances still around.
>> Class "vtkDataSetTriangleFilter" has 129 instances still around.
>> Class "vtkOpenGLRenderer" has 3 instances still around.
>> Class "vtkCellCenterDepthSort" has 129 instances still around.
>> Class "vtkInformationIntegerValue" has 36597 instances still around.
>> Class "vtkSMInputArrayDomain" has 28 instances still around.
>> Class "vtkSMShrunkContoursProxy" has 1 instance still around.
>> Class "vtkQuadraticTriangle" has 2 instances still around.
>> Class "vtkOpenGLPolyDataMapper2D" has 1 instance still around.
>> Class "vtkOpenGLLight" has 7 instances still around.
>> Class "vtkPVInteractorStyle" has 1 instance still around.
>> Class "vtkSMUndoStack" has 2 instances still around.
>> Class "vtkSMArrayRangeDomain" has 7 instances still around.
>> Class "vtkSMExtractSelectionProxy" has 4 instances still around.
>> Class "vtkSMNumberOfPartsDomain" has 2 instances still around.
>> Class "vtkBiQuadraticQuadraticHexahedron" has 1 instance still around.
>> Class "vtkUndoStack" has 1 instance still around.
>> Class "vtkCellArray" has 147 instances still around.
>> Class "vtkSMProxyProperty" has 2490 instances still around.
>> Class "vtkSMArrayListDomain" has 1052 instances still around.
>> Class "vtkSMBoundsDomain" has 14 instances still around.
>> Class "vtkUnstructuredGrid" has 1 instance still around.
>> Class "vtkQuadraticLinearWedge" has 1 instance still around.
>> Class "vtkRendererCollection" has 1 instance still around.
>> Class "vtkStandardPolyDataPainter" has 552 instances still around.
>> Class "vtkFixedPointVolumeRayCastMapper" has 129 instances still around.
>> Class "vtkFixedPointVolumeRayCastMIPHelper" has 129 instances still around.
>> Class "vtkProcessModuleConnectionManager" has 1 instance still around.
>> Class "vtkSMStringListDomain" has 144 instances still around.
>> Class "pqProxyUnRegisterUndoElement" has 1 instance still around.
>> Class "pqCloseViewUndoElement" has 1 instance still around.
>> Class "vtkPVRenderModuleHelper" has 1 instance still around.
>> Class "vtkSMSimpleStringInformationHelper" has 11 instances still around.
>> Class "vtkHeap" has 258 instances still around.
>> Class "vtkChooserPainter" has 273 instances still around.
>> Class "vtkSMIntRangeDomain" has 1661 instances still around.
>> Class "pqHelperProxyRegisterUndoElement" has 1 instance still around.
>> Class "vtkSMProxy" has 667 instances still around.
>> Class "vtkWedge" has 2 instances still around.
>> Class "vtkSMSimpleDoubleInformationHelper" has 8 instances still around.
>> Class "vtkPVGeometryFilter" has 129 instances still around.
>> Class "vtkSMApplication" has 1 instance still around.
>> Class "vtkInformationStringValue" has 1449 instances still around.
>> Class "vtkFloatArray" has 1054 instances still around.
>> Class "vtkBiQuadraticQuadraticWedge" has 1 instance still around.
>> Class "vtkPVLODActor" has 129 instances still around.
>> Class "vtkVolumeProperty" has 129 instances still around.
>> Class "vtkInformationExecutivePortVectorValue" has 661 instances still
>> around.
>> Class "vtkPVDataSetAttributesInformation" has 5666 instances still around.
>> Class "vtkIdTypeArray" has 663 instances still around.
>> Class "pqUndoStackBuilder" has 1 instance still around.
>> Class "vtkSMUndoRedoStateLoader" has 1 instance still around.
>> Class "vtkTransform" has 1069 instances still around.
>> Class "vtkSocketCollection" has 1 instance still around.
>> Class "vtkSMDocumentation" has 7783 instances still around.
>> Class "vtkPVAxesWidget" has 1 instance still around.
>> Class "vtkPVFileInformation" has 2 instances still around.
>> Class "vtkFixedPointVolumeRayCastCompositeShadeHelper" has 129 instances
>> still around.
>> Class "vtkSMNew3DWidgetProxy" has 1 instance still around.
>> Class "vtkTriangle" has 15 instances still around.
>> Class "vtkEdgeTable" has 129 instances still around.
>> Class "vtkOutlineSource" has 131 instances still around.
>> Class "vtkOpenGLClipPlanesPainter" has 273 instances still around.
>> Class "vtkCollectionIterator" has 2 instances still around.
>> Class "vtkOpenGLHAVSVolumeMapper" has 129 instances still around.
>> Class "vtkLineRepresentation" has 1 instance still around.
>> Class "vtkFieldData" has 1497 instances still around.
>> Class "pqSplitViewUndoElement" has 1 instance still around.
>> Class "vtkQuadraticQuad" has 1 instance still around.
>> Class "vtkLODProp3D" has 129 instances still around.
>> Class "vtkFixedPointVolumeRayCastCompositeGOShadeHelper" has 129
>> instances still around.
>> Class "vtkSMTimeRangeInformationHelper" has 2 instances still around.
>> Class "vtkPVAnimationScene" has 1 instance still around.
>> Class "vtkOpenGLProperty" has 151 instances still around.
>> Class "vtkSMInteractionUndoStackBuilder" has 1 instance still around.
>> Class "vtkTrackballPan" has 2 instances still around.
>> Class "vtkSMIntVectorProperty" has 7770 instances still around.
>> Class "vtkSMProxyUnRegisterUndoElement" has 1 instance still around.
>> Class "vtkSMIdTypeVectorProperty" has 14 instances still around.
>> Class "vtkLineSource" has 3 instances still around.
>> Class "vtkInformationDoubleVectorValue" has 1177 instances still around.
>> Class "vtkInformationKeyVectorValue" has 777 instances still around.
>> Class "vtkUnsignedCharArray" has 134 instances still around.
>> Class "vtkLightCollection" has 3 instances still around.
>> Class "vtkSphereSource" has 131 instances still around.
>> Class "vtkEvent" has 32 instances still around.
>> Class "vtkWidgetCallbackMapper" has 4 instances still around.
>> Class "vtkKWProcessStatistics" has 1 instance still around.
>> Class "vtkLinesPainter" has 138 instances still around.
>> Class "vtkPVGeometryInformation" has 129 instances still around.
>> Class "vtkPVProgressHandler" has 1 instance still around.
>> Class "vtkStreamingDemandDrivenPipeline" has 438 instances still around.
>> Class "vtkSMProperty" has 1054 instances still around.
>> Class "vtkSMXDMFPropertyDomain" has 2 instances still around.
>> Class "vtkCellPicker" has 4 instances still around.
>> Class "vtkUpdateSuppressorPipeline" has 387 instances still around.
>> Class "vtkOpenGLRepresentationPainter" has 273 instances still around.
>> Class "vtkActor2DCollection" has 3 instances still around.
>> Class "vtkGenericGeometryFilter" has 129 instances still around.
>> Class "vtkHandleWidget" has 3 instances still around.
>> Class "vtkTimerLog" has 4211 instances still around.
>> Class "vtkSMLODRenderModuleProxy" has 1 instance still around.
>> Class "vtkFixedPointVolumeRayCastCompositeGOHelper" has 129 instances
>> still around.
>> Class "vtkCommand or subclass" has 33652 instances still around.
>> Class "vtkQuadraticEdge" has 13 instances still around.
>> Class "vtkMultiProcessControllerRMI" has 2 instances still around.
>> Class "vtkInformationExecutivePortValue" has 937 instances still around.
>> Class "vtkUndoSet" has 2 instances still around.
>> Class "vtkPVGenericRenderWindowInteractor" has 1 instance still around.
>> Class "vtkPVTrackballRotate" has 3 instances still around.
>>
>>
>>
>>
>> This problem does not happen, if I do not add the objects to the display
>> proxy, than after the script is over, I manually click on each one, and
>> turn on its visibility.
>>
>>
>>
>> On 6/12/07, *Utkarsh Ayachit* <utkarsh.ayachit at kitware.com
>> <mailto:utkarsh.ayachit at kitware.com>> wrote:
>>
>> Hi Robert,
>>
>> To make a source visible one needs to create what we call a "display"
>> for that source. "Display" is a proxy which encapsulates the
>> vtkMapper,vtkActor etc. Once must create the display for the source and
>> then add it to the render module in which we want to "see" the source.
>>
>> Here's the script that one can use to do the same:
>>
>> import paraview
>> sphere = paraview.CreateProxy("sources","SphereSource","sources")
>>
>>
>> # Locate the view to which we'll add the "display". All views are
>> # registered in the group "view_modules" with the proxy manager.
>> pxm = paraview.pyProxyManager()
>>
>> # Create a iterator that iterates over all proxies registered in
>> # a particular group.
>> iter = pxm.group_iter("view_modules");
>> activeView = None
>> for proxy in iter:
>> # Locate a 3D render view.
>> if proxy.IsA("vtkSMRenderModuleProxy"):
>> activeView = proxy
>> break
>> if activeView:
>> # create a display for the source in the active view.
>> disp = paraview.CreateDisplay(sphere, activeView);
>> # Trigger a render.
>> activeView.StillRender();
>>
>> Utkarsh
>>
>>
>> Robert Maynard wrote:
>> > Currently I am stumped on how to turn on or off the visibility of
>> items
>> > from
>> > inside the paraview console.
>> >
>> > Currently I am constructing Line and Sphere sources by doing
>> > sphere = paraview.CreateProxy("sources","SphereSource","sources")
>> >
>> > But these always are constructed with their visibility turned off. I
>> > have tried
>> > getting the properties of these objects using the vtkSMProxy
>> > ListMethods() but
>> > that does not list it.
>> >
>> > What do I need to access to be able to control their visibility?
>> >
>> >
>> >
>> ------------------------------------------------------------------------
>>
>> >
>> > _______________________________________________
>> > ParaView mailing list
>> > ParaView at paraview.org <mailto:ParaView at paraview.org>
>> > http://www.paraview.org/mailman/listinfo/paraview
>>
>>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
More information about the ParaView
mailing list