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

RSM Error Covariance: RSM indirect error covariance data. More...

#include <ossimNitfRsmecaTag.h>

Public Types

enum  { NUMOPG_SIZE = 2, FLOAT21_SIZE = 21, TCDF_SIZE = 1, NCSEG_SIZE = 1 }
 

Public Member Functions

 ossimNitfRsmecaIsg ()
 
 ossimNitfRsmecaIsg (const ossimNitfRsmecaIsg &obj)
 copy constructor More...
 
const ossimNitfRsmecaIsgoperator= (const ossimNitfRsmecaIsg &rhs)
 assignment operator More...
 
void parseStream (std::istream &in)
 
void writeStream (std::ostream &out)
 
void clearFields ()
 
std::ostream & print (std::ostream &out, const std::string &prefix=std::string(), ossim_uint32 index=0) const
 

Protected Attributes

char m_numopg [NUMOPG_SIZE+1]
 
std::vector< ossimStringm_errcvg
 
char m_tcdf [TCDF_SIZE+1]
 
char m_ncseg [NCSEG_SIZE+1]
 
std::vector< ossimStringm_corseg
 
std::vector< ossimStringm_tauseg
 
ossim_uint32 m_errCovNum
 
ossim_uint32 m_opgNum
 
ossim_uint32 m_corSegNum
 

Detailed Description

RSM Error Covariance: RSM indirect error covariance data.

RFC NTB 055, STDI-0002-1 v4.0, Appendix U: RSM

Definition at line 15 of file ossimNitfRsmecaTag.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NUMOPG_SIZE 
FLOAT21_SIZE 
TCDF_SIZE 
NCSEG_SIZE 

Definition at line 18 of file ossimNitfRsmecaTag.h.

Constructor & Destructor Documentation

◆ ossimNitfRsmecaIsg() [1/2]

ossimNitfRsmecaIsg::ossimNitfRsmecaIsg ( )

Definition at line 22 of file ossimNitfRsmecaTag.cpp.

23  :
24  m_numopg(),
25  m_errcvg(),
26  m_tcdf(),
27  m_ncseg(),
28  m_corseg(),
29  m_tauseg(),
30  m_errCovNum(0),
31  m_opgNum(0),
32  m_corSegNum(0)
33 {
34 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

◆ ossimNitfRsmecaIsg() [2/2]

ossimNitfRsmecaIsg::ossimNitfRsmecaIsg ( const ossimNitfRsmecaIsg obj)

copy constructor

Definition at line 36 of file ossimNitfRsmecaTag.cpp.

References m_ncseg, m_numopg, m_tcdf, NCSEG_SIZE, NUMOPG_SIZE, and TCDF_SIZE.

37  :
38  m_numopg(),
39  m_errcvg(obj.m_errcvg),
40  m_tcdf(),
41  m_ncseg(),
42  m_corseg(obj.m_corseg),
43  m_tauseg(obj.m_tauseg),
45  m_opgNum(obj.m_opgNum),
47 {
48  strncpy( m_numopg, obj.m_numopg, (NUMOPG_SIZE+1) );
49  strncpy( m_tcdf, obj.m_tcdf, (TCDF_SIZE+1) );
50  strncpy( m_ncseg, obj.m_ncseg, (NCSEG_SIZE+1) );
51 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

Member Function Documentation

◆ clearFields()

void ossimNitfRsmecaIsg::clearFields ( )

Definition at line 121 of file ossimNitfRsmecaTag.cpp.

References m_ncseg, m_numopg, m_tcdf, NCSEG_SIZE, NUMOPG_SIZE, and TCDF_SIZE.

Referenced by parseStream().

122 {
123  memset(m_numopg, ' ', NUMOPG_SIZE);
124  memset(m_tcdf, ' ', TCDF_SIZE);
125  memset(m_ncseg, ' ', NCSEG_SIZE);
126  m_numopg[NUMOPG_SIZE] = '\0';
127  m_tcdf[TCDF_SIZE] = '\0';
128  m_ncseg[NCSEG_SIZE] = '\0';
129 }
char m_ncseg[NCSEG_SIZE+1]
char m_numopg[NUMOPG_SIZE+1]
char m_tcdf[TCDF_SIZE+1]

◆ operator=()

const ossimNitfRsmecaIsg & ossimNitfRsmecaIsg::operator= ( const ossimNitfRsmecaIsg rhs)

assignment operator

Definition at line 53 of file ossimNitfRsmecaTag.cpp.

References m_corseg, m_corSegNum, m_errCovNum, m_errcvg, m_ncseg, m_numopg, m_opgNum, m_tauseg, m_tcdf, NCSEG_SIZE, NUMOPG_SIZE, and TCDF_SIZE.

54 {
55  if (this != &rhs)
56  {
57  strncpy( m_numopg, rhs.m_numopg, (NUMOPG_SIZE+1) );
58  m_errcvg = rhs.m_errcvg;
59  strncpy( m_tcdf, rhs.m_tcdf, (TCDF_SIZE+1) );
60  strncpy( m_ncseg, rhs.m_ncseg, (NCSEG_SIZE+1) );
61  m_corseg = rhs.m_corseg;
62  m_tauseg = rhs.m_tauseg;
64  m_opgNum = rhs.m_opgNum;
66  }
67  return *this;
68 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

◆ parseStream()

void ossimNitfRsmecaIsg::parseStream ( std::istream &  in)

Definition at line 70 of file ossimNitfRsmecaTag.cpp.

References clearFields(), FLOAT21_SIZE, m_errCovNum, m_errcvg, m_numopg, m_opgNum, NUMOPG_SIZE, and ossimString::toUInt32().

71 {
72  clearFields();
73  in.read(m_numopg, NUMOPG_SIZE);
75  m_errCovNum = (m_opgNum * (m_opgNum + 1)) / 2;
76  ossim_uint32 i = 0;
77  char temp1[FLOAT21_SIZE+1];
78  temp1[FLOAT21_SIZE] = '\0';
79  m_errcvg.resize(m_errCovNum);
80  for (i=0; i < m_errCovNum; ++i)
81  {
82  in.read(temp1, FLOAT21_SIZE);
83  m_errcvg[i] = FILL21;
84  m_errcvg[i] = temp1;
85  }
86  in.read(m_tcdf, TCDF_SIZE);
87  in.read(m_ncseg, NCSEG_SIZE);
89  m_corseg.resize(m_corSegNum);
90  m_tauseg.resize(m_corSegNum);
91 
92  for (i=0; i < m_corSegNum; ++i)
93  {
94  in.read(temp1, FLOAT21_SIZE);
95  m_corseg[i] = FILL21;
96  m_corseg[i] = temp1;
97  in.read(temp1, FLOAT21_SIZE);
98  m_tauseg[i] = FILL21;
99  m_tauseg[i] = temp1;
100  }
101 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
ossim_uint32 toUInt32() const
unsigned int ossim_uint32
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

◆ print()

std::ostream & ossimNitfRsmecaIsg::print ( std::ostream &  out,
const std::string &  prefix = std::string(),
ossim_uint32  index = 0 
) const

Definition at line 131 of file ossimNitfRsmecaTag.cpp.

References ossimString::c_str(), m_corseg, m_corSegNum, m_errCovNum, m_errcvg, m_ncseg, m_numopg, m_tauseg, m_tcdf, and ossimString::toString().

133 {
134  std::string pfx = prefix;
135  pfx += "RSMECA";
136  pfx += ".ISG";
137  pfx += ossimString::toString(index).c_str();
138  pfx += ".";
139  ossim_uint32 i = 0;
140 
141  out << setiosflags(std::ios::left)
142  << pfx << std::setw(24) << "NUMOPG:" << m_numopg << "\n";
143  for(i=0;i<m_errCovNum;++i)
144  {
145  ossimString field = "ERRCVG" + ossimString::toString(i) + ":";
146  out << pfx << std::setw(24) << field << m_errcvg[i] << "\n";
147  }
148 
149  out << pfx << std::setw(24) << "TCDF:" << m_tcdf << "\n"
150  << pfx << std::setw(24) << "NCSEG:" << m_ncseg << "\n";
151 
152  for(i=0;i<m_corSegNum;++i)
153  {
154  ossimString field = "CORSEG" + ossimString::toString(i) + ":";
155  out << pfx << std::setw(24) << field << m_corseg[i] << "\n";
156  }
157  for(i=0;i<m_corSegNum;++i)
158  {
159  ossimString field = "TAUSEG" + ossimString::toString(i) + ":";
160  out << pfx << std::setw(24) << field << m_tauseg[i] << "\n";
161  }
162 
163  return out;
164 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
static ossimString toString(bool aValue)
Numeric to string methods.
unsigned int ossim_uint32
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

◆ writeStream()

void ossimNitfRsmecaIsg::writeStream ( std::ostream &  out)

Definition at line 103 of file ossimNitfRsmecaTag.cpp.

References FLOAT21_SIZE, m_corseg, m_corSegNum, m_errCovNum, m_errcvg, m_ncseg, m_numopg, m_tauseg, m_tcdf, NCSEG_SIZE, NUMOPG_SIZE, and TCDF_SIZE.

104 {
105  out.write(m_numopg, NUMOPG_SIZE);
106  ossim_uint32 i = 0;
107  for (i=0; i < m_errCovNum; ++i)
108  {
109  out.write(m_errcvg[i], FLOAT21_SIZE);
110  }
111  out.write(m_tcdf, TCDF_SIZE);
112  out.write(m_ncseg, NCSEG_SIZE);
113 
114  for (i=0; i < m_corSegNum; ++i)
115  {
116  out.write(m_corseg[i], FLOAT21_SIZE);
117  out.write(m_tauseg[i], FLOAT21_SIZE);
118  }
119 }
char m_ncseg[NCSEG_SIZE+1]
ossim_uint32 m_corSegNum
unsigned int ossim_uint32
ossim_uint32 m_errCovNum
char m_numopg[NUMOPG_SIZE+1]
std::vector< ossimString > m_tauseg
char m_tcdf[TCDF_SIZE+1]
std::vector< ossimString > m_errcvg
std::vector< ossimString > m_corseg

Member Data Documentation

◆ m_corseg

std::vector<ossimString> ossimNitfRsmecaIsg::m_corseg
protected

Definition at line 49 of file ossimNitfRsmecaTag.h.

Referenced by operator=(), print(), and writeStream().

◆ m_corSegNum

ossim_uint32 ossimNitfRsmecaIsg::m_corSegNum
protected

Definition at line 53 of file ossimNitfRsmecaTag.h.

Referenced by operator=(), print(), and writeStream().

◆ m_errCovNum

ossim_uint32 ossimNitfRsmecaIsg::m_errCovNum
protected

Definition at line 51 of file ossimNitfRsmecaTag.h.

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

◆ m_errcvg

std::vector<ossimString> ossimNitfRsmecaIsg::m_errcvg
protected

Definition at line 46 of file ossimNitfRsmecaTag.h.

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

◆ m_ncseg

char ossimNitfRsmecaIsg::m_ncseg[NCSEG_SIZE+1]
protected

Definition at line 48 of file ossimNitfRsmecaTag.h.

Referenced by clearFields(), operator=(), ossimNitfRsmecaIsg(), print(), and writeStream().

◆ m_numopg

char ossimNitfRsmecaIsg::m_numopg[NUMOPG_SIZE+1]
protected

◆ m_opgNum

ossim_uint32 ossimNitfRsmecaIsg::m_opgNum
protected

Definition at line 52 of file ossimNitfRsmecaTag.h.

Referenced by operator=(), and parseStream().

◆ m_tauseg

std::vector<ossimString> ossimNitfRsmecaIsg::m_tauseg
protected

Definition at line 50 of file ossimNitfRsmecaTag.h.

Referenced by operator=(), print(), and writeStream().

◆ m_tcdf

char ossimNitfRsmecaIsg::m_tcdf[TCDF_SIZE+1]
protected

Definition at line 47 of file ossimNitfRsmecaTag.h.

Referenced by clearFields(), operator=(), ossimNitfRsmecaIsg(), print(), and writeStream().


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