Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxBlob2dRelation.h

00001 /*
00002  *  Copyright (c) 2002, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *
00006  *  Author(s):
00007  *  Dennis Koelma (koelma@science.uva.nl)
00008  */
00009 
00010 #ifndef HxBlob2dRelation_h
00011 #define HxBlob2dRelation_h
00012 
00013 #include "HxBlob2d.h"
00014 #include "HxBlob2dList.h"
00015 
00016 
00021 class HxBlob2dRelation
00022 {
00023 public:
00025                             HxBlob2dRelation();
00026 
00028                             ~HxBlob2dRelation();
00029 
00031     int                     ident() const;
00032 
00034     void                    add(HxBlob2d* blob, HxBlob2dList rels);
00035 
00037     HxBlob2dListConstIter   getBlobBegin() const;
00038 
00040     HxBlob2dListConstIter   getBlobEnd() const;
00041 
00043     HxBlob2dList            findRelatedBlobs(HxBlob2d* blob);
00044 
00046     HxBlob2dListConstIter   findRelatedBlobsBegin(HxBlob2d* blob) const;
00047 
00049     HxBlob2dListConstIter   findRelatedBlobsEnd(HxBlob2d* blob) const;
00050 
00052     HxBlob2dListBackInserter findRelatedBlobsInserter(HxBlob2d* blob);
00053 
00054 
00056     STD_OSTREAM&            put(STD_OSTREAM& os) const;
00057 
00058 private:
00059                             // forbid copy construction until it is implemented
00060                             HxBlob2dRelation(const HxBlob2dRelation&) {}
00061 
00062     typedef std::vector<HxBlob2dList> RelatedList;
00063 
00064     HxBlob2dList            _head;
00065     RelatedList             _tail;
00066 
00067     int                     _ident;    // unique identifier
00068 
00069     static int              _nr;
00070 };
00071 
00072 inline STD_OSTREAM&
00073 operator<<(STD_OSTREAM& os, const HxBlob2dRelation& rel)
00074 {
00075     return rel.put(os);
00076 }
00077 
00078 inline HxString
00079 makeString(const HxBlob2dRelation& b)
00080 {
00081     return HxString("HxBlob2dRelation") + makeString(b.ident());
00082 }
00083 
00084 #endif

Generated on Tue Feb 3 14:18:31 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001