OpendTect  6.6
dpsdispmgr.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: Satyaki Maitra
8  Date: Nov 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "generalmod.h"
16 #include "callback.h"
17 #include "bufstringset.h"
18 #include "color.h"
19 #include "coltabsequence.h"
20 #include "coltabmapper.h"
21 
22 class DataPointSet;
23 
37 {
38 public:
40  const ColTab::Sequence& cs,
41  const ColTab::MapperSetup& cm,int id)
42  : coltab_(cs), coltabmappersu_(cm)
43  , showsel_(false), dpscolid_(id) {}
44 
46  const BufferStringSet& nms,
47  const TypeSet<Color>& cols)
48  : selgrpnms_(nms), selgrpcols_(cols)
49  , showsel_(true), dpscolid_(-1) {}
51 
52  virtual DataPointSetDisplayProp* clone() const
53  {
54  if ( showsel_ )
55  return new DataPointSetDisplayProp( selgrpnms_, selgrpcols_ );
56  else
57  return new DataPointSetDisplayProp(coltab_,coltabmappersu_,
58  dpscolid_);
59  }
60 
61  int dpsColID() const { return dpscolid_; }
62  bool showSelected() const { return showsel_; }
63  const BufferStringSet& selGrpNames() const { return selgrpnms_; }
64  const TypeSet<Color>& selGrpColors() const { return selgrpcols_; }
65  const ColTab::Sequence& colSequence() const { return coltab_; }
67  { return coltabmappersu_; }
68 
69 virtual Color getColor( float val ) const
70 {
71  if ( showsel_ )
72  {
73  return selgrpcols_.validIdx(mNINT32(val)) ? selgrpcols_[mNINT32(val)]
74  : Color::NoColor();
75  }
76 
77  if ( mIsUdf(val) )
78  return coltab_.undefColor();
79 
80  ColTab::Mapper mapper;
81  mapper.setup_ = coltabmappersu_;
82  const float pos = mapper.position( val );
83  Color col = coltab_.color( pos );
84  col.setTransparency( (unsigned char) mNINT32(coltab_.transparencyAt(pos)) );
85  return col;
86 }
87 
88 protected:
89 
94  int dpscolid_;
95  bool showsel_;
96 };
97 
98 
104 {
105 public:
106 
107  typedef int DispID;
109  virtual void lock() = 0;
110  virtual void unLock() = 0;
111 
112  virtual bool hasDisplays() const = 0;
113  virtual DispID getDisplayID(const DataPointSet&) const = 0;
114  virtual int getNrViewers() const = 0;
115  virtual const char* getViewerName(int) const = 0;
116 
117  virtual DispID addDisplay(const TypeSet<int>& parents,
118  const DataPointSet&) = 0;
119  virtual void updateDisplay(DispID id,
120  const TypeSet<int>& parents,
121  const DataPointSet&) = 0;
122  virtual void updateDisplay(DispID id,const DataPointSet&) =0;
123  virtual void removeDisplay(DispID) = 0;
125  { return availableviewers_; }
126 
127  virtual void getIconInfo(BufferString& fnm,
128  BufferString& tootltip) const = 0;
129 
131  { return dispprop_; }
133  { delete dispprop_; dispprop_ = prop; }
134 
136  { delete dispprop_; dispprop_ = 0; }
137 
138 protected:
139 
141  : dispprop_( 0 ) {}
144 };
145 
146 
DataPointSetDisplayProp
Interface for DataPointSet Displays.
Definition: dpsdispmgr.h:37
DataPointSetDisplayMgr::getDisplayID
virtual DispID getDisplayID(const DataPointSet &) const =0
DataPointSetDisplayMgr::removeDisplay
virtual void removeDisplay(DispID)=0
DataPack::id
ID id() const
Definition: datapack.h:45
Color::NoColor
static Color NoColor()
Definition: color.h:79
DataPointSetDisplayProp::coltabmappersu_
ColTab::MapperSetup coltabmappersu_
Definition: dpsdispmgr.h:93
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
DataPointSetDisplayMgr::hasDisplays
virtual bool hasDisplays() const =0
mIsUdf
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:289
DataPointSetDisplayProp::~DataPointSetDisplayProp
virtual ~DataPointSetDisplayProp()
Definition: dpsdispmgr.h:50
ColTab::MapperSetup
Setup class for colortable Mapper.
Definition: coltabmapper.h:35
coltabmapper.h
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
DataPointSetDisplayProp::colMapperSetUp
const ColTab::MapperSetup & colMapperSetUp() const
Definition: dpsdispmgr.h:66
coltabsequence.h
DataPointSetDisplayMgr
DataPointSet display manager.
Definition: dpsdispmgr.h:104
DataPointSetDisplayProp::clone
virtual DataPointSetDisplayProp * clone() const
Definition: dpsdispmgr.h:52
DataPointSetDisplayProp::DataPointSetDisplayProp
DataPointSetDisplayProp(const ColTab::Sequence &cs, const ColTab::MapperSetup &cm, int id)
Definition: dpsdispmgr.h:39
DataPointSetDisplayMgr::DataPointSetDisplayMgr
DataPointSetDisplayMgr()
Definition: dpsdispmgr.h:140
DataPointSetDisplayProp::colSequence
const ColTab::Sequence & colSequence() const
Definition: dpsdispmgr.h:65
DataPointSetDisplayMgr::availableviewers_
TypeSet< int > availableviewers_
Definition: dpsdispmgr.h:142
DataPointSetDisplayMgr::addDisplay
virtual DispID addDisplay(const TypeSet< int > &parents, const DataPointSet &)=0
DataPointSetDisplayMgr::setDispProp
void setDispProp(DataPointSetDisplayProp *prop)
Definition: dpsdispmgr.h:132
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
ColTab::Sequence
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
Color::setTransparency
void setTransparency(unsigned char t_)
DataPointSetDisplayMgr::getIconInfo
virtual void getIconInfo(BufferString &fnm, BufferString &tootltip) const =0
DataPointSet::pos
Pos pos(RowID) const
DataPointSetDisplayProp::selgrpnms_
BufferStringSet selgrpnms_
Definition: dpsdispmgr.h:90
DataPointSetDisplayMgr::availableViewers
const TypeSet< int > & availableViewers() const
Definition: dpsdispmgr.h:124
DataPointSetDisplayMgr::dispprop_
DataPointSetDisplayProp * dispprop_
Definition: dpsdispmgr.h:143
mClass
#define mClass(module)
Definition: commondefs.h:181
ColTab::Mapper
Maps data values to colortable positions: [0,1].
Definition: coltabmapper.h:84
DataPointSetDisplayMgr::~DataPointSetDisplayMgr
virtual ~DataPointSetDisplayMgr()
Definition: dpsdispmgr.h:108
DataPointSetDisplayProp::DataPointSetDisplayProp
DataPointSetDisplayProp(const BufferStringSet &nms, const TypeSet< Color > &cols)
Definition: dpsdispmgr.h:45
DataPointSetDisplayProp::selGrpColors
const TypeSet< Color > & selGrpColors() const
Definition: dpsdispmgr.h:64
DataPointSetDisplayMgr::updateDisplay
virtual void updateDisplay(DispID id, const TypeSet< int > &parents, const DataPointSet &)=0
DataPointSetDisplayMgr::getNrViewers
virtual int getNrViewers() const =0
DataPointSetDisplayProp::dpsColID
int dpsColID() const
Definition: dpsdispmgr.h:61
DataPointSetDisplayProp::dpscolid_
int dpscolid_
Definition: dpsdispmgr.h:94
DataPointSetDisplayProp::showSelected
bool showSelected() const
Definition: dpsdispmgr.h:62
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
bufstringset.h
DataPointSetDisplayProp::showsel_
bool showsel_
Definition: dpsdispmgr.h:95
DataPointSetDisplayMgr::clearDispProp
void clearDispProp()
Definition: dpsdispmgr.h:135
DataPointSetDisplayProp::getColor
virtual Color getColor(float val) const
Definition: dpsdispmgr.h:69
DataPointSetDisplayMgr::getViewerName
virtual const char * getViewerName(int) const =0
DataPointSetDisplayMgr::dispProp
const DataPointSetDisplayProp * dispProp() const
Definition: dpsdispmgr.h:130
color.h
ColTab::Mapper::position
float position(float val) const
returns position in ColorTable
DataPointSetDisplayMgr::updateDisplay
virtual void updateDisplay(DispID id, const DataPointSet &)=0
ColTab::Mapper::setup_
MapperSetup setup_
Definition: coltabmapper.h:108
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
DataPointSetDisplayMgr::unLock
virtual void unLock()=0
DataPointSetDisplayProp::selGrpNames
const BufferStringSet & selGrpNames() const
Definition: dpsdispmgr.h:63
DataPointSetDisplayProp::selgrpcols_
TypeSet< Color > selgrpcols_
Definition: dpsdispmgr.h:91
DataPointSetDisplayMgr::DispID
int DispID
Definition: dpsdispmgr.h:107
mNINT32
#define mNINT32(x)
Definition: commondefs.h:58
DataPointSetDisplayProp::coltab_
ColTab::Sequence coltab_
Definition: dpsdispmgr.h:92
DataPointSetDisplayMgr::lock
virtual void lock()=0
TypeSet< Color >

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