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

RayGina::CORE::RobMeshTriangle Class Reference

#include <RobMeshTriangle.hxx>

Inheritance diagram for RayGina::CORE::RobMeshTriangle:

RayGina::CORE::RobGeometry RayGina::CORE::RobBase RayGina::CORE::RObject RayGina::CORE::RobMeshNormalsTriangle RayGina::CORE::RobMeshNormalsUVTriangle List of all members.

Public Member Functions

virtual const RExtensiongetInstanceExtension () const
 RobMeshTriangle (RobMesh *newMesh, RUInt32 newTriangleIndex)
 init a triangle with the given attributes
void set (RobMesh *newMesh, RUInt32 newTriangleIndex)
RobMeshgetMesh () const
virtual ~RobMeshTriangle ()
 destructor
RssBasegetSurfaceShader () const
 returns the surface shader for the triangle defined in the RobMesh
RvsBasegetVolumeShader () const
 returns the volume shader for the triangle defined in the RobMesh
const RStatus setSurfaceShader (RssBase *newShader)
virtual const RStatus setVolumeShader (RvsBase *newShader)
 This methods sets the volume shader for the object that will be used when a valid intersection is found with this object.
virtual const RBool intersect (RRay *ray)
 returns true if there is an intersection with the object and the given
virtual const RBool occlude (const RRay *ray)
 returns true if there is an intersection with the object and the given
virtual const RVec3r getNormal (RRay *ray)
 get the normal from the object according to the given ray
virtual const RVec2r getUV (RRay *ray)
 get the uv from the object according to the given ray
virtual const RBool getRenderObjects (RobAccelerator *renderlist)
 returns true if there is an intersection with the object and the given
virtual const RBool intersectAABB (RobAABB *voxel) const
virtual const RStatus getBoundingAABB (RobAABB *theBB) const
std::ostream & operator<< (std::ostream &os)
 prints out the important RRay data (DEBUGGING)

Protected Attributes

RobMesh_mesh
RUInt32 _triangleIndex

Constructor & Destructor Documentation

RayGina::CORE::RobMeshTriangle::RobMeshTriangle RobMesh newMesh,
RUInt32  newTriangleIndex
[inline]
 

init a triangle with the given attributes

Definition at line 37 of file RobMeshTriangle.hxx.

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

destructor

Definition at line 60 of file RobMeshTriangle.hxx.


Member Function Documentation

virtual const RStatus RayGina::CORE::RobMeshTriangle::getBoundingAABB RobAABB theBB  )  const [inline, virtual]
 

Implements RayGina::CORE::RobGeometry.

Definition at line 100 of file RobMeshTriangle.hxx.

virtual const RExtension* RayGina::CORE::RobMeshTriangle::getInstanceExtension  )  const [inline, virtual]
 

returns the RExtension for the instance If it returns NULL this instance is not able to act as an extension

Implements RayGina::CORE::RObject.

Definition at line 17 of file RobMeshTriangle.hxx.

RobMesh* RayGina::CORE::RobMeshTriangle::getMesh  )  const [inline]
 

Definition at line 55 of file RobMeshTriangle.hxx.

const RVec3r RobMeshTriangle::getNormal RRay ray  )  [virtual]
 

get the normal from the object according to the given ray

returns the normal from the surface according to the last intersection tes with the given ray THE GIVEN RAY MUST BE THE SAME LIKE THE ONE YOU PERFORMED THE LAST INTESECTION TEST WITH THE OBJECT!!

Implements RayGina::CORE::RobGeometry.

Reimplemented in RayGina::CORE::RobMeshNormalsTriangle.

Definition at line 68 of file RobMeshTriangle.cxx.

virtual const RBool RayGina::CORE::RobMeshTriangle::getRenderObjects RobAccelerator renderlist  )  [inline, virtual]
 

returns true if there is an intersection with the object and the given

Implements RayGina::CORE::RobGeometry.

Definition at line 95 of file RobMeshTriangle.hxx.

RssBase* RayGina::CORE::RobMeshTriangle::getSurfaceShader  )  const [inline, virtual]
 

returns the surface shader for the triangle defined in the RobMesh

Implements RayGina::CORE::RobGeometry.

Definition at line 63 of file RobMeshTriangle.hxx.

virtual const RVec2r RayGina::CORE::RobMeshTriangle::getUV RRay ray  )  [inline, virtual]
 

get the uv from the object according to the given ray

returns the uv from the surface according to the last intersection tes with the given ray THE GIVEN RAY MUST BE THE SAME LIKE THE ONE YOU PERFORMED THE LAST INTESECTION TEST WITH THE OBJECT!!

Implements RayGina::CORE::RobGeometry.

Reimplemented in RayGina::CORE::RobMeshNormalsUVTriangle.

Definition at line 89 of file RobMeshTriangle.hxx.

RvsBase* RayGina::CORE::RobMeshTriangle::getVolumeShader  )  const [inline, virtual]
 

returns the volume shader for the triangle defined in the RobMesh

Reimplemented from RayGina::CORE::RobGeometry.

Definition at line 67 of file RobMeshTriangle.hxx.

const RBool RobMeshTriangle::intersect RRay ray  )  [virtual]
 

returns true if there is an intersection with the object and the given

Implements RayGina::CORE::RobGeometry.

Definition at line 6 of file RobMeshTriangle.cxx.

const RBool RobMeshTriangle::intersectAABB RobAABB voxel  )  const [virtual]
 

!!!!!

!!!!!

!!!

!!!

Implements RayGina::CORE::RobGeometry.

Definition at line 84 of file RobMeshTriangle.cxx.

const RBool RobMeshTriangle::occlude const RRay ray  )  [virtual]
 

returns true if there is an intersection with the object and the given

Implements RayGina::CORE::RobGeometry.

Definition at line 39 of file RobMeshTriangle.cxx.

std::ostream& RayGina::CORE::RobMeshTriangle::operator<< std::ostream &  os  )  [inline]
 

prints out the important RRay data (DEBUGGING)

Definition at line 190 of file RobMeshTriangle.hxx.

void RayGina::CORE::RobMeshTriangle::set RobMesh newMesh,
RUInt32  newTriangleIndex
[inline]
 

Definition at line 40 of file RobMeshTriangle.hxx.

const RStatus RayGina::CORE::RobMeshTriangle::setSurfaceShader RssBase newShader  )  [inline, virtual]
 

You can NOT overwrite the shader from the RobMesh This fuction does nothing!

Implements RayGina::CORE::RobGeometry.

Definition at line 72 of file RobMeshTriangle.hxx.

virtual const RStatus RayGina::CORE::RobMeshTriangle::setVolumeShader RvsBase newShader  )  [inline, virtual]
 

This methods sets the volume shader for the object that will be used when a valid intersection is found with this object.

attach a shader to the object, the previous one will be overwritten (BUT NOT DELETED!) (ONLY 1 shader per object)

Parameters:
newShader DESCRIPTION!!!

Implements RayGina::CORE::RobGeometry.

Definition at line 77 of file RobMeshTriangle.hxx.


Member Data Documentation

RobMesh* RayGina::CORE::RobMeshTriangle::_mesh [protected]
 

Definition at line 13 of file RobMeshTriangle.hxx.

RUInt32 RayGina::CORE::RobMeshTriangle::_triangleIndex [protected]
 

Definition at line 14 of file RobMeshTriangle.hxx.


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