<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:Arial;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:Arial;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:Arial;
        color:#993366;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi Frank,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I was just working on this. You have to
set both the parent ID and the window ID, as shown in the example in VTK/GUISupport/MFC
directory. That code shows all of the steps you have to do. I shouldn&#8217;t
really send files on the mailing list, so I&#8217;ll send them to you
separately.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Drew<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Frank Gao
[mailto:gao@mdimaging.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, March 20, 2006 12:41
PM<br>
<b><span style='font-weight:bold'>To:</span></b> Andrew J. Dolgert;
Vtkusers@Vtk.Org; Thomas Lambertz; Xiaofeng Zhao<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [vtkusers] VTK and
GUI - vtkRenderWindow - Virtual or Physical?</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Hi All,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Thanks for the replies.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Both Drew and Tom said were what I was
trying to do. Separating UI and internal code is my basic intent, and also I am
not trying to use the .Net wrapper for the whole VTK.&nbsp; However, I am still
struggling to get it work. The error I received is that some object is busy,
which made me think that there are conflicts somewhere.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>To prove the concept, I am trying to
have a C# application to view a single DICOM file. The code has three layers:
C# code for UI, C++ wrapper to a C++ class, and then the C++ class making VTK
calls.&nbsp; Please see the code below.&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>I would very much appreciate if you
would like to help correct the approach or provide some sample code.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Frank<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>C# UI layer<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=blue
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:blue'>private</span></font><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'> </span></font><font
size=2 color=blue face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:blue'>void</span></font><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'> openFileDialog1_FileOk(</span></font><font size=2 color=blue
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:blue'>object</span></font><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'> sender,
System.ComponentModel.CancelEventArgs e)</span></font><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>{</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wrapper.Open (</span></font><font size=2 color=blue
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:blue'>this</span></font><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'>.openFileDialog1.FileName,
</span></font><font size=2 color=blue face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>this</span></font><font
size=2 color="#993366" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#993366'>.Handle);</span></font><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=2 color=green
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:green'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'>}</span></font><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:black'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>Then my C++ wrapper to VTK code<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=blue
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:blue'>void</span></font><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'> Wrapper::Open
(String *filename, IntPtr wnd)</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>{</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=2 color=blue face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>char</span></font><font
size=2 color="#993366" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#993366'> </span></font><font size=2
color=blue face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:blue'>__nogc</span></font><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'>* pStr = </span></font><font
size=2 color=blue face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:blue'>static_cast</span></font><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&lt;</span></font><font size=2 color=blue face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>char</span></font><font
size=2 color="#993366" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#993366'>*&gt;(Marshal::StringToHGlobalAnsi(filename).ToPointer());</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m-&gt;Open (pStr, (HWND)wnd.ToPointer());</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>}</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>The last one is my C++ code:<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=2 color=blue face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>void</span></font><font
size=2 color="#993366" face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New";color:#993366'> Dicomer::Open (</span></font><font
size=2 color=blue face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:blue'>char</span></font><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'> *filename, HWND whnd)</span></font><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkDataSetReader-&gt;SetFileName(filename);</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkDataSetMapper-&gt;SetInput(pvtkDataSetReader-&gt;GetOutput());</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkActor-&gt;SetMapper(pvtkDataSetMapper);</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkRenderer&nbsp;&nbsp;&nbsp; = vtkRenderer::New();</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkOGLWindow = vtkWin32OpenGLRenderWindow::New();</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkOGLWindow-&gt;SetParentId((HWND)whnd);</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkRenderer -&gt;SetRenderWindow (pvtkOGLWindow);</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkRenderer-&gt;SetBackground(0.0,0.0,0.4);</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkRenderer-&gt;AddActor((pvtkActor));</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkRenderer-&gt;ResetCamera();</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pvtkOGLWindow-&gt;Render();</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color="#993366" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#993366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></font><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:black'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b> Thomas Lambertz
[mailto:thomas@hexerei-software.de]<br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, March 18, 2006
10:51 AM<br>
<b><span style='font-weight:bold'>To:</span></b> vtkusers@vtk.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [vtkusers] VTK and
GUI - vtkRenderWindow - Virtual or Physical?</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color="#993366"
face="Times New Roman"><span style='font-size:10.0pt;color:#993366'><br>
Hello Frank,<br>
<br>
i am far away from being such an expert - but - maybe me tries are<br>
helpful for you.<br>
<br>
I splittet my application into two parts. GUI runs as a managed Win Form<br>
and the numerical parts are done in a separate DLL which is native-x86.<br>
And - to come closer to your question - yes - i have not found problems<br>
at this time by letting VTK render into a Forms-Picturebox.<br>
<br>
I know that VS 2003/2005 can handle managed / unmanaged Code in the same<br>
executable but i didnt tried this way ( splitting has some advantages<br>
for me ).<br>
<br>
Hope this helps,<br>
Tom<br>
<br>
<br>
</span></font><span class=EmailStyle21><font size=2 color="#993366" face=Arial><span
style='font-size:10.0pt'><o:p></o:p></span></font></span></p>

<p class=MsoNormal><font size=2 color=black face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;color:black'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b> Andrew J. Dolgert
[mailto:ajd27@cornell.edu]<br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, March 18, 2006
7:10 AM<br>
<b><span style='font-weight:bold'>To:</span></b> gao@mdimaging.com;
Vtkusers@Vtk.Org<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [vtkusers] VTK and
GUI - vtkRenderWindow - Virtual or Physical?</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Your idea is interesting. It might apply
to attempts to use VTK as a server for <st1:place w:st="on"><st1:City w:st="on">AJAX</st1:City></st1:place>.
For Windows Forms, however, the current setup works fine because the
vtkWin32OpenGLRenderWindow will happily receive events from and draw into the
Frame of a Windows Form because Windows Forms expose their HWND handle.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Drew Dolgert<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;<o:p></o:p></span></font></p>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="Times New Roman"><span style='font-size:12.0pt;color:black'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:black;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:black'> vtkusers-bounces+ajd27=cornell.edu@vtk.org
[mailto:vtkusers-bounces+ajd27=cornell.edu@vtk.org] <b><span style='font-weight:
bold'>On Behalf Of </span></b>Frank Gao<br>
<b><span style='font-weight:bold'>Sent:</span></b> Friday, March 17, 2006 5:24
PM<br>
<b><span style='font-weight:bold'>To:</span></b> Vtkusers@Vtk.Org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [vtkusers] VTK and GUI -
vtkRenderWindow - Virtual or Physical?</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'>&nbsp;</span></font><o:p></o:p></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>Hi Experts,<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>I have a question about
vtkRenderWindow, and vtkOpenGLRenderWindow. Are such objects virtual, or have
to be physical by setting the parent window ID? <o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>The requirement behind this question
is here. Suppose an application must separate its window display and
interaction from its internal code. The application needs to set a virtual
vtkOpenGLRenderWindow with interactors that are also virtual, and binding them
with a physical window whenever necessary. Simply put, make
vtkOpenGLRenderWindow and the interactor purely &#8216;server&#8217; objects to
return bitmaps (or video streams?). These server objects are fully functional
and independent of physical implementation. By doing this, the application
never needs to get into vtk code to change files such as vtkMFCWindow. <o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>A real scenario for this. If this is
possible, with a .Net wrapper, one can easily use Win Forms as render window.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>It would be tremendously helpful if
the answer is YES, or can be YES. Your replies are highly appreciated.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>Thanks,<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>Frank Gao<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle19><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=2 color=black
face=Arial><span style='font-size:10.0pt'>&nbsp;</span></font><o:p></o:p></span></p>

</div>

</body>

</html>