Om
1.0.0
A universal framework for multimedia simulation
|
A class that represents an abstract renderable object. More...
#include <omGraphicsShape.h>
Public Member Functions | |
ShapeTypeID | getShapeTypeID () const |
Return an integer identifying the sub type of this shape. More... | |
const ShapeType & | getShapeType () const |
Return a reference to an object representing the type of this Shape. More... | |
Sphere3 | getBoundingSphere () const |
Return a bounding sphere for this transformable in its parent coordinate space. More... | |
const AABB3 & | getBoundingBox () const |
Return an axis-aligned bounding box that encompases this entire transformable in its parent coordinate space. More... | |
virtual void | updateBoundingBox () |
Update the shape's bounding box based on its current geometric representation. More... | |
virtual void | intersectRay (GraphicsRay &ray) const |
Trace a ray against this shape and compute the closest intersection. More... | |
virtual void | testRay (GraphicsRay &ray) const |
Trace a ray against this shape and determine if any intersection exist along the ray. More... | |
Public Member Functions inherited from om::graphics::base::Renderable | |
Renderable () | |
Create a new renderable object with the default renderable flags. More... | |
Renderable (const RenderableFlags &newFlags) | |
Create a new renderable object with the specified renderable flags. More... | |
RenderableFlags & | getFlags () |
Return a reference to an object that contains boolean parameters of the renderable. More... | |
const RenderableFlags & | getFlags () const |
Return an object that contains boolean parameters of the renderable. More... | |
void | setFlags (const RenderableFlags &newFlags) |
Set an object that contains boolean parameters of the renderable. More... | |
Bool | flagIsSet (RenderableFlags::Flag flag) const |
Return whether or not the specified boolan flag is set for this renderable. More... | |
Bool | flagsAreSet (const RenderableFlags &otherFlags) const |
Return whether or not all of the specified boolan flags are set for this renderable. More... | |
void | setFlag (RenderableFlags::Flag flag, Bool newIsSet=true) |
Set whether or not the specified boolan flag is set for this renderable. More... | |
Bool | getIsVisible () const |
Get whether or not the renderable and its children are visible in the scene. More... | |
void | setIsVisible (Bool newIsVisible) |
Set whether or not the renderable and its children are visible in the scene. More... | |
Bool | getShadowsEnabled () const |
Return whether or not this renderable can cast shadows. More... | |
void | setShadowsEnabled (Bool newCanCastShadows) |
Set whether or not this renderable can cast shadows. More... | |
virtual void | getRenderables (const shapes::RenderRequest &request, const Transform3 &worldTransform, shapes::RenderQueue &outputQueue) const =0 |
Process the renderable and add all child renderable objects to the output render queue. More... | |
Public Member Functions inherited from om::graphics::devices::GraphicsContextObject | |
virtual | ~GraphicsContextObject () |
Destory this graphics context object. More... | |
GraphicsContext * | getContext () const |
Return a pointer to the graphics context this context object is using to do rendering. More... | |
virtual void | setContext (GraphicsContext *newContext) |
Set a pointer to the graphics context this context object should use to do rendering. More... | |
void | clearContext () |
Clear the previous context from this object. More... | |
void | upload () |
Upload this resource's CPU representation to the GPU device. More... | |
virtual void | upload (UploadRequest &request) |
Upload this resource's CPU representation to the GPU device. More... | |
void | download () |
Upload this resource's CPU representation to the GPU device. More... | |
virtual void | download (DownloadRequest &request) |
Download the resource's GPU representation to CPU memory. More... | |
virtual Bool | isUploaded () const |
Return whether or not this graphics resource has been successfully created and uploaded to the device. More... | |
virtual Bool | isDownloaded () const |
Return whether or not this graphics resource has a copy of its data stored in CPU-side memory. More... | |
virtual Bool | isValid () const |
Return whether or not the state of this graphics resource is valid (either on CPU or GPU) and able to be used for rendering. More... | |
Static Public Attributes | |
static const ResourceType | RESOURCE_TYPE |
The resource type for a graphics shape. More... | |
Protected Member Functions | |
GraphicsShape (const ShapeType *newType) | |
Create a new shape with the specified type. More... | |
void | setBoundingBox (const AABB3 &newBoundingBox) |
Set the local axis-aligned bounding box for this shape. More... | |
Protected Member Functions inherited from om::graphics::devices::GraphicsContextObject | |
GraphicsContextObject () | |
Create a new graphics context object that doesn't have an associated graphics context. More... | |
GraphicsContextObject (GraphicsContext *newContext) | |
Create a new graphics context object that uses the specified context for rendering. More... | |
Additional Inherited Members | |
Protected Attributes inherited from om::graphics::base::Renderable | |
RenderableFlags | flags |
An object containing boolean configuration flags for this renderable. More... | |
Protected Attributes inherited from om::graphics::devices::GraphicsContextObject | |
GraphicsContext * | context |
A pointer to the graphics context this object is using. More... | |
A class that represents an abstract renderable object.
A shape object contains whatever information is necessary to render it to the screen. Every shape has a transformation which orients it relative to its parent coordinate frame.
|
inlineprotected |
Create a new shape with the specified type.
|
inline |
Return an integer identifying the sub type of this shape.
|
inline |
Return a reference to an object representing the type of this Shape.
|
inline |
Return a bounding sphere for this transformable in its parent coordinate space.
|
inline |
Return an axis-aligned bounding box that encompases this entire transformable in its parent coordinate space.
|
virtual |
Update the shape's bounding box based on its current geometric representation.
Reimplemented in om::graphics::shapes::BoxShape, om::graphics::shapes::CapsuleShape, om::graphics::shapes::CylinderShape, om::graphics::shapes::SkyBoxShape, om::graphics::shapes::GridShape, om::graphics::shapes::LODShape, om::graphics::shapes::TorusShape, om::graphics::shapes::MeshShape, om::graphics::shapes::SphereShape, om::graphics::shapes::TransformControl, and om::graphics::shapes::SphericalFunctionShape.
|
virtual |
Trace a ray against this shape and compute the closest intersection.
Reimplemented in om::graphics::shapes::BoxShape, om::graphics::shapes::CapsuleShape, om::graphics::shapes::CylinderShape, om::graphics::shapes::LODShape, om::graphics::shapes::MeshShape, om::graphics::shapes::TransformControl, om::graphics::shapes::SphereShape, and om::graphics::shapes::SubdivisionShape.
|
virtual |
Trace a ray against this shape and determine if any intersection exist along the ray.
Reimplemented in om::graphics::shapes::BoxShape, om::graphics::shapes::CapsuleShape, om::graphics::shapes::CylinderShape, om::graphics::shapes::LODShape, om::graphics::shapes::MeshShape, om::graphics::shapes::TransformControl, om::graphics::shapes::SphereShape, and om::graphics::shapes::SubdivisionShape.
|
inlineprotected |
Set the local axis-aligned bounding box for this shape.
Shape subclasses should call this method to set the bounding box of their geometry in their local coordinate frames.
|
static |
The resource type for a graphics shape.