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 #include "mgIGeometryImp.h" 00022 #include "mgICurveAbstract.h" 00023 00024 class FdoICurveAbstract; 00025 00026 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00027 public __gc __interface IDirectPosition; 00028 END_NAMESPACE_OSGEO_GEOMETRY 00029 00030 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00031 00032 /// \ingroup (OSGeoFDOGeometry) 00033 /// \brief 00034 /// The ICurveAbstractImp class is a curve Geometry type (concrete). ICurveAbstractImp is the most general curve type. 00035 private __gc class ICurveAbstractImp : 00036 public NAMESPACE_OSGEO_GEOMETRY::ICurveAbstract, public NAMESPACE_OSGEO_GEOMETRY::IGeometryImp 00037 { 00038 public: 00039 /// \brief 00040 /// Constructs an ICurveAbstractImp managed object based on an unmanaged instance of the object 00041 /// 00042 /// \param unmanaged 00043 /// Input A Pointer to the unmanaged object. 00044 /// 00045 /// \param autoDelete 00046 /// Input Indicates if the constructed object should be automatically deleted 00047 /// once it no longer referenced. 00048 /// 00049 ICurveAbstractImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00050 00051 public private: 00052 FdoICurveAbstract *GetImpObj(); 00053 00054 public: 00055 /// \brief 00056 /// Gets the starting position of this Curve. 00057 /// 00058 /// \remarks 00059 /// This is the start of the entire curve. In cases where a derived type 00060 /// is composed of multiple contiguous parts, this position is the start of the 00061 /// first of those parts. 00062 /// 00063 /// \return 00064 /// Returns the starting position 00065 /// 00066 __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_StartPosition(); 00067 00068 /// \brief 00069 /// Gets the ending position of this Curve. 00070 /// 00071 /// \remarks 00072 /// This is the end of the entire curve. In cases where a derived type 00073 /// is composed of multiple contiguous parts, this position is the end of the 00074 /// last of those parts. 00075 /// 00076 /// \return 00077 /// Returns the ending position 00078 /// 00079 __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_EndPosition(); 00080 00081 /// \brief 00082 /// Gets the closure state for the curve. 00083 /// 00084 /// \remarks 00085 /// The meaning behind this method is not guaranteed 00086 /// to be uniform between derived types or between implementations 00087 /// of this package. 00088 /// It may represent a computed value, an explicit attribute, or be true by definition. 00089 /// As a computed value, the result is typically from simply testing the starting and 00090 /// ending positions for exact equality. This is only reliable in floating 00091 /// point arithmetic if these data have identical origins. 00092 /// As an explicit attribute, it would be persisted with the Geometry and 00093 /// typically denoted by a parameter in the relevant factory method. 00094 /// Some Geometry types are closed by definition. 00095 /// 00096 /// \return 00097 /// Returns 'true' if the curve is closed, and false otherwise 00098 /// 00099 __property System::Boolean get_IsClosed(); 00100 }; 00101 END_NAMESPACE_OSGEO_GEOMETRY 00102 00103
Comments or suggestions? Send us feedback. |