/*! Creates a GeoVectorProperty that stores values described by \a format,
    \a dim, \a usage and \a normalize.
 */
GeoVectorPropertyTransitPtr GeoPropertyFactoryBase::create(
    UInt32 format, UInt32 dim, UInt32 vecType, bool normalize)
{
    GeoVectorPropertyTransitPtr returnValue;

    UInt32 formatIdx    = mapFormat    (format   );
    UInt32 dimIdx       = mapDimension (dim      );
    UInt32 vecTypeIdx   = mapVectorType(vecType  );
    UInt32 normalizeIdx = mapNormalize (normalize);
    
    if(formatIdx    == TypeTraits<UInt32>::getMax() ||
       dimIdx       == TypeTraits<UInt32>::getMax() ||
       vecTypeIdx   == TypeTraits<UInt32>::getMax() ||
       normalizeIdx == TypeTraits<UInt32>::getMax()   )
    {
        FWARNING(("GeoPropertyFactoryBase::create: Invalid parameters: "
                  "format [%d] dim [%d] vecType [%d] normalize [%d].\n",
                  format, dim, vecType, normalize));
    }

    returnValue = _createFuncMap[vecTypeIdx][dimIdx][formatIdx][normalizeIdx]();
    
    return returnValue;
}
Beispiel #2
0
		TileKeyDimensions() {
			mapDimension(TileKey::ZOOM, "ZOOM");
			mapDimension(TileKey::X, "X");
			mapDimension(TileKey::Y, "Y");
		}