RiTriangle


[ Polygon | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION

Class Summary

class RiTriangle : public RiRayObject
{
public:
// Constructors and assignment
RiTriangle(const RiVector3 &p0, const RiVector3 &p1, const RiVector3 &p2);
// RiRayObject Members
RiInterval GetMinMax(const RiUnitVector3 &) const;
bool Shadow(RiRay3 &) const;
bool Intersect(RiRay3 &, RiRayHit &);
RiLightObject *BuildLightObject(const RiAffineTMatrix3 &mat);
RiReal ConditionalHit() const;
void SetNormals(const RiUnitVector3 &n0, const RiUnitVector3 &n1, const RiUnitVector3 &n2);
void SetUVs(const RiVector2 &uv0, const RiVector2 &uv1, const RiVector2 &uv2);
// Members
void UpdateHitAndRay(RiRay3 &ray, RiRayHit &hit, RiReal t, RiReal u, RiReal v);
void Accept(RiRayObjectVisitor &visitor);
void SetMaterial(RiMaterial *);
RiMaterial *GetMaterial();
protected:
}; // RiTriangle


DESCRIPTION


RiTriangle(const RiVector3 &p0, const RiVector3 &p1, const RiVector3 &p2);

Default Constructor

    RiTriangle(const RiVector3 &p0, const RiVector3 &p1, const RiVector3 &p2);

RiInterval GetMinMax(const RiUnitVector3 &) const;

General interface for acceleration querries such as bounding boxes and spheres.

    virtual RiInterval  GetMinMax(const RiUnitVector3 &) const;

bool Shadow(RiRay3 &) const;

Does the ray hit the object. Nothing more.

    virtual bool	Shadow(RiRay3 &) const;

bool Intersect(RiRay3 &, RiRayHit &);

Compute an intersection and return it and any other data in the RiRayHit structure.

    virtual bool	Intersect(RiRay3 &, RiRayHit &);

RiLightObject *BuildLightObject(const RiAffineTMatrix3 &mat);

Creates a new light for this object

    virtual RiLightObject  *BuildLightObject(const RiAffineTMatrix3 &mat);

RiReal ConditionalHit() const;

Estimated probability of hitting a primitive given that a ray hits this object's bounding box.

    virtual RiReal 	ConditionalHit() const;

void SetNormals(const RiUnitVector3 &n0, const RiUnitVector3 &n1, const RiUnitVector3 &n2);

Set the vertex normals

    void SetNormals(const RiUnitVector3 &n0, const RiUnitVector3 &n1, const RiUnitVector3 &n2);

void SetUVs(const RiVector2 &uv0, const RiVector2 &uv1, const RiVector2 &uv2);

Set the vertex uvs

    void SetUVs(const RiVector2 &uv0, const RiVector2 &uv1, const RiVector2 &uv2);

void UpdateHitAndRay(RiRay3 &ray, RiRayHit &hit, RiReal t, RiReal u, RiReal v);

Set up data in the hit structure

    void UpdateHitAndRay(RiRay3 &ray, RiRayHit &hit, RiReal t, RiReal u, RiReal v);

void Accept(RiRayObjectVisitor &visitor);

Accept a visitor to perform (structure preserving) actions on the hierarchy

    virtual void	  Accept(RiRayObjectVisitor &visitor);

void SetMaterial(RiMaterial *);

Set the material for the RiPolygon

    void SetMaterial(RiMaterial *);

RiMaterial *GetMaterial();

Get the material for the RiPolygon

    RiMaterial *GetMaterial();

All Members

public:
// Members
RiInterval GetMinMax(const RiUnitVector3 &) const; // pure virtual
bool Shadow(RiRay3 &) const; // pure virtual
bool Intersect(RiRay3 &, RiRayHit &); // pure virtual
void Accept(RiRayObjectVisitor &visitor); // pure virtual
RiLightObject *BuildLightObject(const RiAffineTMatrix3 &mat);
RiReal ConditionalHit() const;
// RiRayObject Members
void SetNormals(const RiUnitVector3 &n0, const RiUnitVector3 &n1, const RiUnitVector3 &n2);
void SetUVs(const RiVector2 &uv0, const RiVector2 &uv1, const RiVector2 &uv2);
// Members
void UpdateHitAndRay(RiRay3 &ray, RiRayHit &hit, RiReal t, RiReal u, RiReal v);
void SetMaterial(RiMaterial *);
RiMaterial *GetMaterial();
protected:

Ancestors

Inheritance chain for RiTriangle:


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:41 2000 .