Skip to content
Shapemetry

@huukhanhnguyen/model / nodeMethods/data

nodeMethods/data

curveSelfUnion

const curveSelfUnion: (data) => ObjectData & { wholeArray: true; }


flatten

const flatten: (data) => ObjectData & { wholeArray: true; }


keepEntities

const keepEntities: (data, keep) => ObjectData & { wholeArray: true; }


resize

const resize: (data, sizeX, sizeY, sizeZ) => ObjectData & { wholeArray: true; }


solidSelfUnion

const solidSelfUnion: (data) => ObjectData & { wholeArray: true; }


vertexDelete

const vertexDelete: (data, filter) => ObjectData & { wholeArray: true; }

Delete selected vertices.


vertexMove

const vertexMove: (data, filter, vector) => ObjectData & { wholeArray: true; }

Move selected vertices — curves (control points) or faces (welded mesh).


vertexRotate

const vertexRotate: (data, filter, axis, angle) => ObjectData & { wholeArray: true; }

Rotate selected vertices about an axis.


vertexScale

const vertexScale: (data, filter, center, factor) => ObjectData & { wholeArray: true; }

Scale selected vertices about a center.


applyLabel()

applyLabel(data, text): ObjectData

Whole-object label is an object CLAIM (DataNode's CLAIM_METHODS), so the plain string case never touches the document. A CALLBACK asks "which placement gets which label" — only a block has placements, and a label is an OBJECT field (BaseObject.label, there is none on an instance), so each child object of the block answers for its own placement.

Parameters

data

ObjectData

text

string | ((object, index) => unknown)

Returns

ObjectData


applyLocked()

applyLocked(data, _enabled): ObjectData

Parameters

data

ObjectData

_enabled

number | boolean

Returns

ObjectData


applyPoint()

applyPoint(tr, p): Point

Parameters

tr

Transformation

p

Point

Returns

Point


applyVector()

applyVector(tr, v): Point

Parameters

tr

Transformation

v

Point

Returns

Point


applyVisible()

applyVisible(data, enabled): ObjectData

Whole-object visibility is an object CLAIM (see DataNode's CLAIM_METHODS) and never touches the document. A CALLBACK is a different question — "which placements" — and only a block has placements to answer it with, so that case is applied here, per placement, in stream order.

Parameters

data

ObjectData

enabled

number | boolean | ((object, index) => unknown)

Returns

ObjectData


attribute()

attribute(data, key, value): ObjectData

Parameters

data

ObjectData

key

string

value

unknown

Returns

ObjectData


dataBoundingBox()

dataBoundingBox(data): BoundingBox | null

Parameters

data

ObjectData | ObjectData[] | undefined

Returns

BoundingBox | null


faceMaterial()

faceMaterial(data, name, filter?): ObjectData

Parameters

data

ObjectData

name

string | ((object, index) => unknown)

filter?

readonly number[] | ((face, index) => unknown) | null

Returns

ObjectData


flattenToXY()

flattenToXY(data): ObjectData

Parameters

data

ObjectData

Returns

ObjectData


flip()

flip(data, plane): ObjectData

Parameters

data

ObjectData

plane

Plane

Returns

ObjectData


layer()

layer(data, _name): ObjectData

Whole-object layer — data is unchanged; the fold node lifts claims.layer.

Parameters

data

ObjectData

_name

string

Returns

ObjectData


material()

material(data, name): ObjectData

Whole-document material stamp — faceMaterial without a filter.

Parameters

data

ObjectData

name

string

Returns

ObjectData


move()

move(data, vector): ObjectData

Parameters

data

ObjectData

vector

Vector

Returns

ObjectData


moveMatrix()

moveMatrix(vector): Transformation

Parameters

vector

Vector

Returns

Transformation


reflectionMatrix()

reflectionMatrix(plane): Transformation

Parameters

plane

Plane

Returns

Transformation


reverse()

reverse(data, enabled?): ObjectData

Parameters

data

ObjectData

enabled?

number | boolean

Returns

ObjectData


rotate()

rotate(data, axis, degree): ObjectData

Parameters

data

ObjectData

axis

Axis

degree

number

Returns

ObjectData


rotateMatrix()

rotateMatrix(axis, degree): Transformation

Parameters

axis

Axis

degree

number

Returns

Transformation


transformData()

transformData(data, tr): ObjectData

Parameters

data

ObjectData

tr

Transformation

Returns

ObjectData

Last updated: 📖 4 min readEdit on GitHub