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

SoftCSG Class Reference

Implicit soft CSG. More...

#include <SoftCSG.h>

Inherits CSG.

Inheritance diagram for SoftCSG:

Inheritance graph
[legend]
Collaboration diagram for SoftCSG:

Collaboration graph
[legend]
List of all members.

Public Types

enum  BlendFunction {
  SqrtBlend, OneOverBlend, WaveBlend, CosBlend,
  SqrBlend, FlatBlend
}
 Implicit blend fuctions. More...


Public Methods

 SoftCSG ()
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 Methods

void createSymbols ()
 Creates all parameter symbols that are used within the body of the object description.

real blend (real x)
 .


Protected Attributes

bool blendShade
real n
BlendFunction type

Detailed Description

Implicit soft CSG.


Member Enumeration Documentation

enum SoftCSG::BlendFunction
 

Implicit blend fuctions.

Enumeration values:
SqrtBlend  .
OneOverBlend  .
WaveBlend  .
CosBlend  .
SqrBlend  .
FlatBlend  .


Member Function Documentation

void SoftCSG::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 CSG.

void SoftCSG::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 CSG.


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.