OpendTect  6.6
plugins/Annotations/visscalebar.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: N. Hemstra
8  Date: January 2005
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "vislocationdisplay.h"
16 
17 namespace visBase { class DrawStyle; class IndexedPolyLine; class Marker; }
18 
19 namespace Annotations
20 {
21 
27 {
28 public:
29  static ScaleBar* create()
31 
32  void setPick(const Pick::Location&);
33  void setDisplayTransformation(const mVisTrans*);
34  void setLineWidth(int);
35  void setLength(double);
36  void setOnInlCrl(bool);
37  void setOrientation(int);
38 
39 protected:
41 
42  Coord3 getSecondPos(const Pick::Location&) const;
43  void updateVis(const Pick::Location&);
44 
45  visBase::Marker* marker1_;
46  visBase::Marker* marker2_;
47  visBase::IndexedPolyLine* polyline_;
48  visBase::DrawStyle* linestyle_;
49  const mVisTrans* displaytrans_;
50 
51  bool oninlcrl_;
52  double length_;
53  int orientation_;
54  Pick::Location& firstloc_;
55 };
56 
61 mClass(Annotations) ScaleBarDisplay : public visSurvey::LocationDisplay
62 {
63 public:
67 
68  void setScene(visSurvey::Scene*);
69 
70  void setOnInlCrl(bool);
71  bool isOnInlCrl() const;
72  void setOrientation(int);
73  int getOrientation() const;
74 
75  void setLineWidth(int);
76  int getLineWidth() const;
77  void setLength(double);
78  double getLength() const;
79 
80  void fromPar(const IOPar&);
81  void toPar(IOPar&) const;
82 
83 protected:
84 
85  void zScaleCB(CallBacker*);
86  void dispChg(CallBacker*);
87  visBase::VisualObject* createLocation() const;
88  void setPosition(int,const Pick::Location&);
89  int isMarkerClick(const TypeSet<int>&) const;
90  bool hasDirection() const { return false; }
91 
92  bool oninlcrl_;
95  double length_;
96 };
97 
98 
99 } // namespace Annotations
100 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Annotations::ScaleBar::create
static ScaleBar * create() mCreateDataObj(ScaleBar)
Annotations
Definition: treeitem.h:21
vislocationdisplay.h
visBase
Definition: visannot.h:43
Annotations::ScaleBarDisplay::length_
double length_
Definition: plugins/Annotations/visscalebar.h:95
Pick
Definition: picklocation.h:21
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Annotations::ScaleBar
ScaleBar base object.
Definition: plugins/Annotations/visscalebar.h:27
Annotations::ScaleBarDisplay
ScaleBar Display.
Definition: plugins/Annotations/visscalebar.h:62
mClass
#define mClass(module)
Definition: commondefs.h:181
Annotations::ScaleBarDisplay::linewidth_
int linewidth_
Definition: plugins/Annotations/visscalebar.h:94
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visBase::VisualObjectImpl
Definition: visobject.h:72
sKey::Marker
FixedString Marker()
Definition: keystrs.h:98
Annotations::ScaleBarDisplay::oninlcrl_
bool oninlcrl_
Definition: plugins/Annotations/visscalebar.h:92
Annotations::ScaleBarDisplay::create
static ScaleBarDisplay * create() mCreateDataObj(ScaleBarDisplay)
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
Annotations::ScaleBarDisplay::orientation_
int orientation_
Definition: plugins/Annotations/visscalebar.h:93
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
TypeSet
Sets of (small) copyable elements.
Definition: commontypes.h:29

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