OpendTect  6.6
vishorthreadworks.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: Kristofer Tingdahl
7  Date: March 2009
8  RCS: $Id$
9 ________________________________________________________________________
10 -*/
11 // this header file only be used in the classes related to Horzonsection .
12 // don't include it in somewhere else !!!
13 
14 #include "visbasemod.h"
15 #include "vishorizonsectiondef.h"
16 #include "threadwork.h"
17 #include "paralleltask.h"
18 #include "rowcol.h"
19 #include "thread.h"
20 #include "ranges.h"
21 
22 namespace osg { class CullStack; }
23 namespace Geometry { class BinIDSurface; }
24 
25 class BinIDSurface;
26 class ZAxisTransform;
27 
28 
29 namespace visBase
30 {
31  class HorizonSection;
32  class HorizonSectionTile;
45 public:
46  HorizonTileResolutionTesselator(const HorizonSection* hrsection,char res);
48  od_int64 nrIterations() const { return nrtiles_; }
50  { return tr("Tessellating horizon"); }
52  { return tr("Parts completed"); }
53 
54  bool doPrepare(int);
56 
58  bool getTitleNormals(int,TypeSet<Coord3>&) const;
60  GeometryType) const;
61 
62 private:
63  bool createTiles();
66  int nrtiles_;
68 };
69 
72 public:
74  const osg::CullStack* cs, char res );
75 
77  { delete [] permutation_; }
78 
79  od_int64 nrIterations() const { return nrtiles_; }
80  od_int64 totalNr() const { return nrtiles_ * 2; }
81  uiString uiMessage() const { return tr("Updating Horizon Display"); }
82  uiString uiNrDoneText() const { return tr("Parts completed"); }
83 
84  bool doPrepare( int );
85  bool doWork( od_int64, od_int64, int );
86 
90  int nrtiles_;
96  const osg::CullStack* tkzs_;
97 };
98 
99 
101 {
102 public:
103  TileTesselator( HorizonSectionTile* tile, char res );
104 
105  int nextStep();
107  char res_;
108  bool doglue_;
109 };
110 
111 
114 public:
117 
119 
121  uiString uiMessage() const { return tr("Creating Horizon Display"); }
122  uiString uiNrDoneText() const { return tr("Parts completed"); }
123  void setTesselationResolution(char res);
124 
125 
126 protected:
127 
128  bool doWork(od_int64, od_int64, int);
129  bool doFinish(bool);
130 
144 };
145 
146 
148 {
149 public:
151 
152  int nextStep();
154 };
155 
156 
157 }
158 
GeometryType
GeometryType
Definition: vishorizonsectiondef.h:30
visBase::HorizonSectionTilePosSetup::nrIterations
od_int64 nrIterations() const
visBase::HorizonSectionTilePosSetup::rrg_
StepInterval< int > rrg_
Definition: vishorthreadworks.h:138
visBase::HorizonTileResolutionTesselator
HorizonTileResolutionTesselator class is an independent usage for tesselating coordinates,...
Definition: vishorthreadworks.h:44
visBase::HorizonTileResolutionTesselator::getTitlePrimitiveSet
bool getTitlePrimitiveSet(int, TypeSet< int > &, GeometryType) const
visBase::HorizonTileResolutionTesselator::doPrepare
bool doPrepare(int)
visBase::HorizonTileResolutionTesselator::~HorizonTileResolutionTesselator
~HorizonTileResolutionTesselator()
visBase::HorizonTileRenderPreparer
Definition: vishorthreadworks.h:71
visBase::HorizonTileRenderPreparer::hrsection_
HorizonSection & hrsection_
Definition: vishorthreadworks.h:89
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
visBase::HorizonTileResolutionTesselator::doWork
bool doWork(od_int64, od_int64, int)
Geometry
Definition: arraytesselator.h:21
visBase
Definition: visannot.h:43
visBase::TileTesselator::res_
char res_
Definition: vishorthreadworks.h:107
od_int64
#define od_int64
Definition: plftypes.h:35
visBase::TileGlueTesselator::tile_
HorizonSectionTile * tile_
Definition: vishorthreadworks.h:153
visBase::TileGlueTesselator
Definition: vishorthreadworks.h:148
visBase::HorizonTileRenderPreparer::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: vishorthreadworks.h:82
visBase::TileGlueTesselator::nextStep
int nextStep()
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visBase::HorizonTileResolutionTesselator::nrIterations
od_int64 nrIterations() const
Definition: vishorthreadworks.h:48
visBase::HorizonSectionTilePosSetup::HorizonSectionTilePosSetup
HorizonSectionTilePosSetup(TypeSet< RowCol > &tiles, TypeSet< RowCol > &indexes, HorizonSection *horsection, StepInterval< int >rrg, StepInterval< int >crg)
visBase::HorizonTileRenderPreparer::nrIterations
od_int64 nrIterations() const
Definition: vishorthreadworks.h:79
visBase::HorizonSectionTilePosSetup::crg_
StepInterval< int > crg_
Definition: vishorthreadworks.h:138
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::HorizonSectionTilePosSetup::resolution_
char resolution_
Definition: vishorthreadworks.h:134
visBase::TileTesselator::doglue_
bool doglue_
Definition: vishorthreadworks.h:108
visBase::HorizonTileRenderPreparer::HorizonTileRenderPreparer
HorizonTileRenderPreparer(HorizonSection &hrsection, const osg::CullStack *cs, char res)
visBase::TileTesselator
Definition: vishorthreadworks.h:101
visBase::HorizonSectionTilePosSetup::doFinish
bool doFinish(bool)
visBase::HorizonTileRenderPreparer::nrthreadsfinishedwithres_
int nrthreadsfinishedwithres_
Definition: vishorthreadworks.h:94
visBase::HorizonTileResolutionTesselator::getTitleNormals
bool getTitleNormals(int, TypeSet< Coord3 > &) const
visBase::HorizonTileResolutionTesselator::getTitleCoordinates
bool getTitleCoordinates(int, TypeSet< Coord3 > &) const
visBase::HorizonSectionTilePosSetup::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: vishorthreadworks.h:122
visBase::HorizonSectionTilePosSetup::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Definition: vishorthreadworks.h:121
visBase::HorizonTileRenderPreparer::tkzs_
const osg::CullStack * tkzs_
Definition: vishorthreadworks.h:96
threadwork.h
visBase::TileGlueTesselator::TileGlueTesselator
TileGlueTesselator(HorizonSectionTile *tile)
visBase::HorizonTileRenderPreparer::~HorizonTileRenderPreparer
~HorizonTileRenderPreparer()
Definition: vishorthreadworks.h:76
visBase::HorizonTileRenderPreparer::resolution_
char resolution_
Definition: vishorthreadworks.h:92
visBase::HorizonSectionTilePosSetup::doWork
bool doWork(od_int64, od_int64, int)
visBase::HorizonTileRenderPreparer::hrsectiontiles_
HorizonSectionTile ** hrsectiontiles_
Definition: vishorthreadworks.h:88
visBase::HorizonSectionTilePosSetup::doNewWork
bool doNewWork(od_int64, od_int64, int)
visBase::HorizonTileResolutionTesselator::mODTextTranslationClass
mODTextTranslationClass(HorizonTileResolutionTesselator)
StepInterval< int >
visBase::HorizonTileRenderPreparer::doWork
bool doWork(od_int64, od_int64, int)
ParallelTask::tr
static uiString tr(const char *text, const char *disambiguation=nullptr, int pluralnr=-1)
Definition: paralleltask.h:66
ZAxisTransform
Base class for z-axis transforms.
Definition: zaxistransform.h:37
visBase::HorizonTileRenderPreparer::permutation_
od_int64 * permutation_
Definition: vishorthreadworks.h:87
visBase::HorizonSectionTilePosSetup::setTesselationResolution
void setTesselationResolution(char res)
visBase::HorizonTileRenderPreparer::nrtiles_
int nrtiles_
Definition: vishorthreadworks.h:90
visBase::HorizonSectionTilePosSetup::doOldWork
bool doOldWork(od_int64, od_int64, int)
visBase::HorizonTileResolutionTesselator::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: vishorthreadworks.h:51
visBase::HorizonTileRenderPreparer::nrthreads_
int nrthreads_
Definition: vishorthreadworks.h:93
visBase::TileTesselator::TileTesselator
TileTesselator(HorizonSectionTile *tile, char res)
visBase::HorizonTileResolutionTesselator::hrtiles_
ObjectSet< HorizonSectionTile > hrtiles_
Definition: vishorthreadworks.h:64
visBase::TileTesselator::tile_
HorizonSectionTile * tile_
Definition: vishorthreadworks.h:106
visBase::HorizonTileResolutionTesselator::resolution_
char resolution_
Definition: vishorthreadworks.h:67
vishorizonsectiondef.h
visBase::HorizonTileResolutionTesselator::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Definition: vishorthreadworks.h:49
visBase::HorizonSectionTilePosSetup::zaxistransform_
ZAxisTransform * zaxistransform_
Definition: vishorthreadworks.h:139
visBase::HorizonSectionTilePosSetup
Definition: vishorthreadworks.h:113
visBase::HorizonSectionTilePosSetup::hortiles_
TypeSet< RowCol > & hortiles_
Definition: vishorthreadworks.h:142
visBase::HorizonTileRenderPreparer::nrcoltiles_
int nrcoltiles_
Definition: vishorthreadworks.h:91
visBase::HorizonTileRenderPreparer::mODTextTranslationClass
mODTextTranslationClass(HorizonTileRenderPreparer)
visBase::HorizonSectionTilePosSetup::lock_
Threads::Lock lock_
Definition: vishorthreadworks.h:141
visBase::HorizonTileRenderPreparer::totalNr
od_int64 totalNr() const
Definition: vishorthreadworks.h:80
visBase::HorizonTileRenderPreparer::barrier_
Threads::Barrier barrier_
Definition: vishorthreadworks.h:95
ParallelTask
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
Threads::Barrier
Waits for a number of threads to reach a certain point (i.e. the call to Barrier::waitForAll)....
Definition: thread.h:239
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
visBase::HorizonSectionTilePosSetup::horsection_
HorizonSection * horsection_
Definition: vishorthreadworks.h:140
visBase::TileTesselator::nextStep
int nextStep()
visBase::HorizonTileResolutionTesselator::HorizonTileResolutionTesselator
HorizonTileResolutionTesselator(const HorizonSection *hrsection, char res)
visBase::HorizonSection
Definition: vishorizonsection.h:51
visBase::HorizonTileRenderPreparer::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Definition: vishorthreadworks.h:81
visBase::HorizonTileRenderPreparer::doPrepare
bool doPrepare(int)
visBase::HorizonTileResolutionTesselator::createTiles
bool createTiles()
visBase::HorizonSectionTilePosSetup::~HorizonSectionTilePosSetup
~HorizonSectionTilePosSetup()
visBase::HorizonTileResolutionTesselator::horsection_
const HorizonSection * horsection_
Definition: vishorthreadworks.h:65
visBase::HorizonSectionTilePosSetup::geo_
const Geometry::BinIDSurface * geo_
Definition: vishorthreadworks.h:137
Geometry::BinIDSurface
Definition: binidsurface.h:27
visBase::HorizonTileResolutionTesselator::nrtiles_
int nrtiles_
Definition: vishorthreadworks.h:66
ranges.h
visBase::HorizonSectionTilePosSetup::mODTextTranslationClass
mODTextTranslationClass(HorizonSectionTilePosSetup)
visBase::HorizonSectionTile
Definition: vishorizonsectiontile.h:51
thread.h
visBase::HorizonSectionTilePosSetup::hrtiles_
ObjectSet< HorizonSectionTile > hrtiles_
Definition: vishorthreadworks.h:135
paralleltask.h
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
visBase::HorizonSectionTilePosSetup::indexes_
TypeSet< RowCol > & indexes_
Definition: vishorthreadworks.h:143
rowcol.h
SequentialTask
The generalization of something (e.g. a computation) where the steps must be done in sequence,...
Definition: task.h:125
visBase::HorizonSectionTilePosSetup::nrcrdspertileside_
int nrcrdspertileside_
Definition: vishorthreadworks.h:133
TypeSet< Coord3 >

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