OpendTect  6.3
positionlist.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: A.H. Bril
8  Date: Jan 2003
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "algomod.h"
14 #include "refcount.h"
15 #include "position.h"
16 #include "typeset.h"
17 
22 mExpClass(Algo) FloatVertexAttribList : public RefCount::Referenced
23 {
24 public:
25 
26 
27  virtual int size() const = 0;
28  virtual bool setSize(int,bool cpdata) = 0;
29 
30  virtual void setCoord(int,const float*) = 0;
31  virtual void getCoord(int,float*) const = 0;
32 
33  virtual void setNormal(int,const float*) = 0;
34  virtual void getNormal(int,float*) const = 0;
35 
36  virtual void setTCoord(int,const float*) = 0;
37  virtual void getTCoord(int,float*) const = 0;
38 
39 protected:
41 };
42 
43 
46 mExpClass(Algo) Coord2List : public RefCount::Referenced
47 {
48 public:
49 
50  virtual int nextID(int previd) const = 0;
53  virtual Coord get(int id) const = 0;
54  virtual void set(int id,const Coord&) = 0;
55  virtual int add(const Coord&) = 0;
57  virtual void addValue(int id,const Coord&) = 0;
59  virtual void remove(int id) = 0;
60  virtual void remove(const TypeSet<int>&) = 0;
61  virtual int size() const = 0;
62 
63  Coord center() const;
64 };
65 
66 
67 
70 mExpClass(Algo) Coord3List : public RefCount::Referenced
71 {
72 public:
73 
74  virtual int nextID(int previd) const = 0;
77  virtual int add(const Coord3&) = 0;
79  virtual Coord3 get(int id) const = 0;
80  virtual bool isDefined(int id) const = 0;
81  virtual void set(int id,const Coord3&) = 0;
82  virtual void addValue(int id,const Coord3&) = 0;
84  virtual void remove(int id) = 0;
85  virtual void remove(const TypeSet<int>&) = 0;
87  virtual int size() const = 0;
88 
89  Coord3 center() const;
90 };
91 
92 
98 {
99 public:
100 
101  Coord2ListImpl();
102 
103  virtual int nextID(int previd) const;
104  virtual Coord get(int id) const;
105  virtual void set(int id,const Coord&);
106  virtual int add(const Coord&);
107  virtual void remove(int id);
108  virtual void remove(const TypeSet<int>&);
109  virtual void addValue(int id,const Coord&);
110  virtual int size() const
111  { return points_.size() - removedids_.size(); }
112 
113 protected:
114 
117 };
118 
119 
125 {
126 public:
127  Coord3ListImpl();
128 
129  virtual int nextID(int previd) const;
130  virtual Coord3 get(int id) const;
131  virtual void set(int id,const Coord3&);
132  virtual int add(const Coord3&);
133  virtual bool isDefined(int) const;
134  virtual void remove(int id);
135  virtual void addValue(int id,const Coord3&);
136  virtual void remove(const TypeSet<int>&);
137  virtual int size() const
138  { return coords_.size() - removedids_.size(); }
139 
140 protected:
141 
144 };
#define mExpClass(module)
Definition: commondefs.h:157
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:70
virtual int size() const
Definition: positionlist.h:137
Interface for a list of Coords with automatically maintained IDs.
Definition: positionlist.h:46
Base class for vertex attribute list.
Definition: positionlist.h:22
A list of Coord3 where each coord has a unique id.
Definition: positionlist.h:124
virtual int size() const
Definition: positionlist.h:110
A list of Coord where each coord has a unique id.
Definition: positionlist.h:97
3D point or vector
Definition: commontypes.h:57
TypeSet< int > removedids_
Definition: positionlist.h:142
TypeSet< int > removedids_
Definition: positionlist.h:115
TypeSet< Coord > points_
Definition: positionlist.h:116
2D point or vector class.
Definition: commontypes.h:58
TypeSet< Coord3 > coords_
Definition: positionlist.h:143

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