<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    the code is attached. As I said it's quite messy - just ask me if
    you can't figure out something. The functions I added start with
    small letters as opposed to the copy-pasted and modified from VTK
    which start with a capital letter. <br>
    <br>
    Rostislav.<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 15/09/2014 19:28, Gerrick Bivins
      wrote:<br>
    </div>
    <blockquote
cite="mid:B0794D08412B1444B729850159888A9613C28BDB@NP1EXMB026.corp.halliburton.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Yes.
            I would definitely be interested in seeing the code.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Gerrick<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
                Rostislav Khlebnikov
                [<a class="moz-txt-link-freetext" href="mailto:rostislav.khlebnikov@kcl.ac.uk">mailto:rostislav.khlebnikov@kcl.ac.uk</a>]
                <br>
                <b>Sent:</b> Monday, September 15, 2014 12:07 PM<br>
                <b>To:</b> Gerrick Bivins; Berk Geveci<br>
                <b>Cc:</b> VTK Developers<br>
                <b>Subject:</b> Re: [vtk-developers] vtkCutter
                modification to use vtkCellLocator<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">Hi,<br>
          <br>
          well, basically, I feel that it is necessary to create a
          proper change to use Gerrit workflow successfully.
          Unfortunately, I don't quite have the time to do this properly
          for several reasons. One of them is that I actually don't need
          this change - for my project I integrated the CGAL-based
          cutting approach with AABB_tree which outperforms my VTK test
          - for example for the same test with 500k triangles CGAL-based
          cutting takes only 2ms. This will soon be integrated to MITK
          (in case anyone is interested, the pull request can be found
          here: <a moz-do-not-send="true"
            href="https://github.com/MITK/MITK/pull/73">https://github.com/MITK/MITK/pull/73</a>).
          Making a proper VTK change would involve quite a lot of
          effort. Given that vtkCutter is very general and rejecting the
          octree nodes might be complex for arbitrary implicit
          functions, it seems to require quite a lot of work to avoid
          incorrect usage.<br>
          <br>
          I can clean up the code a bit and post it to the mailing list
          if you are interested.<br>
          <br>
          All best,<br>
             Rostislav.<br>
          <br>
          <o:p></o:p></p>
        <div>
          <p class="MsoNormal">On 15/09/2014 15:02, Gerrick Bivins
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi
              Rostislav,</span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Did
              anything happen with this?</span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I
              would definitely be interested in this
              capability/feature/improvement.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Gerrick</span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
              vtk-developers [<a moz-do-not-send="true"
                href="mailto:vtk-developers-bounces@vtk.org">mailto:vtk-developers-bounces@vtk.org</a>]
              <b>On Behalf Of </b>Berk Geveci<br>
              <b>Sent:</b> Tuesday, August 12, 2014 11:44 AM<br>
              <b>To:</b> Rostislav Khlebnikov<br>
              <b>Cc:</b> VTK Developers<br>
              <b>Subject:</b> Re: [vtk-developers] vtkCutter
              modification to use vtkCellLocator</span><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <div>
            <p class="MsoNormal">Hi <span
style="font-size:10.0pt;font-family:"Arial","sans-serif"">Rostislav,</span><o:p></o:p></p>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial","sans-serif"">This
                  is great. Can you push the code to Gerrit (</span><span
style="font-family:"Arial","sans-serif""><a
                    moz-do-not-send="true"
                    href="http://review.source.kitware.com/">http://review.source.kitware.com/</a>)?</span><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-family:"Arial","sans-serif"">Best,</span><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-family:"Arial","sans-serif"">-berk</span><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
          </div>
          <div>
            <p class="MsoNormal" style="margin-bottom:12.0pt"> <o:p></o:p></p>
            <div>
              <p class="MsoNormal">On Sat, Aug 9, 2014 at 2:52 PM,
                Rostislav Khlebnikov <<a moz-do-not-send="true"
                  href="mailto:rostislav.khlebnikov@kcl.ac.uk"
                  target="_blank">rostislav.khlebnikov@kcl.ac.uk</a>>
                wrote:<o:p></o:p></p>
              <p class="MsoNormal" style="margin-bottom:12.0pt">Hi guys,<br>
                <br>
                just thought that the VTK developers might be interested
                in the test I made recently.<br>
                <br>
                Bascially what I did is subclass the vtkCellLocator to
                implement the visitor pattern. It allows to filter the
                octree nodes (e.g. reject the octree nodes that are of
                no interest early) and for leafs, to visit the cells of
                the polydata.<br>
                Then, I subclassed the vtkCutter to use this cell
                locator instead of straight iteration over cells. Likely
                for very complex implicit cutting functions this wouldnt
                be of any benefit. However, for those which can test
                bboxes as being of interest or not, rejecting whole
                subtrees, such as vtkPlane, it is very useful. I tested
                it on a surface with 500k triangles and the cutter
                performance went from 88ms per cut to 14ms.<br>
                <br>
                The code I made is quite ugly due to limited
                extensibility of vtkCutter, so I had to copy-paste the
                RequestData method and make my changes instead of, say,
                overriding IterateCells method which would just provide
                the cells to cut through.<br>
                <br>
                But anyway, I was wondering if you guys are intersted in
                this kind of functionality? Would you like me to send
                you the code?<br>
                <br>
                All best,<br>
                   Rostislav.<br>
                <br>
                _______________________________________________<br>
                Powered by <a moz-do-not-send="true"
                  href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
                <br>
                Visit other Kitware open-source projects at <a
                  moz-do-not-send="true"
                  href="http://www.kitware.com/opensource/opensource.html"
                  target="_blank">
                  http://www.kitware.com/opensource/opensource.html</a><br>
                <br>
                Follow this link to subscribe/unsubscribe:<br>
                <a moz-do-not-send="true"
                  href="http://public.kitware.com/mailman/listinfo/vtk-developers"
                  target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><o:p></o:p></p>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
          </div>
          <div class="MsoNormal" style="text-align:center"
            align="center">
            <hr size="2" width="100%" align="center">
          </div>
          <p class="MsoNormal">This e-mail, including any attached
            files, may contain confidential and privileged information
            for the sole use of the intended recipient. Any review, use,
            distribution, or disclosure by others is strictly
            prohibited. If you are not the intended recipient (or
            authorized to receive information for the intended
            recipient), please contact the sender by reply e-mail and
            delete all copies of this message.<o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>