When a shadow casting scene object is added into the Shadow Manager, a new node called Shadow Caster is created for it. It contains object's model and it is a parent node of all object's shadow volume nodes.
Definition at line 71 of file SoShadowCaster.h.
Public Member Functions | |
SoShadowCaster (CShadowManager *sm, SoSeparator *or) | |
Constructor. | |
~SoShadowCaster () | |
Destructor. | |
SoSeparator * | getObjectNode () |
Returns object node pointer. | |
CObjectModel * | getObjectModel () |
Set object move flag. | |
SbMatrix * | getMatrix () |
Set object move flag. | |
void | setCasterName (int objectIndex) |
Sets caster name index and the name of the node. | |
int | getCasterName () |
Gets caster name index. | |
void | setMoveSensor (SoPathSensor *sensor) |
Sets object move sensor. | |
void | setShapeSensor (SoNodeSensor *sensor) |
Sets object moveSensor geom. | |
SoPathSensor * | getMoveSensor () |
Gets object move sensor. | |
SoNodeSensor * | getShapeSensor () |
Gets object shape sensor. | |
void | createFaceModel () |
Create indexed Face Set model of the object in it's local coords. | |
void | showFaceModel () |
Adds object model to the scene graph. | |
void | createShadowVolumes () |
Re-computes all shadow volumes of this object and all lights. | |
void | setMoved (bool m) |
Set object move flag. | |
bool | moved () |
Return object move flag. | |
Public Attributes | |
CObjectModel * | objectModel |
Object model. | |
SbMatrix | trMatrix |
Actual transformation matrix of the object. | |
SbMatrix | trMatrixOld |
Previous transformation matrix of the object. | |
SoPath * | path |
Path from scene root to the object node. | |
SoSeparator * | objectRoot |
Shadow casting object root node. | |
Private Member Functions | |
bool | getTransformationMatrix () |
Finds and updates model's transformation matrix. | |
Private Attributes | |
CShadowManager * | manager |
Pointer to shadow manager. | |
int | nameIndex |
Object name index. | |
SoPathSensor * | moveSensor |
Sensor of object movement. | |
SoNodeSensor * | shapeSensor |
Sensor of object change. | |
bool | hasMoved |
Object move flag. |
|
Constructor.
Definition at line 44 of file SoShadowCaster.cpp. References getTransformationMatrix(), hasMoved, moveSensor, nameIndex, objectModel, path, and shapeSensor. |
|
Destructor.
Definition at line 61 of file SoShadowCaster.cpp. References moveSensor, and shapeSensor. |
|
Finds and updates model's transformation matrix. Stores previous one before. Definition at line 202 of file SoShadowCaster.cpp. References ONDEBUG, trMatrix, and trMatrixOld. Referenced by createShadowVolumes(), and SoShadowCaster(). |
|
Returns object node pointer.
Definition at line 73 of file SoShadowCaster.cpp. References objectRoot. |
|
Set object move flag.
Definition at line 240 of file SoShadowCaster.cpp. References objectModel. Referenced by SoShadowVolume::create(). |
|
Set object move flag.
Definition at line 231 of file SoShadowCaster.cpp. References trMatrix. Referenced by SoShadowVolume::create(). |
|
Sets caster name index and the name of the node.
Definition at line 84 of file SoShadowCaster.cpp. References nameIndex, and ONDEBUG. Referenced by CShadowManager::addObject(). |
|
Gets caster name index.
Definition at line 100 of file SoShadowCaster.cpp. References nameIndex. Referenced by CShadowManager::addObject(), CShadowManager::objectShapeCallback(), and SoShadowVolume::SoShadowVolume(). |
|
Sets object move sensor.
Definition at line 111 of file SoShadowCaster.cpp. References moveSensor. Referenced by CShadowManager::addObject(). |
|
Sets object moveSensor geom. change.
Definition at line 133 of file SoShadowCaster.cpp. References shapeSensor. Referenced by CShadowManager::addObject(). |
|
Gets object move sensor.
Definition at line 122 of file SoShadowCaster.cpp. References moveSensor. |
|
Gets object shape sensor.
Definition at line 144 of file SoShadowCaster.cpp. References shapeSensor. |
|
Create indexed Face Set model of the object in it's local coords.
Definition at line 153 of file SoShadowCaster.cpp. References CObjectModel::createFaceModel(), objectModel, and showFaceModel(). Referenced by CShadowManager::objectMoveCallback(), and CShadowManager::objectShapeCallback(). |
|
Adds object model to the scene graph. For debug purposes only. Definition at line 167 of file SoShadowCaster.cpp. References CObjectModel::getFaceModelNode(), CShadowManager::getSceneRoot(), manager, and objectModel. Referenced by createFaceModel(). |
|
Re-computes all shadow volumes of this object and all lights.
Definition at line 271 of file SoShadowCaster.cpp. References CShadowManager::createCasterVolumes(), getTransformationMatrix(), manager, and ONDEBUG. Referenced by CShadowManager::objectMoveCallback(), and CShadowManager::objectShapeCallback(). |
|
Set object move flag.
Definition at line 251 of file SoShadowCaster.cpp. References hasMoved. Referenced by SoShadowVolume::create(), and CShadowManager::objectMoveCallback(). |
|
Return object move flag.
Definition at line 262 of file SoShadowCaster.cpp. References hasMoved. Referenced by SoShadowVolume::create(). |
|
Object model.
Definition at line 75 of file SoShadowCaster.h. Referenced by createFaceModel(), getObjectModel(), showFaceModel(), and SoShadowCaster(). |
|
Actual transformation matrix of the object.
Definition at line 77 of file SoShadowCaster.h. Referenced by SoShadowVolume::create(), getMatrix(), and getTransformationMatrix(). |
|
Previous transformation matrix of the object.
Definition at line 79 of file SoShadowCaster.h. Referenced by SoShadowVolume::create(), and getTransformationMatrix(). |
|
Path from scene root to the object node.
Definition at line 81 of file SoShadowCaster.h. Referenced by CShadowManager::addObject(), and SoShadowCaster(). |
|
Shadow casting object root node.
Definition at line 83 of file SoShadowCaster.h. Referenced by getObjectNode(). |
|
Pointer to shadow manager.
Definition at line 87 of file SoShadowCaster.h. Referenced by createShadowVolumes(), and showFaceModel(). |
|
Object name index.
Definition at line 89 of file SoShadowCaster.h. Referenced by getCasterName(), setCasterName(), and SoShadowCaster(). |
|
Sensor of object movement.
Definition at line 91 of file SoShadowCaster.h. Referenced by getMoveSensor(), setMoveSensor(), SoShadowCaster(), and ~SoShadowCaster(). |
|
Sensor of object change.
Definition at line 93 of file SoShadowCaster.h. Referenced by getShapeSensor(), setShapeSensor(), SoShadowCaster(), and ~SoShadowCaster(). |
|
Object move flag.
Definition at line 95 of file SoShadowCaster.h. Referenced by moved(), setMoved(), and SoShadowCaster(). |