FDO .NET API Reference Feature Data Objects

mgICurveSegmentAbstractImp.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 #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.