FDO API Reference | Feature Data Objects |
00001 00002 // 00003 // Copyright (C) 2004-2006 Autodesk, Inc. 00004 // 00005 // This library is free software; you can redistribute it and/or 00006 // modify it under the terms of version 2.1 of the GNU Lesser 00007 // General Public License as published by the Free Software Foundation. 00008 // 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00017 // 00018 00019 #ifndef _FDOTOPOFEATUREPROPERTYDEFINITION_H_ 00020 #define _FDOTOPOFEATUREPROPERTYDEFINITION_H_ 00021 00022 #ifdef _WIN32 00023 #pragma once 00024 #endif 00025 00026 #include <FdoStd.h> 00027 #include <Fdo/Schema/PropertyDefinition.h> 00028 00029 /// \brief 00030 /// FdoTopoFeaturePropertyDefinition derives from FdoPropertyDefinition and its 00031 /// values can be used to relate topological primitives to one or more 00032 /// application domain features. One can use the short form "TopoFeature" to 00033 /// refer to these properties. The semantics of this property are similar to 00034 /// Object properties. One uses FdoIFeatureReader::GetObject() to retrieve 00035 /// values. 00036 /// \note 00037 /// This Help topic is provided for informational use only. There is 00038 /// no interface or support provided. Autodesk reserves the right to change 00039 /// the software related to the content herein. 00040 /// \remarks 00041 /// FdoTopoFeaturePropertyDefinition and FdoTopoGeometryPropertyDefinition are 00042 /// the matching roles of many:many relationships between topological primitives 00043 /// and application domain features. FDO Association properties are not used for 00044 /// these roles because topological relationships are not between fixed classes. 00045 /// The relationships are populated only from the TopoGeometry role, so 00046 /// TopoFeature properties need never be subject to an insertion or update 00047 /// operation. 00048 class FdoTopoFeaturePropertyDefinition : public FdoPropertyDefinition 00049 { 00050 public: 00051 00052 /// \brief 00053 /// Constructs an instance of an FdoTopoFeaturePropertyDefinition using the 00054 /// specified arguments. 00055 /// 00056 FDO_API static FdoTopoFeaturePropertyDefinition * Create( 00057 FdoString * name, 00058 FdoString * description, 00059 bool system = false 00060 ); 00061 00062 /// \cond DOXYGEN-IGNORE 00063 00064 /// Public non-API functions for XML support 00065 00066 /// Initialize the class from its XML attributes 00067 virtual void InitFromXml(const FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00068 virtual void InitFromXml(FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00069 00070 /// Handle sub-elements such as properties 00071 /// Element start 00072 virtual FdoXmlSaxHandler* XmlStartElement( 00073 FdoXmlSaxContext* context, 00074 FdoString* uri, 00075 FdoString* name, 00076 FdoString* qname, 00077 FdoXmlAttributeCollection* atts 00078 ); 00079 /// Element end 00080 virtual FdoBoolean XmlEndElement( 00081 FdoXmlSaxContext* context, 00082 FdoString* uri, 00083 FdoString* name, 00084 FdoString* qname 00085 ); 00086 00087 /// Serialize this class to XML. 00088 virtual void _writeXml( FdoSchemaXmlContext* pContext ); 00089 00090 protected: 00091 /// \brief 00092 /// Dispose this object. 00093 /// 00094 /// \return 00095 /// Returns nothing 00096 /// 00097 virtual void Dispose (); 00098 00099 /// Hide default constructor to ensure that it cannot be used. 00100 FdoTopoFeaturePropertyDefinition() {}; 00101 virtual ~FdoTopoFeaturePropertyDefinition() {}; 00102 00103 /// FdoFeatureSchema::RejectChanges() support 00104 virtual void _StartChanges(); 00105 virtual void _BeginChangeProcessing(); 00106 virtual void _AcceptChanges(); 00107 virtual void _RejectChanges(); 00108 virtual void _EndChangeProcessing(); 00109 /// \endcond 00110 }; 00111 00112 00113 00114 #endif /* _FDOTOPOFEATUREPROPERTYDEFINITION_H_ */ 00115 00116
Comments or suggestions? Send us feedback. |