OpendTect-6_4  6.4
horizon3dtesselator.h
Go to the documentation of this file.
1 #ifndef horizon3dtesselator_h
2 #define horizon3dtesselator_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Yuancheng Liu
9  Date: August 2009
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "geometrymod.h"
17 #include "task.h"
18 
19 class Coord3List;
20 
21 
22 /* Assume given Coord3List has size nrrowscoord*nrcolscoord and all the points
23  are added in order of rows. The nrrow and nrcol are the size you want to
24  tesselate. Your spacing should be 1, 2, 4, 8 ,16, or 32. The normals and
25  their indices are optional, you could put dummy 0s for them. The normals are
26  calculated based on the spacing and they are local. The normal indices are
27  based on my own normals, hence normstartidx is provided in case you want to
28  arrange your global indices based on your spacing or whatever. */
29 
31 {
32 public:
34  int nrcoordcol,
35  unsigned char spacing,
36  int nrrow,int nrcol,
37  TypeSet<int>* pointci,
38  TypeSet<int>* lineci,
39  TypeSet<int>* stripci,
40  TypeSet<int>* pointni,
41  TypeSet<int>* lineni,
42  TypeSet<int>* stripni,
43  Coord3List* normals,
44  int nrnormalcols_,
45  int normstartidx);
46  int nextStep();
47 
48 protected:
49 
50  void computeNormal(int ni,int row,int col);
51  int getNormalIdx(int crdidx);
52 
54  unsigned char spacing_;
55  int nrcols_, nrrows_, nrcoordcols_;
57 
66 
67  const double cosanglexinl_, sinanglexinl_;
68 };
69 
70 
71 
72 #endif
#define mExpClass(module)
Definition: commondefs.h:160
unsigned char spacing_
Definition: horizon3dtesselator.h:54
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:72
int nrrows_
Definition: horizon3dtesselator.h:55
Definition: horizon3dtesselator.h:30
const double sinanglexinl_
Definition: horizon3dtesselator.h:67
TypeSet< int > * lineni_
Definition: horizon3dtesselator.h:62
TypeSet< int > * stripci_
Definition: horizon3dtesselator.h:60
TypeSet< int > * stripni_
Definition: horizon3dtesselator.h:63
const Coord3List * coords_
Definition: horizon3dtesselator.h:53
The generalization of something (e.g. a computation) where the steps must be done in sequence...
Definition: task.h:124
Coord3List * normals_
Definition: horizon3dtesselator.h:64
TypeSet< int > * pointci_
Definition: horizon3dtesselator.h:58
int normalstart_
Definition: horizon3dtesselator.h:65
int nrnormalcols_
Definition: horizon3dtesselator.h:56
TypeSet< int > * pointni_
Definition: horizon3dtesselator.h:61
Definition: arraytesselator.h:21
TypeSet< int > * lineci_
Definition: horizon3dtesselator.h:59

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