FDO API Reference Feature Data Objects

GeometryType.h

Go to the documentation of this file.
00001 #ifndef _GEOMETRYTYPE_H_
00002 #define _GEOMETRYTYPE_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 #ifdef _WIN32
00022 #pragma once
00023 #endif
00024 
00025 #ifdef __cplusplus
00026     /// \brief
00027     ///  FdoGeometryType is an enumeration to denote the type of a Geometry.
00028     /// 
00029     /// \remarks
00030     ///  This enumeration applies to types that derive from FdoIGeometry.
00031     /// 
00032     /// \param FdoGeometryType_None 
00033     /// Indicates no specific type; used for "unknown", "don't care" or an incompletely constructed Geometry object.
00034     /// \param FdoGeometryType_Point 
00035     /// Point type (FdoIPoint).
00036     /// \param FdoGeometryType_LineString 
00037     /// LineString type (FdoILineString).
00038     /// \param FdoGeometryType_Polygon 
00039     /// Polygon type (FdoIPolygon).
00040     /// \param FdoGeometryType_MultiPoint 
00041     /// MultiPoint type (FdoIMultiPoint).
00042     /// \param FdoGeometryType_MultiLineString 
00043     /// MultiLineString type (FdoIMultiLineString).
00044     /// \param FdoGeometryType_MultiPolygon 
00045     /// MultiPolygon type (FdoIMultiPolygon).
00046     /// \param FdoGeometryType_MultiGeometry 
00047     /// MultiGeometry type (FdoIMultiGeometry).
00048     /// \param FdoGeometryType_CurveString 
00049     /// CurveString type (FdoICurveString).
00050     /// \param FdoGeometryType_CurvePolygon 
00051     /// CurvePolygon type (FdoICurvePolygon).
00052     /// \param FdoGeometryType_MultiCurveString 
00053     /// MultiCurveString type (FdoIMultiCurveString).
00054     /// \param FdoGeometryType_MultiCurvePolygon 
00055     /// MultiCurvePolygon type (FdoIMultiCurvePolygon).
00056     /// 
00057     enum FdoGeometryType
00058 #else
00059     typedef enum
00060 #endif
00061 {
00062     FdoGeometryType_None = 0,
00063 
00064     FdoGeometryType_Point = 1,
00065 
00066     FdoGeometryType_LineString = 2,
00067 
00068     FdoGeometryType_Polygon = 3,
00069 
00070     FdoGeometryType_MultiPoint = 4,
00071 
00072     FdoGeometryType_MultiLineString = 5,
00073 
00074     FdoGeometryType_MultiPolygon = 6,
00075 
00076     FdoGeometryType_MultiGeometry = 7,
00077 
00078     FdoGeometryType_CurveString = 10,
00079 
00080     FdoGeometryType_CurvePolygon = 11,
00081 
00082     FdoGeometryType_MultiCurveString = 12,
00083     
00084     FdoGeometryType_MultiCurvePolygon = 13
00085 
00086 #ifdef __cplusplus
00087 };
00088 #else
00089 } FdoGeometryType;
00090 #endif
00091 
00092 
00093 #ifdef __cplusplus
00094     /// \brief
00095     ///  Enumeration for components of Geometry.
00096     /// 
00097     /// \remarks
00098     ///  This enumeration applies to certain helper types that are used to compose other types which derive from FdoIGeometry.
00099     /// 
00100     /// \param FdoGeometryComponentType_LinearRing 
00101     /// LinearRing type (FdoILinearRing).
00102     /// \param FdoGeometryComponentType_CircularArcSegment 
00103     /// CircularArcSegment type (FdoICircularArcSegment).
00104     /// \param FdoGeometryComponentType_LineStringSegment 
00105     /// LineStringSegment type (FdoILineStringSegment).
00106     /// \param FdoGeometryComponentType_Ring 
00107     /// Ring type (FdoIRing).
00108     /// 
00109     enum FdoGeometryComponentType
00110 #else
00111     typedef enum
00112 #endif
00113 {
00114     FdoGeometryComponentType_LinearRing = 129,
00115 
00116     FdoGeometryComponentType_CircularArcSegment = 130,
00117 
00118     FdoGeometryComponentType_LineStringSegment = 131,
00119 
00120     FdoGeometryComponentType_Ring = 132
00121 
00122 #ifdef __cplusplus
00123 };
00124 #else
00125 } FdoGeometryComponentType;
00126 #endif
00127 #endif
00128 
00129 

Comments or suggestions? Send us feedback.