OpendTect  6.3
faulteditor.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: K. Tingdahl
8  Date: January 2005
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "mpeenginemod.h"
14 #include "emeditor.h"
15 
16 namespace EM { class Fault3D; }
17 namespace Geometry { class FaultStickSurface; }
18 
19 template <class T> class Selector;
20 
21 namespace MPE
22 {
23 
28 mExpClass(MPEEngine) FaultEditor : public ObjectEditor
29 {
30 public:
32 
33  static ObjectEditor* create(EM::EMObject&);
34  static void initClass();
35 
36  void setSceneIdx(int idx) { sceneidx_ = idx; }
37 
38  void setLastClicked(const EM::PosID&);
39  void setSowingPivot(const Coord3);
40 
41 
42  void setZScale(float);
43  void setScaleVector(const Coord3& v);
45 
46  void getInteractionInfo(bool& makenewstick,
47  EM::PosID& insertpid,const Coord3& pos,
48  const Coord3* posnormal=0) const;
49 
50  bool removeSelection(const Selector<Coord3>&);
51  const EM::PosID getNearstStick(EM::SectionID& sid,
52  const Coord3& pos,
53  const Coord3* posnormal)const;
54 
55 protected:
56  float distToStick(const Geometry::FaultStickSurface&,
57  int curstick,const Coord3& pos,
58  const Coord3* posnormal) const;
59  float panelIntersectDist(const Geometry::FaultStickSurface&,
60  int sticknr,const Coord3& mousepos,
61  const Coord3& posnormal) const;
62  int getSecondKnotNr(const Geometry::FaultStickSurface&,
63  int sticknr,const Coord3& mousepos) const;
64 
65  float getNearestStick(int& stick,EM::SectionID& sid,
66  const Coord3& pos,const Coord3* posnormal) const;
67  bool getInsertStick(int& stick,EM::SectionID& sid,
68  const Coord3& pos,const Coord3* posnormal) const;
69  void getPidsOnStick( EM::PosID& insertpid,int stick,
70  const EM::SectionID&,const Coord3& pos) const;
71 
72  Geometry::ElementEditor* createEditor(const EM::SectionID&);
74  int sceneidx_;
75 
76  int getLastClickedStick() const;
77 
78  void cloneMovingNode(CallBacker*);
79 
82 };
83 
84 
85 } // namespace MPE
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
ObjectEditor to edit EM::Fault3D.
Definition: faulteditor.h:28
void setSceneIdx(int idx)
Definition: faulteditor.h:36
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:30
Coord3 scalevector_
Definition: faulteditor.h:73
Definition: faultsticksurface.h:18
Definition: geeditor.h:23
3D point or vector
Definition: commontypes.h:57
Set of (small) copyable elements.
Definition: commontypes.h:26
Abstraction of EM Object editing. It gives lists of which nodes that may be moved, and in what manner.
Definition: emeditor.h:44
Interface for classes that select on basis of a key.
Definition: selector.h:23
int sceneidx_
Definition: faulteditor.h:74
TypeSet< Coord3 > sowinghistory_
Definition: faulteditor.h:81
static uiHor3DInterpol * create(uiParent *)
Base class for all EarthModel objects.
Definition: emobject.h:117
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
3D Fault
Definition: emfault3d.h:76
Coord3 sowingpivot_
Definition: faulteditor.h:80
Definition: arraytesselator.h:19
static void initClass()

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