[vtkusers] Problem in using vtkOrientationMarkerWidget

jeando.barnichon at free.fr jeando.barnichon at free.fr
Tue Aug 14 18:03:10 EDT 2007


Hi Dean,
I've checked on other computers and it works.
So your guess was correct, it's a hardware problem. I just need to update my
graphic driver.
Thanks for helping.
Jean-Do

Selon Dean Inglis <dean.inglis at sympatico.ca>:

> Hi Jean-Do,
>
> have you tried running ParaView ?  It has
> a corner axes widget very similar to vtkOMW (since vtkOMW
> was based on the ParaView version) and I am
> wondering if this is a hardware problem rather
> than software.
>
> Dean
>
>
> Hi Dean,
> yes I see it works in your case, and your output is excatly what I was
> expecting.
> See the attached jpg file to see what I get.
> I checked with vtk5.0.3 but compiled with VC++8.0, and I still get the
> uncorrect
> output.
> Dont' really know what more to do, as it's unlikely that the error comes
> from
> vtk5.0.3 vs. vtkcvs
> Jean-Do
>
>
> Selon Dean Inglis <dean.inglis at sympatico.ca>:
>
> > Hi Jean-Do,
> >
> > I dont get any strange behavior when I compile
> > and run your code when using Borland Dveloper Studio 2006,
> > latest VTK cvs, Release build on WinXP.  See attached
> > jpg.
> >
> > Dean
> >
> > Hi Dean,
> >
> > thank for your help.
> > But a strange thing is that even when I apply your correction, I still get
> > the
> > same result. There must be another error I guess.
> > Any other idea?
> >
> > A question : do you obtain the same result as me if you try the test I
> > joined at
> > the end of the first mail?
> > Forgot to mention, but I'm using vtk5.0.3 on WinXP compiled with VC7.1
> >
> > Jean-Do
> >
> > //
> > // Test for use of vtkOrientationMarkerWidget
> > //
> > #include "vtkCylinderSource.h"
> > #include "vtkPolyDataMapper.h"
> > #include "vtkActor.h"
> > #include "vtkRenderer.h"
> > #include "vtkRenderWindow.h"
> > #include "vtkRenderWindowInteractor.h"
> > #include "vtkProperty.h"
> > #include "vtkCamera.h"
> > #include "vtkOrientationMarkerWidget.h"
> > #include "vtkAnnotatedCubeActor.h"
> > #include "vtkAxesActor.h"
> > #include "vtkAssembly.h"
> >
> > int main()
> > {
> >   // This creates a polygonal cylinder model with eight circumferential
> > facets.
> >   vtkCylinderSource *cylinder = vtkCylinderSource::New();
> >   cylinder->SetResolution(8);
> >
> >   // The mapper is responsible for pushing the geometry into the graphics
> >   // library. It may also do color mapping, if scalars or other attributes
> >   // are defined.
> >   vtkPolyDataMapper *cylinderMapper = vtkPolyDataMapper::New();
> >   cylinderMapper->SetInputConnection(cylinder->GetOutputPort());
> >
> >   // The actor is a grouping mechanism: besides the geometry (mapper), it
> >   // also has a property, transformation matrix, and/or texture map.
> >   // Here we set its color and rotate it -22.5 degrees.
> >   vtkActor *cylinderActor = vtkActor::New();
> >   cylinderActor->SetMapper(cylinderMapper);
> >   cylinderActor->GetProperty()->SetColor(1.0000, 0.3882, 0.2784);
> >   cylinderActor->RotateX(30.0);
> >   cylinderActor->RotateY(-45.0);
> >
> >   // Create the graphics structure. The renderer renders into the
> >   // render window. The render window interactor captures mouse events
> >   // and will perform appropriate camera or actor manipulation
> >   // depending on the nature of the events.
> >   vtkRenderer *ren = vtkRenderer::New();
> >   vtkRenderWindow *renWin = vtkRenderWindow::New();
> >
> >   renWin->AddRenderer(ren);
> >
> >   vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
> >   iren->SetRenderWindow(renWin);
> >
> >   // Add the actors to the renderer, set the background and size
> >   ren->AddActor(cylinderActor);
> >   ren->SetBackground(0.1, 0.2, 0.4);
> >   renWin->SetSize(400, 400);
> >
> > //////////////////////////////////////////
> > // Begin of add vtkOrientationMarkerWidget
> > //////////////////////////////////////////
> >   // Add a vtkOrientationMarkerWidget
> >   vtkOrientationMarkerWidget* widget  = vtkOrientationMarkerWidget::New();
> >   vtkAnnotatedCubeActor* act1 = vtkAnnotatedCubeActor::New();
> >   act1->SetFaceTextScale(0.5);
> >   vtkAxesActor* act2 = vtkAxesActor::New();
> >   vtkAssembly* assemble = vtkAssembly::New();
> >   assemble->AddPart(act1);
> >   assemble->AddPart(act2);
> >   widget->SetOrientationMarker(assemble);
> >   //widget->SetCurrentRenderer(ren);
> >   widget->SetInteractor(iren);
> >   widget->SetEnabled(1);
> >   widget->SetInteractive(0);
> >   widget->SetViewport(0., 0., 0.4, 0.4);
> > //////////////////////////////////////////
> > // End of add vtkOrientationMarkerWidget
> > //////////////////////////////////////////
> >
> >
> >   // We'll zoom in a little by accessing the camera and invoking a "Zoom"
> >   // method on it.
> >   ren->ResetCamera();
> >   ren->GetActiveCamera()->Zoom(1.5);
> >   renWin->Render();
> >
> >   // This starts the event loop and as a side effect causes an initial
> > render.
> >   iren->Start();
> >
> >   // Exiting from here, we have to delete all the instances that
> >   // have been created.
> >   assemble->Delete();
> >   act2->Delete();
> >   act1->Delete();
> >   widget->Delete();
> >   cylinder->Delete();
> >   cylinderMapper->Delete();
> >   cylinderActor->Delete();
> >   ren->Delete();
> >   renWin->Delete();
> >   iren->Delete();
> >
> >   return 0;
> > }
> >
>
>
>
>





More information about the vtkusers mailing list