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

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