<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    I'm trying to pass string arrays stored in vtkPolyData sets through
    the pipeline, using Python programmable filters.<br>
    Below is a sample code :<br>
    <br>
    In a ProgrammableSource1 :<br>
    <blockquote><i>output=self.GetOutput()</i>
      <p style="-qt-paragraph-type:empty; margin-top:0px;
        margin-bottom:0px; margin-left:0px; margin-right:0px;
        -qt-block-indent:0; text-indent:0px;"><i><br>
        </i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>points=vtk.vtkPoints()</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>points.SetNumberOfPoints(1)</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>points.SetPoint(0,0,0,0)</i></p>
      <p style="-qt-paragraph-type:empty; margin-top:0px;
        margin-bottom:0px; margin-left:0px; margin-right:0px;
        -qt-block-indent:0; text-indent:0px;"><i><br>
        </i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>stra=vtk.vtkStringArray()</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>stra.SetName("hop")</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>stra.Allocate(1)</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>stra.InsertNextValue("hop")</i></p>
      <p style="-qt-paragraph-type:empty; margin-top:0px;
        margin-bottom:0px; margin-left:0px; margin-right:0px;
        -qt-block-indent:0; text-indent:0px;"><i><br>
        </i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>output.SetPoints(points)</i></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>output.GetPointData().AddArray(stra)</i></p>
    </blockquote>
    <p style="-qt-paragraph-type:empty; margin-top:0px;
      margin-bottom:0px; margin-left:0px; margin-right:0px;
      -qt-block-indent:0; text-indent:0px;">In a directly connected
      ProgrammableFilter1 :</p>
    <p style="-qt-paragraph-type:empty; margin-top:0px;
      margin-bottom:0px; margin-left:0px; margin-right:0px;
      -qt-block-indent:0; text-indent:0px;"><i><br>
      </i><i>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; input=self.GetInput()</i></p>
    <i>
    </i>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
      margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        output=self.GetOutput()</i></p>
    <i>
    </i>
    <p style="-qt-paragraph-type:empty; margin-top:0px;
      margin-bottom:0px; margin-left:0px; margin-right:0px;
      -qt-block-indent:0; text-indent:0px;"><i><br>
      </i></p>
    <i>
    </i>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
      margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        output.SetPoints(input.GetPoints())</i></p>
    <i>
    </i>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
      margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        output.GetPointData().CopyStructure(input.GetPointData())</i></p>
    <i>
    </i>
    <p style="-qt-paragraph-type:empty; margin-top:0px;
      margin-bottom:0px; margin-left:0px; margin-right:0px;
      -qt-block-indent:0; text-indent:0px;"><i><br>
      </i></p>
    <i>
    </i>
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
      margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        print input.GetPointData().GetArray("hop")</i></p>
    <p style="-qt-paragraph-type:empty; margin-top:0px;
      margin-bottom:0px; margin-left:0px; margin-right:0px;
      -qt-block-indent:0; text-indent:0px;"><br>
    </p>
    The result of the 'print' call at the end is "None", but should not
    be in my understanding. If we do the exact same thing with a
    vtkDoubleArray, it works.<br>
    <br>
    Any idea on this issue ?<br>
    <br>
    Thanks,<br>
    <br>
    Yves<br>
    <br>
  </body>
</html>