Ice Sheet System Model  4.18
Code documentation
KMLFileReadx.cpp
Go to the documentation of this file.
1 
4 #include "./KMLFileReadx.h"
5 #include "../../shared/shared.h"
6 #include "../../toolkits/toolkits.h"
7 
8 KML_Object* KMLFileReadx(FILE* fid){
9 
10  char* kstr;
11  KML_File* kxml=NULL;
12  KML_File* kdtd=NULL;
13  KML_File* kfil=NULL;
14 
15  clock_t clock0,clock1;
16  time_t time0, time1;
17 
18  clock0=clock();
19  time0 =time(NULL);
20  _printf0_("\nKMLFileReadx Module -- " << ctime(&time0));
21 
22 /* read kml file */
23 
24  while((kstr=KMLFileToken(fid, NULL,NULL))){
25  if (!strncmp(kstr,"<?xml" ,5)) {
26  kxml=new KML_File();
27  KMLFileTagAttrib(kxml,
28  kstr);
29  }
30  else if (!strncmp(kstr,"<!DOCTYPE",9)) {
31  kdtd=new KML_File();
32  KMLFileTagAttrib(kdtd,
33  kstr);
34  }
35  else if (!strncmp(kstr,"<kml" ,4)) {
36  kfil=new KML_File();
37  kfil->Read(fid,kstr);
38 // kfil->DeepEcho();
39  }
40 
41 // _printf0_(kstr << "\n");
42  xDelete<char>(kstr);
43  }
44 
45  if (kxml) {
46  _printf0_("XML declaration:\n");
47  kxml->DeepEcho(" ");
48  delete kxml;
49  }
50  if (kdtd) {
51  _printf0_("DTD declaration (not yet implemented):\n");
52  kdtd->DeepEcho(" ");
53  delete kdtd;
54  }
55 
56  clock1=clock();
57  time1 =time(NULL);
58  _printf_("KMLFileReadx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <<difftime(time1,time0) << " elapsed seconds.\n\n\n");
59 
60  return(kfil);
61 }
KML_Object
Definition: KML_Object.h:13
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
KMLFileReadx.h
header file for kml mesh writer routines.
KMLFileTagAttrib
int KMLFileTagAttrib(KML_Object *kobj, char *ktag)
Definition: KMLFileReadUtils.cpp:287
KML_File::DeepEcho
void DeepEcho()
Definition: KML_File.cpp:44
KMLFileToken
char * KMLFileToken(FILE *fid, int *pncom=NULL, char ***ppcom=NULL)
Definition: KMLFileReadUtils.cpp:18
KML_File
Definition: KML_File.h:16
KML_File::Read
void Read(FILE *fid, char *kstr)
Definition: KML_File.cpp:77
KMLFileReadx
KML_Object * KMLFileReadx(FILE *fid)
Definition: KMLFileReadx.cpp:8