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 |
buildParser(): * |
|
| public |
buildString(value: *, unit:: *): * |
|
| public |
buildToolSysAPI(api: *, registerWithNStructjs: boolean, rootCtxStruct: *) |
|
| public |
calcThemeKey(digest: *): * |
|
| public |
calc_projection_axes(no: *): * |
|
| public |
circ_from_line_tan(a: *, b: *, t: *): * |
|
| public |
circ_from_line_tan_2d(a: *, b: *, t: *): * |
|
| public |
clearAspectCallbacks(obj: *) |
|
| 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 |
|
|
| public |
|
|
| 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 |
|
|
| public |
getDataPathToolOp(): * |
|
| public |
getDefault(key: *, elem: *): * |
|
| public |
getEndian(): * |
|
| public |
getExtension(path: *): * |
|
| public |
getFieldImage(size: *, hsva: *): * |
|
| public |
getFieldImage(fieldsize: *, width: *, height: *, hsva: *): * |
|
| public |
|
|
| public |
getHueField(width: *, height: *, dpi: *): * |
|
| public |
getIconManager(): * |
|
| public |
getImageData(image: *): * |
|
| public |
getLastToolStruct(ctx: *): * |
|
| public |
|
|
| public |
getNoteFrames(screen: *): * |
|
| public |
getPlatformAsync(): * |
|
| public |
getTagPrefix(prefix: *): * |
|
| public |
getTempProp(type: *): * |
|
| public |
getVecClass(proptype: *): * |
|
| public |
getWebFilters(filters: *[]): * |
|
| public |
getWranglerScreen(): * |
|
| 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 |
|
|
| public |
hashjoin(hash: *, val: *) |
|
| public |
haveModal(): * |
|
| public |
hsv_to_rgb(h: *, s: *, v: *): * |
|
| public |
hsv_to_rgb(h: *, s: *, v: *): * |
|
| public |
iconSheetFromPackFlag(flag: *): number |
|
| 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 |
|
|
| 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 |
loadDefaultIconSheet(): * |
|
| public |
|
|
| public |
loadFile(appstate: *, args: *, data: *): * |
|
| public |
loadImageFile(): * |
|
| 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 |
makeGenEnum(): * |
|
| public |
makeIconDiv(icon: *, sheet: number): * |
|
| public |
makeParser(): * |
|
| public |
makePopupArea(area_class: *, screen: *, args: {}): * |
|
| public |
matrix2css(m: *): string |
|
| 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 |
|
|
| 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 |
register() |
|
| public |
|
|
| public |
registerTool(cls: *): * |
|
| public |
registerToolStackGetter(func: *) |
|
| public |
registerToolStackGetter(func: *) |
|
| 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 |
|
|
| 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 |
|
|
| public |
setAllowOverriding(t: *): * |
|
| public |
setAreaTypes(def: *) |
|
| public |
setBaseUnit(unit: *) |
|
| public |
setColorSchemeType(mode: *) |
|
| public |
setConfig(obj: *) |
|
| public |
setContextClass(cls: *) |
|
| public |
setDataPathToolOp(cls: *) |
|
| public |
setDebugMode(t: *) |
|
| public |
setDefaultUndoHandlers(undoPre: *, undo: *) |
|
| public |
setEndian(mode: *) |
|
| public |
setIconManager(manager: *, IconSheetsOverride: *) |
|
| public |
setIconMap(icons: *) |
|
| public |
setImplementationClass(cls: *) |
|
| 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 |
setTruncateDollarSign(v: *) |
|
| public |
setUIBase(cls: *) |
|
| public |
setWarningMode(t: *) |
|
| 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 |
|
|
| public |
startMenuEventWrangling(screen: *) |
|
| public |
|
|
| public |
stopEvents(): * |
|
| public |
strhash(str: *): * |
|
| public |
styleScrollBars(color: string, color2: *, contrast: number, width: number, border: string, selector: string): * |
|
| public |
|
|
| public |
termPrint(): * |
|
| public |
test(): * |
|
| public |
testToolParser(): * |
|
| public |
test_fasthash(): * |
|
| 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 |
|
|
| 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 |
|
|
| private |
_getFont_new(elem: *, size: *, font: string, do_dpi: boolean): * |
|
| private |
_old_isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): * |
|
| private |
_onEventsStart(cb: *) |
|
| private |
_onEventsStop(cb: *) |
|
| private |
_setAreaClass(cls: *) |
|
| private |
_setModalAreaClass(cls: *) |
|
| private |
_setScreenClass(cls: *) |
|
| private |
_setTextboxClass(cls: *) |
|
| private |
_setUIBase(uibase: *) |
|
| private |
_truncateDollarSign(s: *): * |
Static Public
public Ease() source
import Ease from './scripts/path-controller/curve/ease.js'
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.
Equations derived from work by Robert Penner.
public NumberSliderBase(cls: *, skip: *, defaults: *): * source
import {NumberSliderBase} from './scripts/widgets/ui_numsliders.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
|
|
| skip | * |
|
|
| defaults | * |
|
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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| min1 | * | ||
| max1 | * | ||
| min2 | * | ||
| max2 | * |
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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| min | * | ||
| max | * |
public aabb_isect_line_3d(v1: *, v2: *, min: *, max: *): * source
import {aabb_isect_line_3d} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| p | * | ||
| r | * | ||
| min | * | ||
| max | * |
public aabb_sphere_isect_2d(p: *, r: *, min: *, max: *): * source
import {aabb_sphere_isect_2d} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| pos1 | * | ||
| size1 | * | ||
| pos2 | * | ||
| size2 | * |
Return:
| * |
public atob(buf: *): * source
import {atob} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| 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'
Return:
| * |
public binomial(n: *, i: *): * source
import {binomial} from './scripts/path-controller/curve/curve1d_bspline.js'
Params:
| Name | Type | Attribute | Description |
| n | * | ||
| i | * |
Return:
| * |
public binomial(n: *, i: *): * source
import {binomial} from './scripts/widgets/ui_curvewidget_old.js'
Params:
| Name | Type | Attribute | Description |
| n | * | ||
| i | * |
Return:
| * |
public btoa(buf: *): * source
import {btoa} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| buf | * |
Return:
| * |
public buildParser(): * source
import {buildParser} from './scripts/path-controller/toolsys/toolpath.js'
Return:
| * |
public buildString(value: *, unit:: *): * source
import {buildString} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| api | * | ||
| registerWithNStructjs | boolean |
|
|
| rootCtxStruct | * |
|
public calcThemeKey(digest: *): * source
import {calcThemeKey} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| digest | * |
|
Return:
| * |
public calc_projection_axes(no: *): * source
import {calc_projection_axes} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| no | * |
Return:
| * |
public circ_from_line_tan(a: *, b: *, t: *): * source
import {circ_from_line_tan} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| t | * |
Return:
| * |
public clearAspectCallbacks(obj: *) source
import {clearAspectCallbacks} from './scripts/core/aspect.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
public clip_line_w(_v1: *, _v2: *, znear: *, zfar: *): * source
import {clip_line_w} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| _v1 | * | ||
| _v2 | * | ||
| znear | * | ||
| zfar | * |
Return:
| * |
public closestPoint(p: *, curve: *, mode: *) source
import {closestPoint} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| clip | boolean |
|
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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| n | * | ||
| uvw | * |
Return:
| * |
public cmyk_to_rgb(c: *, m: *, y: *, k: *): * source
import {cmyk_to_rgb} from './scripts/path-controller/util/colorutils.js'
Params:
| Name | Type | Attribute | Description |
| c | * | ||
| m | * | ||
| y | * | ||
| k | * |
Return:
| * |
public colinear(a: *, b: *, c: *, limit: number): * source
import {colinear} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| c | * | ||
| limit | number |
|
Return:
| * |
public color2css(c: *, alpha_override: *): string source
import {color2css} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| c | * | ||
| alpha_override | * |
public color2css(c: *): * source
import {color2css} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| c | * |
Return:
| * |
public color2web(color: *): * source
import {color2web} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| color | * |
Return:
| * |
public convert(value: *, unita: *, unitb: *): * source
import {convert} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| value | * | ||
| unita | * | ||
| unitb | * |
Return:
| * |
public convex_quad(v1: *, v2: *, v3: *, v4: *): * source
import {convex_quad} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| v4 | * |
Return:
| * |
public copyEvent(e: *): * source
import {copyEvent} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| e | * |
Return:
| * |
public copyMouseEvent(e: *): * source
import {copyMouseEvent} from './scripts/path-controller/util/events.js'
Params:
| Name | Type | Attribute | Description |
| e | * |
Return:
| * |
public corner_normal(vec1: *, vec2: *, width: *): * source
import {corner_normal} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| vec1 | * | ||
| vec2 | * | ||
| width | * |
Return:
| * |
public count(iterable: *, searchItem: *): * source
import {count} from './scripts/path-controller/util/util.js'
Count items in list; if searchItem is not undefined then a count of the number of times searchItem occurs will be returned.
Params:
| Name | Type | Attribute | Description |
| iterable | * | ||
| searchItem | * |
|
Return:
| * |
public createMenu(ctx: *, title: *, templ: *): * source
import {createMenu} from './scripts/widgets/ui_menu.js'
Params:
| Name | Type | Attribute | Description |
| ctx | * | ||
| title | * | ||
| templ | * |
Return:
| * |
public css2color(color: *): * source
import {css2color} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| color | * |
Return:
| * |
public css2matrix(s: *): * source
import {css2matrix} from './scripts/path-controller/util/cssutils.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| clip | boolean |
|
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:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| clip | * | ||
| closest_co_out | * |
|
|
| t_out | * |
|
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:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| clip | boolean |
|
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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| co | * | ||
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| no | * |
|
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:
| Name | Type | Attribute | Description |
| 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.
public drawRoundBox2(elem: *, options: {}) source
import {drawRoundBox2} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| elem | * | ||
| options | {} |
|
public drawText(elem: *, x: *, y: *, text: *, args: {}) source
import {drawText} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| elem | * | ||
| x | * | ||
| y | * | ||
| text | * | ||
| args | {} |
|
public error(screen: *, msg: *, timeout: *): * source
import {error} from './scripts/widgets/ui_noteframe.js'
Params:
| Name | Type | Attribute | Description |
| screen | * | ||
| msg | * | ||
| timeout | * |
Return:
| * |
public evalHermiteTable(table: *, t: *): * source
import {evalHermiteTable} from './scripts/path-controller/curve/curve1d_base.js'
Params:
| Name | Type | Attribute | Description |
| table | * | ||
| t | * |
Return:
| * |
public eventWasTouch(e: *): * source
import {eventWasTouch} from './scripts/path-controller/util/simple_events.js'
Returns true if event came from a touchscreen or pen device
Params:
| Name | Type | Attribute | Description |
| e | * |
Return:
| * |
public expand_line(l: *, margin: *): * source
import {expand_line} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| l | * | ||
| margin | * |
Return:
| * |
public expand_rect2d(pos: *, size: *, margin: *) source
import {expand_rect2d} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| pos | * | ||
| size | * | ||
| margin | * |
public exportTheme(theme1: *, addVarDecl: boolean): * source
import {exportTheme} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| theme1 | * |
|
|
| addVarDecl | boolean |
|
Return:
| * |
public fetch_file(path: *): * source
import {fetch_file} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| path | * |
Return:
| * |
public formatNumberUI(val: *, isInt: boolean, decimals: number): * source
import {formatNumberUI} from './scripts/path-controller/util/util.js'
Return:
| * |
public genHermiteTable(evaluate: *, steps: *): * source
import {genHermiteTable} from './scripts/path-controller/curve/curve1d_base.js'
Params:
| Name | Type | Attribute | Description |
| evaluate | * | ||
| steps | * |
Return:
| * |
public gen_circle(m: *, origin: *, r: *, stfeps: *): * source
import {gen_circle} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| m | * | ||
| origin | * | ||
| r | * | ||
| stfeps | * |
Return:
| * |
public getAllKeys(obj: *): * source
import {getAllKeys} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
Return:
| * |
public getAreaIntName(name: *): * source
import {getAreaIntName} from './scripts/screen/area_wrangler.js'
Params:
| Name | Type | Attribute | Description |
| name | * |
Return:
| * |
public getClassParent(cls: *): * source
import {getClassParent} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
Return:
| * |
public getCurve(type: *, throw_on_error: boolean): * source
import {getCurve} from './scripts/path-controller/curve/curve1d_base.js'
Params:
| Name | Type | Attribute | Description |
| type | * | ||
| throw_on_error | boolean |
|
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:
| Name | Type | Attribute | Description |
| key | * | ||
| elem | * |
Return:
| * |
public getEndian(): * source
import {getEndian} from './scripts/path-controller/util/nstructjs_es6.js'
Return:
| * |
public getExtension(path: *): * source
import {getExtension} from './scripts/platforms/platform_base.js'
Params:
| Name | Type | Attribute | Description |
| path | * |
Return:
| * |
public getFieldImage(size: *, hsva: *): * source
import {getFieldImage} from './scripts/widgets/ui_colorpicker.js'
Params:
| Name | Type | Attribute | Description |
| size | * | ||
| hsva | * |
Return:
| * |
public getFieldImage(fieldsize: *, width: *, height: *, hsva: *): * source
import {getFieldImage} from './scripts/widgets/ui_colorpicker2.js'
Params:
| Name | Type | Attribute | Description |
| fieldsize | * | ||
| width | * | ||
| height | * | ||
| hsva | * |
Return:
| * |
public getFont(elem: *, size: *, font: string, do_dpi: boolean): * source
import {getFont} from './scripts/core/ui_base.js'
Return:
| * |
public getHueField(width: *, height: *, dpi: *): * source
import {getHueField} from './scripts/widgets/ui_colorpicker2.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| image | * |
Return:
| * |
public getLastToolStruct(ctx: *): * source
import {getLastToolStruct} from './scripts/widgets/ui_lasttool.js'
Params:
| Name | Type | Attribute | Description |
| ctx | * |
Return:
| * |
public getMime(path: *): string source
import {getMime} from './scripts/platforms/platform_base.js'
Params:
| Name | Type | Attribute | Description |
| path | * |
public getNoteFrames(screen: *): * source
import {getNoteFrames} from './scripts/widgets/ui_noteframe.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| prefix | * |
Return:
| * |
public getTempProp(type: *): * source
import {getTempProp} from './scripts/path-controller/controller/controller_base.js'
Params:
| Name | Type | Attribute | Description |
| type | * |
Return:
| * |
public getVecClass(proptype: *): * source
import {getVecClass} from './scripts/path-controller/controller/controller_base.js'
Params:
| Name | Type | Attribute | Description |
| proptype | * |
Return:
| * |
public getWebFilters(filters: *[]): * source
import {getWebFilters} from './scripts/platforms/web/web_api.js'
Params:
| Name | Type | Attribute | Description |
| filters | *[] |
|
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:
| Name | Type | Attribute | Description |
| points | * |
Return:
| * |
public get_rect_lines(p: *, size: *): * source
import {get_rect_lines} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| p | * | ||
| size | * |
Return:
| * |
public get_rect_points(p: *, size: *): * source
import {get_rect_points} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| p | * | ||
| size | * |
Return:
| * |
public get_tri_circ(a: *, b: *, c: *): * source
import {get_tri_circ} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| c | * |
Return:
| * |
public graphGetIslands(nodes: *): * source
import {graphGetIslands} from './scripts/util/graphpack.js'
Params:
| Name | Type | Attribute | Description |
| nodes | * |
Return:
| * |
public graphPack(nodes: *, margin: number, steps: number, updateCb: *): {"stop": *} source
import {graphPack} from './scripts/util/graphpack.js'
Return:
| {"stop": *} |
public hashjoin(hash: *, val: *) source
import {hashjoin} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| hash | * | ||
| val | * |
public haveModal(): * source
import {haveModal} from './scripts/path-controller/util/simple_events.js'
Return:
| * |
public hsv_to_rgb(h: *, s: *, v: *): * source
import {hsv_to_rgb} from './scripts/path-controller/util/colorutils.js'
Params:
| Name | Type | Attribute | Description |
| h | * | ||
| s | * | ||
| v | * |
Return:
| * |
public hsv_to_rgb(h: *, s: *, v: *): * source
import {hsv_to_rgb} from './scripts/widgets/ui_colorpicker.js'
Params:
| Name | Type | Attribute | Description |
| h | * | ||
| s | * | ||
| v | * |
Return:
| * |
public iconSheetFromPackFlag(flag: *): number source
import {iconSheetFromPackFlag} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| flag | * |
public inherit(child: *, parent: *, structName: *): * source
import {inherit} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| child | * | ||
| parent | * | ||
| structName | * |
|
Return:
| * |
public initAspectClass(object: *, blacklist: *) source
import {initAspectClass} from './scripts/core/aspect.js'
Params:
| Name | Type | Attribute | Description |
| object | * | ||
| blacklist | * |
|
public initPage(ctx: *, xml: *, parentContainer: *, templateVars: {}, templateScope: {}): * source
import {initPage} from './scripts/xmlpage/xmlpage.js'
Params:
| Name | Type | Attribute | Description |
| ctx | * | ||
| xml | * | ||
| parentContainer | * |
|
|
| templateVars | {} |
|
|
| templateScope | {} |
|
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:
| Name | Type | Attribute | Description |
| p | * | ||
| pos | * | ||
| size | * |
Return:
| * |
public inv_sample(u: *, v: *): * source
import {inv_sample} from './scripts/widgets/ui_colorpicker.js'
Params:
| Name | Type | Attribute | Description |
| u | * | ||
| v | * |
Return:
| * |
public inv_sample(u: *, v: *): * source
import {inv_sample} from './scripts/widgets/ui_colorpicker2.js'
Params:
| Name | Type | Attribute | Description |
| u | * | ||
| v | * |
Return:
| * |
public isDenormal(f: *): * source
import {isDenormal} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| f | * |
Return:
| * |
public isLeftClick(e: *): * source
import {isLeftClick} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| e | * |
Return:
| * |
public isMimeText(mime: *): * source
import {isMimeText} from './scripts/platforms/platform_base.js'
Params:
| Name | Type | Attribute | Description |
| mime | * |
Return:
| * |
public isMobile(): * source
import {isMobile} from './scripts/path-controller/util/util.js'
Return:
| * |
public isModalHead(owner: *): * source
import {isModalHead} from './scripts/path-controller/util/events.js'
Params:
| Name | Type | Attribute | Description |
| owner | * |
Return:
| * |
public isMouseDown(e: *): * source
import {isMouseDown} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| e | * |
Return:
| * |
public isNum(f: *): * source
import {isNum} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| f | * |
Return:
| * |
public isNumber(string: *): boolean source
import {isNumber} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| string | * |
public isRegistered(cls: *): * source
import {isRegistered} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
Return:
| * |
public isVecProperty(prop: *): * source
import {isVecProperty} from './scripts/path-controller/controller/controller_base.js'
Params:
| Name | Type | Attribute | Description |
| prop | * |
Return:
| * |
public isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): * source
import {isect_ray_plane} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| v4 | * | ||
| calc_t | * |
public line_line_cross(v1: *, v2: *, v3: *, v4: *): * source
import {line_line_cross} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| v4 | * | ||
| test_segment | * |
Return:
| * |
public list(iterable: *): * source
import {list} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| iterable | * |
Return:
| * |
public loadDefaultIconSheet(): * source
import {loadDefaultIconSheet} from './scripts/simple/icons.js'
Return:
| * |
public loadFile(filename: string, exts: *[]): * source
import {loadFile} from './scripts/path-controller/util/html5_fileapi.js'
Params:
| Name | Type | Attribute | Description |
| filename | string |
|
|
| exts | *[] |
|
Return:
| * |
public loadFile(appstate: *, args: *, data: *): * source
import {loadFile} from './scripts/simple/file.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| ctx | * | ||
| url | * | ||
| parentContainer_or_args | * |
|
|
| loadSourceOnly | boolean |
|
|
| modifySourceCB | * | ||
| templateVars | * | ||
| templateScope | * |
Return:
| * |
public loadPath(node: *, key: *, json: *) source
import {loadPath} from './scripts/core/ui_save.js'
Params:
| Name | Type | Attribute | Description |
| node | * | ||
| key | * | ||
| json | * |
public loadUIData(node: *, buf: *) source
import {loadUIData} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| node | * | ||
| buf | * |
public loadUIData(node: *, json: *) source
import {loadUIData} from './scripts/core/ui_save.js'
Params:
| Name | Type | Attribute | Description |
| node | * | ||
| json | * |
public makeAPI(ctxClass: *): * source
import {makeAPI} from './scripts/simple/app.js'
Params:
| Name | Type | Attribute | Description |
| ctxClass | * |
Return:
| * |
public makeCircleMesh(gl: *, radius: *, stfeps: *): * source
import {makeCircleMesh} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| gl | * | ||
| radius | * | ||
| stfeps | * |
Return:
| * |
public makeGenEnum(): * source
import {makeGenEnum} from './scripts/path-controller/curve/curve1d_utils.js'
Return:
| * |
public makeIconDiv(icon: *, sheet: number): * source
import {makeIconDiv} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| icon | * | ||
| sheet | number |
|
Return:
| * |
public makePopupArea(area_class: *, screen: *, args: {}): * source
import {makePopupArea} from './scripts/widgets/ui_dialog.js'
Params:
| Name | Type | Attribute | Description |
| area_class | * | ||
| screen | * | ||
| args | {} |
|
Return:
| * |
public matrix2css(m: *): string source
import {matrix2css} from './scripts/path-controller/util/cssutils.js'
Params:
| Name | Type | Attribute | Description |
| m | * |
public measureText(elem: *, text: *, canvas: *, g: *, size: *, font: *): * source
import {measureText} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| elem | * | ||
| text | * | ||
| canvas | * |
|
|
| g | * |
|
|
| size | * |
|
|
| font | * |
|
Return:
| * |
public measureTextBlock(elem: *, text: *, canvas: *, g: *, size: *, font: *): * source
import {measureTextBlock} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| elem | * | ||
| text | * | ||
| canvas | * |
|
|
| g | * |
|
|
| size | * |
|
|
| font | * |
|
Return:
| * |
public merge(obja: *, objb: *): * source
import {merge} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| mesh | * | ||
| viewvec | * | ||
| offvec | * | ||
| projmat | * | ||
| verts | * |
Return:
| * |
public message(screen: *, msg: *, timeout: *): * source
import {message} from './scripts/widgets/ui_noteframe.js'
Params:
| Name | Type | Attribute | Description |
| screen | * | ||
| msg | * | ||
| timeout | * |
Return:
| * |
public minmax_verts(verts: *): undefined[] source
import {minmax_verts} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| verts | * |
public mySafeJSONParse(buf: *): * source
import {mySafeJSONParse} from './scripts/path-controller/curve/curve1d.js'
Params:
| Name | Type | Attribute | Description |
| buf | * |
Return:
| * |
public mySafeJSONParse(buf: *): * source
import {mySafeJSONParse} from './scripts/path-controller/curve/curve1d_bspline.js'
Params:
| Name | Type | Attribute | Description |
| buf | * |
Return:
| * |
public mySafeJSONStringify(obj: *): * source
import {mySafeJSONStringify} from './scripts/path-controller/curve/curve1d.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
Return:
| * |
public mySafeJSONStringify(obj: *): * source
import {mySafeJSONStringify} from './scripts/path-controller/curve/curve1d_bspline.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
Return:
| * |
public normal_poly(vs: *): * source
import {normal_poly} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| vs | * |
Return:
| * |
public normal_quad(v1: *, v2: *, v3: *, v4: *): * source
import {normal_quad} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| v4 | * |
Return:
| * |
public normal_tri(v1: *, v2: *, v3: *): * source
import {normal_tri} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * |
Return:
| * |
public parseExpr(s: *): * source
import {parseExpr} from './scripts/path-controller/util/expr.js'
Params:
| Name | Type | Attribute | Description |
| s | * |
Return:
| * |
public parseToolPath(str: *, check_tool_exists: boolean): {"toolclass": *, "args": *} source
import {parseToolPath} from './scripts/path-controller/toolsys/toolpath.js'
Params:
| Name | Type | Attribute | Description |
| str | * | ||
| check_tool_exists | boolean |
|
Return:
| {"toolclass": *, "args": *} |
public parseValue(string: *, baseUnit: *, displayUnit: *): * source
import {parseValue} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| string | * | ||
| baseUnit | * |
|
|
| displayUnit | * |
|
Return:
| * |
public parseValueIntern(string: *, baseUnit: *): * source
import {parseValueIntern} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| string | * | ||
| baseUnit | * |
|
Return:
| * |
public parseXML(xml: *): * source
import {parseXML} from './scripts/xmlpage/xmlpage.js'
Params:
| Name | Type | Attribute | Description |
| xml | * |
Return:
| * |
public parsepx(css: *): * source
import {parsepx} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| css | * |
Return:
| * |
public pathDebugEvent(e: *, extra: *) source
import {pathDebugEvent} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| e | * | ||
| extra | * |
public point_in_aabb(p: *, min: *, max: *): * source
import {point_in_aabb} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| p | * | ||
| boxverts | * | ||
| boxfacecents | * |
|
|
| boxfacenormals | * |
|
Return:
| * |
public point_in_tri(p: *, v1: *, v2: *, v3: *): * source
import {point_in_tri} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| p | * | ||
| v1 | * | ||
| v2 | * | ||
| v3 | * |
Return:
| * |
public pollTimer(id: *, interval: *): boolean source
import {pollTimer} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| id | * | ||
| interval | * |
public popModalLight(state: *) source
import {popModalLight} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| state | * |
public popReportName() source
import {popReportName} from './scripts/path-controller/controller/controller.js'
public print_stack(err: *) source
import {print_stack} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| err | * |
public progbarNote(screen: *, msg: *, percent: *, color: *, timeout: *) source
import {progbarNote} from './scripts/widgets/ui_noteframe.js'
Params:
| Name | Type | Attribute | Description |
| screen | * | ||
| msg | * | ||
| percent | * | ||
| color | * | ||
| timeout | * |
public project(vec: *, pers: *, view: *): * source
import {project} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| vec | * | ||
| pers | * | ||
| view | * |
Return:
| * |
public pushModal(dom: *, handlers: *): * source
import {pushModal} from './scripts/path-controller/util/events.js'
Params:
| Name | Type | Attribute | Description |
| dom | * | ||
| handlers | * |
Return:
| * |
public pushModalLight(obj: *, autoStopPropagation: boolean, elem: *, pointerId: *): * source
import {pushModalLight} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| obj | * | ||
| autoStopPropagation | boolean |
|
|
| elem | * | ||
| pointerId | * |
Return:
| * |
public pushPointerModal(obj: *, elem: *, pointerId: *, autoStopPropagation: boolean): * source
import {pushPointerModal} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| obj | * | ||
| elem | * | ||
| pointerId | * | ||
| autoStopPropagation | boolean |
|
Return:
| * |
public pushReportName(name: *) source
import {pushReportName} from './scripts/path-controller/controller/controller.js'
Params:
| Name | Type | Attribute | Description |
| name | * |
public quad_bilinear(v1: *, v2: *, v3: *, v4: *, u: *, v: *): * source
import {quad_bilinear} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| v4 | * | ||
| u | * | ||
| v | * |
Return:
| * |
public readJSON(json: *, class_or_struct_id: *): * source
import {readJSON} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| json | * | ||
| class_or_struct_id | * |
Return:
| * |
public readObject(data: *): * source
import {readObject} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| data | * | : DataView |
Return:
| * |
public register(cls: *, structName: *): * source
import {register} from './scripts/path-controller/util/nstructjs_es6.js'
Register a class with nstructjs *
Params:
| Name | Type | Attribute | Description |
| cls | * | ||
| structName | * |
Return:
| * |
public registerMenuBarEditor() source
import {registerMenuBarEditor} from './scripts/simple/menubar.js'
public registerTool(cls: *): * source
import {registerTool} from './scripts/path-controller/controller/controller_base.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
Return:
| * |
public registerToolStackGetter(func: *) source
import {registerToolStackGetter} from './scripts/screen/FrameManager.js'
Params:
| Name | Type | Attribute | Description |
| func | * |
public registerToolStackGetter(func: *) source
import {registerToolStackGetter} from './scripts/screen/FrameManager_ops.js'
Params:
| Name | Type | Attribute | Description |
| func | * |
public rgb_to_cmyk(r: *, g: *, b: *): * source
import {rgb_to_cmyk} from './scripts/path-controller/util/colorutils.js'
Params:
| Name | Type | Attribute | Description |
| r | * | ||
| g | * | ||
| b | * |
Return:
| * |
public rgb_to_hsv(r: *, g: *, b: *): * source
import {rgb_to_hsv} from './scripts/path-controller/util/colorutils.js'
Params:
| Name | Type | Attribute | Description |
| r | * | ||
| g | * | ||
| b | * |
Return:
| * |
public rgb_to_hsv(r: *, g: *, b: *): * source
import {rgb_to_hsv} from './scripts/widgets/ui_colorpicker.js'
Params:
| Name | Type | Attribute | Description |
| r | * | ||
| g | * | ||
| b | * |
Return:
| * |
public rot2d(v1: *, A: *, axis: *) source
import {rot2d} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| A | * | ||
| axis | * |
public sample(u: *, v: *): * source
import {sample} from './scripts/widgets/ui_colorpicker.js'
Params:
| Name | Type | Attribute | Description |
| u | * | ||
| v | * |
Return:
| * |
public sample(u: *, v: *): * source
import {sample} from './scripts/widgets/ui_colorpicker2.js'
Params:
| Name | Type | Attribute | Description |
| u | * | ||
| v | * |
Return:
| * |
public saveFile(data: *, filename: string, exts: *[], mime: string) source
import {saveFile} from './scripts/path-controller/util/html5_fileapi.js'
public saveFile(appstate: *, args: *, objects: *): * source
import {saveFile} from './scripts/simple/file.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| node | * | ||
| key | * |
Return:
| * |
public saveUIData(node: *, key: *): * source
import {saveUIData} from './scripts/core/ui_save.js'
Params:
| Name | Type | Attribute | Description |
| node | * | ||
| key | * |
Return:
| * |
public seed(n: *) source
import {seed} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| n | * |
public sendNote(screen: *, msg: *, color: *, timeout: number, showExclMark: boolean) source
import {sendNote} from './scripts/widgets/ui_noteframe.js'
public setAllowOverriding(t: *): * source
import {setAllowOverriding} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| t | * |
Return:
| * |
public setAreaTypes(def: *) source
import {setAreaTypes} from './scripts/screen/area_wrangler.js'
Params:
| Name | Type | Attribute | Description |
| def | * |
public setBaseUnit(unit: *) source
import {setBaseUnit} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| unit | * |
public setColorSchemeType(mode: *) source
import {setColorSchemeType} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| mode | * |
public setConfig(obj: *) source
import {setConfig} from './scripts/path-controller/config/config.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
public setContextClass(cls: *) source
import {setContextClass} from './scripts/path-controller/toolsys/toolsys.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setDataPathToolOp(cls: *) source
import {setDataPathToolOp} from './scripts/path-controller/controller/controller.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setDebugMode(t: *) source
import {setDebugMode} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| t | * |
public setDefaultUndoHandlers(undoPre: *, undo: *) source
import {setDefaultUndoHandlers} from './scripts/path-controller/toolsys/toolsys.js'
Params:
| Name | Type | Attribute | Description |
| undoPre | * | ||
| undo | * |
public setEndian(mode: *) source
import {setEndian} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| mode | * |
public setIconManager(manager: *, IconSheetsOverride: *) source
import {setIconManager} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| manager | * | ||
| IconSheetsOverride | * |
public setIconMap(icons: *) source
import {setIconMap} from './scripts/icon_enum.js'
Params:
| Name | Type | Attribute | Description |
| icons | * |
public setImplementationClass(cls: *) source
import {setImplementationClass} from './scripts/path-controller/controller/controller_base.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setKeyboardDom(dom: *) source
import {setKeyboardDom} from './scripts/screen/FrameManager.js'
Params:
| Name | Type | Attribute | Description |
| dom | * |
public setKeyboardOpts(opts: *) source
import {setKeyboardOpts} from './scripts/screen/FrameManager.js'
Sets options passed to addEventListener() for on_keydown hotkey handler
Params:
| Name | Type | Attribute | Description |
| opts | * |
public setMetric(val: *) source
import {setMetric} from './scripts/core/units.js'
Params:
| Name | Type | Attribute | Description |
| val | * |
public setNotifier(cls: *) source
import {setNotifier} from './scripts/path-controller/controller/context.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setPropTypes(types: *) source
import {setPropTypes} from './scripts/path-controller/toolsys/toolprop.js'
Params:
| Name | Type | Attribute | Description |
| types | * |
public setRootStruct(val: *): * source
import {setRootStruct} from './scripts/widgets/ui_container.js'
Params:
| Name | Type | Attribute | Description |
| val | * |
Return:
| * |
public setScreenClass(cls: *) source
import {setScreenClass} from './scripts/screen/area_wrangler.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setScreenClass(cls: *) source
import {setScreenClass} from './scripts/screen/ScreenArea.js'
Params:
| Name | Type | Attribute | Description |
| 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.

Params:
| Name | Type | Attribute | Description |
| prefix | * |
public setTheme(theme2: *) source
import {setTheme} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| theme2 | * |
public setTruncateDollarSign(v: *) source
import {setTruncateDollarSign} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| v | * |
public setUIBase(cls: *) source
import {setUIBase} from './scripts/core/ui_save.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public setWarningMode(t: *) source
import {setWarningMode} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| t | * |
public setWranglerScreen(screen: *) source
import {setWranglerScreen} from './scripts/widgets/ui_menu.js'
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * | ||
| min | * | ||
| max | * |
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:
| Name | Type | Attribute | Description |
| cb | * | ||
| type | * |
Return:
| * |
public snap(c: *, snap_limit: *): * source
import {snap} from './scripts/screen/FrameManager_mesh.js'
Params:
| Name | Type | Attribute | Description |
| c | * | ||
| snap_limit | * |
|
Return:
| * |
public snapi(c: *, snap_limit: *): * source
import {snapi} from './scripts/screen/FrameManager_mesh.js'
Params:
| Name | Type | Attribute | Description |
| c | * | ||
| snap_limit | * |
|
Return:
| * |
public startEvents(getScreenFunc: *) source
import {startEvents} from './scripts/screen/FrameManager.js'
Params:
| Name | Type | Attribute | Description |
| getScreenFunc | * |
public startMenu(menu: *, x: *, y: *, searchMenuMode: boolean, safetyDelay: number) source
import {startMenu} from './scripts/widgets/ui_menu.js'
public startMenuEventWrangling(screen: *) source
import {startMenuEventWrangling} from './scripts/widgets/ui_menu.js'
Params:
| Name | Type | Attribute | Description |
| screen | * |
public strhash(str: *): * source
import {strhash} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| str | * |
Return:
| * |
public styleScrollBars(color: string, color2: *, contrast: number, width: number, border: string, selector: string): * source
import {styleScrollBars} from './scripts/core/ui_base.js'
Return:
| * |
public termColor(s: *, c: *, d: number): * source
import {termColor} from './scripts/path-controller/util/util.js'
Params:
| Name | Type | Attribute | Description |
| s | * | ||
| c | * | ||
| d | number |
|
Return:
| * |
public termPrint(): * source
import {termPrint} from './scripts/path-controller/util/util.js'
Return:
| * |
public test(): * source
import {test} from './scripts/path-controller/controller/context.js'
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:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| c | * | ||
| d | * |
Return:
| * |
public tri_angles(v1: *, v2: *, v3: *): * source
import {tri_angles} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * |
Return:
| * |
public tri_area(v1: *, v2: *, v3: *): * source
import {tri_area} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| v1 | * | ||
| v2 | * | ||
| v3 | * |
Return:
| * |
public trilinear_co(p: *, boxverts: *): * source
import {trilinear_co} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| p | * | ||
| boxverts | * |
Return:
| * |
public trilinear_co2(p: *, boxverts: *, uvw: *): * source
import {trilinear_co2} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| p | * | ||
| boxverts | * | ||
| uvw | * |
Return:
| * |
public trilinear_v3(uvw: *, boxverts: *): * source
import {trilinear_v3} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| uvw | * | ||
| boxverts | * |
Return:
| * |
public unproject(vec: *, ipers: *, iview: *): * source
import {unproject} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| vec | * | ||
| ipers | * | ||
| iview | * |
Return:
| * |
public unregister(cls: *) source
import {unregister} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
public validateCSSColor(color: *): * source
import {validateCSSColor} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| color | * |
Return:
| * |
public validateStructs(onerror: *): * source
import {validateStructs} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| onerror | * |
Return:
| * |
public validateWebColor(str: *): * source
import {validateWebColor} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| str | * |
Return:
| * |
public warning(screen: *, msg: *, timeout: *): * source
import {warning} from './scripts/widgets/ui_noteframe.js'
Params:
| Name | Type | Attribute | Description |
| screen | * | ||
| msg | * | ||
| timeout | * |
Return:
| * |
public web2color(str: *): * source
import {web2color} from './scripts/core/ui_theme.js'
Params:
| Name | Type | Attribute | Description |
| str | * |
Return:
| * |
public winding(a: *, b: *, c: *, zero_z: *, tol: number): * source
import {winding} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| c | * | ||
| zero_z | * | ||
| tol | number |
|
Return:
| * |
public winding_axis(a: *, b: *, c: *, up_axis: *): * source
import {winding_axis} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| a | * | ||
| b | * | ||
| c | * | ||
| up_axis | * |
Return:
| * |
public writeJSON(obj: *): * source
import {writeJSON} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| obj | * |
Return:
| * |
public writeObject(data: *): * source
import {writeObject} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| data | * | : Array instance to write bytes to |
Return:
| * |
public write_scripts(nManager: *, include_code: *): * source
import {write_scripts} from './scripts/path-controller/util/nstructjs_es6.js'
Write all defined structs out to a string.
Params:
| Name | Type | Attribute | Description |
| 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:
| Name | Type | Attribute | Description |
| elem | * | ||
| canvas | * | ||
| g | * | ||
| size | * |
private _getFont(elem: *, size: *, font: string, do_dpi: boolean): * source
import {_getFont} from './scripts/core/ui_base.js'
Return:
| * |
private _getFont_new(elem: *, size: *, font: string, do_dpi: boolean): * source
import {_getFont_new} from './scripts/core/ui_base.js'
Return:
| * |
private _old_isect_ray_plane(planeorigin: *, planenormal: *, rayorigin: *, raynormal: *): * source
import {_old_isect_ray_plane} from './scripts/path-controller/util/math.js'
Params:
| Name | Type | Attribute | Description |
| planeorigin | * | ||
| planenormal | * | ||
| rayorigin | * | ||
| raynormal | * |
Return:
| * |
private _onEventsStart(cb: *) source
import {_onEventsStart} from './scripts/screen/FrameManager.js'
Params:
| Name | Type | Attribute | Description |
| cb | * |
private _onEventsStop(cb: *) source
import {_onEventsStop} from './scripts/screen/FrameManager.js'
Params:
| Name | Type | Attribute | Description |
| cb | * |
private _setAreaClass(cls: *) source
import {_setAreaClass} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
private _setModalAreaClass(cls: *) source
import {_setModalAreaClass} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
private _setScreenClass(cls: *) source
import {_setScreenClass} from './scripts/path-controller/util/simple_events.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
private _setTextboxClass(cls: *) source
import {_setTextboxClass} from './scripts/core/ui_base.js'
Params:
| Name | Type | Attribute | Description |
| cls | * |
private _setUIBase(uibase: *) source
import {_setUIBase} from './scripts/core/aspect.js'
Params:
| Name | Type | Attribute | Description |
| uibase | * |
private _truncateDollarSign(s: *): * source
import {_truncateDollarSign} from './scripts/path-controller/util/nstructjs_es6.js'
Params:
| Name | Type | Attribute | Description |
| s | * |
Return:
| * |


Point of Sale hardware, the till at a shop check out, has become very complex over the past ten years. Modern POS hardware includes the cash till, bar-code readers...
Page not found
Sorry the page you were looking for cannot be found. Try searching for the best match or browse the links below:
Point of Sale hardware, the till at a shop check out, has become very complex over the past ten years. Modern POS hardware includes the cash till, bar-code readers...
Point of Sale hardware, the till at a shop check out, has become very complex over the past ten years. Modern POS hardware includes the cash till, bar-code readers...
Point of Sale hardware, the till at a shop check out, has become very complex over the past ten years. Modern POS hardware includes the cash till, bar-code readers...


cccd: Class Cover Catch Digraphs
Class Cover Catch Digraphs, neighborhood graphs, and
relatives.
| Version: |
1.5 |
| Depends: |
igraph |
| Imports: |
proxy, deldir, FNN |
| Suggests: |
Matrix |
| Published: |
2015-06-02 |
| Author: |
David J. Marchette |
| Maintainer: |
David J. Marchette <dmarchette at gmail.com> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: |
no |
| CRAN checks: |
cccd results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=cccd
to link to this page.


Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
- Gamepad API
- Pointerlock API
- Web Audio API
Firefox OS Phone
WebVTT In Action
Rick in San Francisco outside Mozilla HQ
Rick at San Francisco for FOMS (Foundations of Open Media Standards)
Localization
Popcorn Maker in Arabic with Right-to-Left
Goggles in Bengali with Right-to-Left
Appmaker in Portuguese
Thimble in Chinese
Webmaker in Khmer
All Current Languages in Webmaker
Webmaker being used in Indian orhpanage
Using Thimble in India
Webmaker in Indonesia
And Webmaker in Toronto Schools!
Ali in Revelstock for Appmaker workweek
Ali skiing in Revelstoke
Webmaker Workweek in Toronto
Brackets in browser editor
Brackets on IE
Brackets on iPhone
TogetherJS with realtime translation


Angelo Belleza
I am experienced in editing videos on Sony Vegas Pro and graphic designing on Photoshop.
I am experienced in editing videos on Sony Vegas Pro and graphic designing on Photoshop.
I am able to bring to the table any video format the client desires. Whether if it is a wedding video, a product advertisement or a simple video explaining a particular subject, I am able to adjust and shape what the client wishes. To further enchance my skills I accept any offer the client needs.
Customizing photo and edit various kinds of images whether if it is for a business, advertisement or personal use I would be able to shape the image depending on the clients wishes.
Apart from video editing and designing, I like playing computer games mostly I enjoy puzzle games such as Portal 2 and relaxing games such as Stardew Valley.
When outside the digital interests, my outdoor activities are playing with my dog and taking care of my mother's plants. I also cook my own food, my favorite food I make is grilled cheese.


:: com :: sun :: star :: rdf ::
|
| interface XMetadatable |
- Base Interfaces
XMetadatable
┗ XURI
┗ XResource
┗ XNode
| XURI |
- (referenced interface's summary:)
- represents an URI node that may occur in a RDF graph.
|
|
- Description
- marks an object representing an ODF element that may have RDF meta data
attached.
To make using ODF elements as part of RDF statements more convenient,
this interface inherits from XURI.
The URI is constructed by concatenating the URI of the document, the
stream name, a fragment separator, and the XML ID.
Note that using the XURI interface on an instance of
XMetadatable may have the side effect of creating a metadata
reference for the instance.
- Since
- OOo 3.2
- See also
- XRepository, XDocumentMetadataAccess
|
| Attributes' Summary |
| MetadataReference |
a metadata reference, comprising the stream name and the XML ID.
|
| Methods' Details |
ensureMetadataReference
| void |
| ensureMetadataReference(); |
- Description
- creates a metadata reference for this object, if necessary.
If this object already has a metadata reference, do nothing;
otherwise, create metadata reference with a fresh, unique XML ID
and assign it to the MetadataReference attribute.
|
|
| Attributes' Details |
MetadataReference
::com::sun::star::beans::StringPair MetadataReference
- set raises (::com::sun::star::lang::IllegalArgumentException);
- Description
- a metadata reference, comprising the stream name and the XML ID.
Note that this metadata reference must be unique for the ODF document.
This implies that the XML ID part must be unique for every stream.
A pair of two empty strings signifies "no metadata reference".
For example: Pair("content.xml", "foo-element-1")
- Throws
- com::sun::star::lang::IllegalArgumentException
if the given metadata reference is invalid, or not unique
|
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


--- layout: post title: 'Under the hood: ActiveRecord::Base.find, Part 2' post_id: 172 categories: - under the hood date: 2006-11-20 07:19:00.000000000 -07:00 author: Jamis permalink: 2006/11/20/under-the-hood-activerecord-base-find-part-2.html ---
When working with Rails, it is tempting to conceptualize ActiveRecord#find
into some genie that magically reaches into your database and pulls back the records matching the criteria you specified. The reality is a bit more complex, and sadly lacking in genies.
To satisfy any request, #find
works in two stages. First, it has to convert your criteria into SQL. Then, it has to take the results returned from the database and instantiate them as ActiveRecord objects.
The process of converting criteria into SQL is surprisingly complex, even for the simple cases. Let’s walk through the code to get an idea of what happens for the most trivial of cases, User.find(1)
.
(I’m working off of edge rails here, which at the time of this writing was at revision 5585. Code snippets given in this article will inevitably diverge from the latest edge. Caveat lector!)
1 2 3 4 5 6 7 8 9 10 11 |
def find(*args) options = extract_options_from_args!(args) validate_find_options(options) set_readonly_option!(options) case args.first when :first then find_initial(options) when :all then find_every(options) else find_from_ids(args, options) end end |
For the case we’re investigating, User.find(1)
, args
will simply be [1]
. The extract_options_from_args
simply checks the last element of the array, and if it is a Hash, pops it off and returns it. For our example, we’ll just get an empty hash back.
Then, we validate the options, making sure no bogus keys were passed in, and finally, we call set_readonly_option!
, which does some scope-checking to make sure the :readonly
option is set correctly.
With all that out of the way, we check the first argument, which is neither :first
nor :all
, so we call find_from_ids
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
def find_from_ids(ids, options) expects_array = ids.first.kind_of?(Array) return ids.first if expects_array && ids.first.empty? ids = ids.flatten.compact.uniq case ids.size when 0 raise RecordNotFound, "Couldn't find #{name} without an ID" when 1 result = find_one(ids.first, options) expects_array ? [ result ] : result else find_some(ids, options) end end |
The mumbo-jumbo at the top of that method just checks to see if an array of ids was passed to the method. If it was, we have to make sure and return an array, regardless of the number of rows returned. We, however, did not pass an array of ids, so expects_array
will be false
.
Then, we flatten the list of ids (to expand nested arrays), compact it (to remove nil
elements), and remove duplicate elements. For us, the resulting ids
array will contain a single element (the number 1), so we take the second when
clause, which calls find_one
.
1 2 3 4 5 6 7 8 9 10 |
def find_one(id, options) conditions = " AND (#{sanitize_sql(options[:conditions])})" if options[:conditions] options.update :conditions => "#{table_name}.#{primary_key} = #{quote_value(id,columns_hash[primary_key])}#{conditions}" if result = find_every(options).first result else raise RecordNotFound, "Couldn't find #{name} with ID=#{id}#{conditions}" end end |
Now we start seeing some actual work being done to generate SQL. In our case, though, the options
hash has no :conditions
keys, so all that happens (via the second line) is that we add a condition which searches based on the id we passed in (1, in our case).
Then, we further the cause of lengthy stack-traces by calling find_every
, and return the first record it returns. (This is safe, because finding by a unique primary key will always return only a single record, at most.)
1 2 3 4 5 6 7 8 9 |
def find_every(options) records = scoped?(:find, :include) || options[:include] ? find_with_associations(options) : find_by_sql(construct_finder_sql(options)) records.each { |record| record.readonly! } if options[:readonly] records end |
With the find_every
method, we’re getting closer to the database. It checks to see whether an :include
criterion has been specified, and branches accordingly. If you specify one or more associations to load eagerly, you’ll take the considerably more complex branch with find_with_associations
. Fortunately for us, we get to go the find_by_sql
route. First, though, we jump into construct_finder_sql
to build the actual SQL for our simple query:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
def construct_finder_sql(options) scope = scope(:find) sql = "SELECT #{(scope && scope[:select]) || options[:select] || '*'} " sql << "FROM #{(scope && scope[:from]) || options[:from] || table_name} " add_joins!(sql, options, scope) add_conditions!(sql, options[:conditions], scope) sql << " GROUP BY #{options[:group]} " if options[:group] add_order!(sql, options[:order], scope) add_limit!(sql, options, scope) add_lock!(sql, options, scope) sql end |
In our simple case, there is no active scope, and only a single element in the options
hash: :conditions
. The only method here that we’ll call with any effect is add_conditions!
, which appends the necessary conditions to the sql
string:
1 2 3 4 5 6 7 8 9 |
def add_conditions!(sql, conditions, scope = :auto) scope = scope(:find) if :auto == scope segments = [] segments << sanitize_sql(scope[:conditions]) if scope && scope[:conditions] segments << sanitize_sql(conditions) unless conditions.nil? segments << type_condition unless descends_from_active_record? segments.compact! sql << "WHERE (#{segments.join(") AND (")}) " unless segments.empty? end |
Essentially, this will build an array of “segments” that need to be and’ed together to form the complete where clause of the SQL statement. It pulls conditions from the scope (if it exists), the conditions
parameter (which in our case is just a simple comparison on the id), and the type condition (for classes that aren’t descended directly from ActiveRecord::Base
).
With that done, we pop back up the stack with our complete SQL statement, and invoke find_by_sql
.
1 2 3 |
def find_by_sql(sql) connection.select_all(sanitize_sql(sql), "#{name} Load").collect! { |record| instantiate(record) } end |
Compared to the others, this one is ridiculously simple. Execute the sql, and then call instantiate
for every record in the list. (That’s the second phase of #find
, as you’ll recall: building ActiveRecord objects from the result of a query.) The resulting array is returned back up the stack, where it will eventually come out the top as a single ActiveRecord instance (or an exception, if no matching record was found).
There you have it: the whirlwind tour. We’ll be examining more complex scenarios in subsequent posts, eventually delving into the eager loading code and scoping.  It’s not magic, just a lot of code! And nary a genie in sight.


SubPackets (Namespace)
Namespace: stdlibXtf
The stdlibXtf.SubPackets namespace contains classes that represent the small packets of data associated to certain known packets.
Classes
| BathySnippet0 | Represent the header part of the bathy data attached to a PingHeader packet. |
| BathySnippet1 | Represent the beam part of the bathy data attached to a PingHeader packet. |
| BeamXYZA | Represent the processed beam of the bathy data attached to a PingHeader packet. |
| ChannelInfo | Represent the channel information structure present, one time for each channel, in the document header. |
| PingChannelData | Represent the channel data. |
| PingChannelHeader | Represent the channel informations that can be unique from ping to ping. |
| QpsMbeEntry | Represent the beam part of the bathy data attached to a multi beam PingHeader packet. |
| QpsMultiTxEntry | Represent the beam part of the bathy data attached to a single beam PingHeader packet. |
Examples
example ...
Remarks
remarks ...


--- layout: weather_layout backPage: Getting started backPageLink: start.html nextPage: Get current weather nextPageLink: current_weather.html bgColor: 3F51B5 title: Search city topic: Search city descr: "To develop an android app you have to add search city feature in your android ui so that user can get weather information for the city. Here you can find the tutorial how to develop an ui to search for a city using geo coordinates (latitude and longitude) with GPS or city id using name pattern" ---
WeatherRequest.
WeatherRequest req = new WeatherRequest(40.716667F, -74F);
WeatherRequest req = new WeatherRequest(2643743);
| Openweathermap | Yes |
| Weatherunderground Weather.com |
Yes |
| Yahoo! Weather | Yes |
| Forecast.io | Yes |
weatherClient.searchCity(s.toString(), new WeatherClient.CityEventListener() {
@Override
public void onCityListRetrieved(Listcities) {
// The data is ready
}
@Override
public void onWeatherError(WeatherLibException e) {
// Error on geting data
}
@Override
public void onConnectionError(Throwable throwable) {
// Connection error
}
});
where weatherClient is created in the way shown before
As you can notice, we can search a city passing a name pattern and
invoking the method
searchCity
. All the methods in the libray have a listener
that is used to notify the
caller that the data from weather provider are ready. In this case we
have to use CityEventListener
that has three methods:
onCityListRetrieved
that is called when the data is
availableonWeatherError
that is called when there is an error
parsing the dataonConnectionError
that is called when there is a
connection error
The most interesting method is the first one that returns a List of
City instance. One attribute
of this class is the id
that is the unique city
indentifier. The City
holds
other attributes like the region name and the country. It holds also
the long and lat.
The onCityListRetrieved
method is the right place if you
want to create an adapter to fill a ListView for example so that the
user can select the city.
There are other two different ways to search for a city id:
If you want to search using lat and long coords, you have to use:searchCity(double lat, double lon, CityEventListener listener)
Criteria
you should provide your search location criteria (see Android docs).
Weatherlib provides a default Criteria implementation:
public static Criteria createDefaultCriteria() {
Criteria criteria = new Criteria();
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setCostAllowed(false);
}


Before Change
config["num_workers"] = 0 // Run locally.
// tf.
trainer = pg.PGTrainer(config=config, env="CartPole-v0")
num_iterations = 2
for i in range(num_iterations):
trainer.train()
// Torch.
config["use_pytorch"] = True
trainer = pg.PGTrainer(config=config, env="CartPole-v0")
for i in range(num_iterations):
trainer.train()
After Change
config["num_workers"] = 0 // Run locally.
num_iterations = 2
for _ in framework_iterator(config):
trainer = pg.PGTrainer(config=config, env="CartPole-v0")
for i in range(num_iterations):
trainer.train()
def test_pg_loss_functions(self):
Tests the PG loss function math.
config = pg.DEFAULT_CONFIG.copy()
config["num_workers"] = 0 // Run locally.


I recently came across three 1cc syringes of Ketamine in my medicide cabinet that had been intended for my dog. At the time I first got these, I hadn't realized exactly what ket was, so I thought nothing of it. However, being three years later when I came back across them this time, I was a bit more knowledgeable of K and its effects. Since the dog obviously didn't need them anymore, I decided to procure them for my own usage. I had recently made a friend on IRC who used all sorts of drugs, so I asked him how I should use the K, as well as looking around on the internet.
It turned out that all three of the needles were completely blocked from being old, and by the time I got one to a usable state, I had spilled / accidentally squirted half (1.5cc) of the ketamine on my floor and ceiling.  I felt the K start to come into effect quickly, but it did little more than make me woozy and nauseous.  When moving, I felt as if I was in slow motion, but at the same time, that whatever I was moving (arm, leg, whatever) arrived at its destination before I expected it to. The first trip was extremely uneventful, and probably shouldn't even be classified as a 'trip'.
The next evening, I injected the remaining full cc in the same area. I felt the wooziness and strange motor control coming on again, but this time I was certainly feeling really weird in a short period of time.  I had read other people's accounts of feeling like they were floating around and looking at themselves from afar, but what I experienced was nothing like that at all. I was suddenly thrust into an entirely different setting, or so my eyes told me. I found myself soaring through a huge, spinning vortex of light and what I remember to be strange symbols. I had an hour-long Paul van Dyk mix playing on my stereo, and I clearly remember it seeming to get louder and louder as my eyes and other senses told me I was flying through the vortex.
Another distinctly different aspect of my trip was the fact that I felt I was being compelled by this alternate reality, rather than compelling it myself. I felt like the music was pulling me along, as I would twist and turn and change directions in response to changes in the music. I continued this for what seemed like days on end. Another odd thing about the music was that I had the distinct impression of 'remembering' it, rather than hearing it. I felt that it was coming from inside my own head. While traveling through this vortex, many ideas made themselves apparent to me. Primarily was the idea that I had somehow accessed the 'real' representation of reality, the true backbone of all conciousness and existence, and that the 'real world' as I knew it was just a virtual reality, my body just a shell for the conciousness I knew as my 'self' to fit in and operate in the 'virtual' world.
I also had an urgent sense of needing to return to that world, even 'knowing' that it wasn't 'real'. Somehow or another, I finally came to the conclusion that since the music was what was 'pulling' me through the vortex, that I would never be able to reconnect with the 'virtual' world unless I was somehow able to make the music stop. It occurred to me that I could simply hit the power button on my stereo receiver, which was on the table next to my computer back in the 'virtual' world. However, I was still in the 'stream of conciousness' and couldn't even SEE my receiver, much less use an arm I had forgotten I had to push it. Somehow, I gathered whatever wits I still had about me, and forced myself back into the REAL real world, hit the button, and fell out of my chair onto the floor. I crawled over to the sofa, being about as close to completely out of it as one could get without BEING completely out of it.
I flopped up on the sofa, thankful that I was back into this world, even though I had no idea what day it was. I drifted in and out of conciousness as I tried to sleep, and every once in a while would catch just a glimpse of the outline of the room. My vision was still pretty much worthless, and I couldn't focus on anything if I tried. Eventually, I fell asleep, and woke up the next morning feeling completely fine, though remembering the excessive weirdness of the night before. The best non-drug analogy to the way I felt in the trip was that I was trapped in a dream and couldn't wake up, and I felt like I would just keep on dreaming forever unless I could pull myself out of it.
Looking back on the experience, I feel like I may have pulled myself out right when it was about to get good. Many people I have talked to have described a similar 'vortex' experience, finally arriving at something at the end of it, which I never did. I certainly plan to try again, now that I can reassure myself that I will, in fact, wake up.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


| Select class AC First Class (1A) AC 2 Tier (2A) AC 3 Tier (3A) AC 3 Economy (3E) Exec. Chair Car (EC) AC Chair Car (CC) First Class (FC) Sleeper (SL) Second Sitting (2S) |
| Title is failed |
| Select class AC First Class (1A) AC 2 Tier (2A) AC 3 Tier (3A) AC 3 Economy (3E) Exec. Chair Car (EC) AC Chair Car (CC) First Class (FC) Sleeper (SL) Second Sitting (2S) |
| Title is failed |