Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Private Attributes | Friends | List of all members
vil_nitf2_header Class Reference

Parses a NITF 2.1 file header for vil_nitf2_image. More...

#include <vil_nitf2_header.h>

Public Types

enum  portion_type { enum_subheader, enum_data }
 
enum  section_type {
  enum_file_header = 0, enum_image_segments, enum_graphic_segments, enum_label_segments,
  enum_text_segments, enum_data_extension_segments, enum_reserved_extension_segments
}
 

Public Member Functions

 vil_nitf2_header ()
 
virtual ~vil_nitf2_header ()
 
virtual bool read (vil_stream *stream)
 
template<class T >
bool get_property (std::string tag, T &out_value) const
 
template<class T >
bool get_property (std::string tag, int i, T &out_value) const
 
vil_nitf2_classification::file_version file_version () const
 
virtual vil_nitf2_field::field_treeget_tree () const
 

Static Public Member Functions

static std::string section_num_tag (section_type sec)
 
static std::string section_len_header_tag (section_type sec)
 
static std::string section_len_data_tag (section_type sec)
 

Static Protected Member Functions

static vil_nitf2_field_definitionsget_field_definitions_1 ()
 
static vil_nitf2_field_definitionsget_field_definitions_2 (vil_nitf2_classification::file_version version)
 

Protected Attributes

vil_nitf2_field_sequence m_field_sequence1
 
vil_nitf2_field_sequencem_field_sequence2
 
vil_nitf2_field_sequencem_field_sequence_classification
 

Static Private Attributes

static vil_nitf2_field_definitionss_field_definitions_1 = nullptr
 
static vil_nitf2_field_definitionss_field_definitions_21 = nullptr
 
static vil_nitf2_field_definitionss_field_definitions_20 = nullptr
 

Friends

void vil_nitf2::cleanup_static_members ()
 

Detailed Description

Parses a NITF 2.1 file header for vil_nitf2_image.

Use get_property() to get a field value.

Definition at line 18 of file vil_nitf2_header.h.

Member Enumeration Documentation

◆ portion_type

Enumerator
enum_subheader 
enum_data 

Definition at line 25 of file vil_nitf2_header.h.

◆ section_type

Enumerator
enum_file_header 
enum_image_segments 
enum_graphic_segments 
enum_label_segments 
enum_text_segments 
enum_data_extension_segments 
enum_reserved_extension_segments 

Definition at line 29 of file vil_nitf2_header.h.

Constructor & Destructor Documentation

◆ vil_nitf2_header()

vil_nitf2_header::vil_nitf2_header ( )

Definition at line 20 of file vil_nitf2_header.cxx.

◆ ~vil_nitf2_header()

vil_nitf2_header::~vil_nitf2_header ( )
virtual

Definition at line 26 of file vil_nitf2_header.cxx.

Member Function Documentation

◆ file_version()

vil_nitf2_classification::file_version vil_nitf2_header::file_version ( ) const

Definition at line 219 of file vil_nitf2_header.cxx.

◆ get_field_definitions_1()

vil_nitf2_field_definitions * vil_nitf2_header::get_field_definitions_1 ( )
staticprotected

Definition at line 192 of file vil_nitf2_header.cxx.

◆ get_field_definitions_2()

vil_nitf2_field_definitions * vil_nitf2_header::get_field_definitions_2 ( vil_nitf2_classification::file_version  version)
staticprotected

Definition at line 99 of file vil_nitf2_header.cxx.

◆ get_property() [1/2]

template<class T >
bool vil_nitf2_header::get_property ( std::string  tag,
T &  out_value 
) const
inline

Definition at line 49 of file vil_nitf2_header.h.

◆ get_property() [2/2]

template<class T >
bool vil_nitf2_header::get_property ( std::string  tag,
int  i,
T &  out_value 
) const
inline

Definition at line 59 of file vil_nitf2_header.h.

◆ get_tree()

vil_nitf2_field::field_tree * vil_nitf2_header::get_tree ( ) const
virtual

Definition at line 232 of file vil_nitf2_header.cxx.

◆ read()

bool vil_nitf2_header::read ( vil_stream stream)
virtual

Definition at line 74 of file vil_nitf2_header.cxx.

◆ section_len_data_tag()

std::string vil_nitf2_header::section_len_data_tag ( section_type  sec)
static

Definition at line 60 of file vil_nitf2_header.cxx.

◆ section_len_header_tag()

std::string vil_nitf2_header::section_len_header_tag ( section_type  sec)
static

Definition at line 46 of file vil_nitf2_header.cxx.

◆ section_num_tag()

std::string vil_nitf2_header::section_num_tag ( section_type  sec)
static

Definition at line 32 of file vil_nitf2_header.cxx.

Friends And Related Function Documentation

◆ vil_nitf2::cleanup_static_members

Member Data Documentation

◆ m_field_sequence1

vil_nitf2_field_sequence vil_nitf2_header::m_field_sequence1
protected

Definition at line 74 of file vil_nitf2_header.h.

◆ m_field_sequence2

vil_nitf2_field_sequence* vil_nitf2_header::m_field_sequence2
protected

Definition at line 75 of file vil_nitf2_header.h.

◆ m_field_sequence_classification

vil_nitf2_field_sequence* vil_nitf2_header::m_field_sequence_classification
protected

Definition at line 76 of file vil_nitf2_header.h.

◆ s_field_definitions_1

vil_nitf2_field_definitions * vil_nitf2_header::s_field_definitions_1 = nullptr
staticprivate

Definition at line 83 of file vil_nitf2_header.h.

◆ s_field_definitions_20

vil_nitf2_field_definitions * vil_nitf2_header::s_field_definitions_20 = nullptr
staticprivate

Definition at line 85 of file vil_nitf2_header.h.

◆ s_field_definitions_21

vil_nitf2_field_definitions * vil_nitf2_header::s_field_definitions_21 = nullptr
staticprivate

Definition at line 84 of file vil_nitf2_header.h.


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