OpendTect  6.6
visannot.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: Kris Tingdahl
8  Date: Jan 2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visosg.h"
17 #include "visobject.h"
18 #include "color.h"
19 #include "trckeyzsampling.h"
20 #include "position.h"
21 #include "sets.h"
22 
23 class AxisInfo;
24 class FontData;
25 class Color;
26 class uiString;
27 
28 namespace osg
29 {
30  class Geode;
31  class Array;
32  class Group;
33  class Geometry;
34  class Vec3f;
35 }
36 
37 namespace osgGeo
38 {
39  class OneSideRender;
40 }
41 
42 namespace visBase
43 {
44 class Text2;
45 class DataObjectGroup;
46 
53 {
54 public:
55  static Annotation* create()
57 
58  void showText(bool yn);
59  bool isTextShown() const;
60 
61  void showScale(bool yn);
62  bool isScaleShown() const;
63 
64  bool canShowGridLines() const;
65  void showGridLines(bool yn);
66  bool isGridLinesShown() const;
67 
68  const FontData& getFont() const;
69  void setFont(const FontData&);
70 
71  void setTrcKeyZSampling(const TrcKeyZSampling&);
72  const TrcKeyZSampling& getTrcKeyZSampling() const;
73  void setScale(const TrcKeyZSampling&);
74  /*<! TrcKeyZSampling(false) as input takes default
75  axis scale of survey box instead */
76  const TrcKeyZSampling& getScale() const;
77 
78  void setScaleFactor(int dim,int scale);
79 
80  void setText(int dim,const uiString&);
81  void fillPar(IOPar&) const;
82  bool usePar(const IOPar&);
83 
84  void setDisplayTransformation(const mVisTrans*);
85  const mVisTrans* getDisplayTransformation() const
86  { return displaytrans_; }
87  virtual void setPixelDensity(float);
88  const Text2* getAnnotTexts() const { return axisannot_; }
89 
90 
91  void setScene(Scene*);
92  void allowShading(bool yn) { allowshading_=yn; }
93 private:
96  void initGridLines();
98  void updateTextPos();
100  void getAxisCoords(int,osg::Vec3f&,osg::Vec3f&) const;
101  void setCorner( int, float, float, float );
102 
103  int scalefactor_[3];
104 
109  osg::Array* gridlinecoords_;
110  osg::Geode* geode_;
111  osgGeo::OneSideRender* gridlines_;
115 
117 
120 
121  static const char* textprefixstr();
122  static const char* cornerprefixstr();
123  static const char* showtextstr();
124  static const char* showscalestr();
125 };
126 
127 } // namespace visBase
128 
visosg.h
visBase::Annotation::cornerprefixstr
static const char * cornerprefixstr()
visBase::Annotation::showtextstr
static const char * showtextstr()
visBase::Annotation::axisannot_
RefMan< Text2 > axisannot_
Definition: visannot.h:113
Geometry
Definition: arraytesselator.h:21
visBase
Definition: visannot.h:43
visBase::Annotation::textprefixstr
static const char * textprefixstr()
visBase::Annotation::axisnames_
RefMan< Text2 > axisnames_
Definition: visannot.h:112
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
sKey::Geometry
FixedString Geometry()
Definition: keystrs.h:72
osg
Open Scene Graph.
Definition: visannot.h:29
usePar
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
visBase::Annotation::firstTraversal
void firstTraversal(CallBacker *)
visBase::Annotation::initGridLines
void initGridLines()
visBase::Annotation::setCorner
void setCorner(int, float, float, float)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visobject.h
visBase::Annotation::~Annotation
~Annotation()
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
visBase::Annotation::annotcolor_
Color annotcolor_
Definition: visannot.h:118
visBase::Annotation::gridlines_
osgGeo::OneSideRender * gridlines_
Definition: visannot.h:111
visBase::DataObjectGroup
Definition: visdatagroup.h:27
visBase::Annotation::updateGridLines
void updateGridLines()
visBase::Annotation::getAxisCoords
void getAxisCoords(int, osg::Vec3f &, osg::Vec3f &) const
visBase::Annotation::updateTextPos
void updateTextPos()
trckeyzsampling.h
visBase::Annotation::scale_
TrcKeyZSampling scale_
Definition: visannot.h:107
visBase::Annotation::scene_
visBase::Scene * scene_
Definition: visannot.h:114
visBase::Annotation::setPixelDensity
virtual void setPixelDensity(float)
visBase::Annotation::displaytrans_
const visBase::Transformation * displaytrans_
Definition: visannot.h:116
visBase::Annotation::getAnnotTexts
const Text2 * getAnnotTexts() const
Definition: visannot.h:88
position.h
fillPar
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:174
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visBase::VisualObjectImpl
Definition: visobject.h:72
visBase::Annotation::setScene
void setScene(Scene *)
visBase::Annotation::allowshading_
bool allowshading_
Definition: visannot.h:119
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
visBase::Annotation::allowShading
void allowShading(bool yn)
Definition: visannot.h:92
visBase::Annotation
Annotation is a simple wireframe box with text on its axis.
Definition: visannot.h:53
osgGeo
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:38
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
visBase::Annotation::tkzsdefaultscale_
TrcKeyZSampling tkzsdefaultscale_
Definition: visannot.h:106
color.h
visBase::Annotation::box_
osg::Geometry * box_
Definition: visannot.h:108
FontData
Data needed to make an actual font.
Definition: fontdata.h:20
visBase::Annotation::showscalestr
static const char * showscalestr()
visBase::Annotation::geode_
osg::Geode * geode_
Definition: visannot.h:110
sets.h
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visBase::Annotation::tkzs_
TrcKeyZSampling tkzs_
Definition: visannot.h:105
visBase::Annotation::updateTextColor
void updateTextColor(CallBacker *)
visBase::Annotation::gridlinecoords_
osg::Array * gridlinecoords_
Definition: visannot.h:109
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visBase::Text2
Definition: vistext.h:93
visBase::Scene
Scene manages all DataObjects and has some managing functions such as the selection management and va...
Definition: visscene.h:40
RefMan
Definition: ptrman.h:206
visBase::Annotation::create
static Annotation * create()
Definition: visannot.h:55

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