<div dir="ltr">Hi David,<br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 6, 2017 at 10:52 AM, David Thompson <span dir="ltr"><<a href="mailto:david.thompson@kitware.com" target="_blank">david.thompson@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
As I work on changes for CMB v5, one of the big features will be for ModelBuilder to allow multiple render-views instead of its current practice of creating a single default view that cannot be split or changed.<br>
<br>
I am thinking about using this opportunity to refactor the ModelBuilder code where it was confusing and would appreciate your input. I'll outline my plan below:<br>
<br>
Currently, CMB is organized as shown in the attached diagram: the pqCMBModelManager (which owns the smtk::model::Manager indirectly) creates and manages 1 pqSMTKModelInfo per model plus any auxiliary-geometry representations that are intended to be separate from the model. The pqSMTKModelInfo owns a pqSMTKMeshInfo instance (which owns multiple representations for the model's mesh collection) and several representations (1 for each separate auxiliary geometry image).<br></blockquote><div>I didn't find pqDataRepresentation(instance-<wbr>glyphs) in pqSMTKModelInfo, I guess it's still in WIP?</div><div>pqDataREpresentation(model) and pqDataRepresentation(<wbr>selection) actually point to the same pqDataRepresentation. Paraview has two sources for pqDataRepresentation, one for selection(We use a vtkSMProxy in pqSMTKModelInfo to control selection) and another for normal rendering. Currently in CMB if user makes a selection, we would turn off the selected entities' visibility first then enable the selection source. See pqSMTKModelPanel::<wbr>selectEntityRepresentations() for detail.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I believe that a lot of the code can be simplified by removing the pqSMTK*Info and smtkAuxGeoInfo classes (none of which *were* representations but which owned representations) in favor of a new pqSMTKModelRepresentation class. I have some more due diligence to do:<br>
<br>
+ it may require a subclass of vtkPVDataRepresentation on the server, but we may also be able to get by with just managing multiple proxies to existing server-side representations in pqSMTKModelRepresentation.<br>
+ I'm not familiar with the interaction of selection and representations and need to ensure we'll be able to continue selecting things in a filtered way.<br></blockquote><div>See my comment above. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If you can think of other problems with this or have better ideas, please let me know.<br>
<span class="m_-8739925476916460807HOEnZb"><font color="#888888"><br></font></span></blockquote><div>+1 for this cool idea.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="m_-8739925476916460807HOEnZb"><font color="#888888">
        David<br>
<br>
</font></span><br>______________________________<wbr>_________________<br>
Smtk-developers mailing list<br>
<a href="mailto:Smtk-developers@smtk.org" target="_blank">Smtk-developers@smtk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/smtk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/smtk-developers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_-8739925476916460807gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Best regards<div>Haocheng</div><div><br></div><div>Haocheng LIU</div><div><span style="color:rgb(0,0,0);font-size:12.8px">Kitware, Inc.</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">R&D Engineer</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">21 Corporate Drive</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">Clifton Park, NY 12065-8662</span><br style="color:rgb(0,0,0);font-size:12.8px"><span style="color:rgb(0,0,0);font-size:12.8px">Phone: </span><a href="tel:(518)%20881-4421" value="+15188814443" style="color:rgb(17,85,204);font-size:12.8px" target="_blank">518-881-4421</a><br></div></div></div></div></div>
</div></div>