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 /// Public non-API functions for XML support 00064 00065 /// Initialize the class from its XML attributes 00066 virtual void InitFromXml(const FdoString* classTypeName, FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00067 virtual void InitFromXml(FdoSchemaXmlContext* pContext, FdoXmlAttributeCollection* attrs); 00068 00069 /// Handle sub-elements such as properties 00070 /// Element start 00071 virtual FdoXmlSaxHandler* XmlStartElement( 00072 FdoXmlSaxContext* context, 00073 FdoString* uri, 00074 FdoString* name, 00075 FdoString* qname, 00076 FdoXmlAttributeCollection* atts 00077 ); 00078 /// Element end 00079 virtual FdoBoolean XmlEndElement( 00080 FdoXmlSaxContext* context, 00081 FdoString* uri, 00082 FdoString* name, 00083 FdoString* qname 00084 ); 00085 00086 /// Serialize this class to XML. 00087 virtual void _writeXml( FdoSchemaXmlContext* pContext ); 00088 00089 protected: 00090 /// \brief 00091 /// Dispose this object. 00092 /// 00093 /// \return 00094 /// Returns nothing 00095 /// 00096 virtual void Dispose (); 00097 00098 /// Hide default constructor to ensure that it cannot be used. 00099 FdoTopoFeaturePropertyDefinition() {}; 00100 virtual ~FdoTopoFeaturePropertyDefinition() {}; 00101 00102 /// FdoFeatureSchema::RejectChanges() support 00103 virtual void _StartChanges(); 00104 virtual void _BeginChangeProcessing(); 00105 virtual void _AcceptChanges(); 00106 virtual void _RejectChanges(); 00107 virtual void _EndChangeProcessing(); 00108 /// \endcond 00109 }; 00110 00111 00112 00113 #endif /* _FDOTOPOFEATUREPROPERTYDEFINITION_H_ */ 00114 00115
Comments or suggestions? Send us feedback. |