My Project
Public Member Functions | Public Attributes | List of all members
RayTriangle Class Reference

#include <rayTriangle.h>

Inheritance diagram for RayTriangle:
RayShape

Public Member Functions

int read (FILE *fp, int *materialIndex, RayVertex *vList, int vSize)
 
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 drawOpenGL (int materialIndex)
 
- Public Member Functions inherited from RayShape
virtual int isStatic (void)
 

Public Attributes

class RayVertexv [3]
 
class RayMaterialmaterial
 
- Public Attributes inherited from RayShape
BoundingBox3D bBox
 
int openGLComplexity
 

Detailed Description

This class represents a triangle and is specified by three pointers to the three vertices that define it.

Member Function Documentation

int RayTriangle::drawOpenGL ( int  materialIndex)
virtual

This method calls the necessary OpenGL commands to render the primitive.

Implements RayShape.

double RayTriangle::intersect ( Ray3D  ray,
struct RayIntersectionInfo iInfo,
double  mx = -1 
)
virtual

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 mx 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).

Implements RayShape.

int RayTriangle::read ( FILE *  fp,
int *  materialIndex,
RayVertex vList,
int  vSize 
)

This method reads in a RayTriangle from a .ray file. A pointer to the material associated to the triangle is set. The vertex positions are determined by reading in the vertex indices from the file and then looking them up in the vertex list vList

BoundingBox3D RayTriangle::setBoundingBox ( void  )
virtual

This method sets and returns a bounding box containing the shape.

Implements RayShape.

void RayTriangle::setUpOpenGL ( int  cplx)
virtual

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.

void RayTriangle::write ( int  indent,
FILE *  fp = stdout 
)
virtual

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.

Member Data Documentation

class RayMaterial* RayTriangle::material

The material associated with the triangle

class RayVertex* RayTriangle::v[3]

The vertices of the triangle


The documentation for this class was generated from the following files: