Tag.hpp
Go to the documentation of this file.
00001 // Copyright (c) 20013 by Wayne C. Gramlich.  All rights reserved.
00002 
00003 #if !defined(TAG_H_INCLUDED)
00004 #define TAG_H_INCLUDED 1
00005 
00044 
00045 #include <vector>
00046 
00047 #include "Bounding_Box.hpp"
00048 #include "CV.hpp"
00049 #include "File.hpp"
00050 #include "SVG.hpp"
00051 #include "Map.hpp"
00052 
00053 class Arc;
00054 
00057 class Tag {
00058   public:
00060     std::vector<Arc*> arcs_;
00061 
00063     double diagonal;
00064 
00066     double world_diagonal;
00067 
00069     bool initialized;
00070 
00072     unsigned int hop_count;
00073 
00075     unsigned int id;
00076 
00078     Map map;
00079 
00081     double twist;
00082 
00084     bool visible;
00085 
00087     unsigned int visit;
00088 
00090     double x;
00091 
00093     double y;
00094 
00096     double z;
00097 
00099     bool updated;
00100 
00101   public:
00102     Tag(unsigned int id, Map map);
00103 
00104     void arc_append(Arc *arc);
00105     void bounding_box_update(BoundingBox *bounding_box);
00106 
00107     void initialize(double angle, double x, double y, double diagonal,
00108         unsigned int visit);
00109 
00110     void svg_write(SVG *svg);
00111     void write(File out_file);
00112     void update_via_arc(Arc *arc, CV_Image image, unsigned int sequence_number);
00113 
00114     // static comparisons and file I/O
00115     static int equal(Tag *tag1, Tag *tag2);
00116     static bool less(Tag *tag1, Tag *tag2);
00117     static Tag * read(File in_file, Map map);
00118 };
00119 
00122 class TagHeight {
00123   public:
00125     double world_diagonal;
00126 
00128     unsigned int first_id;
00129 
00131     unsigned int last_id;
00132 
00134     double z;
00135 
00136   public:
00137     static bool less(TagHeight *tag_height1, TagHeight *tag_height2);
00138     static TagHeight *xml_read(File in_file);
00139 
00140   private:
00141     TagHeight() {}
00142 };
00143 
00144 // *Tag* routines;
00145 
00146 
00147 #endif // !defined(TAG_H_INCLUDED)


fiducial_lib
Author(s): Wayne Gramlich
autogenerated on Thu Jun 6 2019 18:08:04