SYMBOL INDEX (311 symbols across 31 files) FILE: demos/bead.ts function lowPassNoise (line 40) | function lowPassNoise(n: number, alpha: number, iterations: number): num... function lowPass (line 54) | function lowPass(values: number[], alpha: number): number[] { function normalize (line 65) | function normalize(values: number[], a: number, b: number): number[] { FILE: demos/function.ts function shape (line 3) | function shape(x: number, y: number): number { FILE: demos/skyscraper.ts function render (line 32) | function render() { FILE: demos/sphere.ts function render (line 26) | function render() { FILE: demos/suzanne.ts function fetchSTLFile (line 15) | async function fetchSTLFile(path: string): Promise { function parseData (line 21) | function parseData(data: string) { FILE: docs/assets/js/main.js function s (line 1) | function s(a){var b=a.length,c=n.type(a);return"function"!==c&&!n.isWind... function x (line 1) | function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){retur... function D (line 1) | function D(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a} function G (line 1) | function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b... function I (line 1) | function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEven... function K (line 1) | function K(){Object.defineProperty(this.cache={},0,{get:function(){retur... function P (line 1) | function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.rep... function Z (line 1) | function Z(){return!0} function $ (line 1) | function $(){return!1} function _ (line 1) | function _(){try{return l.activeElement}catch(a){}} function jb (line 1) | function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeTyp... function kb (line 1) | function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a} function lb (line 1) | function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttrib... function mb (line 1) | function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",... function nb (line 1) | function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&... function ob (line 1) | function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||... function pb (line 1) | function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.ty... function sb (line 1) | function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getD... function tb (line 1) | function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(... function xb (line 1) | function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPr... function yb (line 1) | function yb(a,b){return{get:function(){return a()?void delete this.get:(... function Fb (line 1) | function Fb(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice... function Gb (line 1) | function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[... function Hb (line 1) | function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===... function Ib (line 1) | function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f... function Jb (line 1) | function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.styl... function Kb (line 1) | function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)} function Sb (line 1) | function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()} function Tb (line 1) | function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e[... function Ub (line 1) | function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.lengt... function Vb (line 1) | function Vb(a,b,c){var d,e,f,g,h,i,j,l=this,m={},o=a.style,p=a.nodeType&... function Wb (line 1) | function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a... function Xb (line 1) | function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(functio... function rc (line 1) | function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var ... function sc (line 1) | function sc(a,b,c,d){function g(h){var i;return e[h]=!0,n.each(a[h]||[],... function tc (line 1) | function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)voi... function uc (line 1) | function uc(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0]... function vc (line 1) | function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])fo... function Bc (line 1) | function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.... function Kc (line 1) | function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView} function fb (line 1) | function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)... function gb (line 1) | function gb(){function b(c,e){return a.push(c+" ")>d.cacheLength&&delete... function hb (line 1) | function hb(a){return a[u]=!0,a} function ib (line 1) | function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){re... function jb (line 1) | function jb(a,b){for(var c=a.split("|"),e=a.length;e--;)d.attrHandle[c[e... function kb (line 1) | function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sou... function nb (line 1) | function nb(a){return hb(function(b){return b=+b,hb(function(c,d){for(va... function ob (line 1) | function ob(a){return a&&typeof a.getElementsByTagName!==C&&a} function pb (line 1) | function pb(){} function qb (line 1) | function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d} function rb (line 1) | function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.firs... function sb (line 1) | function sb(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;... function tb (line 1) | function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c} function ub (line 1) | function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(... function vb (line 1) | function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)... function wb (line 1) | function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.r... function xb (line 1) | function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var... function g (line 2) | function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-siz... function x (line 3) | function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=v... function __ (line 5) | function __(){this.constructor=d} function registerService (line 5) | function registerService(constructor,name,priority){void 0===priority&&(... function registerComponent (line 5) | function registerComponent(constructor,selector,priority,namespace){void... function Application (line 5) | function Application(){var _this=_super.call(this)||this;return _this.cr... function FilterItem (line 5) | function FilterItem(key,value){this.key=key,this.value=value,this.defaul... function FilterItemCheckbox (line 5) | function FilterItemCheckbox(){return null!==_super&&_super.apply(this,ar... function FilterItemSelect (line 5) | function FilterItemSelect(){return null!==_super&&_super.apply(this,argu... function Filter (line 5) | function Filter(options){var _this=_super.call(this,options)||this;retur... function MenuHighlight (line 5) | function MenuHighlight(options){var _this=_super.call(this,options)||thi... function MenuSticky (line 5) | function MenuSticky(options){var _this=_super.call(this,options)||this;r... function createIndex (line 5) | function createIndex(){function batch(){for(var cycles=0;cycles++<100;)i... function loadIndex (line 5) | function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(... function updateResults (line 5) | function updateResults(){if(loadingState==SearchLoadingState.Ready){$res... function setLoadingState (line 5) | function setLoadingState(value){loadingState!=value&&($el.removeClass(Se... function setHasFocus (line 5) | function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleC... function setQuery (line 5) | function setQuery(value){query=$.trim(value),updateResults()} function setCurrentResult (line 5) | function setCurrentResult(dir){var $current=$results.find(".current");if... function gotoCurrentResult (line 5) | function gotoCurrentResult(){var $current=$results.find(".current");0==$... function SignatureGroup (line 5) | function SignatureGroup($signature,$description){this.$signature=$signat... function Signature (line 5) | function Signature(options){var _this=_super.call(this,options)||this;re... function Toggle (line 5) | function Toggle(options){var _this=_super.call(this,options)||this;retur... function Viewport (line 5) | function Viewport(){var _this=_super.call(this)||this;return _this.scrol... function noTransition (line 5) | function noTransition($el,callback){$el.addClass("no-transition"),callba... function animateHeight (line 5) | function animateHeight($el,callback,success){var to,from=$el.height();no... FILE: src/axis.ts type Axis (line 1) | enum Axis { FILE: src/box.ts type PointPair (line 7) | type PointPair = [number, number]; class Box (line 9) | class Box { method constructor (line 13) | constructor(min?: Vector, max?: Vector) { method anchor (line 19) | anchor(anchor: Vector): Vector { method center (line 23) | center(): Vector { method size (line 27) | size(): Vector { method contains (line 31) | contains(b: Vector): boolean { method extend (line 43) | extend(b: Box): Box { method intersect (line 49) | intersect(r: Ray): [number, number] { method partition (line 70) | partition(axis: Axis, point: number): [boolean, boolean] { function boxForShapes (line 92) | function boxForShapes(shapes: Array): Box { FILE: src/cone.ts class Cone (line 10) | class Cone implements ShapeT { method constructor (line 13) | constructor(radius: number, height: number) { method compile (line 18) | compile() { method boundingBox (line 22) | boundingBox(): Box { method contains (line 27) | contains(v: Vector, f: number): boolean { method intersect (line 32) | intersect(ray: Ray): Hit { method paths (line 69) | paths(): Paths { FILE: src/csg.ts type CSGOperation (line 8) | enum CSGOperation { class BooleanShape (line 14) | class BooleanShape implements ShapeT, FilterT { method create (line 19) | static create(op: CSGOperation, ...shapes: ShapeT[]): ShapeT { method constructor (line 30) | constructor(op: CSGOperation, a: ShapeT, b: ShapeT) { method compile (line 36) | compile() { method boundingBox (line 40) | boundingBox() { method contains (line 46) | contains(v: Vector, f: number): boolean { method intersect (line 57) | intersect(r: Ray): Hit { method paths (line 68) | paths() { method filter (line 75) | filter(v: Vector): [Vector, boolean] { FILE: src/cube.ts class Cube (line 8) | class Cube implements ShapeT { method constructor (line 12) | constructor(min: Vector, max: Vector) { method compile (line 18) | compile() { method boundingBox (line 22) | boundingBox(): Box { method contains (line 26) | contains(v: Vector, f: number): boolean { method intersect (line 39) | intersect(r: Ray): Hit { method paths (line 54) | paths(): Paths { FILE: src/cylinder.ts class Cylinder (line 10) | class Cylinder implements ShapeT { method constructor (line 15) | constructor(radius: number, z0: number, z1: number) { method compile (line 21) | compile() { method boundingBox (line 25) | boundingBox(): Box { method contains (line 32) | contains(v: Vector, f: number): boolean { method intersect (line 40) | intersect(ray: Ray): Hit { method paths (line 68) | paths(): Paths { class OutlineCylinder (line 80) | class OutlineCylinder extends Cylinder { method constructor (line 83) | constructor(eye: Vector, up: Vector, radius: number, z0: number, z1: n... method paths (line 89) | paths(): Paths { FILE: src/filter.ts type FilterT (line 6) | interface FilterT { class ClipFilter (line 10) | class ClipFilter implements FilterT { method constructor (line 14) | constructor(matrix: Matrix, eye: Vector, scene: Scene) { method filter (line 20) | filter(v: Vector): [Vector, boolean] { FILE: src/function.ts type Direction (line 10) | enum Direction { type ShapeFn (line 15) | type ShapeFn = (x: number, y: number) => number; class Function (line 17) | class Function implements ShapeT { method constructor (line 21) | constructor(fn: ShapeFn, box: Box, direction: Direction) { method compile (line 27) | compile() { method boundingBox (line 31) | boundingBox(): Box { method contains (line 35) | contains(v: Vector, eps: number): boolean { method intersect (line 42) | intersect(ray: Ray): Hit { method paths (line 54) | paths(): Paths { FILE: src/hit.ts class Hit (line 3) | class Hit { method constructor (line 7) | constructor(shape: null | ShapeT, t: number) { method ok (line 12) | ok(): boolean { method min (line 16) | min(b: Hit): Hit { method max (line 23) | max(b: Hit): Hit { FILE: src/math.ts function median (line 12) | function median(items: Float64Array): number { function lerp (line 25) | function lerp(min: number, max: number, t: number): number { function radians (line 29) | function radians(degrees: number): number { FILE: src/matrix.ts class Matrix (line 8) | class Matrix { method constructor (line 26) | constructor( method translate (line 62) | translate(v: Vector): Matrix { method scale (line 66) | scale(v: Vector): Matrix { method rotate (line 70) | rotate(v: Vector, a: number): Matrix { method frustrum (line 74) | frustrum( method orthographic (line 85) | orthographic( method perspective (line 96) | perspective(fovy: number, aspect: number, near: number, far: number): ... method mul (line 100) | mul(b: Matrix): Matrix { method mulPosition (line 137) | mulPosition(b: Vector): Vector { method mulPositionW (line 144) | mulPositionW(b: Vector): Vector { method mulDirection (line 152) | mulDirection(b: Vector): Vector { method mulRay (line 159) | mulRay(b: Ray): Ray { method mulBox (line 163) | mulBox(box: Box): Box { method transpose (line 188) | transpose(): Matrix { method determinant (line 198) | determinant(): number { method inverse (line 227) | inverse(): Matrix { function identity (line 362) | function identity(): Matrix { function translate (line 366) | function translate(v: Vector): Matrix { function scale (line 375) | function scale(v: Vector): Matrix { function rotate (line 384) | function rotate(vs: Vector, a: number): Matrix { function frustrum (line 398) | function frustrum( function orthographic (line 418) | function orthographic( function perspective (line 435) | function perspective( function lookAt (line 446) | function lookAt(eye: Vector, center: Vector, _up: Vector): Matrix { FILE: src/mesh.ts class Mesh (line 15) | class Mesh implements ShapeT { method constructor (line 21) | constructor(triangles: Triangle[]) { method compile (line 29) | compile() { method boundingBox (line 36) | boundingBox(): Box { method contains (line 40) | contains(v: Vector, f: number): boolean { method intersect (line 44) | intersect(r: Ray): Hit { method paths (line 52) | paths(): Paths { method updateBoundingBox (line 60) | updateBoundingBox(): void { method unitCube (line 64) | unitCube(): void { method moveTo (line 72) | moveTo(position: Vector, anchor: Vector): void { method fitInside (line 77) | fitInside(box: Box, anchor: Vector): void { method transform (line 94) | transform(matrix: Matrix): void { method saveBinarySTL (line 105) | saveBinarySTL(path: string): Error { method voxelize (line 110) | voxelize(size: number): Cube[] { FILE: src/obj.ts function parseIndex (line 5) | function parseIndex(value: string, length: number): number { function loadOBJ (line 17) | function loadOBJ(data: string) { FILE: src/path.ts type Path (line 7) | type Path = Array; function boundingBox (line 9) | function boundingBox(p: Path): Box { function transform (line 17) | function transform(p: Path, matrix: Matrix): Path { function chop (line 25) | function chop(p: Path, step: number): Path { function filterPaths (line 46) | function filterPaths(p: Path, f: FilterT): Paths { function simplify (line 67) | function simplify(p: Path, threshold: number): Path { function toSVG (line 91) | function toSVG(p: Path): string { FILE: src/paths.ts type Paths (line 7) | type Paths = Array; function boundingBox (line 9) | function boundingBox(p: Paths): Box { function transform (line 17) | function transform(p: Paths, matrix: Matrix): Paths { function chop (line 25) | function chop(p: Paths, step: number): Paths { function filterPaths (line 33) | function filterPaths(p: Paths, f: FilterT): Paths { function simplify (line 41) | function simplify(p: Paths, threshold: number): Paths { function toSVG (line 49) | function toSVG(p: Paths, width: number, height: number): string { FILE: src/plane.ts constant EPS (line 6) | const EPS = 1e-9; class Plane (line 8) | class Plane { method constructor (line 12) | constructor(point: Vector, normal: Vector) { method intersectSegment (line 17) | intersectSegment(v0: Vector, v1: Vector): [Vector, boolean] { method intersectTriangle (line 33) | intersectTriangle(t: Triangle): [Vector, Vector, boolean] { method intersectMesh (line 49) | intersectMesh(m: Mesh): Paths { FILE: src/ray.ts class Ray (line 3) | class Ray { method constructor (line 8) | constructor(origin: Vector, direction: Vector) { method toString (line 13) | toString() { method position (line 17) | position(t: number): Vector { FILE: src/scene.ts class Scene (line 11) | class Scene { method constructor (line 15) | constructor() { method compile (line 20) | compile() { method add (line 27) | add(shape: ShapeT) { method intersect (line 31) | intersect(ray: Ray): Hit { method visible (line 35) | visible(eye: Vector, point: Vector): boolean { method paths (line 42) | paths(): PathsT { method render (line 51) | render( method renderWithMatrix (line 68) | renderWithMatrix( FILE: src/set.ts type Hashable (line 1) | interface Hashable { class HashSet (line 5) | class HashSet { method constructor (line 8) | constructor() { method add (line 13) | add(item: T): void { method has (line 21) | has(item: T): boolean { method forEach (line 26) | forEach(callback: (v: T, i: number) => void): void { FILE: src/shape.ts type ShapeT (line 9) | interface ShapeT { class TransformedShape (line 17) | class TransformedShape implements ShapeT { method constructor (line 21) | constructor(shape: ShapeT, matrix: Matrix) { method compile (line 27) | compile() { method boundingBox (line 31) | boundingBox(): Box { method contains (line 35) | contains(v: Vector, f: number): boolean { method intersect (line 39) | intersect(r: Ray): Hit { method paths (line 43) | paths(): PathsT { class EmptyShape (line 49) | class EmptyShape implements ShapeT { method compile (line 50) | compile() { method boundingBox (line 53) | boundingBox() { method contains (line 59) | contains(v: Vector, f: number): boolean { method intersect (line 63) | intersect(r: Ray): Hit { method paths (line 67) | paths() { FILE: src/sphere.ts class Sphere (line 10) | class Sphere implements ShapeT { method constructor (line 14) | constructor(center: Vector, radius: number) { method compile (line 31) | compile() { method boundingBox (line 35) | boundingBox() { method contains (line 39) | contains(v: Vector, f: number): boolean { method intersect (line 43) | intersect(r: Ray): Hit { method paths (line 63) | paths(): Paths { class OutlineSphere (line 87) | class OutlineSphere extends Sphere { method constructor (line 91) | constructor(eye: Vector, up: Vector, center: Vector, radius: number) { method paths (line 97) | paths(): Paths { function latLngToXYZ (line 124) | function latLngToXYZ(lat: number, lng: number, radius: number): Vector { FILE: src/stl.ts type float32arr (line 1) | type float32arr = [number, number, number]; class STLTriangle (line 3) | class STLTriangle { method constructor (line 8) | constructor(v1: float32arr, v2: float32arr, v3: float32arr) { FILE: src/tree.ts class Tree (line 8) | class Tree { method constructor (line 11) | constructor(shapes: Array) { method intersect (line 18) | intersect(r: Ray): Hit { class Node (line 28) | class Node { method constructor (line 34) | constructor(shapes: Array) { method intersect (line 42) | intersect(r: Ray, tmin: number, tmax: number): Hit { method intersectShapes (line 93) | intersectShapes(r: Ray): Hit { method partitionScore (line 104) | partitionScore(axis: Axis, point: number): number { method partition (line 124) | partition( method split (line 144) | split(depth: number) { FILE: src/triangle.ts constant EPS (line 8) | const EPS = 1e-9; class Triangle (line 10) | class Triangle implements ShapeT { method constructor (line 15) | constructor(v1: Vector, v2: Vector, v3: Vector) { method toString (line 22) | toString() { method calculateBoundingBox (line 26) | calculateBoundingBox(): Box { method updateBoundingBox (line 32) | updateBoundingBox(): void { method compile (line 37) | compile() { method boundingBox (line 41) | boundingBox(): Box { method contains (line 45) | contains(v: Vector, f: number): boolean { method intersect (line 49) | intersect(r: Ray): Hit { method paths (line 86) | paths(): Paths { FILE: src/vector.ts class Vector (line 3) | class Vector implements Hashable { method constructor (line 8) | constructor(x: number, y: number, z: number) { method hashCode (line 14) | hashCode(): string { method toString (line 19) | toString() { method length (line 23) | length(): number { method distance (line 27) | distance(b: Vector): number { method lengthSquared (line 31) | lengthSquared(): number { method distanceSquared (line 36) | distanceSquared(b: Vector): number { method dot (line 40) | dot(b: Vector): number { method cross (line 45) | cross(b: Vector): Vector { method normalize (line 52) | normalize(): Vector { method add (line 57) | add(b: Vector): Vector { method sub (line 62) | sub(b: Vector): Vector { method mul (line 67) | mul(b: Vector): Vector { method div (line 72) | div(b: Vector): Vector { method addScalar (line 77) | addScalar(b: number): Vector { method subScalar (line 82) | subScalar(b: number): Vector { method multiplyScalar (line 87) | multiplyScalar(b: number): Vector { method divScalar (line 92) | divScalar(b: number): Vector { method min (line 97) | min(b: Vector): Vector { method max (line 104) | max(b: Vector): Vector { method minAxis (line 111) | minAxis(): Vector { method minComponent (line 124) | minComponent(): number { method segmentDistance (line 128) | segmentDistance(v: Vector, w: Vector): number {