[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