OpendTect  6.6
vistexturecoords.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-11-2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visdata.h"
17 #include "positionlist.h"
18 #include "threadlock.h"
19 #include "viscoord.h"
20 
21 
22 
23 namespace visBase
24 {
25 
26 
28 {
29 public:
32  void copyFrom(const TextureCoords&);
33  int size(bool includedeleted=false) const;
34  void setCoord(int idx,const Coord3&);
35  void setCoord(int idx,const Coord&);
36  int addCoord(const Coord3&);
37  int addCoord(const Coord&);
38  Coord3 getCoord(int) const;
39  void setPositions(const Coord*,int sz,int start);
40  void clear();
41  int nextID(int previd) const;
42  void removeCoord(int);
43  bool isEmpty() const { return size()==0; }
44 
45  osg::Array* osgArray() { return osgcoords_; }
46  const osg::Array* osgArray() const { return osgcoords_; }
47 
48 protected:
50 
52  void setPosWithoutLock(int,const Coord&);
57 
58  osg::Array* osgcoords_;
60 };
61 
62 
64 {
65 public:
67 
68  int nextID(int previd) const;
69  Coord3 get(int id) const;
70  bool isDefined(int id) const;
71  void set(int id,const Coord3&);
72  int add(const Coord3&);
73  void remove(int id);
74  int size() const { return texturecoords_.size(); }
75  void addValue(int,const Coord3&);
76  void remove(const TypeSet<int>&);
77  TextureCoords* getTextureCoords() { return &texturecoords_; }
78 
79 protected:
81 
83 };
84 
85 }; //namespace
86 
visBase::TextureCoords::lock_
Threads::Lock lock_
Definition: vistexturecoords.h:59
visBase::TextureCoordListAdapter::isDefined
bool isDefined(int id) const
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visBase::TextureCoords::osgArray
osg::Array * osgArray()
Definition: vistexturecoords.h:45
visBase::TextureCoords::searchFreeIdx
int searchFreeIdx()
visBase::TextureCoords::setPosWithoutLock
void setPosWithoutLock(int, const Coord &)
visBase::TextureCoords::osgcoords_
osg::Array * osgcoords_
Definition: vistexturecoords.h:58
visBase::TextureCoordListAdapter::size
int size() const
Definition: vistexturecoords.h:74
visBase
Definition: visannot.h:43
visBase::TextureCoords::lastsearchedidx_
int lastsearchedidx_
Definition: vistexturecoords.h:55
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
viscoord.h
visBase::TextureCoordListAdapter::remove
void remove(int id)
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::TextureCoords::~TextureCoords
~TextureCoords()
visBase::TextureCoordListAdapter::~TextureCoordListAdapter
~TextureCoordListAdapter()
visBase::TextureCoordListAdapter
Definition: vistexturecoords.h:64
visBase::TextureCoordListAdapter::TextureCoordListAdapter
TextureCoordListAdapter(TextureCoords &)
isEmpty
bool isEmpty(const NLAModel *mdl)
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
visBase::TextureCoordListAdapter::add
int add(const Coord3 &)
Return new id, or -1 if unsuccessful.
visBase::TextureCoords::nrfreecoords_
int nrfreecoords_
Definition: vistexturecoords.h:56
visBase::TextureCoordListAdapter::set
void set(int id, const Coord3 &)
visBase::TextureCoords::osgArray
const osg::Array * osgArray() const
Definition: vistexturecoords.h:46
visBase::TextureCoordListAdapter::get
Coord3 get(int id) const
visBase::TextureCoordListAdapter::addValue
void addValue(int, const Coord3 &)
Adds value to existing value at id.
visBase::TextureCoordListAdapter::texturecoords_
TextureCoords & texturecoords_
Definition: vistexturecoords.h:82
visBase::TextureCoordListAdapter::getTextureCoords
TextureCoords * getTextureCoords()
Definition: vistexturecoords.h:77
visdata.h
visBase::TextureCoordListAdapter::nextID
int nextID(int previd) const
positionlist.h
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
threadlock.h
visBase::TextureCoords::create
static TextureCoords * create()
Definition: vistexturecoords.h:30
visBase::TextureCoordListAdapter::remove
void remove(const TypeSet< int > &)
May contain duplicates.
Coord3List
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:72
visBase::TextureCoords
Definition: vistexturecoords.h:28
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
StrmOper::clear
void clear(std::ios &)
TypeSet< int >

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