Code
The object and variable declarations are the following:
FdoIGeometryCapabilities * geometryCapabilities;
FdoInt32 numGeometryTypes = 0;
FdoGeometryType * geometryTypes;
FdoInt32 numGeometryComponnentTypes = 0;
FdoGeometryComponentType * geometryComponentTypes;
FdoInt32 dimensionalities = 0;
The method calls are the following:
geometryCapabilities = connection->GetGeometryCapabilities();
geometryTypes = geometryCapabilities->
GetGeometryTypes(numGeometryTypes);
// loop through geometryTypes
geometryComponentTypes = geometryCapabilities->
GetGeometryComponentTypes(numGeometryComponentTypes);
// loop through geometryComponentTypes
dimensionalities = geometryCapabilities->GetDimensionalities();
// FdoDimensinality_XY is 0 and so is always
a given
if (dimensionalities & FdoDimensionality_Z) {
// do whatever
}
if (dimensionalities & FdoDimensionality_M) {
// do whatever
}