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

Class to write out meta data in a Federal Geographic Data Committe (FGDC) format. More...

#include <ossimFgdcFileWriter.h>

Inheritance diagram for ossimFgdcFileWriter:
ossimMetadataFileWriter ossimConnectableObject ossimProcessInterface ossimConnectableObjectListener ossimObject ossimListenerManager ossimPropertyInterface ossimListener ossimReferenced

Public Member Functions

 ossimFgdcFileWriter ()
 constructor More...
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 Method to load the state from a keyword list. More...
 
virtual void getMetadatatypeList (std::vector< ossimString > &metadatatypeList) const
 Satisfies pure virtual from ossimMetadataWriter base. More...
 
virtual bool hasMetadataType (const ossimString &metadataType) const
 Satisfies pure virtual from ossimMetadataWriter base. More...
 
ossim_uint32 getIndentionLevel () const
 
void setIndentionLevel (ossim_uint32 level)
 Sets the current indentation level. More...
 
ossimString getTabString () const
 
void setTabString (const ossimString &tabString)
 Sets the tab string. More...
 
void setTitle (const ossimString &pubDate)
 
void setTemplate (const ossimFilename &xmlTemplateFile)
 
ossimString find (const ossimString &xpath) const
 
bool writeTemplate (const ossimFilename &file) const
 
- Public Member Functions inherited from ossimMetadataFileWriter
 ossimMetadataFileWriter ()
 
virtual ossimObjectgetObject ()
 
virtual const ossimObjectgetObject () const
 
virtual void initialize ()
 
virtual bool execute ()
 
virtual void setPercentComplete (double percentComplete)
 
virtual void setFilename (const ossimFilename &file)
 
const ossimFilenamegetFilename () const
 
bool canConnectMyInputTo (ossim_int32 inputIndex, const ossimConnectableObject *object) const
 required to be overriden by derived classes More...
 
virtual void disconnectInputEvent (ossimConnectionEvent &event)
 
virtual void connectInputEvent (ossimConnectionEvent &event)
 
virtual void propertyEvent (ossimPropertyEvent &event)
 
virtual void setPixelType (ossimPixelType pixelType)
 Ossim uses a concept of "pixel is point" internally. More...
 
virtual ossimPixelType getPixelType () const
 
virtual void setAreaOfInterest (const ossimIrect &areaOfInterest)
 Sets the area of interest to write the meta data for. More...
 
virtual ossimIrect getAreaOfInterest () const
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
- Public Member Functions inherited from ossimConnectableObject
 ossimConnectableObject (ossimObject *owner=0)
 Base constructor of this object. More...
 
 ossimConnectableObject (ossimObject *owner, ossim_int32 inputListSize, ossim_int32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true)
 
virtual ~ossimConnectableObject ()
 
void setId (const ossimId &id)
 All connectable objects will have id's. More...
 
const ossimIdgetId () const
 Will allow us to get this object's id. More...
 
const ossimObjectgetOwner () const
 Fetches the current owner, most likely a container but not limited to one. More...
 
virtual void changeOwner (ossimObject *owner)
 Permits changing the object's owner. More...
 
virtual void setDescription (const ossimString &description)
 
virtual ossimString getDescription () const
 
virtual bool isConnected (ossimConnectableObjectDirectionType direction=CONNECTABLE_DIRECTION_INPUT) const
 will check the direction specified to see if all slots are full. More...
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findConnectableObject(const ossimId &id))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(RTTItypeid typeId, ossimConnectableObjectDirectionType directionType, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(const ossimString &obj, ossimConnectableObjectDirectionType directionType, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findInputObjectOfType(const ossimString &className))
 
virtual ossim_int32 findInputIndex (const ossimConnectableObject *object)
 Return a valid index of the input list if the passed in object is found else return -1. More...
 
virtual ossim_int32 findInputIndex (const ossimId &id)
 Return a valid index of the input list if the passed id is found else return -1. More...
 
virtual ossim_int32 findOutputIndex (const ossimConnectableObject *object)
 Return a valid index of the output list if the passed in object is found else return -1. More...
 
virtual ossim_int32 findOutputIndex (const ossimId &id)
 Return a valid index of the output list if the passed in object is found else return -1. More...
 
virtual ossim_int32 getMyInputIndexToConnectTo (ossimConnectableObject *object) const
 Should return the first available index to connect to. More...
 
virtual ossim_int32 getMyOutputIndexToConnectTo (ossimConnectableObject *object) const
 Should return the first available index to connect to. More...
 
virtual bool canConnectMyOutputTo (ossim_int32 myOutputIndex, const ossimConnectableObject *object) const
 default implementation is to allow anyone to connect to us. More...
 
virtual void disconnect (ossimConnectableObject *object=0)
 Will disconnect the object passed in. More...
 
virtual void disconnect (const ossimId &id)
 Will disconnect the object passed in. More...
 
virtual ossimRefPtr< ossimConnectableObjectdisconnectMyInput (ossim_int32 inputIndex, bool disconnectOutputFlag=true, bool createEventFlag=true)
 Will disconnect the object at the given input index and generate a connection event. More...
 
virtual void disconnectMyInput (ossimConnectableObject *input, bool disconnectOutputFlag=true, bool createEventFlag=true)
 Finds the index of the passed in input and calls disconnectMyInput(inputIndex, disconnectOutputFlag, createEventFlag);. More...
 
virtual void disconnectMyInputs (ConnectableObjectList &inputList, bool disconnectOutputFlag=true, bool createEventFlag=true)
 
virtual ossimRefPtr< ossimConnectableObjectdisconnectMyOutput (ossim_int32 outputIndex, bool disconnectInputFlag=true, bool createEventFlag=true)
 Will disconnect the object at the given output index and generate a connection event. More...
 
virtual void disconnectMyOutput (ossimConnectableObject *output, bool disconnectInputFlag=true, bool createEventFlag=true)
 Will disconnect the output object. More...
 
virtual void disconnectMyOutputs (ConnectableObjectList &outputList, bool disconnectOutputFlag=true, bool createEventFlag=true)
 
virtual void disconnectAllInputs ()
 Will disconnect all of the input objects. More...
 
virtual void disconnectAllOutputs ()
 Will disconnect all of the output objects. More...
 
virtual ossim_int32 connectMyInputTo (ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
 Will try to connect this objects input to the passed in object. More...
 
virtual ossim_int32 connectMyInputTo (ossim_int32 inputIndex, ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
 Will connect the specified input to the passed in object. More...
 
virtual bool connectMyInputTo (ConnectableObjectList &inputList, bool makeOutputConnection=true, bool createEventFlag=true)
 
virtual ossim_int32 connectMyOutputTo (ossimConnectableObject *outputObject, bool makeInputConnection=true, bool createEventFlag=true)
 Will try to connect this objects output to the passed in object. More...
 
virtual bool connectMyOutputTo (ConnectableObjectList &outputList, bool makeInputConnection=true, bool createEventFlag=true)
 
virtual bool connectInputList (ConnectableObjectList &inputList)
 Will disconnect itself from all inputs and reset to the passed in input list. More...
 
virtual bool connectOutputList (ConnectableObjectList &outputList)
 Will disconnect itself from all outputs and reset to the passed in output list. More...
 
virtual ossim_uint32 getNumberOfInputs () const
 Returns the number of input objects. More...
 
virtual ossim_uint32 getNumberOfOutputs () const
 Return the number of output objects. More...
 
ossimConnectableObjectgetInput (ossim_uint32 index=0)
 returns the object at the specified index. More...
 
const ossimConnectableObjectgetInput (ossim_uint32 index=0) const
 returns the object at the specified index. More...
 
ossimConnectableObjectgetOutput (ossim_uint32 index=0)
 returns the object at the specified index. More...
 
const ossimConnectableObjectgetOutput (ossim_uint32 index=0) const
 returns the object at the specified index. More...
 
virtual void setNumberOfInputs (ossim_int32 numberOfInputs)
 Will set the number of inputs. More...
 
virtual bool getInputListIsFixedFlag () const
 
virtual bool getOutputListIsFixedFlag () const
 
virtual void setNumberOfOutputs (ossim_int32 numberOfInputs)
 Will set the number of outputs. More...
 
const ConnectableObjectListgetInputList () const
 
const ConnectableObjectListgetOutputList () const
 
ConnectableObjectListgetInputList ()
 
ConnectableObjectListgetOutputList ()
 
 OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const RTTItypeid &typeInfo, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const ossimString &className, bool recurse=true))
 
virtual void propagateEventToOutputs (ossimEvent &event)
 
virtual void propagateEventToInputs (ossimEvent &event)
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual ossim_uint32 saveStateOfAllInputs (ossimKeywordlist &kwl, bool saveThisStateFlag=true, ossim_uint32 objectIndex=1, const char *prefix=0) const
 Save the state of all inputs to a keyword list. More...
 
virtual bool fillContainer (ossimConnectableContainer &container)
 Inserts this object and all of its children and inputs into the container provided. More...
 
bool moveInputUp (const ossimId &id)
 Moves the input connection matching id up one in the connection list. More...
 
bool moveInputDown (const ossimId &id)
 Moves the input connection matching id down one in the connection list. More...
 
bool moveInputToTop (const ossimId &id)
 Moves the input connection matching id to the top of the connection list. More...
 
bool moveInputToBottom (const ossimId &id)
 Moves the input connection matching id to the bottom of the connection list. More...
 
virtual void accept (ossimVisitor &visitor)
 We will add a visitor interface for all connectable objects. More...
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () 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 std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
- 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 ossimListenerManager
 ossimListenerManager ()
 
virtual ~ossimListenerManager ()
 
virtual void fireEvent (ossimEvent &event)
 
virtual bool addListener (ossimListener *listener)
 
virtual bool removeListener (ossimListener *listener)
 
virtual bool findListener (ossimListener *listener)
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 
- Public Member Functions inherited from ossimProcessInterface
 ossimProcessInterface ()
 
virtual ~ossimProcessInterface ()
 
virtual void abort ()
 
bool needsAborting () const
 
bool isAbortRequested () const
 
bool isAborted () const
 
bool isExecuting () const
 
ossimProcessStatus getProcessStatus () const
 
virtual void setProcessStatus (ossimProcessStatus processStatus)
 
virtual double getPercentComplete () const
 
virtual ossimListenerManagergetManager ()
 
void enableEvents ()
 
void disableEvents ()
 
void setCurrentMessage (const ossimString &message)
 
virtual std::ostream & print (std::ostream &out) const
 
- Public Member Functions inherited from ossimConnectableObjectListener
 ossimConnectableObjectListener ()
 
virtual ~ossimConnectableObjectListener ()
 
virtual void processEvent (ossimEvent &event)
 ProcessEvent. More...
 
virtual void objectDestructingEvent (ossimObjectDestructingEvent &)
 
virtual void connectionEvent (ossimConnectionEvent &)
 
virtual void disconnectOutputEvent (ossimConnectionEvent &)
 
virtual void connectOutputEvent (ossimConnectionEvent &)
 
virtual void addObjectEvent (ossimContainerEvent &)
 
virtual void removeObjectEvent (ossimContainerEvent &)
 
virtual void containerEvent (ossimContainerEvent &)
 
virtual void refreshEvent (ossimRefreshEvent &)
 
- Public Member Functions inherited from ossimListener
 ossimListener ()
 
virtual ~ossimListener ()
 
void enableListener ()
 
void disableListener ()
 
void setListenerEnableFlag (bool flag)
 
bool isListenerEnabled () const
 
bool getListenerEnableFlag () const
 

Protected Member Functions

virtual ~ossimFgdcFileWriter ()
 destructor More...
 
virtual bool writeFile ()
 Writes file to disk. More...
 
- Protected Member Functions inherited from ossimMetadataFileWriter
virtual ~ossimMetadataFileWriter ()
 
- Protected Member Functions inherited from ossimConnectableObject
ossimConnectableObjectfindObjectOfType (ConnectableObjectList *connectableList, ossimVisitor &visitor)
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimListenerManager
 ossimListenerManager (const ossimListenerManager &rhs)
 

Private Member Functions

void openTag (std::ostream &os, const ossimString &tag, bool newLine) const
 Writes openning tag adding any indentation and brackets. More...
 
void closeTag (std::ostream &os, const ossimString &tag, bool decrementLevel) const
 Closes tag decrementing indentation. More...
 

Private Attributes

ossim_uint32 theIndentionLevel
 
ossimString theTabString
 
ossimXmlDocument theTemplate
 
ossimFilename theSourceImageFilename
 

Additional Inherited Members

- Public Types inherited from ossimConnectableObject
enum  ossimConnectableObjectDirectionType { CONNECTABLE_DIRECTION_NONE = 0, CONNECTABLE_DIRECTION_INPUT = 1, CONNECTABLE_DIRECTION_OUTPUT = 2 }
 
typedef std::vector< ossimRefPtr< ossimConnectableObject > > ConnectableObjectList
 
- Public Types inherited from ossimProcessInterface
enum  ossimProcessStatus {
  PROCESS_STATUS_UNKNOWN = 0, PROCESS_STATUS_EXECUTING = 1, PROCESS_STATUS_ABORTED = 2, PROCESS_STATUS_ABORT_REQUEST = 3,
  PROCESS_STATUS_NOT_EXECUTING = 4
}
 
- Protected Attributes inherited from ossimMetadataFileWriter
ossimImageSourcetheInputConnection
 
ossimFilename theFilename
 
ossimPixelType thePixelType
 
ossimIrect theAreaOfInterest
 
- Protected Attributes inherited from ossimConnectableObject
ossimId theId
 
ossimString theDescription
 
ossimObjecttheOwner
 
bool theInputListIsFixedFlag
 Indicates whether the theInputObjectList is fixed. More...
 
bool theOutputListIsFixedFlag
 Indicates whether the theOutputObjectList is fixed. More...
 
ConnectableObjectList theInputObjectList
 Holds a list of input objects. More...
 
ConnectableObjectList theOutputObjectList
 Holds a list of output objects. More...
 
- Protected Attributes inherited from ossimListenerManager
std::list< ossimListener * > theListenerList
 
bool theEnabledFlag
 
std::list< ossimListener * > theDelayedAdd
 
std::list< ossimListener * > theDelayedRemove
 
bool theFireEventFlag
 
- Protected Attributes inherited from ossimProcessInterface
double thePercentComplete
 
ossimProcessStatus theProcessStatus
 
ossimString theMessage
 
bool theEventFlag
 
- Protected Attributes inherited from ossimListener
bool theListenerEnableFlag
 

Detailed Description

Class to write out meta data in a Federal Geographic Data Committe (FGDC) format.

Definition at line 26 of file ossimFgdcFileWriter.h.

Constructor & Destructor Documentation

◆ ossimFgdcFileWriter()

ossimFgdcFileWriter::ossimFgdcFileWriter ( )

constructor

Definition at line 35 of file ossimFgdcFileWriter.cpp.

36  :
38  theTabString("\t"),
39  theTemplate(),
41 {
42 }
ossimXmlDocument theTemplate
ossim_uint32 theIndentionLevel
ossimFilename theSourceImageFilename

◆ ~ossimFgdcFileWriter()

ossimFgdcFileWriter::~ossimFgdcFileWriter ( )
protectedvirtual

destructor

Definition at line 44 of file ossimFgdcFileWriter.cpp.

45 {
46 }

Member Function Documentation

◆ closeTag()

void ossimFgdcFileWriter::closeTag ( std::ostream &  os,
const ossimString tag,
bool  decrementLevel 
) const
private

Closes tag decrementing indentation.

e.g.: <metadata>

Parameters
osotream to write to.
tagString representing tag with no brackets.
decrementLevelIf true indentation level is decremented.

Definition at line 895 of file ossimFgdcFileWriter.cpp.

References ossimString::c_str(), ossimString::size(), theIndentionLevel, and theTabString.

Referenced by writeFile(), and writeTemplate().

898 {
899  if ( decrementLevel && (theIndentionLevel > 1) && theTabString.size() )
900  {
901  ossimString tab;
902  for (ossim_uint32 i = 0; i < theIndentionLevel-1; ++i)
903  {
904  tab += theTabString;
905  }
906 
907  os << tab.c_str();
908  }
909 
910  os << "</" << tag.c_str() << ">\n";
911 
912  if (theIndentionLevel && decrementLevel)
913  {
915  }
916 }
ossim_uint32 theIndentionLevel
std::string::size_type size() const
Definition: ossimString.h:405
unsigned int ossim_uint32
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

◆ find()

ossimString ossimFgdcFileWriter::find ( const ossimString xpath) const

Definition at line 923 of file ossimFgdcFileWriter.cpp.

References ossimXmlDocument::findNodes(), ossimErrorStatusInterface::getErrorStatus(), and theTemplate.

Referenced by writeFile().

924 {
925  ossimString result;
926 
928  {
929  return result;
930  }
931 
932  vector< ossimRefPtr<ossimXmlNode> > xml_nodes;
933  theTemplate.findNodes(xpath, xml_nodes);
934 
935  if (xml_nodes.size())
936  {
937  if (xml_nodes[0].valid())
938  {
939  result = xml_nodes[0]->getText();
940  }
941  }
942  return result;
943 }
ossimXmlDocument theTemplate
virtual ossimErrorCode getErrorStatus() const
void findNodes(const ossimString &xpath, std::vector< ossimRefPtr< ossimXmlNode > > &nodelist) const
Appends any matching nodes to the list supplied (should be empty):

◆ getIndentionLevel()

ossim_uint32 ossimFgdcFileWriter::getIndentionLevel ( ) const
Returns
Returns the current indentation level.

Definition at line 851 of file ossimFgdcFileWriter.cpp.

References theIndentionLevel.

852 {
853  return theIndentionLevel;
854 }
ossim_uint32 theIndentionLevel

◆ getMetadatatypeList()

void ossimFgdcFileWriter::getMetadatatypeList ( std::vector< ossimString > &  metadatatypeList) const
virtual

Satisfies pure virtual from ossimMetadataWriter base.

Appends the writers image types to the "metadatatypeList".

Parameters
metadatatypeListstl::vector<ossimString> list to append to.
Note
Appends to the list, does not clear it first.

Implements ossimMetadataFileWriter.

Definition at line 945 of file ossimFgdcFileWriter.cpp.

947 {
948  metadatatypeList.push_back(ossimString("ossim_fgdc"));
949 }

◆ getTabString()

ossimString ossimFgdcFileWriter::getTabString ( ) const
Returns
The current tab string e.g.: "\t".

Definition at line 861 of file ossimFgdcFileWriter.cpp.

References theTabString.

862 {
863  return theTabString;
864 }

◆ hasMetadataType()

bool ossimFgdcFileWriter::hasMetadataType ( const ossimString metadataType) const
virtual

Satisfies pure virtual from ossimMetadataWriter base.

Parameters
imageTypestring representing image type.
Returns
true if "metadataType" is supported by writer.

Implements ossimMetadataFileWriter.

Definition at line 951 of file ossimFgdcFileWriter.cpp.

953 {
954  return (metadataType == "ossim_fgdc");
955 }

◆ loadState()

bool ossimFgdcFileWriter::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

Method to load the state from a keyword list.

Parameters
kwlKeyword list to load state from.
prefixPrefix to attatch to keyword (like "object1."). default=NULL
Returns
true if ok or false on error.

Keywords picked up by this loadState:

source_image_filename: foo.ntf tab_string: "\t" fgdc_template_doc: fgdc_template.xml

Reimplemented from ossimMetadataFileWriter.

Definition at line 824 of file ossimFgdcFileWriter.cpp.

References ossimKeywordlist::find(), ossimMetadataFileWriter::loadState(), setTemplate(), theSourceImageFilename, and theTabString.

826 {
827  const char* lookup = kwl.find(prefix, "template");
828  if (lookup)
829  {
830  setTemplate(ossimFilename(lookup));
831  }
832  lookup = kwl.find(prefix, "source_image_filename");
833  if (lookup)
834  {
835  theSourceImageFilename = lookup;
836  }
837  lookup = kwl.find(prefix, "tab_string");
838  if (lookup)
839  {
840  theTabString = lookup;
841  }
842  lookup = kwl.find(prefix, "fgdc_template_doc");
843  if (lookup)
844  {
845  setTemplate(ossimFilename(lookup));
846  }
847 
848  return ossimMetadataFileWriter::loadState(kwl, prefix);
849 }
const char * find(const char *key) const
void setTemplate(const ossimFilename &xmlTemplateFile)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Load state method:
ossimFilename theSourceImageFilename

◆ openTag()

void ossimFgdcFileWriter::openTag ( std::ostream &  os,
const ossimString tag,
bool  newLine 
) const
private

Writes openning tag adding any indentation and brackets.

Increments indentation level.

Parameters
osotream to write to.
tagString representing tag with no brackets, i.e. "metadata".
newLineIf true a new line "\n" is added.

Definition at line 871 of file ossimFgdcFileWriter.cpp.

References ossimString::c_str(), ossimString::size(), theIndentionLevel, and theTabString.

Referenced by writeFile(), and writeTemplate().

874 {
876  {
877  ossimString tab;
878  for (ossim_uint32 i = 0; i < theIndentionLevel; ++i)
879  {
880  tab += theTabString;
881  }
882 
883  os << tab.c_str();
884  }
885 
886  os << "<" << tag.c_str() << ">";
887 
888  if (newLine)
889  {
890  os << "\n";
892  }
893 }
ossim_uint32 theIndentionLevel
std::string::size_type size() const
Definition: ossimString.h:405
unsigned int ossim_uint32
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

◆ setIndentionLevel()

void ossimFgdcFileWriter::setIndentionLevel ( ossim_uint32  level)

Sets the current indentation level.

Parameters
levelIndentation level. "0" equals no indentation.

Definition at line 856 of file ossimFgdcFileWriter.cpp.

References theIndentionLevel.

857 {
858  theIndentionLevel = level;
859 }
ossim_uint32 theIndentionLevel

◆ setTabString()

void ossimFgdcFileWriter::setTabString ( const ossimString tabString)

Sets the tab string.

Usually "\t" or spaces " ".

Parameters
tabStringString to use for indentation.

Definition at line 866 of file ossimFgdcFileWriter.cpp.

References theTabString.

867 {
868  theTabString = tabString;
869 }

◆ setTemplate()

void ossimFgdcFileWriter::setTemplate ( const ossimFilename xmlTemplateFile)

Definition at line 918 of file ossimFgdcFileWriter.cpp.

References ossimXmlDocument::openFile(), and theTemplate.

Referenced by loadState().

919 {
920  theTemplate.openFile(xmlTemplateFile);
921 }
ossimXmlDocument theTemplate
bool openFile(const ossimFilename &filename)

◆ setTitle()

void ossimFgdcFileWriter::setTitle ( const ossimString pubDate)
Parameters
titleTile of data usually the image file name.

◆ writeFile()

bool ossimFgdcFileWriter::writeFile ( )
protectedvirtual

Writes file to disk.

Returns
true on success, false on failure.

Implements ossimMetadataFileWriter.

Definition at line 48 of file ossimFgdcFileWriter.cpp.

References ossimString::c_str(), closeTag(), find(), ossimImageSource::getBoundingRect(), ossimImageSource::getImageGeometry(), ossimImageGeometry::getProjection(), ossimMapProjection::isGeographic(), ossimFilename::NIL, openTag(), ossimNotify(), ossimNotifyLevel_WARN, PTR_CAST, ossimMetadataFileWriter::theFilename, ossimMetadataFileWriter::theInputConnection, theSourceImageFilename, ossimString::toString(), and ossimRefPtr< T >::valid().

49 {
51  {
53  << "ossimFgdcFileWriter::writeFile no filename set!" << endl;
54  return false;
55  }
56 
57  if( !theInputConnection )
58  {
60  << "ossimFgdcFileWriter::writeFile no input connection!" << endl;
61  return false;
62  }
63 
65  if (!os)
66  {
68  << "ossimFgdcFileWriter::writeFile no input connection!" << endl;
69  return false;
70  }
71 
72  // Get the geometry from the input.
73  ossimMapProjection* mapProj = 0;
75  if ( inputGeom.valid() ) mapProj = PTR_CAST(ossimMapProjection, inputGeom->getProjection());
76  if (!mapProj)
77  {
79  << "ossimFgdcFileWriter::writeFile Not map projected."
80  << endl;
81  return false;
82  }
83 
85 
86  os << "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n"
87  << "<?xml-stylesheet type=\"text/xsl\" href=\"/common/fgdc_classic.xsl\" ?>\n";
88  openTag(os, ossimString("metadata"), true);
89  openTag(os, ossimString("idinfo"), true);
90  openTag(os, ossimString("citation"), true);
91  openTag(os, ossimString("citeinfo"), true);
92 
93  openTag(os, ossimString("origin"), false);
94  os << find(ossimString("/metadata/idinfo/citation/citeinfo/origin"));
95  closeTag(os, ossimString("origin"), false);
96 
97  openTag(os, ossimString("pubdate"), false);
98  os << find(ossimString("/metadata/idinfo/citation/citeinfo/pubdate"));
99  closeTag(os, ossimString("pubdate"), false);
100 
101  openTag(os, ossimString("title"), false);
102  // os << find(ossimString("/metadata/idinfo/citation/citeinfo/title"));
104  closeTag(os, ossimString("title"), false);
105 
106  openTag(os, ossimString("edition"), false);
107  os << find(ossimString("/metadata/idinfo/citation/citeinfo/edition"));
108  closeTag(os, ossimString("edition"), false);
109 
110  openTag(os, ossimString("geoform"), false);
111  os << find(ossimString("/metadata/idinfo/citation/citeinfo/geoform"));
112  closeTag(os, ossimString("geoform"), false);
113 
114  openTag(os, ossimString("serinfo"), true);
115  openTag(os, ossimString("sername"), false);
116  os << find(ossimString("/metadata/idinfo/citation/citeinfo/serinfo/sername"));
117  closeTag(os, ossimString("sername"), false);
118 
119  openTag(os, ossimString("issue"), false);
121  closeTag(os, ossimString("issue"), false);
122 
123  closeTag(os, ossimString("serinfo"), true);
124 
125  openTag(os, ossimString("pubinfo"), true);
126 
127  openTag(os, ossimString("pubplace"), false);
128  os << find(ossimString("/metadata/idinfo/citation/citeinfo/pubinfo/pubplace"));
129  closeTag(os, ossimString("pubplace"), false);
130 
131  openTag(os, ossimString("publish"), false);
132  os << find(ossimString("/metadata/idinfo/citation/citeinfo/pubinfo/publish"));
133  closeTag(os, ossimString("publish"), false);
134 
135  closeTag(os, ossimString("pubinfo"), true);
136  closeTag(os, ossimString("citeinfo"), true);
137  closeTag(os, ossimString("citation"), true);
138 
139  openTag(os, ossimString("descript"), true);
140 
141  openTag(os, ossimString("abstract"), false);
142  os << find(ossimString("/metadata/idinfo/descript/abstract"));
143  closeTag(os, ossimString("abstract"), false);
144 
145  openTag(os, ossimString("purpose"), false);
146  os << find(ossimString("/metadata/idinfo/descript/purpose"));
147  closeTag(os, ossimString("purpose"), false);
148 
149  openTag(os, ossimString("supplinf"), false);
150  os << find(ossimString("/metadata/idinfo/descript/supplinf"));
151  closeTag(os, ossimString("supplinf"), false);
152 
153  closeTag(os, ossimString("descript"), true);
154 
155  openTag(os, ossimString("timeperd"), true);
156  openTag(os, ossimString("timeinfo"), true);
157  openTag(os, ossimString("sngdate"), true);
158 
159  openTag(os, ossimString("caldate"), false);
160  os << find(ossimString("/metadata/idinfo/timeperd/timeinfo/sngdate/caldate"));
161  closeTag(os, ossimString("caldate"), false);
162 
163  closeTag(os, ossimString("sngdate"), true);
164  closeTag(os, ossimString("timeinfo"), true);
165 
166 
167  openTag(os, ossimString("current"), false);
168  os << find(ossimString("/metadata/idinfo/timeperd/current"));
169  closeTag(os, ossimString("current"), false);
170 
171  closeTag(os, ossimString("timeperd"), true);
172 
173  openTag(os, ossimString("status"), true);
174 
175  openTag(os, ossimString("progress"), false);
176  os << find(ossimString("/metadata/idinfo/status/progress"));
177  closeTag(os, ossimString("progress"), false);
178 
179  openTag(os, ossimString("update"), false);
180  os << find(ossimString("/metadata/idinfo/status/update"));
181  closeTag(os, ossimString("update"), false);
182 
183  closeTag(os, ossimString("status"), true);
184 
185  openTag(os, ossimString("spdom"), true);
186  openTag(os, ossimString("bounding"), true);
187 
188  if (mapProj->isGeographic())
189  {
190  openTag(os, ossimString("westbc"), false);
191  os << ossimString::toString(mpi.ulGroundPt().lon);
192  closeTag(os, ossimString("westbc"), false);
193 
194  openTag(os, ossimString("eastbc"), false);
195  os << ossimString::toString(mpi.lrGroundPt().lon);
196  closeTag(os, ossimString("eastbc"), false);
197 
198  openTag(os, ossimString("northbc"), false);
199  os << ossimString::toString(mpi.ulGroundPt().lat);
200  closeTag(os, ossimString("northbc"), false);
201 
202  openTag(os, ossimString("southbc"), false);
203  os << ossimString::toString(mpi.lrGroundPt().lat);
204  closeTag(os, ossimString("southbc"), false);
205  }
206  else
207  {
208  openTag(os, ossimString("westbc"), false);
209  os << ossimString::toString(mpi.ulEastingNorthingPt().x);
210  closeTag(os, ossimString("westbc"), false);
211 
212  openTag(os, ossimString("eastbc"), false);
213  os << ossimString::toString(mpi.lrEastingNorthingPt().x);
214  closeTag(os, ossimString("eastbc"), false);
215 
216  openTag(os, ossimString("northbc"), false);
217  os << ossimString::toString(mpi.ulEastingNorthingPt().y);
218  closeTag(os, ossimString("northbc"), false);
219 
220  openTag(os, ossimString("southbc"), false);
221  os << ossimString::toString(mpi.ulEastingNorthingPt().y);
222  closeTag(os, ossimString("southbc"), false);
223  }
224 
225  closeTag(os, ossimString("bounding"), true);
226  closeTag(os, ossimString("spdom"), true);
227 
228  openTag(os, ossimString("keywords"), true);
229 
230  openTag(os, ossimString("theme"), true);
231 
232  openTag(os, ossimString("themekt"), false);
233  os << find(ossimString("/metadata/idinfo/keywords/theme/themekt"));
234  closeTag(os, ossimString("themekt"), false);
235 
236  openTag(os, ossimString("themekey"), false);
237  os << find(ossimString("/metadata/idinfo/keywords/theme/themekey"));
238  closeTag(os, ossimString("themekey"), false);
239 
240  closeTag(os, ossimString("theme"), true);
241 
242  closeTag(os, ossimString("keywords"), true);
243 
244  openTag(os, ossimString("accconst"), false);
245  os << find(ossimString("/metadata/idinfo/accconst"));
246  closeTag(os, ossimString("accconst"), false);
247 
248  openTag(os, ossimString("useconst"), false);
249  os << find(ossimString("/metadata/idinfo/useconst"));
250  closeTag(os, ossimString("useconst"), false);
251 
252  openTag(os, ossimString("ptcontac"), true);
253 
254  openTag(os, ossimString("cntinfo"), true);
255 
256  openTag(os, ossimString("cntperp"), true);
257  openTag(os, ossimString("cntper"), false);
258  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntperp/cntper"));
259  closeTag(os, ossimString("cntper"), false);
260  closeTag(os, ossimString("cntperp"), true);
261 
262  openTag(os, ossimString("cntaddr"), true);
263 
264  openTag(os, ossimString("addrtype"), false);
265  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/addrtype"));
266  closeTag(os, ossimString("addrtype"), false);
267 
268  openTag(os, ossimString("address"), false);
269  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/address"));
270  closeTag(os, ossimString("address"), false);
271 
272  openTag(os, ossimString("city"), false);
273  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/city"));
274  closeTag(os, ossimString("city"), false);
275 
276  openTag(os, ossimString("state"), false);
277  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/state"));
278  closeTag(os, ossimString("state"), false);
279 
280  openTag(os, ossimString("postal"), false);
281  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/postal"));
282  closeTag(os, ossimString("postal"), false);
283 
284  openTag(os, ossimString("country"), false);
285  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntaddr/country"));
286  closeTag(os, ossimString("country"), false);
287 
288  closeTag(os, ossimString("cntaddr"), true);
289 
290  openTag(os, ossimString("cntvoice"), false);
291  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntvoice"));
292  closeTag(os, ossimString("cntvoice"), false);
293 
294  openTag(os, ossimString("cntfax"), false);
295 
296  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntfax"));
297  closeTag(os, ossimString("cntfax"), false);
298 
299  openTag(os, ossimString("cntemail"), false);
300  os << find(ossimString("/metadata/idinfo/ptcontac/cntinfo/cntemail"));
301  closeTag(os, ossimString("cntemail"), false);
302 
303  closeTag(os, ossimString("cntinfo"), true);
304  closeTag(os, ossimString("ptcontac"), true);
305 
306  openTag(os, ossimString("secinfo"), true);
307 
308  openTag(os, ossimString("secclass"), false);
309  os << find(ossimString("/metadata/idinfo/secinfo/secclass"));
310  closeTag(os, ossimString("secclass"), false);
311 
312  openTag(os, ossimString("secsys"), false);
313  os << find(ossimString("/metadata/idinfo/secinfo/secsys"));
314  closeTag(os, ossimString("secsys"), false);
315 
316  openTag(os, ossimString("sechandl"), false);
317  os << find(ossimString("/metadata/idinfo/secinfo/sechandl"));
318  closeTag(os, ossimString("sechandl"), false);
319 
320  closeTag(os, ossimString("secinfo"), true);
321  closeTag(os, ossimString("idinfo"), true);
322 
323  openTag(os, ossimString("distinfo"), true);
324  openTag(os, ossimString("distrib"), true);
325  openTag(os, ossimString("cntinfo"), true);
326  openTag(os, ossimString("cntperp"), true);
327  openTag(os, ossimString("cntper"), false);
328  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntperp/cntper"));
329 
330  closeTag(os, ossimString("cntper"), false);
331  closeTag(os, ossimString("cntperp"), true);
332 
333  openTag(os, ossimString("cntaddr"), true);
334 
335  openTag(os, ossimString("addrtype"), false);
336  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/addrtype"));
337  closeTag(os, ossimString("addrtype"), false);
338 
339  openTag(os, ossimString("address"), false);
340  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/address"));
341  closeTag(os, ossimString("address"), false);
342 
343  openTag(os, ossimString("city"), false);
344  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/city"));
345  closeTag(os, ossimString("city"), false);
346 
347  openTag(os, ossimString("state"), false);
348  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/state"));
349  closeTag(os, ossimString("state"), false);
350 
351  openTag(os, ossimString("postal"), false);
352  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/postal"));
353  closeTag(os, ossimString("postal"), false);
354 
355  openTag(os, ossimString("country"), false);
356  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntaddr/country"));
357  closeTag(os, ossimString("country"), false);
358 
359  closeTag(os, ossimString("cntaddr"), true);
360 
361  openTag(os, ossimString("cntvoice"), false);
362  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntvoice"));
363  closeTag(os, ossimString("cntvoice"), false);
364 
365  openTag(os, ossimString("cntfax"), false);
366  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntfax"));
367  closeTag(os, ossimString("cntfax"), false);
368 
369  openTag(os, ossimString("cntemail"), false);
370  os << find(ossimString("/metadata/distinfo/distrib/cntinfo/cntemail"));
371  closeTag(os, ossimString("cntemail"), false);
372 
373  closeTag(os, ossimString("cntinfo"), true);
374  closeTag(os, ossimString("distrib"), true);
375 
376  openTag(os, ossimString("resdesc"), false);
377  os << find(ossimString("/metadata/distinfo/resdesc"));
378  closeTag(os, ossimString("resdesc"), false);
379 
380  openTag(os, ossimString("distliab"), false);
381  os << find(ossimString("/metadata/distinfo/distliab"));
382  closeTag(os, ossimString("distliab"), false);
383 
384  openTag(os, ossimString("stdorder"), true);
385  openTag(os, ossimString("digform"), true);
386  openTag(os, ossimString("digtinfo"), true);
387 
388  openTag(os, ossimString("formname"), false);
389  os << find(ossimString("/metadata/distinfo/stdorder/digform/digtinfo/formname"));
390  closeTag(os, ossimString("formname"), false);
391 
392  closeTag(os, ossimString("digtinfo"), true);
393 
394  openTag(os, ossimString("digtopt"), true);
395  openTag(os, ossimString("onlinopt"), true);
396  openTag(os, ossimString("computer"), true);
397  openTag(os, ossimString("networka"), true);
398 
399  openTag(os, ossimString("networkr"), false);
400  os << find(ossimString("/metadata/distinfo/stdorder/digform/digtopt/onlinopt/computer/networka/networkr"));
401  closeTag(os, ossimString("networkr"), false);
402 
403  closeTag(os, ossimString("networka"), true);
404  closeTag(os, ossimString("computer"), true);
405  closeTag(os, ossimString("onlinopt"), true);
406  closeTag(os, ossimString("digtopt"), true);
407  closeTag(os, ossimString("digform"), true);
408 
409  openTag(os, ossimString("fees"), false);
410  os << find(ossimString("/metadata/distinfo/stdorder/fees"));
411  closeTag(os, ossimString("fees"), false);
412 
413  closeTag(os, ossimString("stdorder"), true);
414  closeTag(os, ossimString("distinfo"), true);
415 
416  openTag(os, ossimString("metainfo"), true);
417 
418  openTag(os, ossimString("metd"), false);
419  os << find(ossimString("/metadata/metainfo/metd"));
420  closeTag(os, ossimString("metd"), false);
421 
422  openTag(os, ossimString("metc"), true);
423  openTag(os, ossimString("cntinfo"), true);
424  openTag(os, ossimString("cntperp"), true);
425 
426  openTag(os, ossimString("cntper"), false);
427  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntperp/cntper"));
428  closeTag(os, ossimString("cntper"), false);
429 
430  closeTag(os, ossimString("cntperp"), true);
431 
432  openTag(os, ossimString("cntaddr"), true);
433 
434  openTag(os, ossimString("addrtype"), false);
435  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/addrtype"));
436  closeTag(os, ossimString("addrtype"), false);
437 
438  openTag(os, ossimString("address"), false);
439  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/address"));
440  closeTag(os, ossimString("address"), false);
441 
442  openTag(os, ossimString("city"), false);
443  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/city"));
444  closeTag(os, ossimString("city"), false);
445 
446  openTag(os, ossimString("state"), false);
447  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/state"));
448  closeTag(os, ossimString("state"), false);
449 
450  openTag(os, ossimString("postal"), false);
451  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/postal"));
452  closeTag(os, ossimString("postal"), false);
453 
454  openTag(os, ossimString("country"), false);
455  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntaddr/country"));
456  closeTag(os, ossimString("country"), false);
457 
458  closeTag(os, ossimString("cntaddr"), true);
459 
460  openTag(os, ossimString("cntvoice"), false);
461  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntvoice"));
462  closeTag(os, ossimString("cntvoice"), false);
463 
464  openTag(os, ossimString("cntfax"), false);
465  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntfax"));
466  closeTag(os, ossimString("cntfax"), false);
467 
468  openTag(os, ossimString("cntemail"), false);
469  os << find(ossimString("/metadata/metainfo/metc/cntinfo/cntemail"));
470  closeTag(os, ossimString("cntemail"), false);
471 
472  closeTag(os, ossimString("cntinfo"), true);
473  closeTag(os, ossimString("metc"), true);
474 
475  openTag(os, ossimString("metstdn"), false);
476  os << find(ossimString("/metadata/metainfo/metstdn"));
477  closeTag(os, ossimString("metstdn"), false);
478 
479  openTag(os, ossimString("metstdv"), false);
480  os << find(ossimString("/metadata/metainfo/metstdv"));
481  closeTag(os, ossimString("metstdv"), false);
482 
483  closeTag(os, ossimString("metainfo"), true);
484  closeTag(os, ossimString("metadata"), true);
485 
486  os.close();
487 
488  return true;
489 }
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
static const ossimFilename NIL
This was taken from Wx widgets for performing touch and access date stamps.
Definition: ossimFilename.h:40
ossimString find(const ossimString &xpath) const
bool valid() const
Definition: ossimRefPtr.h:75
static ossimString toString(bool aValue)
Numeric to string methods.
virtual bool isGeographic() const
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if not defined...
const ossimProjection * getProjection() const
Access methods for projection (may be NULL pointer).
ossimFilename theSourceImageFilename
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
void closeTag(std::ostream &os, const ossimString &tag, bool decrementLevel) const
Closes tag decrementing indentation.
void openTag(std::ostream &os, const ossimString &tag, bool newLine) const
Writes openning tag adding any indentation and brackets.
std::basic_ofstream< char > ofstream
Class for char output file streams.
Definition: ossimIosFwd.h:47
ossimImageSource * theInputConnection
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ writeTemplate()

bool ossimFgdcFileWriter::writeTemplate ( const ossimFilename file) const

Definition at line 491 of file ossimFgdcFileWriter.cpp.

References ossimString::c_str(), closeTag(), openTag(), ossimNotify(), and ossimNotifyLevel_WARN.

492 {
493  ofstream os(file.c_str());
494  if (!os)
495  {
497  << "ossimFgdcFileWriter::writeTemplate Could not open: " << file
498  << endl;
499  return false;
500  }
501 
502  os << "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n"
503  << "<?xml-stylesheet type=\"text/xsl\" href=\"/common/fgdc_classic.xsl\" ?>\n";
504  openTag(os, ossimString("metadata"), true);
505  openTag(os, ossimString("idinfo"), true);
506  openTag(os, ossimString("citation"), true);
507  openTag(os, ossimString("citeinfo"), true);
508 
509  openTag(os, ossimString("origin"), false);
510  closeTag(os, ossimString("origin"), false);
511 
512  openTag(os, ossimString("pubdate"), false);
513  closeTag(os, ossimString("pubdate"), false);
514 
515  openTag(os, ossimString("title"), false);
516  closeTag(os, ossimString("title"), false);
517 
518  openTag(os, ossimString("edition"), false);
519  closeTag(os, ossimString("edition"), false);
520 
521  openTag(os, ossimString("geoform"), false);
522  closeTag(os, ossimString("geoform"), false);
523 
524  openTag(os, ossimString("serinfo"), true);
525  openTag(os, ossimString("sername"), false);
526 
527  closeTag(os, ossimString("sername"), false);
528 
529  openTag(os, ossimString("issue"), false);
530  closeTag(os, ossimString("issue"), false);
531 
532  closeTag(os, ossimString("serinfo"), true);
533 
534  openTag(os, ossimString("pubinfo"), true);
535 
536  openTag(os, ossimString("pubplace"), false);
537 
538  closeTag(os, ossimString("pubplace"), false);
539 
540  openTag(os, ossimString("publish"), false);
541  closeTag(os, ossimString("publish"), false);
542 
543  closeTag(os, ossimString("pubinfo"), true);
544  closeTag(os, ossimString("citeinfo"), true);
545  closeTag(os, ossimString("citation"), true);
546 
547  openTag(os, ossimString("descript"), true);
548 
549  openTag(os, ossimString("abstract"), false);
550  closeTag(os, ossimString("abstract"), false);
551 
552  openTag(os, ossimString("purpose"), false);
553  closeTag(os, ossimString("purpose"), false);
554 
555  openTag(os, ossimString("supplinf"), false);
556  closeTag(os, ossimString("supplinf"), false);
557 
558  closeTag(os, ossimString("descript"), true);
559 
560  openTag(os, ossimString("timeperd"), true);
561  openTag(os, ossimString("timeinfo"), true);
562  openTag(os, ossimString("sngdate"), true);
563 
564  openTag(os, ossimString("caldate"), false);
565  closeTag(os, ossimString("caldate"), false);
566 
567  closeTag(os, ossimString("sngdate"), true);
568  closeTag(os, ossimString("timeinfo"), true);
569 
570 
571  openTag(os, ossimString("current"), false);
572  closeTag(os, ossimString("current"), false);
573 
574  closeTag(os, ossimString("timeperd"), true);
575 
576  openTag(os, ossimString("status"), true);
577 
578  openTag(os, ossimString("progress"), false);
579  closeTag(os, ossimString("progress"), false);
580 
581  openTag(os, ossimString("update"), false);
582  closeTag(os, ossimString("update"), false);
583 
584  closeTag(os, ossimString("status"), true);
585 
586  openTag(os, ossimString("spdom"), true);
587  openTag(os, ossimString("bounding"), true);
588 
589  openTag(os, ossimString("westbc"), false);
590  closeTag(os, ossimString("westbc"), false);
591  openTag(os, ossimString("eastbc"), false);
592 
593  closeTag(os, ossimString("eastbc"), false);
594  openTag(os, ossimString("northbc"), false);
595 
596  closeTag(os, ossimString("northbc"), false);
597  openTag(os, ossimString("southbc"), false);
598 
599  closeTag(os, ossimString("southbc"), false);
600 
601  closeTag(os, ossimString("bounding"), true);
602  closeTag(os, ossimString("spdom"), true);
603 
604  openTag(os, ossimString("keywords"), true);
605 
606  openTag(os, ossimString("theme"), true);
607 
608  openTag(os, ossimString("themekt"), false);
609  closeTag(os, ossimString("themekt"), false);
610 
611  openTag(os, ossimString("themekey"), false);
612  closeTag(os, ossimString("themekey"), false);
613 
614  closeTag(os, ossimString("theme"), true);
615 
616  closeTag(os, ossimString("keywords"), true);
617 
618  openTag(os, ossimString("accconst"), false);
619  closeTag(os, ossimString("accconst"), false);
620 
621  openTag(os, ossimString("useconst"), false);
622  closeTag(os, ossimString("useconst"), false);
623 
624  openTag(os, ossimString("ptcontac"), true);
625 
626  openTag(os, ossimString("cntinfo"), true);
627 
628  openTag(os, ossimString("cntperp"), true);
629  openTag(os, ossimString("cntper"), false);
630  closeTag(os, ossimString("cntper"), false);
631  closeTag(os, ossimString("cntperp"), true);
632 
633  openTag(os, ossimString("cntaddr"), true);
634 
635  openTag(os, ossimString("addrtype"), false);
636  closeTag(os, ossimString("addrtype"), false);
637 
638  openTag(os, ossimString("address"), false);
639  closeTag(os, ossimString("address"), false);
640 
641  openTag(os, ossimString("city"), false);
642  closeTag(os, ossimString("city"), false);
643 
644  openTag(os, ossimString("state"), false);
645  closeTag(os, ossimString("state"), false);
646 
647  openTag(os, ossimString("postal"), false);
648  closeTag(os, ossimString("postal"), false);
649 
650  openTag(os, ossimString("country"), false);
651  closeTag(os, ossimString("country"), false);
652 
653  closeTag(os, ossimString("cntaddr"), true);
654 
655  openTag(os, ossimString("cntvoice"), false);
656  closeTag(os, ossimString("cntvoice"), false);
657 
658  openTag(os, ossimString("cntfax"), false);
659  closeTag(os, ossimString("cntfax"), false);
660 
661  openTag(os, ossimString("cntemail"), false);
662  closeTag(os, ossimString("cntemail"), false);
663 
664  closeTag(os, ossimString("cntinfo"), true);
665 
666  closeTag(os, ossimString("ptcontac"), true);
667 
668  openTag(os, ossimString("secinfo"), true);
669  openTag(os, ossimString("secclass"), false);
670  closeTag(os, ossimString("secclass"), false);
671  openTag(os, ossimString("secsys"), false);
672  closeTag(os, ossimString("secsys"), false);
673  openTag(os, ossimString("sechandl"), false);
674  closeTag(os, ossimString("sechandl"), false);
675  closeTag(os, ossimString("secinfo"), true);
676 
677  closeTag(os, ossimString("idinfo"), true);
678 
679  openTag(os, ossimString("distinfo"), true);
680  openTag(os, ossimString("distrib"), true);
681  openTag(os, ossimString("cntinfo"), true);
682  openTag(os, ossimString("cntperp"), true);
683  openTag(os, ossimString("cntper"), false);
684  closeTag(os, ossimString("cntper"), false);
685  closeTag(os, ossimString("cntperp"), true);
686 
687  openTag(os, ossimString("cntaddr"), true);
688 
689  openTag(os, ossimString("addrtype"), false);
690  closeTag(os, ossimString("addrtype"), false);
691 
692  openTag(os, ossimString("address"), false);
693  closeTag(os, ossimString("address"), false);
694 
695  openTag(os, ossimString("city"), false);
696  closeTag(os, ossimString("city"), false);
697 
698  openTag(os, ossimString("state"), false);
699  closeTag(os, ossimString("state"), false);
700 
701  openTag(os, ossimString("postal"), false);
702  closeTag(os, ossimString("postal"), false);
703 
704  openTag(os, ossimString("country"), false);
705  closeTag(os, ossimString("country"), false);
706 
707  closeTag(os, ossimString("cntaddr"), true);
708 
709  openTag(os, ossimString("cntvoice"), false);
710  closeTag(os, ossimString("cntvoice"), false);
711 
712  openTag(os, ossimString("cntfax"), false);
713  closeTag(os, ossimString("cntfax"), false);
714 
715  openTag(os, ossimString("cntemail"), false);
716  closeTag(os, ossimString("cntemail"), false);
717 
718  closeTag(os, ossimString("cntinfo"), true);
719  closeTag(os, ossimString("distrib"), true);
720 
721  openTag(os, ossimString("resdesc"), false);
722  closeTag(os, ossimString("resdesc"), false);
723 
724  openTag(os, ossimString("distliab"), false);
725  closeTag(os, ossimString("distliab"), false);
726 
727  openTag(os, ossimString("stdorder"), true);
728  openTag(os, ossimString("digform"), true);
729  openTag(os, ossimString("digtinfo"), true);
730 
731  openTag(os, ossimString("formname"), false);
732  closeTag(os, ossimString("formname"), false);
733 
734  closeTag(os, ossimString("digtinfo"), true);
735 
736  openTag(os, ossimString("digtopt"), true);
737  openTag(os, ossimString("onlinopt"), true);
738  openTag(os, ossimString("computer"), true);
739  openTag(os, ossimString("networka"), true);
740 
741  openTag(os, ossimString("networkr"), false);
742  closeTag(os, ossimString("networkr"), false);
743 
744  closeTag(os, ossimString("networka"), true);
745  closeTag(os, ossimString("computer"), true);
746  closeTag(os, ossimString("onlinopt"), true);
747  closeTag(os, ossimString("digtopt"), true);
748  closeTag(os, ossimString("digform"), true);
749 
750  openTag(os, ossimString("fees"), false);
751  closeTag(os, ossimString("fees"), false);
752 
753  closeTag(os, ossimString("stdorder"), true);
754  closeTag(os, ossimString("distinfo"), true);
755 
756  openTag(os, ossimString("metainfo"), true);
757 
758  openTag(os, ossimString("metd"), false);
759  closeTag(os, ossimString("metd"), false);
760 
761  openTag(os, ossimString("metc"), true);
762  openTag(os, ossimString("cntinfo"), true);
763  openTag(os, ossimString("cntperp"), true);
764 
765  openTag(os, ossimString("cntper"), false);
766  closeTag(os, ossimString("cntper"), false);
767 
768  closeTag(os, ossimString("cntperp"), true);
769 
770  openTag(os, ossimString("cntaddr"), true);
771 
772  openTag(os, ossimString("addrtype"), false);
773  closeTag(os, ossimString("addrtype"), false);
774 
775  openTag(os, ossimString("address"), false);
776  closeTag(os, ossimString("address"), false);
777 
778  openTag(os, ossimString("city"), false);
779  closeTag(os, ossimString("city"), false);
780 
781  openTag(os, ossimString("state"), false);
782  closeTag(os, ossimString("state"), false);
783 
784  openTag(os, ossimString("postal"), false);
785  closeTag(os, ossimString("postal"), false);
786 
787  openTag(os, ossimString("country"), false);
788  closeTag(os, ossimString("country"), false);
789 
790  closeTag(os, ossimString("cntaddr"), true);
791 
792  openTag(os, ossimString("cntvoice"), false);
793  closeTag(os, ossimString("cntvoice"), false);
794 
795  openTag(os, ossimString("cntfax"), false);
796  closeTag(os, ossimString("cntfax"), false);
797 
798  openTag(os, ossimString("cntemail"), false);
799  closeTag(os, ossimString("cntemail"), false);
800 
801  closeTag(os, ossimString("cntinfo"), true);
802  closeTag(os, ossimString("metc"), true);
803 
804  openTag(os, ossimString("metstdn"), false);
805  closeTag(os, ossimString("metstdn"), false);
806 
807  openTag(os, ossimString("metstdv"), false);
808  closeTag(os, ossimString("metstdv"), false);
809 
810  closeTag(os, ossimString("metainfo"), true);
811  closeTag(os, ossimString("metadata"), true);
812 
813  os.close();
814 
815  if(traceDebug())
816  {
818  << "Wrote file: " << file.c_str() << endl;
819  }
820 
821  return true;
822 }
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
void closeTag(std::ostream &os, const ossimString &tag, bool decrementLevel) const
Closes tag decrementing indentation.
void openTag(std::ostream &os, const ossimString &tag, bool newLine) const
Writes openning tag adding any indentation and brackets.
std::basic_ofstream< char > ofstream
Class for char output file streams.
Definition: ossimIosFwd.h:47
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

Member Data Documentation

◆ theIndentionLevel

ossim_uint32 ossimFgdcFileWriter::theIndentionLevel
mutableprivate

Definition at line 149 of file ossimFgdcFileWriter.h.

Referenced by closeTag(), getIndentionLevel(), openTag(), and setIndentionLevel().

◆ theSourceImageFilename

ossimFilename ossimFgdcFileWriter::theSourceImageFilename
private

Definition at line 152 of file ossimFgdcFileWriter.h.

Referenced by loadState(), and writeFile().

◆ theTabString

ossimString ossimFgdcFileWriter::theTabString
private

Definition at line 150 of file ossimFgdcFileWriter.h.

Referenced by closeTag(), getTabString(), loadState(), openTag(), and setTabString().

◆ theTemplate

ossimXmlDocument ossimFgdcFileWriter::theTemplate
private

Definition at line 151 of file ossimFgdcFileWriter.h.

Referenced by find(), and setTemplate().


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