triskele/include/triskeleGdalGetType.hpp
Git Merciol f687310939 modifié : CMakeLists.txt
modifié :         CMakeListsOTB.txt
	modifié :         LICENSE
	modifié :         MakefileNoOTB
	modifié :         Readme.html
	modifié :         Readme.txt
	modifié :         include/Appli/Option.hpp
	modifié :         include/Appli/Selected.hpp
	modifié :         include/Appli/Selected.tpp
	modifié :         include/ArrayTree/ArrayTreeBuilder.hpp
	modifié :         include/ArrayTree/ArrayTreeBuilder.tpp
	modifié :         include/ArrayTree/Border.hpp
	modifié :         include/ArrayTree/Border.tpp
	modifié :         include/ArrayTree/GraphWalker.hpp
	modifié :         include/ArrayTree/GraphWalker.tpp
	modifié :         include/ArrayTree/Leader.hpp
	modifié :         include/ArrayTree/Leader.tpp
	modifié :         include/ArrayTree/Weight.hpp
	modifié :         include/ArrayTree/Weight.tpp
	modifié :         include/ArrayTree/triskeleArrayTreeBase.hpp
	modifié :         include/ArrayTree/triskeleArrayTreeBase.tpp
	modifié :         include/ArrayTree/triskeleSort.hpp
	modifié :         include/ArrayTree/triskeleSort.tpp
	modifié :         include/AttributeProfiles.hpp
	modifié :         include/AttributeProfiles.tpp
	modifié :         include/Attributes/AreaAttributes.hpp
	modifié :         include/Attributes/AreaAttributes.tpp
	modifié :         include/Attributes/AverageAttributes.hpp
	modifié :         include/Attributes/AverageAttributes.tpp
	modifié :         include/Attributes/MoIAttributes.hpp
	modifié :         include/Attributes/MoIAttributes.tpp
	modifié :         include/Attributes/SDAttributes.hpp
	modifié :         include/Attributes/SDAttributes.tpp
	modifié :         include/Attributes/WeightAttributes.hpp
	modifié :         include/Attributes/WeightAttributes.tpp
	modifié :         include/Attributes/XYAttributes.hpp
	modifié :         include/Attributes/XYAttributes.tpp
	modifié :         include/CompAttribute.hpp
	modifié :         include/CompAttribute.tpp
	modifié :         include/IImage.hpp
	modifié :         include/IImage.tpp
	modifié :         include/QuadTree/QuadTreeBuilder.hpp
	modifié :         include/Tree.hpp
	modifié :         include/Tree.tpp
	modifié :         include/TreeBuilder.hpp
	modifié :         include/TreeBuilder.tpp
	modifié :         include/TreeStats.hpp
	modifié :         include/TreeStats.tpp
	modifié :         include/XMLTree/XMLTreeBuilder.hpp
	modifié :         include/triskeleBase.hpp
	modifié :         include/triskeleBase.tpp
	modifié :         include/triskeleDealThreads.hpp
	modifié :         include/triskeleDealThreads.tpp
	modifié :         include/triskeleDebug.hpp
	modifié :         include/triskeleGdalGetType.hpp
	modifié :         otb-module.cmake
	modifié :         src/Appli/Option.cpp
	modifié :         src/Appli/Selected.cpp
	modifié :         src/ArrayTree/triskeleArrayTreeBase.cpp
	modifié :         src/CMakeLists.txt
	modifié :         src/IImage.cpp
	modifié :         src/PerfArrayTreeBuilder.cpp
	modifié :         src/QuadTree/QuadTreeBuilder.cpp
	modifié :         src/TestArrayTreeBuilder.cpp
	modifié :         src/Tree.cpp
	modifié :         src/TreeStats.cpp
	modifié :         src/XMLTree/XMLTreeBuilder.cpp
	modifié :         src/apGenerator.cpp
	modifié :         src/triskeleBase.cpp
	modifié :         src/triskeleDebug.cpp
2018-04-02 19:25:37 +02:00

75 lines
1.7 KiB
C++

#ifndef _OTB_TRISKELE_GDAL_GET_TYPE_HPP
#define _OTB_TRISKELE_GDAL_GET_TYPE_HPP
#ifdef NO_OTB
#include <gdal_priv.h>
#else
#include <otbGdalDataTypeBridge.h>
#endif
namespace otb {
namespace triskele {
enum DataType {
Unknown = 0,
Byte = 1 << 0,
UInt16 = 1 << 1,
Int16 = 1 << 2,
UInt32 = 1 << 3,
Int32 = 1 << 4,
Float = 1 << 5,
Double = 1 << 6
};
template<typename Type>
inline DataType
getType (Type v) { return DataType::Unknown; };
template<>
inline DataType
getType<uint8_t> (uint8_t v) { return DataType::Byte; };
template<>
inline DataType
getType<uint16_t> (uint16_t v) { return DataType::UInt16; };
template<>
inline DataType
getType<int16_t> (int16_t v) { return DataType::Int16; };
template<>
inline DataType
getType<uint32_t> (uint32_t v) { return DataType::UInt32; };
template<>
inline DataType
getType<int32_t> (int32_t v) { return DataType::Int32; };
template<>
inline DataType
getType<float> (float v) { return DataType::Float; };
template<>
inline DataType
getType<double> (double v) { return DataType::Double; };
// =====================
inline GDALDataType
toGDALType (DataType type) {
switch (type) {
case DataType::Byte: return GDT_Byte;
case DataType::UInt16: return GDT_UInt16;
case DataType::Int16: return GDT_Int16;
case DataType::UInt32: return GDT_UInt32;
case DataType::Int32: return GDT_Int32;
case DataType::Float: return GDT_Float32;
case DataType::Double: return GDT_Float64;
default: return GDT_Unknown;
}
}
} // triskele
} // otb
#endif // _OTB_TRISKELE_GDAL_GET_TYPE_HPP