[vtkusers] Problem with creating a UI using KWWidgets

Amy Squillacote amy.squillacote at kitware.com
Tue Oct 17 11:56:45 EDT 2006


Hi Sharwari,

I'm copying this back to the vtkusers list so other people can see the 
resolution of your problem.

- Amy

Sharwari Mavalankar wrote:
> hi Amy,
> Thanks for your email.
> yes I have turned both the CMAKE variables to bool value =ON.
> But I realized that there were some .dll and .lib files that had to be 
> updated.
> I did that and now that error is gone.
> but thanks anyways!
> Sharwari
>
> On 10/17/06, *Amy Squillacote* <amy.squillacote at kitware.com 
> <mailto:amy.squillacote at kitware.com>> wrote:
>
>     Hi Sharwari,
>
>     In the VTK that you're using with KWWidgets, did you turn on both
>     of the following CMake variables: VTK_USE_RENDERING and
>     VTK_WRAP_TCL? Both of them are required in order for
>     vtkTkRenderWidget to be built.
>
>     - Amy
>
>     Sharwari Mavalankar wrote:
>>     hi all,
>>     I am working on creating a UI using KWWidgets.
>>     I want to display a 3D volume in this UI from 2D BMP slices.
>>     The volume rendering is working fine without the UI.But I seem to
>>     have some problem with the UI.
>>     It displays the UI window, but I cannot see the 3D volume inside it.
>>     Addionally on running the program I get the following error on
>>     the vtkoutput window.
>>
>>     ERROR: In C:\Program
>>     Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWTkUtilities.cxx, line 221
>>     vtkKWApplication (0x03414370):
>>         Script:
>>     vtkTkRenderWidget .1.10.18.21.22.25.100.102.104.107.108 -rw
>>     Addr=03428710
>>         Returned Error on line 1:
>>     invalid command name "vtkTkRenderWidget"
>>     Stack trace:
>>     invalid command name "vtkTkRenderWidget"
>>         while executing
>>     "vtkTkRenderWidget .1.10.18.21.22.25.100.102.104.107.108 -rw
>>     Addr=03428710"
>>
>>
>>     ERROR: In C:\Program
>>     Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWWidget.cxx, line 301
>>     vtkKWCoreWidget (0x03428990): Error creating the widget
>>     .1.10.18.21.22.25.100.102.104.107.108 of type vtkTkRenderWidget:
>>     invalid command name "vtkTkRenderWidget"
>>
>>     ERROR: In C:\Program
>>     Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWTkUtilities.cxx, line 221
>>     vtkKWApplication (0x03414370):
>>         Script:
>>     grid .1.10.18.21.22.25.100.102.104.107.108 -row 0 -column 0
>>     -sticky nsew
>>         Returned Error on line 1:
>>     bad window path name ".1.10.18.21.22.25.100.102.104.107.108"
>>     Stack trace:
>>     bad window path name ".1.10.18.21.22.25.100.102.104.107.108"
>>         while executing
>>     "grid .1.10.18.21.22.25.100.102.104.107.108 -row 0 -column 0
>>     -sticky nsew"
>>
>>
>>     ERROR: In C:\Program
>>     Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWApplication.cxx, line 999
>>     vtkKWApplication (0x03414370): TclTk error: Object named:
>>     vtkTemp44, could not find requested method: ConfigureCallback
>>     or the method was called with incorrect arguments.
>>
>>     Object named: vtkTemp44, could not find requested method:
>>     ConfigureCallback
>>     or the method was called with incorrect arguments.
>>
>>         while executing
>>     "vtkTemp44 ConfigureCallback 900 668"
>>         (command bound to event)
>>
>>      Here is my code
>>
>>     //The following code includes the vtk code and the KWWidgets code
>>     for the user interface.
>>     #include "vtkRenderer.h"
>>     #include "vtkRenderWindow.h"
>>     #include "vtkRenderWindowInteractor.h"
>>     #include "vtkBMPReader.h"
>>     #include "vtkPolyDataMapper.h"
>>     #include "vtkActor.h"
>>     #include "vtkActor2D.h"
>>     #include "vtkImageActor.h"
>>     #include "vtkOutlineFilter.h "
>>     #include "vtkCamera.h"
>>     #include "vtkProperty.h"
>>     #include "vtkPolyDataNormals.h"
>>     #include "vtkContourFilter.h"
>>     #include "vtkDataSetMapper.h"
>>     #include " vtkImageMapper.h"
>>     #include "vtkVolumeMapper.h"
>>     #include "vtkVolumeRayCastMapper.h"
>>     #include "vtkVolumeRayCastCompositeFunction.h"
>>     #include "vtkPiecewiseFunction.h"
>>     #include "vtkVolumeProperty.h"
>>     #include "vtkColorTransferFunction.h"
>>     #include "vtkLight.h"
>>     #include "vtkFixedPointVolumeRayCastMapper.h"
>>     #include "vtkKWApplication.h "
>>     #include "vtkKWWindowBase.h"
>>     #include "vtkKWRenderWidget.h"
>>     #include "vtkKWWindow.h"
>>     #include "vtkKWFrame.h"
>>
>>     int main(int argc, char *argv[])
>>     {
>>      
>>      // Initialize Tcl.This is required otherwise the program crashes.
>>      
>>      Tcl_Interp *interp = vtkKWApplication::InitializeTcl(argc, argv,
>>     &cerr);
>>       if (!interp)
>>       {
>>       cerr << "Error: InitializeTcl failed" << endl ;
>>       return 1;
>>       }
>>
>>
>>     //using bmp to read gray image
>>      vtkBMPReader *reader = vtkBMPReader::New();
>>      reader->SetFilePattern("%s%d.bmp");
>>      
>>       reader->SetFilePrefix("C:\\Images\\PositionCReal\\Depth5mm\\slice");
>>
>>      
>>      
>>      reader->SetDataExtent(0, 310, 0, 310, 1, 8);
>>      reader->SetDataSpacing(1.0,1.0,20.0);
>>      reader->SetDataOrigin(0.0, 0.0, 0.0);
>>      reader->Update();
>>      
>>      
>>      //vtkImageData *finalImg = reader->GetOutput();
>>      
>>      
>>      vtkPiecewiseFunction *tfun = vtkPiecewiseFunction::New();
>>
>>     //The following lines of code displays the copper target for
>>     position A and C
>>      tfun->AddPoint(128,0.009);
>>      tfun->AddPoint(180,1.0);
>>      tfun->AddPoint(200,1.0);
>>      tfun->AddPoint(255,0.0009);
>>
>>       vtkFixedPointVolumeRayCastMapper *volumeMapper =
>>     vtkFixedPointVolumeRayCastMapper::New();
>>      
>>      //volumeMapper->SetSampleDistance(1.0);
>>
>>      //volumeMapper->SetInput(finalImg);
>>      volumeMapper->SetInput(reader->GetOutput());
>>
>>      vtkVolumeProperty *volumeProperty = vtkVolumeProperty::New();
>>
>>       //show gray volume
>>      volumeProperty->IndependentComponentsOff();
>>      volumeProperty->SetScalarOpacity(tfun);
>>       
>>
>>      
>>      vtkVolume *newvol = vtkVolume::New();
>>      newvol->SetMapper(volumeMapper);
>>      newvol->SetProperty(volumeProperty);
>>
>>      vtkOutlineFilter *outline = vtkOutlineFilter::New();
>>      outline->SetInput((vtkDataSet *) reader->GetOutput());
>>
>>      vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();
>>      outlineMapper->SetInput(outline->GetOutput());
>>
>>      vtkActor *outlineActor = vtkActor::New();
>>      outlineActor->SetMapper(outlineMapper);
>>      outlineActor->GetProperty()->SetColor(1,1,1);
>>
>>      
>>
>>      //Create a KWWidgets Application
>>      vtkKWApplication *app = vtkKWApplication::New();
>>      app->SetRegistryLevel(0);
>>      app->PromptBeforeExitOff();
>>
>>        
>>      vtkKWTopLevel *top = vtkKWTopLevel::New();
>>      top->SetApplication(app);
>>      top->Create();
>>      
>>
>>      //Add a window for the application
>>      vtkKWWindow *win = vtkKWWindow::New();
>>      app->AddWindow(win);
>>      win->SecondaryPanelVisibilityOff();
>>      win->MainPanelVisibilityOff();
>>      win->Create();
>>
>>
>>      vtkKWRenderWidget *renderwidget = vtkKWRenderWidget::New();
>>      renderwidget->SetParent(win->GetViewFrame());
>>      renderwidget->Create();
>>      renderwidget->AddViewProp(newvol);
>>      renderwidget->CornerAnnotationVisibilityOn();
>>      app->Script("pack %s -expand y -fill both -anchor c -expand
>>     y",renderwidget->GetWidgetName());
>>      
>>      win->Display();
>>      app->Start();
>>
>>      
>>      
>>      win->Display();
>>      app->Start();
>>
>>
>>      return(0);
>>
>>     }
>>
>>     Can someone please help me out.
>>
>>     Thanks 
>>
>>     Sharwari 
>>
>>      
>>
>>
>>      
>>
>>     ------------------------------------------------------------------------
>>
>>     _______________________________________________
>>     This is the private VTK discussion list. 
>>     Please keep messages on-topic. Check the 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/20061017/f779f201/attachment.htm>


More information about the vtkusers mailing list