OpendTect-6_4  6.4
faulteditor.h
Go to the documentation of this file.
1 #ifndef faulteditor_h
2 #define faulteditor_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: January 2005
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "mpeenginemod.h"
16 #include "emeditor.h"
17 
18 namespace EM { class Fault3D; }
19 namespace Geometry { class FaultStickSurface; }
20 
21 template <class T> class Selector;
22 
23 namespace MPE
24 {
25 
30 mExpClass(MPEEngine) FaultEditor : public ObjectEditor
31 {
32 public:
34 
35  static ObjectEditor* create(EM::EMObject&);
36  static void initClass();
37 
38  void setSceneIdx(int idx) { sceneidx_ = idx; }
39 
40  void setLastClicked(const EM::PosID&);
41  void setSowingPivot(const Coord3);
42 
43 
44  void setZScale(float);
45  void setScaleVector(const Coord3& v);
47 
48  void getInteractionInfo(bool& makenewstick,
49  EM::PosID& insertpid,const Coord3& pos,
50  const Coord3* posnormal=0) const;
51 
52  bool removeSelection(const Selector<Coord3>&);
53  const EM::PosID getNearstStick(EM::SectionID& sid,
54  const Coord3& pos,
55  const Coord3* posnormal)const;
56 
57 protected:
58  float distToStick(const Geometry::FaultStickSurface&,
59  int curstick,const Coord3& pos,
60  const Coord3* posnormal) const;
61  float panelIntersectDist(const Geometry::FaultStickSurface&,
62  int sticknr,const Coord3& mousepos,
63  const Coord3& posnormal) const;
64  int getSecondKnotNr(const Geometry::FaultStickSurface&,
65  int sticknr,const Coord3& mousepos) const;
66 
67  float getNearestStick(int& stick,EM::SectionID& sid,
68  const Coord3& pos,const Coord3* posnormal) const;
69  bool getInsertStick(int& stick,EM::SectionID& sid,
70  const Coord3& pos,const Coord3* posnormal) const;
71  void getPidsOnStick( EM::PosID& insertpid,int stick,
72  const EM::SectionID&,const Coord3& pos) const;
73 
74  Geometry::ElementEditor* createEditor(const EM::SectionID&);
76  int sceneidx_;
77 
78  int getLastClickedStick() const;
79 
80  void cloneMovingNode();
81 
84 };
85 
86 
87 } // namespace MPE
88 
89 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
ObjectEditor to edit EM::Fault3D.
Definition: faulteditor.h:30
void setSceneIdx(int idx)
Definition: faulteditor.h:38
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
Coord3 scalevector_
Definition: faulteditor.h:75
Definition: faultsticksurface.h:20
Definition: geeditor.h:25
Abstraction of EM Object editing. It gives lists of which nodes that may be moved, and in what manner.
Definition: emeditor.h:47
Interface for classes that select on basis of a key.
Definition: selector.h:25
A cartesian coordinate in 3D space.
Definition: coord.h:72
int sceneidx_
Definition: faulteditor.h:76
TypeSet< Coord3 > sowinghistory_
Definition: faulteditor.h:83
static uiHor3DInterpol * create(uiParent *)
Base class for all EarthModel objects.
Definition: emobject.h:158
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
3D Fault
Definition: emfault3d.h:78
Coord3 sowingpivot_
Definition: faulteditor.h:82
Definition: arraytesselator.h:21
static void initClass()

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