Class DrawableInteractiveMask

java.lang.Object
cz.fidentis.analyst.drawables.Drawable
cz.fidentis.analyst.drawables.DrawableInteractiveMask

public class DrawableInteractiveMask extends Drawable
Drawable interactive mask drawn as points connected by lines.
  • Constructor Details

    • DrawableInteractiveMask

      public DrawableInteractiveMask(SurfaceMask mask)
      Constructor.
      Parameters:
      mask - mask with points projected onto face and ready to be drawn
      Throws:
      IllegalArgumentException - if the mask is null
  • Method Details

    • renderObject

      protected void renderObject(com.jogamp.opengl.GL2 gl)
      Specified by:
      renderObject in class Drawable
    • interpolatePoints

      protected List<CrossSection3D> interpolatePoints()
      interpolates curves to draw onto face
      Returns:
      list of curves
    • interpolateLine

      protected CrossSection3D interpolateLine(SurfaceMask.MaskPoint3D p1, SurfaceMask.MaskPoint3D p2)
      Interpolates a single curve between surface mask points using a cutting plane defined by the said two points and a normal of mesh triangle upon which a point lies.
      Parameters:
      p1 -
      p2 -
      Returns:
      a single curve
    • getCylinders

      protected List<Cylinder> getCylinders()
      Calculates bounding cylinders to draw a connecting line between two points correctly
      Returns:
      a list of bounding cylinders
    • isPointOutsideBox

      protected static boolean isPointOutsideBox(javax.vecmath.Point3d point, Box box)
      legacy expression determining if point is within bounding box
      Parameters:
      point - point to check
      box - box to check
      Returns:
      true if outside else false
    • getBoxes

      protected List<Box> getBoxes()
      Legacy code to get bounding boxes for lines between points
      Returns:
      list of boxes for neighbouring points