OpendTect  6.6
viscallout.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 
18 namespace visBase
19 {
20  class Rotation;
21  class Anchor;
22  class TextBox;
23  class Dragger;
24  class FaceSet;
25  class RotationDragger;
26  class TriangleStripSet;
27 };
28 
29 namespace Annotations
30 {
31 
37 {
38 public:
41 
42  void setScale(float);
43  float getScale() const;
44 
45  void setBoxColor(const Color&);
46  const Color& getBoxColor() const;
47 
48  void setDisplayTransformation(const mVisTrans*);
49 
50  static const char* sKeyText() { return "T"; }
51  static const char* sKeyURL() { return "U"; }
52 
53 protected:
55 
56  void showManipulator(bool);
57  bool isManipulatorShown() const;
58  void setPosition(int loc,const Pick::Location& );
59  bool hasDirection() const { return true; }
60  bool hasText() const { return true; }
61  int isMarkerClick(const TypeSet<int>&) const;
62 
64  float scale_;
70 
74 };
75 
76 
78 {
79 public:
80  static Callout* create()
82 
83  Sphere getDirection() const;
84  Notifier<Callout> moved;
85  NotifierAccess& urlClick();
86  const CallBacker* getAnchor() const;
87 
88  void setPick(const Pick::Location&);
89  void setTextSize(float ns);
90  void setFeedbackMaterial(visBase::Material*);
91  void setActiveFeedbackMaterial(visBase::Material*);
92  void setMarkerMaterial(visBase::Material*);
93  void setBoxMaterial(visBase::Material*);
94  void setTextMaterial(visBase::Material*);
95  void setZScale(float s) { zscale_ = s; }
97  visBase::Transformation* getScale() { return scale_; }
98  void reportChangedScale() { updateArrow(); }
99 
100  void displayMarker(bool);
102  bool isMarkerDisplayed() const;
104  int getMarkerID() const;
105 
106 protected:
108  void updateCoords();
109  void updateArrow();
110  void setText(const char*);
115 
117 
118  visBase::Marker* marker_; //In normal space
119 
120  visBase::Transformation* object2display_; //Trans to object space
121  visBase::Rotation* rotation_;
123 
125  visBase::Anchor* anchor_;
126  visBase::TextBox* fronttext_;
127  visBase::FaceSet* faceset_;
129 
130  visBase::RotationDragger* rotdragger_;
133 
138 
139  visBase::Rotation* backtextrotation_; //In backtext space
140  visBase::TextBox* backtext_;
141 
143  float zscale_;
144 
145 };
146 
147 
148 
149 } // namespace
150 
Annotations::Callout::object2display_
visBase::Transformation * object2display_
Definition: viscallout.h:120
Annotations::Callout::rotfeedbackactive_
visBase::TriangleStripSet * rotfeedbackactive_
Definition: viscallout.h:132
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Annotations::Callout::dragStop
void dragStop(CallBacker *)
Annotations
Definition: treeitem.h:21
Annotations::CalloutDisplay
Callout.
Definition: viscallout.h:37
Annotations::Callout::dragstarttextpos_
Coord3 dragstarttextpos_
Definition: viscallout.h:136
vislocationdisplay.h
Annotations::Callout::updateArrow
void updateArrow()
visBase
Definition: visannot.h:43
visSurvey::LocationDisplay
Used for displaying picksets of varying types. The class is not intended for standalone usage,...
Definition: vislocationdisplay.h:38
Annotations::Callout::rotation_
visBase::Rotation * rotation_
Definition: viscallout.h:121
Annotations::CalloutDisplay::setPosition
void setPosition(int loc, const Pick::Location &)
Pick
Definition: picklocation.h:21
Annotations::CalloutDisplay::isMarkerClick
int isMarkerClick(const TypeSet< int > &) const
Annotations::CalloutDisplay::setScene
void setScene(visSurvey::Scene *)
visBase::DataObject
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:63
visBase::VisualObject
Definition: visobject.h:37
Annotations::CalloutDisplay::sKeyURL
static const char * sKeyURL()
Definition: viscallout.h:51
Annotations::Callout::rotfeedbackradius_
float rotfeedbackradius_
Definition: viscallout.h:134
Annotations::Callout::calloutoffset_
visBase::PolygonOffset * calloutoffset_
Definition: viscallout.h:124
Annotations::CalloutDisplay::activedraggermaterial_
visBase::Material * activedraggermaterial_
Definition: viscallout.h:73
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Annotations::CalloutDisplay::setScaleTransform
void setScaleTransform(visBase::DataObject *) const
Annotations::Callout::rotfeedback_
visBase::TriangleStripSet * rotfeedback_
Definition: viscallout.h:131
Annotations::CalloutDisplay::urlClickCB
void urlClickCB(CallBacker *)
Annotations::Callout::getScale
visBase::Transformation * getScale()
Definition: viscallout.h:97
Annotations::CalloutDisplay::directionChangeCB
void directionChangeCB(CallBacker *)
Annotations::Callout::setupRotFeedback
void setupRotFeedback()
Annotations::Callout::create
static Callout * create() mCreateDataObj(Callout)
Annotations::Callout::setScale
void setScale(visBase::Transformation *)
Annotations::Callout::isdragging_
bool isdragging_
Definition: viscallout.h:142
Annotations::CalloutDisplay::hasText
bool hasText() const
Definition: viscallout.h:60
Annotations::Callout::setText
void setText(const char *)
visBase::Dragger
Definition: visdragger.h:78
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
mClass
#define mClass(module)
Definition: commondefs.h:181
Annotations::CalloutDisplay::zScaleChangeCB
void zScaleChangeCB(CallBacker *)
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
Annotations::Callout::anchor_
visBase::Anchor * anchor_
Definition: viscallout.h:125
visSurvey::Scene
Database for 3D objects.
Definition: vissurvscene.h:76
Annotations::CalloutDisplay::hasDirection
bool hasDirection() const
Definition: viscallout.h:59
Annotations::Callout::backtext_
visBase::TextBox * backtext_
Definition: viscallout.h:140
visBase::Material
Definition: vismaterial.h:37
Annotations::Callout::dragStart
void dragStart(CallBacker *)
Annotations::Callout::reportChangedScale
void reportChangedScale()
Definition: viscallout.h:98
Pick::Location
Pick location in space,.
Definition: picklocation.h:46
Annotations::Callout::zscale_
float zscale_
Definition: viscallout.h:143
Annotations::Callout::backtextrotation_
visBase::Rotation * backtextrotation_
Definition: viscallout.h:139
Annotations::CalloutDisplay::scale_
float scale_
Definition: viscallout.h:64
Annotations::Callout::rotfeedbackpos_
Coord3 rotfeedbackpos_
Definition: viscallout.h:135
Annotations::Callout
Definition: viscallout.h:78
mVisTrans
#define mVisTrans
Definition: visdata.h:28
Annotations::Callout::updateCoords
void updateCoords()
Annotations::Callout::displaytrans_
const mVisTrans * displaytrans_
Definition: viscallout.h:116
Annotations::Callout::scale_
visBase::Transformation * scale_
Definition: viscallout.h:122
visBase::VisualObjectImpl
Definition: visobject.h:72
visBase::PolygonOffset
Definition: vispolygonoffset.h:25
sKey::Marker
FixedString Marker()
Definition: keystrs.h:98
Annotations::Callout::translationdragger_
visBase::Dragger * translationdragger_
Definition: viscallout.h:128
visBase::TriangleStripSet
Definition: vistristripset.h:22
Annotations::Callout::dragChanged
void dragChanged(CallBacker *)
Annotations::Callout::faceset_
visBase::FaceSet * faceset_
Definition: viscallout.h:127
Annotations::CalloutDisplay::textmaterial_
visBase::Material * textmaterial_
Definition: viscallout.h:72
Annotations::Callout::dragstartdraggerpos_
Coord3 dragstartdraggerpos_
Definition: viscallout.h:137
Annotations::Callout::setDisplayTransformation
void setDisplayTransformation(const mVisTrans *)
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
Annotations::Callout::rotdragger_
visBase::RotationDragger * rotdragger_
Definition: viscallout.h:130
Annotations::Callout::displayMarker
void displayMarker(bool)
Aslo controls the draggers. *‍/.
Annotations::CalloutDisplay::boxmaterial_
visBase::Material * boxmaterial_
Definition: viscallout.h:71
visBase::Transformation
The Transformation is an object that transforms everything following the node.
Definition: vistransform.h:74
Annotations::CalloutDisplay::createLocation
visBase::VisualObject * createLocation() const
Annotations::CalloutDisplay::showManipulator
void showManipulator(bool)
Sphere
Represents a point in spherical coordinates. The angle phi lies in the horizontal plane,...
Definition: trigonometry.h:582
Annotations::Callout::~Callout
~Callout()
Annotations::Callout::getMarkerID
int getMarkerID() const
Annotations::CalloutDisplay::~CalloutDisplay
~CalloutDisplay()
Annotations::CalloutDisplay::isManipulatorShown
bool isManipulatorShown() const
Annotations::Callout::fronttext_
visBase::TextBox * fronttext_
Definition: viscallout.h:126
Annotations::Callout::isMarkerDisplayed
bool isMarkerDisplayed() const
Annotations::CalloutDisplay::create
static CalloutDisplay * create() mCreateDataObj(CalloutDisplay)
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
Annotations::Callout::marker_
visBase::Marker * marker_
Definition: viscallout.h:118
TypeSet< int >

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