14 #include "earthmodelmod.h" 27 template <
class T>
class Array3D;
28 template <
class T>
class Array2D;
33 class dgbSurfDataReader;
34 class RowColSurfaceGeometry;
51 const char* filetype);
53 const char* filetype);
69 int nrSections()
const;
77 const char* dbInfo()
const;
78 int nrAuxVals()
const;
79 const char* auxDataName(
int)
const;
80 float auxDataShift(
int)
const;
92 void setReadOnlyZ(
bool yn=
true);
101 LevelID stratLevelID()
const;
102 const IOPar* pars()
const;
103 int getParsOffset()
const;
106 virtual uiString nrDoneText()
const;
109 virtual int nextStep();
113 static const char* sKeyNrSections();
114 static const char* sKeyNrSectionsV1();
118 static const char* sKeyDepthOnly();
119 static const char* sKeyRowRange();
120 static const char* sKeyColRange();
121 static const char* sKeyZRange();
122 static const char* sKeyInt16DataChar();
123 static const char* sKeyInt32DataChar();
124 static const char* sKeyInt64DataChar();
125 static const char* sKeyFloatDataChar();
126 static const char* sKeyDBInfo();
127 static const char* sKeyVersion();
128 static const char* sKeyLineSets();
129 static const char* sKeyLineIDs();
130 static const char* sKeyTraceRange();
132 static const char* sMsgParseError();
134 static const char* sKeyUndefLineSet();
135 static const char* sKeyUndefLine();
139 bool isBinary()
const;
145 int int64Size()
const;
146 void createAuxDataReader();
148 void mergeExternalPar(
const char*);
150 bool readHeaders(
const char*);
152 RowCol getFileStep()
const;
154 bool shouldSkipCurrentRow()
const;
157 int currentRow()
const;
210 bool getIndices(
const RowCol&,
int&,
int&)
const;
215 int noofcoltoskip=0);
224 RowCol convertRowCol(
int,
int)
const;
225 bool parseVersion1(
const IOPar&);
226 static const char* sKeyTransformX();
227 static const char* sKeyTransformY();
229 double conv11, conv12, conv13, conv21, conv22,
conv23;
235 void init(
const char* fulluserexp,
const char* name);
251 const char* filetype,
255 const char* filetype,
270 int nrSections()
const;
272 const char* sectionName(
int )
const;
279 void setShift(
float);
282 int nrAuxVals()
const;
283 const char* auxDataName(
int)
const;
284 const char* auxDataInfo(
int)
const;
296 bool writeOnlyZ()
const;
297 void setWriteOnlyZ(
bool yn);
301 virtual uiString nrDoneText()
const;
304 virtual int nextStep();
322 void finishWriting();
364 static const char*
sTab() {
return "\t"; }
365 static const char*
sEOL() {
return "\n"; }
366 static const char*
sEOLTab() {
return "\n\t\t"; }
368 void init(
const char* fulluserexp);
StepInterval< int > * writerowrange_
Definition: emsurfaceio.h:355
static const char * sEOLTab()
Definition: emsurfaceio.h:366
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
float shift_
Definition: emsurfaceio.h:361
TypeSet< EM::SectionID > sectionsel_
Definition: emsurfaceio.h:168
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
bool binary_
Definition: emsurfaceio.h:360
StepInterval< int > rowrange_
Definition: emsurfaceio.h:199
StreamConn * conn_
Definition: emsurfaceio.h:161
TypeSet< float > auxdatashifts_
Definition: emsurfaceio.h:172
uiString msg_
Definition: emsurfaceio.h:335
const IOPar * par_
Definition: emsurfaceio.h:176
Executor consisting of other executors.
Definition: executor.h:81
StreamConn * conn_
Definition: emsurfaceio.h:325
int rowindex_
Definition: emsurfaceio.h:190
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Array2D< float > * arr_
Definition: emsurfaceio.h:196
TypeSet< od_int64 > sectionoffsets_
Definition: emsurfaceio.h:219
bool writingfinished_
Definition: emsurfaceio.h:323
#define od_int64
Definition: plftypes.h:34
TypeSet< od_int64 > rowoffsets_
Definition: emsurfaceio.h:218
int firstrow_
Definition: emsurfaceio.h:344
int oldsectionindex_
Definition: emsurfaceio.h:187
static const char * linenamesstr_
Definition: emsurfaceio.h:234
StepInterval< int > * readcolrange_
Definition: emsurfaceio.h:204
Interval< float > zrange_
Definition: emsurfaceio.h:201
uiString msg_
Definition: emsurfaceio.h:178
int rowindex_
Definition: emsurfaceio.h:346
bool writeonlyz_
Definition: emsurfaceio.h:359
Definition: uistring.h:88
TypeSet< EM::SectionID > sectionids_
Definition: emsurfaceio.h:167
Set of BufferString objects.
Definition: bufstringset.h:25
BufferString fulluserexpr_
Definition: emsurfaceio.h:336
od_int64 nrsectionsoffsetoffset_
Definition: emsurfaceio.h:329
Surface Writer.
Definition: emsurfaceio.h:247
BufferString filetype_
Definition: emsurfaceio.h:362
OD class for stream read.
Definition: od_istream.h:23
Strat::Level::ID LevelID
Definition: emsurfaceio.h:49
int firstrow_
Definition: emsurfaceio.h:188
DataInterpreter< int > * int16interpreter_
Definition: emsurfaceio.h:216
Byte-level data interpreter.
Definition: cbvswriter.h:20
Set of pointers to objects.
Definition: commontypes.h:28
void message(const char *)
default: to stderr
int version_
Definition: emsurfaceio.h:208
int sectionindex_
Definition: emsurfaceio.h:340
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
BufferString dbinfo_
Definition: emsurfaceio.h:207
BufferStringSet auxdatanames_
Definition: emsurfaceio.h:171
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:127
StepInterval< int > colrange_
Definition: emsurfaceio.h:200
bool isinited_
Definition: emsurfaceio.h:182
int parsoffset_
Definition: emsurfaceio.h:220
const TypeSet< StepInterval< int > > * linestrcrgs_
Definition: emsurfaceio.h:233
int nrrows_
Definition: emsurfaceio.h:345
int oldsectionindex_
Definition: emsurfaceio.h:341
DataInterpreter< double > * floatinterpreter_
Definition: emsurfaceio.h:193
StepInterval< int > rowrange_
Definition: emsurfaceio.h:351
StepInterval< int > * readrowrange_
Definition: emsurfaceio.h:203
static const char * sEOL()
Definition: emsurfaceio.h:365
const BufferStringSet * readlinenames_
Definition: emsurfaceio.h:232
TypeSet< EM::SectionID > sectionsel_
Definition: emsurfaceio.h:327
Index_Type GeomID
Definition: commontypes.h:48
Surface Reader.
Definition: emsurfaceio.h:45
IdxPair used for its row() and col().
Definition: rowcol.h:23
RowCol SurfaceGeometry.
Definition: emsurfacegeometry.h:122
BufferStringSet linesets_
Definition: emsurfaceio.h:165
Array3D< float > * cube_
Definition: emsurfaceio.h:195
#define od_int32
Definition: plftypes.h:29
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
int nrdone_
Definition: emsurfaceio.h:180
FixedString Surface()
Definition: keystrs.h:124
od_int64 rowoffsettableoffset_
Definition: emsurfaceio.h:342
EM::Surface * surface_
Definition: emsurfaceio.h:194
bool setsurfacepar_
Definition: emsurfaceio.h:183
TypeSet< od_int64 > sectionoffsets_
Definition: emsurfaceio.h:328
TypeSet< Pos::GeomID > geomids_
Definition: emsurfaceio.h:166
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:31
BufferStringSet linenames_
Definition: emsurfaceio.h:164
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
int nrdone_
Definition: emsurfaceio.h:338
StepInterval< int > colrange_
Definition: emsurfaceio.h:352
Interval< int > writtenrowrange_
Definition: emsurfaceio.h:357
TypeSet< int > auxdatasel_
Definition: emsurfaceio.h:174
TypeSet< od_int64 > rowoffsettable_
Definition: emsurfaceio.h:343
DBKey objectmid_
Definition: emsurfaceio.h:337
DataInterpreter< od_int64 > * int64interpreter_
Definition: emsurfaceio.h:217
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
int sectionsread_
Definition: emsurfaceio.h:185
BufferStringSet sectionnames_
Definition: emsurfaceio.h:163
Connection with an underlying iostream.
Definition: streamconn.h:25
ObjectSet< EM::dgbSurfDataReader > auxdataexecs_
Definition: emsurfaceio.h:173
TypeSet< int > auxdatasel_
Definition: emsurfaceio.h:330
Interval< int > writtencolrange_
Definition: emsurfaceio.h:358
FixedString ID()
Definition: keystrs.h:71
bool error_
Definition: emsurfaceio.h:179
bool fullyread_
Definition: emsurfaceio.h:169
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:149
const EM::RowColSurfaceGeometry * geometry_
Definition: emsurfaceio.h:349
BufferString dbinfo_
Definition: emsurfaceio.h:331
DataInterpreter< int > * int32interpreter_
Definition: emsurfaceio.h:192
static const char * sTab()
Definition: emsurfaceio.h:364
int nrrows_
Definition: emsurfaceio.h:189
int version() const
Definition: emsurfaceio.h:64
Interval< float > zrange_
Definition: emsurfaceio.h:353
int sectionindex_
Definition: emsurfaceio.h:186
StepInterval< int > * writecolrange_
Definition: emsurfaceio.h:356
bool readonlyz_
Definition: emsurfaceio.h:206
const EM::Surface & surface_
Definition: emsurfaceio.h:348
IOPar * par_
Definition: emsurfaceio.h:333
double conv23
Definition: emsurfaceio.h:229