<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<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:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
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.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1726562190;
        mso-list-type:hybrid;
        mso-list-template-ids:1167076860 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoPlainText">Cory<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">I had a long train ride to experiment with this and managed to get the basics working.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">Adding an AddCustomProxy(&#8230;) method to pqAnimationViewWidget is all that is really necessary to allow you to display the new stuff in the animation view. For a simple representation I found that all I had to do was in the display panel
 decorator (in this case for my splotch renderer) add the following<o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;;color:navy">//</span></b><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;;color:green">QWidget</span></b><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;"> *<span style="color:green">mainWindow</span> =
<span style="color:green">pqCoreUtilities</span>::<span style="color:green">mainWidget</span>();<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;;color:green">pqAnimationViewWidget</span></b><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;"> *<span style="color:green">pqaw</span> =
<span style="color:green">mainWindow</span>-&gt;<span style="color:green">findChild</span>&lt;<span style="color:green">pqAnimationViewWidget</span>*&gt;(<span style="color:blue">&quot;animationView&quot;</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;;color:green">pqaw</span></b><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;">-&gt;<span style="color:green">addCustomProxy</span>(<span style="color:blue">&quot;Splotch&quot;</span>,
<span style="color:green">reprProxy</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:9.0pt;font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none">and hey presto all the stuff appears. Unfortunately, pretty much everything appears, but for a quick first go this is enough. What needs to be done is to modify some of the more in depth code to only display
 the properties on the proxy that are actually marked as animateable. I didn&#8217;t try this yet.<o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="text-autospace:none">I had a more specific problem when I wanted to animate properties from a proxy that I had generated &#8216;internally&#8217;. We parse XML on the fly and create dynamic controls based on messages from a simulation, this
 meant that when I added the proxy I had strange effects. I mention this in case you get problems.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1;text-autospace:none">
<![if !supportLists]><span style="mso-list:Ignore">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>You need to make sure the proxy has a domain. If it&#8217;s a double (say), then it is sufficient to just make sure you have &lt;DoubleRangeDomain name=&quot;range&quot;/&gt; and that will do. Otherwise the property doesn&#8217;t get updated properly (or at all).<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1;text-autospace:none">
<![if !supportLists]><span style="mso-list:Ignore">2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>You also need to register your proxy with the proxy manager (and thereby produce an associated pqProxy). I wasn&#8217;t doing this and when the track is created with your own proxy property selected, the track had no &#8216;title&#8217;. It turned out
 that the string generation of the name that appears needs to get the pqProxy from the servermangermodel in order to fetch the string to show (so sphere1 appears as sphere1 etc etc) and then it adds the property label string to it of the one you&#8217;re animating
 . Custom renderers just appear as DataRepresentation1&#8230;, but I didn&#8217;t look into tweaking it yet. Anyway, for my custom proxy which is completely fabricated, paraview wasn&#8217;t happy. It turns out when you call RegisterProxy &#8211; the group name you use affects how
 the pqProxy associated with it is generated and I had to fool paraview into creating a bare pqProxy (as opposed to a pqTimeKeeper or some other specialized type) by using the group &#8220;layouts&#8221; which is of course nonsense, but if you skim through the code in
 Qt\Core\pqStandardServerManagerModelInterface.cxx you&#8217;ll see why. I think I should fix this to allow a &#8220;Custom&#8221; group so that I don&#8217;t need to lie about the real group. Either that or allow some other default of pqProxy rather than NULL which is current. If
 Utkarsh is reading this he&#8217;ll no doubt comment or suggest a sensible default.<o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">pm</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">-&gt;<span style="color:green">RegisterProxy</span>(<span style="color:blue">&quot;layouts&quot;</span>,
<span style="color:blue">&quot;DsmProxyHelper&quot;</span>, <span style="color:maroon">this</span>-&gt;<span style="color:green">DsmProxyHelper</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">pqServerManagerModel</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">*
<span style="color:green">smmodel</span> =<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">pqApplicationCore</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">::<span style="color:green">instance</span>()-&gt;<span style="color:green">getServerManagerModel</span>();<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:maroon">this</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">-&gt;<span style="color:green">pqDsmProxyHelper</span> =
<span style="color:green">smmodel</span>-&gt;<span style="color:green">findItem</span>&lt;<span style="color:green">pqProxy</span>*&gt;(<span style="color:maroon">this</span>-&gt;<span style="color:green">DsmProxyHelper</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">and then later &#8230;<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:navy">//</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">QWidget</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;"> *<span style="color:green">mainWindow</span> =
<span style="color:green">pqCoreUtilities</span>::<span style="color:green">mainWidget</span>();<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">pqAnimationViewWidget</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;"> *<span style="color:green">pqaw</span> =
<span style="color:green">mainWindow</span>-&gt;<span style="color:green">findChild</span>&lt;<span style="color:green">pqAnimationViewWidget</span>*&gt;(<span style="color:blue">&quot;animationView&quot;</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;;color:green">pqaw</span></b><b><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">-&gt;<span style="color:green">addCustomProxy</span>(<span style="color:blue">&quot;DSM&quot;</span>,
<span style="color:maroon">this</span>-&gt;<span style="color:green">DsmProxyHelper</span>);<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">To get the pqProxy if you need it in your own code, use the findItem shown above. Anyway, for what you want, most of this email is unnecessary and you can just to the top bit.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">Hope this helps.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">JB<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">diff --git a/Qt/Components/pqAnimationViewWidget.cxx b/Qt/Components/pqAnimationViewWidget.cxx<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">index 8ee9eef..4cca0a2 100644<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">--- a/Qt/Components/pqAnimationViewWidget.cxx<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&#43;&#43; b/Qt/Components/pqAnimationViewWidget.cxx<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">@@ -75,6 &#43;75,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">#include &quot;vtkSMPropertyHelper.h&quot;<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">#include &quot;vtkSMProxy.h&quot;<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">#include &quot;vtkSMRenderViewProxy.h&quot;<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;#include &quot;vtkSMProxyManager.h&quot;<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">//-----------------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">class pqAnimationViewWidget::pqInternal<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">@@ -818,6 &#43;819,16 @@ void pqAnimationViewWidget::setActiveView(pqView* view)<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">}<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">//-----------------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;void pqAnimationViewWidget::addCustomProxy(const char *name, vtkSMProxy* pxy)<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;{<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp; this-&gt;Internal-&gt;CreateSource-&gt;removeProxy(name);<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp; if (pxy &amp;&amp; this-&gt;Internal-&gt;CreateSource-&gt;findText(name) == -1)<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp;&nbsp; {<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp;&nbsp; this-&gt;Internal-&gt;CreateSource-&gt;addProxy(0, name, pxy);<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;}<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;//-----------------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">void pqAnimationViewWidget::setCurrentSelection(pqPipelineSource* pxy)<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">{<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp; if (pxy)<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">diff --git a/Qt/Components/pqAnimationViewWidget.h b/Qt/Components/pqAnimationViewWidget.h<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">index 0b8f38b..ca5270c 100644<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">--- a/Qt/Components/pqAnimationViewWidget.h<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&#43;&#43; b/Qt/Components/pqAnimationViewWidget.h<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">@@ -53,6 &#43;53,7 @@ public:<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp; pqAnimationViewWidget(QWidget* parent=0);<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp; virtual ~pqAnimationViewWidget();<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp; void addCustomProxy(const char *name, vtkSMProxy* pxy);<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">public slots:<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp; /// set the scene to view<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">diff --git a/Utilities/Xdmf2 b/Utilities/Xdmf2<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">index 616fe9f..4cb22f3 160000<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">--- a/Utilities/Xdmf2<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&#43;&#43; b/Utilities/Xdmf2<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">@@ -1 &#43;1 @@<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">-Subproject commit 616fe9f5525c0a39c215837888ef48269fdb83a6<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;Subproject commit 4cb22f3e1f3bfed6e8382f689999030055ada4b3-dirty<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">diff --git a/VTK b/VTK<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">index 8b0026d..0429b26 160000<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">--- a/VTK<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;&#43;&#43; b/VTK<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">@@ -1 &#43;1 @@<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">-Subproject commit 8b0026d1764edfb8dcd3dda3222abc79f100f652<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:&quot;Courier New&quot;">&#43;Subproject commit 0429b26096df318ca1c58cea239d22daa83ed475<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>