OpendTect  6.6
basemap.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: Sep 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "draw.h"
16 #include "namedobj.h"
17 #include "threadlock.h"
18 
19 namespace OD { class RGBImage; }
20 
21 class MarkerStyle2D;
22 class MouseEvent;
23 class TaskRunner;
24 template <class T> class ODPolygon;
25 
30 {
31 public:
32 
34 
35  BaseMapObject(const char* nm);
37 
38  int ID() const { return id_; }
39 
41  virtual void updateGeometry() {}
42 
43  virtual void setType(const char* tp) { typenm_ = tp;}
44  virtual const char* getType() const { return typenm_; }
45 
46  virtual void setDepth(int val);
47  virtual int getDepth() const { return depth_; }
51  virtual int nrShapes() const;
52  virtual const char* getShapeName(int shapeidx) const;
53  virtual void getPoints(int shapeidx,TypeSet<Coord>&) const;
56  virtual bool getBoundingBox(BoundingBox&) const;
57  virtual Coord getTextPos(int shapeidx) const;
58  virtual Alignment getAlignment(int shapeidx) const;
59  virtual float getTextRotation() const { return 0; }
60  virtual Color getColor() const;
61 
62  virtual void setMarkerStyle(int idx,const MarkerStyle2D&) {}
63  virtual const MarkerStyle2D* getMarkerStyle(int shapeidx) const { return 0;}
64  virtual BufferString getImageFileName(int idx) const { return ""; }
65  virtual void getXYScale(int idx,float& scx,float& scy) const
66  { scx = scy = 1.f; }
67  virtual void setXYScale(int idx,float scx,float scy) {}
68 
69  virtual void setLineStyle(int idx,const OD::LineStyle&) {}
70  virtual const OD::LineStyle* getLineStyle(int shapeidx) const { return 0; }
71 
72  virtual void setFillColor(int idx,const Color&) {}
73  virtual const Color getFillColor(int idx) const
74  { return Color::NoColor();}
75 
76  virtual bool fill(int shapeidx) const { return false;}
77  virtual bool close(int shapeidx) const { return false;}
78  virtual bool multicolor( int shapeidx ) const
79  { return false; }
80 
81  virtual void setImage(int idx,OD::RGBImage*) {}
82  virtual const OD::RGBImage* getImage(int shapeidx) const { return 0;}
83 
84  virtual const OD::RGBImage* createImage(Coord& origin,Coord& p11) const;
88  virtual const OD::RGBImage* createPreview(int approxdiagonal) const;
92  virtual bool allowHoverEvent(int) const { return true; }
93 
94  virtual bool canRemoveWithPolygon() const { return false; }
95  virtual void removeWithPolygon(const ODPolygon<double>&) {}
96 
97  virtual void getMousePosInfo(Coord3&,TrcKey&,float& val,
98  BufferString& info) const {}
99 
100  virtual bool fillPar(IOPar&) const;
101  virtual bool usePar(const IOPar&,TaskRunner* taskr=0);
102 
109 
110 protected:
111  int depth_;
112  int id_;
114 };
115 
116 
119 {
120 public:
121 
122  virtual void addObject(BaseMapObject*) = 0;
126  virtual void removeObject(const BaseMapObject*) = 0;
127 
128 };
129 
130 
BaseMapObject::nameChanged
CNotifier< BaseMapObject, BufferString > nameChanged
Definition: basemap.h:108
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
OD::LineStyle
Definition: draw.h:118
ODPolygon
(Closed) sequence of connected 2-D coordinates.
Definition: polygon.h:27
BaseMapObject::getTextRotation
virtual float getTextRotation() const
Definition: basemap.h:59
BaseMapObject::setImage
virtual void setImage(int idx, OD::RGBImage *)
Definition: basemap.h:81
BaseMapObject::setFillColor
virtual void setFillColor(int idx, const Color &)
Definition: basemap.h:72
BaseMapObject::getImageFileName
virtual BufferString getImageFileName(int idx) const
Definition: basemap.h:64
NamedCallBacker
CallBacker object with a name. Use if you want your object to be able to send and receive CallBack's,...
Definition: namedobj.h:72
Color::NoColor
static Color NoColor()
Definition: color.h:79
BaseMapObject::~BaseMapObject
~BaseMapObject()
BaseMapObject::allowHoverEvent
virtual bool allowHoverEvent(int) const
Definition: basemap.h:92
BaseMapObject::typenm_
BufferString typenm_
Definition: basemap.h:113
BaseMapObject::getXYScale
virtual void getXYScale(int idx, float &scx, float &scy) const
Definition: basemap.h:65
BaseMapObject
Definition: basemap.h:30
BaseMapObject::createImage
virtual const OD::RGBImage * createImage(Coord &origin, Coord &p11) const
OD
OpendTect.
Definition: commontypes.h:28
BaseMapObject::getFillColor
virtual const Color getFillColor(int idx) const
Definition: basemap.h:73
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
BaseMapObject::id_
int id_
Definition: basemap.h:112
namedobj.h
BaseMapObject::canRemoveWithPolygon
virtual bool canRemoveWithPolygon() const
Definition: basemap.h:94
BaseMapObject::setLineStyle
virtual void setLineStyle(int idx, const OD::LineStyle &)
Definition: basemap.h:69
BaseMapObject::getDepth
virtual int getDepth() const
Definition: basemap.h:47
BaseMap
Definition: basemap.h:119
OD::RGBImage
Class for Red, Green, Blue image.
Definition: odimage.h:28
BaseMapObject::usePar
virtual bool usePar(const IOPar &, TaskRunner *taskr=0)
BaseMapObject::getLineStyle
virtual const OD::LineStyle * getLineStyle(int shapeidx) const
Definition: basemap.h:70
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
BaseMapObject::getType
virtual const char * getType() const
Definition: basemap.h:44
BaseMapObject::multicolor
virtual bool multicolor(int shapeidx) const
Definition: basemap.h:78
BaseMapObject::setXYScale
virtual void setXYScale(int idx, float scx, float scy)
Definition: basemap.h:67
BaseMapObject::createPreview
virtual const OD::RGBImage * createPreview(int approxdiagonal) const
BaseMapObject::nrShapes
virtual int nrShapes() const
BaseMapObject::getMarkerStyle
virtual const MarkerStyle2D * getMarkerStyle(int shapeidx) const
Definition: basemap.h:63
Geom::PosRectangle< double >
BaseMapObject::BaseMapObject
BaseMapObject(const char *nm)
BaseMapObject::getBoundingBox
virtual bool getBoundingBox(BoundingBox &) const
BaseMapObject::setDepth
virtual void setDepth(int val)
BaseMapObject::getColor
virtual Color getColor() const
TaskRunner
Class that can execute a task.
Definition: task.h:170
Notifier< BaseMapObject >
BaseMapObject::close
virtual bool close(int shapeidx) const
Definition: basemap.h:77
BaseMapObject::fillPar
virtual bool fillPar(IOPar &) const
draw.h
BaseMapObject::lock_
Threads::Lock lock_
Definition: basemap.h:40
BaseMapObject::stylechanged
Notifier< BaseMapObject > stylechanged
Definition: basemap.h:106
MarkerStyle2D
Definition: draw.h:60
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
BaseMapObject::getMousePosInfo
virtual void getMousePosInfo(Coord3 &, TrcKey &, float &val, BufferString &info) const
Definition: basemap.h:97
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
BaseMapObject::getShapeName
virtual const char * getShapeName(int shapeidx) const
BaseMapObject::getImage
virtual const OD::RGBImage * getImage(int shapeidx) const
Definition: basemap.h:82
BaseMap::addObject
virtual void addObject(BaseMapObject *)=0
BaseMapObject::setType
virtual void setType(const char *tp)
Definition: basemap.h:43
BaseMap::removeObject
virtual void removeObject(const BaseMapObject *)=0
threadlock.h
BaseMapObject::leftClicked
CNotifier< BaseMapObject, const MouseEvent & > leftClicked
Definition: basemap.h:103
BaseMapObject::zvalueChanged
Notifier< BaseMapObject > zvalueChanged
Definition: basemap.h:107
BaseMapObject::setMarkerStyle
virtual void setMarkerStyle(int idx, const MarkerStyle2D &)
Definition: basemap.h:62
BaseMapObject::getTextPos
virtual Coord getTextPos(int shapeidx) const
BaseMapObject::rightClicked
CNotifier< BaseMapObject, const MouseEvent & > rightClicked
Definition: basemap.h:104
BaseMapObject::removeWithPolygon
virtual void removeWithPolygon(const ODPolygon< double > &)
Definition: basemap.h:95
BaseMapObject::changed
Notifier< BaseMapObject > changed
Definition: basemap.h:105
BaseMapObject::fill
virtual bool fill(int shapeidx) const
Definition: basemap.h:76
MouseEvent
Definition: mouseevent.h:73
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
BaseMapObject::updateGeometry
virtual void updateGeometry()
Definition: basemap.h:41
BaseMapObject::depth_
int depth_
Definition: basemap.h:111
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
Alignment
Definition: draw.h:21
CNotifier< BaseMapObject, const MouseEvent & >
BaseMapObject::ID
int ID() const
Definition: basemap.h:38
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
BaseMapObject::getPoints
virtual void getPoints(int shapeidx, TypeSet< Coord > &) const
BaseMapObject::getAlignment
virtual Alignment getAlignment(int shapeidx) const
BaseMapObject::BoundingBox
Geom::PosRectangle< double > BoundingBox
Definition: basemap.h:33
TypeSet< Coord >

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