FDO API Reference | Feature Data Objects |
00001 #ifndef _ILINESTRINGSEGMENT_H_ 00002 #define _ILINESTRINGSEGMENT_H_ 00003 00004 // 00005 // Copyright (C) 2004-2006 Autodesk, Inc. 00006 // 00007 // This library is free software; you can redistribute it and/or 00008 // modify it under the terms of version 2.1 of the GNU Lesser 00009 // General Public License as published by the Free Software Foundation. 00010 // 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 // Lesser General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU Lesser General Public 00017 // License along with this library; if not, write to the Free Software 00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 // 00020 00021 00022 00023 #ifdef _WIN32 00024 #pragma once 00025 #endif 00026 00027 #include <Geometry/ICurveSegmentAbstract.h> 00028 #include <Geometry/IDirectPosition.h> 00029 00030 /// \brief 00031 /// The FdoILineStringSegment class is a LineString curve segment type. 00032 /// The shape of FdoILineStringSegment is the set of positions defined by the contained collection, 00033 /// plus linear interpolation between consecutive points. 00034 /// This is a helper type for Geometries in the Geometry package. 00035 /// \note 00036 /// It does not derive from IGeometry. 00037 class FdoILineStringSegment : public FdoICurveSegmentAbstract 00038 { 00039 public: 00040 00041 /// \brief 00042 /// Gets the number of positions in this object. 00043 /// 00044 /// \return 00045 /// Returns the number of positions 00046 /// 00047 FDO_GEOM_API virtual FdoInt32 GetCount() const = 0; 00048 00049 /// \brief 00050 /// Gets the position at the specified (zero-based) index. 00051 /// 00052 /// \return 00053 /// Returns the position 00054 /// 00055 FDO_GEOM_API virtual FdoIDirectPosition* GetItem( 00056 FdoInt32 index) const = 0; 00057 00058 /// \brief 00059 /// Gets a collection of all of the positions in this object. 00060 /// 00061 /// \return 00062 /// Returns the positions 00063 /// 00064 FDO_GEOM_API virtual FdoDirectPositionCollection* GetPositions() = 0; 00065 00066 /// \brief 00067 /// Gets the ordinates as an array. 00068 /// 00069 /// \remarks 00070 /// The caller must not free the returned array. 00071 /// The ordinates are in the order XYZMXYZM..., with only those present 00072 /// according to the dimensionality. 00073 /// 00074 /// \return 00075 /// Returns the ordinates 00076 /// 00077 FDO_GEOM_API virtual const double * GetOrdinates() = 0; 00078 00079 protected: 00080 00081 /// \brief 00082 /// Constructs a default instance. 00083 /// 00084 /// \return 00085 /// Returns nothing 00086 /// 00087 FDO_GEOM_API FdoILineStringSegment() {}; 00088 00089 /// \brief 00090 /// Default destructor. 00091 /// 00092 /// \return 00093 /// Returns nothing 00094 /// 00095 FDO_GEOM_API virtual ~FdoILineStringSegment() {}; 00096 00097 }; 00098 #endif 00099 00100
Comments or suggestions? Send us feedback. |