contrib/gel/vifa/vifa_bbox.h
Go to the documentation of this file.
00001 // This is gel/vifa/vifa_bbox.h
00002 #ifndef _VIFA_BBOX_H_
00003 #define _VIFA_BBOX_H_
00004 //-----------------------------------------------------------------------------
00005 //:
00006 // \file
00007 // \brief Timestamped 2D bounding box
00008 //
00009 // The vifa_bbox class is a timestamped 2D bounding box (vgl/vgl_box_2d) used
00010 // by the vifa_group_pgram class to efficiently compute the bounding box of a
00011 // collection of lines.
00012 //
00013 // \author Mike Petersen, June 2003
00014 //-----------------------------------------------------------------------------
00015 
00016 #include <vbl/vbl_ref_count.h>
00017 #include <vbl/vbl_smart_ptr.h>
00018 #include <vgl/vgl_box_2d.h>
00019 #include <vul/vul_timestamp.h>
00020 
00021 
00022 class vifa_bbox : public vul_timestamp,
00023                   public vbl_ref_count,
00024                   public vgl_box_2d<double>
00025 {
00026  public:
00027   // Default constructor
00028   inline vifa_bbox(void) {}
00029   // copy constructor - compiler-provided one sets ref_count to nonzero which is wrong -PVr
00030   inline vifa_bbox(vifa_bbox const& b)
00031     : vul_timestamp(), vbl_ref_count(), vgl_box_2d<double>(b) {}
00032 };
00033 
00034 typedef vbl_smart_ptr<vifa_bbox> vifa_bbox_sptr;
00035 
00036 #endif // _VIFA_BBOX_H_