bbtkAtomicBlackBox.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00036 #include "bbtkAtomicBlackBox.h"
00037
00038 namespace bbtk
00039 {
00040
00041
00042 AtomicBlackBox::AtomicBlackBox(const std::string &name, bool alloc)
00043 : BlackBox(name)
00044 {
00045 bbtkBlackBoxDebugMessage("object",3,
00046 "==> AtomicBlackBox(\""
00047 <<name<<"\")"<<std::endl);
00048 }
00049
00050
00051
00053 AtomicBlackBox::AtomicBlackBox(AtomicBlackBox& from,
00054 const std::string &name,
00055 bool alloc)
00056 : BlackBox(from,name)
00057 {
00058 bbtkBlackBoxDebugMessage("object",3,
00059 "==> AtomicBlackBox("
00060 <<from.bbGetFullName()<<",\""
00061 <<name<<"\")"<<std::endl);
00062 }
00063
00064
00065
00066
00068 AtomicBlackBox::~AtomicBlackBox()
00069 {
00070 bbtkBlackBoxDebugMessage("object",3,"==> ~AtomicBlackBox()"
00071 <<std::endl);
00072 bbtkBlackBoxDebugMessage("object",3,"<== ~AtomicBlackBox()"
00073 <<std::endl);
00074 }
00075
00076
00077
00078
00079
00080
00081 Data AtomicBlackBox::bbGetOutput( const std::string &name )
00082 {
00083 bbtkBlackBoxDebugMessage("data",7,
00084 "AtomicBlackBox::bbGetOutput(\""<<name<<"\")"
00085 <<std::endl);
00086
00087 Data p = ((AtomicBlackBoxOutputDescriptor*)bbGetDescriptor()
00088 ->GetOutputDescriptor(name))->GetGetFunctor()->Get(this);
00089
00090 return p;
00091 }
00092
00093
00094
00095
00097 Data AtomicBlackBox::bbGetInput( const std::string &name )
00098 {
00099 bbtkBlackBoxDebugMessage("data",7,
00100 "AtomicBlackBox::bbGetInput(\""<<name<<"\")"
00101 <<std::endl);
00102
00103 Data p = ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()
00104 ->GetInputDescriptor(name))->GetGetFunctor()->Get(this);
00105
00106 return p;
00107 }
00108
00109
00110
00111
00113 void AtomicBlackBox::bbSetOutput( const std::string &name, Data data)
00114 {
00115 bbtkBlackBoxDebugMessage("data",7,
00116 "AtomicBlackBox::bbSetOutput(\""<<name<<"\",data)"
00117 <<std::endl);
00118
00119 ((AtomicBlackBoxOutputDescriptor*)bbGetDescriptor()
00120 ->GetOutputDescriptor(name))->GetSetFunctor()->Set(this,data);
00121
00122 bbtkDebugDecTab("Data",7);
00123 }
00124
00125
00126
00127
00129 void AtomicBlackBox::bbSetInput(const std::string &name,
00130 Data data,
00131 bool setModified )
00132 {
00133 bbtkBlackBoxDebugMessage("data",7,
00134 "AtomicBlackBox::bbSetInput(\""<<name<<"\",data)"
00135 <<std::endl);
00136 ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()->GetInputDescriptor(name))->GetSetFunctor()->Set(this,data);
00137
00138 if (setModified)
00139 {
00140 bbSetStatusAndPropagate(bbGetInputConnectorMap().find(name)->second,
00141 MODIFIED);
00142 }
00143
00144 }
00145
00146
00147
00149 void AtomicBlackBox::bbBruteForceSetInputPointer(const std::string &name,
00150 void* data,
00151 bool setModified
00152 )
00153 {
00154 bbtkBlackBoxDebugMessage("data",7,
00155 "AtomicBlackBox::bbBruteForceSetInputPointer(\""
00156 <<name<<"\",data)"
00157 <<std::endl);
00158 ((AtomicBlackBoxInputDescriptor*)bbGetDescriptor()
00159 ->GetInputDescriptor(name))->GetSetFunctor()
00160 ->BruteForceSetPointer(this,data);
00161
00162 if (setModified)
00163 {
00164 bbSetStatusAndPropagate(bbGetInputConnectorMap().find(name)->second,
00165 MODIFIED);
00166 }
00167
00168 }
00169
00170
00171
00172
00173
00174 std::string AtomicBlackBox::GetObjectInfo() const
00175 {
00176 std::stringstream i;
00177 return i.str();
00178 }
00179
00180
00181
00182 size_t AtomicBlackBox::GetObjectSize() const
00183 {
00184 return sizeof(*this);
00185 }
00186
00187
00188
00189 size_t AtomicBlackBox::GetObjectRecursiveSize() const
00190 {
00191 size_t s = GetObjectSize();
00192 return s;
00193 }
00194
00195
00196
00197 }
00198