Class TriangularPrism

java.lang.Object
raymarcher.meshes.TriangularPrism
All Implemented Interfaces:
Mesh

public class TriangularPrism
extends java.lang.Object
implements Mesh
An implementation of the Mesh interface that renders an equilateral triangular prism
  • Field Summary

    Fields
    Modifier and Type Field Description
    private double height
    The height of the triangular prism's traingle base
    private double length
    The length of the prism (distance between bases)
    private java.awt.Color meshColor
    The color of the mesh
    private Vector3 position
    The position of the triangular prism
  • Constructor Summary

    Constructors
    Constructor Description
    TriangularPrism​(Vector3 position, double height, double length, java.awt.Color meshColor)
    Create a triangular prism mesh
  • Method Summary

    Modifier and Type Method Description
    double getHeight()  
    double getLength()  
    java.awt.Color getMeshColor()
    Gives the mesh's color
    Vector3 getPosition()  
    double sdf​(Vector3 position)
    The signed distance function for the mesh, which tells the mesh's distance to a point in 3D space
    void setHeight​(double height)  
    void setLength​(double length)  
    void setMeshColor​(java.awt.Color meshColor)  
    void setPosition​(Vector3 position)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • position

      private Vector3 position
      The position of the triangular prism
    • height

      private double height
      The height of the triangular prism's traingle base
    • length

      private double length
      The length of the prism (distance between bases)
    • meshColor

      private java.awt.Color meshColor
      The color of the mesh
  • Constructor Details

    • TriangularPrism

      public TriangularPrism​(Vector3 position, double height, double length, java.awt.Color meshColor)
      Create a triangular prism mesh
      Parameters:
      position - The position in 3D space to place the prism
      height - The height of the triangular prism's traingle base
      length - The length of the prism
      meshColor - The color of the mesh
  • Method Details

    • getPosition

      public Vector3 getPosition()
      Returns:
      the current position of the center of the mesh
    • setPosition

      public void setPosition​(Vector3 position)
      Parameters:
      position - the new center of the prism
    • getHeight

      public double getHeight()
      Returns:
      The current height of the triangular prism's traingle base
    • setHeight

      public void setHeight​(double height)
      Parameters:
      height - the new height of the triangular prism's traingle base
    • getLength

      public double getLength()
      Returns:
      the prism's current length
    • setLength

      public void setLength​(double length)
      Parameters:
      length - the new length for the prism
    • setMeshColor

      public void setMeshColor​(java.awt.Color meshColor)
      Parameters:
      meshColor - The new color to set the mesh to
    • getMeshColor

      public java.awt.Color getMeshColor()
      Description copied from interface: Mesh
      Gives the mesh's color
      Specified by:
      getMeshColor in interface Mesh
      Returns:
      The color of the mesh
    • sdf

      public double sdf​(Vector3 position)
      Description copied from interface: Mesh
      The signed distance function for the mesh, which tells the mesh's distance to a point in 3D space
      Specified by:
      sdf in interface Mesh
      Parameters:
      position - The vector representation of the position of the point to measure the distance to
      Returns:
      The signed distance of the mesh to the point. Values > 0 indicate the point is outside the mesh, values = 0 are points on the surface, and values < 0 are points inside the mesh.