[vtkusers] PlaneWidget

James Robinson j.robinson at kepler-systems.com
Tue Aug 3 20:37:55 EDT 2004


John,

As we say in this part of the world "You're a star!!". Well done. Pity the
other issue (quad hex behaviour) isn't as clear cut.

Getting late - I know I should be in bed at this hour. Surely you also have
better things to be doing.

Regards,

Jim

James C Robinson, PhD, Chartered Engineer,
+     42 Rivergrove,
         Glanmire,
         Co. Cork,
         Eire
'     +353 21 4822028
         +353 87 2393010
6      +353 21 4822028
-    j.robinson at kepler-systems.com 

-----Original Message-----
From: John Biddiscombe [mailto:jbiddiscombe at skippingmouse.co.uk] 
Sent: 04 August 2004 01:30
To: j.robinson at kepler-systems.com; Vtk Users
Subject: Re: [vtkusers] PlaneWidget

Jim,

difficult to tell from the snippet, but a good guess would be that
initializing with this...

// Note pPlane is the pointer to the implicit function that is used by the
vtkCutter
            pPlaneWidget->GetPlane(pPlane) ;

is not good enough, after InteractionEndEvent, do that every time, then on
each end event, you call getplane and the implicit plane should be updated.
Apologies if I've misunderstood.

JB

From: "James Robinson" <j.robinson at kepler-systems.com>
To: "Vtk Users" <vtkusers at vtk.org>
Sent: Tuesday, August 03, 2004 11:15 PM
Subject: [vtkusers] PlaneWidget


> Dear all,
>
>
>
> I am trying to use the vtkPlaneWidget object to try control a vtkCutter
> object (see earlier query). The essential part of the code is:
>
>
>
> void vtkMyCallback::Execute(vtkObject *caller, unsigned long, void*)
>
> {
>
>   CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd() ;
>
>   if (pMainFrame==NULL) return ;
>
>   CSampleView* pVTKView =
> (CSampleView*)(pMainFrame->MDIGetActive()->GetActiveView()) ;
>
>   if (pVTKView == NULL) AfxMessageBox("NULL") ; ;
>
>   if (pVTKView == NULL) return ;
>
>   pVTKView->GetDocument()->UpdateXSection() ; // Part of what this does is
> update pPlane
>
> }
>
> In document class definition:
>
>   vtkPlaneWidget            *pPlaneWidget ;
>
>   vtkMyCallback             *pCallback ;
>
>
>
>
>
> IN document constructor:
>
>   this->pPlaneWidget = vtkPlaneWidget::New() ;
>
>   this->pCallback    = vtkMyCallback::New();
>
>
>
>
>
> In Open Document
>
>             pPlaneWidget->SetInteractor(GetView()->Interactor);
>
>             vtkFloatingPointType bounds[6] ;
>
>             vtkFloatingPointType center[3] ;
>
>             GetView()->Renderer->ComputeVisiblePropBounds(bounds) ;
>
>             center[0] = (bounds[0] + bounds[1])/2.0;
>
>             center[1] = (bounds[2] + bounds[3])/2.0;
>
>             center[2] = (bounds[4] + bounds[5])/2.0;
>
> // Note pPlane is the pointer to the implicit function that is used by the
> vtkCutter
>
>             pPlaneWidget->GetPlane(pPlane) ;
>
>             pPlaneWidget->SetResolution(10) ;
>
>             pPlaneWidget->PlaceWidget();
>
>             pPlaneWidget->NormalToYAxisOn() ;
>
>             pPlaneWidget->AddObserver(vtkCommand::InteractionEvent,
> pCallback);
>
>
>
> The code doesn't crash, but the movement of the vtkPlaneWidget has no
effect
> on the vtkPlane  (pPlane). Any ideas??
>
>
>
> Regards,
>
>
>
> Jim
>
>
>
>
>
>
>
> James C Robinson, PhD, Chartered Engineer,
>
> *     42 Rivergrove,
>
>          Glanmire,
>
>          Co. Cork,
>
>          Eire
>
> '     +353 21 4822028
>
>          +353 87 2393010
>
> 6      +353 21 4822028
>
> *    j.robinson at kepler-systems.com
>
>
>
>


----------------------------------------------------------------------------
----


> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
<http://public.kitware.com/cgi-bin/vtkfaq>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>




More information about the vtkusers mailing list