arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

ColorMapper Class Reference

#include <ColorMapper.h>

Inheritance diagram for ColorMapper:

SourceObj SourceObjIF AlgObj AlgObjIF SimModObjIF SimCore gutz::Counted SimBase List of all members.

Detailed Description

base class for color mapping, also implments some basic color mapping schemes

Definition at line 30 of file ColorMapper.h.

framework interfaces NOT FOR GENERAL USE.

do not call from user programs/modules

virtual void update_ (gutz::SmartPtr< DataObjIF > d)=0
 input data modified notification


Modified interface

bool isModified () const
void setModified (bool mod=true)

Serialization

TODO: should be pure virtual, SOON

virtual std::ostream & saveSelf (std::ostream &os)
 serialize

virtual std::istream & readSelf (std::istream &is)
 unserialize


Forward Modify interface, NOT FOR GENERAL USE.

framework interface.

bool isForwardModified ()
 is this thing aready marked for future update?


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 Types

enum  COLOR_MAPS { GREY_SCALE_RGB = 1<<0, RAINBOW_RGB = 1<<2 }
 can be or'ed together! More...


Public Member Functions

 ColorMapper ()
 construction

virtual ~ColorMapper ()
 destruction

virtual void setInput (NrroDataObjSP n)
 set Input

virtual NrroDataObjSP getOutput ()
 get Output

virtual void setColorMap (int mapId)
virtual int getColorMap ()
virtual void setWinLevRGB (bool onoff=true)
 window/level settings, turn window/level on(true) and off(false)

virtual void setWinLevRGB (float window, float level)
 set the window/level

virtual float getWindowRGB ()
 get the window level

virtual float getLevelRGB ()
virtual void setWinLevA (bool onoff=true)
 turn alpha window/level on(true) and off(false)

virtual void setWinLevA (float window, float level)
virtual float getWindowA ()
virtual float getLevelA ()
unsigned int getNumOutputs () const
virtual void execute ()
 Public Execute Interface Execute if anything changed DO NOT override this if you don't know what you are doing, use "execDef()" this will get called by these!

virtual void force ()
 Execute no matter what!, unless you are going to get an update later.

virtual void setForwardModified ()
 update interface

virtual bool request (DataObjSP d)
 request interface

unsigned int getNumInputs () const
void update_ (DataObjSP d)
 update interface update when data changes


Protected Member Functions

virtual void execDef ()
 execute Definition

virtual void mapGrey (NrroDataObjSP out, NrroDataObjSP in)
 Grey scale.

void updateOutputs ()
 Protected Member functions.

void addOutput (DataObjSP d)
 add Output

void delOutput (DataObjSP d)
 del Output

bool isOutput (const DataObjSP d) const
 is Output

void setNumOutputs (int nOut)
 Set Number Outputs.

void setOutputN (int outNum, DataObjSP d)
 set Output number "N"

DataObjIFgetOutputN (int outNum)
 returns raw pointer to facilitate easier dynamic_cast<YOUR_DATA_TYPE>

virtual bool checkInputs ()
 true if data is current, false if not

virtual bool inputsModified ()
 check if we have modified inputs

void addInput (DataObjSP d)
 manipulate inputs

void delInput (DataObjSP d)
 Del Input.

bool isInput (const DataObjSP d) const
 isInput

void setNumInputs (int nInputs)
 SetNumInputs.

void setInputN (int inNum, DataObjSP d)
 Set Input "N".

DataObjIFgetInputN (int inNum)
 returns raw pointer to facilitate easier dynamic_cast<YOUR_DATA_TYPE>

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

int _mapId
bool _autoRGB
bool _autoA
float _windowRGB
float _levelRGB
float _windowA
float _levelA
bool _forwardUpdate
bool _modified
bool _forward
bool _updating
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


Member Enumeration Documentation

enum ColorMapper::COLOR_MAPS
 

can be or'ed together!

Enumeration values:
GREY_SCALE_RGB 
RAINBOW_RGB 

Definition at line 39 of file ColorMapper.h.


Constructor & Destructor Documentation

ColorMapper::ColorMapper  ) 
 

construction

Definition at line 26 of file ColorMapper.cpp.

ColorMapper::~ColorMapper  )  [virtual]
 

destruction

Definition at line 42 of file ColorMapper.cpp.


Member Function Documentation

virtual void gutz::Counted::_decCount  )  [inline, protected, virtual, inherited]
 

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().

virtual int gutz::Counted::_getCount  )  const [inline, protected, virtual, inherited]
 

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.

virtual void gutz::Counted::_incCount  )  [inline, protected, virtual, inherited]
 

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().

void AlgObj::addInput DataObjSP  d  )  [protected, inherited]
 

manipulate inputs

Definition at line 182 of file AlgObj.cpp.

References SimBase::derr(), gutz::SmartPtr< DataObjIF >::isNull(), and AlgObj::setInputN().

void SourceObj::addOutput DataObjSP  d  )  [protected, inherited]
 

add Output

Definition at line 279 of file SourceObj.cpp.

References SimBase::derr(), gutz::SmartPtr< DataObjIF >::isNull(), and SourceObj::setOutputN().

bool AlgObj::checkInputs  )  [protected, virtual, inherited]
 

true if data is current, false if not

everything checked out so we must be ok

Definition at line 156 of file AlgObj.cpp.

References SimBase::derr(), and gutz::SmartPtr< DataObjIF >::isNull().

Referenced by AlgObj::execute(), SourceObj::force(), AlgObj::force(), SourceObj::request(), and AlgObj::update_().

void AlgObj::delInput DataObjSP  d  )  [protected, inherited]
 

Del Input.

Definition at line 195 of file AlgObj.cpp.

References SimBase::derr(), AlgObj::isInput(), and SimModObjSP.

void SourceObj::delOutput DataObjSP  d  )  [protected, inherited]
 

del Output

Definition at line 292 of file SourceObj.cpp.

References SimBase::derr(), SourceObj::isOutput(), and SourceObjSP.

template<class T>
void SimBase::derr const char *  when,
const char *  where,
const T  stuff
const [inline, inherited]
 

only prints in debug mode, -D_DEBUG

Definition at line 130 of file simBase.h.

References SimBase::_name_.

void SimBase::derr const char *  when,
const char *  where = 0
const [inline, inherited]
 

only prints in debug mode, -D_DEBUG

Definition at line 113 of file simBase.h.

References SimBase::_name_.

Referenced by AlgObj::addInput(), Key::addKey(), SourceObj::addOutput(), VolShader::bindBlend(), VolField::checkDims(), VolFieldVec::checkField(), VolFieldVec::checkFields(), AlgObj::checkInputs(), AlgObj::delInput(), Key::delKey(), Crank::delMP(), SourceObj::delOutput(), Crank::delTape(), TFGeneric::eval(), SourceObj::execDef(), execDef(), AlgObj::execDef(), AlgObj::execute(), SourceObj::force(), AlgObj::force(), VolField::genTexture(), TFGeneric::get2DMap(), DataObj::getConsumer(), VolFieldVec::getField(), AlgObj::getInputN(), Key::getKey(), Crank::getMP(), Crank::getMPIdx(), SourceObj::getOutputN(), Crank::getTape(), AlgObj::inputsModified(), Crank::insertTape(), Crank::kindErr(), VolyCube::loadNrro(), VolyCube::readState(), Volytope::readState(), SourceObj::request(), DataObj::request_(), VolytopeVec::setField(), SourceObj::setForwardModified(), DataObj::setForwardModified(), TFGeneric::setImage(), AlgObj::setInputN(), Key::setKey(), Crank::setMP(), VolField::setNrro(), SourceObj::setOutputN(), Crank::setTape(), Volume::update(), SourceObj::updateOutputs(), Volume::updateRectLin(), Volume::updateVolytopesRL(), VolyCube::VolyCube(), and Volytope::writeState().

void ColorMapper::execDef  )  [protected, virtual]
 

execute Definition

Reimplemented from SourceObj.

Definition at line 67 of file ColorMapper.cpp.

References _mapId, SimBase::derr(), AlgObj::getInputN(), SourceObj::getOutputN(), GREY_SCALE_RGB, mapGrey(), NrroDataObjSP, and RAINBOW_RGB.

void SourceObj::execute  )  [virtual, inherited]
 

Public Execute Interface Execute if anything changed DO NOT override this if you don't know what you are doing, use "execDef()" this will get called by these!

Implements SourceObjIF.

Definition at line 70 of file SourceObj.cpp.

References AlgObj::execute(), and SourceObj::updateOutputs().

Referenced by SourceObj::request().

void SourceObj::force  )  [virtual, inherited]
 

Execute no matter what!, unless you are going to get an update later.

Implements SourceObjIF.

Definition at line 79 of file SourceObj.cpp.

References SimCore::_forward, SimCore::_modified, AlgObj::checkInputs(), SimBase::derr(), SourceObj::execDef(), and SourceObj::updateOutputs().

virtual int SimBase::getChangeID  )  const [inline, virtual, inherited]
 

Definition at line 73 of file simBase.h.

References SimBase::_changed.

virtual int SimBase::getChangeID  )  [inline, virtual, inherited]
 

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().

virtual int ColorMapper::getColorMap  )  [inline, virtual]
 

Definition at line 44 of file ColorMapper.h.

References _mapId.

DataObjIF * AlgObj::getInputN int  inNum  )  [protected, inherited]
 

returns raw pointer to facilitate easier dynamic_cast<YOUR_DATA_TYPE>

Definition at line 283 of file AlgObj.cpp.

References SimBase::derr(), and gutz::SmartPtr< DataObjIF >::getPtr().

Referenced by execDef().

virtual float ColorMapper::getLevelA  )  [inline, virtual]
 

Definition at line 61 of file ColorMapper.h.

References _levelA.

virtual float ColorMapper::getLevelRGB  )  [inline, virtual]
 

Definition at line 54 of file ColorMapper.h.

References _levelRGB.

std::string SimBase::getName  )  [inline, inherited]
 

Definition at line 45 of file simBase.h.

References SimBase::_name_.

Referenced by MetaProg::operator<<().

unsigned int AlgObj::getNumInputs  )  const [inline, virtual, inherited]
 

Implements AlgObjIF.

Definition at line 73 of file AlgObj.h.

unsigned int SourceObj::getNumOutputs  )  const [inline, virtual, inherited]
 

Implements SourceObjIF.

Definition at line 86 of file SourceObj.h.

std::string SimBase::getObjName  )  [inline, inherited]
 

Definition at line 44 of file simBase.h.

References string.

NrroDataObjSP ColorMapper::getOutput  )  [virtual]
 

get Output

Definition at line 58 of file ColorMapper.cpp.

References SourceObj::getOutputN(), and NrroDataObjSP.

DataObjIF * SourceObj::getOutputN int  outNum  )  [protected, inherited]
 

returns raw pointer to facilitate easier dynamic_cast<YOUR_DATA_TYPE>

Definition at line 266 of file SourceObj.cpp.

References SimBase::derr(), and gutz::SmartPtr< DataObjIF >::getPtr().

Referenced by execDef(), and getOutput().

virtual float ColorMapper::getWindowA  )  [inline, virtual]
 

Definition at line 60 of file ColorMapper.h.

References _windowA.

virtual float ColorMapper::getWindowRGB  )  [inline, virtual]
 

get the window level

Definition at line 53 of file ColorMapper.h.

References _windowRGB.

bool AlgObj::inputsModified  )  [protected, virtual, inherited]
 

check if we have modified inputs

Definition at line 137 of file AlgObj.cpp.

References SimBase::derr(), and gutz::SmartPtr< DataObjIF >::isNull().

Referenced by AlgObj::execute().

bool SimCore::isForwardModified  )  [inline, inherited]
 

is this thing aready marked for future update?

Definition at line 63 of file simCore.h.

References SimCore::_forward.

bool AlgObj::isInput const DataObjSP  d  )  const [protected, inherited]
 

isInput

Definition at line 224 of file AlgObj.cpp.

References gutz::SmartPtr< DataObjIF >::isNull().

Referenced by AlgObj::delInput().

bool SimCore::isModified  )  const [inline, inherited]
 

Definition at line 40 of file simCore.h.

References SimCore::_modified.

bool SourceObj::isOutput const DataObjSP  d  )  const [protected, inherited]
 

is Output

Definition at line 322 of file SourceObj.cpp.

References gutz::SmartPtr< DataObjIF >::isNull().

Referenced by SourceObj::delOutput(), and SourceObj::request().

void ColorMapper::mapGrey NrroDataObjSP  out,
NrroDataObjSP  in
[protected, virtual]
 

Grey scale.

Definition at line 87 of file ColorMapper.cpp.

References in, and n.

Referenced by execDef().

virtual std::istream& SimCore::readSelf std::istream &  is  )  [inline, virtual, inherited]
 

unserialize

Reimplemented from SimBase.

Definition at line 52 of file simCore.h.

bool SourceObj::request DataObjSP  d  )  [virtual, inherited]
 

request interface

it's ready, cuz we don't know about it

how could this happen? shouldn't get a request for data we don't own

how could this happen? we should be forward too!

how could this happen? we have been changed, better update but not if we are a true source!

Implements SourceObjIF.

Definition at line 98 of file SourceObj.cpp.

References SimCore::_forward, SimCore::_modified, AlgObj::checkInputs(), SimBase::derr(), SourceObj::execute(), and SourceObj::isOutput().

virtual std::ostream& SimCore::saveSelf std::ostream &  os  )  [inline, virtual, inherited]
 

serialize

Reimplemented from SimBase.

Definition at line 50 of file simCore.h.

virtual void SimBase::setChanged  )  [inline, virtual, inherited]
 

Definition at line 74 of file simBase.h.

References SimBase::_changed.

Referenced by TFEltSP::getChangeID(), TFBaseSP::getChangeID(), TFBaseSP::operator=(), and TFGeneric::update().

virtual void ColorMapper::setColorMap int  mapId  )  [inline, virtual]
 

Definition at line 43 of file ColorMapper.h.

References _mapId.

void SourceObj::setForwardModified  )  [virtual, inherited]
 

update interface

only forward modify if we have to

Reimplemented from AlgObj.

Definition at line 139 of file SourceObj.cpp.

References SimCore::_forward, SimBase::derr(), and gutz::SmartPtr< DataObjIF >::isNull().

void ColorMapper::setInput NrroDataObjSP  n  )  [virtual]
 

set Input

Definition at line 50 of file ColorMapper.cpp.

References DataObjSP, n, and AlgObj::setInputN().

void AlgObj::setInputN int  inNum,
DataObjSP  d
[protected, inherited]
 

Set Input "N".

Definition at line 264 of file AlgObj.cpp.

References SimBase::derr(), gutz::SmartPtr< DataObjIF >::isNull(), AlgObj::setNumInputs(), and SimModObjSP.

Referenced by AlgObj::addInput(), and setInput().

void SimCore::setModified bool  mod = true  )  [inline, inherited]
 

Definition at line 41 of file simCore.h.

References SimCore::_modified.

Referenced by EventData::setEvent().

void SimBase::setName const char *  name  )  [inline, inherited]
 

Definition at line 47 of file simBase.h.

References SimBase::_name_, and name.

void SimBase::setName std::string  name  )  [inline, inherited]
 

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().

void AlgObj::setNumInputs int  nInputs  )  [protected, inherited]
 

SetNumInputs.

nothing to do

create new input array

copy old inputs

nuke old input array

set new array

Definition at line 237 of file AlgObj.cpp.

Referenced by AlgObj::AlgObj(), and AlgObj::setInputN().

void SourceObj::setNumOutputs int  nOut  )  [protected, inherited]
 

Set Number Outputs.

copy old outputs

unset any (about to be) nuked outputs

Definition at line 216 of file SourceObj.cpp.

References gutz::g_max(), gutz::SmartPtr< DataObjIF >::isNull(), and SourceObjSP.

Referenced by SourceObj::setOutputN(), and SourceObj::SourceObj().

void SourceObj::setOutputN int  outNum,
DataObjSP  d
[protected, inherited]
 

set Output number "N"

Definition at line 247 of file SourceObj.cpp.

References SimBase::derr(), gutz::SmartPtr< DataObjIF >::isNull(), SourceObj::setNumOutputs(), and SourceObjSP.

Referenced by SourceObj::addOutput().

virtual void ColorMapper::setWinLevA float  window,
float  level
[inline, virtual]
 

Definition at line 58 of file ColorMapper.h.

References _levelA, _windowA, and level.

virtual void ColorMapper::setWinLevA bool  onoff = true  )  [inline, virtual]
 

turn alpha window/level on(true) and off(false)

Definition at line 57 of file ColorMapper.h.

References _autoA.

virtual void ColorMapper::setWinLevRGB float  window,
float  level
[inline, virtual]
 

set the window/level

Definition at line 50 of file ColorMapper.h.

References _levelRGB, _windowRGB, and level.

virtual void ColorMapper::setWinLevRGB bool  onoff = true  )  [inline, virtual]
 

window/level settings, turn window/level on(true) and off(false)

Definition at line 48 of file ColorMapper.h.

References _autoRGB.

virtual void SimModObjIF::update_ gutz::SmartPtr< DataObjIF d  )  [pure virtual, inherited]
 

input data modified notification

void AlgObj::update_ DataObjSP  d  )  [virtual, inherited]
 

update interface update when data changes

must mark forward!!!

not forward no more

Implements AlgObjIF.

Definition at line 113 of file AlgObj.cpp.

References SimCore::_forward, SimCore::_modified, AlgObj::checkInputs(), and AlgObj::execute().

void SourceObj::updateOutputs  )  [protected, inherited]
 

Protected Member functions.

for each output, send forward notification

error check

if it was changed

mark it for update

output unmodified, debug output

output was null, report it

now update each output

error check, always!

skip unodified outputs

derr("updateOutputs()"); update the output

Definition at line 165 of file SourceObj.cpp.

References SimCore::_updating, SimBase::derr(), and gutz::SmartPtr< DataObjIF >::isNull().

Referenced by SourceObj::execute(), and SourceObj::force().


Friends And Related Function Documentation

friend class SmartPtr [friend, inherited]
 

Definition at line 40 of file smartptr.h.

Referenced by Nrro::NrroIter< T >::NrroIter().

friend class SmartPtrRef [friend, inherited]
 

Definition at line 41 of file smartptr.h.


Member Data Documentation

bool ColorMapper::_autoA [protected]
 

Definition at line 70 of file ColorMapper.h.

Referenced by setWinLevA().

bool ColorMapper::_autoRGB [protected]
 

Definition at line 69 of file ColorMapper.h.

Referenced by setWinLevRGB().

int SimBase::_changed [protected, inherited]
 

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().

bool SimCore::_forward [protected, inherited]
 

Definition at line 74 of file simCore.h.

Referenced by SourceObj::force(), AlgObj::force(), SimCore::isForwardModified(), SourceObj::request(), DataObj::request_(), SourceObj::setForwardModified(), DataObj::setForwardModified(), AlgObj::setForwardModified(), SimCore::SimCore(), DataObj::update_(), and AlgObj::update_().

bool SimModObjIF::_forwardUpdate [protected, inherited]
 

Definition at line 69 of file SimModObj.h.

Referenced by SimModObjIF::SimModObjIF().

float ColorMapper::_levelA [protected]
 

Definition at line 74 of file ColorMapper.h.

Referenced by getLevelA(), and setWinLevA().

float ColorMapper::_levelRGB [protected]
 

Definition at line 72 of file ColorMapper.h.

Referenced by getLevelRGB(), and setWinLevRGB().

int ColorMapper::_mapId [protected]
 

Definition at line 68 of file ColorMapper.h.

Referenced by execDef(), getColorMap(), and setColorMap().

bool SimCore::_modified [protected, inherited]
 

Definition at line 73 of file simCore.h.

Referenced by AlgObj::execute(), SourceObj::force(), AlgObj::force(), SimCore::isModified(), SourceObj::request(), DataObj::request_(), SimCore::setModified(), SimCore::SimCore(), DataObj::update_(), and AlgObj::update_().

std::string SimBase::_name_ [protected, inherited]
 

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().

bool SimCore::_updating [protected, inherited]
 

Definition at line 75 of file simCore.h.

Referenced by SimCore::SimCore(), DataObj::update_(), and SourceObj::updateOutputs().

float ColorMapper::_windowA [protected]
 

Definition at line 73 of file ColorMapper.h.

Referenced by getWindowA(), and setWinLevA().

float ColorMapper::_windowRGB [protected]
 

Definition at line 71 of file ColorMapper.h.

Referenced by getWindowRGB(), and setWinLevRGB().


The documentation for this class was generated from the following files:
Send questions, comments, and bug reports to:
jmk