#include <KML_LinearRing.h>
|
| KML_LinearRing () |
|
| ~KML_LinearRing () |
|
void | Echo () |
|
void | DeepEcho () |
|
void | DeepEcho (const char *indent) |
|
void | Write (FILE *fid, const char *indent) |
|
void | Read (FILE *fid, char *kstr) |
|
void | WriteExp (FILE *fid, const char *nstr, int sgn, double cm, double sp) |
|
int | Id () |
|
int | ObjectEnum () |
|
Object * | copy () |
|
void | Marshall (char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction) |
|
| KML_Geometry () |
|
| ~KML_Geometry () |
|
| KML_Object () |
|
| ~KML_Object () |
|
int | Id () |
|
int | ObjectEnum () |
|
Object * | copy () |
|
void | Marshall (char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction) |
|
virtual void | AddAttrib (const char *name, const char *value) |
|
virtual void | WriteAttrib (FILE *fid, const char *indent) |
|
virtual void | AddCommnt (int ncom, char **pcom) |
|
virtual void | AddCommnt (char *value) |
|
virtual void | WriteCommnt (FILE *fid, const char *indent) |
|
virtual | ~Object () |
|
Definition at line 16 of file KML_LinearRing.h.
◆ KML_LinearRing()
KML_LinearRing::KML_LinearRing |
( |
| ) |
|
◆ ~KML_LinearRing()
KML_LinearRing::~KML_LinearRing |
( |
| ) |
|
◆ Echo()
void KML_LinearRing::Echo |
( |
void |
| ) |
|
|
virtual |
◆ DeepEcho() [1/2]
void KML_LinearRing::DeepEcho |
( |
void |
| ) |
|
|
virtual |
◆ DeepEcho() [2/2]
void KML_LinearRing::DeepEcho |
( |
const char * |
indent | ) |
|
|
virtual |
◆ Write()
void KML_LinearRing::Write |
( |
FILE * |
fid, |
|
|
const char * |
indent |
|
) |
| |
|
virtual |
Reimplemented from KML_Geometry.
Definition at line 83 of file KML_LinearRing.cpp.
87 fprintf(filout,
"%s<LinearRing",indent);
89 fprintf(filout,
">\n");
94 fprintf(filout,
"%s <extrude>%d</extrude>\n",indent,(
extrude ? 1 : 0));
95 fprintf(filout,
"%s <tessellate>%d</tessellate>\n",indent,(
tessellate ? 1 : 0));
96 fprintf(filout,
"%s <altitudeMode>%s</altitudeMode>\n",indent,
altmode);
97 fprintf(filout,
"%s <coordinates>\n",indent);
102 fprintf(filout,
"%s %0.16g,%0.16g,%0.16g\n",indent,
coords[3*i+0],
coords[3*i+1],
coords[3*i+2]);
104 fprintf(filout,
"%s </coordinates>\n",indent);
105 fprintf(filout,
"%s</LinearRing>\n",indent);
◆ Read()
void KML_LinearRing::Read |
( |
FILE * |
fid, |
|
|
char * |
kstr |
|
) |
| |
|
virtual |
Reimplemented from KML_Geometry.
Definition at line 110 of file KML_LinearRing.cpp.
123 if (!strncmp(kstri,
"</LinearRing",12)){
124 xDelete<char>(kstri);
127 else if (!strncmp(kstri,
"</",2))
128 {
_error_(
"KML_LinearRing::Read -- Unexpected closing tag " << kstri <<
".\n");}
129 else if (strncmp(kstri,
"<",1))
130 {
_error_(
"KML_LinearRing::Read -- Unexpected field \"" << kstri <<
"\".\n");}
132 else if (!strcmp(kstri,
"<extrude>"))
134 else if (!strcmp(kstri,
"<tessellate>"))
136 else if (!strcmp(kstri,
"<altitudeMode>"))
138 else if (!strcmp(kstri,
"<coordinates>"))
140 else if (!strncmp(kstri,
"<",1))
143 xDelete<char>(kstri);
148 for(ncom=ncom; ncom>0; ncom--)
149 xDelete<char>(pcom[ncom-1]);
150 xDelete<char*>(pcom);
◆ WriteExp()
void KML_LinearRing::WriteExp |
( |
FILE * |
fid, |
|
|
const char * |
nstr, |
|
|
int |
sgn, |
|
|
double |
cm, |
|
|
double |
sp |
|
) |
| |
|
virtual |
Reimplemented from KML_Object.
Definition at line 155 of file KML_LinearRing.cpp.
158 double *lat,*lon,*x,*y;
163 lat=xNew<IssmPDouble>(
ncoord);
164 lon=xNew<IssmPDouble>(
ncoord);
165 for (i=0; i<
ncoord; i++) {
172 x =xNew<IssmPDouble>(
ncoord);
173 y =xNew<IssmPDouble>(
ncoord);
184 memcpy(nstr2,nstr,(strlen(nstr)+1)*
sizeof(
char));
186 for (i=0; i<strlen(nstr2); i++)
187 if ((nstr2[i] ==
' ') || (nstr2[i] ==
'\t'))
189 fprintf(fid,
"## Name:%s\n",nstr2);
190 fprintf(fid,
"## Icon:0\n");
191 fprintf(fid,
"# Points Count Value\n");
192 if ((lat[
ncoord-1] != lat[0]) || (lon[
ncoord-1] != lon[0]))
193 fprintf(fid,
"%u %s\n",
ncoord+1,
"1.");
195 fprintf(fid,
"%u %s\n",
ncoord ,
"1.");
196 fprintf(fid,
"# X pos Y pos\n");
201 fprintf(fid,
"%lf\t%lf\n",x[i],y[i]);
202 if ((lat[
ncoord-1] != lat[0]) || (lon[
ncoord-1] != lon[0]))
203 fprintf(fid,
"%lf\t%lf\n",x[0],y[0]);
211 xDelete<double>(lon);
212 xDelete<double>(lat);
◆ Id()
int KML_LinearRing::Id |
( |
void |
| ) |
|
|
inlinevirtual |
◆ ObjectEnum()
int KML_LinearRing::ObjectEnum |
( |
void |
| ) |
|
|
inlinevirtual |
◆ copy()
Object* KML_LinearRing::copy |
( |
void |
| ) |
|
|
inlinevirtual |
◆ Marshall()
void KML_LinearRing::Marshall |
( |
char ** |
pmarshalled_data, |
|
|
int * |
pmarshalled_data_size, |
|
|
int |
marshall_direction |
|
) |
| |
|
inlinevirtual |
◆ extrude
bool KML_LinearRing::extrude |
◆ tessellate
bool KML_LinearRing::tessellate |
◆ altmode
◆ ncoord
int KML_LinearRing::ncoord |
◆ coords
double* KML_LinearRing::coords |
The documentation for this class was generated from the following files:
int Ll2xyx(double *x, double *y, double *lat, double *lon, int ncoord, int sgn)