Class GeometrySlice3DView

All Implemented Interfaces:
edu.cnu.mdi.feedback.IFeedbackProvider, edu.cnu.mdi.transfer.IFileDropHandler, ActionListener, ComponentListener, FocusListener, MouseListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class GeometrySlice3DView extends PlainView3D
Companion MDI-3D view for the 2D geometry slice demo.

The corresponding 2D view shows a constant-phi slice through a synthetic 3D detector-like geometry. This view renders the same source model directly in 3D: shell wireframes, wire line segments, fake-hit wires, axes, and the current constant-phi slice plane. Its purpose is explanatory. It helps the reader see what the 2D slice view is cutting through.

The view deliberately reuses GeometrySliceModel, Shell3D, and Wire3D from the 2D demo package. That is the important design point: the model is shared, while the 2D and 3D views render different representations of that same model.

See Also:
  • Constructor Details

    • GeometrySlice3DView

      public GeometrySlice3DView()
      Construct the view with its default properties.
    • GeometrySlice3DView

      public GeometrySlice3DView(Properties props)
      Construct the view with explicit properties.
      Parameters:
      props - view construction properties
    • GeometrySlice3DView

      public GeometrySlice3DView(Object... keyVals)
      Legacy compatibility constructor using alternating key/value pairs.
      Parameters:
      keyVals - alternating property key/value pairs
  • Method Details

    • getViewInfo

      public edu.cnu.mdi.view.AbstractViewInfo getViewInfo()
      Overrides:
      getViewInfo in class edu.cnu.mdi.view.BaseView
    • getConfiguration

      public static edu.cnu.mdi.view.ViewConfiguration<GeometrySlice3DView> getConfiguration()
      Return the lazy-creation configuration for this view.
      Returns:
      view configuration for lazy creation
    • createGeometrySlice3DView

      public static GeometrySlice3DView createGeometrySlice3DView()
      Compatibility factory method.
      Returns:
      a new default-configured 3D slice view
    • make3DPanel

      protected Panel3D make3DPanel(float angleX, float angleY, float angleZ, float xDist, float yDist, float zDist)
      Create the hosted 3D panel.

      Initial scene creation occurs when the panel's first OpenGL context is initialized. By that time construction of this view has completed, so the shared geometry model and other instance state are available normally.

      Specified by:
      make3DPanel in class PlainView3D
      Parameters:
      angleX - initial x rotation angle
      angleY - initial y rotation angle
      angleZ - initial z rotation angle
      xDist - initial camera x offset
      yDist - initial camera y offset
      zDist - initial camera z offset
      Returns:
      the created 3D panel