Skip to main content

Class: MathTex

Defined in: mobjects/text/MathTex.ts:47

VGroup is a specialized group for VMobjects. Operations apply to all children, and paths can be combined.

Extends

Extended by

Constructors

Constructor

new MathTex(options): MathTex

Defined in: mobjects/text/MathTex.ts:67

Parameters

options

MathTexOptions

Returns

MathTex

Overrides

VGroup.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:121

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

Inherited from

VGroup.__savedMobjectState


_baseSubpathLengths?

protected optional _baseSubpathLengths: number[]

Defined in: core/VMobject.ts:40

Base subpath-length metadata (intrinsic topology, e.g. SVG compound paths).

Inherited from

VGroup._baseSubpathLengths


_color

protected _color: string

Defined in: mobjects/text/MathTex.ts:51

Overrides

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

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

VGroup._disableChildZLayering


_displayMode

protected _displayMode: boolean

Defined in: mobjects/text/MathTex.ts:50


_fillMaterial

protected _fillMaterial: MeshBasicMaterial = null

Defined in: core/VMobjectRendering.ts:39

Three.js fill material

Inherited from

VGroup._fillMaterial


_fontSize

protected _fontSize: number

Defined in: mobjects/text/MathTex.ts:49


_geometryDirty

protected _geometryDirty: boolean = true

Defined in: core/VMobjectRendering.ts:42

Whether geometry needs rebuild (separate from material dirty)

Inherited from

VGroup._geometryDirty


_isMultiPart

protected _isMultiPart: boolean = false

Defined in: mobjects/text/MathTex.ts:59

Whether this is a multi-part MathTex (created from string[])


_isVMobject

_isVMobject: boolean = false

Defined in: core/Mobject.ts:114

Inherited from

VGroup._isVMobject


_latex

protected _latex: string

Defined in: mobjects/text/MathTex.ts:48


_macros

protected _macros: Record<string, string>

Defined in: mobjects/text/MathTex.ts:55


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:95

Inherited from

VGroup._opacity


_parts

protected _parts: VGroup[] = []

Defined in: mobjects/text/MathTex.ts:61

Child part groups (only when _isMultiPart is true)


_points3D

protected _points3D: number[][] = []

Defined in: core/VMobject.ts:34

Array of cubic Bezier control points in 3D. Each point is [x, y, z]. Stored as: [anchor1, handle1, handle2, anchor2, handle3, handle4, anchor3, ...]

Inherited from

VGroup._points3D


_renderError

protected _renderError: Error = null

Defined in: mobjects/text/MathTex.ts:65

Error from rendering, if any


_renderPromise

protected _renderPromise: Promise<void> = null

Defined in: mobjects/text/MathTex.ts:63

Promise that resolves when rendering is complete


_sceneFrameWidth

_sceneFrameWidth: number = null

Defined in: core/VMobjectRendering.ts:78

Inherited from

VGroup._sceneFrameWidth


_sceneRendererHeight

_sceneRendererHeight: number = null

Defined in: core/VMobjectRendering.ts:77

Inherited from

VGroup._sceneRendererHeight


_sceneRendererWidth

_sceneRendererWidth: number = null

Defined in: 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

VGroup._sceneRendererWidth


_strokeMaterial

protected _strokeMaterial: LineMaterial = null

Defined in: core/VMobjectRendering.ts:36

Three.js stroke material (Line2 LineMaterial for thick strokes)

Inherited from

VGroup._strokeMaterial


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:100

Inherited from

VGroup._style


_svgFillOpacity

protected _svgFillOpacity: number

Defined in: mobjects/text/MathTex.ts:53


_svgStrokeWidth

protected _svgStrokeWidth: number

Defined in: mobjects/text/MathTex.ts:52


_svgViewBoxWidth

protected _svgViewBoxWidth: number = 1000

Defined in: mobjects/text/MathTex.ts:56


_targetHeight

protected _targetHeight: number

Defined in: mobjects/text/MathTex.ts:54


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:101

Inherited from

VGroup._threeObject


_transformSubpathLengths?

protected optional _transformSubpathLengths: number[]

Defined in: core/VMobject.ts:43

Transform-time override for subpath lengths (compound-path metadata).

Inherited from

VGroup._transformSubpathLengths


_visiblePointCount

protected _visiblePointCount: number = null

Defined in: core/VMobject.ts:37

Number of points visible (for Create animation)

Inherited from

VGroup._visiblePointCount


children

children: Mobject[] = []

Defined in: core/Mobject.ts:79

Inherited from

VGroup.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:83

Inherited from

VGroup.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:97

Inherited from

VGroup.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:77

Inherited from

VGroup.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:78

Inherited from

VGroup.parent


position

position: Vector3

Defined in: core/Mobject.ts:80

Inherited from

VGroup.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:81

Inherited from

VGroup.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:117

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

Inherited from

VGroup.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:82

Inherited from

VGroup.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:96

Inherited from

VGroup.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:119

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

VGroup.targetCopy


useStrokeMesh

useStrokeMesh: boolean = false

Defined in: core/VMobjectRendering.ts:146

When true, render stroke as a mesh ring with miter-joined corners instead of Line2 for closed paths.

Inherited from

VGroup.useStrokeMesh


_frameWidth

static _frameWidth: number = 14

Defined in: core/VMobjectRendering.ts:69

Camera frame width in world units (set by Scene, for stroke width conversion)

Inherited from

VGroup._frameWidth


_rendererHeight

static _rendererHeight: number = 450

Defined in: core/VMobjectRendering.ts:66

Inherited from

VGroup._rendererHeight


_rendererWidth

static _rendererWidth: number = 800

Defined in: core/VMobjectRendering.ts:65

Renderer resolution for LineMaterial (set by Scene)

Inherited from

VGroup._rendererWidth


useShaderCurves

static useShaderCurves: boolean = false

Defined in: core/VMobjectRendering.ts:131

When true, VMobjects use GPU Bezier SDF shaders for stroke rendering instead of the default Line2/LineMaterial approach.

Inherited from

VGroup.useShaderCurves

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

AnimateProxy

Inherited from

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

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

VGroup.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:935

Returns

boolean

Inherited from

VGroup.isDirty


length

Get Signature

get length(): number

Defined in: core/VGroup.ts:438

Get the number of vmobjects in this group.

Returns

number

Inherited from

VGroup.length


numPoints

Get Signature

get numPoints(): number

Defined in: core/VMobject.ts:183

Get the number of points

Returns

number

Inherited from

VGroup.numPoints


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

VGroup.opacity


points

Get Signature

get points(): Point[]

Defined in: core/VGroup.ts:491

Get all points from the VGroup as a flat array (override VMobject). Returns combined points from all children.

Returns

Point[]

Inherited from

VGroup.points


shaderCurves

Get Signature

get shaderCurves(): boolean

Defined in: 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: core/VMobjectRendering.ts:173

Enable or disable shader-based Bezier rendering for this instance.

Parameters
value

boolean

Returns

void

Inherited from

VGroup.shaderCurves


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

VGroup.strokeColor


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:148

Returns

MobjectStyle

Inherited from

VGroup.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:162

Returns

Mobject[]

Inherited from

VGroup.submobjects


visiblePointCount

Get Signature

get visiblePointCount(): number

Defined in: core/VMobject.ts:190

Get the number of visible points (for Create animation)

Returns

number

Set Signature

set visiblePointCount(count): void

Defined in: core/VMobject.ts:197

Set the number of visible points (for Create animation)

Parameters
count

number

Returns

void

Inherited from

VGroup.visiblePointCount

Methods

_applyFunctionAboutPoint()

protected _applyFunctionAboutPoint(fn, aboutPoint): void

Defined in: core/VMobject.ts:155

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

Inherited from

VGroup._applyFunctionAboutPoint


_buildEarcutFillGeometry()

protected _buildEarcutFillGeometry(points3D): BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Defined in: core/VMobjectRendering.ts:213

Parameters

points3D

number[][]

Returns

BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Inherited from

VGroup._buildEarcutFillGeometry


_consumePendingScale()

protected _consumePendingScale(): void

Defined in: mobjects/text/MathTex.ts:349

Bake any pending parent scaleVector (e.g. from a pre-render scale()) into descendant geometry so post-render shift/moveTo operate in the same coordinate frame as the rendered glyphs. Without this step the parent's Three.js scale would silently multiply any later child-frame translations, producing a mismatch between getCenter() and the rendered position. See issue #324.

Returns

void


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: core/VGroup.ts:418

Create the Three.js backing object for this VGroup. A VGroup is simply a THREE.Group that contains children.

Returns

Object3D

Inherited from

VGroup._createThreeObject


_disposeRenderingResources()

protected _disposeRenderingResources(): void

Defined in: core/VMobjectRendering.ts:627

Returns

void

Inherited from

VGroup._disposeRenderingResources


_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

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

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

VGroup._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:729

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

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

Inherited from

VGroup._getEdgeInDirection


_interpolatePointList3D()

protected _interpolatePointList3D(points, targetCount): number[][]

Defined in: core/VMobject.ts:626

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

Inherited from

VGroup._interpolatePointList3D


_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

Vector3Tuple

Returns

Vector3Tuple

Post

result === this._worldMatrix() * p

Inherited from

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

VGroup._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/VMobjectRendering.ts:189

VMobject-level upward dirty propagation must also mark geometry dirty. This keeps geometry invalidation centralized for point/curve mutations.

Returns

void

Inherited from

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

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

VGroup._ownMatrix


_pointsToCurvePath()

protected _pointsToCurvePath(): CurvePath<Vector3>

Defined in: core/VMobjectRendering.ts:209

Returns

CurvePath<Vector3>

Inherited from

VGroup._pointsToCurvePath


_pointsToShape()

protected _pointsToShape(): Shape

Defined in: core/VMobjectRendering.ts:205

Returns

Shape

Inherited from

VGroup._pointsToShape


_render()

protected _render(): Promise<void>

Defined in: mobjects/text/MathTex.ts:220

Render the LaTeX to VMobject paths.

Returns

Promise<void>


_restyleChildren()

protected _restyleChildren(group): void

Defined in: mobjects/text/MathTex.ts:259

Restyle all VMobject children for solid glyph rendering.

Parameters

group

VGroup

Returns

void


_root()

_root(): Mobject

Defined in: core/Mobject.ts:940

The topmost ancestor (the node with no parent).

Returns

Mobject

Inherited from

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

Vector3Tuple

pivotLocal

Vector3Tuple

Returns

void

Pre

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

Post

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

Post

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

Inherited from

VGroup._rotateAboutParentLocalPoint


_scaleToTarget()

protected _scaleToTarget(): void

Defined in: mobjects/text/MathTex.ts:289

Scale and center the assembled paths by transforming point data directly.

Unit flow:

  • MathJax path coordinates arrive in font units (~1000 units per em).
  • Convert font-size points to world units via DEFAULT_FONT_SIZE_PT baseline.
  • Convert MathJax units to em by dividing by MATHJAX_SVG_UNITS_PER_EM.

This keeps MathTex aligned with Text/MathTexImage behavior at 48pt.

Returns

void


_setSceneContext()

_setSceneContext(rendererWidth, rendererHeight, frameWidth): void

Defined in: 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

VGroup._setSceneContext


_startRender()

protected _startRender(): void

Defined in: mobjects/text/MathTex.ts:206

Start the async rendering process.

Returns

void


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: core/VGroup.ts:412

VGroup is a container — it has no stroke/fill materials of its own. The parent VMobjectRendering._syncMaterialToThree() would attempt to rebuild geometry using null materials, causing a "material is null" crash (#206). Children sync their own materials independently.

Returns

void

Inherited from

VGroup._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:870

Returns

void

Inherited from

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

VGroup._syncWorldMatrices


_updateGeometry()

protected _updateGeometry(group): void

Defined in: core/VMobjectRendering.ts:257

Update the geometry within the Three.js group.

Parameters

group

Group

Returns

void

Inherited from

VGroup._updateGeometry


_worldMatrix()

_worldMatrix(): Matrix4

Defined in: core/Mobject.ts:974

Returns

Matrix4

Inherited from

VGroup._worldMatrix


_worldToLocal()

protected _worldToLocal(p): Vector3Tuple

Defined in: core/Mobject.ts:397

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

Parameters

p

Vector3Tuple

Returns

Vector3Tuple

Post

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

Inherited from

VGroup._worldToLocal


[iterator]()

[iterator](): Iterator<VMobject>

Defined in: core/VGroup.ts:454

Iterate over all vmobjects in the group.

Returns

Iterator<VMobject>

Inherited from

VGroup.[iterator]


add()

add(...mobjects): this

Defined in: core/VGroup.ts:82

Add mobjects to this group (override from Mobject).

Parameters

mobjects

...Mobject[]

Mobjects to add

Returns

this

this for chaining

Inherited from

VGroup.add


addPoints()

addPoints(...points): this

Defined in: core/VMobject.ts:243

Add points to this VMobject using 2D Point objects

Parameters

points

...Point[]

Returns

this

Inherited from

VGroup.addPoints


addPointsAsCorners()

addPointsAsCorners(corners): this

Defined in: core/VMobject.ts:298

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

Inherited from

VGroup.addPointsAsCorners


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:1010

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

VGroup.addUpdater


addVMobjects()

addVMobjects(...vmobjects): this

Defined in: core/VGroup.ts:64

Add VMobjects to this group. Accepts VMobjects or arrays of VMobjects.

Parameters

vmobjects

...(VMobject | VMobject[])[]

VMobjects to add

Returns

this

this for chaining

Inherited from

VGroup.addVMobjects


alignPoints()

alignPoints(target): void

Defined in: core/VMobject.ts:515

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

Inherited from

VGroup.alignPoints


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:713

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

VGroup.alignTo


applyFunction()

applyFunction(fn, options?): this

Defined in: core/Mobject.ts:1068

Parameters

fn

(point) => number[]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

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

VGroup.applyFunctionAboutPoint


applyMatrix()

applyMatrix(matrix, options?): this

Defined in: core/Mobject.ts:1076

Parameters

matrix

number[][]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

VGroup.applyMatrix


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:998

Parameters

func

(mobject) => void

Returns

this

Inherited from

VGroup.applyToFamily


arrange()

arrange(direction, buff, center): this

Defined in: core/VGroup.ts:263

Arrange children in a row or column with specified spacing.

Parameters

direction

Vector3Tuple = RIGHT

Direction to arrange (e.g., RIGHT for row, DOWN for column)

buff

number = 0.25

Buffer/spacing between children, default 0.25

center

boolean = true

Whether to center the arrangement at the group's position, default true

Returns

this

this for chaining

Inherited from

VGroup.arrange


arrangeInGrid()

arrangeInGrid(rows?, cols?, buffX?, buffY?): this

Defined in: core/VGroup.ts:341

Arrange children in a grid layout.

Parameters

rows?

number

Number of rows (if not specified, auto-calculated)

cols?

number

Number of columns (if not specified, auto-calculated)

buffX?

number = 0.25

Horizontal buffer between elements, default 0.25

buffY?

number = 0.25

Vertical buffer between elements, default 0.25

Returns

this

this for chaining

Inherited from

VGroup.arrangeInGrid


become()

become(other): this

Defined in: core/Mobject.ts:592

Parameters

other

Mobject

Returns

this

Inherited from

VGroup.become


center()

center(): this

Defined in: core/Mobject.ts:772

Returns

this

Inherited from

VGroup.center


centerPointsAroundPosition()

centerPointsAroundPosition(): this

Defined in: core/VMobject.ts:830

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

Inherited from

VGroup.centerPointsAroundPosition


clearPoints()

clearPoints(): this

Defined in: core/VMobject.ts:332

Clear all points

Returns

this

Inherited from

VGroup.clearPoints


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:1022

Returns

this

Inherited from

VGroup.clearUpdaters


copy()

copy(): MathTex

Defined in: mobjects/text/MathTex.ts:485

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

MathTex

Overrides

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

VGroup.disableChildZLayering


dispose()

dispose(): void

Defined in: core/VMobject.ts:866

Clean up Three.js resources

Returns

void

Inherited from

VGroup.dispose


filter()

filter(fn): VGroup

Defined in: core/VGroup.ts:482

Filter vmobjects in the group.

Parameters

fn

(vmobject, index) => boolean

Filter predicate

Returns

VGroup

New VGroup with filtered vmobjects

Inherited from

VGroup.filter


flip()

flip(axis, options?): this

Defined in: core/Mobject.ts:403

Parameters

axis

Vector3Tuple = ...

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

VGroup.flip


forEach()

forEach(fn): this

Defined in: core/VGroup.ts:463

Apply a function to each vmobject in the group.

Parameters

fn

(vmobject, index) => void

Function to apply

Returns

this

this for chaining

Inherited from

VGroup.forEach


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:1091

Returns

Mobject

Inherited from

VGroup.generateTarget


get()

get(index): VMobject

Defined in: core/VGroup.ts:447

Get a vmobject by index.

Parameters

index

number

Index of the vmobject

Returns

VMobject

The vmobject at the given index, or undefined

Inherited from

VGroup.get


getAllPoints()

getAllPoints(): number[][]

Defined in: core/VGroup.ts:515

World-space points from this VGroup and all VMobject descendants.

Returns

number[][]

Post

result === flatMap(allVMobjectDescendants, c => c.getPoints())

Inherited from

VGroup.getAllPoints


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:751

Returns

Vector3Tuple

Inherited from

VGroup.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:732

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

VGroup.getBoundingBox


getBounds()

getBounds(): object

Defined in: core/VMobject.ts:707

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

Inherited from

VGroup.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: mobjects/text/MathTex.ts:166

World-space center. Unlike the base VGroup, an empty (not-yet-rendered) MathTex falls back to its world-space origin instead of throwing: MathTex is built lazily, so scale()/moveTo() (which read getCenter() for their default anchor) are routinely called before the SVG geometry exists.

Returns

Vector3Tuple

Overrides

VGroup.getCenter


getCenterOfMass()

getCenterOfMass(): Vector3Tuple

Defined in: core/VMobject.ts:765

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

Vector3Tuple

Inherited from

VGroup.getCenterOfMass


getCombinedPoints()

getCombinedPoints(): number[][]

Defined in: core/VGroup.ts:396

Get combined path points from all children.

Returns

number[][]

Combined array of points from all children

Inherited from

VGroup.getCombinedPoints


getDisplayMeshes()

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

Defined in: core/Mobject.ts:990

Returns

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

Inherited from

VGroup.getDisplayMeshes


getDisplayMeshLength()

getDisplayMeshLength(): number

Defined in: core/Mobject.ts:986

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

VGroup.getDisplayMeshLength


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:745

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

VGroup.getEdge


getEffectiveSubpathLengths()

getEffectiveSubpathLengths(): number[]

Defined in: core/VMobject.ts:408

Get effective subpath lengths for rendering. Returns transform override if present, else base/subclass metadata.

Returns

number[]

Inherited from

VGroup.getEffectiveSubpathLengths


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:1004

Returns

Mobject[]

Inherited from

VGroup.getFamily


getHeight()

getHeight(): number

Defined in: core/Mobject.ts:738

Returns

number

Inherited from

VGroup.getHeight


getLatex()

getLatex(): string

Defined in: mobjects/text/MathTex.ts:148

Get the LaTeX string.

Returns

string


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:754

Returns

Vector3Tuple

Inherited from

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

Vector3Tuple

Post

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

Post

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

Inherited from

VGroup.getLocalCenter


getLocalPoints()

getLocalPoints(): number[][]

Defined in: core/VGroup.ts:506

Local-space points aggregated from all VMobject children.

Returns

number[][]

Post

result === flatMap(vmobjectChildren, c => c.getLocalPoints())

Inherited from

VGroup.getLocalPoints


getPart()

getPart(index): VGroup

Defined in: mobjects/text/MathTex.ts:128

Get a sub-part of a multi-part expression. Only available when created with a string array. Returns a VGroup with setColor() support.

Parameters

index

number

Returns

VGroup


getPartCount()

getPartCount(): number

Defined in: mobjects/text/MathTex.ts:141

Get the number of parts.

Returns

number


getPoints()

getPoints(): number[][]

Defined in: core/VMobject.ts:124

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

Inherited from

VGroup.getPoints


getRenderError()

getRenderError(): Error

Defined in: mobjects/text/MathTex.ts:156

Get the render error, if any. Returns null if rendering succeeded or is still in progress.

Returns

Error


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:757

Returns

Vector3Tuple

Inherited from

VGroup.getRight


getSubpathLengths()

getSubpathLengths(): number[]

Defined in: core/VMobject.ts:386

Get base subpath lengths (intrinsic topology metadata). Subclasses may override this to compute dynamic metadata.

Returns

number[]

Inherited from

VGroup.getSubpathLengths


getSubpathOrientationSign()

getSubpathOrientationSign(index): -1 | 1

Defined in: core/VMobject.ts:448

Get orientation sign for a specific subpath index: +1 (CCW) or -1 (CW).

Parameters

index

number

Returns

-1 | 1

Inherited from

VGroup.getSubpathOrientationSign


getSubpathOrientationSigns()

getSubpathOrientationSigns(lengths?): (-1 | 1)[]

Defined in: core/VMobject.ts:419

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

Inherited from

VGroup.getSubpathOrientationSigns


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:944

Returns

Object3D

Inherited from

VGroup.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:748

Returns

Vector3Tuple

Inherited from

VGroup.getTop


getUnitVector()

getUnitVector(): Vector3Tuple

Defined in: core/VMobject.ts:679

Get the unit vector from the first to the last point of this VMobject, accounting for the object's current rotation transform.

Returns

Vector3Tuple

Inherited from

VGroup.getUnitVector


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:1029

Returns

UpdaterFunction[]

Inherited from

VGroup.getUpdaters


getVisiblePointCount()

getVisiblePointCount(): number

Defined in: core/VMobject.ts:232

Get the visible point count (null means all points visible).

Returns

number

Inherited from

VGroup.getVisiblePointCount


getVisiblePoints()

getVisiblePoints(): Point[]

Defined in: core/VMobject.ts:206

Get points that should be visible (for rendering) as 2D Points

Returns

Point[]

Inherited from

VGroup.getVisiblePoints


getVisiblePoints3D()

getVisiblePoints3D(): number[][]

Defined in: core/VMobject.ts:214

Get points that should be visible (for rendering) as 3D arrays

Returns

number[][]

Inherited from

VGroup.getVisiblePoints3D


getWidth()

getWidth(): number

Defined in: core/Mobject.ts:735

Returns

number

Inherited from

VGroup.getWidth


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:1026

Returns

boolean

Inherited from

VGroup.hasUpdaters


interpolate()

interpolate(target, alpha): this

Defined in: core/VMobject.ts:468

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

Inherited from

VGroup.interpolate


isEmpty()

isEmpty(): boolean

Defined in: core/VGroup.ts:18

True when this VGroup (recursively) has no renderable geometry.

Returns

boolean

Inherited from

VGroup.isEmpty


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

VGroup.isTransformNormalized


map()

map<T>(fn): T[]

Defined in: core/VGroup.ts:473

Map over all vmobjects in the group.

Type Parameters

T

T

Parameters

fn

(vmobject, index) => T

Mapping function

Returns

T[]

Array of mapped values

Inherited from

VGroup.map


markGeometryDirty()

markGeometryDirty(): void

Defined in: core/VMobjectRendering.ts:180

Mark geometry as needing rebuild on next render.

Returns

void

Inherited from

VGroup.markGeometryDirty


moveCenterOfMassTo()

moveCenterOfMassTo(target): this

Defined in: core/VMobject.ts:782

Parameters

target

Vector3Tuple

Returns

this

Inherited from

VGroup.moveCenterOfMassTo


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

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Post

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

Pre

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

Inherited from

VGroup.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:723

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

VGroup.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:696

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

VGroup.nextTo


normalizeTransform()

normalizeTransform(worldMatrix): this

Defined in: core/VMobject.ts:351

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

Inherited from

VGroup.normalizeTransform


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:1084

Parameters

numPieces

number = 50

Returns

this

Inherited from

VGroup.prepareForNonlinearTransform


remove()

remove(...mobjects): this

Defined in: core/VGroup.ts:143

Remove mobjects from this group (override from Mobject).

Parameters

mobjects

...Mobject[]

Mobjects to remove

Returns

this

this for chaining

Inherited from

VGroup.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:1016

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

VGroup.removeUpdater


removeVMobjects()

removeVMobjects(...vmobjects): this

Defined in: core/VGroup.ts:122

Remove VMobjects from this group.

Parameters

vmobjects

...VMobject[]

VMobjects to remove

Returns

this

this for chaining

Inherited from

VGroup.removeVMobjects


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:597

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

VGroup.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:1101

Returns

boolean

Inherited from

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

VGroup.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:344

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

VGroup.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:1096

Returns

this

Inherited from

VGroup.saveState


scale()

scale(factor, options?): this

Defined in: core/Mobject.ts:429

Parameters

factor

number | Vector3Tuple

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

VGroup.scale


setBaseSubpathLengths()

setBaseSubpathLengths(lengths): void

Defined in: core/VMobject.ts:377

Set base subpath-length metadata for this VMobject. Represents intrinsic topology (e.g. outer contour + holes from SVG parsing).

Parameters

lengths

number[]

Returns

void

Inherited from

VGroup.setBaseSubpathLengths


setColor()

setColor(color): this

Defined in: mobjects/text/MathTex.ts:177

Override setColor to propagate to all VMobject children (fill + stroke).

Parameters

color

string

Returns

this

Overrides

VGroup.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/VGroup.ts:218

Set the fill color of all children.

Parameters

color?

string

CSS color string

opacity?

number

Returns

this

this for chaining

Inherited from

VGroup.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/VGroup.ts:203

Set the fill opacity of all children.

Parameters

opacity

number

Fill opacity (0-1)

Returns

this

this for chaining

Inherited from

VGroup.setFillOpacity


setPoints()

setPoints(points): this

Defined in: core/VGroup.ts:540

Distribute a flat point array back onto the children.

A VGroup stores no geometry of its own — getLocalPoints aggregates the children. The inherited VMobject.setPoints would write to the container's unused _points3D, so a read-modify-write (Homotopy, ApplyPointwiseFunction, ApplyWave, …) on a VGroup would be a silent no-op. This override partitions the array in the same order getCombinedPoints concatenated it and assigns each slice to its child, so the round-trip actually moves the children.

Parameters

points

number[][] | Point[]

Returns

this

Pre

points.length === sum over VMobject children of child.getLocalPoints().length

Post

for each child i: child.getLocalPoints() === the i-th slice of points

Inherited from

VGroup.setPoints


setPoints3D()

setPoints3D(points): this

Defined in: core/VMobject.ts:103

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

Inherited from

VGroup.setPoints3D


setPointsAsCorners()

setPointsAsCorners(corners): this

Defined in: core/VMobject.ts:257

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

Inherited from

VGroup.setPointsAsCorners


setStroke()

setStroke(color?, width?, opacity?): this

Defined in: core/VGroup.ts:239

Set the stroke of all children.

Parameters

color?

string

CSS color string

width?

number

Stroke width in pixels

opacity?

number

Stroke opacity (0-1)

Returns

this

this for chaining

Inherited from

VGroup.setStroke


setStrokeOpacity()

setStrokeOpacity(opacity): this

Defined in: core/VGroup.ts:177

Set the opacity of all children.

Parameters

opacity

number

Opacity value (0-1)

Returns

this

this for chaining

Inherited from

VGroup.setStrokeOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/VGroup.ts:190

Set the stroke width of all children.

Parameters

width

number

Stroke width in pixels

Returns

this

this for chaining

Inherited from

VGroup.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:152

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

VGroup.setStyle


setTransformSubpathLengths()

setTransformSubpathLengths(lengths): void

Defined in: core/VMobject.ts:395

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

Inherited from

VGroup.setTransformSubpathLengths


setVisiblePointCount()

setVisiblePointCount(count): void

Defined in: core/VMobject.ts:223

Set visible point count for progressive creation animations. Use null to show all points.

Parameters

count

number

Returns

void

Inherited from

VGroup.setVisiblePointCount


setX()

setX(x): this

Defined in: core/Mobject.ts:760

Parameters

x

number

Returns

this

Inherited from

VGroup.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:764

Parameters

y

number

Returns

this

Inherited from

VGroup.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:768

Parameters

z

number

Returns

this

Inherited from

VGroup.setZ


shift()

shift(delta): this

Defined in: core/Mobject.ts:234

Parameters

delta

Vector3Tuple

Returns

this

Inherited from

VGroup.shift


stretch()

stretch(factor, dim, options?): this

Defined in: core/Mobject.ts:461

Parameters

factor

number

dim

number

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

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

VGroup.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:796

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

VGroup.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:1033

Parameters

dt

number

Returns

void

Inherited from

VGroup.update


waitForRender()

waitForRender(): Promise<void>

Defined in: mobjects/text/MathTex.ts:114

Wait for the LaTeX to finish rendering.

Returns

Promise<void>


_toLinewidth()

static _toLinewidth(this, strokeWidth): number

Defined in: 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

VGroup._toLinewidth