Hi,<div><br></div><div>I noticed that if we use a vtkCoordinate with the <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">coordinate system set to View, and we add a ReferenceCoordinate, this one is not used.</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">The problem is in method <span class="Apple-style-span" style="border-collapse: separate; font-family: arial; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">vtkCoordinate::<span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">GetComputedDoubleDisplayValue.</span></span></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>
</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">here is an example to demonstrate that:</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">run it once to see the correct result then set the boolean bOk (just before main) to false to see the problem.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>
</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Is there a reason for that?</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>
</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><div>
<br></div><div>#include &lt;vtk/vtkActor2D.h&gt;</div><div>#include &lt;vtk/vtkCamera.h&gt;</div><div>#include &lt;vtk/vtkInteractorStyleTrackballCamera.h&gt;</div><div>#include &lt;vtk/vtkLineSource.h&gt;</div><div>#include &lt;vtk/vtkPolyData.h&gt;</div>
<div>#include &lt;vtk/vtkPolyDataMapper2D.h&gt;</div><div>#include &lt;vtk/vtkProperty2D.h&gt;</div><div>#include &lt;vtk/vtkRenderer.h&gt;</div><div>#include &lt;vtk/vtkRenderWindow.h&gt;</div><div>#include &lt;vtk/vtkRenderWindowInteractor.h&gt;</div>
<div>#include &lt;vtk/vtkSphereSource.h&gt;</div><div><br></div><div>#include &lt;vtk/vtkSmartPointer.h&gt;</div><div>#define MY_SMART(class, variable)\</div><div>   vtkSmartPointer&lt;class&gt; variable = vtkSmartPointer&lt;class&gt;::New();</div>
<div><br></div><div>const double cst_dSize = 0.1;</div><div>const bool bOk = true;</div><div><br></div><div>int main(int, char* [])</div><div>{</div><div>   MY_SMART(vtkRenderer, ren1);</div><div>   ren1-&gt;SetBackground(0.2, 0.2, 0.2);</div>
<div>   MY_SMART(vtkRenderWindow, renWin);</div><div>   renWin-&gt;SetSize( 800, 800 );</div><div>   renWin-&gt;AddRenderer(ren1);</div><div>   MY_SMART(vtkRenderWindowInteractor, iren);</div><div>   iren-&gt;SetRenderWindow(renWin);</div>
<div>   MY_SMART(vtkInteractorStyleTrackballCamera, vtk_style);</div><div>   iren-&gt;SetInteractorStyle(vtk_style);</div><div><br></div><div>   MY_SMART(vtkLineSource, line);</div><div>   line-&gt;SetPoint1(0.0, 0.0, 0.0);</div>
<div>   if(bOk)</div><div>      line-&gt;SetPoint2(cst_dSize, 0.0, 0.0);</div><div>   else</div><div>      line-&gt;SetPoint2(cst_dSize*2, 0.0, 0.0);</div><div><br></div><div>   MY_SMART(vtkSphereSource, sphere1);</div><div>
   sphere1-&gt;SetCenter(0.0, 0.0, 0.0);</div><div>   sphere1-&gt;SetRadius(0.1);</div><div>   sphere1-&gt;SetThetaResolution(16);</div><div>   sphere1-&gt;SetPhiResolution(8);</div><div><br></div><div>   MY_SMART(vtkSphereSource, sphere2);</div>
<div>   sphere2-&gt;SetCenter(0.0, 0.0, 0.0);</div><div>   sphere2-&gt;SetRadius(5);</div><div>   sphere2-&gt;SetThetaResolution(16);</div><div>   sphere2-&gt;SetPhiResolution(8);</div><div>   </div><div>   MY_SMART(vtkSphereSource, sphere3);</div>
<div>   sphere3-&gt;SetCenter(0.0, 0.0, 0.0);</div><div>   sphere3-&gt;SetRadius(5);</div><div>   sphere3-&gt;SetThetaResolution(16);</div><div>   sphere3-&gt;SetPhiResolution(8);</div><div>   </div><div>   MY_SMART(vtkPolyDataMapper2D, Mapper);</div>
<div>   Mapper-&gt;SetInputConnection(line-&gt;GetOutputPort());</div><div>   MY_SMART(vtkPolyDataMapper2D, Mappers1);</div><div>   Mappers1-&gt;SetInputConnection(sphere1-&gt;GetOutputPort());</div><div>   MY_SMART(vtkPolyDataMapper2D, Mappers2);</div>
<div>   Mappers2-&gt;SetInputConnection(sphere2-&gt;GetOutputPort());</div><div>   MY_SMART(vtkPolyDataMapper2D, Mappers3);</div><div>   Mappers3-&gt;SetInputConnection(sphere3-&gt;GetOutputPort());</div><div><br></div><div>
   MY_SMART(vtkActor2D, Act);</div><div>   Act-&gt;GetProperty()-&gt;SetColor(0.0, 1.0, 1.0);</div><div>   Act-&gt;GetProperty()-&gt;SetLineWidth(5);</div><div>   Act-&gt;SetMapper(Mapper);</div><div>   MY_SMART(vtkActor2D, Acts1);</div>
<div>   Acts1-&gt;GetProperty()-&gt;SetColor(1.0, 0.0, 0.0);</div><div>   Acts1-&gt;SetMapper(Mappers1);</div><div>   MY_SMART(vtkActor2D, Acts2);</div><div>   Acts2-&gt;GetProperty()-&gt;SetColor(0.0, 1.0, 0.0);</div><div>
   Acts2-&gt;SetMapper(Mappers2);</div><div>   MY_SMART(vtkActor2D, Acts3);</div><div>   Acts3-&gt;GetProperty()-&gt;SetColor(0.0, 0.0, 1.0);</div><div>   Acts3-&gt;SetMapper(Mappers3);</div><div><br></div><div>   MY_SMART(vtkCoordinate, coord);</div>
<div>   coord-&gt;SetCoordinateSystemToWorld();</div><div>   Mappers1-&gt;SetTransformCoordinate(coord);</div><div><br></div><div>   Acts2-&gt;GetPositionCoordinate()-&gt;SetCoordinateSystemToWorld();</div><div>   Acts2-&gt;GetPositionCoordinate()-&gt;SetValue(0.0, 2.0, 0.0);</div>
<div><br></div><div>   Acts3-&gt;GetPositionCoordinate()-&gt;SetCoordinateSystemToNormalizedViewport();</div><div>   Acts3-&gt;GetPositionCoordinate()-&gt;SetValue(0.1, 0.0, 0.0);</div><div><br></div><div>   MY_SMART(vtkCoordinate, pCoord);</div>
<div>   pCoord-&gt;SetCoordinateSystemToWorld();</div><div>   pCoord-&gt;SetValue(0.0, 2.0, 0.0);</div><div>   Acts3-&gt;GetPositionCoordinate()-&gt;SetReferenceCoordinate(pCoord);</div><div><br></div><div>   MY_SMART(vtkCoordinate, coo);</div>
<div>   if(bOk)</div><div>      coo-&gt;SetCoordinateSystemToNormalizedViewport();</div><div>   else</div><div>      coo-&gt;SetCoordinateSystemToView();</div><div>   coo-&gt;SetReferenceCoordinate(pCoord);</div><div>   Mapper-&gt;SetTransformCoordinate(coo);</div>
<div><br></div><div>   ren1-&gt;AddActor2D(Act);</div><div>   ren1-&gt;AddActor2D(Acts1);</div><div>   ren1-&gt;AddActor2D(Acts2);</div><div>   ren1-&gt;AddActor2D(Acts3);</div><div><br></div><div>   ren1-&gt;ResetCamera();</div>
<div>   ren1-&gt;GetActiveCamera()-&gt;ParallelProjectionOn();</div><div>   ren1-&gt;GetActiveCamera()-&gt;Zoom(0.4);</div><div>   renWin-&gt;Render();</div><div>   iren-&gt;Start();</div><div><br></div><div>   return 0;</div>
<div>}</div><div><br></div></span></font></div>