FDO API Reference Feature Data Objects

ITopologyCapabilities.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 _FDOITOPOLOGYCAPABILITIES_H_
00020 #define _FDOITOPOLOGYCAPABILITIES_H_
00021 
00022 /// \brief
00023 /// FDO supports properties that inform the client code about capabilities that
00024 /// may vary between providers. 
00025 /// /note
00026 /// This Help topic is provided for informational use only. There is
00027 /// no interface or support provided. Autodesk reserves the right to change
00028 /// the software related to the content herein.
00029 class FdoITopologyCapabilities : public FdoIDisposable
00030 {
00031     public:
00032     /// True if the provider supports topology; if this is false, attempts to
00033     /// create topology-specific schema will fail.
00034     FDO_API virtual bool SupportsTopology() = 0;
00035 
00036     /// True if the provider supports TopoGeometry properties that depend on
00037     /// each other in a hierarchy; if this is false, attempting to set a
00038     /// non-NULL for FdoTopoGeometryPropertyDefinition's "DependsOnTopoGeometry"
00039     /// property will fail.
00040     FDO_API virtual bool SupportsTopologicalHierarchy() = 0;
00041 
00042     /// True if the provider automatically (as a result of geometry assignment)
00043     /// breaks curves and inserts nodes wherever curves cross or touch, or where
00044     /// a node touches a curve.
00045     FDO_API virtual bool BreaksCurveCrossingsAutomatically() = 0;
00046 
00047     /// True if the provider supports the activation of a topology using an area
00048     /// (surface) restriction; this may involve the use of pessimistic locking.
00049     FDO_API virtual bool ActivatesTopologyByArea() = 0;
00050 
00051     /// True if the provider constrains edits of TopoGeometry properties (by
00052     /// geometry value) to those that do not change topological relationships.
00053     FDO_API virtual bool ConstrainsFeatureMovements() = 0;
00054 };
00055 
00056 #endif /* _FDOITOPOLOGYCAPABILITIES_H_ */
00057 
00058 

Comments or suggestions? Send us feedback.