 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
10 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
16 #include "../shared/shared.h"
24 memcpy(
altmode,
"clampToGround",(strlen(
"clampToGround")+1)*
sizeof(
char));
78 if(flag)
_printf0_(indent <<
"KML_Polygon:\n");
81 if(flag)
_printf0_(indent <<
" extrude: " << (
extrude ?
"true" :
"false") <<
"\n");
85 memcpy(indent2,indent,(strlen(indent)+1)*
sizeof(
char));
90 if(flag)
_printf0_(indent <<
" outer: -------- begin [" << i <<
"] --------\n");
92 if(flag)
_printf0_(indent <<
" outer: -------- end [" << i <<
"] --------\n");
95 if(flag)
_printf0_(indent <<
" outer: [empty]\n");
99 if(flag)
_printf0_(indent <<
" inner: -------- begin [" << i <<
"] --------\n");
101 if(flag)
_printf0_(indent <<
" inner: -------- end [" << i <<
"] --------\n");
104 if(flag)
_printf0_(indent <<
" inner: [empty]\n");
114 fprintf(filout,
"%s<Polygon",indent);
116 fprintf(filout,
">\n");
121 fprintf(filout,
"%s <extrude>%d</extrude>\n",indent,(
extrude ? 1 : 0));
122 fprintf(filout,
"%s <tessellate>%d</tessellate>\n",indent,(
tessellate ? 1 : 0));
123 fprintf(filout,
"%s <altitudeMode>%s</altitudeMode>\n",indent,
altmode);
125 memcpy(indent4,indent,(strlen(indent)+1)*
sizeof(
char));
130 fprintf(filout,
"%s <outerBoundaryIs>\n",indent);
133 fprintf(filout,
"%s </outerBoundaryIs>\n",indent);
138 fprintf(filout,
"%s <innerBoundaryIs>\n",indent);
140 fprintf(filout,
"%s </innerBoundaryIs>\n",indent);
143 fprintf(filout,
"%s</Polygon>\n",indent);
165 if (!strncmp(kstri,
"</Polygon", 9)) {
166 xDelete<char>(kstri);
169 else if (!strncmp(kstri,
"</",2))
170 {
_error_(
"KML_Polygon::Read -- Unexpected closing tag " << kstri <<
".\n");}
171 else if (strncmp(kstri,
"<",1))
172 {
_error_(
"KML_Polygon::Read -- Unexpected field \"" << kstri <<
"\".\n");}
174 else if (!strcmp(kstri,
"<extrude>"))
178 else if (!strcmp(kstri,
"<tessellate>"))
182 else if (!strcmp(kstri,
"<altitudeMode>"))
187 else if (!strcmp(kstri,
"<outerBoundaryIs>"))
192 if (!strncmp(kstrj,
"</outerBoundaryIs",17)) {
193 xDelete<char>(kstrj);
196 else if (!strncmp(kstrj,
"</",2))
197 {
_error_(
"KML_Polygon::Read -- Unexpected closing tag " << kstrj <<
".\n");}
198 else if (strncmp(kstrj,
"<",1))
199 {
_error_(
"KML_Polygon::Read -- Unexpected field \"" << kstrj <<
"\".\n");}
201 else if (!strncmp(kstrj,
"<LinearRing",11)) {
203 kobj->
Read(fid,kstrj);
207 else if (!strncmp(kstrj,
"<",1))
210 xDelete<char>(kstrj);
213 else if (!strcmp(kstri,
"<innerBoundaryIs>"))
218 if (!strncmp(kstrj,
"</innerBoundaryIs",17)) {
219 xDelete<char>(kstrj);
222 else if (!strncmp(kstrj,
"</",2))
223 {
_error_(
"KML_Polygon::Read -- Unexpected closing tag " << kstrj <<
".\n");}
224 else if (strncmp(kstrj,
"<",1))
225 {
_error_(
"KML_Polygon::Read -- Unexpected field \"" << kstrj <<
"\".\n");}
227 else if (!strncmp(kstrj,
"<LinearRing",11)) {
229 kobj->
Read(fid,kstrj);
233 else if (!strncmp(kstrj,
"<",1))
236 xDelete<char>(kstrj);
239 else if (!strncmp(kstri,
"<",1))
242 xDelete<char>(kstri);
247 for(ncom=ncom; ncom>0; ncom--)
248 xDelete<char>(pcom[ncom-1]);
249 xDelete<char*>(pcom);
263 sprintf(nstr2,
"%s (outer)",nstr);
265 sprintf(nstr2,
"(outer)");
274 sprintf(nstr2,
"%s (inner %d of %d)",nstr,i+1,
inner->
Size());
276 sprintf(nstr2,
"(inner %d of %d)",i+1,
inner->
Size());
#define _printf0_(StreamArgs)
virtual void WriteAttrib(FILE *fid, const char *indent)
void Write(FILE *fid, const char *indent)
int AddObject(Object *object)
void Read(FILE *fid, char *kstr)
: header file for kml file reading utilities.
int KMLFileTagAttrib(KML_Object *kobj, char *ktag)
void Write(FILE *fid, const char *indent)
char altmode[KML_POLYGON_ALTMODE_LENGTH+1]
virtual void Read(FILE *fid, char *kstr)=0
char * KMLFileToken(FILE *fid, int *pncom=NULL, char ***ppcom=NULL)
#define KML_POLYGON_ALTMODE_LENGTH
void WriteExp(FILE *fid, const char *nstr, int sgn, double cm, double sp)
int KMLFileTokenParse(int *pival, char *ktag, FILE *fid)
#define _error_(StreamArgs)
: header file for kml_polygon object
Object * GetObjectByOffset(int offset)
: header file for kml_linearring object
Declaration of DataSet class.
virtual void AddCommnt(int ncom, char **pcom)
virtual void WriteCommnt(FILE *fid, const char *indent)
void Read(FILE *fid, char *kstr)