OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Types | Public Member Functions | Private Attributes | List of all members
ossimNitfDesInformation Class Reference

#include <ossimNitfDesInformation.h>

Inheritance diagram for ossimNitfDesInformation:
ossimObject ossimReferenced

Public Types

enum  {
  DE_SIZE = 2, DESID_SIZE = 25, DESVER_SIZE = 2, DECLAS_SIZE = 1,
  DESCLSY_SIZE = 2, DESCODE_SIZE = 11, DESCTLH_SIZE = 2, DESREL_SIZE = 20,
  DESDCTP_SIZE = 2, DESDCDT_SIZE = 8, DESDCXM_SIZE = 4, DESDG_SIZE = 1,
  DESDGDT_SIZE = 8, DESCLTX_SIZE = 43, DESCATP_SIZE = 1, DESCAUT_SIZE = 40,
  DESCRSN_SIZE = 1, DESSRDT_SIZE = 8, DESCTLN_SIZE = 15, DESOFLW_SIZE = 6,
  DESITEM_SIZE = 3, DESSHL_SIZE = 4
}
 

Public Member Functions

 ossimNitfDesInformation (ossimRefPtr< ossimNitfRegisteredDes > desData=0)
 
virtual ~ossimNitfDesInformation ()
 
virtual void parseStream (std::istream &in, ossim_uint64 dataLength=0)
 
virtual void writeStream (std::ostream &out)
 
void setDesName (const ossimString &desName)
 
void setDesLength (ossim_uint32 desLength)
 
ossim_uint32 getTotalDesLength () const
 Length of the 5 byte des length the 6 byte des name and the data length. More...
 
ossim_uint32 getDesLength () const
 Should return the value of theDesLength which is the length of the data in bytes. More...
 
ossim_uint64 getDesOffset () const
 
ossim_uint64 getDesDataOffset () const
 
ossimString getDesId () const
 
virtual std::ostream & print (std::ostream &out, const std::string &prefix) const
 
void clearFields ()
 
ossimRefPtr< ossimNitfRegisteredDesgetDesData ()
 
const ossimRefPtr< ossimNitfRegisteredDesgetDesData () const
 
void setDesData (ossimRefPtr< ossimNitfRegisteredDes > desData)
 
bool operator< (const ossimNitfDesInformation &rhs) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Private Attributes

char m_de [DE_SIZE+1]
 
char m_desid [DESID_SIZE+1]
 
char m_desver [DESVER_SIZE+1]
 
char m_declas [DECLAS_SIZE+1]
 
char m_desclsy [DESCLSY_SIZE+1]
 
char m_descode [DESCODE_SIZE+1]
 
char m_desctlh [DESCTLH_SIZE+1]
 
char m_desrel [DESREL_SIZE+1]
 
char m_desdctp [DESDCTP_SIZE+1]
 
char m_desdcdt [DESDCDT_SIZE+1]
 
char m_desdcxm [DESDCXM_SIZE+1]
 
char m_desdg [DESDG_SIZE+1]
 
char m_desdgdt [DESDGDT_SIZE+1]
 
char m_descltx [DESCLTX_SIZE+1]
 
char m_descatp [DESCATP_SIZE+1]
 
char m_descaut [DESCAUT_SIZE+1]
 
char m_descrsn [DESCRSN_SIZE+1]
 
char m_dessrdt [DESSRDT_SIZE+1]
 
char m_desctln [DESCTLN_SIZE+1]
 
char m_desoflw [DESOFLW_SIZE+1]
 
char m_desitem [DESITEM_SIZE+1]
 
char m_desshl [DESSHL_SIZE+1]
 
ossim_uint64 m_desOffset
 This will hold the offset to the start of the above information This is just a work variable. More...
 
ossim_uint64 m_desLength
 
ossim_uint64 m_desDataOffset
 This will hold the start to the data. More...
 
ossim_uint64 m_desDataSize
 
ossimRefPtr< ossimNitfRegisteredDesm_desData
 Used to hold the des data. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 20 of file ossimNitfDesInformation.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DE_SIZE 
DESID_SIZE 
DESVER_SIZE 
DECLAS_SIZE 
DESCLSY_SIZE 
DESCODE_SIZE 
DESCTLH_SIZE 
DESREL_SIZE 
DESDCTP_SIZE 
DESDCDT_SIZE 
DESDCXM_SIZE 
DESDG_SIZE 
DESDGDT_SIZE 
DESCLTX_SIZE 
DESCATP_SIZE 
DESCAUT_SIZE 
DESCRSN_SIZE 
DESSRDT_SIZE 
DESCTLN_SIZE 
DESOFLW_SIZE 
DESITEM_SIZE 
DESSHL_SIZE 

Definition at line 24 of file ossimNitfDesInformation.h.

24  {
25  DE_SIZE = 2,
26  DESID_SIZE = 25,
27  DESVER_SIZE = 2,
28  DECLAS_SIZE = 1,
29  DESCLSY_SIZE = 2,
30  DESCODE_SIZE = 11,
31  DESCTLH_SIZE = 2,
32  DESREL_SIZE = 20,
33  DESDCTP_SIZE = 2,
34  DESDCDT_SIZE = 8,
35  DESDCXM_SIZE = 4,
36  DESDG_SIZE = 1,
37  DESDGDT_SIZE = 8,
38  DESCLTX_SIZE = 43,
39  DESCATP_SIZE = 1,
40  DESCAUT_SIZE = 40,
41  DESCRSN_SIZE = 1,
42  DESSRDT_SIZE = 8,
43  DESCTLN_SIZE = 15,
44  DESOFLW_SIZE = 6,
45  DESITEM_SIZE = 3,
46  DESSHL_SIZE = 4
47  };

Constructor & Destructor Documentation

◆ ossimNitfDesInformation()

ossimNitfDesInformation::ossimNitfDesInformation ( ossimRefPtr< ossimNitfRegisteredDes desData = 0)

Definition at line 20 of file ossimNitfDesInformation.cpp.

References clearFields(), and setDesData().

21 {
22  clearFields();
23  setDesData(desData);
24 }
void setDesData(ossimRefPtr< ossimNitfRegisteredDes > desData)

◆ ~ossimNitfDesInformation()

ossimNitfDesInformation::~ossimNitfDesInformation ( )
virtual

Definition at line 26 of file ossimNitfDesInformation.cpp.

27 {
28 }

Member Function Documentation

◆ clearFields()

void ossimNitfDesInformation::clearFields ( )

Definition at line 218 of file ossimNitfDesInformation.cpp.

References DE_SIZE, DECLAS_SIZE, DESCATP_SIZE, DESCAUT_SIZE, DESCLSY_SIZE, DESCLTX_SIZE, DESCODE_SIZE, DESCRSN_SIZE, DESCTLH_SIZE, DESCTLN_SIZE, DESDCDT_SIZE, DESDCTP_SIZE, DESDCXM_SIZE, DESDG_SIZE, DESDGDT_SIZE, DESID_SIZE, DESITEM_SIZE, DESOFLW_SIZE, DESREL_SIZE, DESSHL_SIZE, DESSRDT_SIZE, DESVER_SIZE, m_de, m_declas, m_descatp, m_descaut, m_desclsy, m_descltx, m_descode, m_descrsn, m_desctlh, m_desctln, m_desDataOffset, m_desdcdt, m_desdctp, m_desdcxm, m_desdg, m_desdgdt, m_desid, m_desitem, m_desOffset, m_desoflw, m_desrel, m_desshl, m_dessrdt, and m_desver.

Referenced by ossimNitfDesInformation(), and parseStream().

219 {
220  memset(m_de, ' ', DE_SIZE);
221  m_de[DE_SIZE] = '\0';
222  memset(m_desid, ' ', DESID_SIZE);
223  m_desid[DESID_SIZE] = '\0';
224  memset(m_desver, ' ', DESVER_SIZE);
225  m_desver[DESVER_SIZE] = '\0';
226  memset(m_declas, ' ', DECLAS_SIZE);
227  m_declas[DECLAS_SIZE] = '\0';
228  memset(m_desclsy, ' ', DESCLSY_SIZE);
229  m_desclsy[DESCLSY_SIZE] = '\0';
230  memset(m_descode, ' ', DESCODE_SIZE);
231  m_descode[DESCODE_SIZE] = '\0';
232  memset(m_desctlh, ' ', DESCTLH_SIZE);
233  m_desctlh[DESCTLH_SIZE] = '\0';
234  memset(m_desrel, ' ', DESREL_SIZE);
235  m_desrel[DESREL_SIZE] = '\0';
236  memset(m_desdctp, ' ', DESDCTP_SIZE);
237  m_desdctp[DESDCTP_SIZE] = '\0';
238  memset(m_desdcdt, ' ', DESDCDT_SIZE);
239  m_desdcdt[DESDCDT_SIZE] = '\0';
240  memset(m_desdcxm, ' ', DESDCXM_SIZE);
241  m_desdcxm[DESDCXM_SIZE] = '\0';
242  memset(m_desdg, ' ', DESDG_SIZE);
243  m_desdg[DESDG_SIZE] = '\0';
244  memset(m_desdgdt, ' ', DESDGDT_SIZE);
245  m_desdgdt[DESDGDT_SIZE] = '\0';
246  memset(m_descltx, ' ', DESCLTX_SIZE);
247  m_descltx[DESCLTX_SIZE] = '\0';
248  memset(m_descatp, ' ', DESCATP_SIZE);
249  m_descatp[DESCATP_SIZE] = '\0';
250  memset(m_descaut, ' ', DESCAUT_SIZE);
251  m_descaut[DESCAUT_SIZE] = '\0';
252  memset(m_descrsn, ' ', DESCRSN_SIZE);
253  m_descrsn[DESCRSN_SIZE] = '\0';
254  memset(m_dessrdt, ' ', DESSRDT_SIZE);
255  m_dessrdt[DESSRDT_SIZE] = '\0';
256  memset(m_desctln, ' ', DESCTLN_SIZE);
257  m_desctln[DESCTLN_SIZE] = '\0';
258  memset(m_desoflw, ' ', DESOFLW_SIZE);
259  m_desoflw[DESOFLW_SIZE] = '\0';
260  memset(m_desitem, ' ', DESITEM_SIZE);
261  m_desitem[DESITEM_SIZE] = '\0';
262  memset(m_desshl, ' ', DESSHL_SIZE);
263  m_desshl[DESSHL_SIZE] = '\0';
264 
265  m_desOffset = 0;
266  m_desDataOffset = 0;
267 }
char m_descltx[DESCLTX_SIZE+1]
ossim_uint64 m_desOffset
This will hold the offset to the start of the above information This is just a work variable...
char m_dessrdt[DESSRDT_SIZE+1]
char m_descode[DESCODE_SIZE+1]
char m_descrsn[DESCRSN_SIZE+1]
char m_desctln[DESCTLN_SIZE+1]
char m_desdgdt[DESDGDT_SIZE+1]
char m_desdctp[DESDCTP_SIZE+1]
char m_desoflw[DESOFLW_SIZE+1]
char m_desdcdt[DESDCDT_SIZE+1]
char m_desitem[DESITEM_SIZE+1]
char m_desdcxm[DESDCXM_SIZE+1]
char m_desclsy[DESCLSY_SIZE+1]
ossim_uint64 m_desDataOffset
This will hold the start to the data.
char m_descatp[DESCATP_SIZE+1]
char m_descaut[DESCAUT_SIZE+1]
char m_desctlh[DESCTLH_SIZE+1]

◆ getDesData() [1/2]

ossimRefPtr< ossimNitfRegisteredDes > ossimNitfDesInformation::getDesData ( )

Definition at line 301 of file ossimNitfDesInformation.cpp.

References m_desData.

Referenced by print().

302 {
303  return m_desData;
304 }
ossimRefPtr< ossimNitfRegisteredDes > m_desData
Used to hold the des data.

◆ getDesData() [2/2]

const ossimRefPtr< ossimNitfRegisteredDes > ossimNitfDesInformation::getDesData ( ) const

Definition at line 306 of file ossimNitfDesInformation.cpp.

References m_desData.

307 {
308  return m_desData;
309 }
ossimRefPtr< ossimNitfRegisteredDes > m_desData
Used to hold the des data.

◆ getDesDataOffset()

ossim_uint64 ossimNitfDesInformation::getDesDataOffset ( ) const

Definition at line 161 of file ossimNitfDesInformation.cpp.

References m_desDataOffset.

162 {
163  return m_desDataOffset;
164 }
ossim_uint64 m_desDataOffset
This will hold the start to the data.

◆ getDesId()

ossimString ossimNitfDesInformation::getDesId ( ) const

Definition at line 166 of file ossimNitfDesInformation.cpp.

References m_desid, and ossimString::trim().

Referenced by parseStream(), print(), and writeStream().

167 {
168  return ossimString(m_desid).trim();
169 }
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.

◆ getDesLength()

ossim_uint32 ossimNitfDesInformation::getDesLength ( ) const

Should return the value of theDesLength which is the length of the data in bytes.

Definition at line 151 of file ossimNitfDesInformation.cpp.

References m_desLength, and ossimString::toUInt32().

Referenced by getTotalDesLength(), and parseStream().

152 {
153  return ossimString(m_desLength).toUInt32();
154 }
ossim_uint32 toUInt32() const

◆ getDesOffset()

ossim_uint64 ossimNitfDesInformation::getDesOffset ( ) const

Definition at line 156 of file ossimNitfDesInformation.cpp.

References m_desOffset.

157 {
158  return m_desOffset;
159 }
ossim_uint64 m_desOffset
This will hold the offset to the start of the above information This is just a work variable...

◆ getTotalDesLength()

ossim_uint32 ossimNitfDesInformation::getTotalDesLength ( ) const

Length of the 5 byte des length the 6 byte des name and the data length.

So we have Data length + 11 bytes.

Definition at line 146 of file ossimNitfDesInformation.cpp.

References getDesLength().

Referenced by operator<().

147 {
148  return (getDesLength() + (ossim_uint32)11);
149 }
unsigned int ossim_uint32
ossim_uint32 getDesLength() const
Should return the value of theDesLength which is the length of the data in bytes. ...

◆ operator<()

bool ossimNitfDesInformation::operator< ( const ossimNitfDesInformation rhs) const
inline

Definition at line 82 of file ossimNitfDesInformation.h.

References getTotalDesLength().

83  {
84  return getTotalDesLength() < rhs.getTotalDesLength();
85  }
ossim_uint32 getTotalDesLength() const
Length of the 5 byte des length the 6 byte des name and the data length.

◆ parseStream()

void ossimNitfDesInformation::parseStream ( std::istream &  in,
ossim_uint64  dataLength = 0 
)
virtual

Definition at line 30 of file ossimNitfDesInformation.cpp.

References clearFields(), ossimNitfDesFactoryRegistry::create(), DE_SIZE, DECLAS_SIZE, DESCATP_SIZE, DESCAUT_SIZE, DESCLSY_SIZE, DESCLTX_SIZE, DESCODE_SIZE, DESCRSN_SIZE, DESCTLH_SIZE, DESCTLN_SIZE, DESDCDT_SIZE, DESDCTP_SIZE, DESDCXM_SIZE, DESDG_SIZE, DESDGDT_SIZE, DESID_SIZE, DESITEM_SIZE, DESOFLW_SIZE, DESREL_SIZE, DESSHL_SIZE, DESSRDT_SIZE, DESVER_SIZE, getDesId(), getDesLength(), ossimNitfRegisteredDes::getDesLength(), ossimNitfRegisteredDes::getDesName(), ossimNitfDesFactoryRegistry::instance(), m_de, m_declas, m_descatp, m_descaut, m_desclsy, m_descltx, m_descode, m_descrsn, m_desctlh, m_desctln, m_desData, m_desDataOffset, m_desdcdt, m_desdctp, m_desdcxm, m_desdg, m_desdgdt, m_desid, m_desitem, m_desOffset, m_desoflw, m_desrel, m_desshl, m_dessrdt, m_desver, ossimNotify(), ossimNotifyLevel_WARN, ossimNitfRegisteredDes::parseStream(), ossimNitfRegisteredDes::setDesLength(), and ossimRefPtr< T >::valid().

Referenced by ossimNitfFileHeaderV2_1::readDes().

31 {
32  if(in)
33  {
34  clearFields();
35  m_desOffset = in.tellg();
36  in.read(m_de, DE_SIZE);
37  in.read(m_desid, DESID_SIZE);
38  in.read(m_desver, DESVER_SIZE);
39  in.read(m_declas, DECLAS_SIZE);
40  in.read(m_desclsy, DESCLSY_SIZE);
41  in.read(m_descode, DESCODE_SIZE);
42  in.read(m_desctlh, DESCTLH_SIZE);
43  in.read(m_desrel, DESREL_SIZE);
44  in.read(m_desdctp, DESDCTP_SIZE);
45  in.read(m_desdcdt, DESDCDT_SIZE);
46  in.read(m_desdcxm, DESDCXM_SIZE);
47  in.read(m_desdg, DESDG_SIZE);
48  in.read(m_desdgdt, DESDGDT_SIZE);
49  in.read(m_descltx, DESCLTX_SIZE);
50  in.read(m_descatp, DESCATP_SIZE);
51  in.read(m_descaut, DESCAUT_SIZE);
52  in.read(m_descrsn, DESCRSN_SIZE);
53  in.read(m_dessrdt, DESSRDT_SIZE);
54  in.read(m_desctln, DESCTLN_SIZE);
55  if (getDesId() == "TRE_OVERFLOW")
56  {
57  in.read(m_desoflw, DESOFLW_SIZE);
58  in.read(m_desitem, DESITEM_SIZE);
59  }
60  in.read(m_desshl, DESSHL_SIZE);
61 
62  m_desDataOffset = in.tellg();
63 
65 
66  if (m_desData.valid())
67  {
68  /*
69  if (m_desData->getClassName() == "ossimNitfUnknownDes")
70  {
71  // Unknown des doesn't know his des name yet.
72  m_desData->setDesName( getDesId() );
73  }
74  */
75 
76  //---
77  // Dess with dynamic des length construct with 0 length.
78  // Set if 0.
79  //---
80  if ( m_desData->getDesLength() == 0 )
81  {
82  m_desData->setDesLength( dataLength );
83  }
84  // Sanity check fixed length in code with length from CEL field:
85  else if ( m_desData->getDesLength() != getDesLength() )
86  {
88  << "ossimNitfDesInformation::parseStream WARNING!"
89  << "\nCEL field length does not match fixed des length for des: "
90  << m_desData->getDesName().c_str()
91  << "\nCEL: " << getDesLength()
92  << "\nDes: " << m_desData->getDesLength()
93  << std::endl;
94  }
95 
97  }
98  else
99  {
101  }
102  }
103 }
virtual ossim_uint32 getDesLength() const
Returns the length in bytes of the des from the CEL or REL field.
char m_descltx[DESCLTX_SIZE+1]
bool valid() const
Definition: ossimRefPtr.h:75
ossim_uint64 m_desOffset
This will hold the offset to the start of the above information This is just a work variable...
char m_dessrdt[DESSRDT_SIZE+1]
ossimRefPtr< ossimNitfRegisteredDes > m_desData
Used to hold the des data.
virtual void setDesLength(ossim_uint32 length)
Set the des length.
char m_descode[DESCODE_SIZE+1]
ossimRefPtr< ossimNitfRegisteredDes > create(const ossimString &desName) const
char m_descrsn[DESCRSN_SIZE+1]
virtual const std::string & getDesName() const
This will return the name of the registered des for this user defined header.
char m_desctln[DESCTLN_SIZE+1]
char m_desdgdt[DESDGDT_SIZE+1]
ossim_uint32 getDesLength() const
Should return the value of theDesLength which is the length of the data in bytes. ...
char m_desdctp[DESDCTP_SIZE+1]
char m_desoflw[DESOFLW_SIZE+1]
static ossimNitfDesFactoryRegistry * instance()
char m_desdcdt[DESDCDT_SIZE+1]
char m_desitem[DESITEM_SIZE+1]
char m_desdcxm[DESDCXM_SIZE+1]
char m_desclsy[DESCLSY_SIZE+1]
ossim_uint64 m_desDataOffset
This will hold the start to the data.
virtual void parseStream(std::istream &in)=0
This will allow the user defined data to parse the stream.
char m_descatp[DESCATP_SIZE+1]
char m_descaut[DESCAUT_SIZE+1]
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
char m_desctlh[DESCTLH_SIZE+1]

◆ print()

std::ostream & ossimNitfDesInformation::print ( std::ostream &  out,
const std::string &  prefix 
) const
virtual

Definition at line 171 of file ossimNitfDesInformation.cpp.

References getDesData(), getDesId(), ossimPreferences::instance(), m_de, m_declas, m_descatp, m_descaut, m_desclsy, m_descltx, m_descode, m_descrsn, m_desctlh, m_desctln, m_desdcdt, m_desdctp, m_desdcxm, m_desdg, m_desdgdt, m_desid, m_desitem, m_desoflw, m_desrel, m_desshl, m_dessrdt, m_desver, ossimNitfRegisteredDes::print(), ossimString::toBool(), and ossimRefPtr< T >::valid().

172 {
173  bool typeinfo = ossimString(ossimPreferences::instance()->findPreference("kwl_type_info")).toBool();
174 
175  std::string pfx = prefix + getDesId() + ".";
176 
177  out << setiosflags(ios::left)
178  << pfx << std::setw(24) << "DE:" << ((typeinfo) ? "(string)" : "") << m_de << "\n"
179  << pfx << std::setw(24) << "DESID:" << ((typeinfo) ? "(string)" : "") << m_desid << "\n"
180  << pfx << std::setw(24) << "DESVER:" << ((typeinfo) ? "(string)" : "") << m_desver << "\n"
181  << pfx << std::setw(24) << "DECLAS:" << ((typeinfo) ? "(string)" : "") << m_declas << "\n"
182  << pfx << std::setw(24) << "DESCLSY:" << ((typeinfo) ? "(string)" : "") << m_desclsy << "\n"
183  << pfx << std::setw(24) << "DESCODE:" << ((typeinfo) ? "(string)" : "") << m_descode << "\n"
184  << pfx << std::setw(24) << "DESCTLH:" << ((typeinfo) ? "(string)" : "") << m_desctlh << "\n"
185  << pfx << std::setw(24) << "DESREL:" << ((typeinfo) ? "(string)" : "") << m_desrel << "\n"
186  << pfx << std::setw(24) << "DESDCTP:" << ((typeinfo) ? "(string)" : "") << m_desdctp << "\n"
187  << pfx << std::setw(24) << "DESDCDT:" << ((typeinfo) ? "(string)" : "") << m_desdcdt << "\n"
188  << pfx << std::setw(24) << "DESDCXM:" << ((typeinfo) ? "(string)" : "") << m_desdcxm << "\n"
189  << pfx << std::setw(24) << "DESDG:" << ((typeinfo) ? "(string)" : "") << m_desdg << "\n"
190  << pfx << std::setw(24) << "DESDGDT:" << ((typeinfo) ? "(string)" : "") << m_desdgdt << "\n"
191  << pfx << std::setw(24) << "DESCLTX:" << ((typeinfo) ? "" : "") << m_descltx << "\n"
192  << pfx << std::setw(24) << "DESCATP:" << ((typeinfo) ? "(string)" : "") << m_descatp << "\n"
193  << pfx << std::setw(24) << "DESCAUT:" << ((typeinfo) ? "(string)" : "") << m_descaut << "\n"
194  << pfx << std::setw(24) << "DESCRSN:" << ((typeinfo) ? "(string)" : "") << m_descrsn << "\n"
195  << pfx << std::setw(24) << "DESSRDT:" << ((typeinfo) ? "(string)" : "") << m_dessrdt << "\n"
196  << pfx << std::setw(24) << "DESCTLN:" << ((typeinfo) ? "(string)" : "") << m_desctln << "\n"
197  ;
198  if (getDesId() == "TRE_OVERFLOW")
199  {
200  out
201  << pfx << std::setw(24) << "DESOFLW:" << ((typeinfo) ? "(string)" : "") << m_desoflw << "\n"
202  << pfx << std::setw(24) << "DESITEM:" << ((typeinfo) ? "(string)" : "") << m_desitem << "\n"
203  ;
204  }
205 
206  out
207  << pfx << std::setw(24) << "DESSHL:" << ((typeinfo) ? "(string)" : "") << m_desshl << "\n"
208  ;
209 
210  if (getDesData().valid())
211  {
212  getDesData()->print(out, prefix);
213  }
214 
215  return out;
216 }
char m_descltx[DESCLTX_SIZE+1]
bool valid() const
Definition: ossimRefPtr.h:75
char m_dessrdt[DESSRDT_SIZE+1]
ossimRefPtr< ossimNitfRegisteredDes > getDesData()
virtual std::ostream & print(std::ostream &out, const std::string &prefix=std::string()) const
Pure virtual print method that outputs a key/value type format adding prefix to keys.
char m_descode[DESCODE_SIZE+1]
char m_descrsn[DESCRSN_SIZE+1]
bool toBool() const
String to numeric methods.
char m_desctln[DESCTLN_SIZE+1]
char m_desdgdt[DESDGDT_SIZE+1]
char m_desdctp[DESDCTP_SIZE+1]
char m_desoflw[DESOFLW_SIZE+1]
static ossimPreferences * instance()
char m_desdcdt[DESDCDT_SIZE+1]
char m_desitem[DESITEM_SIZE+1]
char m_desdcxm[DESDCXM_SIZE+1]
char m_desclsy[DESCLSY_SIZE+1]
char m_descatp[DESCATP_SIZE+1]
char m_descaut[DESCAUT_SIZE+1]
char m_desctlh[DESCTLH_SIZE+1]

◆ setDesData()

void ossimNitfDesInformation::setDesData ( ossimRefPtr< ossimNitfRegisteredDes desData)

Definition at line 311 of file ossimNitfDesInformation.cpp.

References m_desData.

Referenced by ossimNitfDesInformation().

312 {
313  m_desData = desData;
314 
315  /*
316  memset(m_desid, ' ', DESID_SIZE);
317  memset(m_desLength, ' ', 5);
318 
319  if(m_desData.valid())
320  {
321  setDesName(m_desData->getRegisterDesName());
322  setDesLength(m_desData->getSizeInBytes());
323  }
324  */
325 }
ossimRefPtr< ossimNitfRegisteredDes > m_desData
Used to hold the des data.

◆ setDesLength()

void ossimNitfDesInformation::setDesLength ( ossim_uint32  desLength)

Definition at line 281 of file ossimNitfDesInformation.cpp.

282 {
283  /*
284  memset(m_desLength, 0, 5);
285 
286  if(desLength > 99999)
287  {
288  desLength = 99999;
289  }
290 
291  std::ostringstream out;
292 
293  out << std::setw(5)
294  << std::setfill('0')
295  << desLength;
296 
297  memcpy(m_desLength, out.str().c_str(), 5);
298  */
299 }

◆ setDesName()

void ossimNitfDesInformation::setDesName ( const ossimString desName)

Definition at line 269 of file ossimNitfDesInformation.cpp.

References DESID_SIZE, and m_desid.

270 {
271  memset(m_desid, ' ', DESID_SIZE);
272 
273  std::ostringstream out;
274 
275  out << std::setw(DESID_SIZE)
276  << std::setfill(' ')
277  << m_desid;
278  memcpy(m_desid, out.str().c_str(), DESID_SIZE);
279 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35

◆ writeStream()

void ossimNitfDesInformation::writeStream ( std::ostream &  out)
virtual

Definition at line 105 of file ossimNitfDesInformation.cpp.

References DE_SIZE, DECLAS_SIZE, DESCATP_SIZE, DESCAUT_SIZE, DESCLSY_SIZE, DESCLTX_SIZE, DESCODE_SIZE, DESCRSN_SIZE, DESCTLH_SIZE, DESCTLN_SIZE, DESDCDT_SIZE, DESDCTP_SIZE, DESDCXM_SIZE, DESDG_SIZE, DESDGDT_SIZE, DESID_SIZE, DESITEM_SIZE, DESOFLW_SIZE, DESREL_SIZE, DESSHL_SIZE, DESSRDT_SIZE, DESVER_SIZE, getDesId(), m_de, m_declas, m_descatp, m_descaut, m_desclsy, m_descltx, m_descode, m_descrsn, m_desctlh, m_desctln, m_desdcdt, m_desdctp, m_desdcxm, m_desdg, m_desdgdt, m_desid, m_desitem, m_desOffset, m_desoflw, m_desrel, m_desshl, m_dessrdt, and m_desver.

106 {
107  m_desOffset = out.tellp(); // Capture the offset.
108 
109  out.write(m_de, DE_SIZE);
110  out.write(m_desid, DESID_SIZE);
111  out.write(m_desver, DESVER_SIZE);
112  out.write(m_declas, DECLAS_SIZE);
113  out.write(m_desclsy, DESCLSY_SIZE);
114  out.write(m_descode, DESCODE_SIZE);
115  out.write(m_desctlh, DESCTLH_SIZE);
116  out.write(m_desrel, DESREL_SIZE);
117  out.write(m_desdctp, DESDCTP_SIZE);
118  out.write(m_desdcdt, DESDCDT_SIZE);
119  out.write(m_desdcxm, DESDCXM_SIZE);
120  out.write(m_desdg, DESDG_SIZE);
121  out.write(m_desdgdt, DESDGDT_SIZE);
122  out.write(m_descltx, DESCLTX_SIZE);
123  out.write(m_descatp, DESCATP_SIZE);
124  out.write(m_descaut, DESCAUT_SIZE);
125  out.write(m_descrsn, DESCRSN_SIZE);
126  out.write(m_dessrdt, DESSRDT_SIZE);
127  out.write(m_desctln, DESCTLN_SIZE);
128  if (getDesId() == "TRE_OVERFLOW")
129  {
130  out.write(m_desoflw, DESOFLW_SIZE);
131  out.write(m_desitem, DESITEM_SIZE);
132  }
133  out.write(m_desshl, DESSHL_SIZE);
134 
135 
136  //out.write(m_desLength, 5);
137  /*
138  if(m_desData.valid())
139  {
140  m_desData = out.tellp();
141  m_desData->writeStream(out);
142  }
143  */
144 }
char m_descltx[DESCLTX_SIZE+1]
ossim_uint64 m_desOffset
This will hold the offset to the start of the above information This is just a work variable...
char m_dessrdt[DESSRDT_SIZE+1]
char m_descode[DESCODE_SIZE+1]
char m_descrsn[DESCRSN_SIZE+1]
char m_desctln[DESCTLN_SIZE+1]
char m_desdgdt[DESDGDT_SIZE+1]
char m_desdctp[DESDCTP_SIZE+1]
char m_desoflw[DESOFLW_SIZE+1]
char m_desdcdt[DESDCDT_SIZE+1]
char m_desitem[DESITEM_SIZE+1]
char m_desdcxm[DESDCXM_SIZE+1]
char m_desclsy[DESCLSY_SIZE+1]
char m_descatp[DESCATP_SIZE+1]
char m_descaut[DESCAUT_SIZE+1]
char m_desctlh[DESCTLH_SIZE+1]

Member Data Documentation

◆ m_de

char ossimNitfDesInformation::m_de[DE_SIZE+1]
private

Definition at line 89 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_declas

char ossimNitfDesInformation::m_declas[DECLAS_SIZE+1]
private

Definition at line 92 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_descatp

char ossimNitfDesInformation::m_descatp[DESCATP_SIZE+1]
private

Definition at line 103 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_descaut

char ossimNitfDesInformation::m_descaut[DESCAUT_SIZE+1]
private

Definition at line 104 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desclsy

char ossimNitfDesInformation::m_desclsy[DESCLSY_SIZE+1]
private

Definition at line 93 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_descltx

char ossimNitfDesInformation::m_descltx[DESCLTX_SIZE+1]
private

Definition at line 102 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_descode

char ossimNitfDesInformation::m_descode[DESCODE_SIZE+1]
private

Definition at line 94 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_descrsn

char ossimNitfDesInformation::m_descrsn[DESCRSN_SIZE+1]
private

Definition at line 105 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desctlh

char ossimNitfDesInformation::m_desctlh[DESCTLH_SIZE+1]
private

Definition at line 95 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desctln

char ossimNitfDesInformation::m_desctln[DESCTLN_SIZE+1]
private

Definition at line 107 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desData

ossimRefPtr<ossimNitfRegisteredDes> ossimNitfDesInformation::m_desData
private

Used to hold the des data.

Definition at line 131 of file ossimNitfDesInformation.h.

Referenced by getDesData(), parseStream(), and setDesData().

◆ m_desDataOffset

ossim_uint64 ossimNitfDesInformation::m_desDataOffset
private

This will hold the start to the data.

This is just the position in the file just past the des length field. This is just a work variable

Definition at line 125 of file ossimNitfDesInformation.h.

Referenced by clearFields(), getDesDataOffset(), and parseStream().

◆ m_desDataSize

ossim_uint64 ossimNitfDesInformation::m_desDataSize
private

Definition at line 126 of file ossimNitfDesInformation.h.

◆ m_desdcdt

char ossimNitfDesInformation::m_desdcdt[DESDCDT_SIZE+1]
private

Definition at line 98 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desdctp

char ossimNitfDesInformation::m_desdctp[DESDCTP_SIZE+1]
private

Definition at line 97 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desdcxm

char ossimNitfDesInformation::m_desdcxm[DESDCXM_SIZE+1]
private

Definition at line 99 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desdg

char ossimNitfDesInformation::m_desdg[DESDG_SIZE+1]
private

Definition at line 100 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desdgdt

char ossimNitfDesInformation::m_desdgdt[DESDGDT_SIZE+1]
private

Definition at line 101 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desid

char ossimNitfDesInformation::m_desid[DESID_SIZE+1]
private

◆ m_desitem

char ossimNitfDesInformation::m_desitem[DESITEM_SIZE+1]
private

Definition at line 109 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desLength

ossim_uint64 ossimNitfDesInformation::m_desLength
private

Definition at line 117 of file ossimNitfDesInformation.h.

Referenced by getDesLength().

◆ m_desOffset

ossim_uint64 ossimNitfDesInformation::m_desOffset
private

This will hold the offset to the start of the above information This is just a work variable.

Definition at line 116 of file ossimNitfDesInformation.h.

Referenced by clearFields(), getDesOffset(), parseStream(), and writeStream().

◆ m_desoflw

char ossimNitfDesInformation::m_desoflw[DESOFLW_SIZE+1]
private

Definition at line 108 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desrel

char ossimNitfDesInformation::m_desrel[DESREL_SIZE+1]
private

Definition at line 96 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desshl

char ossimNitfDesInformation::m_desshl[DESSHL_SIZE+1]
private

Definition at line 110 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_dessrdt

char ossimNitfDesInformation::m_dessrdt[DESSRDT_SIZE+1]
private

Definition at line 106 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ m_desver

char ossimNitfDesInformation::m_desver[DESVER_SIZE+1]
private

Definition at line 91 of file ossimNitfDesInformation.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().


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