FDO .NET API Reference Feature Data Objects

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