Panda3D
vertexDataBlock.h
1 // Filename: vertexDataBlock.h
2 // Created by: drose (04Jun07)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef VERTEXDATABLOCK_H
16 #define VERTEXDATABLOCK_H
17 
18 #include "pandabase.h"
19 #include "simpleAllocator.h"
20 #include "vertexDataPage.h"
21 #include "referenceCount.h"
22 
23 class VertexDataPage;
24 class VertexDataBlock;
25 
26 ////////////////////////////////////////////////////////////////////
27 // Class : VertexDataBlock
28 // Description : A block of bytes that stores the actual raw vertex
29 // data referenced by a GeomVertexArrayData object.
30 ////////////////////////////////////////////////////////////////////
31 class EXPCL_PANDA_GOBJ VertexDataBlock : public SimpleAllocatorBlock, public ReferenceCount {
32 protected:
33  INLINE VertexDataBlock(VertexDataPage *page,
34  size_t start, size_t size);
35 
36 PUBLISHED:
37  INLINE VertexDataPage *get_page() const;
38  INLINE VertexDataBlock *get_next_block() const;
39 
40 public:
41  INLINE unsigned char *get_pointer(bool force) const;
42 
43  friend class VertexDataPage;
44 };
45 
46 #include "vertexDataBlock.I"
47 
48 #endif
A block of bytes that holds one or more VertexDataBlocks.
A block of bytes that stores the actual raw vertex data referenced by a GeomVertexArrayData object...
A single block as returned from SimpleAllocator::alloc().
SimpleAllocatorBlock * get_next_block() const
Returns a pointer to the next allocated block in the chain, or NULL if there are no more allocated bl...
A base class for all things that want to be reference-counted.