OpendTect  6.6
explfaultsticksurface.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: J.C. Glas
8  Date: October 2007
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "geometrymod.h"
15 #include "indexedshape.h"
16 #include "enums.h"
17 #include "position.h"
18 #include "rowcol.h"
19 #include "datapack.h"
20 #include "binidvalue.h"
21 
22 class DataPointSet;
23 
24 namespace Geometry
25 {
26 
27 class FaultStickSurface;
28 class ExplFaultStickTexturePositionExtracter;
29 
33 #define mFltTriProj Geometry::ExplFaultStickSurface::TriProjection
34 
35 
37  public CallBacker
38 {
39 public:
41  float zscale=mUdf(float));
43 
44  void setSceneIdx(int idx) { sceneidx_ = idx; }
45 
46  bool needsUpdate() const { return needsupdate_; }
47 
48  enum TriProjection { None=0, Inline=1, Crossline=2, ZSlice=3 };
50  TriProjection triangulateAlg() const { return trialg_; }
52 
54  FaultStickSurface* getSurface() { return surface_; }
55  const FaultStickSurface* getSurface() const { return surface_; }
56 
57  void setZScale( float );
58 
59  void display(bool sticks,bool panels);
60  bool areSticksDisplayed() const { return displaysticks_; }
61  bool arePanelsDisplayed() const { return displaypanels_; }
62 
63  bool createsNormals() const { return true; }
64  bool createsTextureCoords() const { return true; }
65 
67  void setTexturePowerOfTwo(bool yn);
69  const RowCol& getTextureSize() const;
70  void needUpdateTexture(bool yn);
71  bool needsUpdateTexture() const;
72 
73  bool update(bool forceall,TaskRunner*);
74 
77 
79  TaskRunner*);
80  const BinIDValue getBinIDValue() { return texturesampling_; }
81 
82  static const char* sKeyTextureI() { return "Fault texture i column"; }
83  static const char* sKeyTextureJ() { return "Fault texture j column"; }
84 
85 protected:
86 
87  friend class ExplFaultStickSurfaceUpdater;
88  friend class ExplFaultStickTexturePositionExtracter;
89 
90  void removeAll(bool);
91  void insertAll();
92 
93  void emptyStick(int stickidx);
94  void fillStick(int stickidx);
95  void removeStick(int stickidx);
96  void insertStick(int stickidx);
97 
98  void emptyPanel(int panelidx);
99  void fillPanel(int panelidx);
100  void removePanel(int panelidx);
101  void insertPanel(int panelidx);
102 
105 
108  int textureColSz(const int panelidx);
109  int sampleSize(const Coord3& p0,const Coord3& p1);
110  int point2LineSampleSz(const Coord3& point,
111  const Coord3& linept0,
112  const Coord3& linept1);
113  Coord3 getCoord(int stickidx,int texturerow) const;
114  float getAvgDistance(int stickidx,
115  const TypeSet<int>& shift,int extra) const;
116  void shiftStick(int stickidx,int nrunits);
119  bool setProjTexturePositions(DataPointSet& dpset,int id=-1);
120 
121  void addTriangle(IndexedGeometry*,int a,int b,int c);
122 
125 
129 
133 
137 
144 
145 public:
146 
148  TaskRunner*);
149 };
150 
151 };
152 
Geometry::ExplFaultStickSurface::arePanelsDisplayed
bool arePanelsDisplayed() const
Definition: explfaultsticksurface.h:61
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Geometry::ExplFaultStickSurface::createsTextureCoords
bool createsTextureCoords() const
Definition: explfaultsticksurface.h:64
Geometry::ExplFaultStickSurface::sticks_
ObjectSet< IndexedGeometry > sticks_
Definition: explfaultsticksurface.h:134
Geometry::ExplFaultStickSurface::setMaximumTextureSize
void setMaximumTextureSize(int)
Geometry::ExplFaultStickSurface::triangulateAlg
TriProjection triangulateAlg() const
Definition: explfaultsticksurface.h:50
Geometry::ExplFaultStickSurface::removeAll
void removeAll(bool)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Geometry::ExplFaultStickSurface::setProjTexturePositions
bool setProjTexturePositions(DataPointSet &dpset, int id=-1)
Geometry::ExplFaultStickSurface::point2LineSampleSz
int point2LineSampleSz(const Coord3 &point, const Coord3 &linept0, const Coord3 &linept1)
Geometry::ExplFaultStickSurface::needsUpdate
bool needsUpdate() const
Definition: explfaultsticksurface.h:46
Geometry::ExplFaultStickSurface::setSurface
void setSurface(FaultStickSurface *)
Geometry
Definition: arraytesselator.h:21
Geometry::IndexedGeometry
Definition: indexedshape.h:126
Geometry::IndexedShape
Definition: indexedshape.h:182
Geometry::ExplFaultStickSurface::sKeyTextureI
static const char * sKeyTextureI()
Definition: explfaultsticksurface.h:82
Geometry::ExplFaultStickSurface::getTexturePositions
bool getTexturePositions(DataPointSet &, int id, TaskRunner *)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Geometry::ExplFaultStickSurface::surfaceMovement
void surfaceMovement(CallBacker *)
OD::ZSlice
@ ZSlice
Definition: oduicommon.h:35
Geometry::ExplFaultStickSurface::getSurface
FaultStickSurface * getSurface()
Definition: explfaultsticksurface.h:54
Geometry::ExplFaultStickSurface::panellines_
ObjectSet< IndexedGeometry > panellines_
Definition: explfaultsticksurface.h:136
Geometry::ExplFaultStickSurface::needsUpdateTexture
bool needsUpdateTexture() const
Geometry::ExplFaultStickSurface::setZScale
void setZScale(float)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Geometry::ExplFaultStickSurface::areSticksDisplayed
bool areSticksDisplayed() const
Definition: explfaultsticksurface.h:60
Geometry::ExplFaultStickSurface::shiftStick
void shiftStick(int stickidx, int nrunits)
Geometry::ExplFaultStickSurface::displaysticks_
bool displaysticks_
Definition: explfaultsticksurface.h:123
Geometry::ExplFaultStickSurface::addToGeometries
void addToGeometries(IndexedGeometry *)
Geometry::ExplFaultStickSurface::insertAll
void insertAll()
Geometry::ExplFaultStickSurface::trialg_
TriProjection trialg_
Definition: explfaultsticksurface.h:132
Geometry::ExplFaultStickSurface::scalefacs_
Coord3 scalefacs_
Definition: explfaultsticksurface.h:127
Geometry::ExplFaultStickSurface::texturepot_
bool texturepot_
Definition: explfaultsticksurface.h:142
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
Geometry::ExplFaultStickSurface::addTriangle
void addTriangle(IndexedGeometry *, int a, int b, int c)
Geometry::ExplFaultStickSurface::needsupdatetexture_
bool needsupdatetexture_
Definition: explfaultsticksurface.h:131
Geometry::ExplFaultStickSurface::fillPanel
void fillPanel(int panelidx)
Geometry::ExplFaultStickSurface::display
void display(bool sticks, bool panels)
Geometry::ExplFaultStickSurface::removePanel
void removePanel(int panelidx)
Geometry::ExplFaultStickSurface::createsNormals
bool createsNormals() const
Definition: explfaultsticksurface.h:63
indexedshape.h
Geometry::ExplFaultStickSurface::removeFromGeometries
void removeFromGeometries(const IndexedGeometry *)
Geometry::ExplFaultStickSurface::getAvgDistance
float getAvgDistance(int stickidx, const TypeSet< int > &shift, int extra) const
Geometry::ExplFaultStickSurface::displaypanels_
bool displaypanels_
Definition: explfaultsticksurface.h:124
Geometry::ExplFaultStickSurface::insertPanel
void insertPanel(int panelidx)
Geometry::ExplFaultStickSurface::~ExplFaultStickSurface
~ExplFaultStickSurface()
sKey::Crossline
FixedString Crossline()
Definition: keystrs.h:50
Geometry::ExplFaultStickSurface::update
bool update(bool forceall, TaskRunner *)
Geometry::ExplFaultStickSurface::setSceneIdx
void setSceneIdx(int idx)
Definition: explfaultsticksurface.h:44
sKey::Inline
FixedString Inline()
Definition: keystrs.h:82
Geometry::ExplFaultStickSurface::textureColSz
int textureColSz(const int panelidx)
Geometry::ExplFaultStickSurface::reTriangulateSurface
bool reTriangulateSurface()
Geometry::ExplFaultStickSurface::texturesampling_
BinIDValue texturesampling_
Definition: explfaultsticksurface.h:143
Geometry::ExplFaultStickSurface::textureknotcoords_
ObjectSet< TypeSet< int > > textureknotcoords_
Definition: explfaultsticksurface.h:139
TaskRunner
Class that can execute a task.
Definition: task.h:170
Geometry::ExplFaultStickSurface::setTexturePowerOfTwo
void setTexturePowerOfTwo(bool yn)
Geometry::ExplFaultStickSurface::sceneidx_
int sceneidx_
Definition: explfaultsticksurface.h:128
Geometry::ExplFaultStickSurface::triangulateAlg
void triangulateAlg(TriProjection)
Geometry::ExplFaultStickSurface::emptyPanel
void emptyPanel(int panelidx)
Geometry::ExplFaultStickSurface::getSurface
const FaultStickSurface * getSurface() const
Definition: explfaultsticksurface.h:55
Geometry::ExplFaultStickSurface::getTexturePositions
bool getTexturePositions(DataPointSet &, TaskRunner *)
datapack.h
Geometry::ExplFaultStickSurface::getTextureSize
const RowCol & getTextureSize() const
position.h
Geometry::ExplFaultStickSurface::ExplFaultStickSurface
ExplFaultStickSurface(FaultStickSurface *, float zscale=mUdf(float))
Geometry::ExplFaultStickSurface::paneltriangles_
ObjectSet< IndexedGeometry > paneltriangles_
Definition: explfaultsticksurface.h:135
Network::None
@ None
Definition: networkcommon.h:33
Geometry::ExplFaultStickSurface::updateTextureCoords
void updateTextureCoords()
Geometry::ExplFaultStickSurface::updateStickShifting
void updateStickShifting()
Geometry::ExplFaultStickSurface::insertStick
void insertStick(int stickidx)
binidvalue.h
Geometry::ExplFaultStickSurface::needsupdate_
bool needsupdate_
Definition: explfaultsticksurface.h:130
enums.h
Geometry::ExplFaultStickSurface::texturesize_
RowCol texturesize_
Definition: explfaultsticksurface.h:141
Geometry::ExplFaultStickSurface::sampleSize
int sampleSize(const Coord3 &p0, const Coord3 &p1)
Geometry::ExplFaultStickSurface::updateTextureSize
bool updateTextureSize()
BinIDValue
BinID and a value.
Definition: binidvalue.h:31
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
Geometry::ExplFaultStickSurface::fillStick
void fillStick(int stickidx)
Geometry::ExplFaultStickSurface::getCoord
Coord3 getCoord(int stickidx, int texturerow) const
Geometry::ExplFaultStickSurface::getBinIDValue
const BinIDValue getBinIDValue()
Definition: explfaultsticksurface.h:80
Geometry::ExplFaultStickSurface::mDeclareEnumUtils
mDeclareEnumUtils(TriProjection)
Geometry::ExplFaultStickSurface::needUpdateTexture
void needUpdateTexture(bool yn)
Geometry::ExplFaultStickSurface::removeStick
void removeStick(int stickidx)
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
Geometry::ExplFaultStickSurface::surfaceChange
void surfaceChange(CallBacker *)
Geometry::ExplFaultStickSurface
Definition: explfaultsticksurface.h:38
Geometry::ExplFaultStickSurface::setTextureSampling
void setTextureSampling(const BinIDValue &)
Geometry::ExplFaultStickSurface::texturecolcoords_
TypeSet< int > texturecolcoords_
Definition: explfaultsticksurface.h:138
Geometry::FaultStickSurface
Definition: faultsticksurface.h:20
Geometry::ExplFaultStickSurface::TriProjection
TriProjection
Definition: explfaultsticksurface.h:48
Geometry::ExplFaultStickSurface::maximumtexturesize_
int maximumtexturesize_
Definition: explfaultsticksurface.h:140
Geometry::ExplFaultStickSurface::emptyStick
void emptyStick(int stickidx)
rowcol.h
Geometry::ExplFaultStickSurface::surface_
FaultStickSurface * surface_
Definition: explfaultsticksurface.h:126
Geometry::ExplFaultStickSurface::sKeyTextureJ
static const char * sKeyTextureJ()
Definition: explfaultsticksurface.h:83
TypeSet< int >

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