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
readonlybackstop:boolean
Defined in
packages/core/src/cache/classes/VolumeTextureSet.ts:275
coverage
readonlycoverage: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
readonlyname: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
readonlyspacing:Point3
Defined in
packages/core/src/cache/classes/VolumeTextureSet.ts:274
statistic
readonlystatistic:VoxelStatistic
Defined in
packages/core/src/cache/classes/VolumeTextureSet.ts:272
Accessors
bytes
getbytes():number
The cost of every member, in bytes.
Returns
number
Defined in
packages/core/src/cache/classes/VolumeTextureSet.ts:322
size
getsize():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>[]