Module imp3d

Class WireframeCanvas

All Implemented Interfaces:
ViewComponent, RenderState, ComponentWrapper, Selectable, Disposable, ImageObserver, Runnable

public class WireframeCanvas extends CanvasAdapter implements RenderState, Selectable
  • Field Details

  • Constructor Details

    • WireframeCanvas

      public WireframeCanvas()
  • Method Details

    • getView3D

      public View3D getView3D()
    • updateResolution

      public void updateResolution(int r)
      Specified by:
      updateResolution in interface ViewComponent
      Overrides:
      updateResolution in class ViewComponentAdapter
    • initView

      public void initView(View view, EventListener listener)
      Description copied from interface: ViewComponent
      Initializes this component. This method sets the view within which this view component is used to display the graph. It also sets an event listener. this has to be informed of mouse and keys events within the view component by implementations of this method.
      Specified by:
      initView in interface ViewComponent
      Overrides:
      initView in class CanvasAdapter
      Parameters:
      view - the containing view
      listener - mouse and key events will be reported to this listener
    • initPaint

      protected void initPaint(int flags, int width, int height)
      Specified by:
      initPaint in class CanvasAdapter
    • paintScene

      protected void paintScene(int flags, Graphics2D g) throws InterruptedException
      Specified by:
      paintScene in class CanvasAdapter
      Throws:
      InterruptedException
    • displayOverlay

      protected void displayOverlay()
    • clearOverlay

      protected void clearOverlay()
    • paintSceneNew

      protected void paintSceneNew(int flags, Graphics2D g) throws InterruptedException
      Throws:
      InterruptedException
    • paintHighlight

      protected void paintHighlight(int flags, Graphics2D g)
      Specified by:
      paintHighlight in class CanvasAdapter
    • finalizePaint

      protected void finalizePaint()
    • setColor

      public void setColor(Color color)
      Specified by:
      setColor in class CanvasAdapter
    • getColor

      public final Color getColor()
    • setFont

      public final void setFont(Font font)
    • drawLine

      public final void drawLine(int v1, int v2)
    • drawLine

      public final void drawLine(int v1, int v2, boolean accentuated)
    • drawString

      public final void drawString(int vertex, int dx, int dy, String s)
    • drawRect

      public final void drawRect(int vertex, int dx, int dy, int width, int height)
    • fillRect

      public final void fillRect(int vertex, int dx, int dy, int width, int height)
    • drawPolygon

      public final void drawPolygon(int vertex, Polygon polygon)
    • fillPolygon

      public final void fillPolygon(int vertex, Polygon polygon)
    • drawIcon

      public final void drawIcon(int vertex, int dx, int dy, Icon icon)
    • openLayer

      public final void openLayer(int layer)
    • closeLayer

      public final void closeLayer()
    • drawOverlay

      protected void drawOverlay(int type)
    • setVertex

      public final void setVertex(int index, Tuple3d v, Matrix4d t)
    • setVertex

      public final void setVertex(int index, Tuple3f v, Matrix4d t)
    • setVertex

      public final void setVertex(int index, Tuple3d v)
    • setVertex

      public final void setVertex(int index, Tuple3f v)
    • setVertex

      public final void setVertex(int index, float x, float y, float z)
    • setVertex

      public final void setVertex(int index, double x, double y, double z, Matrix4d t)
    • getPool

      public Pool getPool()
      Specified by:
      getPool in interface RenderState
    • getCurrentShader

      public Shader getCurrentShader()
      Specified by:
      getCurrentShader in interface RenderState
    • getCurrentHighlight

      public int getCurrentHighlight()
      Specified by:
      getCurrentHighlight in interface RenderState
    • estimateScaleAt

      public float estimateScaleAt(Tuple3f point)
      Specified by:
      estimateScaleAt in interface RenderState
    • drawPoint

      public void drawPoint(Tuple3f origin, int size, Tuple3f color, int highlight, Matrix4d t)
      Specified by:
      drawPoint in interface RenderState
    • drawPointCloud

      public void drawPointCloud(float[] locations, float pointSize, Tuple3f color, int highlight, Matrix4d t)
      Description copied from interface: RenderState
      Draw a set of points. The array locations contains a sequence of points given as triples of floats for x, y and z position of each point. If the same reference for the array location is passed in the implementation might assume that the contents of the array are the same as well. This is necessary for GLDisplay, for instance, to ensure a performant implementation. The class PointCloud ensures that this is the case.
      Specified by:
      drawPointCloud in interface RenderState
      Parameters:
      locations - array containing a sequence (x,y,z) of points
      pointSize - size of the point on screen
      color - color of the point
      t - transformation of the point cloud
    • drawLine

      public void drawLine(Tuple3f origin, Tuple3f end, Tuple3f color, int highlight, Matrix4d t)
      Specified by:
      drawLine in interface RenderState
    • drawPlane

      public void drawPlane(Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawPlane in interface RenderState
    • drawBox

      public void drawBox(float halfWidth, float halfLength, float height, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawBox in interface RenderState
    • drawLamella

      public void drawLamella(float halfWidth, float halfLength, float height, float a, float b, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawLamella in interface RenderState
      a - amplitude
      b - frequency
    • drawSphere

      public void drawSphere(float radius, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawSphere in interface RenderState
    • drawSphereSegmentSolid

      public void drawSphereSegmentSolid(float radius, float theta1M, float theta2M, float phiM, Shader s, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawSphereSegmentSolid in interface RenderState
    • drawTextBlock

      public void drawTextBlock(String caption, Font font, float depth, Shader s, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawTextBlock in interface RenderState
    • drawSupershape

      public void drawSupershape(float a, float b, float m1, float n11, float n12, float n13, float m2, float n21, float n22, float n23, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Draw a supershape around the origin (0/0/0). An implementation of Johan Gielis's Superformula which was published in the American Journal of Botany 90(3): 333–338. 2003. INVITED SPECIAL PAPER A GENERIC GEOMETRIC TRANSFORMATION THAT UNIFIES A WIDE RANGE OF NATURAL AND ABSTRACT SHAPES
      Specified by:
      drawSupershape in interface RenderState
      Parameters:
      a - , b length of curves
      m - , n shape parameters
      shader -
      highlight -
      t - transformation of the point cloud
    • drawFrustum

      public void drawFrustum(float height, float baseRadius, float topRadius, boolean baseClosed, boolean topClosed, float scaleV, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawFrustum in interface RenderState
    • drawParallelogram

      public void drawParallelogram(float height, Vector3f secondAxis, float scaleU, float scaleV, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawParallelogram in interface RenderState
    • drawPolygons

      public void drawPolygons(Polygonizable pz, Object obj, boolean asNode, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawPolygons in interface RenderState
    • getWindowPos

      public boolean getWindowPos(Tuple3f origin, Tuple2f out)
      Description copied from interface: RenderState
      Computes the window coordinates in pixels of a location in the current object coordinates.
      Specified by:
      getWindowPos in interface RenderState
      Parameters:
      origin - a location in local object coordinates
      out - the computed window coordinates are placed in here
      Returns:
      true iff the window coordinates are valid (i.e., the location is in the clipping region)
    • drawRectangle

      public void drawRectangle(int x, int y, int w, int h, Tuple3f color)
      Specified by:
      drawRectangle in interface RenderState
    • fillRectangle

      public void fillRectangle(int x, int y, int w, int h, Tuple3f color)
      Specified by:
      fillRectangle in interface RenderState
    • drawString

      public void drawString(int x, int y, String text, Font font, Tuple3f color)
      Specified by:
      drawString in interface RenderState
    • optionValueChanged

      protected void optionValueChanged(String name, Object value)
      Overrides:
      optionValueChanged in class CanvasAdapter
    • drawFrustumIrregular

      public void drawFrustumIrregular(float height, int sectorCount, float[] baseRadii, float[] topRadii, boolean baseClosed, boolean topClosed, float scaleV, Shader sh, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawFrustumIrregular in interface RenderState
    • drawPrismRectangular

      public void drawPrismRectangular(float y, float xPos, float xNeg, float zPos, float zNeg, int highlight, boolean asWireframe, Matrix4d t)
      Specified by:
      drawPrismRectangular in interface RenderState