After a bit of thinking/searching I have now managed to create a very simple widget plugin. The problem was in me not understanding the vtk hints file (finding documentation for how it worked was not easy). Here is a page that explain it though: <a href="http://wenku.baidu.com/view/df92936825c52cc58bd6bef5.html" style="font-family:&#39;Times New Roman&#39;;background-color:rgb(255,255,255);font-size:medium">http://wenku.baidu.com/view/df92936825c52cc58bd6bef5.html</a><div>
<br></div><div>Attached is a small sample file that creates a widget plugin if anyone ever has need for it.</div><div><br></div><div>BR/ Christoffer<br><br><div class="gmail_quote">On Thu, Dec 8, 2011 at 10:53 AM, Christoffer Green <span dir="ltr">&lt;<a href="mailto:christoffer.green@gmail.com">christoffer.green@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you for your reply.<div><br></div><div>Currently I have been attempting something along those lines, though I started with the vtkLineWidget2 instead of the vtkBoxWidget2. So I copied all the files that appeared to be needed and changed the names of the classes (this widget is going to be manipulating a plane so it got named PlaneWidget). I have a problem now however that I do not understand. The vtkLineRepresentation (vtkPlaneRepresentation now after name change) that got copied has a function called SetPoint1WorldPosition that takes an array of 3 double values as input. </div>

<div>On creation of the widget this function gets called correctly once but then later on it gets called again but this time paraview tries to send an array with only 2 double values in it even thought this directly contradicts the xml definition for the function so then the generated vtkPlaneRepresentationClientServer function locator fails to find it. Does anybody have any clue why this is? I have tried to debug the call stack but i can not make any sense of it. I have attached a zip file of the widget source (after adding the plugin to paraview simply create a &quot;Line Source Plane&quot; from the sources menu to create the widget).</div>

<div><br></div><div>&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot; The error message i get is:</div><div><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">ERROR: In ..\..\..\ParaView-3.12.0\ParaViewCore\ServerImplementation\vtkPVSessionCore.cxx, line 324</span><p>

</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">vtkPVSessionCore (09369450): Object type: vtkPlaneRepresentation, could not find requested method: &quot;SetPoint1WorldPosition&quot;</span></p>


<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">or the method was called with incorrect arguments.</span></p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">while processing</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">Message 0 = Invoke</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">  Argument 0 = vtk_object_pointer {vtkPlaneRepresentation (0C27AE80)}</span></p>


<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">  Argument 1 = string_value {SetPoint1WorldPosition}</span></p>

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">  Argument 2 = float64_array {0, 0}</span></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px">

<span style="font-family:&#39;Courier&#39;;font-size:8.25pt;color:#800000">&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;</span></p></div><div><br></div><div>Thanks.</div><div><br>
</div><div>BR/ Christoffer Green</div><div><div></div><div class="h5"><div><br></div><div><br><br><div class="gmail_quote">On Wed, Dec 7, 2011 at 3:51 PM, Robert Maynard <span dir="ltr">&lt;<a href="mailto:robert.maynard@kitware.com" target="_blank">robert.maynard@kitware.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">3D widgets separate the logic of display from interaction be<br>
specifying two classes. The widget class it self handles the<br>
interaction, and a widget representation handles the how to display<br>
the widget. The documentation for vtkBoxWidget2 is a good starting<br>
place to understand the widget concept in VTK (<br>
<a href="http://www.vtk.org/doc/nightly/html/classvtkBoxWidget2.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkBoxWidget2.html</a> ).<br>
<br>
To register your custom made widget with ParaView follow the<br>
directions found in this email conversation:<br>
<a href="http://www.cmake.org/pipermail/paraview/2011-July/022122.html" target="_blank">http://www.cmake.org/pipermail/paraview/2011-July/022122.html</a><br>
<div><div></div><div><br>
<br>
<br>
On Tue, Dec 6, 2011 at 10:07 AM, Christoffer Green<br>
&lt;<a href="mailto:christoffer.green@gmail.com" target="_blank">christoffer.green@gmail.com</a>&gt; wrote:<br>
&gt; Hello!<br>
&gt;<br>
&gt; I have been trying to figure out how to write a 3d widget plugin for<br>
&gt; Paraview 3.12. By 3d widget I mean a widget in the 3d view like the already<br>
&gt; available ones such as for implicit planes or lines. I am however finding it<br>
&gt; hard to figure out what kind of things need to go into the CMakeLists.txt<br>
&gt; and what classes are needed and such since it appears to be somewhat<br>
&gt; complicated. Is there an example of such a plugin available somewhere?<br>
&gt;<br>
&gt; Thanks.<br>
&gt;<br>
&gt; BR/ Christoffer Green<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;<br>
<font color="#888888"><br>
<br>
<br>
--<br>
Robert Maynard<br>
</font></blockquote></div><br></div>
</div></div></blockquote></div><br></div>