xoreos
0.0.5
|
#include <walkmesh.h>
Public Member Functions | |
Walkmesh () | |
float | getElevationAt (float x, float y, uint32 &faceIndex) const |
Return elevation at given coordinates or FLT_MIN if can't walk there. More... | |
bool | testCollision (const glm::vec3 &orig, const glm::vec3 &dest) const |
void | highlightFace (uint32 index) |
Highlight face with specified index. More... | |
void | setInvisible (bool invisible) |
void | calculateDistance () |
Calculate the object's distance. More... | |
void | render (Graphics::RenderPass pass) |
Render the object. More... | |
Public Member Functions inherited from Graphics::Renderable | |
Renderable (RenderableType type) | |
~Renderable () | |
bool | operator< (const Queueable &q) const |
virtual void | advanceTime (float dt) |
Advance time (used by renderables with animations). More... | |
virtual void | renderImmediate (const glm::mat4 &parentTransform) |
For shader based systems, don't sort anything, render this right_now. More... | |
virtual void | queueRender (const glm::mat4 &parentTransform) |
Queue the object for later rendering. More... | |
double | getDistance () const |
Get the distance of the object from the viewer. More... | |
uint32 | getID () const |
Get the object's unique ID. More... | |
bool | isClickable () const |
Is the object clickable? More... | |
void | setClickable (bool clickable) |
Set the object's clickable state. More... | |
const Common::UString & | getTag () const |
Get the object's tag. More... | |
void | setTag (const Common::UString &tag) |
Set the object's tag. More... | |
bool | isVisible () const |
Is the object visible? More... | |
virtual void | show () |
Show the object. More... | |
virtual void | hide () |
Hide the object. More... | |
virtual bool | isIn (float x, float y) const |
Is that point within the object? More... | |
virtual bool | isIn (float x, float y, float z) const |
Is that point within the object? More... | |
virtual bool | isIn (float x1, float y1, float z1, float x2, float y2, float z2) const |
Does the line from x1.y1.z1 to x2.y2.z2 intersect with the object? More... | |
Public Member Functions inherited from Graphics::Queueable | |
Queueable () | |
virtual | ~Queueable () |
Protected Member Functions | |
void | refreshIndexGroups () |
Protected Member Functions inherited from Graphics::Renderable | |
void | resort () |
void | lockFrame () |
void | unlockFrame () |
void | lockFrameIfVisible () |
void | unlockFrameIfVisible () |
Protected Member Functions inherited from Graphics::Queueable | |
bool | isInQueue (QueueType queue) const |
void | addToQueue (QueueType queue) |
void | removeFromQueue (QueueType queue) |
void | lockQueue (QueueType queue) |
void | unlockQueue (QueueType queue) |
void | sortQueue (QueueType queue) |
Protected Attributes | |
std::vector< float > | _vertices |
std::vector< uint32 > | _indices |
std::vector< bool > | _faceWalkableMap |
std::vector< uint32 > | _indicesWalkable |
std::vector< uint32 > | _indicesNonWalkable |
int | _highlightFaceIndex |
bool | _invisible |
Protected Attributes inherited from Graphics::Renderable | |
QueueType | _queueExists |
QueueType | _queueVisible |
uint32 | _id |
bool | _clickable |
Common::UString | _tag |
double | _distance |
The distance of the object from the viewer. More... | |
Definition at line 41 of file walkmesh.h.
Graphics::Aurora::Walkmesh::Walkmesh | ( | ) |
Definition at line 37 of file walkmesh.cpp.
|
virtual |
Calculate the object's distance.
Implements Graphics::Renderable.
Definition at line 114 of file walkmesh.cpp.
float Graphics::Aurora::Walkmesh::getElevationAt | ( | float | x, |
float | y, | ||
uint32 & | faceIndex | ||
) | const |
Return elevation at given coordinates or FLT_MIN if can't walk there.
faceIndex | Index of the intersected walkmesh face |
Definition at line 43 of file walkmesh.cpp.
References _indicesWalkable, _vertices, and FLT_MIN.
Referenced by Engines::KotOR::Room::evaluateElevation(), and Engines::KotOR2::Room::evaluateElevation().
void Graphics::Aurora::Walkmesh::highlightFace | ( | uint32 | index | ) |
Highlight face with specified index.
index | Index of the face to highlight or -1 to disable highlighting |
Definition at line 106 of file walkmesh.cpp.
References _highlightFaceIndex.
Referenced by Engines::KotOR::Room::disableWalkmeshHighlight(), Engines::KotOR2::Room::disableWalkmeshHighlight(), Engines::KotOR::Room::evaluateElevation(), and Engines::KotOR2::Room::evaluateElevation().
|
protected |
Definition at line 146 of file walkmesh.cpp.
References _faceWalkableMap, _indices, _indicesNonWalkable, and _indicesWalkable.
Referenced by Engines::KotOR::Walkmesh::load().
|
virtual |
Render the object.
Implements Graphics::Renderable.
Definition at line 117 of file walkmesh.cpp.
References _highlightFaceIndex, _indicesNonWalkable, _indicesWalkable, _invisible, _vertices, Graphics::kRenderPassTransparent, and pass.
void Graphics::Aurora::Walkmesh::setInvisible | ( | bool | invisible | ) |
Definition at line 110 of file walkmesh.cpp.
References _invisible.
Referenced by Engines::KotOR::Room::setWalkmeshInvisible(), Engines::KotOR2::Room::setWalkmeshInvisible(), Engines::KotOR2::Situated::setWalkmeshInvisible(), and Engines::KotOR::Situated::setWalkmeshInvisible().
bool Graphics::Aurora::Walkmesh::testCollision | ( | const glm::vec3 & | orig, |
const glm::vec3 & | dest | ||
) | const |
Definition at line 71 of file walkmesh.cpp.
References _indicesNonWalkable, and _vertices.
Referenced by Engines::KotOR::Door::testCollision(), Engines::KotOR2::Situated::testCollision(), Engines::KotOR2::Door::testCollision(), and Engines::KotOR::Situated::testCollision().
|
protected |
Definition at line 71 of file walkmesh.h.
Referenced by Engines::KotOR::Walkmesh::appendFaceTypes(), Engines::KotOR::Walkmesh::load(), and refreshIndexGroups().
|
protected |
Definition at line 74 of file walkmesh.h.
Referenced by highlightFace(), and render().
|
protected |
Definition at line 70 of file walkmesh.h.
Referenced by Engines::KotOR::Walkmesh::appendIndices(), Engines::KotOR::Walkmesh::load(), and refreshIndexGroups().
|
protected |
Definition at line 73 of file walkmesh.h.
Referenced by refreshIndexGroups(), render(), and testCollision().
|
protected |
Definition at line 72 of file walkmesh.h.
Referenced by getElevationAt(), refreshIndexGroups(), and render().
|
protected |
Definition at line 75 of file walkmesh.h.
Referenced by render(), and setInvisible().
|
protected |
Definition at line 69 of file walkmesh.h.
Referenced by Engines::KotOR::Walkmesh::appendIndices(), Engines::KotOR::Walkmesh::appendVertices(), getElevationAt(), Engines::KotOR::Walkmesh::load(), render(), and testCollision().