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

RayGina::CORE::RobTriangle Class Reference

#include <RobTriangle.hxx>

Inheritance diagram for RayGina::CORE::RobTriangle:

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

Public Member Functions

virtual const RExtensiongetInstanceExtension () const
 RobTriangle (RVec3r c1, RVec3r c2, RVec3r c3)
 init a triangle with the given attributes
void set (RVec3r c1, RVec3r c2, RVec3r c3)
const RVec3r getEdge1 () const
const RVec3r getEdge2 () const
const RVec3r getEdge3 () const
virtual ~RobTriangle ()
 destructor
RssBasegetSurfaceShader () const
 Method to get the shader used for rendering the object.
const RStatus setSurfaceShader (RssBase *newShader)
 This methods sets the surface shader for the object that will be used when a valid intersection is found with this object.
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 RvsBasegetVolumeShader ()
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

Static Public Member Functions

const RExtension__getExtension ()

Static Private Member Functions

RObject_createInstance ()
RatStaticContainer_getAttributes ()
const RStatus _initialize (RatStaticContainer *attributes)

Private Attributes

RVec3r _c1
RVec3r _c2
RVec3r _c3
RssBase_shader

Static Private Attributes

const RExtension _extensionData

Constructor & Destructor Documentation

RayGina::CORE::RobTriangle::RobTriangle RVec3r  c1,
RVec3r  c2,
RVec3r  c3
[inline]
 

init a triangle with the given attributes

Definition at line 42 of file RobTriangle.hxx.

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

destructor

Definition at line 61 of file RobTriangle.hxx.


Member Function Documentation

const RExtension* RayGina::CORE::RobTriangle::__getExtension  )  [inline, static]
 

Definition at line 37 of file RobTriangle.hxx.

RObject* RayGina::CORE::RobTriangle::_createInstance  )  [inline, static, private]
 

Definition at line 17 of file RobTriangle.hxx.

RatStaticContainer* RayGina::CORE::RobTriangle::_getAttributes  )  [inline, static, private]
 

Definition at line 21 of file RobTriangle.hxx.

const RStatus RayGina::CORE::RobTriangle::_initialize RatStaticContainer attributes  )  [inline, static, private]
 

Definition at line 24 of file RobTriangle.hxx.

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

Implements RayGina::CORE::RobGeometry.

Definition at line 96 of file RobTriangle.hxx.

const RVec3r RayGina::CORE::RobTriangle::getEdge1  )  const [inline]
 

Definition at line 50 of file RobTriangle.hxx.

const RVec3r RayGina::CORE::RobTriangle::getEdge2  )  const [inline]
 

Definition at line 53 of file RobTriangle.hxx.

const RVec3r RayGina::CORE::RobTriangle::getEdge3  )  const [inline]
 

Definition at line 56 of file RobTriangle.hxx.

virtual const RExtension* RayGina::CORE::RobTriangle::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 34 of file RobTriangle.hxx.

const RVec3r RobTriangle::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.

Definition at line 71 of file RobTriangle.cxx.

virtual const RBool RayGina::CORE::RobTriangle::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 91 of file RobTriangle.hxx.

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

Method to get the shader used for rendering the object.

Every object can use a separate shader, so you can use this method to get the stored shader for this object and so you can use it for shading calculations.

Returns:
The pointer to the used shader; if there is no shader available the return value is NULL

Implements RayGina::CORE::RobGeometry.

Definition at line 63 of file RobTriangle.hxx.

virtual const RVec2r RayGina::CORE::RobTriangle::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.

Definition at line 86 of file RobTriangle.hxx.

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

Definition at line 75 of file RobTriangle.hxx.

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

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

Implements RayGina::CORE::RobGeometry.

Definition at line 20 of file RobTriangle.cxx.

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

!!!!!

!!!!!

!!!

!!!

Implements RayGina::CORE::RobGeometry.

Definition at line 81 of file RobTriangle.cxx.

const RBool RobTriangle::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 48 of file RobTriangle.cxx.

void RayGina::CORE::RobTriangle::set RVec3r  c1,
RVec3r  c2,
RVec3r  c3
[inline]
 

Definition at line 44 of file RobTriangle.hxx.

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

This methods sets the surface 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 66 of file RobTriangle.hxx.

virtual const RStatus RayGina::CORE::RobTriangle::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 72 of file RobTriangle.hxx.


Member Data Documentation

RVec3r RayGina::CORE::RobTriangle::_c1 [private]
 

Definition at line 28 of file RobTriangle.hxx.

RVec3r RayGina::CORE::RobTriangle::_c2 [private]
 

Definition at line 29 of file RobTriangle.hxx.

RVec3r RayGina::CORE::RobTriangle::_c3 [private]
 

Definition at line 30 of file RobTriangle.hxx.

const RExtension RobTriangle::_extensionData [static, private]
 

Initial value:

 RExtension(RExtension::SUPERCLASSID_PRIMITIVE,
                                                                                                                                1003,
                                                                                                                                1,
                                                                                                                                1,
                                                                                                                                "Triangle",
                                                                                                                                "RobTriangle",
                                                                                                                                "rayGina::CORE::Team",
                                                                                                                                "core@raygina.de",
                                                                                                                                "www.raygina.de",
                                                                                                                                RobTriangle::_createInstance,
                                                                                                                                RobTriangle::_initialize)

Definition at line 8 of file RobTriangle.cxx.

RssBase* RayGina::CORE::RobTriangle::_shader [private]
 

Definition at line 31 of file RobTriangle.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