- /// Specific methods for window creation during pipeline execution
- /// Creates the window associated to the box (called after bbUpdateInputs)
- /// Does nothing here. Overloaded in WxBlackBox.
- // virtual void bbCreateWindow() { }
- /// Shows the window associated to the box
- /// (called after bbProcess during bbExecute)
- /// Does nothing here but overloaded in WxBlackBox and WxContainerBlackBox
- // virtual void bbShowWindow(Connection::Pointer caller) { }
- // virtual void bbHideWindow() {}
- // virtual void bbCloseWindow() { }
+ /// Signals that the input whose connector is c has changed
+ /// and propagates the info downward
+ /// ** NOT USER INTENDED **
+ virtual void bbSetStatusAndPropagate(BlackBoxInputConnector* c,
+ IOStatus s);
+ //==================================================================
+
+
+
+ //==================================================================
+ /// @name Box con(des)struction / initi(fin)alization methods
+ //@{
+
+ //==================================================================
+ /// Allocates the i/o connectors of the black box
+ virtual void bbAllocateConnectors();
+ /// Desallocates the i/o connectors of the black box
+ virtual void bbDesallocateConnectors();
+ /// Copies the values of the inputs/output from the BlackBox from
+ virtual void bbCopyIOValues(BlackBox& from);
+ //==================================================================
+
+ //==================================================================
+ /// Initializes processing IF NEEDED.
+ /// Calls bbRecursiveInitializeProcessing if the box is in
+ /// "uninitialized" state and put it in "initialized" state.
+ /// On construction, boxes are "uninitialized".
+ /// See also bbFinalizeProcessing
+ void bbInitializeProcessing();
+
+ /// Finalizes processing IF NEEDED.
+ /// Calls bbRecursiveFinalizeProcessing if the box is in
+ /// "initialized" state and put it in "uninitialized" state.
+ /// On construction, boxes are "uninitialized".
+ /// See also bbInitializeProcessing
+ void bbFinalizeProcessing();
+
+ /// Abstract prototype of the method which
+ /// Recursively calls itself for the parent black box and then
+ /// calls bbUserInitializeProcessing for its own class.
+ /// It is redefined in each black box descendant.
+ /// Allows to call bbUserInitializeProcessing for all inherited classes
+ /// (like a constructor does)
+ virtual void bbRecursiveInitializeProcessing() {}
+
+
+ /// Abstract prototype of the method which
+ /// calls bbUserFinalizeProcessing for its own class and then
+ /// recursively calls itself for the parent black box.
+ /// It is redefined in each black box descendant.
+ /// Allows to call bbUserFinalizeProcessing for all inherited classes
+ /// (like a destructor does)
+ virtual void bbRecursiveFinalizeProcessing() {}