#include <VolRenLit.h>
Inheritance diagram for VolRenLit:
Algorithm | |
Set/Get the rendering algorithm, client strategy | |
virtual void | setAlg (VolRenAlgBase *vrab) |
virtual VolRenAlgBaseSP | getAlg () |
Slicer | |
Set/Get the currrent Slicer, client strategy | |
virtual void | setSlicer (VolSlicer *vslice) |
virtual VolSlicerSP | getSlicer () |
Set/Get sample spacing. | |
This is in volume model space, which is not the same as texture space. | |
virtual void | setSampleSpace (float sampleSpace) |
virtual float | getSampleSpace () |
Serialize/un... | |
virtual std::ostream & | saveSelf (std::ostream &os) |
serialize | |
virtual std::istream & | readSelf (std::istream &is) |
unserialize | |
Draw on/off. | |
bool | isOn () const |
void | setOn (bool yes) |
Delete. | |
Does this object need to be removed from a render list? This means that the object is finished and anyone with a smart pointer to it needs to delete the smart pointer and stop using the renderable. | |
bool | needsDelete () const |
void | setDelete (bool yes) |
Interaction Functions | |
Return true if the event was for you.
By default interaction is forwarded to your protected manipulator (_manip). To use it just apply it in your draw function. However, if you don't add any events or call setManipEventsDefault(), you won't have any interaction. Override these functions in your base class to implement custom behaviors. | |
virtual bool | key (unsigned char k, int x, int y) |
virtual bool | mouse (const gutz::MouseEvent &me) |
virtual bool | move (const gutz::MouseMoveEvent &mme) |
Selected | |
Is this object currently selected? | |
virtual void | setSelected (bool yes) |
bool | isSelected () const |
Manipulator Interface | |
gutz::Manip * | getManip () const |
void | setManip (gutz::Manip *const m) |
void | setManipEventsDefault () |
you have to call this to enable default interaction, OR customize the manipulators events yourself. | |
Text object-name | |
from SimBase | |
std::string | getObjName () |
std::string | getName () |
void | setName (std::string name) |
void | setName (const char *name) |
Debug prints | |
from SimBase: These print the object name with the error, mostly for convenience, but they are compiled to inline-no-op if you build in release mode | |
void | derr (const char *when, const char *where=0) const |
template<class T> void | derr (const char *when, const char *where, const T stuff) const |
Modification, AKA "changed" | |
from SimBase: id based, you can capture the current id for comparison later, if the id's don't match the class has been changed | |
virtual int | getChangeID () |
virtual int | getChangeID () const |
virtual void | setChanged () |
Public Member Functions | |
VolRenLit () | |
Construct. | |
virtual | ~VolRenLit () |
virtual void | init () |
initialize | |
void | draw (const gutz::RenderEvent &re) |
Slice polytopes and render. | |
gutz::vec3f | getCenter (const gutz::CameraEvent &ce) const |
Get the center of the volume rendered, given a specific camera. | |
void | addLight (gutz::Light *lt) |
Light management, TODO: need a light class, yo. | |
gutz::Light * | getLight (int i) |
gutz::LightVec | getLightVec () |
void | setLightVec (gutz::LightVec <v) |
unsigned int | getNumLights () |
void | enableLight (bool on) |
Lighting on/off. | |
void | enableLTHA (bool on) |
Light transport using half angle on/off. | |
VolumeSP | getVolume () const |
void | setVolume (Volume *v) |
Protected Member Functions | |
virtual void | drawDef (const gutz::RenderEvent &re) |
draw the volume | |
virtual gutz::vec3f | genSliceAxis (unsigned int light, gutz::vec3f volCtr) |
get the slice axis | |
virtual void | preSlice (const gutz::RenderEvent &re) |
a couple of no-ops for sub-classes | |
virtual void | postSlice (const gutz::RenderEvent &re) |
virtual void | rotateSampBuffs () |
Rotate sample buffers, tripple buffered. | |
void | err (char *when, float v=0.0f, char *where=0) |
virtual void | _incCount () |
gutz::Counted interface, increment reference count by one. | |
virtual void | _decCount () |
gutz::Counted interface, decrement reference count by one. | |
virtual int | _getCount () const |
gutz::Counted interface, get the current reference count. | |
Protected Attributes | |
VolRenAlgBaseSP | _currentAlg |
Stratagies. | |
VolSlicerSP | _currentSlicer |
VolumeSP | _v |
Member data. | |
VolytopeSP | _vt |
VolSamplesVec | _vsv |
int | _vsBuff |
gutz::LightVec | _ltv |
which sample buffer are we about to render from? | |
gutz::vec3f | _sliceDir |
bool | _lightOn |
bool | _lthaOn |
bool | _on |
is this renderable currently "render-able"? | |
bool | _selected |
is this renderable selected? | |
bool | _deleteMe |
does this object need to be deleted? | |
gutz::ManipSP | _manip |
You get a manipulator free, no charge. | |
std::string | _name_ |
a text name for the object, SimBase | |
int | _changed |
change id, incremented whenever setChanged is called, SimBase | |
Friends | |
class | SmartPtr |
class | SmartPtrRef |
|
Construct.
Definition at line 43 of file VolRenLit.cpp. |
|
Definition at line 47 of file VolRenLit.cpp. |
|
gutz::Counted interface, decrement reference count by one. Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr Definition at line 54 of file smartptr.h. Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax(). |
|
gutz::Counted interface, get the current reference count. Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Definition at line 58 of file smartptr.h. |
|
gutz::Counted interface, increment reference count by one. Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr Definition at line 48 of file smartptr.h. Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax(). |
|
Light management, TODO: need a light class, yo.
Definition at line 109 of file VolRenBase.h. References VolRenBase::_ltv. |
|
only prints in debug mode, -D_DEBUG Definition at line 130 of file simBase.h. References SimBase::_name_. |
|
|
Slice polytopes and render.
Implements Renderable. Definition at line 53 of file VolRenBase.h. References VolRenBase::drawDef(), and gutz::RenderEvent::picking(). Referenced by drawDef(), and VolRenCube::drawDef(). |
|
draw the volume
Reimplemented from VolRenBase. Definition at line 62 of file VolRenLit.cpp. References VolRenBase::draw(). |
|
Lighting on/off.
Definition at line 115 of file VolRenBase.h. References VolRenBase::_lightOn. |
|
Light transport using half angle on/off.
Definition at line 117 of file VolRenBase.h. References VolRenBase::_lthaOn. |
|
Definition at line 190 of file VolRenBase.cpp. References v. |
|
get the slice axis
Reimplemented from VolRenBase. Definition at line 72 of file VolRenLit.cpp. References VolRenBase::_ltv, gutz::vec3f, gutz::vec3f_neg_z, and gutz::vec3f_z. |
|
Definition at line 70 of file VolRenBase.h. References VolRenBase::_currentAlg. |
|
Get the center of the volume rendered, given a specific camera.
Definition at line 165 of file VolRenBase.cpp. References VolRenBase::_v, gutz::CameraEvent::getCamera(), and gutz::CameraEvent::getManip(). |
|
Definition at line 73 of file simBase.h. References SimBase::_changed. |
|
Reimplemented in TFGeneric, TFBaseSP, and TFEltSP. Definition at line 72 of file simBase.h. References SimBase::_changed. Referenced by TFEltSP::getChangeID(), TFBaseSP::getChangeID(), and TFGeneric::getChangeID(). |
|
Definition at line 110 of file VolRenBase.h. References VolRenBase::_ltv. |
|
Definition at line 111 of file VolRenBase.h. References VolRenBase::_ltv. |
|
Definition at line 184 of file Renderable.h. References Renderable::_manip. |
|
Definition at line 45 of file simBase.h. References SimBase::_name_. Referenced by MetaProg::operator<<(). |
|
Definition at line 113 of file VolRenBase.h. References VolRenBase::_ltv. |
|
Definition at line 44 of file simBase.h. References string. |
|
Definition at line 89 of file VolRenBase.h. References VolRenBase::_currentSlicer. |
|
Definition at line 78 of file VolRenBase.h. References VolRenBase::_currentSlicer. |
|
Definition at line 119 of file VolRenBase.h. References VolRenBase::_v. |
|
initialize
Reimplemented from VolRenBase. Definition at line 54 of file VolRenLit.cpp. References VolRenBase::init(). |
|
Definition at line 141 of file Renderable.h. References Renderable::_on. |
|
Definition at line 177 of file Renderable.h. References Renderable::_selected. |
|
Definition at line 166 of file Renderable.h. |
|
Reimplemented in WidgetItem. Definition at line 167 of file Renderable.h. References Renderable::_manip. |
|
Reimplemented in WidgetItem. Definition at line 168 of file Renderable.h. References Renderable::_manip. |
|
Definition at line 152 of file Renderable.h. References Renderable::_deleteMe. |
|
Reimplemented in AnalyticVolRen, and VolRenSlab. Definition at line 139 of file VolRenBase.h. Referenced by VolRenBase::drawDef(). |
|
a couple of no-ops for sub-classes
Reimplemented in VolRenSlab. Definition at line 137 of file VolRenBase.h. Referenced by VolRenBase::drawDef(). |
|
unserialize
Reimplemented from SimBase. Definition at line 101 of file VolRenBase.h. |
|
Rotate sample buffers, tripple buffered.
Definition at line 143 of file VolRenBase.h. References VolRenBase::_vsBuff. |
|
serialize
Reimplemented from SimBase. Definition at line 99 of file VolRenBase.h. |
|
Definition at line 180 of file VolRenBase.cpp. References VolRenBase::_currentAlg. |
|
Definition at line 74 of file simBase.h. References SimBase::_changed. Referenced by TFEltSP::getChangeID(), TFBaseSP::getChangeID(), TFBaseSP::operator=(), and TFGeneric::update(). |
|
Definition at line 153 of file Renderable.h. References Renderable::_deleteMe, and Renderable::setOn(). |
|
Definition at line 112 of file VolRenBase.h. References VolRenBase::_ltv. |
|
Definition at line 185 of file Renderable.h. References Renderable::_manip. |
|
you have to call this to enable default interaction, OR customize the manipulators events yourself.
Definition at line 188 of file Renderable.h. References Renderable::_manip. |
|
Definition at line 47 of file simBase.h. References SimBase::_name_, and name. |
|
Reimplemented in Key. Definition at line 46 of file simBase.h. References SimBase::_name_, and name. Referenced by EventData::EventData(), and GenDataObj_base< Nrro, gutz::SmartPtr< Nrro > >::GenDataObj_base(). |
|
Definition at line 142 of file Renderable.h. References Renderable::_on. Referenced by Renderable::setDelete(). |
|
Definition at line 87 of file VolRenBase.h. References VolRenBase::_currentSlicer. |
|
Definition at line 176 of file Renderable.h. References Renderable::_selected. |
|
Definition at line 185 of file VolRenBase.cpp. References VolRenBase::_currentSlicer. |
|
Definition at line 120 of file VolRenBase.h. References VolRenBase::_v, and v. |
|
Definition at line 40 of file smartptr.h. Referenced by Nrro::NrroIter< T >::NrroIter(). |
|
Definition at line 41 of file smartptr.h. |
|
change id, incremented whenever setChanged is called, SimBase
Definition at line 103 of file simBase.h. Referenced by SimBase::getChangeID(), SimBase::setChanged(), and SimBase::SimBase(). |
|
Stratagies.
Definition at line 148 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), VolRenBase::getAlg(), VolRenBase::init(), VolRenBase::setAlg(), and VolRenBase::~VolRenBase(). |
|
Definition at line 149 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), VolRenBase::getSampleSpace(), VolRenBase::getSlicer(), VolRenBase::init(), AnalyticVolRen::postSlice(), VolRenBase::setSampleSpace(), and VolRenBase::setSlicer(). |
|
does this object need to be deleted?
Definition at line 237 of file Renderable.h. Referenced by Renderable::needsDelete(), Renderable::Renderable(), and Renderable::setDelete(). |
|
Definition at line 166 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), and VolRenBase::enableLight(). |
|
Definition at line 166 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), and VolRenBase::enableLTHA(). |
|
which sample buffer are we about to render from?
Definition at line 162 of file VolRenBase.h. Referenced by VolRenBase::addLight(), VolRenBase::drawDef(), genSliceAxis(), VolRenBase::getLight(), VolRenBase::getLightVec(), VolRenBase::getNumLights(), and VolRenBase::setLightVec(). |
|
|
a text name for the object, SimBase
Definition at line 101 of file simBase.h. Referenced by SimBase::derr(), SimBase::getName(), SimBase::setName(), and SimBase::SimBase(). |
|
is this renderable currently "render-able"?
Definition at line 235 of file Renderable.h. Referenced by Renderable::isOn(), Renderable::operator=(), Renderable::Renderable(), and Renderable::setOn(). |
|
is this renderable selected?
Definition at line 236 of file Renderable.h. Referenced by Renderable::isSelected(), Renderable::Renderable(), and Renderable::setSelected(). |
|
Definition at line 164 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), and AnalyticVolRen::postSlice(). |
|
Member data.
Definition at line 155 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), VolRenBase::getCenter(), VolRenBase::getVolume(), and VolRenBase::setVolume(). |
|
Definition at line 160 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), AnalyticVolRen::postSlice(), and VolRenBase::rotateSampBuffs(). |
|
Definition at line 159 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), AnalyticVolRen::postSlice(), and VolRenBase::VolRenBase(). |
|
Definition at line 157 of file VolRenBase.h. Referenced by VolRenBase::drawDef(), and AnalyticVolRen::postSlice(). |