15 #ifndef VERTEXDATABUFFER_H 16 #define VERTEXDATABUFFER_H 18 #include "pandabase.h" 19 #include "vertexDataBook.h" 20 #include "vertexDataBlock.h" 21 #include "pointerTo.h" 22 #include "virtualFile.h" 23 #include "pStatCollector.h" 24 #include "lightMutex.h" 25 #include "lightMutexHolder.h" 64 INLINE VertexDataBuffer(
size_t size);
65 INLINE VertexDataBuffer(
const VertexDataBuffer ©);
66 void operator = (
const VertexDataBuffer ©);
67 INLINE ~VertexDataBuffer();
69 INLINE
const unsigned char *get_read_pointer(
bool force)
const;
70 INLINE
unsigned char *get_write_pointer();
72 INLINE
size_t get_size()
const;
73 INLINE
size_t get_reserved_size()
const;
74 INLINE
void set_size(
size_t size);
75 INLINE
void clean_realloc(
size_t reserved_size);
76 INLINE
void unclean_realloc(
size_t reserved_size);
81 void swap(VertexDataBuffer &other);
84 void do_clean_realloc(
size_t size);
85 void do_unclean_realloc(
size_t size);
90 unsigned char *_resident_data;
92 size_t _reserved_size;
100 static void init_type() {
101 register_type(_type_handle,
"VertexDataBuffer");
108 #include "vertexDataBuffer.I" A block of bytes that stores the actual raw vertex data referenced by a GeomVertexArrayData object...
A block of bytes that stores the actual raw vertex data referenced by a GeomVertexArrayData object...
A collection of VertexDataPages, which can be used to allocate new VertexDataBlock objects...
TypeHandle is the identifier used to differentiate C++ class types.
This is a standard, non-reentrant mutex, similar to the Mutex class.