FDO .NET API Reference Feature Data Objects

mgILinearRingImp.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 "mgIRingAbstractImp.h"
00022 #include "mgILinearRing.h"
00023 
00024 class FdoILinearRing;
00025 
00026 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00027 public __gc __interface IDirectPosition;
00028 public __gc class DirectPositionCollection;
00029 END_NAMESPACE_OSGEO_GEOMETRY
00030 
00031 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00032 
00033 /// \ingroup (OSGeoFDOGeometry)
00034 /// \brief
00035 /// The ILinearRingImp class is a linear ring helper type.
00036 /// The shape of ILinearRingImp is the set of positions defined by the contained collection, 
00037 /// plus linear interpolation between consecutive points.
00038 public __gc class ILinearRingImp : 
00039     public NAMESPACE_OSGEO_GEOMETRY::IRingAbstractImp, public NAMESPACE_OSGEO_GEOMETRY::ILinearRing
00040 {
00041 public:
00042     /// \brief
00043     /// Constructs a managed object based on an unmanaged instance of the object
00044     /// 
00045     /// \param unmanaged 
00046     /// Input A Pointer to the unmanaged object.
00047     /// 
00048     /// \param autoDelete 
00049     /// Input Indicates if the constructed element should be automatically deleted 
00050     /// once it no longer referenced.
00051     /// 
00052     ILinearRingImp(System::IntPtr unmanaged, System::Boolean autoDelete);
00053 
00054 public private:
00055     FdoILinearRing *GetImpObj();
00056 
00057 public:
00058     /// \brief
00059     /// Gets the number of positions in this object.
00060     /// 
00061     /// \return
00062     /// Returns the number of positions
00063     /// 
00064     __property System::Int32 get_Count();
00065     
00066     /// \brief
00067     /// Gets the position at the specified (zero-based) index.
00068     /// 
00069     /// \param index 
00070     /// Input Zero-based index in the object's list of positions.
00071     /// 
00072     /// \return
00073     /// Returns the position
00074     /// 
00075     __property NAMESPACE_OSGEO_GEOMETRY::IDirectPosition *get_Item(System::Int32 index);
00076     
00077     /// \brief
00078     /// Gets the position at the specified (zero-based) index, by values of its member data.
00079     /// This is in aid of higher performance for any implementation that
00080     /// does not internally use FdoIDirectPosition objects for storage, or for
00081     /// an application seeking to avoid overhead of accessor methods.
00082     /// 
00083     /// \param index 
00084     /// Input Zero-based index in the object's list of positions.
00085     /// \param coordinateX 
00086     /// Output X ordinate value.
00087     /// \param coordinateY 
00088     /// Output Y ordinate value.
00089     /// \param coordinateZ 
00090     /// Output Z ordinate value.
00091     /// \param coordinateM 
00092     /// Output M ordinate value.
00093     /// \param dimensionality 
00094     /// Output Dimensionality of ordinates in this position.
00095     /// 
00096     /// \return
00097     /// Returns nothing
00098     /// 
00099     System::Void GetItemByMembers(
00100         System::Int32 index, 
00101         System::Double &coordinateX, 
00102         System::Double &coordinateY,
00103         System::Double &coordinateZ,
00104         System::Double &coordinateM,
00105         System::Int32 &dimensionality);
00106         
00107     /// \brief
00108     /// Gets a collection of all of the positions in this object.
00109     /// 
00110     /// \return
00111     /// Returns the positions
00112     /// 
00113     __property NAMESPACE_OSGEO_GEOMETRY::DirectPositionCollection *get_Positions();
00114 };
00115 
00116 END_NAMESPACE_OSGEO_GEOMETRY
00117 
00118 

Comments or suggestions? Send us feedback.