- Main Page
- Related Pages
- Modules
- Classes
- Files

# TopoFeaturePropertyDefinition.h

Go to the documentation of this file.

    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(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

Please send us your comment about this page