All files / src/elements/circle CircumcircleElement.ts

100% Statements 54/54
100% Branches 4/4
100% Functions 4/4
100% Lines 54/54

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 551x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 374x 374x 374x 374x 374x 374x 374x 374x 374x 1x 1x 2150x 2150x 1x 1x 7x 7x 1x 1x 1x 1x 1x 1x  
/*----------------------------------------------------------------------+
|    Title:	Circumcenter.ts                                             |
|    A port of the software Geometry Applet by                          |
|    Author:    David E. Joyce                                          |
|        Department of Mathematics and Computer Science                 |
|        Clark University                                               |
|        Worcester, MA 01610-1477                                       |
|        U.S.A.                                                         |
|                                                                       |
|        http://aleph0.clarku.edu/~djoyce/home.html                     |
|        djoyce@clarku.edu                                              |
|                                                                       |
|    Date:    February, 1996.   Version 2.0.0 May, 1997.                |
|    TypeScript Port: 2024, Nelson Brown, brownnrl@gmail.com            |
+----------------------------------------------------------------------*/
 
// import {GeomElement} from "../GeomElement";
import {PlaneElement} from "../plane/PlaneElement";
import {PointElement} from "../point/PointElement";
import {CircleElement} from "./CircleElement";
 
export class CircumcircleElement extends CircleElement {
 
  /*--------------------------------------------------------------------+
  | This is the circle passing through the three points B, C, and D.	|
  | It is assumed that all three points lie in the plane AP.		|
  +--------------------------------------------------------------------*/
    public C : PointElement;
    public D : PointElement;
 
    constructor(B: PointElement, C : PointElement, D: PointElement, AP: PlaneElement) {
        super();
        this.dimension = 2;
        this.B = B;
        this.C = C;
        this.D = D;
        this.AP = AP;
        this.Center = new PointElement({AP:AP});
        this.A = this.Center;
    }
 
    update() : void { 
        this.Center.toCircumcenter(this.B,this.C,this.D); 
    }
 
    translate(dx: number, dy: number) {
        this.Center.translate(dx, dy);
    }
 
    rotate(pivot: PointElement, c: number, s: number) {
        this.Center.rotate(pivot, c, s);
    }
 
}