16 #include "earthmodelmod.h" 28 template <
class T>
class Array3D;
29 template <
class T>
class Array2D;
34 class dgbSurfDataReader;
35 class RowColSurfaceGeometry;
50 const char* filetype);
52 const char* filetype);
68 int nrSections()
const;
76 const char* dbInfo()
const;
77 int nrAuxVals()
const;
78 const char* auxDataName(
int)
const;
79 float auxDataShift(
int)
const;
91 void setReadOnlyZ(
bool yn=
true);
100 int stratLevelID()
const;
101 const IOPar* pars()
const;
102 int getParsOffset()
const;
105 virtual uiString uiNrDoneText()
const;
108 virtual int nextStep();
112 static const char* sKeyNrSections();
113 static const char* sKeyNrSectionsV1();
117 static const char* sKeyDepthOnly();
118 static const char* sKeyRowRange();
119 static const char* sKeyColRange();
120 static const char* sKeyZRange();
121 static const char* sKeyInt16DataChar();
122 static const char* sKeyInt32DataChar();
123 static const char* sKeyInt64DataChar();
124 static const char* sKeyFloatDataChar();
125 static const char* sKeyDBInfo();
126 static const char* sKeyVersion();
127 static const char* sKeyLineSets();
128 static const char* sKeyLineIDs();
129 static const char* sKeyTraceRange();
131 static const char* sMsgParseError();
133 static const char* sKeyUndefLineSet();
134 static const char* sKeyUndefLine();
138 bool isBinary()
const;
144 int int64Size()
const;
145 void createAuxDataReader();
147 void mergeExternalPar(
const char*);
149 bool readHeaders(
const char*);
151 RowCol getFileStep()
const;
153 bool shouldSkipCurrentRow()
const;
156 int currentRow()
const;
209 bool getIndices(
const RowCol&,
int&,
int&)
const;
214 int noofcoltoskip=0);
223 RowCol convertRowCol(
int,
int)
const;
224 bool parseVersion1(
const IOPar&);
225 static const char* sKeyTransformX();
226 static const char* sKeyTransformY();
228 double conv11, conv12, conv13, conv21, conv22,
conv23;
234 void init(
const char* fulluserexp,
const char* name);
250 const char* filetype,
254 const char* filetype,
269 int nrSections()
const;
271 const char* sectionName(
int )
const;
278 void setShift(
float);
281 int nrAuxVals()
const;
282 const char* auxDataName(
int)
const;
283 const char* auxDataInfo(
int)
const;
295 bool writeOnlyZ()
const;
296 void setWriteOnlyZ(
bool yn);
300 virtual uiString uiNrDoneText()
const;
303 virtual int nextStep();
321 void finishWriting();
363 static const char*
sTab() {
return "\t"; }
364 static const char*
sEOL() {
return "\n"; }
365 static const char*
sEOLTab() {
return "\n\t\t"; }
367 void init(
const char* fulluserexp);
StepInterval< int > * writerowrange_
Definition: emsurfaceio.h:354
static const char * sEOLTab()
Definition: emsurfaceio.h:365
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
float shift_
Definition: emsurfaceio.h:360
TypeSet< EM::SectionID > sectionsel_
Definition: emsurfaceio.h:167
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:26
bool binary_
Definition: emsurfaceio.h:359
StepInterval< int > rowrange_
Definition: emsurfaceio.h:198
StreamConn * conn_
Definition: emsurfaceio.h:160
TypeSet< float > auxdatashifts_
Definition: emsurfaceio.h:171
uiString msg_
Definition: emsurfaceio.h:334
const IOPar * par_
Definition: emsurfaceio.h:175
Executor consisting of other executors.
Definition: executor.h:77
StreamConn * conn_
Definition: emsurfaceio.h:324
int rowindex_
Definition: emsurfaceio.h:189
MultiID objectmid_
Definition: emsurfaceio.h:336
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Array2D< float > * arr_
Definition: emsurfaceio.h:195
TypeSet< od_int64 > sectionoffsets_
Definition: emsurfaceio.h:218
bool writingfinished_
Definition: emsurfaceio.h:322
#define od_int64
Definition: plftypes.h:36
TypeSet< od_int64 > rowoffsets_
Definition: emsurfaceio.h:217
int firstrow_
Definition: emsurfaceio.h:343
int oldsectionindex_
Definition: emsurfaceio.h:186
static const char * linenamesstr_
Definition: emsurfaceio.h:233
StepInterval< int > * readcolrange_
Definition: emsurfaceio.h:203
Interval< float > zrange_
Definition: emsurfaceio.h:200
uiString msg_
Definition: emsurfaceio.h:177
int rowindex_
Definition: emsurfaceio.h:345
bool writeonlyz_
Definition: emsurfaceio.h:358
Definition: uistring.h:89
TypeSet< EM::SectionID > sectionids_
Definition: emsurfaceio.h:166
Set of BufferString objects.
Definition: bufstringset.h:28
BufferString fulluserexpr_
Definition: emsurfaceio.h:335
od_int64 nrsectionsoffsetoffset_
Definition: emsurfaceio.h:328
Surface Writer.
Definition: emsurfaceio.h:246
BufferString filetype_
Definition: emsurfaceio.h:361
OD class for stream read.
Definition: od_istream.h:24
int firstrow_
Definition: emsurfaceio.h:187
DataInterpreter< int > * int16interpreter_
Definition: emsurfaceio.h:215
Byte-level data interpreter.
Definition: cbvswriter.h:22
Set of pointers to objects.
Definition: commontypes.h:32
int version_
Definition: emsurfaceio.h:207
int sectionindex_
Definition: emsurfaceio.h:339
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
BufferString dbinfo_
Definition: emsurfaceio.h:206
BufferStringSet auxdatanames_
Definition: emsurfaceio.h:170
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
StepInterval< int > colrange_
Definition: emsurfaceio.h:199
bool isinited_
Definition: emsurfaceio.h:181
int parsoffset_
Definition: emsurfaceio.h:219
const TypeSet< StepInterval< int > > * linestrcrgs_
Definition: emsurfaceio.h:232
int nrrows_
Definition: emsurfaceio.h:344
int oldsectionindex_
Definition: emsurfaceio.h:340
DataInterpreter< double > * floatinterpreter_
Definition: emsurfaceio.h:192
StepInterval< int > rowrange_
Definition: emsurfaceio.h:350
StepInterval< int > * readrowrange_
Definition: emsurfaceio.h:202
static const char * sEOL()
Definition: emsurfaceio.h:364
const BufferStringSet * readlinenames_
Definition: emsurfaceio.h:231
TypeSet< EM::SectionID > sectionsel_
Definition: emsurfaceio.h:326
Index_Type GeomID
Definition: commontypes.h:52
Surface Reader.
Definition: emsurfaceio.h:46
IdxPair used for its row() and col().
Definition: rowcol.h:25
RowCol SurfaceGeometry.
Definition: emsurfacegeometry.h:124
BufferStringSet linesets_
Definition: emsurfaceio.h:164
Array3D< float > * cube_
Definition: emsurfaceio.h:194
#define od_int32
Definition: plftypes.h:31
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
int nrdone_
Definition: emsurfaceio.h:179
FixedString Surface()
Definition: keystrs.h:126
od_int64 rowoffsettableoffset_
Definition: emsurfaceio.h:341
EM::Surface * surface_
Definition: emsurfaceio.h:193
bool setsurfacepar_
Definition: emsurfaceio.h:182
TypeSet< od_int64 > sectionoffsets_
Definition: emsurfaceio.h:327
TypeSet< Pos::GeomID > geomids_
Definition: emsurfaceio.h:165
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
BufferStringSet linenames_
Definition: emsurfaceio.h:163
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
int nrdone_
Definition: emsurfaceio.h:337
StepInterval< int > colrange_
Definition: emsurfaceio.h:351
Interval< int > writtenrowrange_
Definition: emsurfaceio.h:356
TypeSet< int > auxdatasel_
Definition: emsurfaceio.h:173
TypeSet< od_int64 > rowoffsettable_
Definition: emsurfaceio.h:342
DataInterpreter< od_int64 > * int64interpreter_
Definition: emsurfaceio.h:216
int sectionsread_
Definition: emsurfaceio.h:184
BufferStringSet sectionnames_
Definition: emsurfaceio.h:162
Connection with an underlying iostream.
Definition: streamconn.h:26
ObjectSet< EM::dgbSurfDataReader > auxdataexecs_
Definition: emsurfaceio.h:172
TypeSet< int > auxdatasel_
Definition: emsurfaceio.h:329
Interval< int > writtencolrange_
Definition: emsurfaceio.h:357
bool error_
Definition: emsurfaceio.h:178
bool fullyread_
Definition: emsurfaceio.h:168
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
const EM::RowColSurfaceGeometry * geometry_
Definition: emsurfaceio.h:348
BufferString dbinfo_
Definition: emsurfaceio.h:330
DataInterpreter< int > * int32interpreter_
Definition: emsurfaceio.h:191
static const char * sTab()
Definition: emsurfaceio.h:363
int nrrows_
Definition: emsurfaceio.h:188
int version() const
Definition: emsurfaceio.h:63
Interval< float > zrange_
Definition: emsurfaceio.h:352
Compound key consisting of ints.
Definition: multiid.h:25
int sectionindex_
Definition: emsurfaceio.h:185
StepInterval< int > * writecolrange_
Definition: emsurfaceio.h:355
bool readonlyz_
Definition: emsurfaceio.h:205
const EM::Surface & surface_
Definition: emsurfaceio.h:347
IOPar * par_
Definition: emsurfaceio.h:332
double conv23
Definition: emsurfaceio.h:228