pcidsk_types.h

00001 /******************************************************************************
00002  *
00003  * Purpose:  Enumerations, data types and related helpers for the PCIDSK SDK
00004  * 
00005  ******************************************************************************
00006  * Copyright (c) 2009
00007  * PCI Geomatics, 50 West Wilmot Street, Richmond Hill, Ont, Canada
00008  *
00009  * Permission is hereby granted, free of charge, to any person obtaining a
00010  * copy of this software and associated documentation files (the "Software"),
00011  * to deal in the Software without restriction, including without limitation
00012  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00013  * and/or sell copies of the Software, and to permit persons to whom the
00014  * Software is furnished to do so, subject to the following conditions:
00015  *
00016  * The above copyright notice and this permission notice shall be included
00017  * in all copies or substantial portions of the Software.
00018  *
00019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00020  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00022  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00024  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00025  * DEALINGS IN THE SOFTWARE.
00026  ****************************************************************************/
00027 #ifndef __INCLUDE_PCIDSK_TYPES_H
00028 #define __INCLUDE_PCIDSK_TYPES_H
00029 
00030 #include "pcidsk_config.h"
00031 
00032 #include <string>
00033 
00034 namespace PCIDSK
00035 {
00037     typedef enum {
00038         CHN_8U=0,     
00039         CHN_16S=1,    
00040         CHN_16U=2,    
00041         CHN_32R=3,    
00042         CHN_C16U=4,     
00043         CHN_C16S=5,     
00044         CHN_C32R=6,     
00045         CHN_BIT=7,      
00046         CHN_UNKNOWN=99 
00047     } eChanType;
00048 
00050     typedef enum {
00051         SEG_UNKNOWN = -1, 
00052 
00053         SEG_BIT = 101,
00054         SEG_VEC = 116, 
00055         SEG_SIG = 121,
00056         SEG_TEX = 140,
00057         SEG_GEO = 150,
00058         SEG_ORB = 160,
00059         SEG_LUT = 170,
00060         SEG_PCT = 171,
00061         SEG_BLUT = 172,
00062         SEG_BPCT = 173,
00063         SEG_BIN = 180,
00064         SEG_ARR = 181,
00065         SEG_SYS = 182,
00066         SEG_GCPOLD = 214,
00067         SEG_GCP2 = 215
00068     } eSegType;
00069     
00070     // Helper functions for working with segments and data types
00071     int PCIDSK_DLL DataTypeSize( eChanType );
00072     std::string PCIDSK_DLL DataTypeName( eChanType );
00073     std::string PCIDSK_DLL SegmentTypeName( eSegType );
00074     eChanType PCIDSK_DLL GetDataTypeFromName(std::string const& type_name);
00075     bool PCIDSK_DLL IsDataTypeComplex(eChanType type);
00076 
00077 } // end namespace PCIDSK
00078 
00079 #endif // __INCLUDE_PCIDSK_TYPES_H

Generated on Fri Jul 16 16:01:31 2010 for libpcidsk by  doxygen 1.5.1