Assignments
Assignments
|
#include <scene.h>
Public Member Functions | |
void | init (void) |
template<typename ParameterType > | |
void | setKeyFrameEvaluator (void) |
void | setCurrentTime (double t, int curveFit) |
std::string | name (void) const |
void | init (const LocalSceneData &sceneData) |
void | initOpenGL (void) |
void | updateBoundingBox (void) |
bool | processFirstIntersection (const Util::Ray3D &ray, const Util::BoundingBox1D &range, const RayIntersectionFilter &rFilter, const RayIntersectionKernel &rKernel, ShapeProcessingInfo spInfo, unsigned int tIdx) const |
int | processAllIntersections (const Util::Ray3D &ray, const Util::BoundingBox1D &range, const RayIntersectionFilter &rFilter, const RayIntersectionKernel &rKernel, ShapeProcessingInfo spInfo, unsigned int tIdx) const |
void | processOverlapping (const Filter &filter, const Kernel &kernel, ShapeProcessingInfo tInfo) const |
bool | isInside (Util::Point3D p) const |
void | drawOpenGL (GLSLProgram *glslProgram) const |
Public Member Functions inherited from Ray::Shape | |
virtual | ~Shape (void) |
ShapeBoundingBox | boundingBox (void) const |
virtual void | init (const class LocalSceneData &data)=0 |
virtual void | addTrianglesOpenGL (std::vector< class TriangleIndex > &triangles) |
size_t | primitiveNum (void) const |
Private Member Functions | |
void | _write (std::ostream &stream) const |
void | _read (std::istream &stream) |
Private Attributes | |
LocalSceneData | _localData |
ShapeList | _shapeList |
Additional Inherited Members | |
Public Types inherited from Ray::Shape | |
typedef std::function< ShapeProcessingInfo::ProcessingType(const ShapeProcessingInfo &, const Shape &) > | Filter |
typedef std::function< void(const ShapeProcessingInfo &, const Shape &) > | Kernel |
typedef std::function< bool(double) > | RayIntersectionFilter |
typedef std::function< void(const ShapeProcessingInfo &, const class RayShapeIntersectionInfo &) > | RayIntersectionKernel |
Static Public Member Functions inherited from Ray::Shape | |
static void | WriteInset (std::ostream &stream) |
Static Public Attributes inherited from Ray::Shape | |
static unsigned int | OpenGLTessellationComplexity |
static unsigned int | WriteInsetSize = 0 |
Protected Attributes inherited from Ray::Shape | |
ShapeBoundingBox | _bBox |
size_t | _primitiveNum |
This class stores all of the information describing the geometry in a scene
|
privatevirtual |
This method reads the Shape from the stream (excluding the starting directive)
Implements Ray::Shape.
|
privatevirtual |
This method writes the Shape into the stream (including the starting directive)
Implements Ray::Shape.
|
virtual |
This method calls the necessary OpenGL commands to render the primitive.
Implements Ray::Shape.
void SceneGeometry::init | ( | const LocalSceneData & | sceneData | ) |
void SceneGeometry::init | ( | void | ) |
Initializes the scene geometry, transforming property indices to pointers
|
virtual |
This method should be called (once) after an OpenGL context has been created
Implements Ray::Shape.
Reimplemented in Ray::Scene.
|
virtual |
This method determines if a point is inside a shape. It is assumed that if the shape is not water-tight, the method returns false.
Implements Ray::Shape.
|
inlinevirtual |
This method returns the name of the shape
Implements Ray::Shape.
|
virtual |
This method processes all shapes which intersect the ray within the prescribed range and passing the rFilter test, invoking the rKernel kernel with the intersection information. The processing terminates early if the kernel returns false. The function returns the number of valid intersections.
Implements Ray::Shape.
Reimplemented in Ray::Scene.
|
virtual |
This method processes the first shape which intersect the ray within the prescribed range and passing the rFilter test, invoking the rKernel kernel with the intersection information. The function returns true if there was an intersection.
Implements Ray::Shape.
Reimplemented in Ray::Scene.
|
virtual |
This method process Shapes by calling the "kernel" function on every shape whose bounding box passes the "filter" test. The tInfo parameter stores the accumulation of transformations encountered when traversing the scene-graph. Note that the bounding box is in the coordinate frame of the node.
Reimplemented from Ray::Shape.
void SceneGeometry::setCurrentTime | ( | double | t, |
int | curveFit | ||
) |
This method updates the current time, changing the parameter values as needed
void Ray::SceneGeometry::setKeyFrameEvaluator | ( | void | ) |
This templated method sets the key frame evaluator using the prescribed type of parameter
|
virtual |
This method should be called to update the bounding boxes in the scene
Implements Ray::Shape.
|
private |
The local data
|
private |
The root of the scene-graph