romgrk-2d-geometry
Version:
Javascript library for 2d geometry
62 lines (56 loc) • 2.38 kB
JavaScript
/**
* @author Mark Dane
*/
'use strict';
import { expect } from 'chai';
import Flatten from '../index';
import {Point, Vector, Circle, Line, Segment, Arc, Box, Polygon, Edge, Face, Ray} from '../index';
import {point, vector, circle, line, segment, arc, ray} from '../index';
describe('#Flatten.DP_TOL', function() {
it('Default tolerace of 0.000001', function () {
expect(Flatten.DP_TOL).to.be.equal(0.000001);
});
it('Change tolerance with Flatten.Utils.setTolerance', function() {
const tolerance = 1e-3;
Flatten.Utils.setTolerance(tolerance);
expect(Flatten.DP_TOL).to.be.equal(tolerance);
expect(Flatten.Utils.getTolerance()).to.be.equal(tolerance);
const a = new Point(0,0);
const b = new Point(1e-4, 1e-4);
});
it('Change tolerance with Flatten.DP_TOL', function() {
const tolerance = 1e-3;
Flatten.DP_TOL = tolerance;
expect(Flatten.DP_TOL).to.be.equal(tolerance);
expect(Flatten.Utils.getTolerance()).to.be.equal(tolerance);
const a = new Point(0,0);
const b = new Point(1e-4, 1e-4);
expect(a.equalTo(b)).to.be.true;
});
it('Change tolerance with Flatten.Utils.DP_TOL', function() {
const tolerance = 1e-3;
Flatten.Utils.DP_TOL = tolerance;
expect(Flatten.DP_TOL).to.be.equal(tolerance);
expect(Flatten.Utils.getTolerance()).to.be.equal(tolerance);
const a = new Point(0,0);
const b = new Point(1e-4, 1e-4);
expect(a.equalTo(b)).to.be.true;
});
it('Line.incidentTo with default tolerance value', function(){
const norm = new Vector(0,1);
const lineA = new Line(new Point(0,0), norm);
const lineB = new Line(new Point(1e-8, 1e-8), norm);
const lineC = new Line(new Point(1e-3, 1e-3), norm);
expect(lineA.incidentTo(lineB)).to.be.true;
expect(lineA.incidentTo(lineC)).to.be.false;
})
it('Line.incidentTo with new tolerance value', function(){
Flatten.DP_TOL = 0.001;
const norm = new Vector(0,1);
const lineA = new Line(new Point(0,0), norm);
const lineB = new Line(new Point(0.00001, 0.00001), norm);
const lineC = new Line(new Point(0,0.002), norm);
expect(lineA.incidentTo(lineB)).to.be.true;
expect(lineA.incidentTo(lineC)).to.be.false;
})
})