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

CSG Class Reference

Implicit composite solid shape. More...

#include <CSG.h>

Inherits ImplicitShape.

Inherited by SoftCSG.

Inheritance diagram for CSG:

Inheritance graph
[legend]
Collaboration diagram for CSG:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Operation { Union, Intersection, Difference }

Public Methods

 CSG ()
virtual ~CSG ()
real distance (const Vertex3 &v)
real intersect (const Ray &ray, real t=step, real T=infinity)
Vertex3 normal (const Vertex3 &v)
Color4 calculateShade (const SurfaceInfo &s, Vertex3 &transformed, Scene &scene)
void parseSymbol (Token &t, ObjectFile &file)
 Reads a single parameter sections inside the body of the object description. More...

void writeParams (ostream &stream)
 Writes all parameter sections inside the body of the object description. More...


Protected Types

typedef ImplicitShapeImplicitPointer

Protected Methods

real closestShape (const Vertex3 &v, ImplicitPointer &shape)
real intersectUnion (const Ray &ray, real t=step, real T=infinity)
void createSymbols ()
 Creates all parameter symbols that are used within the body of the object description.


Protected Attributes

Operation operation
vector< ImplicitShape * > array

Detailed Description

Implicit composite solid shape.


Member Function Documentation

void CSG::parseSymbol Token   t,
ObjectFile   file
[virtual]
 

Reads a single parameter sections inside the body of the object description.

Each object has a set of parameter names associated with it, called symbols. Symbols are declared inside the createSymbols method. The method parseSymbol expects the Token t to be such a symbol and reads the corresponding parameters. Unknown symbols are passed to its super class.

Parameters:
t  Token that is the current parameter symbol.
file  ObjectFile from which to read.
Precondition:
The file is opened for reading and is positioned just after the parameter name.
Postcondition:
The parameter section is read including the terminating semicolon (';').

Reimplemented from ImplicitShape.

Reimplemented in SoftCSG.

void CSG::writeParams ostream &    stream [virtual]
 

Writes all parameter sections inside the body of the object description.

This method writes all object parameters to ostream. Inhereting classes will always call super::writeParams().

Parameters:
stream  ostream to which to write.
Precondition:
stream is opened for writing.
Postcondition:
All object parameters are written.

Reimplemented from ImplicitShape.

Reimplemented in SoftCSG.


The documentation for this class was generated from the following files:
This documentation was generated using doxygen. If you have any comments or additions please mail me.