mercator
0.4.0
A terrain generation library for the Worldforge system.
|
Template for managing buffers of data for a segment. More...
#include <Buffer.h>
Public Member Functions | |
Buffer (unsigned int size, unsigned int channels) | |
Constructor. More... | |
DataType & | operator() (unsigned int x, unsigned int y, unsigned int channel) |
Retrieve the data value at a given point. More... | |
const DataType & | operator() (unsigned int x, unsigned int y, unsigned int channel) const |
Retrieve the data value at a given point. More... | |
unsigned int | getSize () const |
Accessor for the size of segment, m_res + 1. More... | |
unsigned int | getChannels () const |
Accessor for the number of data values per height point. More... | |
DataType * | getData () |
Accessor for a pointer to buffer containing data values. More... | |
const DataType * | getData () const |
Accessor for a pointer to buffer containing data values. More... | |
void | allocate () |
Allocate the storage required by the buffer. More... | |
bool | isValid () const |
Determine if this buffer has valid allocated storage. More... | |
void | invalidate () |
De-allocate the storage for this buffer. More... | |
Protected Attributes | |
const unsigned int | m_channels |
The number of data values per height point. More... | |
const unsigned int | m_size |
The size of segment, m_res + 1. More... | |
std::vector< DataType > | m_data |
Pointer to buffer containing data values. More... | |
Template for managing buffers of data for a segment.
|
explicit |
Constructor.
segment | terrain height segment this buffer is associated with. |
channels | number of data values per height point. |
Definition at line 10 of file Buffer_impl.h.
|
inline |
Allocate the storage required by the buffer.
Allocate memory based on the size and number of channels required by the buffer.
Definition at line 76 of file Buffer.h.
Referenced by Mercator::Segment::populate().
|
inline |
Accessor for the number of data values per height point.
Definition at line 58 of file Buffer.h.
Referenced by Mercator::FillShader::shade(), Mercator::HighShader::shade(), Mercator::DepthShader::shade(), Mercator::LowShader::shade(), Mercator::BandShader::shade(), and Mercator::GrassShader::shade().
|
inline |
Accessor for a pointer to buffer containing data values.
Definition at line 63 of file Buffer.h.
Referenced by Mercator::Segment::clearMods(), Mercator::Segment::getPoints(), Mercator::AreaShader::shade(), Mercator::FillShader::shade(), Mercator::TileShader::shade(), Mercator::HighShader::shade(), Mercator::DepthShader::shade(), Mercator::LowShader::shade(), Mercator::BandShader::shade(), and Mercator::GrassShader::shade().
|
inline |
|
inline |
Accessor for the size of segment, m_res + 1.
Definition at line 53 of file Buffer.h.
Referenced by Mercator::EdgeAtZ::operator()(), and Mercator::TileShader::shade().
|
inline |
De-allocate the storage for this buffer.
Free the storage allocate for this buffer.
Definition at line 90 of file Buffer.h.
Referenced by Mercator::Segment::invalidate().
|
inline |
Determine if this buffer has valid allocated storage.
Definition at line 83 of file Buffer.h.
Referenced by Mercator::Segment::isValid(), and Mercator::Segment::populateNormals().
|
inline |
|
inline |
|
protected |
The number of data values per height point.
Definition at line 17 of file Buffer.h.
Referenced by Mercator::Buffer< ColorT >::getChannels().
|
protected |
|
protected |
The size of segment, m_res + 1.
Definition at line 19 of file Buffer.h.
Referenced by Mercator::Buffer< ColorT >::getSize().