Stg::Block Class Reference
#include <stage.hh>
List of all members.
Public Member Functions |
void | AppendTouchingModels (ModelPtrSet &touchers) |
| Block (Model *mod, Worldfile *wf, int entity) |
| Block (Model *mod, stg_point_t *pts, size_t pt_count, stg_meters_t zmin, stg_meters_t zmax, Color color, bool inherit_color) |
double | CenterX () |
double | CenterY () |
void | DrawFootPrint () |
void | DrawSolid () |
void | GenerateCandidateCells () |
const Color & | GetColor () |
Model * | GetModel () |
void | Load (Worldfile *wf, int entity) |
void | Map () |
std::vector< stg_point_t > & | Points () |
stg_point_t * | Points (unsigned int *count) |
void | Rasterize (uint8_t *data, unsigned int width, unsigned int height, stg_meters_t cellwidth, stg_meters_t cellheight) |
void | RemoveFromCellArray (CellPtrVec *blocks) |
void | SetCenter (double x, double y) |
void | SetCenterX (double y) |
void | SetCenterY (double y) |
void | SetZ (double min, double max) |
void | SwitchToTestedCells () |
Model * | TestCollision () |
void | Translate (double x, double y) |
void | UnMap () |
| ~Block () |
Constructor & Destructor Documentation
Block Constructor. A model's body is a list of these blocks. The point data is copied, so pts can safely be freed after constructing the block.
Create a new block. A model's body is a list of these blocks. The point data is copied, so pts can safely be freed after calling this.
Member Function Documentation
void Block::AppendTouchingModels |
( |
ModelPtrSet & |
touchers |
) |
|
double Block::CenterX |
( |
|
) |
|
Return the center of the block on the X axis
double Block::CenterY |
( |
|
) |
|
Return the center of the block on the Y axis
void Block::DrawFootPrint |
( |
|
) |
|
draw the projection of the block onto the z=0 plane
void Block::DrawSolid |
( |
|
) |
|
draw the block in OpenGL as a solid single color
void Block::GenerateCandidateCells |
( |
|
) |
[inline] |
const Color & Block::GetColor |
( |
|
) |
|
Model* Stg::Block::GetModel |
( |
|
) |
[inline] |
void Block::Load |
( |
Worldfile * |
wf, |
|
|
int |
entity | |
|
) |
| | |
render the block into the world's raytrace data structure
std::vector<stg_point_t>& Stg::Block::Points |
( |
|
) |
[inline] |
stg_point_t* Stg::Block::Points |
( |
unsigned int * |
count |
) |
[inline] |
void Block::Rasterize |
( |
uint8_t * |
data, |
|
|
unsigned int |
width, |
|
|
unsigned int |
height, |
|
|
stg_meters_t |
cellwidth, |
|
|
stg_meters_t |
cellheight | |
|
) |
| | |
void Block::RemoveFromCellArray |
( |
CellPtrVec * |
blocks |
) |
[inline] |
void Block::SetCenter |
( |
double |
x, |
|
|
double |
y | |
|
) |
| | |
Set the center of the block
void Block::SetCenterX |
( |
double |
y |
) |
|
Set the center of the block on the X axis
void Block::SetCenterY |
( |
double |
y |
) |
|
Set the center of the block on the Y axis
void Block::SetZ |
( |
double |
min, |
|
|
double |
max | |
|
) |
| | |
Set the extent in Z of the block
void Block::SwitchToTestedCells |
( |
|
) |
|
Model * Block::TestCollision |
( |
|
) |
|
Returns the first model that shares a bitmap cell with this model
void Block::Translate |
( |
double |
x, |
|
|
double |
y | |
|
) |
| | |
Translate all points in the block by the indicated amounts
remove the block from the world's raytracing data structure
The documentation for this class was generated from the following files: