Skip to main content

Class: VolumeTextureSet<TextureType>

A named set of textures, and the unit of storage, of cost and of eviction.

A set is what a provision builds and what a selection reads. The two costs are deliberately different: a provision derives voxels and allocates textures, and a selection touches neither.

A set holds one member for a full-extent reduction, and it holds many members for a level of a brick store. The area index is what makes the second case fast: a selection asks for the members that meet a region, and the index answers without a scan of every member.

Type Parameters​

• TextureType = unknown

Constructors​

new VolumeTextureSet()​

new VolumeTextureSet<TextureType>(description): VolumeTextureSet<TextureType>

Parameters​

• description: VolumeTextureSetDescription

Returns​

VolumeTextureSet<TextureType>

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:302

Properties​

backstop​

readonly backstop: boolean

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:275


coverage​

readonly coverage: VolumeTextureSetCoverage

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:273


lastUsed​

lastUsed: number = 0

The order of the last use, which gives the least recently used set.

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:285


name​

readonly name: string

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:271


pinned​

pinned: boolean = false

A pinned set leaves the store only with its volume, or by an explicit eviction. A budget never evicts it. A legacy viewport draws a set that it holds no claim on, so the set it draws is pinned.

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:283


references​

references: number = 0

The number of consumers that hold this set. A set that nobody holds can be evicted.

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:277


spacing​

readonly spacing: Point3

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:274


statistic​

readonly statistic: VoxelStatistic

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:272

Accessors​

bytes​

get bytes(): number

The cost of every member, in bytes.

Returns​

number

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:322


size​

get size(): number

The number of members.

Returns​

number

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:317

Methods​

add()​

add(slot): VolumeTextureSlot<TextureType>

Adds one member, and puts that member in the area index.

Parameters​

• slot: VolumeTextureSlot<TextureType>

Returns​

VolumeTextureSlot<TextureType>

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:332


get()​

get(id): VolumeTextureSlot<TextureType>

One member, by its stable identity.

Parameters​

• id: string

Returns​

VolumeTextureSlot<TextureType>

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:327


markAllDirty()​

markAllDirty(onSlice?): void

Marks every voxel of every member dirty.

Parameters​

• onSlice?

Returns​

void

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:414


markDirty()​

markDirty(bounds, onSlice?): void

Marks a region of the volume dirty in every member that covers it.

Parameters​

• bounds: BoundsIJK

the region, in the index space of the volume

• onSlice?

called for each z slice of each member that the region met

Returns​

void

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:388


members()​

members(): VolumeTextureSlot<TextureType>[]

Every member of the set.

Returns​

VolumeTextureSlot<TextureType>[]

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:312


membersCovering()​

membersCovering(region?): VolumeTextureSlot<TextureType>[]

The members that meet a region, which the region states in the index space of the volume.

A selection calls this member on the frame path, and a brick level holds thousands of members, so the answer must not cost a scan of all of them. The index buckets the members over a coarse grid of the volume, and the query reads the buckets that the region meets. A set of one member answers directly, which is the full-extent case.

Parameters​

• region?: BoundsIJK

Returns​

VolumeTextureSlot<TextureType>[]

Defined in​

packages/core/src/cache/classes/VolumeTextureSet.ts:352