[vtkusers] Bug in vtkCubeAxesActor2D?
    Jahn Otto Næsgaard Andersen 
    jotto at jotto.no
       
    Wed Sep  5 11:12:54 EDT 2012
    
    
  
I am trying to show a rectangle with a photo on + axes. The rectangle is
centered at (0,0,0), and the size is (1,1). I'm using vtkCubeAxesActor2D
for the axes.
The axes do not fit the rectangle correctly -- it doesn't go from edge to
edge. The ticks seem to be positioned at -0.45 to 0.45 instead of -0.5 to
0.5
https://dl.dropbox.com/u/8597999/axes.jpg
Is this a VTK bug or something wrong in my code?
Here is my code:
            // Read the image which will be the texture
            vtkJPEGReader jPEGReader = vtkJPEGReader.New();
jPEGReader.SetFileName("F:\\pixortphotos\\quitesomephotos\\IMG_1735.JPG");
            // Create a plane
            vtkPlaneSource planeSource = vtkPlaneSource.New();
            planeSource.SetCenter(0.0, 0.0, 0.0);
            planeSource.SetNormal(0.0, 0.0, 1.0);
            // Apply the texture
            vtkTexture texture = vtkTexture.New();
            texture.SetInputConnection(jPEGReader.GetOutputPort());
            vtkTextureMapToPlane texturePlane = vtkTextureMapToPlane.New();
            texturePlane.SetInputConnection(planeSource.GetOutputPort());
            vtkPolyDataMapper planeMapper = vtkPolyDataMapper.New();
            planeMapper.SetInputConnection(texturePlane.GetOutputPort());
            vtkActor texturedPlane = vtkActor.New();
            texturedPlane.SetMapper(planeMapper);
            texturedPlane.SetTexture(texture);
            // Create components of the rendering subsystem
            //
            vtkRenderer renderer =
_renderWindowControl.RenderWindow.GetRenderers().GetFirstRenderer();
            renderer.SetBackground(1.0, 1.0, 1.0);
            vtkRenderWindow renWin = _renderWindowControl.RenderWindow;
            // Axes
            // Create a text property for both cube axes
            var tprop = vtkTextProperty.New();
            tprop.SetColor(0.3, 0.3, 0.3);
            tprop.ShadowOn();
            var normals = vtkPolyDataNormals.New();
            normals.SetInputConnection(planeSource.GetOutputPort());
            var axes = vtkCubeAxesActor2D.New();
            axes.SetInput(planeSource.GetOutput());
            axes.SetCamera(renderer.GetActiveCamera());
            axes.SetLabelFormat("%6.4g");
            axes.SetFlyModeToOuterEdges();
            axes.SetFontFactor(1.0);
            axes.SetAxisTitleTextProperty(tprop);
            axes.SetAxisLabelTextProperty(tprop);
            axes.GetProperty().SetColor(0, 0, 0);
            axes.SetYAxisVisibility(0);
            renderer.AddViewProp(axes);
            // Interactor
            vtkRenderWindowInteractor renderWindowInteractor =
vtkRenderWindowInteractor.New();
            renderWindowInteractor.SetRenderWindow(renWin);
            var interactorStyle = vtkInteractorStyleImage.New();
            renderWindowInteractor.SetInteractorStyle(interactorStyle);
            vtkCamera camera = renderer.GetActiveCamera();
            camera.ParallelProjectionOn();
            axes.SetCamera(camera);
            // Add the actors to the renderer, set the window size
            renderer.AddActor(texturedPlane);
            renderer.ResetCamera();
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120905/080eb7e8/attachment.htm>
    
    
More information about the vtkusers
mailing list