Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

RayGina::CORE::RobBase Class Reference

The Abstract base class for all kind objects in rayGina like geometries, groups and acceleration structures! More...

#include <RobBase.hxx>

Inheritance diagram for RayGina::CORE::RobBase:

RayGina::CORE::RObject RayGina::CORE::RobAccelerator RayGina::CORE::RobGeometry RayGina::CORE::RobGroup RayGina::CORE::RobMesh RayGina::CORE::RobAABspXs RayGina::CORE::RobAABB RayGina::CORE::RobMeshTriangle RayGina::CORE::RobSphere RayGina::CORE::RobTriangle RayGina::CORE::RobMeshNormalsTriangle RayGina::CORE::RobMeshNormalsUVTriangle List of all members.

Public Member Functions

virtual ~RobBase ()
virtual const RBool intersect (RRay *ray)=0
 Methode to calc the intersection of an object with a single ray.
virtual const RBool occlude (const RRay *ray)=0
 Method to calc the intersection of an object with a single shadow ray.
virtual const RBool getRenderObjects (RobAccelerator *renderlist)=0
 adds several objects to the list that describe the geometry or the instance itself on simple objects

Detailed Description

The Abstract base class for all kind objects in rayGina like geometries, groups and acceleration structures!

This abstract class provides the interface to be implemented by a renderable rayGina object.

Author:
rayGina::CORE Developers

Definition at line 29 of file RobBase.hxx.


Constructor & Destructor Documentation

virtual RayGina::CORE::RobBase::~RobBase  )  [inline, virtual]
 

Definition at line 32 of file RobBase.hxx.


Member Function Documentation

virtual const RBool RayGina::CORE::RobBase::getRenderObjects RobAccelerator renderlist  )  [pure virtual]
 

adds several objects to the list that describe the geometry or the instance itself on simple objects

This method is for complex objects, compound objects or objects that needs a tesselation for efficient rayTracing It adds a representation of the object in the list by using one or more other geometries. Example: A tessalation of a NURBS-patch could add lots of triangles which approximate the NURBS-patch

Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobAccelerator, RayGina::CORE::RobGeometry, RayGina::CORE::RobGroup, RayGina::CORE::RobMesh, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle.

virtual const RBool RayGina::CORE::RobBase::intersect RRay ray  )  [pure virtual]
 

Methode to calc the intersection of an object with a single ray.

Parameters:
ray a pointer to the ray used for intersection calculation The Information for the found intersection (if there is one) will be saved in the ray
Return values:
true if the ray intersects the objeect and stores infos about intersection point within the ray
false if there is no intersection between the ray and the object => no raydata is been modified

Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobAABspXs, RayGina::CORE::RobAccelerator, RayGina::CORE::RobGeometry, RayGina::CORE::RobGroup, RayGina::CORE::RobMesh, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle.

virtual const RBool RayGina::CORE::RobBase::occlude const RRay ray  )  [pure virtual]
 

Method to calc the intersection of an object with a single shadow ray.

returns true if there is an intersection with the object and the given ray but NO information is saved in the ray

Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobAABspXs, RayGina::CORE::RobAccelerator, RayGina::CORE::RobGeometry, RayGina::CORE::RobGroup, RayGina::CORE::RobMesh, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle.


The documentation for this class was generated from the following file:
Generated on Sun Dec 2 17:01:11 2007 for rayGina by  doxygen 1.3.9.1