No subject
Thu Oct 17 21:49:17 EDT 2013
but neither does. Any hints
First, I am copying arrays in the PF, so I should be able to manipulate
either input or output, but neither works
It is also a composite (Exodus dataset)
First version - error is can't find output.Points
import math
def process_block(block):
displ=block.PointData['DISPL']
# Coords of Points are locked into individual Point structures
# Assume Displacements applied (Points are deformed)
numPts=output.GetNumberOfPoints()
# for i in range(numPts):
# #x_coords[i], y_coords[i], z_coords[i] = output.GetPoint(i)
x_coords=output.Points[:,0]
y_coords=output.Points[:,1]
z_coords=output.Points[:,2]
x_undef=x_coords-displ[:,0]
y_undef=y_coords-displ[:,1]
z_undef=z_coords-displ[:,2]
# Undeformed scalar Coordinates
block.PointData.append(x_undef,"X_undef")
block.PointData.append(y_undef,"Y_undef")
block.PointData.append(z_undef,"Z_undef")
# Deformed scalar Coordinates
block.PointData.append(x_coords,"X_def")
block.PointData.append(y_coords,"Y_def")
block.PointData.append(z_coords,"Z_def")
# Calc angles (no atan2 in vtk)
Angles_undef=math.atan2(z_undef,x_undef)
block.PointData.append(Angles_undef,"Angle_undef")
for block in output:
process_block(block)
For second version I comment out x_coords=output.Points[;0] and use
# for i in range(numPts):
# #x_coords[i], y_coords[i], z_coords[i] = output.GetPoint(i)
This error is can't find output.GetPoint
Both of these are used in examples online of Programmable Filter, so what
am I missing?
I have substituted input for output above and no change.
Also, output.GetNumberOfPoints works, so why doesn't output.GetPoints
work?
Thanks
Dennis Conklin
RDE & Q Senior Engineer
Engineering Mechanics
The Goodyear Tire & Rubber Company
200 Innovation Way, Akron, OH 44316
phone.330-796-5701
dennis_conklin at goodyear.com
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
--=_alternative 0041D0FD85257C08_=
Content-Type: text/html; charset="US-ASCII"
<font size=2 face="sans-serif">Andy,</font>
<br>
<br><font size=2 face="sans-serif">A typical rookie mistake. I was
combining composite data set examples and non-composite examples from the
wiki, and I got my output and my block intermixed. It's very obvious
now that you pointed it out.</font>
<br>
<br><font size=2 face="sans-serif">Thanks very much, that works fine now.
</font>
<br>
<br><font size=2 face="sans-serif">One question if I may: since Nodes
(or points) are common to multiple blocks at block boundaries I'm surprised
that something strange didn't happen when I assigned PointData to some
points multiple times - once for each block they are contained in. It
also seems strange that there isn't some master POINTS array of all points
in the composite data set that I could have operated on, especially as
I did nothing to the cells and it seems the blocks are mostly a cell thing.
Am I missing something there? How are points common to different
blocks handled?</font>
<br>
<br><font size=2 face="sans-serif">Thanks again</font>
<br>
<br><font size=1 color=#002060 face="Verdana"><b>Dennis Conklin</b><i><br>
<b>RDE & Q Senior Engineer </i></b></font>
<br><font size=1 color=#002060 face="Verdana"><b><i>Engineering Mechanics</i></b><i><br>
</i>The Goodyear Tire & Rubber Company</font>
<br><font size=1 color=#002060 face="Verdana">200 Innovation Way, Akron,
OH 44316<br>
phone.330-796-5701<br>
dennis_conklin at goodyear.com</font>
<br>
<br><img src=cid:_2_076E4A88076E481C0041D0FD85257C08>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From:
</font><font size=1 face="sans-serif">Andy Bauer <andy.bauer at kitware.com></font>
<br><font size=1 color=#5f5f5f face="sans-serif">To:
</font><font size=1 face="sans-serif">dennis_conklin at goodyear.com</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Cc:
</font><font size=1 face="sans-serif">"paraview at paraview.org"
<paraview at paraview.org></font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date:
</font><font size=1 face="sans-serif">10/17/2013 01:19 PM</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject:
</font><font size=1 face="sans-serif">Re: [Paraview]
Programmable Filter Help, Part 2</font>
<br>
<hr noshade>
<br>
<br>
<br><font size=3>Hi,<br>
</font>
<br><font size=3>Where did you get the example from? <br>
</font>
<br><font size=3>I think your confusion is from the difference between
multiblock data sets and regular data sets. The regular data set has points
and the Programmable Filter gives a shortcut to access those points by
using inputs[0].Points and output.Points but there is no concept of a group
of points in a multiblock data set, only in the regular data set blocks
of the multiblock data set. So for the process_block() method you'll want
to do a block.GetPoints() to get the points. To make it more efficient
you can use numpy. An example is at </font><a href=http://www.paraview.org/Wiki/Python_Programmable_Filter#Center_Data_using_numpy><font size=3 color=blue><u>http://www.paraview.org/Wiki/Python_Programmable_Filter#Center_Data_using_numpy</u></font></a><font size=3>.
<br>
</font>
<br><font size=3>You can add print statements in the script but they'll
be outputted to the output window (Tools->Output Window).</font>
<br>
<br><font size=3>Regards,<br>
Andy </font>
<br><font size=3><br>
</font>
<br><font size=3>On Thu, Oct 17, 2013 at 10:35 AM, <</font><a href=mailto:dennis_conklin at goodyear.com target=_blank><font size=3 color=blue><u>dennis_conklin at goodyear.com</u></font></a><font size=3>>
wrote:</font>
<br><font size=3 face="sans-serif">My original post was truncated into
oblivion, so here is my Second attempt.</font><font size=3> <br>
</font><font size=3 face="sans-serif"><br>
I'm trying to put together a Programmable filter that will add arrays of
deformed and undeformed coordinates and undeformed angles to my PointData
in 4.0.1</font><font size=3> <br>
</font><font size=3 face="sans-serif"><br>
More information about the ParaView
mailing list