[vtkusers] synchronous update between vtkImagePlaneWidget and vtkResliceCursorWidget
Dean Inglis
inglis.dl at gmail.com
Mon Aug 5 11:42:27 EDT 2013
Hi Mengda,
I am not familiar enough with the reslice cursor widget classes to advise
further.
I suggest you read the class documentation and do some experimenting to
figure
out a solution, perhaps starting with the events that the widget fires
during interaction.
Dean
On Sun, Aug 4, 2013 at 2:06 AM, Mengda Wu <wumengda at gmail.com> wrote:
> Hi Dean,
>
> I am trying your solution for this problem. But what exactly should I
> do for
> /** do something with ipwidget and rcwidget when the ipwidget fires
> a
> an interaction event signal */?
>
> For vtkImagePlaneWidget, we have UpdatePlacement() as done in
> Examples\GUI\Qt\FourPaneViewer\QtVTKRenderWindows.cxx. But we don't seem to
> have a similar method for vtkResliceCursorWidget. Could you please give a
> more detailed answer?
>
> Thanks,
> Mengda
>
>
> On Mon, Jun 24, 2013 at 10:44 AM, Dean Inglis <inglis.dl at gmail.com> wrote:
>
>> Hi,
>>
>> try the following code snippet. Basically, create a callback class
>> wherein
>> you decide how to update the reslice cursor widget from the image plane
>> widget.
>> Add the callback to listen for the image plane widget's InteractionEvent.
>>
>> regards,
>> Dean
>>
>>
>> class myCallback : public vtkCommand
>> {
>> public:
>> static myCallback *New() {
>> return new myCallback; }
>>
>> void Execute( vtkObject* vtkNotUsed(caller), unsigned long
>> vtkNotUsed(event),
>> void * vtkNotUsed(callData) )
>> {
>> /** do something with ipwidget and rcwidget when the ipwidget fires
>> a
>> an interaction event signal */
>> }
>>
>> myCallback():ipwidget( 0 ), rcwidget( 0 ){}
>> ~myCallback(){ this->ipwidget= 0; this->rcwidget = 0; }
>> vtkImagePlaneWidget* ipwidget;
>> vtkResliceCursorWidget* rcwidget;
>> };
>>
>>
>> void myclass::some_setup_method()
>> {
>> vtkSmartPointer<myCallback> cbk = vtkSmartPointer<myCallback>::New();
>> cbk->ipwidget = this->ipwidget;
>> cbk->rcwidget = this->rcwidget;
>> this->ipwidget->AddObserver( vtkCommand::InteractionEvent, cbk );
>> }
>>
>>
>>
>> On Thu, Jun 20, 2013 at 10:15 PM, nil_debug <ljp19890525 at 163.com> wrote:
>>
>>> **
>>> Hello,
>>> Is anyone can help me? Now I have defined a vtkImagePlaneWidget and a
>>> vtkResliceCursorWidget, I would like to when dragging the
>>> vtkImagePlaneWidget the vtkResliceCursorWidget can move.In a word I
>>> don't know how to a "AddObserver" for the vtkImagePlaneWidget from
>>> the vtkResliceCursorWidget! I do know I should define a "myCallBack",but
>>> How?
>>> Will be deeply grateful !
>>>
>>> ------------------------------
>>> nil_debug
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130805/658d0eef/attachment.htm>
More information about the vtkusers
mailing list