FDO .NET API Reference Feature Data Objects

mgICurveAbstract.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 "mgIGeometry.h"
00022 
00023 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00024 public __gc __interface IDirectPosition;
00025 END_NAMESPACE_OSGEO_GEOMETRY
00026 
00027 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00028 
00029 /// \ingroup (OSGeoFDOGeometry)
00030 /// \interface OSGeo::FDO::Geometry::ICurveAbstract
00031 /// \brief
00032 /// The ICurveAbstract class is a curve Geometry type (abstract). ICurveAbstract is the most general curve type.  
00033 public __gc __interface ICurveAbstract : public NAMESPACE_OSGEO_GEOMETRY::IGeometry
00034 {
00035 public:
00036     /// \brief
00037     /// Gets the starting position of this Curve.
00038     /// 
00039     /// \remarks
00040     /// This is the start of the entire curve.  In cases where a derived type
00041     /// is composed of multiple contiguous parts, this position is the start of the
00042     /// first of those parts.
00043     /// 
00044     /// \return
00045     /// Returns the starting position
00046     /// 
00047     __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_StartPosition();
00048     
00049     /// \brief
00050     /// Gets the ending position of this Curve.
00051     /// 
00052     /// \remarks
00053     /// This is the end of the entire curve.  In cases where a derived type
00054     /// is composed of multiple contiguous parts, this position is the end of the
00055     /// last of those parts.
00056     /// 
00057     /// \return
00058     /// Returns the ending position
00059     /// 
00060     __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_EndPosition();
00061     
00062     /// \brief
00063     /// Gets the closure state for the curve.
00064     /// 
00065     /// \remarks
00066     /// The meaning behind this method is not guaranteed
00067     /// to be uniform between derived types or between implementations
00068     /// of this package.
00069     /// It may represent a computed value, an explicit attribute, or be true by definition.
00070     /// As a computed value, the result is typically from simply testing the starting and 
00071     /// ending positions for exact equality.  This is only reliable in floating
00072     /// point arithmetic if these data have identical origins.
00073     /// As an explicit attribute, it would be persisted with the Geometry and 
00074     /// typically denoted by a parameter in the relevant factory method.  
00075     /// Some Geometry types are closed by definition.
00076     /// 
00077     /// \return
00078     /// Returns 'true' if the curve is closed, and false otherwise
00079     /// 
00080     __property System::Boolean get_IsClosed();
00081 };
00082 END_NAMESPACE_OSGEO_GEOMETRY
00083 
00084 

Comments or suggestions? Send us feedback.