Inheritance diagram for RayBox:
Public Member Functions | |
int | read (FILE *fp, int *materialIndex) |
void | write (int indent, FILE *fp=stdout) |
double | intersect (Ray3D ray, struct RayIntersectionInfo &iInfo, double mx=-1) |
BoundingBox3D | setBoundingBox (void) |
void | setUpOpenGL (int cplx, int setCallList) |
int | drawOpenGL (int materialIndex) |
Public Attributes | |
Point3D | center |
Point3D | length |
RayMaterial * | material |
|
This method calls the necessary OpenGL commands to render the primitive. Implements RayShape. |
|
This method computes the intersection of the shape with the ray. If the ray hits the shape and either mx is less than zero or the intersection occurs at a distance less than t along the ray the intersection information in iInfo is set and a value greater than 0 is returned. Otherwise, -1 is returned. (This is useful for shadow testing when you may want to ignore hits beyond a certain distance). Either way the isectCounter is incremented by one. Implements RayShape. |
|
This method reads in a RayBox from a .ray file. A pointer to the material associated to the triangle is set. |
|
This method sets and returns a bounding box containing the shape. Implements RayShape. |
|
This method sets up all the stuff that's necessary prior to OpenGL rendering. The value cplx represents the desired resolution of tessalation for objects such as spheres, cylinders, etc.. Implements RayShape. |
|
This method writes the RayShape out to a .ray file, indenting the output by the specified amount. If no file is specified, the information gets written to stdout. Implements RayShape. |
|
The center of the box |
|
The lengths of the sides of the box |
|
The material associated with the box |