PlanesIntersection

VTKExamples/Java/GeometricObjects/PlanesIntersection

Author: Bharatesh Chakravarthi Affiliation: VE Lab, Chung Ang University, Seoul, South Korea.

Code

PlanesIntersection.java

import vtk.vtkSphereSource;
import vtk.vtkPoints;
import vtk.vtkPlanesIntersection;
import vtk.vtkNativeLibrary;

class PlanesIntersection{  

    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 args[]){  

        vtkSphereSource SphereSource = new vtkSphereSource();
          SphereSource.Update();

          double bounds[] = new double[6];

          SphereSource.GetOutput().GetBounds(bounds);
          vtkPoints Box = new vtkPoints();
          Box.SetNumberOfPoints(8);

          double xMin, xMax, yMin, yMax, zMin, zMax;
          xMin = bounds[0]; xMax = bounds[1];
          yMin = bounds[2]; yMax = bounds[3];
          zMin = bounds[4]; zMax = bounds[5];


          Box.SetPoint(0, xMax, yMin, zMax);
          Box.SetPoint(1, xMax, yMin, zMin);
          Box.SetPoint(2, xMax, yMax, zMin);
          Box.SetPoint(3, xMax, yMax, zMax);
          Box.SetPoint(4, xMin, yMin, zMax);
          Box.SetPoint(5, xMin, yMin, zMin);
          Box.SetPoint(6, xMin, yMax, zMin);
          Box.SetPoint(7, xMin, yMax, zMax);


          vtkPlanesIntersection PlanesIntersection = new vtkPlanesIntersection();
          PlanesIntersection.SetBounds(bounds);

          int intersects = PlanesIntersection.IntersectsRegion(Box);
          System.out.print("Intersects:" + intersects );

    }  
}