[vtkusers] Problem in using vtkOrientationMarkerWidget
Dean Inglis
dean.inglis at sympatico.ca
Sun Aug 12 09:05:43 EDT 2007
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;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Image1.jpg
Type: image/jpeg
Size: 18354 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20070812/b70c18d7/attachment.jpg>
More information about the vtkusers
mailing list