#include <CSG.h>
Inherits ImplicitShape.
Inherited by SoftCSG.
Inheritance diagram for CSG:


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 ImplicitShape * | ImplicitPointer |
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 |
|
||||||||||||
|
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.
Reimplemented from ImplicitShape. Reimplemented in SoftCSG. |
|
|
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().
Reimplemented from ImplicitShape. Reimplemented in SoftCSG. |