Panda3D
Public Member Functions | Friends | List of all members
VertexDataBook Class Reference

A collection of VertexDataPages, which can be used to allocate new VertexDataBlock objects. More...

#include "vertexDataBook.h"

Public Member Functions

 VertexDataBook (size_t block_size)
 
VertexDataBlockalloc (size_t size)
 Allocates and returns a new VertexDataBuffer of the requested size. More...
 
size_t count_allocated_size () const
 Returns the total size of all bytes allocated within pages owned by this book. More...
 
size_t count_allocated_size (VertexDataPage::RamClass ram_class) const
 Returns the total size of all bytes allocated within pages owned by this book that have the indicated ram class. More...
 
size_t count_total_page_size () const
 Returns the total size of all bytes owned by all pages owned by this book. More...
 
size_t count_total_page_size (VertexDataPage::RamClass ram_class) const
 Returns the total size of all bytes owned by all pages owned by this book that have the indicated ram class. More...
 
size_t get_num_pages () const
 Returns the number of pages created for the book. More...
 
void reorder_page (VertexDataPage *page)
 
void save_to_disk ()
 Writes all pages to disk immediately, just in case they get evicted later. More...
 

Friends

class VertexDataPage
 

Detailed Description

A collection of VertexDataPages, which can be used to allocate new VertexDataBlock objects.

Definition at line 30 of file vertexDataBook.h.

Member Function Documentation

◆ alloc()

VertexDataBlock * VertexDataBook::alloc ( size_t  size)
inline

Allocates and returns a new VertexDataBuffer of the requested size.

Definition at line 18 of file vertexDataBook.I.

◆ count_allocated_size() [1/2]

size_t VertexDataBook::count_allocated_size ( ) const

Returns the total size of all bytes allocated within pages owned by this book.

Definition at line 72 of file vertexDataBook.cxx.

◆ count_allocated_size() [2/2]

size_t VertexDataBook::count_allocated_size ( VertexDataPage::RamClass  ram_class) const

Returns the total size of all bytes allocated within pages owned by this book that have the indicated ram class.

Definition at line 88 of file vertexDataBook.cxx.

◆ count_total_page_size() [1/2]

size_t VertexDataBook::count_total_page_size ( ) const

Returns the total size of all bytes owned by all pages owned by this book.

Definition at line 38 of file vertexDataBook.cxx.

◆ count_total_page_size() [2/2]

size_t VertexDataBook::count_total_page_size ( VertexDataPage::RamClass  ram_class) const

Returns the total size of all bytes owned by all pages owned by this book that have the indicated ram class.

Definition at line 54 of file vertexDataBook.cxx.

◆ get_num_pages()

size_t VertexDataBook::get_num_pages ( ) const
inline

Returns the number of pages created for the book.

Definition at line 27 of file vertexDataBook.I.

◆ save_to_disk()

void VertexDataBook::save_to_disk ( )

Writes all pages to disk immediately, just in case they get evicted later.

It makes sense to make this call just before taking down a loading screen, to minimize chugs from saving pages inadvertently later.

Definition at line 107 of file vertexDataBook.cxx.


The documentation for this class was generated from the following files: