Skip to main content

Class: ForceDirectedLayout

Defined in: src/mobjects/graph/ForceDirectedLayout.ts:63

Extends​

Constructors​

Constructor​

new ForceDirectedLayout(graph, options): ForceDirectedLayout

Defined in: src/mobjects/graph/ForceDirectedLayout.ts:78

Parameters​

graph​

GenericGraph

options​

ForceDirectedLayoutOptions = {}

Returns​

ForceDirectedLayout

Overrides​

Animation.constructor

Properties​

_hasBegun​

protected _hasBegun: boolean = false

Defined in: src/animation/Animation.ts:49

Track if begin() has been called

Inherited from​

Animation._hasBegun


_isFinished​

protected _isFinished: boolean = false

Defined in: src/animation/Animation.ts:46

Whether the animation has finished

Inherited from​

Animation._isFinished


_startTime​

protected _startTime: number = null

Defined in: src/animation/Animation.ts:43

Time when the animation started (set by Timeline)

Inherited from​

Animation._startTime


duration​

readonly duration: number

Defined in: src/animation/Animation.ts:37

Duration of the animation in seconds

Inherited from​

Animation.duration


mobject​

readonly mobject: Mobject

Defined in: src/animation/Animation.ts:34

The mobject being animated

Inherited from​

Animation.mobject


rateFunc​

readonly rateFunc: RateFunction

Defined in: src/animation/Animation.ts:40

Rate function controlling the animation's pacing

Inherited from​

Animation.rateFunc


remover​

remover: boolean = false

Defined in: src/animation/Animation.ts:55

If true, the scene will remove this mobject after the animation finishes. Used by FadeOut (like Python manim's remover=True).

Inherited from​

Animation.remover

Accessors​

startTime​

Get Signature​

get startTime(): number

Defined in: src/animation/Animation.ts:236

Get the start time of this animation (set by Timeline)

Returns​

number

Set Signature​

set startTime(time): void

Defined in: src/animation/Animation.ts:243

Set the start time of this animation (used by Timeline)

Parameters​
time​

number

Returns​

void

Inherited from​

Animation.startTime

Methods​

begin()​

begin(): void

Defined in: src/mobjects/graph/ForceDirectedLayout.ts:92

Snapshot the graph and build the full simulation trajectory once.

Returns​

void

Overrides​

Animation.begin


cleanUpFromScene()​

cleanUpFromScene(scene): void

Defined in: src/animation/Animation.ts:141

Hook called by Scene after the animation finishes, before the next play(). Default: removes mobject if remover is set (FadeOut, Write({remover:true})). Override for animations that need to mutate scene membership — e.g. ReplacementTransform swaps source for target.

Parameters​

scene​

AnimationScene

Returns​

void

Inherited from​

Animation.cleanUpFromScene


finish()​

finish(): void

Defined in: src/animation/Animation.ts:131

Called when the animation ends. Subclasses can override to clean up or finalize state.

Returns​

void

Inherited from​

Animation.finish


getSettledPositions()​

getSettledPositions(): Map<VertexId, Vector3Tuple>

Defined in: src/mobjects/graph/ForceDirectedLayout.ts:186

Get the settled layout (the last trajectory snapshot). The map is empty until begin() runs.

Returns​

Map<VertexId, Vector3Tuple>


getSubAlpha()​

protected getSubAlpha(alpha, index, count, lagRatio): number

Defined in: src/animation/Animation.ts:161

Manim CE's get_sub_alpha: remaps a global progress alpha into the local progress of family member index (of count) under a lagRatio stagger. With lagRatio <= 0 (or a single member), every member tracks alpha directly. Subclasses that stagger across a mobject's family (e.g. Create) should index this by familyMembersWithPoints(), never by rendering-layer primitives.

Parameters​

alpha​

number

index​

number

count​

number

lagRatio​

number

Returns​

number

Inherited from​

Animation.getSubAlpha


interpolate()​

interpolate(alpha): void

Defined in: src/mobjects/graph/ForceDirectedLayout.ts:160

Move the graph's vertices to the simulation state for alpha. It interpolates between the two nearest trajectory snapshots, so the motion is smooth. alpha 0 is the initial layout and alpha 1 is the settled one.

Parameters​

alpha​

number

Returns​

void

Overrides​

Animation.interpolate


isFinished()​

isFinished(): boolean

Defined in: src/animation/Animation.ts:197

Check if the animation has finished

Returns​

boolean

Inherited from​

Animation.isFinished


reset()​

reset(): void

Defined in: src/animation/Animation.ts:206

Reset the animation to its initial state. Restores the mobject to its pre-animation visual state so that re-seeking (especially backward) produces correct results.

Returns​

void

Inherited from​

Animation.reset


update()​

update(_dt, currentTime): void

Defined in: src/animation/Animation.ts:174

Update the animation for the current frame.

Parameters​

_dt​

number

Time delta since last frame (unused, but available for subclasses)

currentTime​

number

Current time in the timeline

Returns​

void

Inherited from​

Animation.update