Skip to main content

Interface: MobjectWithTargetPosition

Defined in: src/animation/movement/Shift.ts:93

Interface for mobjects with a targetPosition property.

Extends​

Properties​

__savedMobjectState​

__savedMobjectState: unknown = null

Defined in: src/core/Mobject.ts:140

JSON-serializable saved state (used by restoreState()).

Inherited from​

Mobject.__savedMobjectState


_blendMode​

protected _blendMode: BlendMode = 'normal'

Defined in: src/core/Mobject.ts:110

Current blend mode for this mobject's own materials (default normal).

Inherited from​

Mobject._blendMode


_blendModeActive​

protected _blendModeActive: boolean = false

Defined in: src/core/Mobject.ts:116

Whether a blend mode was ever set on this mobject. While false, the blend step in _syncToThree is skipped entirely, so unthemed/unblended mobjects never touch material blending state (keeps the default path exact).

Inherited from​

Mobject._blendModeActive


_color​

protected _color: string = '#ffffff'

Defined in: src/core/Mobject.ts:95

Inherited from​

Mobject._color


_dirty​

_dirty: boolean = true

Defined in: src/core/Mobject.ts:132

THREE backing object needs re-sync from this node's transform/state.

Inv​

this._dirty || child._dirty === false // a clean node has a clean subtree

This invariant is what makes the early-return in _syncToThree() and the root-sync in _syncWorldMatrices() correct. It holds because _markDirty() always propagates upward. Marking a node dirty WITHOUT marking its ancestors (e.g. reverting _markDirty to self-only) silently breaks it: a clean ancestor will short-circuit the sync and never reach the dirty descendant, leaving stale world coordinates (issue #251).

Inherited from​

Mobject._dirty


_disableChildZLayering​

protected _disableChildZLayering: boolean = false

Defined in: src/core/Mobject.ts:118

When true, children skip the 2D z-layering offset in _syncToThree.

Inherited from​

Mobject._disableChildZLayering


_isVMobject​

_isVMobject: boolean = false

Defined in: src/core/Mobject.ts:133

Inherited from​

Mobject._isVMobject


_opacity​

protected _opacity: number = 1

Defined in: src/core/Mobject.ts:106

Inherited from​

Mobject._opacity


_style​

protected _style: MobjectStyle

Defined in: src/core/Mobject.ts:119

Inherited from​

Mobject._style


_threeObject​

_threeObject: Object3D<Object3DEventMap> = null

Defined in: src/core/Mobject.ts:120

Inherited from​

NeuralNetwork._threeObject


children​

children: Mobject[] = []

Defined in: src/core/Mobject.ts:90

Inherited from​

Mobject.children


createdAtBeginning​

createdAtBeginning: boolean = false

Defined in: src/core/Mobject.ts:94

Inherited from​

Mobject.createdAtBeginning


fillOpacity​

fillOpacity: number = 0

Defined in: src/core/Mobject.ts:108

Inherited from​

Mobject.fillOpacity


id​

readonly id: string

Defined in: src/core/Mobject.ts:81

Inherited from​

Mobject.id


parent​

parent: Mobject = null

Defined in: src/core/Mobject.ts:89

Inherited from​

NeuralNetwork.parent


position​

position: Vector3

Defined in: src/core/Mobject.ts:91

Inherited from​

Mobject.position


rotation​

rotation: Euler

Defined in: src/core/Mobject.ts:92

Inherited from​

Mobject.rotation


savedState​

savedState: Mobject = null

Defined in: src/core/Mobject.ts:136

Saved mobject copy (used by Restore animation). Set by saveState().

Inherited from​

ImageLayer.savedState


scaleVector​

scaleVector: Vector3

Defined in: src/core/Mobject.ts:93

Inherited from​

Mobject.scaleVector


strokeWidth​

strokeWidth: number = 4

Defined in: src/core/Mobject.ts:107

Inherited from​

Mobject.strokeWidth


targetCopy​

targetCopy: Mobject = null

Defined in: src/core/Mobject.ts:138

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from​

ImageLayer.targetCopy


targetPosition?​

optional targetPosition: Vector3Tuple

Defined in: src/animation/movement/Shift.ts:94

Accessors​

animate​

Get Signature​

get animate(): AnimateProxy

Defined in: src/core/Mobject.ts:961

Returns an AnimateProxy that records method calls. Pass the proxy to scene.play() to animate from the current state to the state after all recorded calls are applied.

Example​
scene.play(circle.animate.shift([2, 0, 0]));
scene.play(circle.animate.setColor('#ff0000').scale(2));
Returns​

AnimateProxy

Inherited from​

Mobject.animate


color​

Get Signature​

get color(): string

Defined in: src/core/Mobject.ts:96

Returns​

string

Set Signature​

set color(value): void

Defined in: src/core/Mobject.ts:99

Parameters​
value​

string

Returns​

void

Inherited from​

Mobject.color


fillColor​

Get Signature​

get fillColor(): string

Defined in: src/core/Mobject.ts:316

Returns​

string

Set Signature​

set fillColor(color): void

Defined in: src/core/Mobject.ts:320

Parameters​
color​

string

Returns​

void

Inherited from​

Mobject.fillColor


isDirty​

Get Signature​

get isDirty(): boolean

Defined in: src/core/Mobject.ts:1108

Returns​

boolean

Inherited from​

Mobject.isDirty


opacity​

Get Signature​

get opacity(): number

Defined in: src/core/Mobject.ts:186

Returns​

number

Set Signature​

set opacity(value): void

Defined in: src/core/Mobject.ts:190

Parameters​
value​

number

Returns​

void

Inherited from​

Mobject.opacity


strokeColor​

Get Signature​

get strokeColor(): string

Defined in: src/core/Mobject.ts:327

Returns​

string

Set Signature​

set strokeColor(color): void

Defined in: src/core/Mobject.ts:331

Parameters​
color​

string

Returns​

void

Inherited from​

Mobject.strokeColor


style​

Get Signature​

get style(): MobjectStyle

Defined in: src/core/Mobject.ts:194

Returns​

MobjectStyle

Inherited from​

Mobject.style


submobjects​

Get Signature​

get submobjects(): Mobject[]

Defined in: src/core/Mobject.ts:208

Returns​

Mobject[]

Inherited from​

Mobject.submobjects


userId​

Get Signature​

get userId(): string

Defined in: src/core/Mobject.ts:169

The user-defined string identifier, or undefined if none was set. Distinct from the internal id uuid. Look a mobject up by this value with Scene.getMobject.

Returns​

string

Inherited from​

Mobject.userId

Methods​

_applyBlendModeToThree()​

protected _applyBlendModeToThree(): void

Defined in: src/core/Mobject.ts:254

Apply the current blend mode to this node's own three.js materials.

Traverses this mobject's backing object but stops at any submobject's backing object, so each family member owns its own materials (a child with a different blend mode is not clobbered by its parent's traversal).

Returns​

void

Inherited from​

Mobject._applyBlendModeToThree


_applyFunctionAboutPoint()​

protected _applyFunctionAboutPoint(_fn, _aboutPoint): void

Defined in: src/core/Mobject.ts:1236

Per-node hook called by applyFunctionAboutPoint.

Parameters​

_fn​

(pts) => number[][]

_aboutPoint​

number[]

Returns​

void

Pre​

fn(pts).length === pts.length

Post​

getPoints()[i] === fn(old.getPoints())[i]

Note​

no-op in base Mobject; override in subclasses with own points

Inherited from​

Mobject._applyFunctionAboutPoint


_createThreeObject()​

abstract protected _createThreeObject(): Object3D

Defined in: src/core/Mobject.ts:1167

Returns​

Object3D

Inherited from​

Mobject._createThreeObject


_flattenAsContainer()​

protected _flattenAsContainer(worldMatrix): this

Defined in: src/core/Mobject.ts:1020

Flatten a node whose geometry is fully described by its children (or which has no own geometry): recurse into children, then reset own transform to identity. The transform is not lost — it was folded into the descendants via the composed worldMatrix.

Parameters​

worldMatrix​

Matrix4

Returns​

this

Inherited from​

Mobject._flattenAsContainer


_flattenAsMesh()​

protected _flattenAsMesh(worldMatrix): this

Defined in: src/core/Mobject.ts:1035

Flatten a Three.js-mesh node that cannot bake geometry into points: absolutize by setting the local transform equal to worldMatrix, so it renders correctly once its (now identity) ancestors collapse. A mesh is a flattening barrier — its descendants stay relative to it.

Parameters​

worldMatrix​

Matrix4

Returns​

this

Inherited from​

Mobject._flattenAsMesh


_getBoundingBox()​

_getBoundingBox(): object

Defined in: src/core/Mobject.ts:853

Returns​

object

depth​

depth: number

height​

height: number

width​

width: number

Deprecated​

Use getBoundingBox() instead.

Inherited from​

Mobject._getBoundingBox


_getEdgeInDirection()​

_getEdgeInDirection(direction): Vector3Tuple

Defined in: src/core/Mobject.ts:837

Parameters​

direction​

Vector3Tuple

Returns​

Vector3Tuple

World-space edge position (center + half-bounding-box offset).

Inherited from​

Mobject._getEdgeInDirection


_localToWorld()​

protected _localToWorld(p): Vector3Tuple

Defined in: src/core/Mobject.ts:493

LOCAL point -> WORLD (the frame this node's points live in; this node's own transform IS applied).

Parameters​

p​

Vector3Tuple

Returns​

Vector3Tuple

Post​

result === this._worldMatrix() * p

Inherited from​

Mobject._localToWorld


_markDirty()​

_markDirty(): void

Defined in: src/core/Mobject.ts:1093

Mark this node's render/transform state stale and propagate the flag to the root. World-space geometry of any node depends on its ancestors' transforms, so a change anywhere must invalidate the whole ancestor chain; the invariant "a clean node has a clean subtree" then lets _syncToThree()/root-sync skip untouched branches safely.

Returns​

void

Post​

this._dirty && (this.parent => this.parent._dirty)

Inherited from​

Mobject._markDirty


_markDirtyUpward()​

_markDirtyUpward(): void

Defined in: src/core/Mobject.ts:1104

Alias for _markDirty. Retained as the single override point for subclasses (e.g. VMobject) that must also invalidate baked geometry when a mutation propagates upward; transform-only changes call _markDirty() directly.

Returns​

void

Inherited from​

Mobject._markDirtyUpward


_normalizeChildrenInto()​

protected _normalizeChildrenInto(worldMatrix): void

Defined in: src/core/Mobject.ts:1008

Recurse normalizeTransform into children, composing each child's own matrix onto worldMatrix so every descendant flattens into the same frame.

Parameters​

worldMatrix​

Matrix4

Returns​

void

Inherited from​

Mobject._normalizeChildrenInto


_ownMatrix()​

_ownMatrix(): Matrix4

Defined in: src/core/Mobject.ts:1142

This node's transform matrix in isolation — position, rotation, and scale composed together, with no ancestor contribution.

Returns​

Matrix4

Post​

this.parent === null => this._computeWorldMatrix() === this._computeOwnMatrix()

Post​

this.parent !== null => this._computeWorldMatrix() === this.parent._computeWorldMatrix() * this._computeOwnMatrix()

Inherited from​

Mobject._ownMatrix


_root()​

_root(): Mobject

Defined in: src/core/Mobject.ts:1113

The topmost ancestor (the node with no parent).

Returns​

Mobject

Inherited from​

Mobject._root


_rotateAboutParentLocalPoint()​

protected _rotateAboutParentLocalPoint(angle, axis, pivotLocal): void

Defined in: src/core/Mobject.ts:462

Rotate about a pivot expressed in this node's PARENT-local frame (the same frame as this.position). No world-space conversion is done.

Parameters​

angle​

number

axis​

Vector3Tuple

pivotLocal​

Vector3Tuple

Returns​

void

Pre​

pivotLocal is in the same frame as this.position (parent-local)

Post​

the parent-local pivot point is fixed; this.position rotates about it

Post​

this.rotation === old.rotation composed with the requested rotation

Inherited from​

Mobject._rotateAboutParentLocalPoint


_syncMaterialToThree()​

protected _syncMaterialToThree(): void

Defined in: src/core/Mobject.ts:1065

Returns​

void

Inherited from​

Mobject._syncMaterialToThree


_syncToThree()​

_syncToThree(): void

Defined in: src/core/Mobject.ts:1042

Returns​

void

Inherited from​

Mobject._syncToThree


_syncWorldMatrices()​

_syncWorldMatrices(): Object3D

Defined in: src/core/Mobject.ts:769

Refresh the THREE world matrices so a geometry query reads current transforms, and return the backing object. World coordinates depend on every ancestor's transform, so we sync from the root (the dirty invariant — see _markDirty — lets the recursion skip clean subtrees). _syncToThree only copies locals onto the THREE objects; setFromObject won't walk up to refresh matrixWorld, so we flush ancestors (true) and descendants (true) here. Shared by getBounds() and getBoundingBox() so both stay consistent.

Returns​

Object3D

Pre​

!this.isEmpty()

Post​

result.min <= result.max component-wise

Inherited from​

Mobject._syncWorldMatrices


_worldMatrix()​

_worldMatrix(): Matrix4

Defined in: src/core/Mobject.ts:1147

Returns​

Matrix4

Inherited from​

Mobject._worldMatrix


_worldToLocal()​

protected _worldToLocal(p): Vector3Tuple

Defined in: src/core/Mobject.ts:503

WORLD point -> this node's LOCAL frame. Inverse of _localToWorld.

Parameters​

p​

Vector3Tuple

Returns​

Vector3Tuple

Post​

result === this._worldMatrix().invert() * p

Inherited from​

Mobject._worldToLocal


add()​

add(...mobjects): this

Defined in: src/core/Mobject.ts:587

Parameters​

mobjects​

...Mobject[]

Returns​

this

Inherited from​

Mobject.add


addUpdater()​

addUpdater(updater, callOnAdd): this

Defined in: src/core/Mobject.ts:1183

Parameters​

updater​

UpdaterFunction

callOnAdd​

boolean = false

Returns​

this

Inherited from​

Mobject.addUpdater


alignTo()​

alignTo(target, direction): this

Defined in: src/core/Mobject.ts:821

Parameters​

target​

Vector3Tuple | Mobject

direction​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.alignTo


applyFunction()​

applyFunction(fn, options?): this

Defined in: src/core/Mobject.ts:1241

Parameters​

fn​

(point) => number[]

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.applyFunction


applyFunctionAboutPoint()​

applyFunctionAboutPoint(fn, aboutPoint): this

Defined in: src/core/Mobject.ts:1220

Apply a function to every descendant's world-space points, about a given point. Recurses the family and delegates to _applyFunctionAboutPoint on each node.

Parameters​

fn​

(pts) => number[][]

aboutPoint​

number[] = ...

Returns​

this

Pre​

fn(pts).length === pts.length

Post​

m.getPoints()[i] === old.m.getPoints().map(p => fn([p - aboutPoint]) + aboutPoint)[i] // for every descendant m

Inherited from​

Mobject.applyFunctionAboutPoint


applyMatrix()​

applyMatrix(matrix, options?): this

Defined in: src/core/Mobject.ts:1249

Parameters​

matrix​

number[][]

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.applyMatrix


applyToFamily()​

applyToFamily(func): this

Defined in: src/core/Mobject.ts:1171

Parameters​

func​

(mobject) => void

Returns​

this

Inherited from​

Mobject.applyToFamily


become()​

become(other): this

Defined in: src/core/Mobject.ts:700

Parameters​

other​

Mobject

Returns​

this

Inherited from​

Mobject.become


center()​

center(): this

Defined in: src/core/Mobject.ts:883

Returns​

this

Inherited from​

Mobject.center


clearUpdaters()​

clearUpdaters(): this

Defined in: src/core/Mobject.ts:1195

Returns​

this

Inherited from​

Mobject.clearUpdaters


copy()​

abstract copy(): Mobject

Defined in: src/core/Mobject.ts:698

Deep-copy this mobject: position, color, and (for composites) children. Every concrete subclass MUST implement copy() with its own return type. Call _copyBaseAttributesInto to handle standard properties.

Leaf classes: construct new instance, call helper, return. Self-building composites: construct new instance (rebuilds children), call helper, return. Point-morphing classes: construct, call helper, overwrite _points3D, return.

copy() is a LOCAL structural clone: it reproduces this node's own position/rotation/scale (parent-relative) and deep-copies children. It does NOT fold in ancestor transforms — a clone of a node nested under a transformed group carries only the local transform. To get a world-correct clone, normalizeTransform() the tree first (folding ancestors into absolute geometry) so that local === world, then copy. This is why animations flatten with normalizeTransform() before snapshotting via copy().

Returns​

Mobject

Post​

typeof result === typeof this (strongly typed, no casts)

Post​

old.getPoints()[i] === this.getPoints()[i] // source is never mutated

Inherited from​

Mobject.copy


disableChildZLayering()​

disableChildZLayering(): this

Defined in: src/core/Mobject.ts:1078

Disable the 2D draw-order z-layering offset (idx * 0.01 per non-first child, applied in _syncToThree) for this node and its whole subtree.

The offset is a flat-2D hack that fakes paint order by nudging later siblings toward the camera. Under a 3D perspective camera with real depth sorting it instead corrupts geometry: a group's children drift along world-z proportionally to their index (issue #465). ThreeDScene calls this on every added mobject so 3D scenes opt out. Because the offset is gated on the parent's flag, setting it on a container also covers children added later.

Returns​

this

Inherited from​

Mobject.disableChildZLayering


dispose()​

dispose(): void

Defined in: src/core/Mobject.ts:1290

Returns​

void

Inherited from​

Mobject.dispose


flip()​

flip(axis, options?): this

Defined in: src/core/Mobject.ts:509

Parameters​

axis​

Vector3Tuple = ...

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.flip


generateTarget()​

generateTarget(): Mobject

Defined in: src/core/Mobject.ts:1264

Returns​

Mobject

Inherited from​

Mobject.generateTarget


getBlendMode()​

getBlendMode(): BlendMode

Defined in: src/core/Mobject.ts:243

The current blend mode of this mobject.

Returns​

BlendMode

Inherited from​

Mobject.getBlendMode


getBottom()​

getBottom(): Vector3Tuple

Defined in: src/core/Mobject.ts:862

Returns​

Vector3Tuple

Inherited from​

Mobject.getBottom


getBoundingBox()​

getBoundingBox(): object

Defined in: src/core/Mobject.ts:840

Returns​

object

depth​

depth: number

height​

height: number

width​

width: number

Inherited from​

Mobject.getBoundingBox


getBounds()​

getBounds(): object

Defined in: src/core/Mobject.ts:787

World-space axis-aligned bounding box.

Uses Box3.setFromObject() via the Three.js subtree. This works for all standard geometry types without a renderer. VMobject overrides this with point math because Line2's LineGeometry is incompatible with Box3.setFromObject() — see PointBounds.ts for the full explanation.

Returns​

object

max​

max: object

max.x​

x: number

max.y​

y: number

max.z​

z: number

min​

min: object

min.x​

x: number

min.y​

y: number

min.z​

z: number

Pre​

!this.isEmpty()

Post​

result.min <= result.max component-wise

Inherited from​

Mobject.getBounds


getCenter()​

getCenter(): Vector3Tuple

Defined in: src/core/Mobject.ts:729

Get center in world coordinates.

Returns​

Vector3Tuple

Post​

this.isEmpty() => result === this._localToWorld([0,0,0])

Post​

!this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2

Inherited from​

Mobject.getCenter


getDepth()​

getDepth(): number

Defined in: src/core/Mobject.ts:849

Returns​

number

Inherited from​

Mobject.getDepth


getDisplayMeshes()​

getDisplayMeshes(): Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]

Defined in: src/core/Mobject.ts:1163

Returns​

Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]

Inherited from​

Mobject.getDisplayMeshes


getDisplayMeshLength()​

getDisplayMeshLength(): number

Defined in: src/core/Mobject.ts:1159

Number of visible display meshes this mobject contributes when rendered. Used for Transform eligibility checks without forcing Three.js object creation.

Returns​

number

Inherited from​

Mobject.getDisplayMeshLength


getEdge()​

getEdge(direction): Vector3Tuple

Defined in: src/core/Mobject.ts:856

Parameters​

direction​

Vector3Tuple

Returns​

Vector3Tuple

Inherited from​

Mobject.getEdge


getFamily()​

getFamily(): Mobject[]

Defined in: src/core/Mobject.ts:1177

Returns​

Mobject[]

Inherited from​

Mobject.getFamily


getHeight()​

getHeight(): number

Defined in: src/core/Mobject.ts:846

Returns​

number

Inherited from​

Mobject.getHeight


getLeft()​

getLeft(): Vector3Tuple

Defined in: src/core/Mobject.ts:865

Returns​

Vector3Tuple

Inherited from​

Mobject.getLeft


getLocalCenter()​

getLocalCenter(): Vector3Tuple

Defined in: src/core/Mobject.ts:751

Get center in this mobject's parent coordinate frame.

Includes this node's own local transform, excludes ancestor transforms.

Returns​

Vector3Tuple

Post​

this.parent === null => result === this.getCenter()

Post​

this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()

Inherited from​

Mobject.getLocalCenter


getRight()​

getRight(): Vector3Tuple

Defined in: src/core/Mobject.ts:868

Returns​

Vector3Tuple

Inherited from​

Mobject.getRight


getThreeObject()​

getThreeObject(): Object3D

Defined in: src/core/Mobject.ts:1117

Returns​

Object3D

Inherited from​

Mobject.getThreeObject


getTop()​

getTop(): Vector3Tuple

Defined in: src/core/Mobject.ts:859

Returns​

Vector3Tuple

Inherited from​

Mobject.getTop


getUpdaters()​

getUpdaters(): UpdaterFunction[]

Defined in: src/core/Mobject.ts:1202

Returns​

UpdaterFunction[]

Inherited from​

Mobject.getUpdaters


getWidth()​

getWidth(): number

Defined in: src/core/Mobject.ts:843

Returns​

number

Inherited from​

Mobject.getWidth


hasUpdaters()​

hasUpdaters(): boolean

Defined in: src/core/Mobject.ts:1199

Returns​

boolean

Inherited from​

Mobject.hasUpdaters


isEmpty()​

isEmpty(): boolean

Defined in: src/core/Mobject.ts:719

Whether this mobject has no renderable geometry. Base default is conservative: non-empty unless specialized subclasses decide otherwise.

Returns​

boolean

Inherited from​

Mobject.isEmpty


isTransformNormalized()​

isTransformNormalized(): boolean

Defined in: src/core/Mobject.ts:623

Check if this mobject's transform is normalized (rotation=0, scale=1).

Returns​

boolean

Post​

result === (rotation.x==0 && rotation.y==0 && rotation.z==0 && scaleVector===[1,1,1])

Inherited from​

Mobject.isTransformNormalized


matchDepth()​

matchDepth(mob): this

Defined in: src/core/Mobject.ts:932

Scale uniformly so the depth matches mob's depth.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchDepth


matchHeight()​

matchHeight(mob): this

Defined in: src/core/Mobject.ts:928

Scale uniformly so the height matches mob's height.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchHeight


matchWidth()​

matchWidth(mob): this

Defined in: src/core/Mobject.ts:924

Scale uniformly so the width matches mob's width.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchWidth


matchX()​

matchX(mob): this

Defined in: src/core/Mobject.ts:936

Shift so the center x-coordinate matches mob's.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchX


matchY()​

matchY(mob): this

Defined in: src/core/Mobject.ts:940

Shift so the center y-coordinate matches mob's.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchY


matchZ()​

matchZ(mob): this

Defined in: src/core/Mobject.ts:944

Shift so the center z-coordinate matches mob's.

Parameters​

mob​

Mobject

Returns​

this

Inherited from​

Mobject.matchZ


moveTo()​

moveTo(target, alignedEdge?): this

Defined in: src/core/Mobject.ts:362

Move to target position in world space.

Computes the delta from the current world-space center, converts it into this node's parent-local frame (the frame shift()/position live in), and applies it so the world-space center lands on the target. The parent-local conversion is what makes this correct when the node is parented under a scaled/rotated parent — a raw world delta fed to shift() would be scaled/rotated by the parent. For an unparented node the conversion is the identity, so behavior is unchanged.

Parameters​

target​

Vector3Tuple | Mobject

alignedEdge?​

Vector3Tuple

Returns​

this

Post​

result world center === target (within the parent's representable frame)

Pre​

!this.isEmpty() if needed (e.g., VGroup).

Inherited from​

Mobject.moveTo


moveToAligned()​

moveToAligned(target, alignedEdge?): this

Defined in: src/core/Mobject.ts:831

Parameters​

target​

Vector3Tuple | Mobject

alignedEdge?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.moveToAligned


nextTo()​

nextTo(target, direction, buff): this

Defined in: src/core/Mobject.ts:804

Parameters​

target​

Vector3Tuple | Mobject

direction​

Vector3Tuple = RIGHT

buff​

number = 0.25

Returns​

this

Inherited from​

Mobject.nextTo


normalizeTransform()​

abstract normalizeTransform(worldMatrix?): this

Defined in: src/core/Mobject.ts:1002

Flatten this mobject's transform into its canonical, absolute representation.

Bakes worldMatrix into the node's own geometry, recurses so every descendant is expressed in the same frame, then resets the local transform to identity. Called with no argument it seeds with this node's OWN matrix, so bake-then-reset preserves world appearance whether or not the node has ancestors — the ancestors keep their transforms and still apply. The recursion (and a detached-clone caller) passes an explicit accumulated matrix.

Implemented per family rather than via a hook so the compiler forces every geometry-owning subclass to declare how it flattens: containers reset to identity (geometry lives in children), point-based mobjects bake worldMatrix into their points, and Three.js meshes — which cannot bake into points — absolutize their local transform instead (see _flattenAsMesh).

Parameters​

worldMatrix?​

Matrix4

Returns​

this

Post​

old.getPoints()[i] === this.getPoints()[i] // world geometry preserved, every descendant

Post​

this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix

Inherited from​

Mobject.normalizeTransform


prepareForNonlinearTransform()​

prepareForNonlinearTransform(numPieces): this

Defined in: src/core/Mobject.ts:1257

Parameters​

numPieces​

number = 50

Returns​

this

Inherited from​

Mobject.prepareForNonlinearTransform


remove()​

remove(...mobjects): this

Defined in: src/core/Mobject.ts:602

Parameters​

mobjects​

...Mobject[]

Returns​

this

Inherited from​

Mobject.remove


removeUpdater()​

removeUpdater(updater): this

Defined in: src/core/Mobject.ts:1189

Parameters​

updater​

UpdaterFunction

Returns​

this

Inherited from​

Mobject.removeUpdater


replace()​

replace(target, stretch): this

Defined in: src/core/Mobject.ts:705

Parameters​

target​

Mobject

stretch​

boolean = false

Returns​

this

Inherited from​

Mobject.replace


restoreState()​

restoreState(): boolean

Defined in: src/core/Mobject.ts:1274

Returns​

boolean

Inherited from​

Mobject.restoreState


rotate()​

rotate(angle, axisOrOptions?): this

Defined in: src/core/Mobject.ts:412

Rotate the mobject by angle around an axis. Accepts aboutPoint or aboutEdge to specify the rotation center.

Parameters​

angle​

number

axisOrOptions?​

Vector3Tuple | AxisOrOptions

Returns​

this

Inherited from​

Mobject.rotate


rotateAboutOrigin()​

rotateAboutOrigin(angle, axis): this

Defined in: src/core/Mobject.ts:450

Parameters​

angle​

number

axis​

Vector3Tuple = ...

Returns​

this

Inherited from​

Mobject.rotateAboutOrigin


saveState()​

saveState(): this

Defined in: src/core/Mobject.ts:1269

Returns​

this

Inherited from​

Mobject.saveState


scale()​

scale(factor, options?): this

Defined in: src/core/Mobject.ts:535

Parameters​

factor​

number | Vector3Tuple

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.scale


scaleToFitDepth()​

scaleToFitDepth(depth): this

Defined in: src/core/Mobject.ts:906

Scale uniformly so the depth becomes depth.

Parameters​

depth​

number

Returns​

this

Inherited from​

Mobject.scaleToFitDepth


scaleToFitHeight()​

scaleToFitHeight(height): this

Defined in: src/core/Mobject.ts:900

Scale uniformly so the height becomes height.

Parameters​

height​

number

Returns​

this

Inherited from​

Mobject.scaleToFitHeight


scaleToFitWidth()​

scaleToFitWidth(width): this

Defined in: src/core/Mobject.ts:894

Scale uniformly so the width becomes width.

Parameters​

width​

number

Returns​

this

Inherited from​

Mobject.scaleToFitWidth


setBlendMode()​

setBlendMode(mode): this

Defined in: src/core/Mobject.ts:233

Set the blend mode for this mobject and its whole family.

The mode flows through to every three.js material of this mobject and its submobjects on the next sync. The default is 'normal' (standard alpha blending), which matches three.js's own default, so output is unchanged until a non-default mode is set.

Parameters​

mode​

BlendMode

One of normal, additive, multiply, subtractive, screen.

Returns​

this

this for chaining.

Inherited from​

Mobject.setBlendMode


setColor()​

setColor(color): this

Defined in: src/core/Mobject.ts:212

Parameters​

color​

string

Returns​

this

Inherited from​

Mobject.setColor


setDepth()​

setDepth(depth): this

Defined in: src/core/Mobject.ts:920

CE set_depth (stretch=false default): alias of scaleToFitDepth.

Parameters​

depth​

number

Returns​

this

Inherited from​

Mobject.setDepth


setFill()​

setFill(color?, opacity?): this

Defined in: src/core/Mobject.ts:310

Parameters​

color?​

string

opacity?​

number

Returns​

this

Inherited from​

Mobject.setFill


setFillOpacity()​

setFillOpacity(opacity): this

Defined in: src/core/Mobject.ts:300

Parameters​

opacity​

number

Returns​

this

Inherited from​

Mobject.setFillOpacity


setHeight()​

setHeight(height): this

Defined in: src/core/Mobject.ts:916

CE set_height (stretch=false default): alias of scaleToFitHeight.

Parameters​

height​

number

Returns​

this

Inherited from​

Mobject.setHeight


setStrokeOpacity()​

setStrokeOpacity(opacity): this

Defined in: src/core/Mobject.ts:280

Parameters​

opacity​

number

Returns​

this

Inherited from​

Mobject.setStrokeOpacity


setStrokeWidth()​

setStrokeWidth(width): this

Defined in: src/core/Mobject.ts:290

Parameters​

width​

number

Returns​

this

Inherited from​

Mobject.setStrokeWidth


setStyle()​

setStyle(style): this

Defined in: src/core/Mobject.ts:198

Parameters​

style​

Partial<MobjectStyle>

Returns​

this

Inherited from​

Mobject.setStyle


setUserId()​

setUserId(userId): this

Defined in: src/core/Mobject.ts:179

Set the user-defined string identifier used by Scene.getMobject. Chainable, so it fits factory and loop code: factory().setUserId('row-3'). The value need not be unique; the lookup returns the first match.

Parameters​

userId​

string

The identifier to assign

Returns​

this

Inherited from​

Mobject.setUserId


setWidth()​

setWidth(width): this

Defined in: src/core/Mobject.ts:912

CE set_width (stretch=false default): alias of scaleToFitWidth.

Parameters​

width​

number

Returns​

this

Inherited from​

Mobject.setWidth


setX()​

setX(x): this

Defined in: src/core/Mobject.ts:871

Parameters​

x​

number

Returns​

this

Inherited from​

Mobject.setX


setY()​

setY(y): this

Defined in: src/core/Mobject.ts:875

Parameters​

y​

number

Returns​

this

Inherited from​

Mobject.setY


setZ()​

setZ(z): this

Defined in: src/core/Mobject.ts:879

Parameters​

z​

number

Returns​

this

Inherited from​

Mobject.setZ


shift()​

shift(delta): this

Defined in: src/core/Mobject.ts:340

Parameters​

delta​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.shift


stretch()​

stretch(factor, dim, options?): this

Defined in: src/core/Mobject.ts:567

Parameters​

factor​

number

dim​

number

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this

Inherited from​

Mobject.stretch


toCorner()​

toCorner(direction, buff, frameDimensions?): this

Defined in: src/core/Mobject.ts:973

Parameters​

direction​

Vector3Tuple = ...

buff​

number = 0.5

frameDimensions?​

[number, number]

Returns​

this

Inherited from​

Mobject.toCorner


toEdge()​

toEdge(direction, buff, frameDimensions?): this

Defined in: src/core/Mobject.ts:968

Parameters​

direction​

Vector3Tuple

buff​

number = 0.5

frameDimensions?​

[number, number]

Returns​

this

Inherited from​

Mobject.toEdge


update()​

update(dt): void

Defined in: src/core/Mobject.ts:1206

Parameters​

dt​

number

Returns​

void

Inherited from​

Mobject.update