<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div data-marker="__QUOTED_TEXT__"><div class="moz-cite-prefix">Hi Andy,<br>
      <br>
      You could find example dataset in the following link,<br>
      <br>
      <a class="moz-txt-link-freetext" href="https://kovan.itu.edu.tr/index.php/s/6RKZuW5rXGS57dR" target="_blank">https://kovan.itu.edu.tr/index.php/s/6RKZuW5rXGS57dR</a><br>
      <br>
      to work with IndeX volume rendering plugin, i add three grid point
      ghost region to the tiles in this case but it demonstrated whole
      extent problem. To write data I am using standard allinputsgrid.py
      and for volume rendering i am using attached co-processing script
      (this version creates a band around tiles when I use with standard
      volume rendering methods of ParaView, i think it is related with
      three grid ghost point). <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Regards,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">--ufuk<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 20.03.2018 17:10, Andy Bauer wrote:<br>
    </div>
    <blockquote cite="mid:CAMaOp+FW4bg9V46ay+cAOxKpX4t-6kLerBB2HestMJ0ewOKeKw@mail.gmail.com">
      <div dir="ltr">
        <div>
          <div>
            <div>Hi Ufuk,<br>
              <br>
            </div>
            If the files are small, could you send them? I'll
            investigate some. Also, sending your Catalyst Python script
            may help clue me into what's going wrong.<br>
            <br>
          </div>
          Best,<br>
        </div>
        Andy<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Mar 19, 2018 at 4:06 PM, Ufuk
          Turuncoglu <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>
              <div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000">
                <div>
                  <div class="m_-3599309367708978177moz-cite-prefix">Thanks
                    for your valuable comments. Yes, for each model
                    component has two grid 2d and 3d and they are coming
                    from different channels. It is working under 5.4.1
                    but i'll check the bug and try to fix my version
                    until 5.5 released. BTW, even if I set whole extend
                    (to test it I hardcoded it) in the place that you
                    indicate, the piece and whole extent is same in the
                    files.<br>
                  </div>
                  <div class="m_-3599309367708978177moz-cite-prefix"><br>
                  </div>
                  <div class="m_-3599309367708978177moz-cite-prefix">Regards,</div>
                  <div class="m_-3599309367708978177moz-cite-prefix"><br>
                  </div>
                  <div class="m_-3599309367708978177moz-cite-prefix">--ufuk</div>
                  <br>
                </div>
                <div><br>
                </div>
                <hr id="m_-3599309367708978177zwchr">
                <div><b>From: </b>"Andy Bauer" <<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>><br>
                  <b>To: </b>"Ufuk Utku Turuncoglu (BE)" <<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>><br>
                  <b>Cc: </b>"paraview" <<a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a>><br>
                  <b>Sent: </b>Monday, March 19, 2018 3:51:51 PM<br>
                  <b>Subject: </b>Re: [Paraview] structured to
                  unstructured when using multiblocks filter<br>
                </div>
                <div>
                  <div class="h5"><br>
                    <div>
                      <div dir="ltr">
                        <div>
                          <div>
                            <div>
                              <div>Hi Ufuk,<br>
                                <br>
                              </div>
                              It looks like you're already using
                              multi-channel input as you're adding since
                              you have "
                              g_coprocessorData-><span class="m_-3599309367708978177gmail-pl-c1">AddInput</span>(strarr[i]);
                              " unless that's always just called once.
                              We're just trying to clarify the "inputs"
                              by naming them channels -- I'm not sure it
                              makes it easier to understand but it makes
                              it easier to talk about with others that
                              understand that concept in Catalyst.<br>
                              <br>
                            </div>
                            Setting whole extent would look like the
                            following at line 129 in adaptor.cpp:<br>
                            <table class="m_-3599309367708978177gmail-highlight
                              m_-3599309367708978177gmail-tab-size
                              m_-3599309367708978177gmail-js-file-line-container">
                              <tbody>
                                <tr>
                                  <td id="m_-3599309367708978177gmail-LC128" class="m_-3599309367708978177gmail-blob-code
                                    m_-3599309367708978177gmail-blob-code-inner
m_-3599309367708978177gmail-js-file-line"> <span class="m_-3599309367708978177gmail-pl-k">if</span>
                                    (vtkDataSet* grid = <span class="m_-3599309367708978177gmail-pl-c1">vtkDataSet::SafeDownCast</span>(g_coprocessorData-><span class="m_-3599309367708978177gmail-pl-c1">GetInputDescriptionByName</span>(name)-><span class="m_-3599309367708978177gmail-pl-c1">GetGrid</span>())) {</td>
                                </tr>
                                <tr>
                                </tr>
                              </tbody>
                            </table>
                            <table class="m_-3599309367708978177gmail-highlight
                              m_-3599309367708978177gmail-tab-size
                              m_-3599309367708978177gmail-js-file-line-container">
                              <tbody>
                                <tr>
                                  <td id="m_-3599309367708978177gmail-LC129" class="m_-3599309367708978177gmail-blob-code
                                    m_-3599309367708978177gmail-blob-code-inner
m_-3599309367708978177gmail-js-file-line
                                    m_-3599309367708978177gmail-highlighted">
                                    <span class="m_-3599309367708978177gmail-pl-c1">ParaViewCoProcessing::ClearFieldDataFromGrid</span>(grid);<br>
                                    g_coprocessorData-><span class="m_-3599309367708978177gmail-pl-c1">GetInputDescriptionByName</span>(name)-><span class="m_-3599309367708978177gmail-pl-c1"></span>
                                    SetWholeExtent(ilow, ihigh, jlow,
                                    jhigh, klow, khigh);<br>
                                  </td>
                                </tr>
                                <tr>
                                </tr>
                              </tbody>
                            </table>
                            <table class="m_-3599309367708978177gmail-highlight
                              m_-3599309367708978177gmail-tab-size
                              m_-3599309367708978177gmail-js-file-line-container">
                              <tbody>
                                <tr>
                                  <td id="m_-3599309367708978177gmail-LC130" class="m_-3599309367708978177gmail-blob-code
                                    m_-3599309367708978177gmail-blob-code-inner
m_-3599309367708978177gmail-js-file-line"> } <span class="m_-3599309367708978177gmail-pl-k">else</span>
                                    {</td>
                                </tr>
                                <tr>
                                </tr>
                              </tbody>
                            </table>
                            <br>
                          </div>
                          Here, *low and *high are global values. For
                          example, for a 1D case if each process has 5
                          points and you have 3 mpi processes
                          ilow=jlow=jhigh=klow=khigh=0 and ihigh=12. The
                          vtkStructuredGrid::SetExtent() would look
                          like:<br>
                        </div>
                        proc 0: 0, 4, 0, 0, 0, 0<br>
                        <div>
                          <div>
                            proc 1: 4, 8, 0, 0, 0, 0 <br>
                            proc 2: 8, 12, 0, 0, 0, 0
                            <br>
                            <br>
                          </div>
                          <div>This looks like you're doing it properly
                            in grid.cpp though but I didn't set the
                            SetWholeExtent() in adaptor.cpp and I'm
                            guessing that's what's missing.<br>
                            <br>
                          </div>
                          <div>The multi-channel input should work in
                            5.4.1 but I found a bug that's been fixed in
                            the upcoming 5.5 that was affecting Live.
                            See <a href="https://gitlab.kitware.com/paraview/paraview/merge_requests/2212" target="_blank">https://gitlab.kitware.com/paraview/paraview/merge_requests/2212</a>
                            for details on that. It's fairly small so
                            you can probably backport that to your 5.4.1
                            build if you're more comfortable using
                            5.4.1.<br>
                            <br>
                          </div>
                          <div>Cheers,<br>
                          </div>
                          <div>Andy<br>
                          </div>
                        </div>
                      </div>
                      <div class="gmail_extra"><br>
                        <div class="gmail_quote">On Mon, Mar 19, 2018 at
                          7:50 AM, Ufuk Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>></span>
                          wrote:<br>
                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex">
                            <div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">Hi
                                Andy,</div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">Thanks
                                for your help. Yes, each tile has its
                                own grid information. The problem is
                                that if i set whole extent in the
                                adaptor side and write data to disk
                                using allinputsgridwrite.py, the whole
                                extent is same with piece extent. I am
                                not sure what is going on in the
                                background when live visualization
                                activated. If you want to look at it for
                                possible problem, the code is in
                                following link (adaptor.cpp and
                                grid.cpp),</div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><a class="m_-3599309367708978177m_7908305580367046430moz-txt-link-freetext" href="https://github.com/uturuncoglu/RegESM/tree/master/cop" target="_blank">https://github.com/uturuncoglu/RegESM/tree/master/cop</a><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">The
                                second option is also worth to try but
                                first i need to look at the example.
                                BTW, i am using 5.4.1. Do you think that
                                the multi-channel input also works with
                                5.4.1? How it is handled by Catalyst in
                                live mode? Do i have multiple
                                visualization pipeline?</div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">Regards,</div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                              </div>
                              <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">--ufuk<br>
                              </div>
                              <div>
                                <div class="m_-3599309367708978177h5">
                                  <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                                  </div>
                                  <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix"><br>
                                  </div>
                                  <div class="m_-3599309367708978177m_7908305580367046430moz-cite-prefix">On
                                    19.03.2018 13:36, Andy Bauer wrote:<br>
                                  </div>
                                  <blockquote>
                                    <div dir="ltr">
                                      <div>
                                        <div>Hi Ufuk,<br>
                                          <br>
                                        </div>
                                        Currently a multipiece data set
                                        always has to be nested under a
                                        multiblock dataset. This
                                        definitely seems like an
                                        unreasonable limitation on a
                                        structured grid under a
                                        multipiece dataset but I suspect
                                        we just haven't had the
                                        resources to put into making
                                        this work properly. My
                                        suggestion would be to try just
                                        having your Catalyst adaptor
                                        provide a structured grid
                                        directly, assuming you only have
                                        one grid per mpi process, and
                                        then try volume rendering like
                                        that. If you do this though,
                                        make sure to set the whole
                                        extent with
                                        vtkCPInputDataDescription::SetWholeExtent().
                                        <br>
                                        <br>
                                      </div>
                                      A thought here -- instead of
                                      changing your adaptor to generate
                                      the structured grid directly
                                      instead of a multipiece dataset,
                                      maybe create a second "channel"
                                      through a second
                                      vtkCPInputDataDescription that
                                      provides just a structured grid.
                                      This way you can provide both
                                      dataset types as needed instead of
                                      having to modify code back and
                                      forth, recompile, etc. to get
                                      different functionality. See the
                                      Examples/Catalyst/CxxMultiChannelInputExample
                                      in the 5.5 source code for some
                                      more details on this.<br>
                                      <div><br>
                                      </div>
                                      <div>I can't remember if you were
                                        using the editions or just the
                                        full ParaView Catalyst build but
                                        in 5.5 there will be a volume
                                        rendering Catalyst addition.<br>
                                      </div>
                                      <div><br>
                                        Note that the
                                        multiblock/multipiece hierarchy
                                        will be undergoing a significant
                                        change in the near future.<br>
                                        <br>
                                      </div>
                                      <div>Best,<br>
                                      </div>
                                      <div>Andy<br>
                                      </div>
                                      <div><br>
                                      </div>
                                    </div>
                                    <div class="gmail_extra"><br>
                                      <div class="gmail_quote">On Sun,
                                        Mar 18, 2018 at 1:21 PM, Ufuk
                                        Turuncoglu <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>></span>
                                        wrote:<br>
                                        <blockquote class="gmail_quote" style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div>
                                            <div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000">
                                              <div>Hi, <br>
                                                <br>
                                                I am using MPI parallel
                                                code under Catalyst
                                                co-processing. In this
                                                case, i am defining data
                                                by creating multi-block
                                                dataset and putting
                                                multi-piece dataset into
                                                the first block (0). In
                                                this case, each piece is
                                                defined as structured
                                                grid. The problem is
                                                that, to create volume
                                                rendering, i need to use
                                                MergeBlocks filter under
                                                ParaView but it changes
                                                data type from
                                                structured grid to
                                                unstructured one. I just
                                                wonder that is there any
                                                way to merge blocks
                                                without changing type?
                                                Programmable filter
                                                etc.? Another workaround
                                                could be defining
                                                dataset without using
                                                multi block under
                                                co-processing adaptor
                                                code. So, is it possible
                                                to represent multi-piece
                                                data under co-processing
                                                without putting it into
                                                multi-bloack dataset. <br>
                                                <br>
                                                Regards, <br>
                                                <br>
                                                --ufuk</div>
                                            </div>
                                          </div>
                                          <br>
                                          _______________________________________________<br>
                                          Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
                                          <br>
                                          Visit other Kitware
                                          open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
                                          <br>
                                          Please keep messages on-topic
                                          and check the ParaView Wiki
                                          at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
                                          <br>
                                          Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
                                          <br>
                                          Follow this link to
                                          subscribe/unsubscribe:<br>
                                          <a href="https://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">https://public.kitware.com/mailman/listinfo/paraview</a><br>
                                          <br>
                                        </blockquote>
                                      </div>
                                      <br>
                                    </div>
                                  </blockquote>
                                  <p><br>
                                  </p>
                                </div>
                              </div>
                            </div>
                          </blockquote>
                        </div>
                      </div>
                      <br>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <p><br>
    </p><br></div></div></body></html>