xoreos
0.0.5
|
#include <geometryobject.h>
Public Member Functions | |
GeometryObject (const VertexBuffer &vBuf, const IndexBuffer &iBuf) | |
~GeometryObject () | |
void | getPosition (float &x, float &y, float &z) const |
Get the current position of the model. More... | |
void | getRotation (float &x, float &y, float &z) const |
Get the current rotation of the model. More... | |
void | setPosition (float x, float y, float z) |
Set the current position of the model. More... | |
void | setRotation (float x, float y, float z) |
Set the current rotation of the model. More... | |
void | move (float x, float y, float z) |
Move the model, relative to its current position. More... | |
void | rotate (float x, float y, float z) |
Rotate the model, relative to its current rotation. More... | |
void | calculateDistance () |
Calculate the object's distance. More... | |
void | render (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 () |
Private Attributes | |
VertexBuffer | _vertexBuffer |
IndexBuffer | _indexBuffer |
float | _position [3] |
float | _rotation [3] |
Additional Inherited Members | |
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 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 36 of file geometryobject.h.
Graphics::Aurora::GeometryObject::GeometryObject | ( | const VertexBuffer & | vBuf, |
const IndexBuffer & | iBuf | ||
) |
Definition at line 34 of file geometryobject.cpp.
Graphics::Aurora::GeometryObject::~GeometryObject | ( | ) |
Definition at line 45 of file geometryobject.cpp.
|
virtual |
Calculate the object's distance.
Implements Graphics::Renderable.
Definition at line 96 of file geometryobject.cpp.
References Graphics::Renderable::_distance.
Referenced by setPosition(), and setRotation().
void Graphics::Aurora::GeometryObject::getPosition | ( | float & | x, |
float & | y, | ||
float & | z | ||
) | const |
Get the current position of the model.
Definition at line 48 of file geometryobject.cpp.
References _position.
void Graphics::Aurora::GeometryObject::getRotation | ( | float & | x, |
float & | y, | ||
float & | z | ||
) | const |
Get the current rotation of the model.
Definition at line 54 of file geometryobject.cpp.
References _rotation.
void Graphics::Aurora::GeometryObject::move | ( | float | x, |
float | y, | ||
float | z | ||
) |
Move the model, relative to its current position.
Definition at line 88 of file geometryobject.cpp.
References _position, and setPosition().
|
virtual |
Render the object.
Implements Graphics::Renderable.
Definition at line 100 of file geometryobject.cpp.
References _indexBuffer, _position, _rotation, _vertexBuffer, Graphics::VertexBuffer::draw(), Graphics::kRenderPassTransparent, pass, and TextureMan.
void Graphics::Aurora::GeometryObject::rotate | ( | float | x, |
float | y, | ||
float | z | ||
) |
Rotate the model, relative to its current rotation.
Definition at line 92 of file geometryobject.cpp.
References _rotation, and setRotation().
void Graphics::Aurora::GeometryObject::setPosition | ( | float | x, |
float | y, | ||
float | z | ||
) |
Set the current position of the model.
Definition at line 60 of file geometryobject.cpp.
References _position, calculateDistance(), Graphics::Renderable::lockFrameIfVisible(), Graphics::Renderable::resort(), and Graphics::Renderable::unlockFrameIfVisible().
Referenced by move().
void Graphics::Aurora::GeometryObject::setRotation | ( | float | x, |
float | y, | ||
float | z | ||
) |
Set the current rotation of the model.
Definition at line 74 of file geometryobject.cpp.
References _rotation, calculateDistance(), Graphics::Renderable::lockFrameIfVisible(), Graphics::Renderable::resort(), and Graphics::Renderable::unlockFrameIfVisible().
Referenced by rotate().
|
private |
Definition at line 64 of file geometryobject.h.
Referenced by render().
|
private |
Definition at line 66 of file geometryobject.h.
Referenced by GeometryObject(), getPosition(), move(), render(), and setPosition().
|
private |
Definition at line 67 of file geometryobject.h.
Referenced by GeometryObject(), getRotation(), render(), rotate(), and setRotation().
|
private |
Definition at line 63 of file geometryobject.h.
Referenced by render().