X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsrc%2FbbtkAtomicBlackBox.h;h=0af4403a74a2487652ec71a99ca82f2218c8ec85;hb=4ad5b5ee44357ad873bc8c43230defb6d0a79879;hp=a0102bb31a98d411aed104571d12f72ed39daac5;hpb=6f678e6883d4d2734c81492412903c701c8e1f3c;p=bbtk.git diff --git a/kernel/src/bbtkAtomicBlackBox.h b/kernel/src/bbtkAtomicBlackBox.h index a0102bb..0af4403 100644 --- a/kernel/src/bbtkAtomicBlackBox.h +++ b/kernel/src/bbtkAtomicBlackBox.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkAtomicBlackBox.h,v $ Language: C++ - Date: $Date: 2008/02/07 11:06:37 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/04/18 12:59:14 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -42,6 +42,11 @@ namespace bbtk { //================================================================== public: + //================================================================== + bbtk::BlackBoxDescriptor::Pointer bbGetDescriptor() const + { + return bbmDescriptorPointer; + } //================================================================== /// Gets the output Data of a given label Data bbGetOutput( const std::string &label ); @@ -59,8 +64,9 @@ namespace bbtk //================================================================== //================================================================== - /// Destructor - virtual ~AtomicBlackBox(); + std::string GetObjectInfo() const; + size_t GetObjectSize() const; + size_t GetObjectRecursiveSize() const; //================================================================== //================================================================== @@ -72,6 +78,17 @@ namespace bbtk AtomicBlackBox(AtomicBlackBox& from, const std::string &name, bool alloc = true); //================================================================== + //================================================================== + /// Destructor + virtual ~AtomicBlackBox(); + //================================================================== + + //================================================================== + protected: + virtual void bbLockDescriptor() = 0; + // private: + // virtual void bbReleaseDescriptor(); + //================================================================== public: //================================================================== @@ -82,10 +99,10 @@ namespace bbtk /// /// First checks that re-processing is needed (either Status==MODIFIED or InputProcessMode==Always) /// then : - /// - updates its inputs by calling bbUpdateInputs (which recursively calls bbBackwardUpdate on amont boxes) + /// - updates its inputs by calling bbUpdateInputs (which recursively calls bbBackwardUpdate on upstream boxes) /// - calls bbProcess which here simply calls the user callback bbUserProcess which does the actual processing. /// bbProcess is overloaded in WxBlackBox to handle widget creation and show - IOStatus bbBackwardUpdate(Connection* caller); + virtual IOStatus bbBackwardUpdate(Connection::Pointer caller); //================================================================== //================================================================== @@ -126,6 +143,11 @@ namespace bbtk AtomicBlackBox() : BlackBox("") {} //================================================================== + protected: + //================================================================== + // The pointer on the descriptor + bbtk::BlackBoxDescriptor::Pointer bbmDescriptorPointer; + //================================================================== }; // Class AtomicBlackBox