OpendTect  6.6
vistext.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: Kristofer Tingdahl
8  Date: 4-22-2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visosg.h"
17 #include "fontdata.h"
18 #include "visobject.h"
19 #include "position.h"
20 #include "uistring.h"
21 
22 
23 namespace osgText { class Font; }
24 
25 namespace osgGeo { class Text; }
26 
27 namespace osg { class Drawable; class Vec3f; class Geode; }
28 
29 namespace visBase
30 {
31 
33 {
34 public:
35  Text();
36  ~Text();
37 
38  enum Justification { Left, Right, Center, Top, Bottom,
40 
41  enum CharacterSizeMode { Object, Screen, ObjectWithScreenMaximum };
42 
43  enum AxisAlignment { XY, ReversedXY, XZ, ReversedXZ,
44  YZ, ReversedYZ, OnScreen, User };
45 
46  void setPosition(const osg::Vec3f&);
47  void setPosition(const Coord3&,
48  bool scenespace = false);
50 
51  void setFontData(const FontData&, float pixeldens);
52  const FontData& getFontData() const { return fontdata_; }
53 
54  void updateFontSize(float pixeldensity);
55 
56  void setText(const uiString&);
57  const uiString& getText() const { return text_; }
58 
59  void setColor(const Color&);
60  Color getColor() const;
61 
63  int getJustification() const;
64 
65  osg::Drawable& getDrawable();
66  const osg::Drawable& getDrawable() const;
67 
71 
72 protected:
76 
78 };
79 
80 
82 {
83 public:
84  virtual ~OsgFontCreator() {}
85  static osgText::Font* create(const FontData&);
86 protected:
87  static void setCreator(OsgFontCreator*);
88  virtual osgText::Font* createFont(const FontData&) = 0;
89 };
90 
91 
93 {
94 public:
95  static Text2* create()
97 
98  int nrTexts() const {return texts_.size();}
99  int addText();
100  void removeText(const Text*);
101  void removeAll();
102 
103  void setFontData(const FontData&);
104 
105  const Text* text(int idx=0) const;
106  Text* text(int idx=0);
107 
109  void setPixelDensity(float);
110  float getPixelDensity() const { return pixeldensity_;}
111 
112 protected:
115  osg::Geode* geode_;
119 };
120 
121 
122 }; // Namespace
123 
visosg.h
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visBase::Text2::displaytransform_
const visBase::Transformation * displaytransform_
Definition: vistext.h:118
visBase::Text::getJustification
int getJustification() const
visBase::Text::AxisAlignment
AxisAlignment
Definition: vistext.h:43
visBase::Text::getColor
Color getColor() const
visBase::Text::setPosition
void setPosition(const Coord3 &, bool scenespace=false)
visBase::Text::XZ
@ XZ
Definition: vistext.h:43
OD::Bottom
@ Bottom
Definition: oduicommon.h:65
uistring.h
visBase::Text2::removeAll
void removeAll()
OD::TopLeft
@ TopLeft
Definition: oduicommon.h:71
visBase::Text::getDrawable
const osg::Drawable & getDrawable() const
OD::BottomLeft
@ BottomLeft
Definition: oduicommon.h:73
visBase::Text::Top
@ Top
Definition: vistext.h:38
visBase
Definition: visannot.h:43
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
OD::BottomRight
@ BottomRight
Definition: oduicommon.h:74
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::Text::displaytrans_
const visBase::Transformation * displaytrans_
Definition: vistext.h:73
visBase::Text::YZ
@ YZ
Definition: vistext.h:44
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visBase::Text2::geode_
osg::Geode * geode_
Definition: vistext.h:115
visBase::Text::setCharacterSizeMode
void setCharacterSizeMode(CharacterSizeMode)
visBase::Text::TopRight
@ TopRight
Definition: vistext.h:39
visBase::Text
Definition: vistext.h:33
visBase::Text::getPosition
Coord3 getPosition() const
File::Text
@ Text
Definition: file.h:122
visobject.h
visBase::Text2::getPixelDensity
float getPixelDensity() const
Definition: vistext.h:110
ManagedObjectSet
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:57
visBase::Text2::setDisplayTransformation
void setDisplayTransformation(const visBase::Transformation *)
visBase::Text::Screen
@ Screen
Definition: vistext.h:41
visBase::Text2::addText
int addText()
visBase::Text::setPosition
void setPosition(const osg::Vec3f &)
visBase::Text2::setFontData
void setFontData(const FontData &)
sKey::Object
FixedString Object()
Definition: keystrs.h:112
visBase::Text::text_
uiString text_
Definition: vistext.h:75
visBase::Text::~Text
~Text()
visBase::Text::Justification
Justification
Definition: vistext.h:38
visBase::OsgFontCreator
Definition: vistext.h:82
visBase::OsgFontCreator::setCreator
static void setCreator(OsgFontCreator *)
visBase::Text::getFontData
const FontData & getFontData() const
Definition: vistext.h:52
visBase::Text2::create
static Text2 * create()
Definition: vistext.h:95
visBase::Text::CharacterSizeMode
CharacterSizeMode
Definition: vistext.h:41
position.h
visBase::Text::setText
void setText(const uiString &)
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visBase::Text::getDrawable
osg::Drawable & getDrawable()
visBase::Text2::texts_
ManagedObjectSet< Text > texts_
Definition: vistext.h:116
visBase::Text2::removeText
void removeText(const Text *)
visBase::OsgFontCreator::~OsgFontCreator
virtual ~OsgFontCreator()
Definition: vistext.h:84
visBase::Text2::translationChangeCB
void translationChangeCB(CallBacker *)
visBase::VisualObjectImpl
Definition: visobject.h:72
visBase::Text::setFontData
void setFontData(const FontData &, float pixeldens)
visBase::Text2::~Text2
~Text2()
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
visBase::OsgFontCreator::create
static osgText::Font * create(const FontData &)
visBase::Text2::pixeldensity_
float pixeldensity_
Definition: vistext.h:117
osgGeo
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:38
visBase::Text2::text
Text * text(int idx=0)
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
visBase::Text2::setPixelDensity
void setPixelDensity(float)
visBase::Text::setAxisAlignment
void setAxisAlignment(AxisAlignment)
fontdata.h
visBase::Text::setColor
void setColor(const Color &)
FontData
Data needed to make an actual font.
Definition: fontdata.h:20
osgText
Definition: vistext.h:23
visBase::Text2::text
const Text * text(int idx=0) const
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visBase::OsgFontCreator::createFont
virtual osgText::Font * createFont(const FontData &)=0
visBase::Text::setJustification
void setJustification(Justification)
visBase::Text::getText
const uiString & getText() const
Definition: vistext.h:57
OD::Right
@ Right
Definition: oduicommon.h:64
visBase::Text::setDisplayTransformation
void setDisplayTransformation(const visBase::Transformation *)
OD::Left
@ Left
Definition: oduicommon.h:63
visBase::Text2
Definition: vistext.h:93
visBase::Text::osgtext_
osgGeo::Text * osgtext_
Definition: vistext.h:74
visBase::Text::Text
Text()
visBase::Text::updateFontSize
void updateFontSize(float pixeldensity)
visBase::Text::fontdata_
FontData fontdata_
Definition: vistext.h:77
Repos::User
@ User
Definition: repos.h:24

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