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

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