FDO .NET API Reference | Feature Data Objects |
00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, Inc. 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of version 2.1 of the GNU Lesser 00006 * General Public License as published by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 * 00017 */ 00018 00019 #pragma once 00020 00021 #include "mgIEnvelope.h" 00022 00023 class FdoIEnvelope; 00024 00025 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00026 00027 /// \ingroup (OSGeoFDOGeometry) 00028 /// \brief 00029 /// The IEnvelopeImp class is a three-dimensional, axis-aligned box. This is a 00030 /// helper type for Geometries, and does not itself inherit from 00031 /// IGeometry. 00032 /// \remarks 00033 /// This type is typically used to record the "extents" of a shape, also 00034 /// known in 2 dimensions as an MBR ("Minimum Bounding Rectangle"). 00035 /// The box may be initially empty, meaning that no dimensions have an 00036 /// assigned value. Each individual extent may be unassigned, in which case using its 00037 /// accessor will return numeric_limits::quiet_NaN(). 00038 public __gc class IEnvelopeImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_GEOMETRY::IEnvelope 00039 { 00040 public: 00041 /// \brief 00042 /// Constructs an IEnvelopeImp managed object based on an unmanaged instance of the object 00043 /// 00044 /// \param unmanaged 00045 /// Input A Pointer to the unmanaged object. 00046 /// 00047 /// \param autoDelete 00048 /// Input Indicates if the constructed object should be automatically deleted 00049 /// once it no longer referenced. 00050 /// 00051 IEnvelopeImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00052 00053 /// \cond DOXYGEN-IGNORE 00054 protected: 00055 System::Void ReleaseUnmanagedObject(); 00056 /// \endcond 00057 00058 public: 00059 /// \brief 00060 /// Gets the minimum X coordinate value. 00061 /// 00062 /// \remarks 00063 /// This is the smallest X ordinate value for the envelope, regardless 00064 /// of the sense of the axes. In a conventional right-handed system, 00065 /// this would be the X coordinate for the point in the rear, lower-left 00066 /// corner of the envelope. 00067 /// 00068 /// \return 00069 /// Returns the miniumum X ordinate; numeric_limits::quiet_NaN() by default 00070 /// 00071 __property System::Double get_MinX(); 00072 00073 /// \brief 00074 /// Gets the minimum Y coordinate value. 00075 /// 00076 /// \remarks 00077 /// This is the smallest Y ordinate value for the envelope, regardless 00078 /// of the sense of the axes. In a conventional right-handed system, 00079 /// this would be the Y coordinate for the point in the rear, lower-left 00080 /// corner of the envelope. 00081 /// 00082 /// \return 00083 /// Returns the miniumum Y ordinate; numeric_limits::quiet_NaN() by default 00084 /// 00085 __property System::Double get_MinY(); 00086 00087 /// \brief 00088 /// Gets the minimum Z coordinate value. 00089 /// 00090 /// \remarks 00091 /// This is the smallest Z ordinate value for the envelope, regardless 00092 /// of the sense of the axes. In a conventional right-handed system, 00093 /// this would be the Z coordinate for the point in the rear, lower-left 00094 /// corner of the envelope. 00095 /// 00096 /// \return 00097 /// Returns the miniumum Z ordinate; numeric_limits::quiet_NaN() by default 00098 /// 00099 __property System::Double get_MinZ(); 00100 00101 /// \brief 00102 /// Gets the maximum X coordinate value. 00103 /// 00104 /// \remarks 00105 /// This is the largest X ordinate value for the envelope, regardless 00106 /// of the sense of the axes. In a conventional right-handed system, 00107 /// this would be the X coordinate for the point in the front, upper-right 00108 /// corner of the envelope. 00109 /// 00110 /// \return 00111 /// Returns the maxiumum X ordinate; numeric_limits::quiet_NaN() by default 00112 /// 00113 __property System::Double get_MaxX(); 00114 00115 /// \brief 00116 /// Gets the maximum Y coordinate value. 00117 /// 00118 /// \remarks 00119 /// This is the largest Y ordinate value for the envelope, regardless 00120 /// of the sense of the axes. In a conventional right-handed system, 00121 /// this would be the Y coordinate for the point in the front, upper-right 00122 /// corner of the envelope. 00123 /// 00124 /// \return 00125 /// Returns the maxiumum Y ordinate; numeric_limits::quiet_NaN() by default 00126 /// 00127 __property System::Double get_MaxY(); 00128 00129 /// \brief 00130 /// Gets the maximum Z coordinate value. 00131 /// 00132 /// \remarks 00133 /// This is the largest Z ordinate value for the envelope, regardless 00134 /// of the sense of the axes. In a conventional right-handed system, 00135 /// this would be the Z coordinate for the point in the front, upper-right 00136 /// corner of the envelope. 00137 /// 00138 /// \return 00139 /// Returns the maxiumum Z ordinate; numeric_limits::quiet_NaN() by default 00140 /// 00141 __property System::Double get_MaxZ(); 00142 00143 /// \brief 00144 /// Indicates whether the envelope's extents are set. 00145 /// 00146 /// \return 00147 /// Returns 'true' if none of the X, Y and Z extents have been set; 'false' otherwise 00148 /// 00149 __property System::Boolean get_IsEmpty(); 00150 00151 public private: 00152 FdoIEnvelope *GetImpObj(); 00153 }; 00154 00155 END_NAMESPACE_OSGEO_GEOMETRY 00156 00157
Comments or suggestions? Send us feedback. |