Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
ProjectInterface.hGo to the documentation of this file.00001 //-*-c++-*- 00002 #ifndef INCLUDED_ProjectInterface_h_ 00003 #define INCLUDED_ProjectInterface_h_ 00004 00005 //! A collection of the global variables which should be set by a project to use the Tekkotsu framework 00006 /*! You don't necessarily need to define all of these, but if you want 00007 * to use the built in demo behaviors, you may need to set some 00008 * values in here appropriately so that the demos can adapt to your 00009 * project's configuration. 00010 * 00011 * Any references should be instantiated in your own project files 00012 * (since you can't reassign a reference) 00013 * 00014 * Any pointers are instantiated in ProjectInterface.cc and 00015 * initialized to NULL. You can reassign them as you see fit. 00016 * 00017 * Currently, all required members are references (so they can't be 00018 * set to NULL and you'll get errors if you leave them out) and all 00019 * optional settings are pointers so you can ignore them if you want. 00020 */ 00021 00022 class BehaviorBase; 00023 class FilterBankGenerator; 00024 class SegmentedColorGenerator; 00025 00026 namespace ProjectInterface { 00027 00028 //! REQUIRED: you must define a behavior which will be started when the boot is complete 00029 /*! This is similar in idea to the Linux init process - it should do 00030 * some basic initialization and then launch any other behavior you 00031 * would like to run at boot. */ 00032 extern BehaviorBase& startupBehavior; 00033 00034 //! A collection of the various stages of vision processing. None of these are absolutely required, but are needed to run included demo behaviors and TekkotsuMon modules 00035 /*! @name Vision Setup */ 00036 //! pointer to generator 00037 extern FilterBankGenerator * defRawCameraGenerator; 00038 extern FilterBankGenerator * defInterleavedYUVGenerator; 00039 extern FilterBankGenerator * defColorJPEGGenerator; 00040 extern FilterBankGenerator * defGrayscaleJPEGGenerator; 00041 extern SegmentedColorGenerator * defSegmentedColorGenerator; 00042 extern FilterBankGenerator * defRLEGenerator; 00043 extern FilterBankGenerator * defRegionGenerator; 00044 //@} 00045 00046 //! Default source IDs for the various generators; These are given default values, but you can reassign them if you like. 00047 /*! @name Vision SIDs */ 00048 //! source id for event 00049 extern unsigned int visRawCameraSID; 00050 extern unsigned int visInterleaveSID; 00051 extern unsigned int visColorJPEGSID; 00052 extern unsigned int visGrayscaleJPEGSID; 00053 extern unsigned int visSegmentSID; 00054 extern unsigned int visRLESID; 00055 extern unsigned int visRegionSID; 00056 extern unsigned int visPinkBallSID; 00057 extern unsigned int visBlueBallSID; 00058 extern unsigned int visHandSID; 00059 //@} 00060 00061 //! Allows you to request a particular layer abstractly - this isn't used by the framework, just a suggestion for clarity 00062 /*! @name Layer Resolutions */ 00063 extern unsigned int doubleLayer; //!< ERS-2xx: 352*288; ERS-7 416*320 (requires non-trivial computation) 00064 extern unsigned int fullLayer; //!< ERS-2xx: 176*144; ERS-7 208*160 00065 extern unsigned int halfLayer; //!< ERS-2xx: 88*72; ERS-7 104*80 00066 extern unsigned int quarterLayer; //!< ERS-2xx: 44*36; ERS-7 52*40 00067 extern unsigned int eighthLayer; //!< ERS-2xx: 22*18; ERS-7 26*20 (simply a bigger interleave referencing quarterLayer) 00068 extern unsigned int sixteenthLayer;//!< ERS-2xx: 11*9; ERS-7 13*10 (simply a bigger interleave referencing quarterLayer) 00069 //@} 00070 } 00071 00072 /*! @file 00073 * @brief Defines ProjectInterface namespace - a collection of the global variables which should be set by a project to use the Tekkotsu framework 00074 * @author ejt (Creator) 00075 * 00076 * $Author: ejt $ 00077 * $Name: tekkotsu-2_2_1 $ 00078 * $Revision: 1.5 $ 00079 * $State: Exp $ 00080 * $Date: 2004/07/16 19:25:10 $ 00081 */ 00082 00083 #endif |
Tekkotsu v2.2.1 |
Generated Tue Nov 23 16:36:39 2004 by Doxygen 1.3.9.1 |