Arrow

VTKExamples/Java/GeometricObjects/Arrow


Description

Java Program to visualize an Arrow. Create Arrow source, mapper and Actor. Define Properties to Arrow such as Shaft radius, Tip Length, Tip Resolution, Shaft Resolution.

Other Languages

See (Cxx), (Python), (CSharp)

Code

Arrow.java

import vtk.vtkActor;
import vtk.vtkArrowSource;
import vtk.vtkNamedColors;
import vtk.vtkNativeLibrary;
import vtk.vtkPolyDataMapper;
import vtk.vtkRenderWindow;
import vtk.vtkRenderWindowInteractor;
import vtk.vtkRenderer;

public class Arrow  
{
  // -----------------------------------------------------------------
  // Load VTK library and print which library was not properly loaded
  static 
  {
    if (!vtkNativeLibrary.LoadAllNativeLibraries()) 
    {
      for (vtkNativeLibrary lib : vtkNativeLibrary.values()) 
      {
        if (!lib.IsLoaded()) 
        {
          System.out.println(lib.GetLibraryName() + " not loaded");
        }
      }
    }
    vtkNativeLibrary.DisableOutputWindow(null);
  }
  // -----------------------------------------------------------------

  public static void main(String s[]) 
  {
    vtkNamedColors colors = new vtkNamedColors();


    //For Actor Color
    double actorColor[] = new double[4];
    //Renderer Background Color
    double Bgcolor[] = new double[4];


    colors.GetColor("Tomato", actorColor);
    colors.GetColor("DarkSeaGreen", Bgcolor);

    //Create a Arrow 
    vtkArrowSource ArrowSource = new vtkArrowSource();
    ArrowSource.Update();
    //Uncomment below lines to set properties
    //ArrowSource.SetShaftRadius(1.0);
    //ArrowSource.SetTipLength(1.0);

    //Create a Mapper and Actor
    vtkPolyDataMapper Mapper = new vtkPolyDataMapper();
    Mapper.SetInputConnection(ArrowSource.GetOutputPort());

    vtkActor Actor = new vtkActor();
    Actor.SetMapper(Mapper);
    Actor.GetProperty().SetColor(actorColor);

     // Create the renderer, render window and interactor.
     vtkRenderer ren = new vtkRenderer();
     vtkRenderWindow renWin = new vtkRenderWindow();
     renWin.AddRenderer(ren);
     vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
     iren.SetRenderWindow(renWin);

     // Visualise the arrow
     ren.AddActor(Actor);
     ren.SetBackground(Bgcolor);

     renWin.SetSize(300, 300);
     renWin.Render();

     iren.Initialize();
     iren.Start();
  }
}