Package raymarcher.meshes
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 baseprivate double
length
The length of the prism (distance between bases)private java.awt.Color
meshColor
The color of the meshprivate 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 colorVector3
getPosition()
double
sdf(Vector3 position)
The signed distance function for the mesh, which tells the mesh's distance to a point in 3D spacevoid
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
The position of the triangular prism -
height
private double heightThe height of the triangular prism's traingle base -
length
private double lengthThe length of the prism (distance between bases) -
meshColor
private java.awt.Color meshColorThe color of the mesh
-
-
Constructor Details
-
TriangularPrism
Create a triangular prism mesh- Parameters:
position
- The position in 3D space to place the prismheight
- The height of the triangular prism's traingle baselength
- The length of the prismmeshColor
- The color of the mesh
-
-
Method Details
-
getPosition
- Returns:
- the current position of the center of the mesh
-
setPosition
- 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 interfaceMesh
- Returns:
- The color of the mesh
-
sdf
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 interfaceMesh
- 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.
-