Hallo
I have a question regarding a requirement that seems a bit out of line with the
client-server architecture of Paraview;
Let me start off by giving the bigger picture of the application that I have in
mind;
I want to use Paraview in a development environment. The development
environment will operate in a standard Python console. As I develope (build up)
my data I want to visualize it periodically. I don't want to regenerate the
data from sratch everytime I want to visualize it. I basically want to work
with live data that persists on the client side.
A typical example Python script that I envisage using Python wrapped VTK and
Paraview objects to display vtkPolydata would look something like this:
=========================================================================================
# Initialize Paraview pipeline
mySource = InitializePV()
# Create poly data and plot it
import vtk
pts=vtk.vtkPoints()
pts.InsertNextPoint(0,0,0)
pts.InsertNextPoint(1,0,.0)
pts.InsertNextPoint(2,1,0)
pts.InsertNextPoint(3,3,0.)
cel=vtk.vtkCellArray()
cel.InsertNextCell(4)
cel.InsertCellPoint(0)
cel.InsertCellPoint(1)
cel.InsertCellPoint(2)
cel.InsertCellPoint(3)
pd = vtk.vtkPolyData()
pd.SetPoints(pts)
pd.SetPolys(cel)
plotPolys(mySource,pd)
##### Change the points and plot
pd.GetPoints().SetPoint(2, 1,2,3)
plotPolys(mySource,pd)
##### Change the points and plot
pd.GetPoints().SetPoint(2, 4,5,4)
plotPolys(mySource,pd)
# etc
====================
The Python functions initializePV() and plotPoints can typically look like the
following:
initializePV():
=========
pxm = servermanager.ProxyManager()
sph=servermanager.sources.SphereSource()
pxm.RegisterProxy("sources", "mysource", sph)
view = pxm.GetProxy("views", "RenderView1")
rep = servermanager.CreateRepresentation(sph, view)
return sph
plotPoints(sourceObject,vtkObject):
===============
# Although this example currently generates vtkPoints I actually want to send
vtkPolyData to the Paraview source - but this
# is only to demonstrate the development environment I have in mind...
# The current vtk and proxy source classes needs to be updated to take a
vtkPolyData pointer...
sourceObject.SetMyPolyData(vtkObject)
sourceObject.Update()
=========================================================================================
In the example above the vtk data (pd) is a live object on the client side.
In short I want to generate vtk data on the client side and send a data pointer
(typically a vtkPolyData pointer) to the visualization pipeline in Paraview. I
thought of modifying a source object in Paraview to take my data instead of
generating the data on the server side.
I don't want to work with the programmable source using a script for that
implies that the data is again generated on the server side.
According to the Paraview documentation it seems that the only way to
manipulate the Paraview source objects is through Property objects
(VectorProperty, ProxyProperty and InputProperty). Does this imply that
according to the current architecture that I will not be able to send a
vtkObject (vtkPolyData) pointer to the server? If so what are the options with
regards to the Paraview architecture so that I can use Paraview in the above
demonstrated manner - i.e. generating data on the client side and let Paraview
operate on such data?
Thanks in advancxe,
Louis
_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview