The Geometry API is almost completely abstract. It provides an object-oriented interface to geometry values. All objects in the Geometry API have factory methods in the FdoGeometryFactorytAbstract class. One default implementation is provided, based on FGF in-memory binary storage. It is accessible via the concrete class FdoFgfGeometryFactory.
All of the other classes in the Geometry API with the exception of two relate to the main abstract type, FdoIGeometry. They either derive from it or are components of it.
The two exception concrete classes are:
- FdoDirectPositionImpl, a small helper class implementing FdoIDirectPosition.
- FdoEnvelopeImpl, a small helper class implementing FdoIEnvelope.
Geometries in FGF format can be exchanged between software components without depending on the Geometry API itself, because they are not genuine geometry “objects.” FGF content is based on byte arrays. It is handled through a simple FdoByteArray class that is not specific to geometry.