00001 /** 00002 * \file rvc/regioncl.h 00003 * \brief interface for the RVC::REGION class. 00004 * 00005 * \if NODOC 00006 * $Id: regioncl.h_v 1.12 2004/06/25 16:12:26 scowan Exp $ 00007 * 00008 * $Log: regioncl.h_v $ 00009 * Revision 1.12 2004/06/25 16:12:26 scowan 00010 * Uses correct region class. 00011 * 00012 * Revision 1.11 2003/10/07 17:30:43 scowan 00013 * Object virtual method changes. 00014 * 00015 * Revision 1.10 2003/09/30 16:52:06 dwilliss 00016 * Doxygen 00017 * 00018 * Revision 1.9 2003/09/25 21:20:04 dwilliss 00019 * Fixed doxygen comment 00020 * 00021 * Revision 1.8 2003/09/15 13:49:45 fileserver!dwilliss 00022 * Doxygen 00023 * 00024 * Revision 1.7 2003/05/30 22:06:31 scowan 00025 * Added a get extentsd method. 00026 * 00027 * Revision 1.6 2002/12/10 18:14:59 scowan 00028 * Added region 2d code. 00029 * 00030 * Revision 1.5 2001/06/14 15:26:24 scowan 00031 * Added to RVC namespace. 00032 * 00033 * Revision 1.4 2000/12/01 16:08:28 scowan 00034 * Fixed MAC and i18n errors. 00035 * 00036 * Revision 1.3 2000/11/29 20:52:50 scowan 00037 * Fixed inclusion guards. 00038 * 00039 * Revision 1.2 2000/10/19 21:14:40 scowan 00040 * Checked in for vacation. 00041 * 00042 * Revision 1.1 2000/09/29 20:15:44 scowan 00043 * Initial revision 00044 * 00045 * \endif 00046 **/ 00047 00048 //! \class RVC::REGION rvc/regioncl.h 00049 //! \brief Manages RVC::OBJTYPE_Region RVC objects. 00050 //! 00051 //! The interface currently wraps the MfRegion functions. 00052 //! 00053 //! RVC Object Types that this class supports: RVC::OBJTYPE_Region. 00054 //! 00055 //! Default RVC Object Type for this class: RVC::OBJTYPE_Region. 00056 //! 00057 //! Valid parents for this class: 00058 //! - RVC::OBJTYPE_File 00059 //! - RVC::OBJTYPE_Folder 00060 //! - RVC::OBJTYPE_Vector 00061 //! - RVC::OBJTYPE_TIN 00062 //! - RVC::OBJTYPE_CAD 00063 //! - RVC::OBJTYPE_Raster 00064 //! - RVC::OBJTYPE_RasterSet 00065 //! - RVC::OBJTYPE_Hyperspectral 00066 //! 00067 //! Read(), Make() and Write() methods inherited from RVCSIMPLE class. View RVCSIMPLE docs for inherited methods 00068 00069 #ifndef INC_RVC_REGIONCL_H 00070 #define INC_RVC_REGIONCL_H 00071 00072 #ifndef INC_RVC_SIMPLE_H 00073 #include <rvc/simple.h> 00074 #endif 00075 00076 #ifndef INC_MI32_REGION2D_H 00077 #include <mi32/region2d.h> 00078 #endif 00079 00080 // Forward Declarations 00081 namespace SPATREF { 00082 class COORDREFSYS; 00083 } 00084 00085 namespace RVC { 00086 00087 class REGION : public RVC::SIMPLE { 00088 public: 00089 00090 //! Default constructor 00091 REGION ( 00092 ); 00093 00094 //! Copy constructor 00095 REGION ( 00096 const RVC::REGION& rhs 00097 ); 00098 00099 //! Destructor 00100 virtual ~REGION ( 00101 ); 00102 00103 //! Assignment 00104 RVC::REGION& operator= ( 00105 const RVC::REGION& rhs 00106 ); 00107 00108 //! Get region extents. 00109 //! @return Region's extents 00110 const DRECT2D& GetExtents ( 00111 ) const; 00112 00113 //! Get region COORDREFSYS 00114 //! @return Region's COORDREFSYS 00115 const SPATREF::COORDREFSYS& GetCoordRefSys ( 00116 ) const; 00117 00118 //! Obtain region, must be read first 00119 //! @return Region reference 00120 const REGION2D& GetRegion ( 00121 ) const; 00122 00123 //! Set the current region to a new region 00124 ERRVALUE SetRegion ( 00125 const REGION2D& region 00126 ); 00127 00128 private: 00129 #ifndef GENERATING_DOXYGEN_OUTPUT 00130 00131 //! Implementation of RVC::OBJECT virtual methods 00132 virtual OBJTYPE v_GetDftObjectType () const; 00133 00134 //! Implementation of RVC::SIMPLE virtual methods 00135 virtual ERRVALUE v_GetDftNameDesc (const OBJECT& parent, OBJECTNAME& name, OBJECTDESC& desc); 00136 virtual ERRVALUE v_ReadData (); 00137 virtual ERRVALUE v_WriteData (const RVCGENINFO& ginfo); 00138 00139 REGION2D m_Region; 00140 #endif // GENERATING_DOXYGEN_OUTPUT 00141 }; 00142 00143 } //! End of RVC namespace 00144 00145 #endif //!< INC_RVC_REGIONCL_H
1.3.8-20040913