Skip to content
Snippets Groups Projects
Commit 3fbeb9b6 authored by Andrew Maclean's avatar Andrew Maclean Committed by GitHub
Browse files

Merge pull request #388 from chakravarthi589/Add_Cursor3D

Add cursor3D
parents b164446c 78cdf0fe
No related branches found
No related tags found
No related merge requests found
......@@ -181,6 +181,7 @@ It would be appreciated if there are any Java VTK experts who could convert any
[BackgroundGradient](/Java/Visualization/BackgroundGradient) | | viewport having gradient background using the Background (bottom) and Background2 (top) colors.
[ColorAnActor](/Java/Visualization/ColorAnActor) | vtkActor vtkCanvas | Switch style interaction adds C and A key actions for selecting Camera or Actor interaction, and T and J key actions for Trackball or Joystick interaction mode. Adds charEvent observer callback to restore the missing E and Q events to quit.
[Cursor2D](/Java/Visualization/Cursor2D) | vtkCursor2D | Generates a 2D Cursor Representation.
[Cursor3D](/Java/Visualization/Cursor3D) | vtkCursor3D | Generates a 3D Cursor Representation
[Cutter](/Java/VisualizationAlgorithms/Cutter) | vtkCutter | How to use vtkCutter by cutting through a cube.
[Follower](/Java/Visualization/Follower) | vtkFollower | Draw text that stays right side up.
[VectorFieldExample](/Java/Visualization/VectorFieldExample) | vtkXMLUnstructuredGridReader, vtkThresholdPoints, vtkGlyph3D | A vector field visualisation.
......
import vtk.vtkActor;
import vtk.vtkSphereSource;
import vtk.vtkNativeLibrary;
import vtk.vtkPolyDataMapper;
import vtk.vtkRenderWindow;
import vtk.vtkRenderWindowInteractor;
import vtk.vtkRenderer;
import vtk.vtkNamedColors;
import vtk.vtkCursor3D;
public class Cursor3D
{
// -----------------------------------------------------------------
// 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];
//For Cursor Actor Color
double CursorActorColor[] = new double[4];
//Renderer Background Color
double Bgcolor[] = new double[4];
colors.GetColor("LightPink", actorColor);
colors.GetColor("Brown", CursorActorColor);
colors.GetColor("MediumSpringGreen", Bgcolor);
//Create a Sphere
vtkSphereSource Sphere = new vtkSphereSource();
Sphere.SetCenter(0.0,0.0,0.0);
Sphere.SetRadius(5.0);
Sphere.Update();
//Create a Mapper and Actor
vtkPolyDataMapper Mapper = new vtkPolyDataMapper();
Mapper.SetInputConnection(Sphere.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 actor
ren.AddActor(Actor);
ren.SetBackground(Bgcolor);
vtkCursor3D Cursor = new vtkCursor3D();
Cursor.SetModelBounds(-10, 10, -10, 10, -10, 10);
Cursor.AllOn();
Cursor.OutlineOff();
Cursor.Update();
vtkPolyDataMapper CursorMapper = new vtkPolyDataMapper();
CursorMapper.SetInputConnection(Cursor.GetOutputPort());
vtkActor CursorActor = new vtkActor();
CursorActor.SetMapper(CursorMapper);
CursorActor.GetProperty().SetColor(CursorActorColor);
ren.AddActor(CursorActor);
ren.ResetCamera();
iren.Start();
}
}
### Description
vtkCursor3D is an object that generates 3D representation of a cursor.
The cursor consists of a wireframe bounding box, three intersecting axes lines that meet at the cursor focus, and "shadows" or projections of the axes against the sides of the bounding box. Each of these components can be turned on/off.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment