Package raymarcher.meshes
Class RoundedBox
java.lang.Object
raymarcher.meshes.RoundedBox
- All Implemented Interfaces:
Mesh
public class RoundedBox extends java.lang.Object implements Mesh
An implementation of the Mesh interface that renders a box (rectangular prism) with
rounded corners
-
Field Summary
-
Constructor Summary
Constructors Constructor Description RoundedBox(Vector3 position, Vector3 size, double radius, java.awt.Color meshColor)Create a box mesh with rounded corners -
Method Summary
Modifier and Type Method Description java.awt.ColorgetMeshColor()Gives the mesh's colorVector3getPosition()doublegetRadius()Vector3getSize()doublesdf(Vector3 position)The signed distance function for the mesh, which tells the mesh's distance to a point in 3D spacevoidsetMeshColor(java.awt.Color meshColor)voidsetPosition(Vector3 position)voidsetRadius(double radius)voidsetSize(Vector3 size)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 box's center -
size
A vector representing the box's dimensions -
radius
private double radiusThe box's corner radius -
meshColor
private java.awt.Color meshColorThe color of the mesh
-
-
Constructor Details
-
RoundedBox
Create a box mesh with rounded corners- Parameters:
position- The position in 3D space to center the boxsize- A vector to represent the box's dimensions. The x coordinate is the length of the box in the x-axis, the y-coordinate is the height, and the z-coordinate is the widthradius- The box's corner radiusmeshColor- The color of the box
-
-
Method Details
-
getPosition
- Returns:
- the current position of the center of the box
-
setPosition
- Parameters:
position- the new center of the box
-
getSize
- Returns:
- the box's current size as a vector
-
setSize
- Parameters:
size- A vector to represent the box's new dimensions. The x-coordinate is the length of the box in the x-axis, the y-coordinate is the height, and the z-coordinate is the width
-
getRadius
public double getRadius()- Returns:
- the current corner radius of the box
-
setRadius
public void setRadius(double radius)- Parameters:
radius- the new corner radius for the box
-
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:MeshGives the mesh's color- Specified by:
getMeshColorin interfaceMesh- Returns:
- The color of the mesh
-
sdf
Description copied from interface:MeshThe signed distance function for the mesh, which tells the mesh's distance to a point in 3D space- Specified by:
sdfin 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.
-