SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
Module Class Reference

#include <Module.h>

Inheritance diagram for Module:
ModuleInterface LegacyLoggerInterface StateChangeObserver ModuleInfoProvider ModuleDisplayInterface ExecutableObject AlgorithmCollaborator DummyModule GenericReader< FieldHandle, FieldPortTag > GenericWriter< FieldHandle, FieldPortTag > ModuleWithAsyncDynamicPorts DynamicPortTester PrintDatatypeModule ReceiveScalarModule ReceiveTestMatrixModule SendScalarModule SendTestMatrixModule ElectrodeCoilSetupModule GenerateROIStatisticsModule SetConductivitiesToTetMeshModule SetupRHSforTDCSandTMSModule GetFieldsFromBundle GetMatricesFromBundle InsertFieldsIntoBundle InsertMatricesIntoBundle GenericReader< HType, PortTag > GenericWriter< HType, PortTag > ReadMatrixModule WriteMatrixModule AlignMeshBoundingBoxes ApplyMappingMatrixModule BuildMappingMatrix CalculateDistanceToField CalculateDistanceToFieldBoundary CalculateFieldData CalculateGradients CalculateSignedDistanceToField CalculateVectorMagnitudesModule CollectFields ConvertFieldBasis ConvertFieldDataType ConvertQuadSurfToTriSurf CreateFieldData CreateLatVol CreateScalarFieldDataBasic FairMesh GetDomainBoundary GetFieldBoundary GetFieldDataModule GetFieldNodes InterfaceWithCleaverModule JoinFields MapFieldDataFromElemToNodeModule MapFieldDataFromNodeToElemModule MapFieldDataOntoElements MapFieldDataOntoNodes ProjectPointsOntoMesh RegisterWithCorrespondences ReportFieldInfoModule ResampleRegularMesh ScaleFieldMeshAndData SetFieldDataModule SetFieldNodes SetFieldOrMeshStringProperty SplitFieldByDomain BuildFEMatrix BuildTDCSMatrix TDCSSimulatorModule AddKnownsToLinearSystem AppendMatrixModule ConvertMatrixTypeModule CreateMatrixModule EvaluateLinearAlgebraBinaryModule EvaluateLinearAlgebraUnaryModule GetSubmatrix ReportMatrixInfoModule SelectSubMatrixModule SolveLinearSystemModule SolveMinNormLeastSqSystem CreateStringModule CreateBasicColorMap MatrixAsVectorFieldModule ShowFieldModule ShowStringModule

Classes

class  Builder
 
struct  DynamicPortName
 
struct  PortNameBase
 
struct  StaticPortName
 

Public Member Functions

 Module (const ModuleLookupInfo &info, bool hasUi=true, Core::Algorithms::AlgorithmFactoryHandle algoFactory=defaultAlgoFactory_, ModuleStateFactoryHandle stateFactory=defaultStateFactory_, const std::string &version="1.0")
 
virtual ~Module ()
 
std::string get_module_name () const
 
std::string get_categoryname () const
 
std::string get_packagename () const
 
ModuleId get_id () const
 
virtual const ModuleLookupInfoget_info () const
 
virtual void set_id (const std::string &id)
 
bool has_ui () const
 
void setUiVisible (bool visible)
 
virtual size_t num_input_ports () const
 
virtual size_t num_output_ports () const
 
virtual bool hasInputPort (const PortId &id) const
 
virtual bool hasOutputPort (const PortId &id) const
 
virtual InputPortHandle getInputPort (const PortId &id) const
 
virtual OutputPortHandle getOutputPort (const PortId &id) const
 
virtual std::vector
< InputPortHandle
findInputPortsWithName (const std::string &name) const
 
virtual std::vector
< OutputPortHandle
findOutputPortsWithName (const std::string &name) const
 
virtual std::vector
< InputPortHandle
inputPorts () const
 
virtual std::vector
< OutputPortHandle
outputPorts () const
 
virtual void do_execute () throw ()
 
virtual ModuleStateHandle get_state ()
 
virtual const ModuleStateHandle get_state () const
 
virtual void set_state (ModuleStateHandle state)
 
virtual ExecutionState executionState () const
 
virtual void setExecutionState (ExecutionState state)
 
virtual void setLogger (SCIRun::Core::Logging::LoggerHandle log)
 
virtual
SCIRun::Core::Logging::LoggerHandle 
getLogger () const
 
virtual void error (const std::string &msg) const
 
virtual void warning (const std::string &msg) const
 
virtual void remark (const std::string &msg) const
 
virtual void status (const std::string &msg) const
 
virtual
SCIRun::Core::Algorithms::AlgorithmStatusReporter::UpdaterFunc 
getUpdaterFunc () const
 
virtual void setUpdaterFunc (SCIRun::Core::Algorithms::AlgorithmStatusReporter::UpdaterFunc func)
 
virtual void setUiToggleFunc (UiToggleFunc func)
 
virtual boost::signals2::connection connectExecuteBegins (const ExecuteBeginsSignalType::slot_type &subscriber)
 
virtual boost::signals2::connection connectExecuteEnds (const ExecuteEndsSignalType::slot_type &subscriber)
 
virtual boost::signals2::connection connectErrorListener (const ErrorSignalType::slot_type &subscriber)
 
virtual void addPortConnection (const boost::signals2::connection &con) override
 
virtual
Core::Algorithms::AlgorithmHandle 
getAlgorithm () const
 
virtual bool needToExecute () const
 
virtual bool hasDynamicPorts () const
 
bool oport_connected (const PortId &id) const
 
template<class T , size_t N>
boost::shared_ptr< T > getRequiredInput (const StaticPortName< T, N > &port)
 
template<class T , size_t N>
boost::optional
< boost::shared_ptr< T > > 
getOptionalInput (const StaticPortName< T, N > &port)
 
template<class T , size_t N>
std::vector< boost::shared_ptr
< T > > 
getRequiredDynamicInputs (const DynamicPortName< T, N > &port)
 
template<class T , size_t N>
std::vector< boost::shared_ptr
< T > > 
getOptionalDynamicInputs (const DynamicPortName< T, N > &port)
 
template<class T , class D , size_t N>
void sendOutput (const StaticPortName< T, N > &port, boost::shared_ptr< D > data)
 
template<class T , size_t N>
void sendOutputFromAlgorithm (const StaticPortName< T, N > &port, const Core::Algorithms::AlgorithmOutput &output)
 
- Public Member Functions inherited from ModuleInterface
virtual ~ModuleInterface ()
 
virtual void setExecutionState (ExecutionState state)=0
 
virtual void preDestruction ()
 
virtual void setStateDefaults ()=0
 
virtual void portAddedSlot (const Networks::ModuleId &mid, const Networks::PortId &pid)
 
virtual void portRemovedSlot (const Networks::ModuleId &mid, const Networks::PortId &pid)
 
- Public Member Functions inherited from ModuleInfoProvider
virtual ~ModuleInfoProvider ()
 
- Public Member Functions inherited from ModuleDisplayInterface
virtual ~ModuleDisplayInterface ()
 
- Public Member Functions inherited from ExecutableObject
 ~ExecutableObject ()
 
virtual void execute ()=0
 
- Public Member Functions inherited from AlgorithmCollaborator
virtual ~AlgorithmCollaborator ()
 
- Public Member Functions inherited from LegacyLoggerInterface
virtual ~LegacyLoggerInterface ()
 
- Public Member Functions inherited from StateChangeObserver
 StateChangeObserver ()
 
void initStateObserver (ModuleStateInterface *state)
 
void stateChanged ()
 
void resetStateChanged ()
 
bool newStatePresent () const
 

Static Public Member Functions

static void resetInstanceCount ()
 

Static Public Attributes

static ModuleStateFactoryHandle defaultStateFactory_
 
static
Core::Algorithms::AlgorithmFactoryHandle 
defaultAlgoFactory_
 

Protected Types

enum  LegacyState { NeedData, JustStarted, Executing, Completed }
 

Protected Member Functions

Core::Algorithms::AlgorithmBasealgo ()
 
void update_state (LegacyState)
 
void setStateBoolFromAlgo (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setStateIntFromAlgo (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setStateDoubleFromAlgo (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setStateStringFromAlgoOption (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setAlgoBoolFromState (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setAlgoIntFromState (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setAlgoDoubleFromState (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
void setAlgoOptionFromState (SCIRun::Core::Algorithms::AlgorithmParameterName name)
 
virtual size_t add_input_port (InputPortHandle)
 
size_t add_output_port (OutputPortHandle)
 
virtual void removeInputPort (const PortId &id)
 

Protected Attributes

ModuleLookupInfo info_
 
ModuleId id_
 

Friends

class Builder
 

Additional Inherited Members

- Public Types inherited from ModuleInterface
enum  ExecutionState { Waiting, Executing, Completed }
 

Member Enumeration Documentation

enum LegacyState
protected
Enumerator
NeedData 
JustStarted 
Executing 
Completed 

Constructor & Destructor Documentation

Module ( const ModuleLookupInfo info,
bool  hasUi = true,
Core::Algorithms::AlgorithmFactoryHandle  algoFactory = defaultAlgoFactory_,
ModuleStateFactoryHandle  stateFactory = defaultStateFactory_,
const std::string &  version = "1.0" 
)
~Module ( )
virtual

Member Function Documentation

size_t add_input_port ( InputPortHandle  h)
protectedvirtual

Reimplemented in ModuleWithAsyncDynamicPorts.

size_t add_output_port ( OutputPortHandle  h)
protected
void addPortConnection ( const boost::signals2::connection &  con)
overridevirtual

Implements ModuleInterface.

AlgorithmBase & algo ( )
protected
boost::signals2::connection connectErrorListener ( const ErrorSignalType::slot_type &  subscriber)
virtual

Implements ExecutableObject.

boost::signals2::connection connectExecuteBegins ( const ExecuteBeginsSignalType::slot_type &  subscriber)
virtual

Implements ExecutableObject.

boost::signals2::connection connectExecuteEnds ( const ExecuteEndsSignalType::slot_type &  subscriber)
virtual

Implements ExecutableObject.

void do_execute ( )
throw (
)
virtual
Todo:
: execute signal here.
Todo:
: status() calls should be logged everywhere, need to change legacy loggers. issue #nnn
Todo:
: need separate logger per module
Todo:
: this block is repetitive (logging-wise) if the macros are used to log AND throw an exception with the same message. Figure out a reasonable condition to enable it.
Todo:
: need separate logger per module

Implements ModuleInterface.

virtual void error ( const std::string &  msg) const
inlinevirtual

Implements LegacyLoggerInterface.

ModuleInterface::ExecutionState executionState ( ) const
virtual

Implements ModuleInterface.

std::vector< InputPortHandle > findInputPortsWithName ( const std::string &  name) const
virtual

Implements ModuleInfoProvider.

std::vector< OutputPortHandle > findOutputPortsWithName ( const std::string &  name) const
virtual

Implements ModuleInfoProvider.

std::string get_categoryname ( ) const
inline
ModuleId get_id ( ) const
inlinevirtual

Implements ModuleInfoProvider.

virtual const ModuleLookupInfo& get_info ( ) const
inlinevirtual

Implements ModuleInfoProvider.

std::string get_module_name ( ) const
inlinevirtual

Implements ModuleInfoProvider.

std::string get_packagename ( ) const
inline
ModuleStateHandle get_state ( )
virtual

Implements ModuleInterface.

const ModuleStateHandle get_state ( ) const
virtual
virtual Core::Algorithms::AlgorithmHandle getAlgorithm ( ) const
inlinevirtual

Implements ModuleInterface.

InputPortHandle getInputPort ( const PortId id) const
virtual

Implements ModuleInfoProvider.

LoggerHandle getLogger ( ) const
virtual

Implements ModuleInterface.

std::vector< boost::shared_ptr< T > > getOptionalDynamicInputs ( const DynamicPortName< T, N > &  port)
boost::optional< boost::shared_ptr< T > > getOptionalInput ( const StaticPortName< T, N > &  port)
OutputPortHandle getOutputPort ( const PortId id) const
virtual

Implements ModuleInfoProvider.

std::vector< boost::shared_ptr< T > > getRequiredDynamicInputs ( const DynamicPortName< T, N > &  port)
boost::shared_ptr< T > getRequiredInput ( const StaticPortName< T, N > &  port)
virtual SCIRun::Core::Algorithms::AlgorithmStatusReporter::UpdaterFunc getUpdaterFunc ( ) const
inlinevirtual
Todo:
functions

Implements ModuleInterface.

bool has_ui ( ) const
inlinevirtual

Implements ModuleInfoProvider.

virtual bool hasDynamicPorts ( ) const
inlinevirtual
bool hasInputPort ( const PortId id) const
virtual

Implements ModuleInfoProvider.

bool hasOutputPort ( const PortId id) const
virtual
Todo:
: kind of ridiculous interface/duplication. Should pull out a subinterface for "PortView" and just return one of those for input/output

Implements ModuleInfoProvider.

std::vector< InputPortHandle > inputPorts ( ) const
virtual

Implements ModuleInfoProvider.

bool needToExecute ( ) const
virtual
Todo:
:
Todo:
: || !oports_cached()

Implements ModuleInterface.

size_t num_input_ports ( ) const
virtual

Implements ModuleInfoProvider.

size_t num_output_ports ( ) const
virtual

Implements ModuleInfoProvider.

bool oport_connected ( const PortId id) const
std::vector< OutputPortHandle > outputPorts ( ) const
virtual

Implements ModuleInfoProvider.

virtual void remark ( const std::string &  msg) const
inlinevirtual

Implements LegacyLoggerInterface.

void removeInputPort ( const PortId id)
protectedvirtual
void resetInstanceCount ( )
static
void sendOutput ( const StaticPortName< T, N > &  port,
boost::shared_ptr< D >  data 
)
void sendOutputFromAlgorithm ( const StaticPortName< T, N > &  port,
const Core::Algorithms::AlgorithmOutput output 
)
virtual void set_id ( const std::string &  id)
inlinevirtual
Todo:
for deserialization

Implements ModuleInterface.

void set_state ( ModuleStateHandle  state)
virtual

Implements ModuleInterface.

void setAlgoBoolFromState ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setAlgoDoubleFromState ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setAlgoIntFromState ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setAlgoOptionFromState ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setExecutionState ( ExecutionState  state)
virtual
void setLogger ( SCIRun::Core::Logging::LoggerHandle  log)
virtual

Implements ModuleInterface.

void setStateBoolFromAlgo ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setStateDoubleFromAlgo ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setStateIntFromAlgo ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
void setStateStringFromAlgoOption ( SCIRun::Core::Algorithms::AlgorithmParameterName  name)
protected
virtual void setUiToggleFunc ( UiToggleFunc  func)
inlinevirtual

Implements ModuleInterface.

void setUiVisible ( bool  visible)
virtual

Implements ModuleInterface.

virtual void status ( const std::string &  msg) const
inlinevirtual

Implements LegacyLoggerInterface.

void update_state ( LegacyState  )
inlineprotected
virtual void warning ( const std::string &  msg) const
inlinevirtual

Implements LegacyLoggerInterface.

Friends And Related Function Documentation

friend class Builder
friend

Member Data Documentation

AlgorithmFactoryHandle defaultAlgoFactory_
static
ModuleStateFactoryHandle defaultStateFactory_
static
Todo:
: yuck
ModuleId id_
protected
ModuleLookupInfo info_
protected

The documentation for this class was generated from the following files: