Class: VMobject
Defined in: src/core/VMobject.ts:41
Vectorized mobject class for path-based shapes.
Extends
VMobjectRendering
Extended by
VGroupCurvesAsSubmobjectsVectorizedPointCamera2DFrameCircleLineRectanglePolygonPolygramTipableVMobjectEllipseAnnulusAnnularSectorSectorArcPolygonCurvedArrowCurvedDoubleArrowDashedLineCubicBezierSurroundingRectangleCrossRoundedRectangleStarRegularPolygramCutoutConvexHullAngleRightAngleElbowTangentLineArrowTipBooleanResultNumberLineFunctionGraphImplicitFunctionParametricFunctionContourPlotChordRibbonDecimalNumberGlyphVMobjectCodeBulletedListTitleMarkdownTextThreeDVMobjectBraceBraceBetweenPointsArcBraceVMobjectFromSVGPathGradientVMobjectPatternVMobjectSankeyLinkMobjectWithSavedStateTracedPathAnimatedBoundaryArcPolygonFromArcs
Constructors
Constructor
new VMobject():
VMobject
Defined in: src/core/VMobject.ts:58
Returns
VMobject
Overrides
VMobjectRendering.constructor
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: src/core/Mobject.ts:140
JSON-serializable saved state (used by restoreState()).
Inherited from
VMobjectRendering.__savedMobjectState
_baseSubpathLengths?
protectedoptional_baseSubpathLengths:number[]
Defined in: src/core/VMobject.ts:53
Base subpath-length metadata (intrinsic topology, e.g. SVG compound paths).
_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
VMobjectRendering._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
VMobjectRendering._blendModeActive
_color
protected_color:string='#ffffff'
Defined in: src/core/Mobject.ts:95
Inherited from
VMobjectRendering._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
VMobjectRendering._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
VMobjectRendering._disableChildZLayering
_fillMaterial
protected_fillMaterial:MeshBasicMaterial=null
Defined in: src/core/VMobjectRendering.ts:39
Three.js fill material
Inherited from
_geometryDirty
protected_geometryDirty:boolean=true
Defined in: src/core/VMobjectRendering.ts:42
Whether geometry needs rebuild (separate from material dirty)
Inherited from
VMobjectRendering._geometryDirty
_isVMobject
_isVMobject:
boolean=false
Defined in: src/core/Mobject.ts:133
Inherited from
VMobjectRendering._isVMobject
_opacity
protected_opacity:number=1
Defined in: src/core/Mobject.ts:106
Inherited from
VMobjectRendering._opacity
_points3D
protected_points3D:number[][] =[]
Defined in: src/core/VMobject.ts:47
Array of cubic Bezier control points in 3D. Each point is [x, y, z]. Stored as: [anchor1, handle1, handle2, anchor2, handle3, handle4, anchor3, ...]
_sceneFrameWidth
_sceneFrameWidth:
number=null
Defined in: src/core/VMobjectRendering.ts:78
Inherited from
_sceneRendererHeight
_sceneRendererHeight:
number=null
Defined in: src/core/VMobjectRendering.ts:77
Inherited from
_sceneRendererWidth
_sceneRendererWidth:
number=null
Defined in: src/core/VMobjectRendering.ts:76
Per-instance renderer context (set by Scene when VMobject is added). When non-null these override the class-level statics so that multiple Scene instances do not corrupt each other's stroke-width calculations.
Inherited from
_strokeMaterial
protected_strokeMaterial:LineMaterial=null
Defined in: src/core/VMobjectRendering.ts:36
Three.js stroke material (Line2 LineMaterial for thick strokes)
Inherited from
_style
protected_style:MobjectStyle
Defined in: src/core/Mobject.ts:119
Inherited from
VMobjectRendering._style
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: src/core/Mobject.ts:120
Inherited from
VMobjectRendering._threeObject
_transformSubpathLengths?
protectedoptional_transformSubpathLengths:number[]
Defined in: src/core/VMobject.ts:56
Transform-time override for subpath lengths (compound-path metadata).
_visiblePointCount
protected_visiblePointCount:number=null
Defined in: src/core/VMobject.ts:50
Number of points visible (for Create animation)
children
children:
Mobject[] =[]
Defined in: src/core/Mobject.ts:90
Inherited from
VMobjectRendering.children
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: src/core/Mobject.ts:94
Inherited from
VMobjectRendering.createdAtBeginning
fillOpacity
fillOpacity:
number=0
Defined in: src/core/Mobject.ts:108
Inherited from
VMobjectRendering.fillOpacity
id
readonlyid:string
Defined in: src/core/Mobject.ts:81
Inherited from
VMobjectRendering.id
parent
parent:
Mobject=null
Defined in: src/core/Mobject.ts:89
Inherited from
VMobjectRendering.parent
position
position:
Vector3
Defined in: src/core/Mobject.ts:91
Inherited from
VMobjectRendering.position
rotation
rotation:
Euler
Defined in: src/core/Mobject.ts:92
Inherited from
VMobjectRendering.rotation
savedState
savedState:
Mobject=null
Defined in: src/core/Mobject.ts:136
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
VMobjectRendering.savedState
scaleVector
scaleVector:
Vector3
Defined in: src/core/Mobject.ts:93
Inherited from
VMobjectRendering.scaleVector
strokeWidth
strokeWidth:
number=4
Defined in: src/core/Mobject.ts:107
Inherited from
VMobjectRendering.strokeWidth
targetCopy
targetCopy:
Mobject=null
Defined in: src/core/Mobject.ts:138
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
VMobjectRendering.targetCopy
useStrokeMesh
useStrokeMesh:
boolean=false
Defined in: src/core/VMobjectRendering.ts:146
When true, render stroke as a mesh ring with miter-joined corners instead of Line2 for closed paths.
Inherited from
VMobjectRendering.useStrokeMesh
_frameWidth
static_frameWidth:number=14
Defined in: src/core/VMobjectRendering.ts:69
Camera frame width in world units (set by Scene, for stroke width conversion)
Inherited from
VMobjectRendering._frameWidth
_rendererHeight
static_rendererHeight:number=450
Defined in: src/core/VMobjectRendering.ts:66
Inherited from
VMobjectRendering._rendererHeight
_rendererWidth
static_rendererWidth:number=800
Defined in: src/core/VMobjectRendering.ts:65
Renderer resolution for LineMaterial (set by Scene)
Inherited from
VMobjectRendering._rendererWidth
useShaderCurves
staticuseShaderCurves:boolean=false
Defined in: src/core/VMobjectRendering.ts:131
When true, VMobjects use GPU Bezier SDF shaders for stroke rendering instead of the default Line2/LineMaterial approach.
Inherited from
VMobjectRendering.useShaderCurves
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
Inherited from
VMobjectRendering.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
VMobjectRendering.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
VMobjectRendering.fillColor
isDirty
Get Signature
get isDirty():
boolean
Defined in: src/core/Mobject.ts:1108
Returns
boolean
Inherited from
VMobjectRendering.isDirty
numPoints
Get Signature
get numPoints():
number
Defined in: src/core/VMobject.ts:235
Get the number of points
Returns
number
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
VMobjectRendering.opacity
points
Get Signature
get points():
Point[]
Defined in: src/core/VMobject.ts:81
Get all points as 2D Point objects (derived from _points3D)
Returns
Point[]
shaderCurves
Get Signature
get shaderCurves():
boolean
Defined in: src/core/VMobjectRendering.ts:168
Check whether this instance should use shader-based Bezier curve rendering.
Returns
boolean
Set Signature
set shaderCurves(
value):void
Defined in: src/core/VMobjectRendering.ts:173
Enable or disable shader-based Bezier rendering for this instance.
Parameters
value
boolean
Returns
void
Inherited from
VMobjectRendering.shaderCurves
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
VMobjectRendering.strokeColor
style
Get Signature
get style():
MobjectStyle
Defined in: src/core/Mobject.ts:194
Returns
Inherited from
VMobjectRendering.style
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: src/core/Mobject.ts:208
Returns
Mobject[]
Inherited from
VMobjectRendering.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
VMobjectRendering.userId
visiblePointCount
Get Signature
get visiblePointCount():
number
Defined in: src/core/VMobject.ts:242
Get the number of visible points (for Create animation)
Returns
number
Set Signature
set visiblePointCount(
count):void
Defined in: src/core/VMobject.ts:249
Set the number of visible points (for Create animation)
Parameters
count
number
Returns
void
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
VMobjectRendering._applyBlendModeToThree
_applyFunctionAboutPoint()
protected_applyFunctionAboutPoint(fn,aboutPoint):void
Defined in: src/core/VMobject.ts:207
Parameters
fn
(pts) => number[][]
aboutPoint
number[]
Returns
void
Pre
fn(pts).length === pts.length
Post
getPoints()[i] === fn(old.getPoints().map(p => p - aboutPoint))[i] + aboutPoint
Overrides
VMobjectRendering._applyFunctionAboutPoint
_buildEarcutFillGeometry()
protected_buildEarcutFillGeometry(points3D):BufferGeometry<NormalBufferAttributes,BufferGeometryEventMap>
Defined in: src/core/VMobjectRendering.ts:230
Parameters
points3D
number[][]
Returns
BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>
Inherited from
VMobjectRendering._buildEarcutFillGeometry
_createThreeObject()
protected_createThreeObject():Object3D
Defined in: src/core/VMobjectRendering.ts:245
Create the Three.js backing object for this VMobject.
Returns
Inherited from
VMobjectRendering._createThreeObject
_disposeRenderingResources()
protected_disposeRenderingResources():void
Defined in: src/core/VMobjectRendering.ts:687
Returns
void
Inherited from
VMobjectRendering._disposeRenderingResources
_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
Returns
this
Inherited from
VMobjectRendering._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
Returns
this
Inherited from
VMobjectRendering._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
VMobjectRendering._getBoundingBox
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: src/core/Mobject.ts:837
Parameters
direction
Returns
World-space edge position (center + half-bounding-box offset).
Inherited from
VMobjectRendering._getEdgeInDirection
_hasOwnPoints()
protected_hasOwnPoints():boolean
Defined in: src/core/VMobject.ts:137
Whether this exact node owns drawable geometry (its raw _points3D),
bypassing any subclass override of getLocalPoints(). VGroup (and every
class extending it — MathTex, SVGMobject, Arrow, Table, ...) overrides
getLocalPoints() to aggregate its children's points for read-modify-write
transforms (Homotopy, ApplyWave, ...); that aggregation must NOT make the
container itself look like a stagger unit with points of its own.
Returns
boolean
_interpolatePointList3D()
protected_interpolatePointList3D(points,targetCount):number[][]
Defined in: src/core/VMobject.ts:718
Interpolate a 3D point list to have a specific number of points.
Delegates to the bezier-aware resamplePointList3D so that valid cubic
Bezier chains are densified by de Casteljau subdivision rather than
piecewise-linear interpolation. Linear lerp on cubic control points
silently produces invalid handles (handle = midpoint of two adjacent
controls), which renders as flat polygonal segments mid-Transform.
Parameters
points
number[][]
targetCount
number
Returns
number[][]
_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
Returns
Post
result === this._worldMatrix() * p
Inherited from
VMobjectRendering._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
VMobjectRendering._markDirty
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: src/core/VMobjectRendering.ts:206
VMobject-level upward dirty propagation must also mark geometry dirty. This keeps geometry invalidation centralized for point/curve mutations.
Returns
void
Inherited from
VMobjectRendering._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
Returns
void
Inherited from
VMobjectRendering._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
Post
this.parent === null => this._computeWorldMatrix() === this._computeOwnMatrix()
Post
this.parent !== null => this._computeWorldMatrix() === this.parent._computeWorldMatrix() * this._computeOwnMatrix()
Inherited from
VMobjectRendering._ownMatrix
_pointsToCurvePath()
Defined in: src/core/VMobjectRendering.ts:226
Returns
Inherited from
VMobjectRendering._pointsToCurvePath
_pointsToShape()
protected_pointsToShape():Shape
Defined in: src/core/VMobjectRendering.ts:222
Returns
Inherited from
VMobjectRendering._pointsToShape
_root()
_root():
Mobject
Defined in: src/core/Mobject.ts:1113
The topmost ancestor (the node with no parent).
Returns
Inherited from
VMobjectRendering._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
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
VMobjectRendering._rotateAboutParentLocalPoint
_setSceneContext()
_setSceneContext(
rendererWidth,rendererHeight,frameWidth):void
Defined in: src/core/VMobjectRendering.ts:109
Set per-instance scene context for multi-scene support. Called by Scene when a VMobject is added or the scene is resized.
Parameters
rendererWidth
number
rendererHeight
number
frameWidth
number
Returns
void
Inherited from
VMobjectRendering._setSceneContext
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: src/core/VMobjectRendering.ts:594
Returns
void
Inherited from
VMobjectRendering._syncMaterialToThree
_syncToThree()
_syncToThree():
void
Defined in: src/core/Mobject.ts:1042
Returns
void
Inherited from
VMobjectRendering._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
Pre
!this.isEmpty()
Post
result.min <= result.max component-wise
Inherited from
VMobjectRendering._syncWorldMatrices
_updateGeometry()
protected_updateGeometry(group,options?):void
Defined in: src/core/VMobjectRendering.ts:274
Update the geometry within the Three.js group.
Parameters
group
options?
strokeOnly?
boolean
Returns
void
Inherited from
VMobjectRendering._updateGeometry
_worldMatrix()
_worldMatrix():
Matrix4
Defined in: src/core/Mobject.ts:1147
Returns
Inherited from
VMobjectRendering._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
Returns
Post
result === this._worldMatrix().invert() * p
Inherited from
VMobjectRendering._worldToLocal
add()
add(...
mobjects):this
Defined in: src/core/Mobject.ts:587
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
VMobjectRendering.add
addPoints()
addPoints(...
points):this
Defined in: src/core/VMobject.ts:295
Add points to this VMobject using 2D Point objects
Parameters
points
...Point[]
Returns
this
addPointsAsCorners()
addPointsAsCorners(
corners):this
Defined in: src/core/VMobject.ts:350
Add straight line segments from the last point to each corner. Each corner creates a new cubic Bezier segment with linear handles. Matches Manim's add_points_as_corners.
Parameters
corners
number[][]
Array of [x, y, z] corner points to connect to
Returns
this
this for chaining
addUpdater()
addUpdater(
updater,callOnAdd):this
Defined in: src/core/Mobject.ts:1183
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
VMobjectRendering.addUpdater
alignPoints()
alignPoints(
target):void
Defined in: src/core/VMobject.ts:607
Align points between this VMobject and a target so they have the same count, consistent winding, and optimal rotation for smooth morphing.
Parameters
target
VMobject
The target VMobject to align with
Returns
void
alignTo()
alignTo(
target,direction):this
Defined in: src/core/Mobject.ts:821
Parameters
target
direction
Returns
this
Inherited from
VMobjectRendering.alignTo
appendPoints()
appendPoints(
points):this
Defined in: src/core/VMobject.ts:390
Append a shared-anchor cubic chain to this VMobject's points (Manim CE's
append_points). When this path is non-empty the first appended anchor
continues from the last existing anchor and is dropped, so the chain stays
one continuous path with the 3k+1-point invariant. Chainable.
Parameters
points
number[][]
Points to append (a shared-anchor chain on its own)
Returns
this
this for chaining
applyFunction()
applyFunction(
fn,options?):this
Defined in: src/core/Mobject.ts:1241
Parameters
fn
(point) => number[]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
VMobjectRendering.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
VMobjectRendering.applyFunctionAboutPoint
applyMatrix()
applyMatrix(
matrix,options?):this
Defined in: src/core/Mobject.ts:1249
Parameters
matrix
number[][]
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
VMobjectRendering.applyMatrix
applyToFamily()
applyToFamily(
func):this
Defined in: src/core/Mobject.ts:1171
Parameters
func
(mobject) => void
Returns
this
Inherited from
VMobjectRendering.applyToFamily
become()
become(
other):this
Defined in: src/core/Mobject.ts:700
Parameters
other
Returns
this
Inherited from
VMobjectRendering.become
center()
center():
this
Defined in: src/core/Mobject.ts:883
Returns
this
Inherited from
VMobjectRendering.center
centerPointsAroundPosition()
centerPointsAroundPosition():
this
Defined in: src/core/VMobject.ts:922
Centers local geometry around the origin and updates position accordingly.
This scans all descendant VMobject points (not only this._points3D), so container-style VMobjects (e.g. MathTex/SVGMobject/CurvesAsSubmobjects) are also centered correctly.
Returns
this
this for chaining
clearPoints()
clearPoints():
this
Defined in: src/core/VMobject.ts:424
Clear all points
Returns
this
clearUpdaters()
clearUpdaters():
this
Defined in: src/core/Mobject.ts:1195
Returns
this
Inherited from
VMobjectRendering.clearUpdaters
copy()
copy():
VMobject
Defined in: src/core/VMobject.ts:755
Copy this VMobject, preserving point data state after morphs/transforms.
For subclasses (Circle, Square, etc.): constructors regenerate points from parameters (radius, sideLength, ...). After a Transform animation has morphed the data, the regenerated points no longer match the visual state. Subclasses must override copy(), build a new instance with their constructor params, call _copyBaseAttributesInto, and then overwrite _points3D with the current state.
For direct VMobject (rare): just builds and copies.
Returns
VMobject
Overrides
VMobjectRendering.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
VMobjectRendering.disableChildZLayering
dispose()
dispose():
void
Defined in: src/core/VMobject.ts:1116
Clean up Three.js resources
Returns
void
Overrides
VMobjectRendering.dispose
familyMembersWithPoints()
familyMembersWithPoints():
VMobject[]
Defined in: src/core/VMobject.ts:197
Family members (including self) that own points directly — Manim CE's
family_members_with_points(). This is the unit that staggered animations
(e.g. Create's lagRatio) should iterate over: a VMobject with several
internal subpaths is still ONE entry here, never split per subpath.
Returns
VMobject[]
Post
result === this.getFamily().filter(m => m instanceof VMobject && m._hasOwnPoints())
flip()
flip(
axis,options?):this
Defined in: src/core/Mobject.ts:509
Parameters
axis
Vector3Tuple = ...
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
VMobjectRendering.flip
generateTarget()
generateTarget():
Mobject
Defined in: src/core/Mobject.ts:1264
Returns
Inherited from
VMobjectRendering.generateTarget
getAllPoints()
getAllPoints():
number[][]
Defined in: src/core/VMobject.ts:179
World-space points from this node and all VMobject descendants recursively.
Equivalent to Python manim's get_all_points(). Use this for bounding-box and center queries that must cover the full subtree.
Returns
number[][]
Post
result === flatMap(this + vmobjectDescendants, m => m.getPoints())
getBlendMode()
getBlendMode():
BlendMode
Defined in: src/core/Mobject.ts:243
The current blend mode of this mobject.
Returns
Inherited from
VMobjectRendering.getBlendMode
getBottom()
getBottom():
Vector3Tuple
Defined in: src/core/Mobject.ts:862
Returns
Inherited from
VMobjectRendering.getBottom
getBoundingBox()
getBoundingBox():
object
Defined in: src/core/Mobject.ts:840
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
VMobjectRendering.getBoundingBox
getBounds()
getBounds():
object
Defined in: src/core/VMobject.ts:799
World-space bounding box computed from bezier control points.
Overrides Mobject.getBounds() to avoid Box3.setFromObject(), which does not work for Line2 geometries. 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
Overrides
VMobjectRendering.getBounds
getCenter()
getCenter():
Vector3Tuple
Defined in: src/core/VMobject.ts:837
World-space bounding-box center derived from getAllPoints().
Matches Python manim: the center is always the midpoint of the axis-aligned bounding box of every point in the family — no per-shape construction-point overrides. For the vertex centroid (which differs for asymmetric shapes like sectors), use getCenterOfMass.
Returns
Overrides
VMobjectRendering.getCenter
getCenterOfMass()
getCenterOfMass():
Vector3Tuple
Defined in: src/core/VMobject.ts:857
Get center of mass in world coordinates by averaging all world-space points.
Unlike getCenter (which uses bbox midpoint), this is the true centroid — equal to getCenter() only when points are symmetrically distributed.
Returns
getDepth()
getDepth():
number
Defined in: src/core/Mobject.ts:849
Returns
number
Inherited from
VMobjectRendering.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
VMobjectRendering.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
VMobjectRendering.getDisplayMeshLength
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: src/core/Mobject.ts:856
Parameters
direction
Returns
Inherited from
VMobjectRendering.getEdge
getEffectiveSubpathLengths()
getEffectiveSubpathLengths():
number[]
Defined in: src/core/VMobject.ts:500
Get effective subpath lengths for rendering. Returns transform override if present, else base/subclass metadata.
Returns
number[]
getFamily()
getFamily():
Mobject[]
Defined in: src/core/Mobject.ts:1177
Returns
Mobject[]
Inherited from
VMobjectRendering.getFamily
getHeight()
getHeight():
number
Defined in: src/core/Mobject.ts:846
Returns
number
Inherited from
VMobjectRendering.getHeight
getLeft()
getLeft():
Vector3Tuple
Defined in: src/core/Mobject.ts:865
Returns
Inherited from
VMobjectRendering.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
Post
this.parent === null => result === this.getCenter()
Post
this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()
Inherited from
VMobjectRendering.getLocalCenter
getLocalPoints()
getLocalPoints():
number[][]
Defined in: src/core/VMobject.ts:125
Own points in parent-local space — raw _points3D, no ancestor transforms.
Returns
number[][]
Post
result[i] === _points3D[i]
getOwnStrokeLines()
getOwnStrokeLines():
Line2[]
Defined in: src/core/VMobjectRendering.ts:197
This VMobject's own stroke Line2 primitives (one per subpath), synced on demand. Scoped strictly to this instance's rendering cache — never includes descendants' primitives. Lets callers (e.g. Create's lagRatio stagger) drive exactly one mobject's own segments without walking the Three.js scene graph, which cannot distinguish "another family member" from "another subpath of this same member".
_cachedLine2/_cachedLine2Array stay private and mutable internally
(which cache is active is an implementation detail); this returns a
fresh array so callers cannot corrupt that internal state.
Returns
Line2[]
Inherited from
VMobjectRendering.getOwnStrokeLines
getPointFromProportion()
getPointFromProportion(
alpha):Vector3Tuple
Defined in: src/core/VMobject.ts:967
Point at arc-length proportion alpha along this VMobject's curve.
alpha is measured by cumulative arc length over all cubic segments, so
getPointFromProportion(0.5) is the geometric midpoint of the whole path
(not the midpoint of the middle segment). Matches Manim CE's
point_from_proportion. Points are in this object's local space.
Parameters
alpha
number
Proportion in [0, 1]
Returns
Point as [x, y, z]
Throws
Error when the VMobject has no points
getPoints()
getPoints():
number[][]
Defined in: src/core/VMobject.ts:162
Own points in world coordinates (full ancestor S/R/T chain; render-only z-layering offset excluded). Children's points are not included — use getAllPoints for the full subtree.
Returns
number[][]
Post
result[i] === worldMatrix * _points3D[i]
Post
this.parent === null => result === getLocalPoints()
getRight()
getRight():
Vector3Tuple
Defined in: src/core/Mobject.ts:868
Returns
Inherited from
VMobjectRendering.getRight
getSubcurve()
getSubcurve(
a,b):VMobject
Defined in: src/core/VMobject.ts:1010
A new VMobject holding the portion of this curve between proportions a and b.
For a closed path with a > b the subcurve wraps around the seam (the end
portion [a, 1] followed by the start portion [0, b]), matching Manim CE's
get_subcurve. Style is copied from this object.
Parameters
a
number
Start proportion in [0, 1]
b
number
End proportion in [0, 1]
Returns
VMobject
A new VMobject for the subcurve
getSubpathLengths()
getSubpathLengths():
number[]
Defined in: src/core/VMobject.ts:478
Get base subpath lengths (intrinsic topology metadata). Subclasses may override this to compute dynamic metadata.
Returns
number[]
getSubpathOrientationSign()
getSubpathOrientationSign(
index):-1|1
Defined in: src/core/VMobject.ts:540
Get orientation sign for a specific subpath index: +1 (CCW) or -1 (CW).
Parameters
index
number
Returns
-1 | 1
getSubpathOrientationSigns()
getSubpathOrientationSigns(
lengths?): (-1|1)[]
Defined in: src/core/VMobject.ts:511
Get orientation sign for each subpath: +1 (CCW) or -1 (CW). Returns undefined when subpath metadata is missing or inconsistent.
Parameters
lengths?
number[]
Returns
(-1 | 1)[]
getThreeObject()
getThreeObject():
Object3D
Defined in: src/core/Mobject.ts:1117
Returns
Inherited from
VMobjectRendering.getThreeObject
getTop()
getTop():
Vector3Tuple
Defined in: src/core/Mobject.ts:859
Returns
Inherited from
VMobjectRendering.getTop
getUnitVector()
getUnitVector():
Vector3Tuple
Defined in: src/core/VMobject.ts:771
Get the unit vector from the first to the last point of this VMobject, accounting for the object's current rotation transform.
Returns
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: src/core/Mobject.ts:1202
Returns
Inherited from
VMobjectRendering.getUpdaters
getVisiblePointCount()
getVisiblePointCount():
number
Defined in: src/core/VMobject.ts:284
Get the visible point count (null means all points visible).
Returns
number
getVisiblePoints()
getVisiblePoints():
Point[]
Defined in: src/core/VMobject.ts:258
Get points that should be visible (for rendering) as 2D Points
Returns
Point[]
Overrides
VMobjectRendering.getVisiblePoints
getVisiblePoints3D()
getVisiblePoints3D():
number[][]
Defined in: src/core/VMobject.ts:266
Get points that should be visible (for rendering) as 3D arrays
Returns
number[][]
Overrides
VMobjectRendering.getVisiblePoints3D
getWidth()
getWidth():
number
Defined in: src/core/Mobject.ts:843
Returns
number
Inherited from
VMobjectRendering.getWidth
hasOwnPoints()
hasOwnPoints():
boolean
Defined in: src/core/VMobject.ts:150
Public counterpart to _hasOwnPoints. Lets code outside the VMobject hierarchy (Transform's strategy selection, leaf-snapshot traversal) distinguish "this node carries its own geometry" from "this node delegates entirely to VMobject children" — true not just for VGroup, but for any VMobject subclass that clears its own points and renders via children (DashedLine, a multi-component RegularPolygram, ...).
Returns
boolean
hasUpdaters()
hasUpdaters():
boolean
Defined in: src/core/Mobject.ts:1199
Returns
boolean
Inherited from
VMobjectRendering.hasUpdaters
insertNCurves()
insertNCurves(
n):this
Defined in: src/core/VMobject.ts:404
Subdivide this path so it contains n more cubic curves without changing
its shape (Manim CE's insert_n_curves). Chainable.
Parameters
n
number
Number of cubics to add
Returns
this
this for chaining
insertNCurvesToPointList()
insertNCurvesToPointList(
n,points):number[][]
Defined in: src/core/VMobject.ts:417
Pure counterpart of insertNCurves: return a copy of points with
n more cubics (Manim CE's insert_n_curves_to_point_list). Does not
mutate this VMobject.
Parameters
n
number
Number of cubics to add
points
number[][]
Source shared-anchor cubic chain
Returns
number[][]
New chain with n more cubics
interpolate()
interpolate(
target,alpha):this
Defined in: src/core/VMobject.ts:560
Interpolate this VMobject towards a target VMobject
Parameters
target
VMobject
The target VMobject to interpolate towards
alpha
number
Progress from 0 (this) to 1 (target)
Returns
this
this for chaining
isEmpty()
isEmpty():
boolean
Defined in: src/core/VMobject.ts:67
Whether this mobject has no renderable geometry. Base default is conservative: non-empty unless specialized subclasses decide otherwise.
Returns
boolean
Overrides
VMobjectRendering.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
VMobjectRendering.isTransformNormalized
makeJagged()
makeJagged():
this
Defined in: src/core/VMobject.ts:1055
Recompute handles so every segment is a straight line between its anchors
(Manim CE's make_jagged). Applies to every family member that owns
points. Chainable.
Returns
this
this for chaining
makeSmooth()
makeSmooth():
this
Defined in: src/core/VMobject.ts:1038
Recompute handles so the path is a smooth C1-continuous spline through its
anchors (Manim CE's make_smooth). Applies to every family member that
owns points. Chainable.
Returns
this
this for chaining
markGeometryDirty()
markGeometryDirty():
void
Defined in: src/core/VMobjectRendering.ts:180
Mark geometry as needing rebuild on next render.
Returns
void
Inherited from
VMobjectRendering.markGeometryDirty
matchDepth()
matchDepth(
mob):this
Defined in: src/core/Mobject.ts:932
Scale uniformly so the depth matches mob's depth.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchDepth
matchHeight()
matchHeight(
mob):this
Defined in: src/core/Mobject.ts:928
Scale uniformly so the height matches mob's height.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchHeight
matchWidth()
matchWidth(
mob):this
Defined in: src/core/Mobject.ts:924
Scale uniformly so the width matches mob's width.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchWidth
matchX()
matchX(
mob):this
Defined in: src/core/Mobject.ts:936
Shift so the center x-coordinate matches mob's.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchX
matchY()
matchY(
mob):this
Defined in: src/core/Mobject.ts:940
Shift so the center y-coordinate matches mob's.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchY
matchZ()
matchZ(
mob):this
Defined in: src/core/Mobject.ts:944
Shift so the center z-coordinate matches mob's.
Parameters
mob
Returns
this
Inherited from
VMobjectRendering.matchZ
moveCenterOfMassTo()
moveCenterOfMassTo(
target):this
Defined in: src/core/VMobject.ts:874
Parameters
target
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
alignedEdge?
Returns
this
Post
result world center === target (within the parent's representable frame)
Pre
!this.isEmpty() if needed (e.g., VGroup).
Inherited from
VMobjectRendering.moveTo
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: src/core/Mobject.ts:831
Parameters
target
alignedEdge?
Returns
this
Inherited from
VMobjectRendering.moveToAligned
nextTo()
nextTo(
target,direction,buff):this
Defined in: src/core/Mobject.ts:804
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
VMobjectRendering.nextTo
normalizeTransform()
normalizeTransform(
worldMatrix):this
Defined in: src/core/VMobject.ts:443
Flatten this VMobject into absolute coordinates: bake worldMatrix into
_points3D (translation, rotation and scale together — one matrix, no
inverse), reset the local transform to identity, and recurse into children.
Seeds with this node's own matrix when called with no argument, so the bake preserves world appearance whether or not there are ancestors.
Parameters
worldMatrix
Matrix4 = ...
Returns
this
Post
!this.isEmpty() => old.getPoints()[i] === this.getPoints()[i] // world geometry preserved
Post
this._computeOwnMatrix() === Identity
Overrides
VMobjectRendering.normalizeTransform
pointwiseBecomePartial()
pointwiseBecomePartial(
vmobject,a,b):this
Defined in: src/core/VMobject.ts:994
Replace this VMobject's points with the partial path of vmobject
between arc-index proportions a and b. Port of Manim CE's
pointwise_become_partial. Backs ShowPassingFlash on arbitrary VMobjects.
Parameters
vmobject
VMobject
Source VMobject to take the partial path from
a
number
Start proportion in [0, 1]
b
number
End proportion in [0, 1]
Returns
this
this for chaining
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: src/core/Mobject.ts:1257
Parameters
numPieces
number = 50
Returns
this
Inherited from
VMobjectRendering.prepareForNonlinearTransform
proportionFromPoint()
proportionFromPoint(
point):number
Defined in: src/core/VMobject.ts:980
Arc-length proportion of the point on this curve nearest to point.
Monotone inverse of getPointFromProportion: for a point that lies on the curve it round-trips back to the same point at sampling resolution.
Parameters
point
Query point [x, y, z] in local space
Returns
number
Proportion in [0, 1]
remove()
remove(...
mobjects):this
Defined in: src/core/Mobject.ts:602
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
VMobjectRendering.remove
removeUpdater()
removeUpdater(
updater):this
Defined in: src/core/Mobject.ts:1189
Parameters
updater
Returns
this
Inherited from
VMobjectRendering.removeUpdater
replace()
replace(
target,stretch):this
Defined in: src/core/Mobject.ts:705
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
VMobjectRendering.replace
restoreState()
restoreState():
boolean
Defined in: src/core/Mobject.ts:1274
Returns
boolean
Inherited from
VMobjectRendering.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
VMobjectRendering.rotate
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: src/core/Mobject.ts:450
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
VMobjectRendering.rotateAboutOrigin
roundCorners()
roundCorners(
radius):this
Defined in: src/core/VMobject.ts:1078
Replace each sharp corner with a circular arc of the given radius
(Manim CE's round_corners). Reads the path as a polygon through its
anchors and inserts, at every corner, an arc tangent to both adjacent
edges. The offset from each corner is clamped to half the shorter adjacent
edge, so arcs on short edges never overlap. Convex and reflex corners both
round correctly. A collinear corner and a non-positive radius leave the
corner sharp. A closed path rounds every vertex; an open path keeps its two
end vertices sharp. Applies to every family member that owns points.
Chainable.
Parameters
radius
number
Corner radius; <= 0 is a no-op
Returns
this
this for chaining
saveState()
saveState():
this
Defined in: src/core/Mobject.ts:1269
Returns
this
Inherited from
VMobjectRendering.saveState
scale()
scale(
factor,options?):this
Defined in: src/core/Mobject.ts:535
Parameters
factor
number | Vector3Tuple
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
VMobjectRendering.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
VMobjectRendering.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
VMobjectRendering.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
VMobjectRendering.scaleToFitWidth
setBaseSubpathLengths()
setBaseSubpathLengths(
lengths):void
Defined in: src/core/VMobject.ts:469
Set base subpath-length metadata for this VMobject. Represents intrinsic topology (e.g. outer contour + holes from SVG parsing).
Parameters
lengths
number[]
Returns
void
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
One of normal, additive, multiply, subtractive, screen.
Returns
this
this for chaining.
Inherited from
VMobjectRendering.setBlendMode
setColor()
setColor(
color):this
Defined in: src/core/Mobject.ts:212
Parameters
color
string
Returns
this
Inherited from
VMobjectRendering.setColor
setColorByGradient()
setColorByGradient(...
colors):this
Defined in: src/core/VMobject.ts:1099
Distribute colors across this object's submobjects along a gradient
(Manim CE's set_color_by_gradient submobject variant). Each family member
that owns points gets one interpolated color. With a single color this is
equivalent to setColor.
Parameters
colors
...string[]
Two or more gradient colors
Returns
this
this for chaining
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
VMobjectRendering.setDepth
setFill()
setFill(
color?,opacity?):this
Defined in: src/core/Mobject.ts:310
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
VMobjectRendering.setFill
setFillOpacity()
setFillOpacity(
opacity):this
Defined in: src/core/Mobject.ts:300
Parameters
opacity
number
Returns
this
Inherited from
VMobjectRendering.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
VMobjectRendering.setHeight
setPoints()
setPoints(
points):this
Defined in: src/core/VMobject.ts:91
Set the points defining this VMobject. Accepts either Point[] ({x, y} objects) or number[][] ([x, y, z] arrays).
Parameters
points
Array of points in either format
number[][] | Point[]
Returns
this
this for chaining
setPoints3D()
setPoints3D(
points):this
Defined in: src/core/VMobject.ts:116
Set the points defining this VMobject using 3D arrays (alias for setPoints with number[][])
Parameters
points
number[][]
Array of [x, y, z] control points for cubic Bezier curves
Returns
this
this for chaining
setPointsAsCorners()
setPointsAsCorners(
corners):this
Defined in: src/core/VMobject.ts:309
Set the points to form straight line segments between corner points. Each pair of consecutive corners becomes a cubic Bezier with linear handles. Matches Manim's set_points_as_corners.
Parameters
corners
number[][]
Array of [x, y, z] corner points
Returns
this
this for chaining
setStrokeOpacity()
setStrokeOpacity(
opacity):this
Defined in: src/core/Mobject.ts:280
Parameters
opacity
number
Returns
this
Inherited from
VMobjectRendering.setStrokeOpacity
setStrokeWidth()
setStrokeWidth(
width):this
Defined in: src/core/Mobject.ts:290
Parameters
width
number
Returns
this
Inherited from
VMobjectRendering.setStrokeWidth
setStyle()
setStyle(
style):this
Defined in: src/core/Mobject.ts:198
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
VMobjectRendering.setStyle
setTransformSubpathLengths()
setTransformSubpathLengths(
lengths):void
Defined in: src/core/VMobject.ts:487
Set transform-time subpath lengths override. Used by Transform animations to preserve compound-path structure.
Parameters
lengths
number[]
Array of subpath lengths, or undefined to clear
Returns
void
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
VMobjectRendering.setUserId
setVisiblePointCount()
setVisiblePointCount(
count):void
Defined in: src/core/VMobject.ts:275
Set visible point count for progressive creation animations. Use null to show all points.
Parameters
count
number
Returns
void
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
VMobjectRendering.setWidth
setX()
setX(
x):this
Defined in: src/core/Mobject.ts:871
Parameters
x
number
Returns
this
Inherited from
VMobjectRendering.setX
setY()
setY(
y):this
Defined in: src/core/Mobject.ts:875
Parameters
y
number
Returns
this
Inherited from
VMobjectRendering.setY
setZ()
setZ(
z):this
Defined in: src/core/Mobject.ts:879
Parameters
z
number
Returns
this
Inherited from
VMobjectRendering.setZ
shift()
shift(
delta):this
Defined in: src/core/Mobject.ts:340
Parameters
delta
Returns
this
Inherited from
VMobjectRendering.shift
stretch()
stretch(
factor,dim,options?):this
Defined in: src/core/Mobject.ts:567
Parameters
factor
number
dim
number
options?
aboutEdge?
aboutPoint?
Returns
this
Inherited from
VMobjectRendering.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
VMobjectRendering.toCorner
toEdge()
toEdge(
direction,buff,frameDimensions?):this
Defined in: src/core/Mobject.ts:968
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
VMobjectRendering.toEdge
update()
update(
dt):void
Defined in: src/core/Mobject.ts:1206
Parameters
dt
number
Returns
void
Inherited from
VMobjectRendering.update
_toLinewidth()
static_toLinewidth(this,strokeWidth):number
Defined in: src/core/VMobjectRendering.ts:123
Convert Manim-compatible strokeWidth to LineMaterial linewidth in pixels. Python Manim uses cairo_line_width_multiple=0.01, so: linewidth_px = strokeWidth * 0.01 * (rendererWidth / frameWidth)
NOTE: This static method uses class-level statics. For multi-scene correctness, internal code should use the instance method _computeLinewidth().
Parameters
this
typeof VMobjectRendering
strokeWidth
number
Returns
number
Inherited from
VMobjectRendering._toLinewidth