source: issm/trunk/src/c/objects/KML/KML_MultiGeometry.cpp@ 7653

Last change on this file since 7653 was 7653, checked in by jschierm, 14 years ago

KML: Initial import of all kml c++ objects.

File size: 3.1 KB
Line 
1/*!\file KML_MultiGeometry.cpp
2 * \brief: implementation of the kml_multigeometry object
3 */
4
5/*Headers:*/
6/*{{{1*/
7#ifdef HAVE_CONFIG_H
8 #include "config.h"
9#else
10#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
11#endif
12
13#include "stdio.h"
14#include <string.h>
15#include "../objects.h"
16#include "../../shared/shared.h"
17#include "../../Container/Container.h"
18#include "../../include/include.h"
19/*}}}*/
20
21/*Constructors/destructor/copy*/
22/*FUNCTION KML_MultiGeometry::KML_MultiGeometry(){{{1*/
23KML_MultiGeometry::KML_MultiGeometry(){
24
25 geometry =new DataSet;
26
27}
28/*}}}*/
29/*FUNCTION KML_MultiGeometry::~KML_MultiGeometry(){{{1*/
30KML_MultiGeometry::~KML_MultiGeometry(){
31
32 if (geometry) {
33 delete geometry;
34 geometry =NULL;
35 }
36
37}
38/*}}}*/
39
40/*Other*/
41/*FUNCTION KML_MultiGeometry::Echo {{{1*/
42void KML_MultiGeometry::Echo(){
43
44 bool flag=true;
45
46 _printf_(flag,"KML_Multigeometry:\n");
47 KML_Geometry::Echo();
48
49 _printf_(flag," geometry: (size=%d)\n" ,geometry->Size());
50
51 return;
52}
53/*}}}*/
54
55/*FUNCTION KML_MultiGeometry::DeepEcho {{{1*/
56void KML_MultiGeometry::DeepEcho(){
57
58 char indent[81]="";
59
60 KML_MultiGeometry::DeepEcho(indent);
61
62 return;
63}
64/*}}}*/
65
66/*FUNCTION KML_MultiGeometry::DeepEcho {{{1*/
67void KML_MultiGeometry::DeepEcho(char* indent){
68
69 int i;
70 char indent2[81];
71 bool flag=true;
72
73 _printf_(flag,"%sKML_Multigeometry:\n",indent);
74 KML_Geometry::DeepEcho(indent);
75
76/* loop over the geometry elements for the multigeometry */
77
78 strcpy(indent2,indent);
79 strcat(indent2," ");
80
81 if (geometry->Size())
82 for (i=0; i<geometry->Size(); i++) {
83 _printf_(flag,"%s geometry: [%d] begin\n" ,indent,i);
84 ((KML_Geometry *)geometry->GetObjectByOffset(i))->DeepEcho(indent2);
85 _printf_(flag,"%s geometry: [%d] end\n" ,indent,i);
86 }
87 else
88 _printf_(flag,"%s geometry: [empty]\n" ,indent);
89
90 return;
91}
92/*}}}*/
93
94/*FUNCTION KML_MultiGeometry::Write {{{1*/
95void KML_MultiGeometry::Write(FILE* filout,char* indent){
96
97 int i;
98 char indent2[81];
99
100 if (this->id && strlen(this->id))
101 fprintf(filout,"%s<MultiGeometry id=\"%s\">\n",indent,this->id);
102 else
103 fprintf(filout,"%s<MultiGeometry>\n",indent);
104
105 KML_Geometry::Write(filout,indent);
106
107/* loop over the geometry elements for the multigeometry */
108
109 strcpy(indent2,indent);
110 strcat(indent2," ");
111
112 for (i=0; i<geometry->Size(); i++)
113 ((KML_Geometry *)geometry->GetObjectByOffset(i))->Write(filout,indent2);
114
115 fprintf(filout,"%s</MultiGeometry>\n",indent);
116
117 return;
118}
119/*}}}*/
120
121/*FUNCTION KML_MultiGeometry::Id {{{1*/
122int KML_MultiGeometry::Id(){
123}
124/*}}}*/
125
126/*FUNCTION KML_MultiGeometry::MyRank {{{1*/
127int KML_MultiGeometry::MyRank(){
128}
129/*}}}*/
130
131/*FUNCTION KML_MultiGeometry::Marshall {{{1*/
132void KML_MultiGeometry::Marshall(char** pmarshalled_dataset){
133}
134/*}}}*/
135
136/*FUNCTION KML_MultiGeometry::MarshallSize {{{1*/
137int KML_MultiGeometry::MarshallSize(){
138}
139/*}}}*/
140
141/*FUNCTION KML_MultiGeometry::Demarshall {{{1*/
142void KML_MultiGeometry::Demarshall(char** pmarshalled_dataset){
143}
144/*}}}*/
145
146/*FUNCTION KML_MultiGeometry::Enum {{{1*/
147int KML_MultiGeometry::Enum(){
148}
149/*}}}*/
150
151/*FUNCTION KML_MultiGeometry::copy {{{1*/
152Object* KML_MultiGeometry::copy(){
153}
154/*}}}*/
155
Note: See TracBrowser for help on using the repository browser.