Indeed the VTK online doxygen is very useful. Is there any way in python of getting the name of the class of the object I'm dealing with ? That way I can find the class documentation in the Doxygen ? Thanks again, Jacques
2008/11/13 David E DeMarle <[EMAIL PROTECTED]> > There is probably a python way to get help more easily, but one way to > figure it out is to look at the VTK doxygen documentation for > vtkDataObject and it's subclasses, and realize that all (or almost > all) of the public C++ methods are wrapped into python and therefore > available to use. > > cheers, > Dave > > On 11/13/08, Jacques Papper <[EMAIL PROTECTED]> wrote: > > Thanks a lot Utkarsh ! > > > > It works. I was almost there, but I couldn't figure out a way to expose > the > > available interface for each object! > > Where am I supposed to look to figure out that CopyStructure(), and > > NewInstance(), SetBlock() etc ... are functions available ? > > > > Kind regards, > > Jacques Papper > > > > > > 2008/11/13 Utkarsh Ayachit <[EMAIL PROTECTED]> > > > > > Jacques, > > > > > > Couple of ways to solve your problem: > > > > > > * Solution One: > > > If you don't want to deal with the fact that your data is a > > vtkMultiblockDataSet, apply the "Merge Blocks" filter after each of the > > "Extract Block" filters and then connect to the "Programmable Filter" to > to > > the output from the "Merge Blocks" and then your current script should > work > > just fine. The "Merge Blocks" will convert the vtkMultiBlockDataSet to a > > vtkUnstructuredGrid on which your script is applicable. > > > > > > * Solution Two: > > > > > > input0 = self.GetInputDataObject(0,0) > > > input1 = self.GetInputDataObject(0,1) > > > output = self.GetOutputDataObject(0) > > > > > > input0Block0 = input0.GetBlock(0) > > > input1Block0 = input1.GetBlock(0) > > > > > > output.CopyStructure(input0) > > > outputBlock0 = input0Block0.NewInstance() > > > outputBlock0.CopyStructure(input0Block0) > > > output.SetBlock(0, outputBlock0) > > > > > > > > > outputBlock0.GetPointData().AddArray(input0Block0.GetPointData().GetArray("pressure1")) > > > > > > outputBlock0.GetPointData().AddArray(input1Block0.GetPointData().GetArray("pressure2")) > > > > > > The above script will work if you are extracting a single block using > the > > Extract Block filter. If you want to merge arrays for all the blocks in > the > > input you'll have to iterate over the datasets in the > vtkMultiblockDataset. > > Take a look at > > > > > > http://www.paraview.org/Wiki/Python_Programmable_Filter#Dealing_with_Composite_Datasets > > > > > > Utkarsh > > > > > > > > > Jacques Papper wrote: > > > > > > > > > > > Here is what I am doing at the moment. > > > > -Load geometry 1 > > > > -Extract wing block > > > > > > > > -Load geometry 2 > > > > -Extract wing block > > > > > > > > Then use the resample filter with wing1 as input and wing2 as source > > > > (this works) > > > > > > > > The last bit is missing (that is merging the data from wing2 with the > > resampled data) > > > > > > > > Jacques > > > > > > > > 2008/11/13 Berk Geveci <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>> > > > > > > > > > > > > Programmable filter can still be made to work. Do the datasets > have > > > > multiple parts? I am not sure how resampling would work with > multiple > > > > parts. It is impossible to guess which parts map to which parts... > > > > > > > > -berk > > > > > > > > On Thu, Nov 13, 2008 at 8:28 AM, Jacques Papper > > > > > > > > <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>> wrote: > > > > > They are multi-block datasets from Ensight Reader. > > > > > Is there another way of dealing with this then ? > > > > > Jacques > > > > > > > > > > 2008/11/13 Berk Geveci <[EMAIL PROTECTED] > > > > <mailto:[EMAIL PROTECTED]>> > > > > > > > > >> > > > > >> Are the inputs multi-block datasets by any chance? > > > > >> > > > > >> > > > > >> -berk > > > > >> > > > > >> On Thu, Nov 13, 2008 at 6:03 AM, Jacques Papper > > > > > > > > >> <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>> wrote: > > > > >> > Hi Berk, > > > > >> > > > > > >> > I am trying out your suggestion of merging arrays : > > > > >> > > > > > >> > input0 = self.GetInputDataObject(0,0) > > > > >> > input1 = self.GetInputDataObject(0,1) > > > > >> > output = self.GetOutputDataObject(0) > > > > >> > > > > > >> > > > > > > > > output.GetPointData().AddArray(input0.GetPointData().GetArray("pressure1")) > > > > >> > > > > > >> > > > > > > > > output.GetPointData().AddArray(input1.GetPointData().GetArray("pressure2")) > > > > >> > > > > > >> > but I get the following error message : > > > > >> > > > > > >> > File "<string>", line 2, in <module> > > > > >> > File "<string>", line 4, in RequestData > > > > >> > AttributeError: GetPointData > > > > >> > > > > > >> > I also tried just using the programmable filter on one > source > > > > and with > > > > >> > the > > > > >> > following code, and I get the same error : > > > > >> > > > > > >> > input0=self.GetInputDataObject(0,0) > > > > >> > input0.GetPointData() > > > > >> > > > > > >> > I am using version 3.4.0 > > > > >> > > > > > >> > > > _______________________________________________ > > > > >> > ParaView mailing list > > > > >> > ParaView@paraview.org <mailto:ParaView@paraview.org> > > > > > > > > >> > > > http://www.paraview.org/mailman/listinfo/paraview > > > > >> > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > _______________________________________________ > > > > ParaView mailing list > > > > ParaView@paraview.org > > > > http://www.paraview.org/mailman/listinfo/paraview > > > > > > > > > > > > > _______________________________________________ > > ParaView mailing list > > ParaView@paraview.org > > http://www.paraview.org/mailman/listinfo/paraview > > > > > > > -- > David E DeMarle > Kitware, Inc. > R&D Engineer > 28 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-371-3971 x109 >
_______________________________________________ ParaView mailing list ParaView@paraview.org http://www.paraview.org/mailman/listinfo/paraview