aboutsummaryrefslogtreecommitdiff
path: root/src/Geometry.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/Geometry.ts')
-rw-r--r--src/Geometry.ts49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/Geometry.ts b/src/Geometry.ts
deleted file mode 100644
index 556c7ea..0000000
--- a/src/Geometry.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import {Type} from 'class-transformer';
-import {Colour} from './Colour';
-import {Albedo, Material} from './Material';
-import {Vector} from './Vector';
-
-export class Sphere {
- @Type(() => Vector)
- readonly centerPoint: Vector;
- @Type(() => Material)
- readonly material: Material;
- constructor(
- readonly radius: number,
- centerPoint: Vector,
- material: Material
- ) {
- this.centerPoint = centerPoint;
- this.material = material;
- }
-}
-
-export class Plane {
- @Type(() => Colour)
- readonly checkerboardColour1: Colour;
- @Type(() => Colour)
- readonly checkerboardColour2: Colour;
- constructor(
- readonly yPos: number,
- readonly width: number, // How far the plane extends into x/-x from 0
- readonly zStartPos: number,
- readonly zEndPos: number,
- readonly checkerboardScale: number,
- checkerboardColour1: Colour,
- checkerboardColour2: Colour
- ) {
- this.checkerboardColour1 = checkerboardColour1;
- this.checkerboardColour2 = checkerboardColour2;
- }
-
- getMaterialAtPoint(x: number, z: number): Material {
- let colour: Colour;
- // prettier-ignore
- if ((Math.round(this.checkerboardScale * x) + Math.round(this.checkerboardScale * z)) & 1) {
- colour = this.checkerboardColour1;
- } else {
- colour = this.checkerboardColour2;
- }
- return new Material(colour, new Albedo(1, 0, 0, 0), 0, 1);
- }
-}