<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:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" 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 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Malgun Gothic";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:DotumChe;
        panose-1:2 11 6 9 0 1 1 1 1 1;}
@font-face
        {font-family:"\@DotumChe";
        panose-1:2 11 6 9 0 1 1 1 1 1;}
@font-face
        {font-family:"\@Malgun Gothic";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Dear All,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>How are you doing?<o:p></o:p></p><p class=MsoNormal>When using vtkPlaneWidget, no matter how I define the plane, the initial plan of the vtkPlaneWidget does not change at all. I used three points to generate the plane and change the plane by changing the locations of the three points. Here is my code:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe;color:blue'>class</span><span style='font-size:10.0pt;font-family:DotumChe'> vtkTIPWCallback : <span style='color:blue'>public</span> vtkCommand<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'>{<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe;color:blue'>public</span><span style='font-size:10.0pt;font-family:DotumChe'>:<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>static</span> vtkTIPWCallback *New() <o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> { <span style='color:blue'>return</span> <span style='color:blue'>new</span> vtkTIPWCallback; }<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>virtual</span> <span style='color:blue'>void</span> Execute(vtkObject *caller, <span style='color:blue'>unsigned</span> <span style='color:blue'>long</span>, <span style='color:blue'>void</span>*)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> {<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:green'>//vtkImplicitPlaneWidget *planeWidget = <o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:green'>// reinterpret_cast<vtkImplicitPlaneWidget*>(caller);<o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> vtkPlaneWidget *planeWidget = <o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>reinterpret_cast</span><vtkPlaneWidget*>(caller);<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->GetPlane(<span style='color:blue'>this</span>->Plane);</span><span style='font-size:10.0pt;font-family:DotumChe'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> }<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'>}<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe;color:blue'>int</span><span style='font-size:10.0pt;font-family:DotumChe'> main (<span style='color:blue'>int</span> argc, <span style='color:blue'>char</span> *argv[])<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'>{</span><span style='font-size:10.0pt;font-family:DotumChe'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'>vtkPlane *plane = vtkPlane::New();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>double</span> n[3];<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>double</span> p1[3] = {-27.929, -136.901, 821.344};<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>double</span> p2[3] = {-86.1809, -166.647, 777.784};<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:blue'>double</span> p3[3] = {-117.166, -183.999, 733.234};<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'>vtkTriangle::ComputeNormal(p1,p2,p3,n);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> plane->SetNormal(n[0],n[1],n[2]); <o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'>plane->SetOrigin(p1[0], p1[1], p1[2]);</span><span style='font-size:10.0pt;font-family:DotumChe'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:DotumChe'>vtkTIPWCallback *myCallback = vtkTIPWCallback::New();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> myCallback->Plane = plane;<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> myCallback->Actor = selectActor;<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> vtkPlaneWidget *planeWidget = vtkPlaneWidget::New();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->SetInteractor(iren_SP);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->SetPlaceFactor(1.0);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->SetHandleSize(0.01);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <span style='color:green'><o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->SetInput(iso_Liver->GetOutput());<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->PlaceWidget();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->SetRepresentationToSurface();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->GetPlaneProperty()->SetColor(0.4,0.8,0.9);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->GetPlaneProperty()->SetOpacity(0.5);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->GetPlane(plane);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:DotumChe'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> planeWidget->AddObserver(vtkCommand::InteractionEvent,myCallback);</span><span style='font-size:10.0pt;font-family:DotumChe'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'> </span><span style='font-size:10.0pt;font-family:"Times New Roman","serif"'>…</span><span style='font-size:10.0pt;font-family:DotumChe'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'>Thank you very much,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:DotumChe'>Xiaopeng</span><o:p></o:p></p></div></body></html>