#include <stage.hh>
Public Member Functions | |
void | AppendBlock (Block *block) |
void | AppendTouchingModels (std::set< Model * > &touchers) |
BlockGroup () | |
void | CalcSize () |
void | CallDisplayList (Model *mod) |
void | Clear () |
void | DrawFootPrint (const Geom &geom) |
void | DrawSolid (const Geom &geom) |
uint32_t | GetCount () |
const point3_t & | GetOffset () |
const Size & | GetSize () |
void | InvalidateModelPointCache () |
void | LoadBitmap (Model *mod, const std::string &bitmapfile, Worldfile *wf) |
void | LoadBlock (Model *mod, Worldfile *wf, int entity) |
void | Map (unsigned int layer) |
void | Rasterize (uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight) |
Model * | TestCollision () |
void | UnMap (unsigned int layer) |
~BlockGroup () | |
Private Member Functions | |
void | BuildDisplayList (Model *mod) |
Private Attributes | |
std::vector< Block * > | blocks |
int | displaylist |
meters_t | maxx |
meters_t | maxy |
meters_t | minx |
meters_t | miny |
point3_t | offset |
Size | size |
Friends | |
class | Block |
class | Model |
Definition at line 13 of file blockgroup.cc.
Definition at line 22 of file blockgroup.cc.
void BlockGroup::AppendBlock | ( | Block * | block | ) |
Definition at line 27 of file blockgroup.cc.
void BlockGroup::AppendTouchingModels | ( | std::set< Model * > & | touchers | ) |
deletes all blocks from the group
Definition at line 40 of file blockgroup.cc.
void BlockGroup::BuildDisplayList | ( | Model * | mod | ) | [private] |
Definition at line 146 of file blockgroup.cc.
void BlockGroup::CalcSize | ( | ) |
Establish the min and max of all the blocks, so we can scale this group later.
Definition at line 60 of file blockgroup.cc.
void BlockGroup::CallDisplayList | ( | Model * | mod | ) |
Definition at line 239 of file blockgroup.cc.
void BlockGroup::Clear | ( | ) |
Definition at line 32 of file blockgroup.cc.
void BlockGroup::DrawFootPrint | ( | const Geom & | geom | ) |
Draw the projection of the block onto the z=0 plane.
Definition at line 130 of file blockgroup.cc.
void BlockGroup::DrawSolid | ( | const Geom & | geom | ) |
Draw the block in OpenGL as a solid single color.
Definition at line 112 of file blockgroup.cc.
uint32_t Stg::BlockGroup::GetCount | ( | ) | [inline] |
const point3_t& Stg::BlockGroup::GetOffset | ( | ) | [inline] |
const Size& Stg::BlockGroup::GetSize | ( | ) | [inline] |
void Stg::BlockGroup::InvalidateModelPointCache | ( | ) | [inline] |
void BlockGroup::LoadBitmap | ( | Model * | mod, |
const std::string & | bitmapfile, | ||
Worldfile * | wf | ||
) |
Definition at line 256 of file blockgroup.cc.
void BlockGroup::LoadBlock | ( | Model * | mod, |
Worldfile * | wf, | ||
int | entity | ||
) |
Definition at line 250 of file blockgroup.cc.
void BlockGroup::Map | ( | unsigned int | layer | ) |
Definition at line 97 of file blockgroup.cc.
void BlockGroup::Rasterize | ( | uint8_t * | data, |
unsigned int | width, | ||
unsigned int | height, | ||
meters_t | cellwidth, | ||
meters_t | cellheight | ||
) |
Definition at line 318 of file blockgroup.cc.
Returns a pointer to the first model detected to be colliding with a block in this group, or NULL, if none are detected.
Definition at line 46 of file blockgroup.cc.
void BlockGroup::UnMap | ( | unsigned int | layer | ) |
Definition at line 106 of file blockgroup.cc.
std::vector<Block*> Stg::BlockGroup::blocks [private] |
int Stg::BlockGroup::displaylist [private] |
meters_t Stg::BlockGroup::maxx [private] |
meters_t Stg::BlockGroup::maxy [private] |
meters_t Stg::BlockGroup::minx [private] |
meters_t Stg::BlockGroup::miny [private] |
point3_t Stg::BlockGroup::offset [private] |
Size Stg::BlockGroup::size [private] |