| GlsMap Toolkit 1.10.1

Classes | Public Types | Static Public Member Functions | Static Public Attributes | Protected Types | Static Protected Member Functions | Static Protected Attributes | List of all members
disti::VPFUtil Class Reference

`#include <vpf_util.h>`

## Classes
struct | Coord2DLong
struct | Coord2DShort
struct | Coord3DLong
struct | Coord3DShort
struct | DateTime
class | FilePath
class | PointerArray
struct | Triplet

## Public Types
enum | { FACC_CODE_LENGTH = 5u }
enum | EndianMode { ENDIAN_MODE_LITTLE , ENDIAN_MODE_BIG }
enum | DataType { DATA_TYPE_TEXT , DATA_TYPE_TEXT_LATIN , DATA_TYPE_TEXT_FULL_LATIN , DATA_TYPE_TEXT_MULTILINGUAL , DATA_TYPE_SHORT_FLOAT , DATA_TYPE_LONG_FLOAT , DATA_TYPE_SHORT_INTEGER , DATA_TYPE_LONG_INTEGER , DATA_TYPE_2D_COORD_SHORT , DATA_TYPE_2D_COORD_LONG , DATA_TYPE_3D_COORD_SHORT , DATA_TYPE_3D_COORD_LONG , DATA_TYPE_DATE_TIME , DATA_TYPE_NULL , DATA_TYPE_TRIPLET }
enum | KeyType { KEY_TYPE_PRIMARY , KEY_TYPE_UNIQUE , KEY_TYPE_NON_UNIQUE }
enum | FeatureType { FEATURE_TYPE_POINT , FEATURE_TYPE_LINE , FEATURE_TYPE_AREA , FEATURE_TYPE_TEXT , FEATURE_TYPE_COMPLEX }
enum | SecurityClass { SECURITY_CLASS_TOP_SECRET , SECURITY_CLASS_SECRET , SECURITY_CLASS_CONFIDENTIAL , SECURITY_CLASS_RESTRICTED , SECURITY_CLASS_UNCLASSIFIED }
typedef float | Float32
typedef double | Float64
typedef unsigned short | UInt16
typedef unsigned int | UInt32
typedef bool | WarningBool

## Static Public Member Functions
static UInt16 | DecodeUInt16 (const unsigned char *const intData, const EndianMode srcMode)
static UInt32 | DecodeUInt32 (const unsigned char *const intData, const EndianMode srcMode)
static Float32 | DecodeFloat32 (const unsigned char *const floatData, const EndianMode srcMode)
static Float64 | DecodeFloat64 (const unsigned char *const floatData, const EndianMode srcMode)
static bool | IsFloat32NULL (const Float32 f)
static bool | IsFloat64NULL (const Float64 f)
static bool | IsUInt16NULL (const UInt16 i)
static bool | IsUInt32NULL (const UInt32 i)
static bool | IsTextNULL (const char *const txt)
static void | KillTrailingWS (char *const src)
static bool | StricmpWS (const char *const s1, const char *const s2)
static bool | FileExists (const char *const fname)
static bool | DecodeFeatureType (const char featTypeChar, FeatureType &featType)
static bool | DecodeSecurityClass (const char securityClassChar, SecurityClass &securityClass)

## Static Public Attributes
static const char *const | DHT_NAME = "dht"
static const char *const | LAT_NAME = "lat"
static const char *const | BROWSE_LIB_NAME = "browse"
static const char *const | LHT_NAME = "lht"
static const char *const | GRT_NAME = "grt"
static const char *const | CAT_NAME = "cat"
static const char *const | FCS_NAME = "fcs"
static const char *const | FCA_NAME = "fca"
static const char *const | NRAT_NAME = "notes.rat"
static const char *const | CVDT_NAME = "char.vdt"
static const char *const | IVDT_NAME = "int.vdt"
static const char *const | CND_NAME = "cnd"
static const char *const | END_NAME = "end"
static const char *const | EDG_NAME = "edg"
static const char *const | FAC_NAME = "fac"
static const char *const | TXT_NAME = "txt"
static const char *const | RNG_NAME = "rng"
static const char *const | EBR_NAME = "ebr"
static const char *const | FBR_NAME = "fbr"
static const char *const | TILEREF_COV_NAME = "tileref"
static const char *const | LIBREF_COV_NAME = "libref"
static const char *const | LIB_COV_NAME = "lib"
static const char *const | TILEREF_AFT_NAME = "tileref.aft"
static const char *const | LIBREF_LFT_NAME = "libref.lft"
static const char *const | POINT_FEATURE_EXT = ".pft"
static const char *const | LINE_FEATURE_EXT = ".lft"
static const char *const | AREA_FEATURE_EXT = ".aft"
static const char *const | TEXT_FEATURE_EXT = ".tft"
static const char *const | LINE_FEATURE_JOIN_EXT = ".ljt"
static const char *const | AREA_FEATURE_JOIN_EXT = ".ajt"
static const char *const | COMPLEX_FEATURE_EXT = ".cft"
static const char *const | ID_COLUMN_NAME = "id"
static const char *const | TILE_ID_COLUMN_NAME = "tile_id"
static const char *const | END_ID_COLUMN_NAME = "end_id"
static const char *const | RIGHT_FACE_COLUMN_NAME = "right_face"
static const char *const | LEFT_FACE_COLUMN_NAME = "left_face"
static const char *const | RIGHT_EDGE_COLUMN_NAME = "right_edge"
static const char *const | LEFT_EDGE_COLUMN_NAME = "left_edge"
static const char *const | EDGE_ID_COLUMN_NAME = "edg_id"
static const char *const | TEXT_ID_COLUMN_NAME = "txt_id"
static const char *const | FACC_CODE_COLUMN_NAME = "f_code"

## Protected Types
enum | { UINT16_NULL_VALUE = 0x8000u }
enum | { UINT32_NULL_VALUE = 0x80000000U }

## Static Protected Member Functions
static void | SwapTwo (const unsigned char *const src, unsigned char *const dst, const EndianMode srcMode)
static void | SwapFour (const unsigned char *const src, unsigned char *const dst, const EndianMode srcMode)
static void | SwapEight (const unsigned char *const src, unsigned char *const dst, const EndianMode srcMode)

## Static Protected Attributes
static const EndianMode | _targetEndianMode = ENDIAN_MODE_BIG

## Detailed Description

collection of VPF related utility functions, types, and constants

## Member Typedef Documentation

## ◆ Float32

typedef float disti::VPFUtil::Float32

32-bit floating point

## ◆ Float64

typedef double disti::VPFUtil::Float64

64-bit floating point

## ◆ UInt16

typedef unsigned short disti::VPFUtil::UInt16

16-bit VPF unsigned integer

## ◆ UInt32

typedef unsigned int disti::VPFUtil::UInt32

32-bit VPF unsigned integer

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum
| protected

a NULL UInt32 value

## ◆ anonymous enum

anonymous enum
| protected

a NULL UInt16 value

## ◆ DataType

enum disti::VPFUtil::DataType

possible VPF data types

Enumerator
DATA_TYPE_TEXT | text
DATA_TYPE_TEXT_LATIN | text Level 1, Latin 1 - ISO 8859
DATA_TYPE_TEXT_FULL_LATIN | text Level 2, Full Latin - ISO 6937
DATA_TYPE_TEXT_MULTILINGUAL | text Level 3, Multilingual ISO 10646
DATA_TYPE_SHORT_FLOAT | IEEE 784 single precision float 32-bits
DATA_TYPE_LONG_FLOAT | IEEE 784 double precision float 64-bits
DATA_TYPE_SHORT_INTEGER | 16-bit integer
DATA_TYPE_LONG_INTEGER | 32-bit integer
DATA_TYPE_2D_COORD_SHORT | 2D coordinate of short float
DATA_TYPE_2D_COORD_LONG | 2D coordinate of long float
DATA_TYPE_3D_COORD_SHORT | 3D coordinate of short float
DATA_TYPE_3D_COORD_LONG | 3D coordinate of long float
DATA_TYPE_DATE_TIME | Date and Time
DATA_TYPE_NULL | NULL field
DATA_TYPE_TRIPLET | Triplet ID

## ◆ EndianMode

enum disti::VPFUtil::EndianMode

enum of byte ordering modes

## ◆ FeatureType

enum disti::VPFUtil::FeatureType

possible VPF feature types

## ◆ KeyType

enum disti::VPFUtil::KeyType

possible VPF table column key types

Enumerator
KEY_TYPE_PRIMARY | primary key
KEY_TYPE_UNIQUE | unique key
KEY_TYPE_NON_UNIQUE | non unique key

## ◆ SecurityClass

enum disti::VPFUtil::SecurityClass

security classifications

## Member Function Documentation

## ◆ DecodeFeatureType()

bool VPFUtil::DecodeFeatureType | ( | const char | featTypeChar,
|  | FeatureType & | featType
| ) |  |
| static

Decode a feature type character indicator from a VPF table into a feature type

Parameters

  featTypeChar | feature type character indicator
  &featType | [out] gets feature type on success

Returns
  true on success else false

## ◆ DecodeFloat32()

VPFUtil::Float32 VPFUtil::DecodeFloat32 | ( | const unsigned char *const | floatData,
|  | const EndianMode | srcMode
| ) |  |
| static

Construct a Float32 from four bytes of data read from a VPF file, correcting for source and target endian mode as needed.

Parameters

  floatData | four bytes of data
  srcMode | endian mode of floatData

Returns
  Float32 value

## ◆ DecodeFloat64()

VPFUtil::Float64 VPFUtil::DecodeFloat64 | ( | const unsigned char *const | floatData,
|  | const EndianMode | srcMode
| ) |  |
| static

Construct a Float64 from eight bytes of data read from a VPF file, correcting for source and target endian mode as needed.

Parameters

  floatData | eight bytes of data
  srcMode | endian mode of floatData

Returns
  Float64 value

## ◆ DecodeSecurityClass()

bool VPFUtil::DecodeSecurityClass | ( | const char | securityClassChar,
|  | SecurityClass & | securityClass
| ) |  |
| static

Decode a security class character indicator from a VPF table into a security class

Parameters

  securityClassChar | security class character indicator
  &securityClass | [out] gets security class on success

Returns
  true on success else false

## ◆ DecodeUInt16()

VPFUtil::UInt16 VPFUtil::DecodeUInt16 | ( | const unsigned char *const | intData,
|  | const EndianMode | srcMode
| ) |  |
| static

Construct an UInt16 from tow bytes of data read from a VPF file, correcting for source and target endian mode as needed.

Parameters

  intData | tow bytes of data
  srcMode | endian mode of intData

Returns
  UInt16 integer value

## ◆ DecodeUInt32()

VPFUtil::UInt32 VPFUtil::DecodeUInt32 | ( | const unsigned char *const | intData,
|  | const EndianMode | srcMode
| ) |  |
| static

Construct an UInt32 from four bytes of data read from a VPF file, correcting for source and target endian mode as needed.

Parameters

  intData | four bytes of data
  srcMode | endian mode of intData

Returns
  UInt32 integer value

## ◆ FileExists()

bool VPFUtil::FileExists | ( | const char *const | fname | ) |
| static

Determine if a file exists

Parameters

  fname | name of file

Returns
  true if file exists else false

## ◆ IsFloat32NULL()

static bool disti::VPFUtil::IsFloat32NULL | ( | const Float32 | f | ) |
| inline static

Determine if the given Float32 is a NULL value

Parameters

  f | Float32 in question

Returns
  true if NULL else false

## ◆ IsFloat64NULL()

static bool disti::VPFUtil::IsFloat64NULL | ( | const Float64 | f | ) |
| inline static

Determine if the given Float64 is a NULL value

Parameters

  f | Float64 in question

Returns
  true if NULL else false

## ◆ IsTextNULL()

static bool disti::VPFUtil::IsTextNULL | ( | const char *const | txt | ) |
| inline static

Determine if the given text value is a NULL value

Parameters

  txt | text in question

Returns
  true if NULL text value else NULL

## ◆ IsUInt16NULL()

static bool disti::VPFUtil::IsUInt16NULL | ( | const UInt16 | i | ) |
| inline static

Determine if the given UInt16 is NULL value

Parameters

  i | UInt16 in question

Returns
  true if NULL else false

## ◆ IsUInt32NULL()

static bool disti::VPFUtil::IsUInt32NULL | ( | const UInt32 | i | ) |
| inline static

Determine if the given UInt32 is NULL value

Parameters

  i | UInt32 in question

Returns
  true if NULL else false

## ◆ KillTrailingWS()

void VPFUtil::KillTrailingWS | ( | char *const | src | ) |
| static

Kill any trailing white space in the given string

Parameters

  src | string in question

## ◆ StricmpWS()

bool VPFUtil::StricmpWS | ( | const char *const | s1,
|  | const char *const | s2
| ) |  |
| static

Perform a lower case comparison of the two strings, stopping at the first whitespace character

Parameters

  s1 | first string to compare
  s2 | second string to compare

Returns
  true if strings match else false

## ◆ SwapEight()

void VPFUtil::SwapEight | ( | const unsigned char *const | src,
|  | unsigned char *const | dst,
|  | const EndianMode | srcMode
| ) |  |
| static protected

Swap (reverse) the given eight byte buffer if its endian mode does not match the mode of the endian mode of the target architecture

Parameters

  src | source data to swap (must be at least 8 bytes long)
  dst | [out] receives potentially swapped data (must be at least 8 bytes long)
  srcMode | endian mode of source data

## ◆ SwapFour()

void VPFUtil::SwapFour | ( | const unsigned char *const | src,
|  | unsigned char *const | dst,
|  | const EndianMode | srcMode
| ) |  |
| static protected

Swap (reverse) the given four byte buffer if its endian mode does not match the mode of the endian mode of the target architecture

Parameters

  src | source data to swap (must be at least 4 bytes long)
  dst | [out] receives potentially swapped data (must be at least 4 bytes long)
  srcMode | endian mode of source data

## ◆ SwapTwo()

void VPFUtil::SwapTwo | ( | const unsigned char *const | src,
|  | unsigned char *const | dst,
|  | const EndianMode | srcMode
| ) |  |
| static protected

Swap (reverse) the given two byte buffer if its endian mode does not match the mode of the endian mode of the target architecture

Parameters

  src | source data to swap (must be at least 2 bytes long)
  dst | [out] receives potentially swapped data (must be at least 2 bytes long)
  srcMode | endian mode of source data

## Member Data Documentation

## ◆ _targetEndianMode

const VPFUtil::EndianMode VPFUtil::_targetEndianMode = ENDIAN_MODE_BIG
| static protected

endian mode of target architecture

## ◆ AREA_FEATURE_EXT

const char *const VPFUtil::AREA_FEATURE_EXT = ".aft"
| static

file extension for an area feature table

## ◆ AREA_FEATURE_JOIN_EXT

const char *const VPFUtil::AREA_FEATURE_JOIN_EXT = ".ajt"
| static

file extension for an area join table

## ◆ BROWSE_LIB_NAME

const char *const VPFUtil::BROWSE_LIB_NAME = "browse"
| static

name of browse library

## ◆ CAT_NAME

const char *const VPFUtil::CAT_NAME = "cat"
| static

name of coverage attribute table

## ◆ CND_NAME

const char *const VPFUtil::CND_NAME = "cnd"
| static

name of connected node primitive table

## ◆ COMPLEX_FEATURE_EXT

const char *const VPFUtil::COMPLEX_FEATURE_EXT = ".cft"
| static

file extension for a complex feature table

## ◆ CVDT_NAME

const char *const VPFUtil::CVDT_NAME = "char.vdt"
| static

name of character value descriptor table

## ◆ DHT_NAME

const char *const VPFUtil::DHT_NAME = "dht"
| static

name of database header table

## ◆ EBR_NAME

const char *const VPFUtil::EBR_NAME = "ebr"
| static

name of edge bounding rectangle table

## ◆ EDG_NAME

const char *const VPFUtil::EDG_NAME = "edg"
| static

name of edge primitive table

## ◆ EDGE_ID_COLUMN_NAME

const char *const VPFUtil::EDGE_ID_COLUMN_NAME = "edg_id"
| static

name of edge ID column in a VPF table

## ◆ END_ID_COLUMN_NAME

const char *const VPFUtil::END_ID_COLUMN_NAME = "end_id"
| static

name of entity node ID column in a VPF table

## ◆ END_NAME

const char *const VPFUtil::END_NAME = "end"
| static

name of entity node primitive table

## ◆ FAC_NAME

const char *const VPFUtil::FAC_NAME = "fac"
| static

name of face primitive table

## ◆ FACC_CODE_COLUMN_NAME

const char *const VPFUtil::FACC_CODE_COLUMN_NAME = "f_code"
| static

name of facc code column in a VPF table

## ◆ FBR_NAME

const char *const VPFUtil::FBR_NAME = "fbr"
| static

name of face bounding rectangle table

## ◆ FCA_NAME

const char *const VPFUtil::FCA_NAME = "fca"
| static

name of feature class attribute table

## ◆ FCS_NAME

const char *const VPFUtil::FCS_NAME = "fcs"
| static

name of feature class schema table

## ◆ GRT_NAME

const char *const VPFUtil::GRT_NAME = "grt"
| static

name of geographic reference table

## ◆ ID_COLUMN_NAME

const char *const VPFUtil::ID_COLUMN_NAME = "id"
| static

name of ID column in any VPF table (always first column)

## ◆ IVDT_NAME

const char *const VPFUtil::IVDT_NAME = "int.vdt"
| static

name of integer value descriptor table

## ◆ LAT_NAME

const char *const VPFUtil::LAT_NAME = "lat"
| static

name of library attribute table

## ◆ LEFT_EDGE_COLUMN_NAME

const char *const VPFUtil::LEFT_EDGE_COLUMN_NAME = "left_edge"
| static

name of left edge column in a VPF table

## ◆ LEFT_FACE_COLUMN_NAME

const char *const VPFUtil::LEFT_FACE_COLUMN_NAME = "left_face"
| static

name of left face column in a VPF table

## ◆ LHT_NAME

const char *const VPFUtil::LHT_NAME = "lht"
| static

name of library header table

## ◆ LIB_COV_NAME

const char *const VPFUtil::LIB_COV_NAME = "lib"
| static

name of the library coverage

## ◆ LIBREF_COV_NAME

const char *const VPFUtil::LIBREF_COV_NAME = "libref"
| static

name of the libref coverage

## ◆ LIBREF_LFT_NAME

const char *const VPFUtil::LIBREF_LFT_NAME = "libref.lft"
| static

name of the libref line feature table

## ◆ LINE_FEATURE_EXT

const char *const VPFUtil::LINE_FEATURE_EXT = ".lft"
| static

file extension for a line feature table

## ◆ LINE_FEATURE_JOIN_EXT

const char *const VPFUtil::LINE_FEATURE_JOIN_EXT = ".ljt"
| static

file extension for a line join table

## ◆ NRAT_NAME

const char *const VPFUtil::NRAT_NAME = "notes.rat"
| static

name of notes related attribute table

## ◆ POINT_FEATURE_EXT

const char *const VPFUtil::POINT_FEATURE_EXT = ".pft"
| static

file extension for a point feature table

## ◆ RIGHT_EDGE_COLUMN_NAME

const char *const VPFUtil::RIGHT_EDGE_COLUMN_NAME = "right_edge"
| static

name of right edge column in a VPF table

## ◆ RIGHT_FACE_COLUMN_NAME

const char *const VPFUtil::RIGHT_FACE_COLUMN_NAME = "right_face"
| static

name of right face column in a VPF table

## ◆ RNG_NAME

const char *const VPFUtil::RNG_NAME = "rng"
| static

name of ring table

## ◆ TEXT_FEATURE_EXT

const char *const VPFUtil::TEXT_FEATURE_EXT = ".tft"
| static

file extension for a text feature table

## ◆ TEXT_ID_COLUMN_NAME

const char *const VPFUtil::TEXT_ID_COLUMN_NAME = "txt_id"
| static

name of text ID column in a VPF table

## ◆ TILE_ID_COLUMN_NAME

const char *const VPFUtil::TILE_ID_COLUMN_NAME = "tile_id"
| static

name of tile ID column in a VPF table

## ◆ TILEREF_AFT_NAME

const char *const VPFUtil::TILEREF_AFT_NAME = "tileref.aft"
| static

name of the tileref area feature table

## ◆ TILEREF_COV_NAME

const char *const VPFUtil::TILEREF_COV_NAME = "tileref"
| static

name of the tileref coverage

## ◆ TXT_NAME

const char *const VPFUtil::TXT_NAME = "txt"
| static

name of text primitive table

The documentation for this class was generated from the following files:

- vpf_util.h
- vpf_util.cpp