Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Plane Class Reference

Class representing a simple rectangular plane. More...

#include <plane.h>

Inherits Primitive, and Intersectable.

Inheritance diagram for Plane:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Plane ()
 Creates a plane primitive.
 Plane (float u, float v, Material *m=0)
 Creates a plane primitive of size u x v, with material m.
virtual ~Plane ()
 Destroys the plane.
void setSize (float u, float v)
 Sets the size of the plane.
bool intersect (const Ray &ray) const
 Returns true if the ray intersects the plane.
bool intersect (const Ray &ray, Intersection &isect) const
 Returns true if the ray intersects the sphere.
void setMaterial (Material *m)
 Sets the material of the primitive to the material pointed to by m, or if m is 0, the material is set to the default material (diffuse gray).
MaterialgetMaterial () const
 Returns a pointer to the primitive's material.
void setTransform (Matrix &M)
 Manually set the local transform matrix to M.
void setTranslation (const Vector &T)
 Sets the translation of the node to T.
void setTranslation (float tx, float ty, float tz)
 Sets the translation of the node to (tx,ty,tz).
void setScale (float s)
 Sets the scale uniformly to s.
void setScale (const Vector &S)
 Sets the scale non-uniformly to S.
void setScale (float sx, float sy, float sz)
 Sets the scale non-uniformly to (sx,sy,sz).
void setRotation (const Vector &R)
 Sets the rotation about the x,y,z axes to the components of R.
void setRotation (float rx, float ry, float rz)
 Sets the rotation about the x,y,z axes to (rx,ry,rz) respectively.

Protected Types

typedef std::list< Node
* >::iterator 
t_itr
typedef std::list< Node
* >::const_iterator 
t_constitr

Protected Member Functions

void prepare ()
 Prepare plane for rendering.
void getGeometry (std::vector< Intersectable * > &geometry)
 Append all intersectable geometry in this object to the array.
void addChild (Node *child)
 Adds a node to the list of children.
bool hasChild (const Node *child) const
 Returns true if a specific node is a child of this node.
void setupTransform (const Matrix &world)
 Setup the local and world transform of the node.

Protected Attributes

float mSizeU
 Dimension along u (x-axis).
float mSizeV
 Dimension along v (z-axis).
Matrix mInvWorldTransform
 World->Object transform.
MaterialmMaterial
 Ptr to the material used by the primitive.
Vector mT
 Translation.
Vector mS
 Scale.
Vector mR
 Rotation.
bool mTransformSet
 True if the local transform has been setup.
Matrix mLocalTransform
 Local transform, created from the T,S,R parameters.
Matrix mWorldTransform
 Object->World transform (local + inherited transform).
std::list< Node * > mChildren
 List of children attached to the Node.

Detailed Description

Class representing a simple rectangular plane.

The plane is centered around origin, and lies in the x/z plane by default.


The documentation for this class was generated from the following files:
Generated on Tue Mar 14 09:46:41 2006 for ASR by  doxygen 1.4.4