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

SourceObj Class Reference

#include <SourceObj.h>

Inheritance diagram for SourceObj:

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

Detailed Description

Source Object base class.

Definition at line 83 of file SourceObj.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 Member Functions

virtual ~SourceObj ()
 Destruction.

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

 SourceObj ()
 protected default construction

 SourceObj (unsigned int numOutputs)
 use this if you are a "true" source

 SourceObj (unsigned int numInputs, unsigned int numOutputs)
 use this if you are a "filter"

virtual void execDef ()
 override this one to set the execution behavior of your source

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

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


Constructor & Destructor Documentation

SourceObj::~SourceObj  )  [virtual]
 

Destruction.

Definition at line 55 of file SourceObj.cpp.

SourceObj::SourceObj  )  [protected]
 

protected default construction

Definition at line 28 of file SourceObj.cpp.

SourceObj::SourceObj unsigned int  numOutputs  )  [protected]
 

use this if you are a "true" source

Definition at line 36 of file SourceObj.cpp.

References setNumOutputs().

SourceObj::SourceObj unsigned int  numInputs,
unsigned int  numOutputs
[protected]
 

use this if you are a "filter"

Definition at line 44 of file SourceObj.cpp.

References setNumOutputs().


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]
 

add Output

Definition at line 279 of file SourceObj.cpp.

References SimBase::derr(), gutz::SmartPtr< DataObjIF >::isNull(), and 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(), force(), AlgObj::force(), 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]
 

del Output

Definition at line 292 of file SourceObj.cpp.

References SimBase::derr(), 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(), addOutput(), VolShader::bindBlend(), VolField::checkDims(), VolFieldVec::checkField(), VolFieldVec::checkFields(), AlgObj::checkInputs(), AlgObj::delInput(), Key::delKey(), Crank::delMP(), delOutput(), Crank::delTape(), TFGeneric::eval(), execDef(), ColorMapper::execDef(), AlgObj::execDef(), AlgObj::execute(), force(), AlgObj::force(), VolField::genTexture(), TFGeneric::get2DMap(), DataObj::getConsumer(), VolFieldVec::getField(), AlgObj::getInputN(), Key::getKey(), Crank::getMP(), Crank::getMPIdx(), getOutputN(), Crank::getTape(), AlgObj::inputsModified(), Crank::insertTape(), Crank::kindErr(), VolyCube::loadNrro(), VolyCube::readState(), Volytope::readState(), request(), DataObj::request_(), VolytopeVec::setField(), setForwardModified(), DataObj::setForwardModified(), TFGeneric::setImage(), AlgObj::setInputN(), Key::setKey(), Crank::setMP(), VolField::setNrro(), setOutputN(), Crank::setTape(), Volume::update(), updateOutputs(), Volume::updateRectLin(), Volume::updateVolytopesRL(), VolyCube::VolyCube(), and Volytope::writeState().

virtual void SourceObj::execDef  )  [inline, protected, virtual]
 

override this one to set the execution behavior of your source

Reimplemented from AlgObj.

Reimplemented in ColorMapper.

Definition at line 123 of file SourceObj.h.

References SimBase::derr().

Referenced by force().

void SourceObj::execute  )  [virtual]
 

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

Referenced by request().

void SourceObj::force  )  [virtual]
 

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(), execDef(), and 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().

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 ColorMapper::execDef().

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]
 

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.

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

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 ColorMapper::execDef(), and ColorMapper::getOutput().

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]
 

is Output

Definition at line 322 of file SourceObj.cpp.

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

Referenced by delOutput(), and request().

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]
 

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(), execute(), and 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().

void SourceObj::setForwardModified  )  [virtual]
 

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 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 ColorMapper::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]
 

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 setOutputN(), and SourceObj().

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

set Output number "N"

Definition at line 247 of file SourceObj.cpp.

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

Referenced by addOutput().

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]
 

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 execute(), and 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

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 force(), AlgObj::force(), SimCore::isForwardModified(), request(), DataObj::request_(), 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().

bool SimCore::_modified [protected, inherited]
 

Definition at line 73 of file simCore.h.

Referenced by AlgObj::execute(), force(), AlgObj::force(), SimCore::isModified(), 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 updateOutputs().


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