# --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la Santé) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # Previous Authors : Laurent Guigues, Jean-Pierre Roux # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil # # This software is governed by the CeCILL-B license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL-B # license as circulated by CEA, CNRS and INRIA at the following URL # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html # or in the file LICENSE.txt. # # As a counterpart to the access to the source code and rights to copy, # modify and redistribute granted by the license, users are provided only # with a limited warranty and the software's author, the holder of the # economic rights, and the successive licensors have only limited # liability. # # The fact that you are presently reading this means that you have had # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ * cmake : PACKAGE_NAME : std, itk, vtk (nom bbi ; utilisé par load) * librairie créée : bbstd.dll / libbbstd.so, etc. bb.dll / libbb.so * Sources : Type de boite appelé BOX_TYPE_NAME (i.e. dans bbi "new BOX_TYPE_NAME a") - bb.h / .cxx / .xml Ex : bbstdCast.h dans bb.h : * Symbole de blockage : __bb_h_INCLUDED__ ex : #ifndef __bbstdCast_h_INCLUDED__ #define __bbstdCast_h_INCLUDED__ ... #endif // __bbstdCast_h_INCLUDED__ * Namespace : bb ex : namespace bbstd { ... } // namespace bbstd * Classe ex : class Cast : public bbtk::UserBlackBox { }; // class Cast * Descriptor : BEGIN_DESCRIBE_BLACK_BOX(,parent) ... BBTK_NAME() ... END_DESCRIBE_BLACK_BOX(,parent) * Utilisation : si on a la boite B definie dans package P1 et dans package P2 * Utilisation c++ : #include "bbstdCast.h" #include "bbP1B.h" #include "bbP2B.h" main() { bbtk::BlackBox* b = new bbstd::Cast("b"); bbtk::BlackBox* c = new bbP1::B("c"); bbtk::BlackBox* d = new bbP2::B("d"); } * Utilisation bbi : >load std >load P1 >load P2 >new Cast b >new B c ERROR : A black box of type B exists in packages P1 and P2. Do you mean P1::B or P2::B ? >new P1::B c >new P2::B d // THIS IS OK >help P1 Package P1 v1.0.0 - foo.bar at corp.com My marvelous package Black boxes : B : Uncompress a file in jpeg format >help P2 Package P2 v1.0.0 - bar.foo at expat.co I made this package for fun Black boxes : B : Automatic scientific article generator >help B ERROR : A black box of type B exists in packages P1 and P2. Do you mean P1::B or P2::B ? >help P1::B Black box Uncompress a file in jpeg format By : foo.bar at corp.com * Inputs : ...