Developer's Guide
Total Page:16
File Type:pdf, Size:1020Kb
Feature Data Objects (FDO) Developer’s Guide March 2008 © 2008 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder. Trademarks The following are registered trademarks or trademarks of Autodesk, Inc., in the USA and other countries: 3DEC (design/logo), 3December, 3December.com, 3ds Max, ActiveShapes, Actrix, ADI, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Envision, Autodesk Insight, Autodesk Intent, Autodesk Inventor, Autodesk Map, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack, Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Can You Imagine, Character Studio, Cinestream, Civil 3D, Cleaner, Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Create>what's>Next> (design/logo), Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio, Design|Studio (design/logo), Design Your World, Design Your World (design/logo), DWF, DWG, DWG (logo), DWG TrueConvert, DWG TrueView, DXF, EditDV, Education by Design, Exposure, Extending the Design Team, FBX, Filmbox, FMDesktop, Freewheel, GDX Driver, Gmax, Heads-up Design, Heidi, HOOPS, HumanIK, i-drop, iMOUT, Incinerator, IntroDV, Inventor, Inventor LT, Kaydara, Kaydara (design/logo), LocationLogic, Lustre, Maya, Mechanical Desktop, MotionBuilder, Mudbox, NavisWorks, ObjectARX, ObjectDBX, Open Reality, Opticore, Opticore Opus, PolarSnap, PortfolioWall, Powered with Autodesk Technology, Productstream, ProjectPoint, ProMaterials, Reactor, RealDWG, Real-time Roto, Recognize, Render Queue, Reveal, Revit, Showcase, ShowMotion, SketchBook, SteeringWheels, StudioTools, Topobase, Toxik, ViewCube, Visual, Visual Bridge, Visual Construction, Visual Drainage, Visual Hydro, Visual Landscape, Visual Roads, Visual Survey, Visual Syllabus, Visual Toolbox, Visual Tugboat, Visual LISP, Voice Reality, Volo, Wiretap, and WiretapCentral The following are registered trademarks or trademarks of Autodesk Canada Co. in the USA and/or Canada and other countries: Backburner, Discreet, Fire, Flame, Flint, Frost, Inferno, Multi-Master Editing, River, Smoke, Sparks, Stone, and Wire All other brand names, product names or trademarks belong to their respective holders. Disclaimer THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS MADE AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC. DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE REGARDING THESE MATERIALS. Published By: Autodesk, Inc. 111 Mclnnis Parkway San Rafael, CA 94903, USA Contents Chapter 1 About This Guide . 1 Audience and Purpose . 1 How This Guide Is Organized . 1 What’s New . 3 Chapter 2 Introduction . 5 What Is the FDO API? . 5 From the Perspective of the Client Application User . 5 From the Perspective of the Client Application Engineer . 5 Getting Started . 6 FDO Architecture and Providers . 7 What Is a Provider? . 9 Developing Applications . 11 Chapter 3 FDO Concepts . 13 Data Concepts . 13 Operational Concepts . 18 Chapter 4 Development Practices . 21 Memory Management . 21 Collections . 23 Exception Handling . 23 iii Exception Messages . 24 Managing FdoPtr Behaviors . 25 Chapter 5 Establishing a Connection . 27 Connection Semantics . 27 Establishing a Connection . 29 Chapter 6 Capabilities . 35 What Is the Capabilities API? . 35 Connection Capabilities . 36 Code . 36 Schema Capabilities . 37 Code . 37 Command Capabilities . 40 Code . 40 Expression Capabilities . 41 Code . 41 Filter Capabilities . 42 Code . 42 Geometry Capabilities . 43 Code . 43 Raster Capabilities . 44 Code . 44 Chapter 7 Schema Management . 47 Schema Package . 47 Schema Overrides . 49 Working with Schemas . 49 FDOFeatureClass . 51 FDOClass . 51 Non-Feature Class Issues . 52 Modifying Models . 55 Schema Element States . 55 Rollback Mechanism . 56 FDO XML Format . 56 Creating and Editing a GML Schema File . 62 Schema Management Examples . 72 Chapter 8 Data Maintenance . 79 Data Maintenance Operations . 79 Inserting Values . 79 Updating Values . 85 Deleting Values . 86 Related Class Topics . 87 iv | Contents Chapter 9 Performing Queries . 89 Creating a Query . 89 Query Example . 90 Chapter 10 Long Transaction Processing . 95 What Is Long Transaction Processing? . 95 Supported Interfaces . 96 Chapter 11 Filter and Expression Languages . 99 Filters . 99 Expressions . 100 Filter and Expression Text . 100 Language Issues . 101 Provider-Specific Constraints on Filter and Expression Text . 101 Filter Grammar . 101 Expression Grammar . 103 Filter and Expression Keywords . 104 Data Types . 104 Identifier . 104 Parameter . 104 String . 104 Integer . 105 Double . 105 DateTime . 105 Operators . 106 Special Character . 107 Geometry Value . 107 Chapter 12 The Geometry API . 111 Introduction . 111 FGF and WKB . 111 FGF Binary Specification . 112 FGF Text . 118 Abstract and Concrete Classes . 118 Geometry Types . 119 Mapping Between Geometry and Geometric Types . 120 Spatial Context . 120 Specify Dimensionality When Creating Geometries Using String Specifications . 121 Inserting Geometry Values . 122 Appendix A Autodesk FDO Provider for Oracle . 123 What Is FDO Provider for Oracle? . 123 Contents | v FDO Provider for Oracle General Requirements . 124 FDO Provider for Oracle Connection . 124 FDO Provider for Oracle and Foreign Schemas . 125 Foreign Schema Settings . 125 Settings on the FDO Schema Instance . 125 Settings on the Foreign Schema Instance . 125 Oracle Identity Property . 126 Read-Write Privileges . 126 Foreign Schema Limitations . 126 Ensuring Valid Views When Applying a Feature Schema Against a Foreign Schema . 126 Table Name Restrictions When Working with a Foreign Schema . 129 Schema Access on a Different Oracle Instance . 129 FDO Provider for Oracle and Schema Overrides . ..