class CSG

Provides a container for multiple objects and different set operations between them. More...

Definition#include <raytracer/csg.h>
InheritsObject3D [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Members

Private Types

Private Methods

Private Members


Detailed Description

Provides a container for multiple objects and different set operations between them.

enum csgtype {UNION, INTERSECT, MERGE}

csgtype

 CSG (csgtype t)

CSG

Constructs new empty CSG object.

Parameters:
ttype of set operation between members of the new CSG

 ~CSG ()

~CSG

 CSG (const CSG& c)

CSG

[private]

Copy constructor.

void  addObject (Object3D* o)

addObject

Add object to CSG member list.

void  close ()

close

Finish CSG object list creation. After calling this method no more object can be added to this CSG.

void  inverse ()

inverse

Reimplemented from Object3D.

void  prepareToRender ()

prepareToRender

Reimplemented from Object3D.

Object3D*  duplicate ()

duplicate

[const]

Reimplemented from Object3D.

void  listInside (const Vector3& location, InsideList& l)

listInside

[const]

Reimplemented from Object3D.

Intersection*  intersectUnBounded (const Ray &r)

intersectUnBounded

Reimplemented from Object3D.

Intersection*  intersectUnBounded (const Ray &r, DBL maxtime)

intersectUnBounded

Reimplemented from Object3D.

bool  isInsideAt (const Vector3 &locallocation)

isInsideAt

[const]

Reimplemented from Object3D.

static HitStatistics stat

stat

[private]

void  calculateBoundingBox ()

calculateBoundingBox

[private]

Calculates and creates a bounding box for the CSG if it is finit.

Node (class)

Node

[private]

One element of intersection queue.

CSGIntersection (class)

CSGIntersection

[private]

Describes Ray-CSG intersection.

int* listrefcount

listrefcount

vector<Object3D*> * objectlist

objectlist

csgtype type

type

bool isclosed

isclosed