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 #include "mgICurveSegmentAbstract.h" 00023 00024 class FdoICurveSegmentAbstract; 00025 00026 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00027 00028 public __gc __interface IEnvelope; 00029 public __gc __interface IDirectPosition; 00030 00031 /// \ingroup (OSGeoFDOGeometry) 00032 /// \brief 00033 /// The ICurveSegmentAbstractImp class is a concrete geometric Curve Segment object. 00034 /// This class is used strictly as a component of curves and, thus, does not inherit from IGeometry. 00035 public __gc class ICurveSegmentAbstractImp 00036 : public NAMESPACE_OSGEO_GEOMETRY::ICurveSegmentAbstract, public NAMESPACE_OSGEO_RUNTIME::Disposable 00037 { 00038 public: 00039 /// \brief 00040 /// Constructs an ICurveSegmentAbstractImp 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 ICurveSegmentAbstractImp(IntPtr unmanaged, Boolean autoDelete); 00050 00051 /// \cond DOXYGEN-IGNORE 00052 protected: 00053 System::Void ReleaseUnmanagedObject(); 00054 /// \endcond 00055 00056 public: 00057 /// \brief 00058 /// Gets the envelope for the curve segment. 00059 /// 00060 /// \return 00061 /// Returns the envelope 00062 /// 00063 __property NAMESPACE_OSGEO_GEOMETRY::IEnvelope *get_Envelope(); 00064 00065 /// \brief 00066 /// Gets the starting position of this curve segment. 00067 /// 00068 /// \return 00069 /// Returns the starting position 00070 /// 00071 __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_StartPosition(); 00072 00073 /// \brief 00074 /// Gets the ending position of this curve segment. 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 segment. 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 /// \brief 00102 /// Gets the type of the most-derived interface 00103 /// in the Geometry package for this object 00104 /// 00105 /// \return 00106 /// Returns the derived type 00107 /// 00108 __property NAMESPACE_OSGEO_COMMON::GeometryComponentType get_DerivedType(); 00109 00110 /// \brief 00111 /// Gets the dimensionality of ordinates in this object. 00112 /// 00113 /// \remarks 00114 /// Values are from the Dimensionality enumeration. 00115 /// A return type of "Int32" is used instead of the enumeration, catering to typical use with bit masking. 00116 /// 00117 /// \return 00118 /// Returns the ordinate dimensionality 00119 /// 00120 __property System::Int32 get_Dimensionality(); 00121 00122 public private: 00123 FdoICurveSegmentAbstract *GetImpObj(); 00124 }; 00125 00126 END_NAMESPACE_OSGEO_GEOMETRY 00127 00128
Comments or suggestions? Send us feedback. |