parry2d/shape/voxels/
voxels_sizeof.rs1use super::{Voxels, VoxelsChunk, VoxelsChunkHeader};
2use crate::math::Point;
3
4impl Voxels {
5 pub fn total_memory_size(&self) -> usize {
9 size_of::<Self>() + self.heap_memory_size()
10 }
11
12 pub fn heap_memory_size(&self) -> usize {
14 let Self {
16 chunk_bvh,
17 chunk_headers,
18 chunks,
19 free_chunks,
20 chunk_keys,
21 voxel_size: _,
22 } = self;
23 chunks.capacity() * size_of::<VoxelsChunk>()
24 + free_chunks.capacity() * size_of::<usize>()
25 + chunk_keys.capacity() * size_of::<Point<i32>>()
26 + chunk_headers.capacity() * (size_of::<VoxelsChunkHeader>() + size_of::<Point<i32>>())
27 + chunk_bvh.heap_memory_size()
28 }
29}