diff options
Diffstat (limited to 'src/Geometry.ts')
| -rw-r--r-- | src/Geometry.ts | 49 |
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); - } -} |