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

#include <ossimNitfStreobTag.h>

Inheritance diagram for ossimNitfStreobTag:
ossimNitfRegisteredTag ossimObject ossimPropertyInterface ossimReferenced

Public Member Functions

 ossimNitfStreobTag ()
 default constructor More...
 
virtual ~ossimNitfStreobTag ()
 destructor More...
 
virtual void parseStream (std::istream &in)
 Method to parse data from stream. More...
 
virtual void writeStream (std::ostream &out)
 Method to write data to stream. More...
 
virtual void clearFields ()
 Method to clear all fields including null terminating. More...
 
virtual std::ostream & print (std::ostream &out, const std::string &prefix) const
 Print method that outputs a key/value type format adding prefix to keys. More...
 
- Public Member Functions inherited from ossimNitfRegisteredTag
 ossimNitfRegisteredTag ()
 default constructor More...
 
 ossimNitfRegisteredTag (const std::string &tagName, ossim_uint32 tagLength)
 Constructor that takes name and size. More...
 
virtual ~ossimNitfRegisteredTag ()
 destructor More...
 
virtual std::string getRegisterTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual const std::string & getTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual void setTagName (const std::string &tagName)
 
virtual ossim_uint32 getSizeInBytes () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual ossim_uint32 getTagLength () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual void setTagLength (ossim_uint32 length)
 Set the tag length. More...
 
virtual void parseStream (ossim::istream &in)=0
 This will allow the user defined data to parse the stream. More...
 
virtual void writeStream (ossim::ostream &out)=0
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
virtual void getMetadata (ossimKeywordlist &kwl, const char *prefix=0) const
 Default interface to populate keyword list with metadata. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const ossimString &prefix) 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
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 

Protected Attributes

char m_stdId [61]
 FIELD: ST_ID. More...
 
char n_nMates [2]
 FIELD: N_MATES. More...
 
char m_mateInstance [2]
 FIELD: MATE_INSTANCE. More...
 
char m_bConv [6]
 FIELD: B_CONV. More...
 
char m_eConv [6]
 FIELD: E_CONV. More...
 
char m_bAsym [6]
 FIELD: B_ASYM. More...
 
char m_eAsym [6]
 FIELD: E_ASYM. More...
 
char m_bBie [7]
 FIELD: B_BIE. More...
 
char m_eBie [7]
 FIELD: E_BIE. More...
 
- Protected Attributes inherited from ossimNitfRegisteredTag
std::string m_tagName
 
ossim_uint32 m_tagLength
 

Additional Inherited Members

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

Detailed Description

Definition at line 20 of file ossimNitfStreobTag.h.

Constructor & Destructor Documentation

◆ ossimNitfStreobTag()

ossimNitfStreobTag::ossimNitfStreobTag ( )

default constructor

Definition at line 25 of file ossimNitfStreobTag.cpp.

References clearFields().

26  : ossimNitfRegisteredTag(std::string("STREOB"), 94)
27 {
28  clearFields();
29 }
virtual void clearFields()
Method to clear all fields including null terminating.
ossimNitfRegisteredTag()
default constructor

◆ ~ossimNitfStreobTag()

ossimNitfStreobTag::~ossimNitfStreobTag ( )
virtual

destructor

Definition at line 31 of file ossimNitfStreobTag.cpp.

32 {
33 }

Member Function Documentation

◆ clearFields()

void ossimNitfStreobTag::clearFields ( )
virtual

Method to clear all fields including null terminating.

Definition at line 63 of file ossimNitfStreobTag.cpp.

References m_bAsym, m_bBie, m_bConv, m_eAsym, m_eConv, m_mateInstance, m_stdId, and n_nMates.

Referenced by ossimNitfStreobTag(), and parseStream().

64 {
65  // BCS-N's to '0's, BCS-A's to ' '(spaces)
66 
67  memset(m_stdId, '\0', 61);
68  memset(n_nMates, '\0', 2);
69  memset(m_mateInstance, '\0', 2);
70  memset(m_bConv, '\0', 6);
71  memset(m_eConv, '\0', 6);
72  memset(m_bAsym, '\0', 6);
73  memset(m_eAsym, '\0', 7);
74  memset(m_bBie, '\0', 7);
75 }
char m_eConv[6]
FIELD: E_CONV.
char m_bBie[7]
FIELD: B_BIE.
char m_eAsym[6]
FIELD: E_ASYM.
char m_mateInstance[2]
FIELD: MATE_INSTANCE.
char m_stdId[61]
FIELD: ST_ID.
char m_bAsym[6]
FIELD: B_ASYM.
char m_bConv[6]
FIELD: B_CONV.
char n_nMates[2]
FIELD: N_MATES.

◆ parseStream()

void ossimNitfStreobTag::parseStream ( std::istream &  in)
virtual

Method to parse data from stream.

Definition at line 35 of file ossimNitfStreobTag.cpp.

References clearFields(), m_bAsym, m_bBie, m_bConv, m_eAsym, m_eBie, m_eConv, m_mateInstance, m_stdId, and n_nMates.

36 {
37  clearFields();
38 
39  in.read(m_stdId, 60);
40  in.read(n_nMates, 1);
41  in.read(m_mateInstance, 1);
42  in.read(m_bConv, 5);
43  in.read(m_eConv, 5);
44  in.read(m_bAsym, 5);
45  in.read(m_eAsym, 5);
46  in.read(m_bBie, 6);
47  in.read(m_eBie, 6);
48 }
char m_eConv[6]
FIELD: E_CONV.
virtual void clearFields()
Method to clear all fields including null terminating.
char m_bBie[7]
FIELD: B_BIE.
char m_eBie[7]
FIELD: E_BIE.
char m_eAsym[6]
FIELD: E_ASYM.
char m_mateInstance[2]
FIELD: MATE_INSTANCE.
char m_stdId[61]
FIELD: ST_ID.
char m_bAsym[6]
FIELD: B_ASYM.
char m_bConv[6]
FIELD: B_CONV.
char n_nMates[2]
FIELD: N_MATES.

◆ print()

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

Print method that outputs a key/value type format adding prefix to keys.

Parameters
outStream to output to.
prefixPrefix added to key like "image0.";

Reimplemented from ossimNitfRegisteredTag.

Definition at line 77 of file ossimNitfStreobTag.cpp.

References ossimNitfRegisteredTag::getTagName(), m_bAsym, m_bBie, m_bConv, m_eAsym, m_eConv, m_mateInstance, m_stdId, and n_nMates.

79 {
80  std::string pfx = prefix;
81  pfx += getTagName();
82  pfx += ".";
83 
84  out << setiosflags(std::ios::left)
85  << pfx << std::setw(24) << "CETAG:"
86  << getTagName() << "\n"
87  << pfx << std::setw(24) << "ST_ID:" << m_stdId << "\n"
88  << pfx << std::setw(24) << "N_MATES:" << n_nMates << "\n"
89  << pfx << std::setw(24) << "MATE_INSTANCE:" << m_mateInstance << "\n"
90  << pfx << std::setw(24) << "B_CONV:" << m_bConv << "\n"
91  << pfx << std::setw(24) << "E_CONV:" << m_eConv << "\n"
92  << pfx << std::setw(24) << "B_ASYM:" << m_bAsym << "\n"
93  << pfx << std::setw(24) << "E_ASYM:" << m_eAsym << "\n"
94  << pfx << std::setw(24) << "B_BIE:" << m_bBie << "\n";
95 
96  return out;
97 }
virtual const std::string & getTagName() const
This will return the name of the registered tag for this user defined header.
char m_eConv[6]
FIELD: E_CONV.
char m_bBie[7]
FIELD: B_BIE.
char m_eAsym[6]
FIELD: E_ASYM.
char m_mateInstance[2]
FIELD: MATE_INSTANCE.
char m_stdId[61]
FIELD: ST_ID.
char m_bAsym[6]
FIELD: B_ASYM.
char m_bConv[6]
FIELD: B_CONV.
char n_nMates[2]
FIELD: N_MATES.

◆ writeStream()

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

Method to write data to stream.

Definition at line 50 of file ossimNitfStreobTag.cpp.

References m_bAsym, m_bBie, m_bConv, m_eAsym, m_eBie, m_eConv, m_mateInstance, m_stdId, and n_nMates.

51 {
52  out.write(m_stdId, 60);
53  out.write(n_nMates, 1);
54  out.write(m_mateInstance, 1);
55  out.write(m_bConv, 5);
56  out.write(m_eConv, 5);
57  out.write(m_bAsym, 5);
58  out.write(m_eAsym, 5);
59  out.write(m_bBie, 6);
60  out.write(m_eBie, 6);
61 }
char m_eConv[6]
FIELD: E_CONV.
char m_bBie[7]
FIELD: B_BIE.
char m_eBie[7]
FIELD: E_BIE.
char m_eAsym[6]
FIELD: E_ASYM.
char m_mateInstance[2]
FIELD: MATE_INSTANCE.
char m_stdId[61]
FIELD: ST_ID.
char m_bAsym[6]
FIELD: B_ASYM.
char m_bConv[6]
FIELD: B_CONV.
char n_nMates[2]
FIELD: N_MATES.

Member Data Documentation

◆ m_bAsym

char ossimNitfStreobTag::m_bAsym[6]
protected

FIELD: B_ASYM.

5 byte field

Values: 00.00 to 90.00

Beginning Asymmetry Angle defined at the first lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the first line of the fore and the last line of the aft shall be used.

Definition at line 132 of file ossimNitfStreobTag.h.

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

◆ m_bBie

char ossimNitfStreobTag::m_bBie[7]
protected

FIELD: B_BIE.

6 byte field

Values: +- 90.00

Beginning BIE less Convergence Angle of Stereo Mate, defined at the first lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the first line of the fore and the last line of the aft shall be used.

Definition at line 160 of file ossimNitfStreobTag.h.

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

◆ m_bConv

char ossimNitfStreobTag::m_bConv[6]
protected

FIELD: B_CONV.

5 byte field in degrees

Value: 00.00 to 90.00

Beginning Convergence Angle defined at the first lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the first line of the fore and the last line of the aft shall be used.

Definition at line 104 of file ossimNitfStreobTag.h.

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

◆ m_eAsym

char ossimNitfStreobTag::m_eAsym[6]
protected

FIELD: E_ASYM.

5 byte field

Values: 00.00 to 90.00

Ending Asymmetry Angle defined at the last lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the last line of the fore and the first line of the aft shall be used.

Definition at line 146 of file ossimNitfStreobTag.h.

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

◆ m_eBie

char ossimNitfStreobTag::m_eBie[7]
protected

FIELD: E_BIE.

6 byte field

Values: +- 90.00

Ending BIE less Convergence Angle of Stereo Mate, defined at the last lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the last line of the fore and the first line of the aft shall be used.

Definition at line 175 of file ossimNitfStreobTag.h.

Referenced by parseStream(), and writeStream().

◆ m_eConv

char ossimNitfStreobTag::m_eConv[6]
protected

FIELD: E_CONV.

5 byte field in degrees

Values: 00.00 to 90.00

Ending Convergence Angle defined at the last lines of the fore/left and aft/right images, unless those images are more than 90 degrees apart. If the images are more than 90 degrees apart, the last line of the fore and the first line of the aft shall be used.

Definition at line 118 of file ossimNitfStreobTag.h.

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

◆ m_mateInstance

char ossimNitfStreobTag::m_mateInstance[2]
protected

FIELD: MATE_INSTANCE.

1 byte integer

values: 1 to 3

Mate Instance identifies which stereo mate is described in that extension. For example, this field contains a 2 for the second stereo mate.

Definition at line 88 of file ossimNitfStreobTag.h.

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

◆ m_stdId

char ossimNitfStreobTag::m_stdId[61]
protected

FIELD: ST_ID.

60 byte field string

alphanumeric

The image ID of the first stereo mate. The fields ACQUISITION_DATE through END_ROW in the STDIDC tag constitute the image ID

Definition at line 60 of file ossimNitfStreobTag.h.

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

◆ n_nMates

char ossimNitfStreobTag::n_nMates[2]
protected

FIELD: N_MATES.

1 byte integer

values: 1 to 3

Number of Stereo Mates. If there are no stereo mates, there will not be any STREOB (TBR) extensions in the file. If there is a STREOB (TBR) extension, then there will be at least 1 stereo mate.

Definition at line 74 of file ossimNitfStreobTag.h.

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


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