OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "algomod.h"
15 #include "refcount.h"
16 #include "position.h"
17 #include "typeset.h"
18 
24 { mRefCountImpl(FloatVertexAttribList)
25 public:
26 
27 
28  virtual int size() const = 0;
29  virtual bool setSize(int,bool cpdata) = 0;
30 
31  virtual void setCoord(int,const float*) = 0;
32  virtual void getCoord(int,float*) const = 0;
33 
34  virtual void setNormal(int,const float*) = 0;
35  virtual void getNormal(int,float*) const = 0;
36 
37  virtual void setTCoord(int,const float*) = 0;
38  virtual void getTCoord(int,float*) const = 0;
39 
40 protected:
41 };
42 
43 
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 class Coord3;
68 
73 public:
74 
75  virtual int nextID(int previd) const = 0;
78  virtual int add(const Coord3&) = 0;
80  virtual Coord3 get(int id) const = 0;
81  virtual bool isDefined(int id) const = 0;
82  virtual void set(int id,const Coord3&) = 0;
83  virtual void addValue(int id,const Coord3&) = 0;
85  virtual void remove(int id) = 0;
86  virtual void remove(const TypeSet<int>&) = 0;
88  virtual int size() const = 0;
89 
90  Coord3 center() const;
91 };
92 
93 
99 {
100 public:
101 
103 
104  virtual int nextID(int previd) const;
105  virtual Coord get(int id) const;
106  virtual void set(int id,const Coord&);
107  virtual int add(const Coord&);
108  virtual void remove(int id);
109  virtual void remove(const TypeSet<int>&);
110  virtual void addValue(int id,const Coord&);
111  virtual int size() const
112  { return points_.size() - removedids_.size(); }
113 
114 protected:
115 
118 };
119 
120 
126 {
127 public:
129 
130  virtual int nextID(int previd) const;
131  virtual Coord3 get(int id) const;
132  virtual void set(int id,const Coord3&);
133  virtual int add(const Coord3&);
134  virtual bool isDefined(int) const;
135  virtual void remove(int id);
136  virtual void addValue(int id,const Coord3&);
137  virtual void remove(const TypeSet<int>&);
138  virtual int size() const
139  { return coords_.size() - removedids_.size(); }
140 
141 protected:
142 
145 };
146 
147 
FloatVertexAttribList::setCoord
virtual void setCoord(int, const float *)=0
Coord3ListImpl
A list of Coord3 where each coord has a unique id.
Definition: positionlist.h:126
Coord2ListImpl
A list of Coord where each coord has a unique id.
Definition: positionlist.h:99
Coord2ListImpl::get
virtual Coord get(int id) const
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Coord3List::set
virtual void set(int id, const Coord3 &)=0
Coord3ListImpl::removedids_
TypeSet< int > removedids_
Definition: positionlist.h:143
Coord3ListImpl::isDefined
virtual bool isDefined(int) const
FloatVertexAttribList::setSize
virtual mRefCountImpl(FloatVertexAttribList) public bool setSize(int, bool cpdata)=0
FloatVertexAttribList::setNormal
virtual void setNormal(int, const float *)=0
Coord3ListImpl::set
virtual void set(int id, const Coord3 &)
FloatVertexAttribList
Base class for vertex attribute list.
Definition: positionlist.h:24
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Coord2ListImpl::removedids_
TypeSet< int > removedids_
Definition: positionlist.h:116
Coord2List
Interface for a list of Coords with automatically maintained IDs.
Definition: positionlist.h:47
Coord2ListImpl::remove
virtual void remove(const TypeSet< int > &)
typeset.h
Coord3ListImpl::size
virtual int size() const
Definition: positionlist.h:138
Coord2ListImpl::Coord2ListImpl
Coord2ListImpl()
FloatVertexAttribList::getCoord
virtual void getCoord(int, float *) const =0
Coord2List::nextID
virtual int nextID(int previd) const =0
Coord3ListImpl::remove
virtual void remove(int id)
Coord3ListImpl::get
virtual Coord3 get(int id) const
Coord3List::mRefCountImplNoDestructor
mRefCountImplNoDestructor(Coord3List)
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
Coord2ListImpl::size
virtual int size() const
Definition: positionlist.h:111
Coord2List::size
virtual int size() const =0
Coord3List::center
Coord3 center() const
Coord3ListImpl::coords_
TypeSet< Coord3 > coords_
Definition: positionlist.h:144
Coord3ListImpl::add
virtual int add(const Coord3 &)
Return new id, or -1 if unsuccessful.
Coord2ListImpl::remove
virtual void remove(int id)
Coord2ListImpl::nextID
virtual int nextID(int previd) const
Coord3List::remove
virtual void remove(int id)=0
Coord2List::mRefCountImplNoDestructor
mRefCountImplNoDestructor(Coord2List)
Coord2List::add
virtual int add(const Coord &)=0
Return new id, or -1 if unsuccessful.
Coord3List::get
virtual Coord3 get(int id) const =0
FloatVertexAttribList::setTCoord
virtual void setTCoord(int, const float *)=0
Coord3List::size
virtual int size() const =0
position.h
Coord2ListImpl::points_
TypeSet< Coord > points_
Definition: positionlist.h:117
Coord3ListImpl::Coord3ListImpl
Coord3ListImpl()
FloatVertexAttribList::getNormal
virtual void getNormal(int, float *) const =0
FloatVertexAttribList::getTCoord
virtual void getTCoord(int, float *) const =0
Coord3ListImpl::remove
virtual void remove(const TypeSet< int > &)
May contain duplicates.
Coord3List::isDefined
virtual bool isDefined(int id) const =0
Coord3List::nextID
virtual int nextID(int previd) const =0
Coord2List::center
Coord center() const
Coord3List::addValue
virtual void addValue(int id, const Coord3 &)=0
Adds value to existing value at id.
Coord3List::remove
virtual void remove(const TypeSet< int > &)=0
May contain duplicates.
Coord2ListImpl::addValue
virtual void addValue(int id, const Coord &)
Adds value to existing value at id.
Coord2ListImpl::set
virtual void set(int id, const Coord &)
refcount.h
Coord2List::get
virtual Coord get(int id) const =0
Coord3ListImpl::addValue
virtual void addValue(int id, const Coord3 &)
Adds value to existing value at id.
Coord3List
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:72
Coord2List::remove
virtual void remove(int id)=0
Coord2List::remove
virtual void remove(const TypeSet< int > &)=0
Coord2ListImpl::add
virtual int add(const Coord &)
Return new id, or -1 if unsuccessful.
Coord3List::add
virtual int add(const Coord3 &)=0
Return new id, or -1 if unsuccessful.
Coord3ListImpl::nextID
virtual int nextID(int previd) const
Coord2List::addValue
virtual void addValue(int id, const Coord &)=0
Adds value to existing value at id.
Coord2List::set
virtual void set(int id, const Coord &)=0
TypeSet< int >

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