OpendTect  6.3
arraytesselator.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6 Author: Yuancheng Liu
7 Date: April 2011
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "geometrymod.h"
13 #include "arraynd.h"
14 #include "ranges.h"
15 
16 
17 template <class T> class Array2D;
18 
19 namespace Geometry
20 {
21 
27 public:
28  ArrayTesselator(const float* data,
29  int datarowsize,int datacolsize,
30  const StepInterval<int>& rrg,
31  const StepInterval<int>& crg);
32 
33  ArrayTesselator(const Array2D<float>& data,
34  const StepInterval<int>& rrg,
35  const StepInterval<int>& crg);
36 
38  { return (rowrange_.nrSteps()+1) *
39  (colrange_.nrSteps()+1); }
40 
41  /*<s= 0 for points, 1 for lines, 2 for triangles.*/
42  TypeSet<int> getIndices(char s=2) const
43  { return s==2 ? stripcis_ : (s ? linecis_ : pointcis_);}
44  virtual int getCoordIndex(int row,int col ) { return 0; }
45  uiString message() const { return tr("Tesselating geometry"); }
46 
47 protected:
48 
49  bool doWork(od_int64 start,od_int64 stop,int);
50 
51  int maxNrThreads() const { return 1; }
52 
53  const float* data_;
58 
62 };
63 
64 }; // namespace
#define mExpClass(module)
Definition: commondefs.h:157
int datarowsize_
Definition: arraytesselator.h:54
const float * data_
Definition: arraytesselator.h:53
TypeSet< int > getIndices(char s=2) const
Definition: arraytesselator.h:42
virtual int getCoordIndex(int row, int col)
Definition: arraytesselator.h:44
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define od_int64
Definition: plftypes.h:34
uiString message() const
Definition: arraytesselator.h:45
const StepInterval< int > & colrange_
Definition: arraytesselator.h:57
Definition: uistring.h:88
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:64
TypeSet< int > pointcis_
Definition: arraytesselator.h:59
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:127
TypeSet< int > stripcis_
Definition: arraytesselator.h:61
Definition: arraytesselator.h:25
const StepInterval< int > & rowrange_
Definition: arraytesselator.h:56
int datacolsize_
Definition: arraytesselator.h:55
int maxNrThreads() const
Definition: arraytesselator.h:51
TypeSet< int > linecis_
Definition: arraytesselator.h:60
od_int64 nrIterations() const
Definition: arraytesselator.h:37
Definition: arraytesselator.h:19

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017