class CameraRay

Global ray emitted by camera. More...

Definition#include <raytracer/cameraray.h>
InheritsRay [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Private Types

Private Methods

Private Members


Detailed Description

Global ray emitted by camera.

 CameraRay (const Vector3 o, const Vector3 d, Scene* s, InsideList* l)

CameraRay

Constructs new camera ray.

Parameters:
oray's origin
dray's direction
sscene belonging to ray
llist of object which is the ray inside at origin

 ~CameraRay ()

~CameraRay

 CameraRay (const CameraRay& r)

CameraRay

Copy constructor.

CameraRay&  operator= (const CameraRay&)

operator=

[private]

FLT  getWeight ()

getWeight

Returns ray's contribution factor to the resulting colour.

void  scaleWeight (FLT s)

scaleWeight

Scale ray's contribution factor.

Parameters:
sfactor

bool  shoot ()

shoot

Shoot ray. Calculate the ray-scene intersection.

bool  refract (FLT weightmult)

refract

Refract ray.

Parameters:
weightmultfactor for colour weight reduction

Returns: true if total reflection has occured else false

void  reflect (FLT weightmult)

reflect

Reflect ray.

Parameters:
weightmultfactor for colour weight reduction

Vector3  normal ()

normal

[const]

Returns object's surface normal at intersection

Texture*  texture ()

texture

[const]

Returns object's texture at intersection

Vector3  hitpoint ()

hitpoint

[const]

Returns the intersection point.

Colour3  evaluateMedia (Colour3& absorb)

evaluateMedia

[const]

Evaluate media interval. Calculates the colour contribution by the interval between ray's origin and hitpoint.

InsideList*  getInside ()

getInside

[const]

Get list of objects which the ray is inside in.

enum hitstatustype {NONE, OWN, OLD}

hitstatustype

[private]

static HitStatistics statcount

statcount

[private]

static HitStatistics statref

statref

[private]

Vector3 norm

norm

[private]

Scene* myscene

myscene

[private]

InsideList* inside

inside

[private]

Intersection* hit

hit

[private]

DBL htime

htime

[private]

DBL ltime

ltime

[private]

Holds surface normal at intersection after shoot() has been invoked and an intersection been found.

Vector3 hpoint

hpoint

[private]

hitstatustype hitstatus

hitstatus

[private]

int tracelevel

tracelevel

[private]

FLT weight

weight

[private]

void  getIntersectionInfo ()

getIntersectionInfo

[private]

Holds surface normal at intersection after shoot() has been invoked and an intersection been found.

void  deleteIntersectionInfo ()

deleteIntersectionInfo

[private]