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

#include <ossimNitfLocalCartographicTag.h>

Inheritance diagram for ossimNitfLocalCartographicTag:
ossimNitfRegisteredTag ossimObject ossimPropertyInterface ossimReferenced

Public Member Functions

 ossimNitfLocalCartographicTag ()
 
virtual ~ossimNitfLocalCartographicTag ()
 
virtual void parseStream (std::istream &in)
 
virtual void writeStream (std::ostream &out)
 
virtual void clearFields ()
 
void setLengthUnits (const ossimString &units)
 
void setEastingInterval (ossim_uint32 eastingInterval)
 
void setNorthingInterval (ossim_uint32 northingInterval)
 
void setEastingReferenceOrigin (ossim_float64 east)
 
void setNorthingReferenceOrigin (ossim_float64 north)
 
- 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 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. 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 theLengthUnits [4]
 FIELD: UNILOA. More...
 
char theEastingInterval [6]
 FIELD: LOD. More...
 
char theNorthingInterval [6]
 FIELD: LAD. More...
 
char theEastingReferenceOrigin [16]
 FIELD: LSO. More...
 
char theNorthingReferenceOrigin [16]
 FIELD: PSO. 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 5 of file ossimNitfLocalCartographicTag.h.

Constructor & Destructor Documentation

◆ ossimNitfLocalCartographicTag()

ossimNitfLocalCartographicTag::ossimNitfLocalCartographicTag ( )

Definition at line 20 of file ossimNitfLocalCartographicTag.cpp.

21  : ossimNitfRegisteredTag(std::string("MAPLOB"), 43)
22 {
23 }
ossimNitfRegisteredTag()
default constructor

◆ ~ossimNitfLocalCartographicTag()

ossimNitfLocalCartographicTag::~ossimNitfLocalCartographicTag ( )
virtual

Definition at line 25 of file ossimNitfLocalCartographicTag.cpp.

26 {
27 }

Member Function Documentation

◆ clearFields()

void ossimNitfLocalCartographicTag::clearFields ( )
virtual

Definition at line 49 of file ossimNitfLocalCartographicTag.cpp.

References theEastingInterval, theEastingReferenceOrigin, theLengthUnits, theNorthingInterval, and theNorthingReferenceOrigin.

Referenced by parseStream().

50 {
51  memset(theLengthUnits, ' ', 3);
52  memset(theEastingInterval, '0', 5);
53  memset(theNorthingInterval, '0', 5);
54  memset(theEastingReferenceOrigin, '0', 15);
55  memset(theNorthingReferenceOrigin, '0', 15);
56 
57  theLengthUnits[3] = '\0';
58  theEastingInterval[5] = '\0';
59  theNorthingInterval[5] = '\0';
60  theEastingReferenceOrigin[15] = '\0';
61  theNorthingReferenceOrigin[15] = '\0';
62 }

◆ parseStream()

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

◆ setEastingInterval()

void ossimNitfLocalCartographicTag::setEastingInterval ( ossim_uint32  eastingInterval)

Definition at line 76 of file ossimNitfLocalCartographicTag.cpp.

References theEastingInterval.

77 {
78  ossim_uint32 temp = eastingInterval;
79 
80  if(temp > 99999)
81  {
82  temp = 99999;
83  }
84 
86 
87  out << std::setw(5)
88  << std::setfill('0')
89  << temp;
90 
91  memcpy(theEastingInterval, out.str().c_str(), 5);
92 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
unsigned int ossim_uint32

◆ setEastingReferenceOrigin()

void ossimNitfLocalCartographicTag::setEastingReferenceOrigin ( ossim_float64  east)

Definition at line 112 of file ossimNitfLocalCartographicTag.cpp.

References theEastingReferenceOrigin.

113 {
114  std::ostringstream out;
115 
116  out << std::setw(15)
117  << std::setfill(' ')
118  << std::setprecision(1)
119  << std::setiosflags(std::ios::fixed)
120  << east;
121 
122  memcpy(theEastingReferenceOrigin, out.str().c_str(), 15);
123 
124 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35

◆ setLengthUnits()

void ossimNitfLocalCartographicTag::setLengthUnits ( const ossimString units)

Definition at line 64 of file ossimNitfLocalCartographicTag.cpp.

References ossimString::c_str(), theLengthUnits, ossimString::trim(), and ossimString::upcase().

65 {
66  ossimString temp = ossimString(units).trim().upcase();
68 
69  out << std::setw(3)
70  << std::setfill(' ')
71  << temp.c_str();
72 
73  memcpy(theLengthUnits, out.str().c_str(), 3);
74 }
static ossimString upcase(const ossimString &aString)
Definition: ossimString.cpp:34
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
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

◆ setNorthingInterval()

void ossimNitfLocalCartographicTag::setNorthingInterval ( ossim_uint32  northingInterval)

Definition at line 94 of file ossimNitfLocalCartographicTag.cpp.

References theNorthingInterval.

95 {
96  ossim_uint32 temp = northingInterval;
97 
98  if(temp > 99999)
99  {
100  temp = 99999;
101  }
102 
103  std::ostringstream out;
104 
105  out << std::setw(5)
106  << std::setfill('0')
107  << temp;
108 
109  memcpy(theNorthingInterval, out.str().c_str(), 5);
110 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
unsigned int ossim_uint32

◆ setNorthingReferenceOrigin()

void ossimNitfLocalCartographicTag::setNorthingReferenceOrigin ( ossim_float64  north)

Definition at line 126 of file ossimNitfLocalCartographicTag.cpp.

References theNorthingReferenceOrigin.

127 {
128  std::ostringstream out;
129 
130  out << std::setw(15)
131  << std::setfill(' ')
132  << std::setprecision(1)
133  << std::setiosflags(std::ios::fixed)
134  << north;
135 
136  memcpy(theNorthingReferenceOrigin, out.str().c_str(), 15);
137 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35

◆ writeStream()

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

Definition at line 40 of file ossimNitfLocalCartographicTag.cpp.

References theEastingInterval, theEastingReferenceOrigin, theLengthUnits, theNorthingInterval, and theNorthingReferenceOrigin.

41 {
42  out.write(theLengthUnits, 3);
43  out.write(theEastingInterval, 5);
44  out.write(theNorthingInterval, 5);
45  out.write(theEastingReferenceOrigin, 15);
46  out.write(theNorthingReferenceOrigin, 15);
47 }

Member Data Documentation

◆ theEastingInterval

char ossimNitfLocalCartographicTag::theEastingInterval[6]
protected

FIELD: LOD.

required 5 byte field

Easting interval

This field shall contain the data density in E-W direction that is the column width of an image pixel. 5 BCS-N positive integer 00001 to 99999 R

Definition at line 48 of file ossimNitfLocalCartographicTag.h.

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

◆ theEastingReferenceOrigin

char ossimNitfLocalCartographicTag::theEastingReferenceOrigin[16]
protected

FIELD: LSO.

required 15 byte field

Easting of Reference Origin

This field shall contain the easting of the origin pixel (row number 0, column number 0) in the absolute coordinate system. 15 BCS-N ±mmmmmmmmmmmm.m

Definition at line 74 of file ossimNitfLocalCartographicTag.h.

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

◆ theLengthUnits

char ossimNitfLocalCartographicTag::theLengthUnits[4]
protected

FIELD: UNILOA.

required 3 byte field

Length units

This field shall contain the unit of measure used for easting (LOD) and northing (LAD) intervals. The default value is M. 3BCS-A See Part 3- 7 R

Definition at line 35 of file ossimNitfLocalCartographicTag.h.

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

◆ theNorthingInterval

char ossimNitfLocalCartographicTag::theNorthingInterval[6]
protected

FIELD: LAD.

required 5 byte field

Northing interval

This field shall contain the data density in E-W direction that is the column width of an image pixel. 5 BCS-N positive integer 00001 to 99999 R

Definition at line 61 of file ossimNitfLocalCartographicTag.h.

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

◆ theNorthingReferenceOrigin

char ossimNitfLocalCartographicTag::theNorthingReferenceOrigin[16]
protected

FIELD: PSO.

required 15 byte field

Northing of Reference Origin

This field shall contain the northing of the origin pixel (row number 0, column number 0) in the absolute coordinate system. 15 BCS-N ±mmmmmmmmmmmm.m

Definition at line 87 of file ossimNitfLocalCartographicTag.h.

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


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