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 00020 #pragma once 00021 00022 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00023 00024 /// \ingroup (OSGeoFDOGeometry) 00025 /// \interface OSGeo::FDO::Geometry::IEnvelope 00026 /// \brief 00027 /// The IEnvelope class is a three-dimensional, axis-aligned box. This is a 00028 /// helper type for Geometries, and does not itself inherit from IGeometry. 00029 /// This type is typically used to record the "extents" of a shape, also 00030 /// known in 2 dimensions as an MBR ("Minimum Bounding Rectangle"). 00031 /// The box may be initially empty, meaning that no dimensions have an assigned value. 00032 /// Each individual extent may be unassigned, in which case using its 00033 /// accessor will return numeric_limits::quiet_NaN(). 00034 public __gc __interface IEnvelope : public System::IDisposable 00035 { 00036 public: 00037 /// \brief 00038 /// Gets the minimum X coordinate value. 00039 /// 00040 /// \remarks 00041 /// This is the smallest X ordinate value for the envelope, regardless 00042 /// of the sense of the axes. In a conventional right-handed system, 00043 /// this would be the X coordinate for the point in the rear, lower-left 00044 /// corner of the envelope. 00045 /// 00046 /// \return 00047 /// Returns the miniumum X ordinate; numeric_limits::quiet_NaN() by default 00048 /// 00049 __property System::Double get_MinX(); 00050 00051 /// \brief 00052 /// Gets the minimum Y coordinate value. 00053 /// 00054 /// \remarks 00055 /// This is the smallest Y ordinate value for the envelope, regardless 00056 /// of the sense of the axes. In a conventional right-handed system, 00057 /// this would be the Y coordinate for the point in the rear, lower-left 00058 /// corner of the envelope. 00059 /// 00060 /// \return 00061 /// Returns the miniumum Y ordinate; numeric_limits::quiet_NaN() by default 00062 /// 00063 __property System::Double get_MinY(); 00064 00065 /// \brief 00066 /// Gets the minimum Z coordinate value. 00067 /// 00068 /// \remarks 00069 /// This is the smallest Z ordinate value for the envelope, regardless 00070 /// of the sense of the axes. In a conventional right-handed system, 00071 /// this would be the Z coordinate for the point in the rear, lower-left 00072 /// corner of the envelope. 00073 /// 00074 /// \return 00075 /// Returns the miniumum Z ordinate; numeric_limits::quiet_NaN() by default 00076 /// 00077 __property System::Double get_MinZ(); 00078 00079 /// \brief 00080 /// Gets the maximum X coordinate value. 00081 /// 00082 /// \remarks 00083 /// This is the largest X ordinate value for the envelope, regardless 00084 /// of the sense of the axes. In a conventional right-handed system, 00085 /// this would be the X coordinate for the point in the front, upper-right 00086 /// corner of the envelope. 00087 /// 00088 /// \return 00089 /// Returns the maxiumum X ordinate; numeric_limits::quiet_NaN() by default 00090 /// 00091 __property System::Double get_MaxX(); 00092 00093 /// \brief 00094 /// Gets the maximum Y coordinate value. 00095 /// 00096 /// \remarks 00097 /// This is the largest Y ordinate value for the envelope, regardless 00098 /// of the sense of the axes. In a conventional right-handed system, 00099 /// this would be the Y coordinate for the point in the front, upper-right 00100 /// corner of the envelope. 00101 /// 00102 /// \return 00103 /// Returns the maxiumum Y ordinate; numeric_limits::quiet_NaN() by default 00104 /// 00105 __property System::Double get_MaxY(); 00106 00107 /// \brief 00108 /// Gets the maximum Z coordinate value. 00109 /// 00110 /// \remarks 00111 /// This is the largest Z ordinate value for the envelope, regardless 00112 /// of the sense of the axes. In a conventional right-handed system, 00113 /// this would be the Z coordinate for the point in the front, upper-right 00114 /// corner of the envelope. 00115 /// 00116 /// \return 00117 /// Returns the maxiumum Z ordinate; numeric_limits::quiet_NaN() by default 00118 /// 00119 __property System::Double get_MaxZ(); 00120 00121 /// \brief 00122 /// Indicates whether the envelope's extents are set. 00123 /// 00124 /// \return 00125 /// Returns 'true' if none of the X, Y and Z extents have been set; 'false' otherwise 00126 /// 00127 __property System::Boolean get_IsEmpty(); 00128 }; 00129 00130 END_NAMESPACE_OSGEO_GEOMETRY 00131 00132
Comments or suggestions? Send us feedback. |