<!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>
I'm copying this back to the vtkusers list so other people can see the
resolution of your problem.<br>
<br>
- Amy<br>
<br>
Sharwari Mavalankar wrote:
<blockquote
 cite="mid2462f9f80610170846t83fdfb8xbb2a9e20a226e21d@mail.gmail.com"
 type="cite">
  <div>hi Amy,</div>
  <div>Thanks for your email.</div>
  <div>yes I have turned both the CMAKE variables to bool value =ON.</div>
  <div>But I realized that there were some .dll and .lib files that had
to be updated.</div>
  <div>I did that and now that error is gone.</div>
  <div>but thanks anyways!</div>
  <div>Sharwari<br>
  <br>
  <span class="gmail_quote">On 10/17/06, <b class="gmail_sendername">Amy
Squillacote</b> &lt;<a href="mailto:amy.squillacote@kitware.com">amy.squillacote@kitware.com</a>&gt;
wrote:</span></div>
  <div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
    <div text="#000000" bgcolor="#ffffff">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="http://mid2462f9f80610161638n44f0c3d6t98d8207f9bbf1d5e@mail.gmail.com"
 type="cite">
      <div><span class="e" id="q_10e563460cd80529_1">
      <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>
&nbsp;&nbsp;&nbsp; Script: <br>
vtkTkRenderWidget .1.10.18.21.22.25.100.102.104.107.108 -rw
Addr=03428710<br>
&nbsp;&nbsp;&nbsp; Returned Error on line 1: <br>
invalid command name "vtkTkRenderWidget"<br>
Stack trace: <br>
invalid command name "vtkTkRenderWidget"<br>
&nbsp;&nbsp;&nbsp; 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>
&nbsp;&nbsp;&nbsp; Script: <br>
grid .1.10.18.21.22.25.100.102.104.107.108 -row 0 -column 0 -sticky nsew<br>
&nbsp;&nbsp;&nbsp; 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>
&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp; while executing<br>
"vtkTemp44 ConfigureCallback 900 668"<br>
&nbsp;&nbsp;&nbsp; (command bound to event)</p>
      <p>&nbsp;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>
&nbsp;<br>
&nbsp;// Initialize Tcl.This is required otherwise the program crashes.<br>
&nbsp;<br>
&nbsp;Tcl_Interp *interp = vtkKWApplication::InitializeTcl(argc, argv,
&amp;cerr);<br>
&nbsp; if (!interp)<br>
&nbsp; {<br>
&nbsp; cerr &lt;&lt; "Error: InitializeTcl failed" &lt;&lt; endl ;<br>
&nbsp; return 1;<br>
&nbsp; }</p>
      <p><br>
//using bmp to read gray image<br>
&nbsp;vtkBMPReader *reader = vtkBMPReader::New();<br>
&nbsp;reader-&gt;SetFilePattern("%s%d.bmp");<br>
&nbsp;<br>
&nbsp;&nbsp;reader-&gt;SetFilePrefix("C:\\Images\\PositionCReal\\Depth5mm\\slice");
      <br>
&nbsp;<br>
&nbsp;<br>
&nbsp;reader-&gt;SetDataExtent(0, 310, 0, 310, 1, 8);<br>
&nbsp;reader-&gt;SetDataSpacing(1.0,1.0,20.0);<br>
&nbsp;reader-&gt;SetDataOrigin(0.0, 0.0, 0.0);<br>
&nbsp;reader-&gt;Update();<br>
&nbsp;<br>
&nbsp; <br>
&nbsp;//vtkImageData *finalImg = reader-&gt;GetOutput(); <br>
&nbsp;<br>
&nbsp; <br>
&nbsp;vtkPiecewiseFunction *tfun = vtkPiecewiseFunction::New();</p>
      <p>//The following lines of code displays the copper target for
position A and C<br>
&nbsp;tfun-&gt;AddPoint(128,0.009);<br>
&nbsp;tfun-&gt;AddPoint(180,1.0);<br>
&nbsp;tfun-&gt;AddPoint(200,1.0);<br>
&nbsp;tfun-&gt;AddPoint(255,0.0009);</p>
      <p>&nbsp;&nbsp;vtkFixedPointVolumeRayCastMapper *volumeMapper =
vtkFixedPointVolumeRayCastMapper::New();<br>
&nbsp;<br>
&nbsp;//volumeMapper-&gt;SetSampleDistance(1.0);</p>
      <p>&nbsp;//volumeMapper-&gt;SetInput(finalImg);<br>
&nbsp;volumeMapper-&gt;SetInput(reader-&gt;GetOutput());</p>
      <p>&nbsp;vtkVolumeProperty *volumeProperty = vtkVolumeProperty::New();</p>
      <p>&nbsp; //show gray volume<br>
&nbsp;volumeProperty-&gt;IndependentComponentsOff();<br>
&nbsp;volumeProperty-&gt;SetScalarOpacity(tfun);<br>
&nbsp;&nbsp;<br>
      <br>
&nbsp;<br>
&nbsp;vtkVolume *newvol = vtkVolume::New();<br>
&nbsp;newvol-&gt;SetMapper(volumeMapper);<br>
&nbsp;newvol-&gt;SetProperty(volumeProperty);</p>
      <p>&nbsp;vtkOutlineFilter *outline = vtkOutlineFilter::New();<br>
&nbsp;outline-&gt;SetInput((vtkDataSet *) reader-&gt;GetOutput());</p>
      <p>&nbsp;vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();<br>
&nbsp;outlineMapper-&gt;SetInput(outline-&gt;GetOutput());</p>
      <p>&nbsp;vtkActor *outlineActor = vtkActor::New();<br>
&nbsp;outlineActor-&gt;SetMapper(outlineMapper);<br>
&nbsp;outlineActor-&gt;GetProperty()-&gt;SetColor(1,1,1);</p>
      <p>&nbsp;</p>
      <p>&nbsp;//Create a KWWidgets Application<br>
&nbsp;vtkKWApplication *app = vtkKWApplication::New();<br>
&nbsp;app-&gt;SetRegistryLevel(0);<br>
&nbsp;app-&gt;PromptBeforeExitOff();</p>
      <p>&nbsp;&nbsp;&nbsp;<br>
&nbsp;vtkKWTopLevel *top = vtkKWTopLevel::New();<br>
&nbsp;top-&gt;SetApplication(app);<br>
&nbsp;top-&gt;Create(); <br>
&nbsp;</p>
      <p>&nbsp;//Add a window for the application<br>
&nbsp;vtkKWWindow *win = vtkKWWindow::New();<br>
&nbsp;app-&gt;AddWindow(win);<br>
&nbsp;win-&gt;SecondaryPanelVisibilityOff();<br>
&nbsp;win-&gt;MainPanelVisibilityOff();<br>
&nbsp;win-&gt;Create();</p>
      <p><br>
&nbsp;vtkKWRenderWidget *renderwidget = vtkKWRenderWidget::New();<br>
&nbsp;renderwidget-&gt;SetParent(win-&gt;GetViewFrame());<br>
&nbsp;renderwidget-&gt;Create();<br>
&nbsp;renderwidget-&gt;AddViewProp(newvol);<br>
&nbsp;renderwidget-&gt;CornerAnnotationVisibilityOn(); <br>
&nbsp;app-&gt;Script("pack %s -expand y -fill both -anchor c -expand
y",renderwidget-&gt;GetWidgetName());<br>
&nbsp;<br>
&nbsp;win-&gt;Display();<br>
&nbsp;app-&gt;Start();</p>
      <p>&nbsp;<br>
&nbsp;<br>
&nbsp;win-&gt;Display();<br>
&nbsp;app-&gt;Start();</p>
      <p><br>
&nbsp;return(0);</p>
      <p>}<br>
      </p>
      <p>Can someone please help me out.</p>
      <p>Thanks&nbsp;</p>
      <p>Sharwari&nbsp;</p>
      <p>&nbsp;</p>
      <p><br>
&nbsp;</p>
      </div>
      </span></div>
      <pre><hr size="4" width="90%">
_______________________________________________
This is the private VTK discussion list. 
Please keep messages on-topic. Check the FAQ at: <a
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a>
Follow this link to subscribe/unsubscribe:
<a onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a>
  </pre>
    </blockquote>
    </div>
  </blockquote>
  </div>
  <br>
</blockquote>
</body>
</html>