<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Well, <br>
    <br>
    it looks like the described bug vtkInteractorStyleTerrain did not
    attract any developer.<br>
    I might give up using the vtkInteractorStyleTerrain and replace it
    with vtkInteractorStyleTrackball as this problem does not occur in
    this one, though the behaviour of vtkInteractorStyleTerrain much
    better fits my needs.<br>
    <br>
    Any idea, maybe from the vtk team ?<br>
    JD<br>
    <br>
    Le 03/04/2011 11:01, pof a &eacute;crit&nbsp;:
    <blockquote cite="mid:4D983782.8040700@gmail.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Dear vtker's,<br>
      No answer yet, so does it means that I'm now the only one having
      this problem ?<br>
      Herebelow is a small example program that illustrate this
      incompatibility between vtkInteractorStyleTerrain and
      vtkAxesActor/vtkOrientationMarkerWidget.<br>
      Any idea/comment ?<br>
      <br>
      ////////////////<br>
      #include "vtkCylinderSource.h"<br>
      #include "vtkPolyDataMapper.h"<br>
      #include "vtkActor.h"<br>
      #include "vtkRenderer.h"<br>
      #include "vtkRenderWindow.h"<br>
      #include "vtkRenderWindowInteractor.h"<br>
      #include "vtkProperty.h"<br>
      #include "vtkCamera.h"<br>
      #include "vtkAxesActor.h"<br>
      #include "vtkOrientationMarkerWidget.h"<br>
      #include "vtkInteractorStyleTerrain.h"<br>
      <br>
      int main()<br>
      {<br>
      &nbsp;&nbsp;&nbsp; // Creates a polygonal cylinder model with eight
      circumferential facets.<br>
      &nbsp;&nbsp;&nbsp; vtkCylinderSource *cylinder = vtkCylinderSource::New();<br>
      &nbsp;&nbsp;&nbsp; cylinder-&gt;SetResolution(20);<br>
      &nbsp;&nbsp;&nbsp; cylinder-&gt;SetCenter(0,0,0.);<br>
      &nbsp;&nbsp;&nbsp; cylinder-&gt;SetRadius(10.);<br>
      &nbsp;&nbsp;&nbsp; cylinder-&gt;SetHeight(20.);<br>
      &nbsp;&nbsp;&nbsp; vtkPolyDataMapper *cylinderMapper = vtkPolyDataMapper::New();<br>
      &nbsp;&nbsp;&nbsp;
      cylinderMapper-&gt;SetInputConnection(cylinder-&gt;GetOutputPort());<br>
      &nbsp;&nbsp;&nbsp; vtkActor *cylinderActor = vtkActor::New();<br>
      &nbsp;&nbsp;&nbsp; cylinderActor-&gt;SetMapper(cylinderMapper);<br>
      &nbsp;&nbsp;&nbsp; cylinderActor-&gt;GetProperty()-&gt;SetColor(1.0000, 0.3882,
      0.2784);<br>
      <br>
      &nbsp;&nbsp;&nbsp; vtkPolyDataMapper *MeshMapper = vtkPolyDataMapper::New();<br>
      &nbsp;&nbsp;&nbsp; vtkActor *MeshActor = vtkActor::New();<br>
      &nbsp;&nbsp;&nbsp;
      MeshMapper-&gt;SetInputConnection(cylinder-&gt;GetOutputPort());<br>
      &nbsp;&nbsp;&nbsp; MeshActor-&gt;SetMapper(MeshMapper);<br>
      &nbsp;&nbsp;&nbsp; (MeshActor-&gt;GetProperty())-&gt;SetInterpolationToFlat();<br>
      &nbsp;&nbsp;&nbsp; (MeshActor-&gt;GetProperty())-&gt;BackfaceCullingOff();<br>
      &nbsp;&nbsp;&nbsp; (MeshActor-&gt;GetProperty())-&gt;EdgeVisibilityOn();<br>
      &nbsp;&nbsp;&nbsp; (MeshActor-&gt;GetProperty())-&gt;SetLineWidth(2);<br>
      &nbsp;&nbsp;&nbsp; (MeshActor-&gt;GetProperty())-&gt;SetColor(0.,0.6,0.8);<br>
      &nbsp;&nbsp;&nbsp;
      (MeshActor-&gt;GetProperty())-&gt;SetRepresentationToWireframe();<br>
      <br>
      &nbsp;&nbsp;&nbsp; // Create the graphics structure.<br>
      &nbsp;&nbsp;&nbsp; vtkRenderer *ren = vtkRenderer::New();<br>
      &nbsp;&nbsp;&nbsp; vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
      <br>
      &nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(ren);<br>
      &nbsp;&nbsp;&nbsp; renWin-&gt;SetSize(600, 600);<br>
      <br>
      &nbsp;&nbsp;&nbsp; vtkRenderWindowInteractor *iren =
      vtkRenderWindowInteractor::New();<br>
      &nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow(renWin);<br>
      <br>
      &nbsp;&nbsp;&nbsp; // Add the actors to the renderer, set the background and size<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;AddActor(cylinderActor);<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;AddActor(MeshActor);<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;SetBackground(0.1, 0.2, 0.4);<br>
      <br>
      &nbsp;&nbsp;&nbsp; // We'll zoom in a little by accessing the camera and invoking
      a "Zoom"<br>
      &nbsp;&nbsp;&nbsp; // method on it.<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;ResetCamera();<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;GetActiveCamera()-&gt;Zoom(1.0);<br>
      &nbsp;&nbsp;&nbsp; renWin-&gt;Render();<br>
      <br>
      &nbsp;&nbsp;&nbsp; vtkInteractorStyleTerrain *styleTerrain =
      vtkInteractorStyleTerrain::New();<br>
      &nbsp;&nbsp;&nbsp; iren-&gt;SetInteractorStyle(styleTerrain);<br>
      <br>
      &nbsp;&nbsp;&nbsp; vtkAxesActor *Axes = vtkAxesActor::New();<br>
      &nbsp;&nbsp;&nbsp; Axes-&gt;SetShaftTypeToCylinder();<br>
      &nbsp;&nbsp;&nbsp; Axes-&gt;SetXAxisLabelText( "X" );<br>
      &nbsp;&nbsp;&nbsp; Axes-&gt;SetYAxisLabelText( "Y" );<br>
      &nbsp;&nbsp;&nbsp; Axes-&gt;SetZAxisLabelText( "Z" );<br>
      <br>
      &nbsp;&nbsp;&nbsp; vtkOrientationMarkerWidget *AxesWidget =
      vtkOrientationMarkerWidget::New();<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;SetOutlineColor(0,0,0);<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;SetOrientationMarker(Axes);<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;SetInteractor(iren);<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;SetViewport( 0.0, 0.0, 0.2, 0.2 );<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;SetEnabled(1);<br>
      &nbsp;&nbsp;&nbsp; AxesWidget-&gt;InteractiveOn();<br>
      <br>
      &nbsp;&nbsp;&nbsp; // This starts the event loop and as a side effect causes an
      initial render.<br>
      &nbsp;&nbsp;&nbsp; iren-&gt;Start();<br>
      <br>
      &nbsp;&nbsp;&nbsp; // Exiting from here, we have to delete all the instances that<br>
      &nbsp;&nbsp;&nbsp; // have been created.<br>
      &nbsp;&nbsp;&nbsp; cylinder-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; cylinderMapper-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; cylinderActor-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; MeshMapper-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; MeshActor-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; ren-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; renWin-&gt;Delete();<br>
      &nbsp;&nbsp;&nbsp; iren-&gt;Delete();<br>
      <br>
      &nbsp;&nbsp;&nbsp; return 0;<br>
      }<br>
      <br>
      <br>
      <br>
      Le 24/03/2011 11:26, Pof a &eacute;crit&nbsp;:
      <blockquote
        cite="mid:AANLkTi=p9ye934VdwKYKUnZMFJYiPJs=pp9aeQRhckpz@mail.gmail.com"
        type="cite">
        <div>Answering to myself, just to mention that similar problem
          has already been reported in the mailing list, but I could not
          find any answer.</div>
        <div>&nbsp;</div>
        <div>So does this means the only solution is not to use
          vtkInteractorStyleTerrain with vtkOrientationMarkerWidget??</div>
        <div>&nbsp;</div>
        <div>Thanks for any tip/advice</div>
        <div>JD<br>
          <br>
        </div>
        <div class="gmail_quote">2011/3/22 Pof <span dir="ltr">&lt;<a
              moz-do-not-send="true" href="mailto:jd379252@gmail.com"
              target="_blank">jd379252@gmail.com</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="padding-left: 1ex;
            margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204,
            204, 204);">
            <p>Hi all,</p>
            <p>when the vtkInteractorStyleTerrain is used with
              vtkAxesActor/vtkOrientationMarkerWidget:<br>
              - the following error message is obtained "Resetting
              view-up since view plane normal is parallel"<br>
              - the orientation of the vtkAxesActor gets wrong when
              viewing along the z-axis.</p>
            <p>Is there any way to correct this behaviour (apart from
              not displaying the warning message)?</p>
            <p>Thanks</p>
          </blockquote>
        </div>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>