00001
00015 #ifndef INC_MI32_TRANS2DMODEL_H
00016 #define INC_MI32_TRANS2DMODEL_H
00017
00018 #ifndef INC_MI32_STDDEFNS_H
00019 #include <mi32/stddefns.h>
00020 #endif
00021
00022
00024
00025 enum TRANS2DMODEL {
00026 TRANS2DMODEL_Order_2 = 2,
00027 TRANS2DMODEL_Order_3 = 3,
00028 TRANS2DMODEL_Order_4 = 4,
00029 TRANS2DMODEL_Order_5 = 5,
00030 TRANS2DMODEL_Order_6 = 6,
00031 TRANS2DMODEL_Order_7 = 7,
00032 TRANS2DMODEL_Order_8 = 8,
00033 TRANS2DMODEL_Order_9 = 9,
00034
00035 TRANS2DMODEL_Identity = 0x0000,
00036 TRANS2DMODEL_Affine = 0x0100,
00037 TRANS2DMODEL_PlaneProj = 0x0200,
00038 TRANS2DMODEL_Bilinear = 0x0300,
00039 TRANS2DMODEL_Polynomial = 0x0400,
00040 TRANS2DMODEL_Quintic = 0x0500,
00041 TRANS2DMODEL_SpaceResect = 0x0600,
00042 TRANS2DMODEL_Conformal = 0x0700,
00043 TRANS2DMODEL_RubberSheet = 0x0800,
00044 TRANS2DMODEL_RationalPolynomial = 0x0900,
00045
00046 TRANS2DMODEL_Piecewise = 0x8000,
00047 TRANS2DMODEL_OrientSame = 0x0000,
00048 TRANS2DMODEL_OrientInvert = 0x4000,
00049 TRANS2DMODEL_3D = 0x2000,
00050
00051 TRANS2DMODEL_Polynomial2 = TRANS2DMODEL_Polynomial|2,
00052 TRANS2DMODEL_Polynomial3 = TRANS2DMODEL_Polynomial|3,
00053 TRANS2DMODEL_Polynomial4 = TRANS2DMODEL_Polynomial|4,
00054 TRANS2DMODEL_PiecewiseAffine2D = TRANS2DMODEL_Piecewise|TRANS2DMODEL_Affine,
00055 TRANS2DMODEL_PiecewiseAffine3D = TRANS2DMODEL_Piecewise|TRANS2DMODEL_Affine|TRANS2DMODEL_3D,
00056
00057 TRANS2DMODEL_MASK_Order = 0x00FF,
00058 TRANS2DMODEL_MASK_Type = 0x0F00,
00059 TRANS2DMODEL_MASK_Flags = 0xF000
00060 };
00061
00062 #define TRANS2DMODEL_OrderMask TRANS2DMODEL_MASK_Order
00063 #define TRANS2DMODEL_TypeMask TRANS2DMODEL_MASK_Type
00064 #define TRANS2DMODEL_FlagMask TRANS2DMODEL_MASK_Flags
00065
00066 #ifndef GENERATING_DOXYGEN_OUTPUT
00067 DEFINE_ENUM_OP_BITWISE(TRANS2DMODEL)
00068 #endif
00069
00070 inline TRANS2DMODEL TRANS2DMODEL_PolynomialN (int order)
00071 { return (static_cast<TRANS2DMODEL>(TRANS2DMODEL_Polynomial|order)); }
00072
00073 #endif // INC_MI32_TRANS2DMODEL_H