FDO API Reference | Feature Data Objects |
00001 #ifndef _FDOTOPOLOGY_H_ 00002 #define _FDOTOPOLOGY_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 #include <FdoStd.h> 00026 #include <Fdo/Schema/ClassDefinition.h> 00027 00028 /// \brief 00029 /// This class is used to represent a topology. 00030 /// \note 00031 /// This Help topic is provided for informational use only. There is 00032 /// no interface or support provided. Autodesk reserves the right to change 00033 /// the software related to the content herein. 00034 class FdoTopology : public FdoClassDefinition 00035 { 00036 public: 00037 /// Constructor 00038 FdoTopology( 00039 /// The topology name. 00040 FdoString * name, 00041 /// The topology description. 00042 FdoString * description, 00043 /// The name of the spatial context from which to aquire spatial 00044 /// parameters for the topology. 00045 FdoString * spatialContext 00046 ); 00047 00048 /// Get the name of the node primitive feature class for this topology. 00049 FdoString * GetNodeClassName(); 00050 00051 /// Get the name of the edge primitive feature class for this topology. 00052 FdoString * GetEdgeClassName(); 00053 00054 /// Get the name of the face primitive feature class for this topology. 00055 FdoString * GetFaceClassName(); 00056 00057 /// Get the name of the spatial context for this topology. 00058 FdoString * GetSpatialContextName(); 00059 00060 /// Set the name of the spatial context for this topology. The spatial 00061 /// context must already exist. 00062 void SetSpatialContextName( 00063 FdoString * spatialContextName 00064 ); 00065 00066 private: 00067 /// The system-generated name of the feature class for node primitives in 00068 /// this topology. 00069 FdoString * nodeClassName; 00070 00071 /// The system-generated name of the feature class for edge primitives in 00072 /// this topology. 00073 FdoString * edgeClassName; 00074 00075 /// The system-generated name of the feature class for face primitives in 00076 /// this topology. 00077 FdoString * faceClassName; 00078 00079 /// The name of the spatial context in which the topology’s spatial data is 00080 /// defined. The spatial context is used to acquire extents, coordinate 00081 /// system and internal tolerances. It is also used as the common reference 00082 /// for spatial queries that span more than one topological feature class. 00083 FdoString * spatialContextName; 00084 00085 /// Public non-API functions for XML support 00086 00087 /// Initialize the class from its XML attributes 00088 virtual void InitFromXml(const FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00089 virtual void InitFromXml(FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00090 00091 /// Handle sub-elements such as properties 00092 /// Element start 00093 virtual FdoXmlSaxHandler* XmlStartElement( 00094 FdoXmlSaxContext* context, 00095 FdoString* uri, 00096 FdoString* name, 00097 FdoString* qname, 00098 FdoXmlAttributeCollection* atts 00099 ); 00100 /// Element end 00101 virtual FdoBoolean XmlEndElement( 00102 FdoXmlSaxContext* context, 00103 FdoString* uri, 00104 FdoString* name, 00105 FdoString* qname 00106 ); 00107 00108 /// Serialize this class to XML. 00109 virtual void _writeXml( FdoSchemaXmlContext* pContext ); 00110 00111 protected: 00112 /// \brief 00113 /// Dispose this object. 00114 /// 00115 /// \return 00116 /// Returns nothing 00117 /// 00118 virtual void Dispose (); 00119 00120 /// \cond DOXYGEN-IGNORE 00121 /// Hide default constructor to ensure that it cannot be used. 00122 FdoTopology() {}; 00123 virtual ~FdoTopology(); 00124 00125 /// FdoFeatureSchema::RejectChanges() support 00126 virtual void _StartChanges(); 00127 virtual void _BeginChangeProcessing(); 00128 virtual void _AcceptChanges(); 00129 virtual void _RejectChanges(); 00130 virtual void _EndChangeProcessing(); 00131 /// \endcond 00132 }; 00133 00134 00135 00136 #endif /* _FDOTOPOLOGY_H_ */ 00137 00138
Comments or suggestions? Send us feedback. |