Skip to main content

Abstract Class: Mobject

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

Base mathematical object class. All visible objects in manimweb inherit from this class.

Extended by​

Constructors​

Constructor​

new Mobject(options): Mobject

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

Parameters​

options​

MobjectOptions = {}

Returns​

Mobject

Properties​

__savedMobjectState​

__savedMobjectState: unknown = null

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

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


_blendMode​

protected _blendMode: BlendMode = 'normal'

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

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


_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).


_color​

protected _color: string = '#ffffff'

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


_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).


_disableChildZLayering​

protected _disableChildZLayering: boolean = false

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

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


_isVMobject​

_isVMobject: boolean = false

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


_opacity​

protected _opacity: number = 1

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


_style​

protected _style: MobjectStyle

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


_threeObject​

_threeObject: Object3D<Object3DEventMap> = null

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


children​

children: Mobject[] = []

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


createdAtBeginning​

createdAtBeginning: boolean = false

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


fillOpacity​

fillOpacity: number = 0

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


id​

readonly id: string

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


parent​

parent: Mobject = null

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


position​

position: Vector3

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


rotation​

rotation: Euler

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


savedState​

savedState: Mobject = null

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

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


scaleVector​

scaleVector: Vector3

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


strokeWidth​

strokeWidth: number = 4

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


targetCopy​

targetCopy: Mobject = null

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

Target copy used by generateTarget() / MoveToTarget animation.

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


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


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


isDirty​

Get Signature​

get isDirty(): boolean

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

Returns​

boolean


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


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


style​

Get Signature​

get style(): MobjectStyle

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

Returns​

MobjectStyle


submobjects​

Get Signature​

get submobjects(): Mobject[]

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

Returns​

Mobject[]


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

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


_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


_createThreeObject()​

abstract protected _createThreeObject(): Object3D

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

Returns​

Object3D


_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


_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


_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.


_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).


_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


_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)


_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


_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


_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()


_root()​

_root(): Mobject

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

The topmost ancestor (the node with no parent).

Returns​

Mobject


_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


_syncMaterialToThree()​

protected _syncMaterialToThree(): void

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

Returns​

void


_syncToThree()​

_syncToThree(): void

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

Returns​

void


_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


_worldMatrix()​

_worldMatrix(): Matrix4

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

Returns​

Matrix4


_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


add()​

add(...mobjects): this

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

Parameters​

mobjects​

...Mobject[]

Returns​

this


addUpdater()​

addUpdater(updater, callOnAdd): this

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

Parameters​

updater​

UpdaterFunction

callOnAdd​

boolean = false

Returns​

this


alignTo()​

alignTo(target, direction): this

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

Parameters​

target​

Vector3Tuple | Mobject

direction​

Vector3Tuple

Returns​

this


applyFunction()​

applyFunction(fn, options?): this

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

Parameters​

fn​

(point) => number[]

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this


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


applyMatrix()​

applyMatrix(matrix, options?): this

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

Parameters​

matrix​

number[][]

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this


applyToFamily()​

applyToFamily(func): this

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

Parameters​

func​

(mobject) => void

Returns​

this


become()​

become(other): this

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

Parameters​

other​

Mobject

Returns​

this


center()​

center(): this

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

Returns​

this


clearUpdaters()​

clearUpdaters(): this

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

Returns​

this


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


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


dispose()​

dispose(): void

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

Returns​

void


flip()​

flip(axis, options?): this

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

Parameters​

axis​

Vector3Tuple = ...

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this


generateTarget()​

generateTarget(): Mobject

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

Returns​

Mobject


getBlendMode()​

getBlendMode(): BlendMode

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

The current blend mode of this mobject.

Returns​

BlendMode


getBottom()​

getBottom(): Vector3Tuple

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

Returns​

Vector3Tuple


getBoundingBox()​

getBoundingBox(): object

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

Returns​

object

depth​

depth: number

height​

height: number

width​

width: number


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


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


getDepth()​

getDepth(): number

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

Returns​

number


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>[]


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


getEdge()​

getEdge(direction): Vector3Tuple

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

Parameters​

direction​

Vector3Tuple

Returns​

Vector3Tuple


getFamily()​

getFamily(): Mobject[]

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

Returns​

Mobject[]


getHeight()​

getHeight(): number

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

Returns​

number


getLeft()​

getLeft(): Vector3Tuple

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

Returns​

Vector3Tuple


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()


getRight()​

getRight(): Vector3Tuple

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

Returns​

Vector3Tuple


getThreeObject()​

getThreeObject(): Object3D

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

Returns​

Object3D


getTop()​

getTop(): Vector3Tuple

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

Returns​

Vector3Tuple


getUpdaters()​

getUpdaters(): UpdaterFunction[]

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

Returns​

UpdaterFunction[]


getWidth()​

getWidth(): number

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

Returns​

number


hasUpdaters()​

hasUpdaters(): boolean

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

Returns​

boolean


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


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])


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


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


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


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


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


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


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).


moveToAligned()​

moveToAligned(target, alignedEdge?): this

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

Parameters​

target​

Vector3Tuple | Mobject

alignedEdge?​

Vector3Tuple

Returns​

this


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


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


prepareForNonlinearTransform()​

prepareForNonlinearTransform(numPieces): this

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

Parameters​

numPieces​

number = 50

Returns​

this


remove()​

remove(...mobjects): this

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

Parameters​

mobjects​

...Mobject[]

Returns​

this


removeUpdater()​

removeUpdater(updater): this

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

Parameters​

updater​

UpdaterFunction

Returns​

this


replace()​

replace(target, stretch): this

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

Parameters​

target​

Mobject

stretch​

boolean = false

Returns​

this


restoreState()​

restoreState(): boolean

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

Returns​

boolean


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


rotateAboutOrigin()​

rotateAboutOrigin(angle, axis): this

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

Parameters​

angle​

number

axis​

Vector3Tuple = ...

Returns​

this


saveState()​

saveState(): this

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

Returns​

this


scale()​

scale(factor, options?): this

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

Parameters​

factor​

number | Vector3Tuple

options?​
aboutEdge?​

Vector3Tuple

aboutPoint?​

Vector3Tuple

Returns​

this


scaleToFitDepth()​

scaleToFitDepth(depth): this

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

Scale uniformly so the depth becomes depth.

Parameters​

depth​

number

Returns​

this


scaleToFitHeight()​

scaleToFitHeight(height): this

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

Scale uniformly so the height becomes height.

Parameters​

height​

number

Returns​

this


scaleToFitWidth()​

scaleToFitWidth(width): this

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

Scale uniformly so the width becomes width.

Parameters​

width​

number

Returns​

this


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.


setColor()​

setColor(color): this

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

Parameters​

color​

string

Returns​

this


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


setFill()​

setFill(color?, opacity?): this

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

Parameters​

color?​

string

opacity?​

number

Returns​

this


setFillOpacity()​

setFillOpacity(opacity): this

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

Parameters​

opacity​

number

Returns​

this


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


setStrokeOpacity()​

setStrokeOpacity(opacity): this

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

Parameters​

opacity​

number

Returns​

this


setStrokeWidth()​

setStrokeWidth(width): this

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

Parameters​

width​

number

Returns​

this


setStyle()​

setStyle(style): this

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

Parameters​

style​

Partial<MobjectStyle>

Returns​

this


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


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


setX()​

setX(x): this

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

Parameters​

x​

number

Returns​

this


setY()​

setY(y): this

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

Parameters​

y​

number

Returns​

this


setZ()​

setZ(z): this

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

Parameters​

z​

number

Returns​

this


shift()​

shift(delta): this

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

Parameters​

delta​

Vector3Tuple

Returns​

this


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


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


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


update()​

update(dt): void

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

Parameters​

dt​

number

Returns​

void