<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Sharwari,<br>
<br>
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.<br>
<br>
- Amy<br>
<br>
Sharwari Mavalankar wrote:
<blockquote
 cite="mid2462f9f80610161638n44f0c3d6t98d8207f9bbf1d5e@mail.gmail.com"
 type="cite">
  <div>hi all,</div>
  <div>I am working on creating a UI using KWWidgets.</div>
  <div>I want to display a 3D volume in this UI from 2D BMP slices.</div>
  <div>The volume rendering is working fine without the UI.But I seem
to have some problem with the UI.</div>
  <div>It displays the UI window, but I cannot see the 3D volume inside
it.</div>
  <div>Addionally on running the program I get the following error on
the vtkoutput window.</div>
  <div>
  <p>ERROR: In C:\Program
Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWTkUtilities.cxx, line 221<br>
vtkKWApplication (0x03414370): <br>
    Script: <br>
vtkTkRenderWidget .1.10.18.21.22.25.100.102.104.107.108 -rw
Addr=03428710<br>
    Returned Error on line 1: <br>
invalid command name "vtkTkRenderWidget"<br>
Stack trace: <br>
invalid command name "vtkTkRenderWidget"<br>
    while executing<br>
"vtkTkRenderWidget .1.10.18.21.22.25.100.102.104.107.108 -rw
Addr=03428710"
  </p>
  <p><br>
ERROR: In C:\Program
Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWWidget.cxx, line 301<br>
vtkKWCoreWidget (0x03428990): Error creating the widget
.1.10.18.21.22.25.100.102.104.107.108 of type vtkTkRenderWidget:
invalid command name "vtkTkRenderWidget"
  </p>
  <p>ERROR: In C:\Program
Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWTkUtilities.cxx, line 221<br>
vtkKWApplication (0x03414370): <br>
    Script: <br>
grid .1.10.18.21.22.25.100.102.104.107.108 -row 0 -column 0 -sticky nsew<br>
    Returned Error on line 1: <br>
bad window path name ".1.10.18.21.22.25.100.102.104.107.108"<br>
Stack trace: <br>
bad window path name ".1.10.18.21.22.25.100.102.104.107.108"<br>
    while executing<br>
"grid .1.10.18.21.22.25.100.102.104.107.108 -row 0 -column 0 -sticky
nsew"</p>
  <p><br>
ERROR: In C:\Program
Files\KWWidgets\KWWidgets-HEAD-cvs\vtkKWApplication.cxx, line 999<br>
vtkKWApplication (0x03414370): TclTk error: Object named: vtkTemp44,
could not find requested method: ConfigureCallback<br>
or the method was called with incorrect arguments.</p>
  <p>Object named: vtkTemp44, could not find requested method:
ConfigureCallback<br>
or the method was called with incorrect arguments.</p>
  <p>    while executing<br>
"vtkTemp44 ConfigureCallback 900 668"<br>
    (command bound to event)</p>
  <p> Here is my code</p>
  <p>//The following code includes the vtk code and the KWWidgets code
for the user interface.<br>
#include "vtkRenderer.h"<br>
#include "vtkRenderWindow.h"<br>
#include "vtkRenderWindowInteractor.h"
  <br>
#include "vtkBMPReader.h"<br>
#include "vtkPolyDataMapper.h"<br>
#include "vtkActor.h"<br>
#include "vtkActor2D.h"<br>
#include "vtkImageActor.h"<br>
#include "vtkOutlineFilter.h
"<br>
#include "vtkCamera.h"<br>
#include "vtkProperty.h"<br>
#include "vtkPolyDataNormals.h"<br>
#include "vtkContourFilter.h"<br>
#include "vtkDataSetMapper.h"<br>
#include "
vtkImageMapper.h"<br>
#include "vtkVolumeMapper.h"<br>
#include "vtkVolumeRayCastMapper.h"<br>
#include "vtkVolumeRayCastCompositeFunction.h"<br>
#include "vtkPiecewiseFunction.h"<br>
#include "vtkVolumeProperty.h"<br>
#include "vtkColorTransferFunction.h"<br>
#include "vtkLight.h"<br>
#include "vtkFixedPointVolumeRayCastMapper.h"<br>
#include "vtkKWApplication.h
"<br>
#include "vtkKWWindowBase.h"<br>
#include "vtkKWRenderWidget.h"<br>
#include "vtkKWWindow.h"<br>
#include "vtkKWFrame.h"</p>
  <p>int main(int argc, char *argv[])<br>
{<br>
 <br>
 // Initialize Tcl.This is required otherwise the program crashes.<br>
 <br>
 Tcl_Interp *interp = vtkKWApplication::InitializeTcl(argc, argv,
&cerr);<br>
  if (!interp)<br>
  {<br>
  cerr << "Error: InitializeTcl failed" << endl ;<br>
  return 1;<br>
  }</p>
  <p><br>
//using bmp to read gray image<br>
 vtkBMPReader *reader = vtkBMPReader::New();<br>
 reader->SetFilePattern("%s%d.bmp");<br>
 <br>
  reader->SetFilePrefix("C:\\Images\\PositionCReal\\Depth5mm\\slice");
  <br>
 <br>
 <br>
 reader->SetDataExtent(0, 310, 0, 310, 1, 8);<br>
 reader->SetDataSpacing(1.0,1.0,20.0);<br>
 reader->SetDataOrigin(0.0, 0.0, 0.0);<br>
 reader->Update();<br>
 <br>
  <br>
 //vtkImageData *finalImg = reader->GetOutput();
  <br>
 <br>
  <br>
 vtkPiecewiseFunction *tfun = vtkPiecewiseFunction::New();</p>
  <p>//The following lines of code displays the copper target for
position A and C<br>
 tfun->AddPoint(128,0.009);<br>
 tfun->AddPoint(180,1.0);<br>
 tfun->AddPoint(200,1.0);<br>
 tfun->AddPoint(255,0.0009);</p>
  <p>  vtkFixedPointVolumeRayCastMapper *volumeMapper =
vtkFixedPointVolumeRayCastMapper::New();<br>
 <br>
 //volumeMapper->SetSampleDistance(1.0);</p>
  <p> //volumeMapper->SetInput(finalImg);<br>
 volumeMapper->SetInput(reader->GetOutput());</p>
  <p> vtkVolumeProperty *volumeProperty = vtkVolumeProperty::New();</p>
  <p>  //show gray volume<br>
 volumeProperty->IndependentComponentsOff();<br>
 volumeProperty->SetScalarOpacity(tfun);<br>
  <br>
  <br>
 <br>
 vtkVolume *newvol = vtkVolume::New();<br>
 newvol->SetMapper(volumeMapper);<br>
 newvol->SetProperty(volumeProperty);</p>
  <p> vtkOutlineFilter *outline = vtkOutlineFilter::New();<br>
 outline->SetInput((vtkDataSet *) reader->GetOutput());</p>
  <p> vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();<br>
 outlineMapper->SetInput(outline->GetOutput());</p>
  <p> vtkActor *outlineActor = vtkActor::New();<br>
 outlineActor->SetMapper(outlineMapper);<br>
 outlineActor->GetProperty()->SetColor(1,1,1);</p>
  <p> </p>
  <p> //Create a KWWidgets Application<br>
 vtkKWApplication *app = vtkKWApplication::New();<br>
 app->SetRegistryLevel(0);<br>
 app->PromptBeforeExitOff();</p>
  <p>   <br>
 vtkKWTopLevel *top = vtkKWTopLevel::New();<br>
 top->SetApplication(app);<br>
 top->Create(); <br>
 </p>
  <p> //Add a window for the application<br>
 vtkKWWindow *win = vtkKWWindow::New();<br>
 app->AddWindow(win);<br>
 win->SecondaryPanelVisibilityOff();<br>
 win->MainPanelVisibilityOff();<br>
 win->Create();</p>
  <p><br>
 vtkKWRenderWidget *renderwidget = vtkKWRenderWidget::New();<br>
 renderwidget->SetParent(win->GetViewFrame());<br>
 renderwidget->Create();<br>
 renderwidget->AddViewProp(newvol);<br>
 renderwidget->CornerAnnotationVisibilityOn();
  <br>
 app->Script("pack %s -expand y -fill both -anchor c -expand
y",renderwidget->GetWidgetName());<br>
 <br>
 win->Display();<br>
 app->Start();</p>
  <p> <br>
 <br>
 win->Display();<br>
 app->Start();</p>
  <p><br>
 return(0);</p>
  <p>}<br>
  </p>
  <p>Can someone please help me out.</p>
  <p>Thanks </p>
  <p>Sharwari </p>
  <p> </p>
  <p><br>
 </p>
  </div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
This is the private VTK discussion list. 
Please keep messages on-topic. Check the FAQ at: <a class="moz-txt-link-freetext" href="http://www.vtk.org/Wiki/VTK_FAQ">http://www.vtk.org/Wiki/VTK_FAQ</a>
Follow this link to subscribe/unsubscribe:
<a class="moz-txt-link-freetext" href="http://www.vtk.org/mailman/listinfo/vtkusers">http://www.vtk.org/mailman/listinfo/vtkusers</a>
  </pre>
</blockquote>
</body>
</html>