13 # include <vcl_msvc_warnings.h> 21 : m_field_sequence1(*get_field_definitions_1()),
22 m_field_sequence2(nullptr),
23 m_field_sequence_classification(nullptr)
106 if (field_defs)
return field_defs;
112 .field(
"FSCOP",
"File Copy Number",
NITF_INT(5),
true ,
nullptr,
nullptr)
113 .field(
"FSCPYS",
"File Number of Copies",
NITF_INT(5),
true ,
nullptr,
nullptr)
114 .field(
"ENCRYP",
"Encryption",
NITF_INT(1),
false,
nullptr,
nullptr);
118 .field(
"ONAME",
"Originator's Name",
NITF_STR_ECSA(27),
true,
nullptr,
nullptr);
122 .field(
"FBKGC",
"File Background Color 1",
NITF_BIN(3),
true,
nullptr,
nullptr)
123 .field(
"ONAME",
"Originator's Name",
NITF_STR_ECSA(24),
true,
nullptr,
nullptr);
127 .field(
"OPHONE",
"Originator's Phone Number",
NITF_STR_ECSA(18),
true,
nullptr,
nullptr)
128 .field(
"FL",
"File Length",
NITF_LONG(12),
false,
nullptr,
nullptr)
129 .field(
"HL",
"NITF File Header Length",
NITF_INT(6),
false,
nullptr,
nullptr)
131 .field(
"NUMI",
"Number of Image Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
134 .field(
"LISH",
"Lengh of Image Subheader",
NITF_INT(6),
false,
nullptr,
nullptr)
135 .field(
"LI",
"Length of Image Segment",
NITF_LONG(10),
false,
nullptr,
nullptr))
137 .field(
"NUMS",
"Number of Graphic Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
140 .field(
"LSSH",
"Length of Graphic Subheader",
NITF_INT(4),
false,
nullptr,
nullptr)
141 .field(
"LS",
"Length of Graphic Segment",
NITF_INT(6),
false,
nullptr,
nullptr))
143 .field(
"NUML",
"Number of Label Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
146 .field(
"LLSH",
"Length of Label Subheader",
NITF_INT(4),
false,
nullptr,
nullptr)
147 .field(
"LL",
"Length of Label Segment",
NITF_INT(3),
false,
nullptr,
nullptr))
149 .field(
"NUMT",
"Number of Text Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
152 .field(
"LTSH",
"Length of Text Subheader",
NITF_INT(4),
false,
nullptr,
nullptr)
153 .field(
"LT",
"Length of Text Segment",
NITF_INT(5),
false,
nullptr,
nullptr))
155 .field(
"NUMDES",
"Number of Data Extension Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
158 .field(
"LDSH",
"Length of Data Extension Subheader",
NITF_INT(4),
false,
nullptr,
nullptr)
159 .field(
"LD",
"Length of Data Extension Segment",
NITF_INT(9),
false,
nullptr,
nullptr))
161 .field(
"NUMRES",
"Number of Reserved Extension Segments",
NITF_INT(3),
false,
nullptr,
nullptr)
164 .field(
"LRESH",
"Length of Reserved Extension Subheader",
NITF_INT(4),
false,
nullptr,
nullptr)
165 .field(
"LRE",
"Length of Reserved Extension Segment",
NITF_INT(7),
false,
nullptr,
nullptr))
167 .field(
"UDHDL",
"User Defined Header Data Length",
NITF_INT(5),
false,
nullptr,
nullptr)
169 .field(
"UDHOFL",
"User Defined Header Overflow",
NITF_INT(3),
false,
nullptr,
172 .field(
"UDHD",
"User Defined Header Data",
NITF_TRES(),
false,
175 .field(
"XHDL",
"Extended Header Data Length",
NITF_INT(5),
false,
nullptr,
nullptr)
177 .field(
"XHDLOFL",
"Extended Header Data Overflow",
NITF_INT(3),
false,
nullptr,
180 .field(
"XHD",
"Extended Header Data",
NITF_TRES(),
false,
198 .
field(
"FHDR",
"File Profile Name",
200 .value(
"NITF",
"NITF File")
201 .value(
"NSIF",
"NSIF File")),
202 false,
nullptr,
nullptr)
204 .
field(
"CLEVEL",
"Complexity Level",
NITF_INT(2),
false,
nullptr,
nullptr)
206 .
field(
"STYPE",
"Standard Type",
208 .value(
"BF01",
"ISO/IEC IS 12087-5")),
209 true,
nullptr,
nullptr)
221 std::string file_profile;
235 t->
columns.emplace_back(
"File Header" );
Functor vil_nitf2_max_field_value_plus_offset_and_threshold defines a function that sets its out para...
bool read(vil_nitf2_istream &input, const vil_nitf2_field_definitions *field_defs=nullptr, const vil_nitf2_index_vector &indexes=vil_nitf2_index_vector())
std::vector< std::string > columns
#define NITF_STR_BCSA(LEN)
Stream interface for VIL image loaders.
vil_nitf2_field_definitions & field(std::string tag, std::string pretty_name, vil_nitf2_field_formatter *formatter, bool blanks_ok=false, vil_nitf2_field_functor< int > *width_functor=nullptr, vil_nitf2_field_functor< bool > *condition_functor=nullptr, std::string units="", std::string description="")
static const vil_nitf2_field_definitions * get_field_definitions(const file_version &version, std::string tag_prefix, std::string pretty_name_prefix)
Functors used by NITF classes.
virtual vil_nitf2_field::field_tree * get_tree(vil_nitf2_field::field_tree *tr=nullptr) const
Functor vil_nitf2_field_value_greater_than defines a comparison predicate that sets its out parameter...
#define NITF_STR_ECSA(LEN)