FDO .NET API Reference Feature Data Objects

mgIEnvelope.h

Go to the documentation of this file.
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.