Home Reference Source

Function

Static Public Summary
public

Ease()

The Ease class provides a collection of easing functions for use with TweenJS.

public

IsMobile(): *

public

NumberSliderBase(cls: *, skip: *, defaults: *): *

public

aabb_intersect_2d(pos1: *, size1: *, pos2: *, size2: *): *

Returns aabb that's the intersection of two aabbs

public

aabb_intersect_3d(min1: *, max1: *, min2: *, max2: *): boolean

public

aabb_isect_2d(pos1: *, size1: *, pos2: *, size2: *): *

Returns true if two aabbs intersect

public

aabb_isect_3d(pos1: *, size1: *, pos2: *, size2: *): *

public

aabb_isect_cylinder_3d(v1: *, v2: *, radius: *, min: *, max: *): *

public

aabb_isect_line_2d(v1: *, v2: *, min: *, max: *): boolean

public

aabb_isect_line_3d(v1: *, v2: *, min: *, max: *): *

public

aabb_overlap_area(pos1: *, size1: *, pos2: *, size2: *): *

public

aabb_sphere_dist(p: *, min: *, max: *): *

public

aabb_sphere_isect(p: *, r: *, min: *, max: *): boolean

public

aabb_sphere_isect_2d(p: *, r: *, min: *, max: *): *

public

aabb_union(a: *, b: *): *

AABB union of a and b.

public

aabb_union_2d(pos1: *, size1: *, pos2: *, size2: *): *

public

atob(buf: *): *

public

barycentric_v2(p: *, v1: *, v2: *, v3: *, axis1: number, axis2: number, out: *): *

public

binomial(n: *, i: *): *

public

binomial(n: *, i: *): *

public

btoa(buf: *): *

public
public

buildString(value: *, unit:: *): *

public

buildToolSysAPI(api: *, registerWithNStructjs: boolean, rootCtxStruct: *)

public

calcThemeKey(digest: *): *

public
public

circ_from_line_tan(a: *, b: *, t: *): *

public

circ_from_line_tan_2d(a: *, b: *, t: *): *

public
public

clip_line_w(_v1: *, _v2: *, znear: *, zfar: *): *

public

closestPoint(p: *, curve: *, mode: *)

public

closest_point_on_line(p: *, v1: *, v2: *, clip: boolean): *

public

closest_point_on_quad(p: *, v1: *, v2: *, v3: *, v4: *, n: *, uvw: *): *

public

closest_point_on_tri(p: *, v1: *, v2: *, v3: *, n: *, uvw: *): *

public

cmyk_to_rgb(c: *, m: *, y: *, k: *): *

public

colinear(a: *, b: *, c: *, limit: number): *

public

color2css(c: *, alpha_override: *): string

public

color2css(c: *): *

public

color2web(color: *): *

public

convert(value: *, unita: *, unitb: *): *

public

convex_quad(v1: *, v2: *, v3: *, v4: *): *

public

copyEvent(e: *): *

public

copyMouseEvent(e: *): *

public

corner_normal(vec1: *, vec2: *, width: *): *

public

count(iterable: *, searchItem: *): *

Count items in list; if searchItem is not undefined then a count of the number of times searchItem occurs will be returned.

public

createMenu(ctx: *, title: *, templ: *): *

public

css2color(color: *): *

public

css2matrix(s: *): *

public

dihedral_v3_sqr(v1: *, v2: *, v3: *, v4: *): *

v2

public

dist_to_line(p: *, v1: *, v2: *, clip: boolean): *

public

dist_to_line_2d(p: *, v1: *, v2: *, clip: *, closest_co_out: *, t_out: *): *

public

dist_to_line_sqr(p: *, v1: *, v2: *, clip: boolean): *

public

dist_to_tri_v3(p: *, v1: *, v2: *, v3: *, n: *): *

public

dist_to_tri_v3_old(co: *, v1: *, v2: *, v3: *, no: *): *

public

dist_to_tri_v3_sqr(p: *, v1: *, v2: *, v3: *, n: *): *

public

drawRoundBox(elem: *, canvas: *, g: *, width: *, height: *, r: *, op: string, color: *, margin: *, no_clear: boolean)

okay, I need to refactor this function, it needs to take x, y as well as width, height, and be usable for more use cases.

public

drawRoundBox2(elem: *, options: {})

public

drawText(elem: *, x: *, y: *, text: *, args: {})

public

error(screen: *, msg: *, timeout: *): *

public

evalHermiteTable(table: *, t: *): *

public

eventWasTouch(e: *): *

Returns true if event came from a touchscreen or pen device

public

expand_line(l: *, margin: *): *

public

expand_rect2d(pos: *, size: *, margin: *)

public

exportTheme(theme1: *, addVarDecl: boolean): *

public

fetch_file(path: *): *

public
public

formatNumberUI(val: *, isInt: boolean, decimals: number): *

public

genHermiteTable(evaluate: *, steps: *): *

public

gen_circle(m: *, origin: *, r: *, stfeps: *): *

public

getAllKeys(obj: *): *

public

getAreaIntName(name: *): *

public

getClassParent(cls: *): *

public

getCurve(type: *, throw_on_error: boolean): *

public
public

getDefault(key: *, elem: *): *

public

getEndian(): *

public

getExtension(path: *): *

public

getFieldImage(size: *, hsva: *): *

public

getFieldImage(fieldsize: *, width: *, height: *, hsva: *): *

public

getFont(elem: *, size: *, font: string, do_dpi: boolean): *

public

getHueField(width: *, height: *, dpi: *): *

public
public

getImageData(image: *): *

public

getLastToolStruct(ctx: *): *

public

getMime(path: *): string

public

getNoteFrames(screen: *): *

public
public

getTagPrefix(prefix: *): *

public

getTempProp(type: *): *

public

getVecClass(proptype: *): *

public

getWebFilters(filters: *[]): *

public
public

get_boundary_winding(points: *): *

public

get_rect_lines(p: *, size: *): *

public

get_rect_points(p: *, size: *): *

public

get_tri_circ(a: *, b: *, c: *): *

public

graphGetIslands(nodes: *): *

public

graphPack(nodes: *, margin: number, steps: number, updateCb: *): {"stop": *}

public

hashjoin(hash: *, val: *)

public

haveModal(): *

public

hsv_to_rgb(h: *, s: *, v: *): *

public

hsv_to_rgb(h: *, s: *, v: *): *

public
public

inherit(child: *, parent: *, structName: *): *

public

initAspectClass(object: *, blacklist: *)

public

initPage(ctx: *, xml: *, parentContainer: *, templateVars: {}, templateScope: {}): *

public
public
public
public

inrect_2d(p: *, pos: *, size: *): *

public

inv_sample(u: *, v: *): *

public

inv_sample(u: *, v: *): *

public
public

isDenormal(f: *): *

public

isLeftClick(e: *): *

public

isMimeText(mime: *): *

public

isMobile(): *

public

isModalHead(owner: *): *

public

isMouseDown(e: *): *

public

isNum(f: *): *

public

isNumber(string: *): boolean

public

isRegistered(cls: *): *

public

isVecProperty(prop: *): *

public

isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): *

public

line_isect(v1: *, v2: *, v3: *, v4: *, calc_t: *): undefined[]

public

line_line_cross(v1: *, v2: *, v3: *, v4: *): *

public

line_line_isect(v1: *, v2: *, v3: *, v4: *, test_segment: *): *

public

list(iterable: *): *

public
public

loadFile(filename: string, exts: *[]): *

public

loadFile(appstate: *, args: *, data: *): *

public
public

loadPage(ctx: *, url: *, parentContainer_or_args: *, loadSourceOnly: boolean, modifySourceCB: *, templateVars: *, templateScope: *): *

public

loadPath(node: *, key: *, json: *)

public

loadUIData(node: *, buf: *)

public

loadUIData(node: *, json: *)

public

makeAPI(ctxClass: *): *

public

makeCircleMesh(gl: *, radius: *, stfeps: *): *

public
public

makeIconDiv(icon: *, sheet: number): *

public

makeParser(): *

public

makePopupArea(area_class: *, screen: *, args: {}): *

public
public

measureText(elem: *, text: *, canvas: *, g: *, size: *, font: *): *

public

measureTextBlock(elem: *, text: *, canvas: *, g: *, size: *, font: *): *

public

merge(obja: *, objb: *): *

public

mesh_find_tangent(mesh: *, viewvec: *, offvec: *, projmat: *, verts: *): *

public

message(screen: *, msg: *, timeout: *): *

public

minmax_verts(verts: *): undefined[]

public

mySafeJSONParse(buf: *): *

public

mySafeJSONParse(buf: *): *

public

mySafeJSONStringify(obj: *): *

public

mySafeJSONStringify(obj: *): *

public

normal_poly(vs: *): *

public

normal_quad(v1: *, v2: *, v3: *, v4: *): *

public

normal_quad_old(v1: *, v2: *, v3: *, v4: *): *

public

normal_tri(v1: *, v2: *, v3: *): *

public

parseExpr(s: *): *

public

parseToolPath(str: *, check_tool_exists: boolean): {"toolclass": *, "args": *}

public

parseValue(string: *, baseUnit: *, displayUnit: *): *

public

parseValueIntern(string: *, baseUnit: *): *

public

parseXML(xml: *): *

public

parsepx(css: *): *

public

pathDebugEvent(e: *, extra: *)

public

point_in_aabb(p: *, min: *, max: *): *

public

point_in_aabb_2d(p: *, min: *, max: *): *

public

point_in_hex(p: *, boxverts: *, boxfacecents: *, boxfacenormals: *): *

public

point_in_tri(p: *, v1: *, v2: *, v3: *): *

public

pollTimer(id: *, interval: *): boolean

public

popModalLight(state: *)

public
public

print_stack(err: *)

public

progbarNote(screen: *, msg: *, percent: *, color: *, timeout: *)

public

project(vec: *, pers: *, view: *): *

public
public

pushModal(dom: *, handlers: *): *

public

pushModalLight(obj: *, autoStopPropagation: boolean, elem: *, pointerId: *): *

public

pushPointerModal(obj: *, elem: *, pointerId: *, autoStopPropagation: boolean): *

public

pushReportName(name: *)

public

quad_bilinear(v1: *, v2: *, v3: *, v4: *, u: *, v: *): *

public

random(): *

public

readJSON(json: *, class_or_struct_id: *): *

public

readObject(data: *): *

public

register(cls: *, structName: *): *

Register a class with nstructjs *

public
public
public

registerTool(cls: *): *

public
public
public

report()

public

rgb_to_cmyk(r: *, g: *, b: *): *

public

rgb_to_hsv(r: *, g: *, b: *): *

public

rgb_to_hsv(r: *, g: *, b: *): *

public

rot2d(v1: *, A: *, axis: *)

public

sample(u: *, v: *): *

public

sample(u: *, v: *): *

public

saveFile(data: *, filename: string, exts: *[], mime: string)

public

saveFile(appstate: *, args: *, objects: *): *

public

saveUIData(node: *, key: *): *

Saves UI layout data, like panel layouts, active tabs, etc.

public

saveUIData(node: *, key: *): *

public

seed(n: *)

public

sendNote(screen: *, msg: *, color: *, timeout: number, showExclMark: boolean)

public
public

setAreaTypes(def: *)

public

setBaseUnit(unit: *)

public
public

setConfig(obj: *)

public

setContextClass(cls: *)

public
public

setDebugMode(t: *)

public

setDefaultUndoHandlers(undoPre: *, undo: *)

public

setEndian(mode: *)

public

setIconManager(manager: *, IconSheetsOverride: *)

public

setIconMap(icons: *)

public
public

setKeyboardDom(dom: *)

public

setKeyboardOpts(opts: *)

Sets options passed to addEventListener() for on_keydown hotkey handler

public

setMetric(val: *)

public

setNotifier(cls: *)

public

setPropTypes(types: *)

public

setRootStruct(val: *): *

public

setScreenClass(cls: *)

public

setScreenClass(cls: *)

public

setTagPrefix(prefix: *)

Sets tag prefix for pathux html elements.

public

setTheme(theme2: *)

public
public

setUIBase(cls: *)

public
public

setWranglerScreen(screen: *)

public

simple_tri_aabb_isect(v1: *, v2: *, v3: *, min: *, max: *): boolean

public

singleMouseEvent(cb: *, type: *): *

adds a mouse event callback that only gets called once

public

snap(c: *, snap_limit: *): *

public

snapi(c: *, snap_limit: *): *

public

startEvents(getScreenFunc: *)

public

startMenu(menu: *, x: *, y: *, searchMenuMode: boolean, safetyDelay: number)

public
public
public

stopEvents(): *

public

strhash(str: *): *

public

styleScrollBars(color: string, color2: *, contrast: number, width: number, border: string, selector: string): *

public

termColor(s: *, c: *, d: number): *

public

termPrint(): *

public

test(): *

public
public
public

tet_volume(a: *, b: *, c: *, d: *): *

public

time_ms(): *

public

tri_angles(v1: *, v2: *, v3: *): *

public

tri_area(v1: *, v2: *, v3: *): *

public

trilinear_co(p: *, boxverts: *): *

public

trilinear_co2(p: *, boxverts: *, uvw: *): *

public

trilinear_v3(uvw: *, boxverts: *): *

public

unproject(vec: *, ipers: *, iview: *): *

public

unregister(cls: *)

public

validateCSSColor(color: *): *

public

validateStructs(onerror: *): *

public

validateWebColor(str: *): *

public

warning(screen: *, msg: *, timeout: *): *

public

web2color(str: *): *

public

winding(a: *, b: *, c: *, zero_z: *, tol: number): *

public

winding_axis(a: *, b: *, c: *, up_axis: *): *

public

writeJSON(obj: *): *

public

writeObject(data: *): *

public

write_scripts(nManager: *, include_code: *): *

Write all defined structs out to a string.

Static Private Summary
private

_ensureFont(elem: *, canvas: *, g: *, size: *)

private

_getFont(elem: *, size: *, font: string, do_dpi: boolean): *

private

_getFont_new(elem: *, size: *, font: string, do_dpi: boolean): *

private

_old_isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): *

private
private

_onEventsStop(cb: *)

private

_setAreaClass(cls: *)

private
private

_setScreenClass(cls: *)

private
private

_setUIBase(uibase: *)

private

Static Public

public Ease() source

The Ease class provides a collection of easing functions for use with TweenJS. It does not use the standard 4 param easing signature. Instead it uses a single param which indicates the current linear ratio (0 to 1) of the tween.

Most methods on Ease can be passed directly as easing functions:

 createjs.Tween.get(target).to({x:100}, 500, createjs.Ease.linear);

However, methods beginning with "get" will return an easing function based on parameter values:

 createjs.Tween.get(target).to({y:200}, 500, createjs.Ease.getPowIn(2.2));

Please see the spark table demo for an overview of the different ease types on TweenJS.com.

<em>Equations derived from work by Robert Penner.</em>

public IsMobile(): * source

import {IsMobile} from './scripts/core/ui_base.js'

Return:

*

public NumberSliderBase(cls: *, skip: *, defaults: *): * source

import {NumberSliderBase} from './scripts/widgets/ui_numsliders.js'

Params:

NameTypeAttributeDescription
cls *
  • optional
  • default: UIBase
skip *
  • optional
defaults *
  • optional
  • default: SliderDefaults

Return:

*

public aabb_intersect_2d(pos1: *, size1: *, pos2: *, size2: *): * source

import {aabb_intersect_2d} from './scripts/path-controller/util/math.js'

Returns aabb that's the intersection of two aabbs

Params:

NameTypeAttributeDescription
pos1 *
size1 *
pos2 *
size2 *

Return:

*

public aabb_intersect_3d(min1: *, max1: *, min2: *, max2: *): boolean source

import {aabb_intersect_3d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
min1 *
max1 *
min2 *
max2 *

Return:

boolean

public aabb_isect_2d(pos1: *, size1: *, pos2: *, size2: *): * source

import {aabb_isect_2d} from './scripts/path-controller/util/math.js'

Returns true if two aabbs intersect

Params:

NameTypeAttributeDescription
pos1 *
size1 *
pos2 *
size2 *

Return:

*

public aabb_isect_3d(pos1: *, size1: *, pos2: *, size2: *): * source

import {aabb_isect_3d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
pos1 *
size1 *
pos2 *
size2 *

Return:

*

public aabb_isect_cylinder_3d(v1: *, v2: *, radius: *, min: *, max: *): * source

import {aabb_isect_cylinder_3d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
radius *
min *
max *

Return:

*

public aabb_isect_line_2d(v1: *, v2: *, min: *, max: *): boolean source

import {aabb_isect_line_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
min *
max *

Return:

boolean

public aabb_isect_line_3d(v1: *, v2: *, min: *, max: *): * source

import {aabb_isect_line_3d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
min *
max *

Return:

*

public aabb_overlap_area(pos1: *, size1: *, pos2: *, size2: *): * source

import {aabb_overlap_area} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
pos1 *
size1 *
pos2 *
size2 *

Return:

*

public aabb_sphere_dist(p: *, min: *, max: *): * source

import {aabb_sphere_dist} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
min *
max *

Return:

*

public aabb_sphere_isect(p: *, r: *, min: *, max: *): boolean source

import {aabb_sphere_isect} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
r *
min *
max *

Return:

boolean

public aabb_sphere_isect_2d(p: *, r: *, min: *, max: *): * source

import {aabb_sphere_isect_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
r *
min *
max *

Return:

*

public aabb_union(a: *, b: *): * source

import {aabb_union} from './scripts/path-controller/util/math.js'

AABB union of a and b. Result is in a.

Params:

NameTypeAttributeDescription
a *

List of two vectors

b *

List of two vectors

Return:

*

a

public aabb_union_2d(pos1: *, size1: *, pos2: *, size2: *): * source

import {aabb_union_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
pos1 *
size1 *
pos2 *
size2 *

Return:

*

public atob(buf: *): * source

Params:

NameTypeAttributeDescription
buf *

Return:

*

public barycentric_v2(p: *, v1: *, v2: *, v3: *, axis1: number, axis2: number, out: *): * source

import {barycentric_v2} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *
axis1 number
  • optional
  • default: 0
axis2 number
  • optional
  • default: 1
out *
  • optional
  • default: undefined

Return:

*

public binomial(n: *, i: *): * source

Params:

NameTypeAttributeDescription
n *
i *

Return:

*

public binomial(n: *, i: *): * source

Params:

NameTypeAttributeDescription
n *
i *

Return:

*

public btoa(buf: *): * source

Params:

NameTypeAttributeDescription
buf *

Return:

*

public buildParser(): * source

Return:

*

public buildString(value: *, unit:: *): * source

import {buildString} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
value *

Note: is not converted to internal unit

unit: *

Unit to use, should be a string referencing unit type, see unitDefine().name

Return:

*

public buildToolSysAPI(api: *, registerWithNStructjs: boolean, rootCtxStruct: *) source

import {buildToolSysAPI} from './scripts/path-controller/toolsys/toolsys.js'

Params:

NameTypeAttributeDescription
api *
registerWithNStructjs boolean
  • optional
  • default: true
rootCtxStruct *
  • optional
  • default: undefined

public calcThemeKey(digest: *): * source

import {calcThemeKey} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
digest *
  • optional

Return:

*

public calc_projection_axes(no: *): * source

import {calc_projection_axes} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
no *

Return:

*

public circ_from_line_tan(a: *, b: *, t: *): * source

import {circ_from_line_tan} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
a *
b *
t *

Return:

*

public circ_from_line_tan_2d(a: *, b: *, t: *): * source

import {circ_from_line_tan_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
a *
b *
t *

Return:

*

public clearAspectCallbacks(obj: *) source

import {clearAspectCallbacks} from './scripts/core/aspect.js'

Params:

NameTypeAttributeDescription
obj *

public clip_line_w(_v1: *, _v2: *, znear: *, zfar: *): * source

import {clip_line_w} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
_v1 *
_v2 *
znear *
zfar *

Return:

*

public closestPoint(p: *, curve: *, mode: *) source

import {closestPoint} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
curve *
mode *

public closest_point_on_line(p: *, v1: *, v2: *, clip: boolean): * source

import {closest_point_on_line} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
clip boolean
  • optional
  • default: true

Return:

*

public closest_point_on_quad(p: *, v1: *, v2: *, v3: *, v4: *, n: *, uvw: *): * source

import {closest_point_on_quad} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *
v4 *
n *
uvw *

Return:

*

public closest_point_on_tri(p: *, v1: *, v2: *, v3: *, n: *, uvw: *): * source

import {closest_point_on_tri} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *
n *
uvw *

Return:

*

public cmyk_to_rgb(c: *, m: *, y: *, k: *): * source

Params:

NameTypeAttributeDescription
c *
m *
y *
k *

Return:

*

public colinear(a: *, b: *, c: *, limit: number): * source

Params:

NameTypeAttributeDescription
a *
b *
c *
limit number
  • optional
  • default: 2.2e-16

Return:

*

public color2css(c: *, alpha_override: *): string source

import {color2css} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
c *
alpha_override *

Return:

string

public color2css(c: *): * source

import {color2css} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
c *

Return:

*

public color2web(color: *): * source

import {color2web} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
color *

Return:

*

public convert(value: *, unita: *, unitb: *): * source

import {convert} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
value *
unita *
unitb *

Return:

*

public convex_quad(v1: *, v2: *, v3: *, v4: *): * source

import {convex_quad} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *

Return:

*

public copyEvent(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public copyMouseEvent(e: *): * source

import {copyMouseEvent} from './scripts/path-controller/util/events.js'

Params:

NameTypeAttributeDescription
e *

Return:

*

public corner_normal(vec1: *, vec2: *, width: *): * source

import {corner_normal} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
vec1 *
vec2 *
width *

Return:

*

public count(iterable: *, searchItem: *): * source

Count items in list; if searchItem is not undefined then a count of the number of times searchItem occurs will be returned.

Params:

NameTypeAttributeDescription
iterable *
searchItem *
  • optional
  • default: undefined

Return:

*

public createMenu(ctx: *, title: *, templ: *): * source

import {createMenu} from './scripts/widgets/ui_menu.js'

Params:

NameTypeAttributeDescription
ctx *
title *
templ *

Return:

*

public css2color(color: *): * source

import {css2color} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
color *

Return:

*

public css2matrix(s: *): * source

Params:

NameTypeAttributeDescription
s *

Return:

*

public dihedral_v3_sqr(v1: *, v2: *, v3: *, v4: *): * source

import {dihedral_v3_sqr} from './scripts/path-controller/util/math.js'

v2

v1------v3

v4

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *

Return:

*

public dist_to_line(p: *, v1: *, v2: *, clip: boolean): * source

import {dist_to_line} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
clip boolean
  • optional
  • default: true

Return:

*

public dist_to_line_2d(p: *, v1: *, v2: *, clip: *, closest_co_out: *, t_out: *): * source

import {dist_to_line_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
clip *
closest_co_out *
  • optional
  • default: undefined
t_out *
  • optional
  • default: undefined

Return:

*

public dist_to_line_sqr(p: *, v1: *, v2: *, clip: boolean): * source

import {dist_to_line_sqr} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
clip boolean
  • optional
  • default: true

Return:

*

public dist_to_tri_v3(p: *, v1: *, v2: *, v3: *, n: *): * source

import {dist_to_tri_v3} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *
n *

Return:

*

public dist_to_tri_v3_old(co: *, v1: *, v2: *, v3: *, no: *): * source

import {dist_to_tri_v3_old} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
co *
v1 *
v2 *
v3 *
no *
  • optional
  • default: undefined

Return:

*

public dist_to_tri_v3_sqr(p: *, v1: *, v2: *, v3: *, n: *): * source

import {dist_to_tri_v3_sqr} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *
n *

Return:

*

public drawRoundBox(elem: *, canvas: *, g: *, width: *, height: *, r: *, op: string, color: *, margin: *, no_clear: boolean) source

import {drawRoundBox} from './scripts/core/ui_base.js'

okay, I need to refactor this function, it needs to take x, y as well as width, height, and be usable for more use cases.

Params:

NameTypeAttributeDescription
elem *
canvas *
g *
width *
height *
r *
  • optional
  • default: undefined
op string
  • optional
  • default: fill
color *
  • optional
  • default: undefined
margin *
  • optional
  • default: undefined
no_clear boolean
  • optional
  • default: false

public drawRoundBox2(elem: *, options: {}) source

import {drawRoundBox2} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
options {}
  • optional
  • default: {}

public drawText(elem: *, x: *, y: *, text: *, args: {}) source

import {drawText} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
x *
y *
text *
args {}
  • optional
  • default: {}

public error(screen: *, msg: *, timeout: *): * source

import {error} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *
msg *
timeout *

Return:

*

public evalHermiteTable(table: *, t: *): * source

import {evalHermiteTable} from './scripts/path-controller/curve/curve1d_base.js'

Params:

NameTypeAttributeDescription
table *
t *

Return:

*

public eventWasTouch(e: *): * source

Returns true if event came from a touchscreen or pen device

Params:

NameTypeAttributeDescription
e *

Return:

*

public expand_line(l: *, margin: *): * source

import {expand_line} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
l *
margin *

Return:

*

public expand_rect2d(pos: *, size: *, margin: *) source

import {expand_rect2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
pos *
size *
margin *

public exportTheme(theme1: *, addVarDecl: boolean): * source

import {exportTheme} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
theme1 *
  • optional
  • default: theme
addVarDecl boolean
  • optional
  • default: true

Return:

*

public fetch_file(path: *): * source

import {fetch_file} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
path *

Return:

*

public flagThemeUpdate() source

import {flagThemeUpdate} from './scripts/core/ui_base.js'

public formatNumberUI(val: *, isInt: boolean, decimals: number): * source

import {formatNumberUI} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
val *
isInt boolean
  • optional
  • default: false
decimals number
  • optional
  • default: 5

Return:

*

public genHermiteTable(evaluate: *, steps: *): * source

import {genHermiteTable} from './scripts/path-controller/curve/curve1d_base.js'

Params:

NameTypeAttributeDescription
evaluate *
steps *

Return:

*

public gen_circle(m: *, origin: *, r: *, stfeps: *): * source

import {gen_circle} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
m *
origin *
r *
stfeps *

Return:

*

public getAllKeys(obj: *): * source

import {getAllKeys} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public getAreaIntName(name: *): * source

import {getAreaIntName} from './scripts/screen/area_wrangler.js'

Params:

NameTypeAttributeDescription
name *

Return:

*

public getClassParent(cls: *): * source

import {getClassParent} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
cls *

Return:

*

public getCurve(type: *, throw_on_error: boolean): * source

Params:

NameTypeAttributeDescription
type *
throw_on_error boolean
  • optional
  • default: true

Return:

*

public getDataPathToolOp(): * source

import {getDataPathToolOp} from './scripts/path-controller/controller/controller.js'

Return:

*

public getDefault(key: *, elem: *): * source

import {getDefault} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
key *
elem *

Return:

*

public getEndian(): * source

Return:

*

public getExtension(path: *): * source

import {getExtension} from './scripts/platforms/platform_base.js'

Params:

NameTypeAttributeDescription
path *

Return:

*

public getFieldImage(size: *, hsva: *): * source

import {getFieldImage} from './scripts/widgets/ui_colorpicker.js'

Params:

NameTypeAttributeDescription
size *
hsva *

Return:

*

public getFieldImage(fieldsize: *, width: *, height: *, hsva: *): * source

import {getFieldImage} from './scripts/widgets/ui_colorpicker2.js'

Params:

NameTypeAttributeDescription
fieldsize *
width *
height *
hsva *

Return:

*

public getFont(elem: *, size: *, font: string, do_dpi: boolean): * source

import {getFont} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
size *
font string
  • optional
  • default: DefaultText
do_dpi boolean
  • optional
  • default: true

Return:

*

public getHueField(width: *, height: *, dpi: *): * source

import {getHueField} from './scripts/widgets/ui_colorpicker2.js'

Params:

NameTypeAttributeDescription
width *
height *
dpi *

Return:

*

public getIconManager(): * source

import {getIconManager} from './scripts/core/ui_base.js'

Return:

*

public getImageData(image: *): * source

import {getImageData} from './scripts/path-controller/util/image.js'

Params:

NameTypeAttributeDescription
image *

Return:

*

public getLastToolStruct(ctx: *): * source

import {getLastToolStruct} from './scripts/widgets/ui_lasttool.js'

Params:

NameTypeAttributeDescription
ctx *

Return:

*

public getMime(path: *): string source

import {getMime} from './scripts/platforms/platform_base.js'

Params:

NameTypeAttributeDescription
path *

Return:

string

public getNoteFrames(screen: *): * source

import {getNoteFrames} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *

Return:

*

public getPlatformAsync(): * source

import {getPlatformAsync} from './scripts/platforms/platform.js'

Return:

*

public getTagPrefix(prefix: *): * source

import {getTagPrefix} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
prefix *

Return:

*

public getTempProp(type: *): * source

Params:

NameTypeAttributeDescription
type *

Return:

*

public getVecClass(proptype: *): * source

Params:

NameTypeAttributeDescription
proptype *

Return:

*

public getWebFilters(filters: *[]): * source

import {getWebFilters} from './scripts/platforms/web/web_api.js'

Params:

NameTypeAttributeDescription
filters *[]
  • optional
  • default: []

Return:

*

public getWranglerScreen(): * source

import {getWranglerScreen} from './scripts/widgets/ui_menu.js'

Return:

*

public get_boundary_winding(points: *): * source

import {get_boundary_winding} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
points *

Return:

*

public get_rect_lines(p: *, size: *): * source

import {get_rect_lines} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
size *

Return:

*

public get_rect_points(p: *, size: *): * source

import {get_rect_points} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
size *

Return:

*

public get_tri_circ(a: *, b: *, c: *): * source

import {get_tri_circ} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
a *
b *
c *

Return:

*

public graphGetIslands(nodes: *): * source

import {graphGetIslands} from './scripts/util/graphpack.js'

Params:

NameTypeAttributeDescription
nodes *

Return:

*

public graphPack(nodes: *, margin: number, steps: number, updateCb: *): {"stop": *} source

import {graphPack} from './scripts/util/graphpack.js'

Params:

NameTypeAttributeDescription
nodes *
margin number
  • optional
  • default: 15
steps number
  • optional
  • default: 10
updateCb *
  • optional
  • default: undefined

Return:

{"stop": *}

public hashjoin(hash: *, val: *) source

Params:

NameTypeAttributeDescription
hash *
val *

public haveModal(): * source

Return:

*

public hsv_to_rgb(h: *, s: *, v: *): * source

Params:

NameTypeAttributeDescription
h *
s *
v *

Return:

*

public hsv_to_rgb(h: *, s: *, v: *): * source

import {hsv_to_rgb} from './scripts/widgets/ui_colorpicker.js'

Params:

NameTypeAttributeDescription
h *
s *
v *

Return:

*

public iconSheetFromPackFlag(flag: *): number source

import {iconSheetFromPackFlag} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
flag *

Return:

number

public inherit(child: *, parent: *, structName: *): * source

Params:

NameTypeAttributeDescription
child *
parent *
structName *
  • optional

Return:

*

public initAspectClass(object: *, blacklist: *) source

import {initAspectClass} from './scripts/core/aspect.js'

Params:

NameTypeAttributeDescription
object *
blacklist *
  • optional

public initPage(ctx: *, xml: *, parentContainer: *, templateVars: {}, templateScope: {}): * source

import {initPage} from './scripts/xmlpage/xmlpage.js'

Params:

NameTypeAttributeDescription
ctx *
xml *
parentContainer *
  • optional
  • default: undefined
templateVars {}
  • optional
  • default: {}
templateScope {}
  • optional
  • default: {}

Return:

*

public initSimpleController() source

import {initSimpleController} from './scripts/path-controller/controller/controller.js'

public initSplineTemplates() source

import {initSplineTemplates} from './scripts/path-controller/curve/curve1d_bspline.js'

public initToolPaths() source

import {initToolPaths} from './scripts/path-controller/toolsys/toolpath.js'

public inrect_2d(p: *, pos: *, size: *): * source

import {inrect_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
pos *
size *

Return:

*

public inv_sample(u: *, v: *): * source

import {inv_sample} from './scripts/widgets/ui_colorpicker.js'

Params:

NameTypeAttributeDescription
u *
v *

Return:

*

public inv_sample(u: *, v: *): * source

import {inv_sample} from './scripts/widgets/ui_colorpicker2.js'

Params:

NameTypeAttributeDescription
u *
v *

Return:

*

public invertTheme() source

import {invertTheme} from './scripts/core/ui_theme.js'

public isDenormal(f: *): * source

import {isDenormal} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
f *

Return:

*

public isLeftClick(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public isMimeText(mime: *): * source

import {isMimeText} from './scripts/platforms/platform_base.js'

Params:

NameTypeAttributeDescription
mime *

Return:

*

public isMobile(): * source

Return:

*

public isModalHead(owner: *): * source

import {isModalHead} from './scripts/path-controller/util/events.js'

Params:

NameTypeAttributeDescription
owner *

Return:

*

public isMouseDown(e: *): * source

Params:

NameTypeAttributeDescription
e *

Return:

*

public isNum(f: *): * source

Params:

NameTypeAttributeDescription
f *

Return:

*

public isNumber(string: *): boolean source

import {isNumber} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
string *

Return:

boolean

public isRegistered(cls: *): * source

Params:

NameTypeAttributeDescription
cls *

Return:

*

public isVecProperty(prop: *): * source

Params:

NameTypeAttributeDescription
prop *

Return:

*

public isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): * source

import {isect_ray_plane} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
planeorigin *
planenormal *
rayorigin *
raynormal *

Return:

*

public line_isect(v1: *, v2: *, v3: *, v4: *, calc_t: *): undefined[] source

import {line_isect} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *
calc_t *

Return:

undefined[]

public line_line_cross(v1: *, v2: *, v3: *, v4: *): * source

import {line_line_cross} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *

Return:

*

public line_line_isect(v1: *, v2: *, v3: *, v4: *, test_segment: *): * source

import {line_line_isect} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *
test_segment *

Return:

*

public list(iterable: *): * source

Params:

NameTypeAttributeDescription
iterable *

Return:

*

public loadDefaultIconSheet(): * source

import {loadDefaultIconSheet} from './scripts/simple/icons.js'

Return:

*

public loadFile(filename: string, exts: *[]): * source

Params:

NameTypeAttributeDescription
filename string
  • optional
  • default: unnamed
exts *[]
  • optional
  • default: []

Return:

*

public loadFile(appstate: *, args: *, data: *): * source

import {loadFile} from './scripts/simple/file.js'

Params:

NameTypeAttributeDescription
appstate *
args *
data *

Return:

*

public loadImageFile(): * source

import {loadImageFile} from './scripts/path-controller/util/image.js'

Return:

*

public loadPage(ctx: *, url: *, parentContainer_or_args: *, loadSourceOnly: boolean, modifySourceCB: *, templateVars: *, templateScope: *): * source

import {loadPage} from './scripts/xmlpage/xmlpage.js'

Params:

NameTypeAttributeDescription
ctx *
url *
parentContainer_or_args *
  • optional
  • default: undefined
loadSourceOnly boolean
  • optional
  • default: false
modifySourceCB *
templateVars *
templateScope *

Return:

*

public loadPath(node: *, key: *, json: *) source

import {loadPath} from './scripts/core/ui_save.js'

Params:

NameTypeAttributeDescription
node *
key *
json *

public loadUIData(node: *, buf: *) source

import {loadUIData} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
node *
buf *

public loadUIData(node: *, json: *) source

import {loadUIData} from './scripts/core/ui_save.js'

Params:

NameTypeAttributeDescription
node *
json *

public makeAPI(ctxClass: *): * source

import {makeAPI} from './scripts/simple/app.js'

Params:

NameTypeAttributeDescription
ctxClass *

Return:

*

public makeCircleMesh(gl: *, radius: *, stfeps: *): * source

import {makeCircleMesh} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
gl *
radius *
stfeps *

Return:

*

public makeGenEnum(): * source

Return:

*

public makeIconDiv(icon: *, sheet: number): * source

import {makeIconDiv} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
icon *
sheet number
  • optional
  • default: 0

Return:

*

public makeParser(): * source

import {makeParser} from './scripts/core/ui_save.js'

Return:

*

public makePopupArea(area_class: *, screen: *, args: {}): * source

import {makePopupArea} from './scripts/widgets/ui_dialog.js'

Params:

NameTypeAttributeDescription
area_class *
screen *
args {}
  • optional
  • default: {}

Return:

*

public matrix2css(m: *): string source

Params:

NameTypeAttributeDescription
m *

Return:

string

public measureText(elem: *, text: *, canvas: *, g: *, size: *, font: *): * source

import {measureText} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
text *
canvas *
  • optional
  • default: undefined
g *
  • optional
  • default: undefined
size *
  • optional
  • default: undefined
font *
  • optional
  • default: undefined

Return:

*

public measureTextBlock(elem: *, text: *, canvas: *, g: *, size: *, font: *): * source

import {measureTextBlock} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
text *
canvas *
  • optional
  • default: undefined
g *
  • optional
  • default: undefined
size *
  • optional
  • default: undefined
font *
  • optional
  • default: undefined

Return:

*

public merge(obja: *, objb: *): * source

Params:

NameTypeAttributeDescription
obja *
objb *

Return:

*

public mesh_find_tangent(mesh: *, viewvec: *, offvec: *, projmat: *, verts: *): * source

import {mesh_find_tangent} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
mesh *
viewvec *
offvec *
projmat *
verts *

Return:

*

public message(screen: *, msg: *, timeout: *): * source

import {message} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *
msg *
timeout *

Return:

*

public minmax_verts(verts: *): undefined[] source

import {minmax_verts} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
verts *

Return:

undefined[]

public mySafeJSONParse(buf: *): * source

import {mySafeJSONParse} from './scripts/path-controller/curve/curve1d.js'

Params:

NameTypeAttributeDescription
buf *

Return:

*

public mySafeJSONParse(buf: *): * source

Params:

NameTypeAttributeDescription
buf *

Return:

*

public mySafeJSONStringify(obj: *): * source

import {mySafeJSONStringify} from './scripts/path-controller/curve/curve1d.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public mySafeJSONStringify(obj: *): * source

import {mySafeJSONStringify} from './scripts/path-controller/curve/curve1d_bspline.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public normal_poly(vs: *): * source

import {normal_poly} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
vs *

Return:

*

public normal_quad(v1: *, v2: *, v3: *, v4: *): * source

import {normal_quad} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *

Return:

*

public normal_quad_old(v1: *, v2: *, v3: *, v4: *): * source

import {normal_quad_old} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *

Return:

*

public normal_tri(v1: *, v2: *, v3: *): * source

import {normal_tri} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *

Return:

*

public parseExpr(s: *): * source

import {parseExpr} from './scripts/path-controller/util/expr.js'

Params:

NameTypeAttributeDescription
s *

Return:

*

public parseToolPath(str: *, check_tool_exists: boolean): {"toolclass": *, "args": *} source

import {parseToolPath} from './scripts/path-controller/toolsys/toolpath.js'

Params:

NameTypeAttributeDescription
str *
check_tool_exists boolean
  • optional
  • default: true

Return:

{"toolclass": *, "args": *}

public parseValue(string: *, baseUnit: *, displayUnit: *): * source

import {parseValue} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
string *
baseUnit *
  • optional
  • default: undefined
displayUnit *
  • optional
  • default: undefined

Return:

*

public parseValueIntern(string: *, baseUnit: *): * source

import {parseValueIntern} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
string *
baseUnit *
  • optional
  • default: undefined

Return:

*

public parseXML(xml: *): * source

import {parseXML} from './scripts/xmlpage/xmlpage.js'

Params:

NameTypeAttributeDescription
xml *

Return:

*

public parsepx(css: *): * source

import {parsepx} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
css *

Return:

*

public pathDebugEvent(e: *, extra: *) source

Params:

NameTypeAttributeDescription
e *
extra *

public point_in_aabb(p: *, min: *, max: *): * source

import {point_in_aabb} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
min *
max *

Return:

*

public point_in_aabb_2d(p: *, min: *, max: *): * source

import {point_in_aabb_2d} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
min *
max *

Return:

*

public point_in_hex(p: *, boxverts: *, boxfacecents: *, boxfacenormals: *): * source

import {point_in_hex} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
boxverts *
boxfacecents *
  • optional
  • default: undefined
boxfacenormals *
  • optional
  • default: undefined

Return:

*

public point_in_tri(p: *, v1: *, v2: *, v3: *): * source

import {point_in_tri} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
v1 *
v2 *
v3 *

Return:

*

public pollTimer(id: *, interval: *): boolean source

import {pollTimer} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
id *
interval *

Return:

boolean

public popModalLight(state: *) source

Params:

NameTypeAttributeDescription
state *

public popReportName() source

public print_stack(err: *) source

import {print_stack} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
err *

public progbarNote(screen: *, msg: *, percent: *, color: *, timeout: *) source

import {progbarNote} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *
msg *
percent *
color *
timeout *

public project(vec: *, pers: *, view: *): * source

Params:

NameTypeAttributeDescription
vec *
pers *
view *

Return:

*

public purgeUpdateStack() source

import {purgeUpdateStack} from './scripts/screen/FrameManager.js'

public pushModal(dom: *, handlers: *): * source

Params:

NameTypeAttributeDescription
dom *
handlers *

Return:

*

public pushModalLight(obj: *, autoStopPropagation: boolean, elem: *, pointerId: *): * source

Params:

NameTypeAttributeDescription
obj *
autoStopPropagation boolean
  • optional
  • default: true
elem *
pointerId *

Return:

*

public pushPointerModal(obj: *, elem: *, pointerId: *, autoStopPropagation: boolean): * source

import {pushPointerModal} from './scripts/path-controller/util/simple_events.js'

Params:

NameTypeAttributeDescription
obj *
elem *
pointerId *
autoStopPropagation boolean
  • optional
  • default: true

Return:

*

public pushReportName(name: *) source

Params:

NameTypeAttributeDescription
name *

public quad_bilinear(v1: *, v2: *, v3: *, v4: *, u: *, v: *): * source

import {quad_bilinear} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
v4 *
u *
v *

Return:

*

public random(): * source

Return:

*

public readJSON(json: *, class_or_struct_id: *): * source

Params:

NameTypeAttributeDescription
json *
class_or_struct_id *

Return:

*

public readObject(data: *): * source

Params:

NameTypeAttributeDescription
data *

: DataView

Return:

*

public register(cls: *, structName: *): * source

Register a class with nstructjs *

Params:

NameTypeAttributeDescription
cls *
structName *

Return:

*

public register() source

import {register} from './scripts/simple/app_ops.js'

public registerMenuBarEditor() source

import {registerMenuBarEditor} from './scripts/simple/menubar.js'

public registerTool(cls: *): * source

Params:

NameTypeAttributeDescription
cls *

Return:

*

public registerToolStackGetter(func: *) source

import {registerToolStackGetter} from './scripts/screen/FrameManager.js'

Params:

NameTypeAttributeDescription
func *

public registerToolStackGetter(func: *) source

import {registerToolStackGetter} from './scripts/screen/FrameManager_ops.js'

Params:

NameTypeAttributeDescription
func *

public report() source

import {report} from './scripts/core/ui_base.js'

public rgb_to_cmyk(r: *, g: *, b: *): * source

Params:

NameTypeAttributeDescription
r *
g *
b *

Return:

*

public rgb_to_hsv(r: *, g: *, b: *): * source

Params:

NameTypeAttributeDescription
r *
g *
b *

Return:

*

public rgb_to_hsv(r: *, g: *, b: *): * source

import {rgb_to_hsv} from './scripts/widgets/ui_colorpicker.js'

Params:

NameTypeAttributeDescription
r *
g *
b *

Return:

*

public rot2d(v1: *, A: *, axis: *) source

Params:

NameTypeAttributeDescription
v1 *
A *
axis *

public sample(u: *, v: *): * source

Params:

NameTypeAttributeDescription
u *
v *

Return:

*

public sample(u: *, v: *): * source

Params:

NameTypeAttributeDescription
u *
v *

Return:

*

public saveFile(data: *, filename: string, exts: *[], mime: string) source

Params:

NameTypeAttributeDescription
data *
filename string
  • optional
  • default: unnamed
exts *[]
  • optional
  • default: []
mime string
  • optional
  • default: application/x-octet-stream

public saveFile(appstate: *, args: *, objects: *): * source

import {saveFile} from './scripts/simple/file.js'

Params:

NameTypeAttributeDescription
appstate *
args *
objects *

Return:

*

public saveUIData(node: *, key: *): * source

import {saveUIData} from './scripts/core/ui_base.js'

Saves UI layout data, like panel layouts, active tabs, etc. Uses the UIBase.prototype.[save/load]Data interface.

Note that this is error-tolerant.

Params:

NameTypeAttributeDescription
node *
key *

Return:

*

public saveUIData(node: *, key: *): * source

import {saveUIData} from './scripts/core/ui_save.js'

Params:

NameTypeAttributeDescription
node *
key *

Return:

*

public seed(n: *) source

Params:

NameTypeAttributeDescription
n *

public sendNote(screen: *, msg: *, color: *, timeout: number, showExclMark: boolean) source

import {sendNote} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *
msg *
color *
timeout number
  • optional
  • default: 3000
showExclMark boolean
  • optional
  • default: true

public setAllowOverriding(t: *): * source

import {setAllowOverriding} from './scripts/path-controller/util/nstructjs_es6.js'

Params:

NameTypeAttributeDescription
t *

Return:

*

public setAreaTypes(def: *) source

import {setAreaTypes} from './scripts/screen/area_wrangler.js'

Params:

NameTypeAttributeDescription
def *

public setBaseUnit(unit: *) source

import {setBaseUnit} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
unit *

public setColorSchemeType(mode: *) source

import {setColorSchemeType} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
mode *

public setConfig(obj: *) source

Params:

NameTypeAttributeDescription
obj *

public setContextClass(cls: *) source

import {setContextClass} from './scripts/path-controller/toolsys/toolsys.js'

Params:

NameTypeAttributeDescription
cls *

public setDataPathToolOp(cls: *) source

import {setDataPathToolOp} from './scripts/path-controller/controller/controller.js'

Params:

NameTypeAttributeDescription
cls *

public setDebugMode(t: *) source

Params:

NameTypeAttributeDescription
t *

public setDefaultUndoHandlers(undoPre: *, undo: *) source

import {setDefaultUndoHandlers} from './scripts/path-controller/toolsys/toolsys.js'

Params:

NameTypeAttributeDescription
undoPre *
undo *

public setEndian(mode: *) source

Params:

NameTypeAttributeDescription
mode *

public setIconManager(manager: *, IconSheetsOverride: *) source

import {setIconManager} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
manager *
IconSheetsOverride *

public setIconMap(icons: *) source

import {setIconMap} from './scripts/icon_enum.js'

Params:

NameTypeAttributeDescription
icons *

public setImplementationClass(cls: *) source

import {setImplementationClass} from './scripts/path-controller/controller/controller_base.js'

Params:

NameTypeAttributeDescription
cls *

public setKeyboardDom(dom: *) source

import {setKeyboardDom} from './scripts/screen/FrameManager.js'

Params:

NameTypeAttributeDescription
dom *

public setKeyboardOpts(opts: *) source

import {setKeyboardOpts} from './scripts/screen/FrameManager.js'

Sets options passed to addEventListener() for on_keydown hotkey handler

Params:

NameTypeAttributeDescription
opts *

public setMetric(val: *) source

import {setMetric} from './scripts/core/units.js'

Params:

NameTypeAttributeDescription
val *

public setNotifier(cls: *) source

Params:

NameTypeAttributeDescription
cls *

public setPropTypes(types: *) source

Params:

NameTypeAttributeDescription
types *

public setRootStruct(val: *): * source

import {setRootStruct} from './scripts/widgets/ui_container.js'

Params:

NameTypeAttributeDescription
val *

Return:

*

public setScreenClass(cls: *) source

import {setScreenClass} from './scripts/screen/area_wrangler.js'

Params:

NameTypeAttributeDescription
cls *

public setScreenClass(cls: *) source

import {setScreenClass} from './scripts/screen/ScreenArea.js'

Params:

NameTypeAttributeDescription
cls *

public setTagPrefix(prefix: *) source

import {setTagPrefix} from './scripts/core/ui_base.js'

Sets tag prefix for pathux html elements. Must be called prior to loading other modules. Since this is tricky, you can alternatively add a script tag with the prefix with the id "pathux-tag-prefix", e.g.

 <script type="text/plain" id="pathux-tag-prefix">prefix</script> 

Params:

NameTypeAttributeDescription
prefix *

public setTheme(theme2: *) source

import {setTheme} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
theme2 *

public setTruncateDollarSign(v: *) source

import {setTruncateDollarSign} from './scripts/path-controller/util/nstructjs_es6.js'

Params:

NameTypeAttributeDescription
v *

public setUIBase(cls: *) source

import {setUIBase} from './scripts/core/ui_save.js'

Params:

NameTypeAttributeDescription
cls *

public setWarningMode(t: *) source

Params:

NameTypeAttributeDescription
t *

public setWranglerScreen(screen: *) source

import {setWranglerScreen} from './scripts/widgets/ui_menu.js'

Params:

NameTypeAttributeDescription
screen *

public simple_tri_aabb_isect(v1: *, v2: *, v3: *, min: *, max: *): boolean source

import {simple_tri_aabb_isect} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *
min *
max *

Return:

boolean

public singleMouseEvent(cb: *, type: *): * source

import {singleMouseEvent} from './scripts/path-controller/util/simple_events.js'

adds a mouse event callback that only gets called once

Params:

NameTypeAttributeDescription
cb *
type *

Return:

*

public snap(c: *, snap_limit: *): * source

Params:

NameTypeAttributeDescription
c *
snap_limit *
  • optional
  • default: SnapLimit

Return:

*

public snapi(c: *, snap_limit: *): * source

Params:

NameTypeAttributeDescription
c *
snap_limit *
  • optional
  • default: SnapLimit

Return:

*

public startEvents(getScreenFunc: *) source

import {startEvents} from './scripts/screen/FrameManager.js'

Params:

NameTypeAttributeDescription
getScreenFunc *

public startMenu(menu: *, x: *, y: *, searchMenuMode: boolean, safetyDelay: number) source

import {startMenu} from './scripts/widgets/ui_menu.js'

Params:

NameTypeAttributeDescription
menu *
x *
y *
searchMenuMode boolean
  • optional
  • default: false
safetyDelay number
  • optional
  • default: 55

public startMenuEventWrangling(screen: *) source

import {startMenuEventWrangling} from './scripts/widgets/ui_menu.js'

Params:

NameTypeAttributeDescription
screen *

public startupReport() source

import {startupReport} from './scripts/util/startup_report.js'

public stopEvents(): * source

import {stopEvents} from './scripts/screen/FrameManager.js'

Return:

*

public strhash(str: *): * source

Params:

NameTypeAttributeDescription
str *

Return:

*

public styleScrollBars(color: string, color2: *, contrast: number, width: number, border: string, selector: string): * source

import {styleScrollBars} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
color string
  • optional
  • default: grey
color2 *
  • optional
  • default: undefined
contrast number
  • optional
  • default: 0.5
width number
  • optional
  • default: 15
border string
  • optional
  • default: 1px groove black
selector string
  • optional
  • default: *

Return:

*

public termColor(s: *, c: *, d: number): * source

import {termColor} from './scripts/path-controller/util/util.js'

Params:

NameTypeAttributeDescription
s *
c *
d number
  • optional
  • default: 0

Return:

*

public termPrint(): * source

import {termPrint} from './scripts/path-controller/util/util.js'

Return:

*

public test(): * source

Return:

*

public testToolParser(): * source

import {testToolParser} from './scripts/path-controller/toolsys/toolpath.js'

Return:

*

public test_fasthash(): * source

import {test_fasthash} from './scripts/path-controller/util/util.js'

Return:

*

public tet_volume(a: *, b: *, c: *, d: *): * source

import {tet_volume} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
a *
b *
c *
d *

Return:

*

public time_ms(): * source

Return:

*

public tri_angles(v1: *, v2: *, v3: *): * source

import {tri_angles} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *

Return:

*

public tri_area(v1: *, v2: *, v3: *): * source

Params:

NameTypeAttributeDescription
v1 *
v2 *
v3 *

Return:

*

public trilinear_co(p: *, boxverts: *): * source

import {trilinear_co} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
boxverts *

Return:

*

public trilinear_co2(p: *, boxverts: *, uvw: *): * source

import {trilinear_co2} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
p *
boxverts *
uvw *

Return:

*

public trilinear_v3(uvw: *, boxverts: *): * source

import {trilinear_v3} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
uvw *
boxverts *

Return:

*

public unproject(vec: *, ipers: *, iview: *): * source

import {unproject} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
vec *
ipers *
iview *

Return:

*

public unregister(cls: *) source

Params:

NameTypeAttributeDescription
cls *

public validateCSSColor(color: *): * source

import {validateCSSColor} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
color *

Return:

*

public validateStructs(onerror: *): * source

import {validateStructs} from './scripts/path-controller/util/nstructjs_es6.js'

Params:

NameTypeAttributeDescription
onerror *

Return:

*

public validateWebColor(str: *): * source

import {validateWebColor} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
str *

Return:

*

public warning(screen: *, msg: *, timeout: *): * source

import {warning} from './scripts/widgets/ui_noteframe.js'

Params:

NameTypeAttributeDescription
screen *
msg *
timeout *

Return:

*

public web2color(str: *): * source

import {web2color} from './scripts/core/ui_theme.js'

Params:

NameTypeAttributeDescription
str *

Return:

*

public winding(a: *, b: *, c: *, zero_z: *, tol: number): * source

Params:

NameTypeAttributeDescription
a *
b *
c *
zero_z *
tol number
  • optional
  • default: 0

Return:

*

public winding_axis(a: *, b: *, c: *, up_axis: *): * source

import {winding_axis} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
a *
b *
c *
up_axis *

Return:

*

public writeJSON(obj: *): * source

Params:

NameTypeAttributeDescription
obj *

Return:

*

public writeObject(data: *): * source

Params:

NameTypeAttributeDescription
data *

: Array instance to write bytes to

Return:

*

public write_scripts(nManager: *, include_code: *): * source

Write all defined structs out to a string.

Params:

NameTypeAttributeDescription
nManager *

STRUCT instance, defaults to nstructjs.manager

include_code *

include save code snippets

Return:

*

Static Private

private _ensureFont(elem: *, canvas: *, g: *, size: *) source

import {_ensureFont} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
canvas *
g *
size *

private _getFont(elem: *, size: *, font: string, do_dpi: boolean): * source

import {_getFont} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
size *
font string
  • optional
  • default: DefaultText
do_dpi boolean
  • optional
  • default: true

Return:

*

private _getFont_new(elem: *, size: *, font: string, do_dpi: boolean): * source

import {_getFont_new} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
elem *
size *
font string
  • optional
  • default: DefaultText
do_dpi boolean
  • optional
  • default: true

Return:

*

private _old_isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): * source

import {_old_isect_ray_plane} from './scripts/path-controller/util/math.js'

Params:

NameTypeAttributeDescription
planeorigin *
planenormal *
rayorigin *
raynormal *

Return:

*

private _onEventsStart(cb: *) source

import {_onEventsStart} from './scripts/screen/FrameManager.js'

Params:

NameTypeAttributeDescription
cb *

private _onEventsStop(cb: *) source

import {_onEventsStop} from './scripts/screen/FrameManager.js'

Params:

NameTypeAttributeDescription
cb *

private _setAreaClass(cls: *) source

import {_setAreaClass} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
cls *

private _setModalAreaClass(cls: *) source

import {_setModalAreaClass} from './scripts/path-controller/util/simple_events.js'

Params:

NameTypeAttributeDescription
cls *

private _setScreenClass(cls: *) source

import {_setScreenClass} from './scripts/path-controller/util/simple_events.js'

Params:

NameTypeAttributeDescription
cls *

private _setTextboxClass(cls: *) source

import {_setTextboxClass} from './scripts/core/ui_base.js'

Params:

NameTypeAttributeDescription
cls *

private _setUIBase(uibase: *) source

import {_setUIBase} from './scripts/core/aspect.js'

Params:

NameTypeAttributeDescription
uibase *

private _truncateDollarSign(s: *): * source

import {_truncateDollarSign} from './scripts/path-controller/util/nstructjs_es6.js'

Params:

NameTypeAttributeDescription
s *

Return:

*