Pointer
pixi-wheels / index / Pointer
Class: Pointer
Defined in: pointer/Pointer.ts:65
A pointer: the fixed mark a ring is read against.
Owns its skin’s view, seats it on the ring, detects the dividers that pass under it each frame (one crossing per divider, however fast the ring turns) and runs the tongue against the ring’s pegs: pushed aside as a peg comes through, carried on its crown, released into a spring. See FlapConfig for the knobs.
Implements#
Constructors#
Constructor#
new Pointer(config: PointerConfig, skin: PointerSkin): Pointer;
Defined in: pointer/Pointer.ts:85
Parameters#
| Parameter | Type |
|---|---|
config | PointerConfig |
skin | PointerSkin |
Returns#
Pointer
Properties#
| Property | Modifier | Type | Defined in |
|---|---|---|---|
angle | readonly | number | pointer/Pointer.ts:67 |
facing | readonly | PointerFacing | pointer/Pointer.ts:68 |
id | readonly | string | pointer/Pointer.ts:66 |
skin | readonly | PointerSkin | pointer/Pointer.ts:71 |
tipInset | readonly | number | pointer/Pointer.ts:69 |
view | readonly | Container<ContainerChild> | pointer/Pointer.ts:70 |
Accessors#
deflection#
Get Signature#
get deflection(): number;
Defined in: pointer/Pointer.ts:117
Current flap deflection, degrees.
Returns
number
dragDeg#
Get Signature#
get dragDeg(): number;
Defined in: pointer/Pointer.ts:127
The angular hold this tongue is asking of the ring right now, degrees,
signed against the direction of travel. Zero unless flap.drag is set.
The ring adds it to the disc’s drawn rotation only: the logical rotation,
the crossings and the landing never see it.
Returns
number
engagedPeg#
Get Signature#
get engagedPeg(): number | null;
Defined in: pointer/Pointer.ts:132
Index into the ring’s peg angles of the peg carrying the tongue right now, or null.
Returns
number | null
flap#
Get Signature#
get flap():
| Readonly<Required<FlapConfig>>
| null;
Defined in: pointer/Pointer.ts:137
The flap settings in force, or null for a rigid pointer.
Returns
| Readonly<Required<FlapConfig>>
| null
isDestroyed#
Get Signature#
get isDestroyed(): boolean;
Defined in: pointer/Pointer.ts:456
Returns
boolean
Implementation of#
pinRadius#
Get Signature#
get pinRadius(): number;
Defined in: pointer/Pointer.ts:142
Distance from the pin to the hub, px, after layout().
Returns
number
tipRadius#
Get Signature#
get tipRadius(): number;
Defined in: pointer/Pointer.ts:147
Distance from the tip to the hub, px, after layout().
Returns
number
Methods#
contactHalfWidth()#
contactHalfWidth(pegs: ResolvedPegs): number;
Defined in: pointer/Pointer.ts:166
Half the width of the contact zone at the peg ring, px: peg radius plus half the tongue tip.
Parameters#
| Parameter | Type |
|---|---|
pegs | ResolvedPegs |
Returns#
number
destroy()#
destroy(): void;
Defined in: pointer/Pointer.ts:460
Returns#
void
Implementation of#
layout()#
layout(outerRadius: number, innerRadius: number): void;
Defined in: pointer/Pointer.ts:97
Seat the view on the ring: base rotation and position from the radii.
Parameters#
| Parameter | Type |
|---|---|
outerRadius | number |
innerRadius | number |
Returns#
void
localAngle()#
localAngle(rotationDeg: number): number;
Defined in: pointer/Pointer.ts:171
The wheel-local angle under this pointer for a disc rotation.
Parameters#
| Parameter | Type |
|---|---|
rotationDeg | number |
Returns#
number
reaches()#
reaches(pegs: ResolvedPegs): boolean;
Defined in: pointer/Pointer.ts:157
True when the peg ring runs under the tongue somewhere between its pin and its tip, which is the only way a peg can push it. Pegs deeper than the tip pass beneath it; pegs beyond the pin would have to strike the heel, which is not a thing a flapper does.
Parameters#
| Parameter | Type |
|---|---|
pegs | ResolvedPegs |
Returns#
boolean
update()#
update(
prevRotation: number,
rotation: number,
dt: number,
geometry: RingGeometry,
pegs?: ResolvedPegs | null,
dragOffset?: number
): PointerCrossing[];
Defined in: pointer/Pointer.ts:180
Advance one frame. Returns every divider that passed under the pointer
between prevRotation and rotation, in the order they passed. pegs
drives the tongue; without them a flapping pointer stays at rest.
Parameters#
| Parameter | Type | Default value |
|---|---|---|
prevRotation | number | undefined |
rotation | number | undefined |
dt | number | undefined |
geometry | RingGeometry | undefined |
pegs | ResolvedPegs | null | null |
dragOffset | number | 0 |