 |
OpendTect
6.6
|
Go to the documentation of this file.
27 template <
class IPT,
class FT>
36 : IPT(f,s), val_(v) {}
44 {
return !(*
this == vip); }
48 FT&
val() {
return val_; }
49 FT
val()
const {
return val_; }
50 inline operator FT&() {
return val_; }
51 inline operator FT()
const {
return val_; }
53 inline void set( FT f ) { val_ = f; }
54 inline void set(
const IPT& ipt ) { IPT::operator=( ipt ); }
55 inline void set(
const IPT& ipt, FT f ) {
set( ipt );
set( f ); }
74 template <
class IPT,
class FT>
86 : IPT(i1,i2) { setSize(nrvals); }
88 : IPT(p) { setSize(nrvals); }
90 : IPT() { *
this = oth; }
92 : IPT(vip) { setSize(1); value(0) = vip; }
96 {
return !(*
this == ipvs); }
100 inline bool validIdx(
int i )
const {
return vals_.validIdx(i); }
102 inline FT&
value(
int idx ) {
return vals_[idx]; }
103 inline FT
value(
int idx )
const {
return vals_[idx]; }
104 inline FT*
values() {
return vals_.arr(); }
105 inline const FT*
values()
const {
return vals_.arr(); }
107 inline FT
operator[](
int idx )
const {
return value( idx ); }
110 inline operator FT*() {
return values(); }
111 inline operator const FT*()
const {
return values(); }
113 inline void setSize(size_type,
bool kpvals=
false);
114 inline void setVals(
const FT*);
115 inline void set(
int,FT);
116 inline void set(
const IPT& ipt ) { IPT::operator=( ipt ); }
118 inline bool isUdf(
bool allvalsudf=
true)
const;
127 template <
class IPT,
class FT>
inline
130 IPT::operator=( ipvs );
135 template <
class IPT,
class FT>
inline
138 if ( !equalPos( oth ) )
143 const FT valdiff = val_ - oth.
val_;
148 template <
class IPT,
class FT>
inline
153 if ( sz != size() || !equalPos( oth ) )
158 const FT myval = value(idx);
159 const FT othval = oth.
value(idx);
164 const FT valdiff = myval - othval;
173 template <
class IPT,
class FT>
inline
187 vals_ += idx<orgsz ? tmp[idx] :
mUdf(
float);
191 template <
class IPT,
class FT>
inline
196 vals_[idx] = newvals ? newvals[idx] :
mUdf(
float);
200 template <
class IPT,
class FT>
inline
208 template <
class IPT,
class FT>
inline
217 const FT val = vals_[idx];
218 const bool isudf =
mIsUdf(val);
219 if ( isudf && anyvaludf )
221 else if ( !isudf && !anyvaludf )
FT & val()
Definition: posidxpairvalue.h:48
void set(const IPT &ipt)
Definition: posidxpairvalue.h:54
FT val_
Definition: posidxpairvalue.h:63
Position.
Definition: commontypes.h:78
bool operator==(const ValueIdxPair &) const
Definition: posidxpairvalue.h:136
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:289
IdxPairValues(int i1, int i2, int nrvals)
Definition: posidxpairvalue.h:85
const FT * values() const
Definition: posidxpairvalue.h:105
#define mExpClass(module)
Definition: commondefs.h:177
TypeSet< FT >::size_type size_type
Definition: posidxpairvalue.h:82
FT value_type
Definition: posidxpairvalue.h:33
#define mDefEps
Definition: commondefs.h:71
const set_type & valSet() const
Definition: posidxpairvalue.h:109
bool operator!=(const IdxPairValues &ipvs) const
Definition: posidxpairvalue.h:95
FT & value(int idx)
Definition: posidxpairvalue.h:102
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
bool operator==(const IdxPairValues &) const
Definition: posidxpairvalue.h:149
void set(const IPT &ipt, FT f)
Definition: posidxpairvalue.h:55
set_type & valSet()
Definition: posidxpairvalue.h:108
FT * values()
Definition: posidxpairvalue.h:104
IPT pos_type
Definition: posidxpairvalue.h:32
IdxPairValues()
Definition: posidxpairvalue.h:84
bool isUdf(const T &t)
Definition: undefval.h:245
void setSize(size_type, bool kpvals=false)
Definition: posidxpairvalue.h:174
FT operator[](int idx) const
Definition: posidxpairvalue.h:107
bool operator!=(const ValueIdxPair &vip) const
Definition: posidxpairvalue.h:43
FT & operator[](int idx)
Definition: posidxpairvalue.h:106
#define mIsZero(x, eps)
Definition: commondefs.h:66
#define mClass(module)
Definition: commondefs.h:181
void set(const IPT &ipt)
Definition: posidxpairvalue.h:116
ValueIdxPair(int f=0, int s=0, FT v=Values::Undef< FT >::val())
Definition: posidxpairvalue.h:35
FT value_type
Definition: posidxpairvalue.h:80
TypeSet< FT > vals_
Definition: posidxpairvalue.h:122
void set(int, FT)
Definition: posidxpairvalue.h:201
ValueIdxPair(const IPT &b, FT v=Values::Undef< FT >::val())
Definition: posidxpairvalue.h:37
void set(T &_to, const F &fr)
template based type conversion
Definition: convert.h:27
ValueIdxPair(const IdxPairValues< IPT, FT > &ipvs, int idx=0)
Definition: posidxpairvalue.h:39
TypeSet< FT > set_type
Definition: posidxpairvalue.h:81
void setVals(const FT *)
Definition: posidxpairvalue.h:192
IdxPairValues(const ValueIdxPair< IPT, FT > &vip)
Definition: posidxpairvalue.h:91
bool isUdf() const
Definition: posidxpairvalue.h:58
IdxPairValues(const IdxPairValues &oth)
Definition: posidxpairvalue.h:89
FT val() const
Definition: posidxpairvalue.h:49
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
FT value(int idx) const
Definition: posidxpairvalue.h:103
bool validIdx(int i) const
Definition: posidxpairvalue.h:100
IdxPairValues(const IPT &p, int nrvals)
Definition: posidxpairvalue.h:87
void set(FT f)
Definition: posidxpairvalue.h:53
IPT pos_type
Definition: posidxpairvalue.h:79
bool equalPos(const IPT &ip) const
Definition: posidxpairvalue.h:45
bool equalPos(const IPT &ip) const
Definition: posidxpairvalue.h:97
bool isUdf(bool allvalsudf=true) const
Definition: posidxpairvalue.h:209
IdxPair with a value.
Definition: posidxpairvalue.h:29
size_type size() const
Definition: posidxpairvalue.h:101
IdxPair with 0-N values.
Definition: posidxpairvalue.h:22
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021