Class: ImageMobject
Defined in: mobjects/image/index.ts:76
ImageMobject - Display images as mobjects
Creates an image plane using THREE.js PlaneGeometry with TextureLoader. Supports loading from URLs or base64 data, with optional filters like grayscale and invert.
Example
// Load from URL
const image = new ImageMobject({
source: 'https://example.com/image.png',
width: 4,
});
// Load from base64
const base64Image = new ImageMobject({
source: 'data:image/png;base64,iVBORw0KGgoAAAA...',
height: 3,
opacity: 0.8,
});
// With filters
const filtered = new ImageMobject({
source: 'https://example.com/photo.jpg',
width: 5,
filters: {
grayscale: true,
brightness: 1.2,
},
});
Extends
TexturedMobject
Constructors
Constructor
new ImageMobject(
options):ImageMobject
Defined in: mobjects/image/index.ts:96
Parameters
options
Returns
ImageMobject
Overrides
TexturedMobject.constructor
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:121
JSON-serializable saved state (used by restoreState()).
Inherited from
TexturedMobject.__savedMobjectState
_centerPoint
protected_centerPoint:Vector3Tuple
Defined in: mobjects/image/index.ts:82
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:84
Inherited from
TexturedMobject._color
_dirty
_dirty:
boolean=true
Defined in: core/Mobject.ts:113
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
TexturedMobject._dirty
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:99
When true, children skip the 2D z-layering offset in _syncToThree.
Inherited from
TexturedMobject._disableChildZLayering
_doubleSided
protected_doubleSided:boolean
Defined in: mobjects/image/index.ts:84
_filters
protected_filters:ImageFilterOptions
Defined in: mobjects/image/index.ts:83
_height
protected_height:number
Defined in: mobjects/image/index.ts:80
_imageLoaded
protected_imageLoaded:boolean=false
Defined in: mobjects/image/index.ts:86
_isVMobject
_isVMobject:
boolean=false
Defined in: core/Mobject.ts:114
Inherited from
TexturedMobject._isVMobject
_naturalHeight
protected_naturalHeight:number=1
Defined in: mobjects/image/index.ts:88
_naturalWidth
protected_naturalWidth:number=1
Defined in: mobjects/image/index.ts:87
_opacity
protected_opacity:number=1
Defined in: core/Mobject.ts:95
Inherited from
TexturedMobject._opacity
_pixelData
protected_pixelData:number[][]
Defined in: mobjects/image/index.ts:78
_scaleToFit
protected_scaleToFit:boolean
Defined in: mobjects/image/index.ts:81
_source
protected_source:string
Defined in: mobjects/image/index.ts:77
_style
protected_style:MobjectStyle
Defined in: core/Mobject.ts:100
Inherited from
TexturedMobject._style
_texture
protected_texture:Texture<unknown,TextureEventMap> =null
Defined in: mobjects/image/index.ts:85
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:101
Inherited from
TexturedMobject._threeObject
_width
protected_width:number
Defined in: mobjects/image/index.ts:79
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:79
Inherited from
TexturedMobject.children
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:83
Inherited from
TexturedMobject.createdAtBeginning
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:97
Inherited from
TexturedMobject.fillOpacity
id
readonlyid:string
Defined in: core/Mobject.ts:77
Inherited from
TexturedMobject.id
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:78
Inherited from
TexturedMobject.parent
position
position:
Vector3
Defined in: core/Mobject.ts:80
Inherited from
TexturedMobject.position
rotation
rotation:
Euler
Defined in: core/Mobject.ts:81
Inherited from
TexturedMobject.rotation
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:117
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
TexturedMobject.savedState
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:82
Inherited from
TexturedMobject.scaleVector
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:96
Inherited from
TexturedMobject.strokeWidth
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:119
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
TexturedMobject.targetCopy
Accessors
animate
Get Signature
get animate():
AnimateProxy
Defined in: core/Mobject.ts:789
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
Inherited from
TexturedMobject.animate
color
Get Signature
get color():
string
Defined in: core/Mobject.ts:85
Returns
string
Set Signature
set color(
value):void
Defined in: core/Mobject.ts:88
Parameters
value
string
Returns
void
Inherited from
TexturedMobject.color
fillColor
Get Signature
get fillColor():
string
Defined in: core/Mobject.ts:210
Returns
string
Set Signature
set fillColor(
color):void
Defined in: core/Mobject.ts:214
Parameters
color
string
Returns
void
Inherited from
TexturedMobject.fillColor
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:935
Returns
boolean
Inherited from
TexturedMobject.isDirty
opacity
Get Signature
get opacity():
number
Defined in: core/Mobject.ts:140
Returns
number
Set Signature
set opacity(
value):void
Defined in: core/Mobject.ts:144
Parameters
value
number
Returns
void
Inherited from
TexturedMobject.opacity
strokeColor
Get Signature
get strokeColor():
string
Defined in: core/Mobject.ts:221
Returns
string
Set Signature
set strokeColor(
color):void
Defined in: core/Mobject.ts:225
Parameters
color
string
Returns
void
Inherited from
TexturedMobject.strokeColor
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:148
Returns
Inherited from
TexturedMobject.style
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:162
Returns
Mobject[]
Inherited from
TexturedMobject.submobjects
Methods
_applyFunctionAboutPoint()
protected_applyFunctionAboutPoint(_fn,_aboutPoint):void
Defined in: core/Mobject.ts:1063
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
TexturedMobject._applyFunctionAboutPoint
_createThreeObject()
protected_createThreeObject():Object3D
Defined in: mobjects/image/index.ts:409
Create the Three.js plane mesh with image texture
Returns
Object3D
Overrides
TexturedMobject._createThreeObject
_flattenAsContainer()
protected_flattenAsContainer(worldMatrix):this
Defined in: core/Mobject.ts:848
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
TexturedMobject._flattenAsContainer
_flattenAsMesh()
protected_flattenAsMesh(worldMatrix):this
Defined in: core/Mobject.ts:863
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
TexturedMobject._flattenAsMesh
_getBoundingBox()
_getBoundingBox():
object
Defined in: core/Mobject.ts:742
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Deprecated
Use getBoundingBox() instead.
Inherited from
TexturedMobject._getBoundingBox
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:729
Parameters
direction
Returns
World-space edge position (center + half-bounding-box offset).
Inherited from
TexturedMobject._getEdgeInDirection
_handoffTextureMap()
protected_handoffTextureMap(material,nextTexture,previousTexture):void
Defined in: core/TexturedMobject.ts:57
Sets material.map, marks material dirty, and disposes previous texture when replaced.
Parameters
material
MeshBasicMaterial
nextTexture
Texture<unknown, TextureEventMap>
previousTexture
Texture<unknown, TextureEventMap>
Returns
void
Inherited from
TexturedMobject._handoffTextureMap
_localToWorld()
protected_localToWorld(p):Vector3Tuple
Defined in: core/Mobject.ts:387
LOCAL point -> WORLD (the frame this node's points live in; this node's own transform IS applied).
Parameters
p
Returns
Post
result === this._worldMatrix() * p
Inherited from
TexturedMobject._localToWorld
_markDirty()
_markDirty():
void
Defined in: core/Mobject.ts:920
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
TexturedMobject._markDirty
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: core/Mobject.ts:931
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
TexturedMobject._markDirtyUpward
_normalizeChildrenInto()
protected_normalizeChildrenInto(worldMatrix):void
Defined in: core/Mobject.ts:836
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
TexturedMobject._normalizeChildrenInto
_ownMatrix()
_ownMatrix():
Matrix4
Defined in: core/Mobject.ts:969
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
TexturedMobject._ownMatrix
_root()
_root():
Mobject
Defined in: core/Mobject.ts:940
The topmost ancestor (the node with no parent).
Returns
Inherited from
TexturedMobject._root
_rotateAboutParentLocalPoint()
protected_rotateAboutParentLocalPoint(angle,axis,pivotLocal):void
Defined in: core/Mobject.ts:356
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
pivotLocal
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
TexturedMobject._rotateAboutParentLocalPoint
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: mobjects/image/index.ts:511
Sync material properties to Three.js object
Returns
void
Overrides
TexturedMobject._syncMaterialToThree
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:870
Returns
void
Inherited from
TexturedMobject._syncToThree
_syncWorldMatrices()
_syncWorldMatrices():
Object3D
Defined in: core/Mobject.ts:661
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
TexturedMobject._syncWorldMatrices
_updateGeometry()
protected_updateGeometry():void
Defined in: mobjects/image/index.ts:491
Update geometry when dimensions change
Returns
void
_worldMatrix()
_worldMatrix():
Matrix4
Defined in: core/Mobject.ts:974
Returns
Matrix4
Inherited from
TexturedMobject._worldMatrix
_worldToLocal()
protected_worldToLocal(p):Vector3Tuple
Defined in: core/Mobject.ts:397
WORLD point -> this node's LOCAL frame. Inverse of _localToWorld.
Parameters
p
Returns
Post
result === this._worldMatrix().invert() * p
Inherited from
TexturedMobject._worldToLocal
add()
add(...
mobjects):this
Defined in: core/Mobject.ts:481
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
TexturedMobject.add
addUpdater()
addUpdater(
updater,callOnAdd):this
Defined in: core/Mobject.ts:1010
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
TexturedMobject.addUpdater
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:713
Parameters
target
direction
Returns
this
Inherited from
TexturedMobject.alignTo
applyContentFrom()
applyContentFrom(
other):void
Defined in: mobjects/image/index.ts:480
Copy class-authoritative content metadata from another textured mobject so that future sync cycles and API reads (e.g. getText()) reflect the target's content.
Parameters
other
TexturedMobject
Returns
void
Overrides
TexturedMobject.applyContentFrom
applyFunction()
applyFunction(
fn,options?):this
Defined in: core/Mobject.ts:1068
Parameters
fn
(point) => number[]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
TexturedMobject.applyFunction
applyFunctionAboutPoint()
applyFunctionAboutPoint(
fn,aboutPoint):this
Defined in: core/Mobject.ts:1047
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
TexturedMobject.applyFunctionAboutPoint
applyMatrix()
applyMatrix(
matrix,options?):this
Defined in: core/Mobject.ts:1076
Parameters
matrix
number[][]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
TexturedMobject.applyMatrix
applyTextureFrom()
applyTextureFrom(
other):void
Defined in: mobjects/image/index.ts:445
Copy texture/material-relevant state from another textured mobject.
Parameters
other
TexturedMobject
Returns
void
Overrides
TexturedMobject.applyTextureFrom
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:998
Parameters
func
(mobject) => void
Returns
this
Inherited from
TexturedMobject.applyToFamily
applyVisualSize()
applyVisualSize(
width,height):void
Defined in: mobjects/image/index.ts:473
Update class-authoritative visual size state so later sync cycles do not revert display dimensions set during transform finish.
Parameters
width
number
height
number
Returns
void
Overrides
TexturedMobject.applyVisualSize
become()
become(
other):this
Defined in: core/Mobject.ts:592
Parameters
other
Returns
this
Inherited from
TexturedMobject.become
center()
center():
this
Defined in: core/Mobject.ts:772
Returns
this
Inherited from
TexturedMobject.center
clearUpdaters()
clearUpdaters():
this
Defined in: core/Mobject.ts:1022
Returns
this
Inherited from
TexturedMobject.clearUpdaters
copy()
copy():
ImageMobject
Defined in: mobjects/image/index.ts:702
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
ImageMobject
Post
typeof result === typeof this (strongly typed, no casts)
Post
old.getPoints()[i] === this.getPoints()[i] // source is never mutated
Overrides
TexturedMobject.copy
disableChildZLayering()
disableChildZLayering():
this
Defined in: core/Mobject.ts:905
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
TexturedMobject.disableChildZLayering
dispose()
dispose():
void
Defined in: mobjects/image/index.ts:736
Clean up resources
Returns
void
Overrides
TexturedMobject.dispose
flip()
flip(
axis,options?):this
Defined in: core/Mobject.ts:403
Parameters
axis
Vector3Tuple = ...
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
TexturedMobject.flip
generateTarget()
generateTarget():
Mobject
Defined in: core/Mobject.ts:1091
Returns
Inherited from
TexturedMobject.generateTarget
getAspectRatio()
getAspectRatio():
number
Defined in: mobjects/image/index.ts:686
Get the aspect ratio of the image
Returns
number
getBottom()
getBottom():
Vector3Tuple
Defined in: core/Mobject.ts:751
Returns
Inherited from
TexturedMobject.getBottom
getBoundingBox()
getBoundingBox():
object
Defined in: mobjects/image/index.ts:693
Override getBoundingBox to use calculated dimensions
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Overrides
TexturedMobject.getBoundingBox
getBounds()
getBounds():
object
Defined in: core/Mobject.ts:679
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
TexturedMobject.getBounds
getCenter()
getCenter():
Vector3Tuple
Defined in: core/Mobject.ts:621
Get center in world coordinates.
Returns
Post
this.isEmpty() => result === this._localToWorld([0,0,0])
Post
!this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2
Inherited from
TexturedMobject.getCenter
getDisplayMeshes()
getDisplayMeshes():
Mesh<BufferGeometry<NormalBufferAttributes,BufferGeometryEventMap>,Material<MaterialEventMap> |Material<MaterialEventMap>[],Object3DEventMap>[]
Defined in: mobjects/image/index.ts:433
Return the meshes that visually represent this mobject. Textured morph code can use this for strict single-mesh validation.
Returns
Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]
Overrides
TexturedMobject.getDisplayMeshes
getDisplayMeshLength()
getDisplayMeshLength():
number
Defined in: mobjects/image/index.ts:429
Return how many display meshes this textured mobject contributes.
Returns
number
Overrides
TexturedMobject.getDisplayMeshLength
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: core/Mobject.ts:745
Parameters
direction
Returns
Inherited from
TexturedMobject.getEdge
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:1004
Returns
Mobject[]
Inherited from
TexturedMobject.getFamily
getFilters()
getFilters():
ImageFilterOptions
Defined in: mobjects/image/index.ts:612
Get the current filter options
Returns
getHeight()
getHeight():
number
Defined in: mobjects/image/index.ts:568
Get the display height
Returns
number
Overrides
TexturedMobject.getHeight
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:754
Returns
Inherited from
TexturedMobject.getLeft
getLocalCenter()
getLocalCenter():
Vector3Tuple
Defined in: core/Mobject.ts:643
Get center in this mobject's parent coordinate frame.
Includes this node's own local transform, excludes ancestor transforms.
Returns
Post
this.parent === null => result === this.getCenter()
Post
this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()
Inherited from
TexturedMobject.getLocalCenter
getNaturalSize()
getNaturalSize():
object
Defined in: mobjects/image/index.ts:676
Get the natural (original) dimensions of the image
Returns
object
height
height:
number
width
width:
number
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:757
Returns
Inherited from
TexturedMobject.getRight
getSource()
getSource():
string
Defined in: mobjects/image/index.ts:530
Get the image source
Returns
string
getThreeObject()
getThreeObject():
Object3D
Defined in: core/Mobject.ts:944
Returns
Object3D
Inherited from
TexturedMobject.getThreeObject
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:748
Returns
Inherited from
TexturedMobject.getTop
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:1029
Returns
Inherited from
TexturedMobject.getUpdaters
getWidth()
getWidth():
number
Defined in: mobjects/image/index.ts:551
Get the display width
Returns
number
Overrides
TexturedMobject.getWidth
hasUpdaters()
hasUpdaters():
boolean
Defined in: core/Mobject.ts:1026
Returns
boolean
Inherited from
TexturedMobject.hasUpdaters
isDoubleSided()
isDoubleSided():
boolean
Defined in: mobjects/image/index.ts:660
Get whether double-sided rendering is enabled
Returns
boolean
isEmpty()
isEmpty():
boolean
Defined in: core/Mobject.ts:611
Whether this mobject has no renderable geometry. Base default is conservative: non-empty unless specialized subclasses decide otherwise.
Returns
boolean
Inherited from
TexturedMobject.isEmpty
isLoaded()
isLoaded():
boolean
Defined in: mobjects/image/index.ts:263
Check if the image has been loaded
Returns
boolean
isTransformNormalized()
isTransformNormalized():
boolean
Defined in: core/Mobject.ts:517
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
TexturedMobject.isTransformNormalized
moveTo()
moveTo(
target,alignedEdge?):this
Defined in: core/Mobject.ts:256
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
alignedEdge?
Returns
this
Post
result world center === target (within the parent's representable frame)
Pre
!this.isEmpty() if needed (e.g., VGroup).
Inherited from
TexturedMobject.moveTo
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: core/Mobject.ts:723
Parameters
target
alignedEdge?
Returns
this
Inherited from
TexturedMobject.moveToAligned
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:696
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
TexturedMobject.nextTo
normalizeTransform()
normalizeTransform(
worldMatrix):this
Defined in: core/TexturedMobject.ts:50
Flatten a textured leaf. Its geometry is a Three.js display mesh, not
bakeable points, so — like Mobject3D — it absolutizes rather than
resetting to identity: the local transform is set equal to the incoming
world matrix and re-applied to the mesh on every _syncToThree. Keeping the
scale on scaleVector (instead of folding it into the plane size and
resetting, as #417 had to) is inherently durable across async load / canvas
re-render, since those rebuild the geometry but not the Mobject transform.
Parameters
worldMatrix
Matrix4 = ...
Returns
this
Post
old.getBounds() === this.getBounds() // world geometry preserved
Inherited from
TexturedMobject.normalizeTransform
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: core/Mobject.ts:1084
Parameters
numPieces
number = 50
Returns
this
Inherited from
TexturedMobject.prepareForNonlinearTransform
remove()
remove(...
mobjects):this
Defined in: core/Mobject.ts:496
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
TexturedMobject.remove
removeUpdater()
removeUpdater(
updater):this
Defined in: core/Mobject.ts:1016
Parameters
updater
Returns
this
Inherited from
TexturedMobject.removeUpdater
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:597
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
TexturedMobject.replace
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:1101
Returns
boolean
Inherited from
TexturedMobject.restoreState
rotate()
rotate(
angle,axisOrOptions?):this
Defined in: core/Mobject.ts:306
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
TexturedMobject.rotate
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: core/Mobject.ts:344
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
TexturedMobject.rotateAboutOrigin
saveState()
saveState():
this
Defined in: core/Mobject.ts:1096
Returns
this
Inherited from
TexturedMobject.saveState
scale()
scale(
factor,options?):this
Defined in: core/Mobject.ts:429
Parameters
factor
number | Vector3Tuple
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
TexturedMobject.scale
scaleToFitBox()
scaleToFitBox(
maxWidth,maxHeight):this
Defined in: mobjects/image/index.ts:601
Scale the image to fit within a bounding box
Parameters
maxWidth
number
Maximum width
maxHeight
number
Maximum height
Returns
this
setBrightness()
setBrightness(
value):this
Defined in: mobjects/image/index.ts:646
Set brightness
Parameters
value
number
Returns
this
setColor()
setColor(
color):this
Defined in: core/Mobject.ts:166
Parameters
color
string
Returns
this
Inherited from
TexturedMobject.setColor
setContrast()
setContrast(
value):this
Defined in: mobjects/image/index.ts:653
Set contrast
Parameters
value
number
Returns
this
setDoubleSided()
setDoubleSided(
value):this
Defined in: mobjects/image/index.ts:667
Set double-sided rendering
Parameters
value
boolean
Returns
this
setFill()
setFill(
color?,opacity?):this
Defined in: core/Mobject.ts:204
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
TexturedMobject.setFill
setFillOpacity()
setFillOpacity(
opacity):this
Defined in: core/Mobject.ts:194
Parameters
opacity
number
Returns
this
Inherited from
TexturedMobject.setFillOpacity
setFilters()
setFilters(
filters):this
Defined in: mobjects/image/index.ts:619
Set filter options
Parameters
filters
Partial<ImageFilterOptions>
Returns
this
setGrayscale()
setGrayscale(
enabled):this
Defined in: mobjects/image/index.ts:632
Set grayscale filter
Parameters
enabled
boolean
Returns
this
setHeight()
setHeight(
height):this
Defined in: mobjects/image/index.ts:575
Set the display height (width will be calculated from aspect ratio)
Parameters
height
number
Returns
this
setInvert()
setInvert(
enabled):this
Defined in: mobjects/image/index.ts:639
Set invert filter
Parameters
enabled
boolean
Returns
this
setSize()
setSize(
width,height,scaleToFit):this
Defined in: mobjects/image/index.ts:588
Set both width and height
Parameters
width
number
Display width
height
number
Display height
scaleToFit
boolean = true
If true, scale to fit preserving aspect ratio
Returns
this
setSource()
setSource(
source):this
Defined in: mobjects/image/index.ts:537
Set a new image source
Parameters
source
string
Returns
this
setStrokeOpacity()
setStrokeOpacity(
opacity):this
Defined in: core/Mobject.ts:174
Parameters
opacity
number
Returns
this
Inherited from
TexturedMobject.setStrokeOpacity
setStrokeWidth()
setStrokeWidth(
width):this
Defined in: core/Mobject.ts:184
Parameters
width
number
Returns
this
Inherited from
TexturedMobject.setStrokeWidth
setStyle()
setStyle(
style):this
Defined in: core/Mobject.ts:152
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
TexturedMobject.setStyle
setWidth()
setWidth(
width):this
Defined in: mobjects/image/index.ts:558
Set the display width (height will be calculated from aspect ratio)
Parameters
width
number
Returns
this
setX()
setX(
x):this
Defined in: core/Mobject.ts:760
Parameters
x
number
Returns
this
Inherited from
TexturedMobject.setX
setY()
setY(
y):this
Defined in: core/Mobject.ts:764
Parameters
y
number
Returns
this
Inherited from
TexturedMobject.setY
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:768
Parameters
z
number
Returns
this
Inherited from
TexturedMobject.setZ
shift()
shift(
delta):this
Defined in: core/Mobject.ts:234
Parameters
delta
Returns
this
Inherited from
TexturedMobject.shift
stretch()
stretch(
factor,dim,options?):this
Defined in: core/Mobject.ts:461
Parameters
factor
number
dim
number
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
TexturedMobject.stretch
toCorner()
toCorner(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:801
Parameters
direction
Vector3Tuple = ...
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
TexturedMobject.toCorner
toEdge()
toEdge(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:796
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
TexturedMobject.toEdge
update()
update(
dt):void
Defined in: core/Mobject.ts:1033
Parameters
dt
number
Returns
void
Inherited from
TexturedMobject.update
waitForLoad()
waitForLoad():
Promise<void>
Defined in: mobjects/image/index.ts:256
Wait for the image to be loaded
Returns
Promise<void>
Promise that resolves when the image is loaded