38 virtual const char* getTypeStr()
const = 0;
39 virtual int nrDims()
const = 0;
40 virtual const char* dimName(
int dim)
const = 0;
41 virtual void setDimName(
int dim,
const char*) = 0;
42 virtual float averagePos(
int dim)
const = 0;
47 virtual float normFac()
const {
return 1; }
55 virtual bool isCompatibleWith(
const ProbDenFunc&)
const;
62 static const char* sKeyNrDim();
83 virtual void copyFrom(
const ProbDenFunc& pdf )
86 virtual int nrDims()
const {
return 1; }
87 virtual const char*
dimName(
int)
const {
return varName(); }
89 {
if ( !dim ) varnm_ = nm; }
91 virtual const char*
varName()
const {
return varnm_; }
93 virtual float averagePos(
int)
const {
return gtAvgPos(); }
94 inline float value(
float v )
const {
return gtVal( v ); }
96 {
return gtVal( v[0] ); }
101 { v.
setSize(1); drwRandPos( v[0] ); }
111 , varnm_(pdf.varnm_) {}
113 virtual float gtAvgPos()
const = 0;
114 virtual float gtVal(
float)
const = 0;
115 virtual void drwRandPos(
float&)
const = 0;
130 setName(pdf.
name()); }
133 virtual const char* dimName(
int)
const;
135 {
if ( dim < 2 ) (dim ? dim1nm_ : dim0nm_) = nm; }
137 float value(
float x1,
float x2 )
const 138 {
return gtVal( x1, x2 ); }
140 {
return gtVal( v[0], v[1] ); }
143 { drwRandPos( x1, x2 ); }
145 { v.
setSize(2); drwRandPos( v[0], v[1] ); }
153 const char* vnm1=
"Dim 1" )
154 : dim0nm_(vnm0), dim1nm_(vnm1) {}
157 , dim0nm_(pdf.dim0nm_)
158 , dim1nm_(pdf.dim1nm_) {}
161 virtual float gtVal(
float,
float)
const = 0;
162 virtual void drwRandPos(
float&,
float&)
const = 0;
void drawRandomPos(float &x1, float &x2) const
Definition: probdenfunc.h:142
#define mExpClass(module)
Definition: commondefs.h:157
virtual const char * dimName(int) const
Definition: probdenfunc.h:87
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
Probability Density Function for one dimensional datasets.
Definition: probdenfunc.h:79
virtual void drawRandomPos(TypeSet< float > &v) const
Definition: probdenfunc.h:100
virtual ~ProbDenFunc()
Definition: probdenfunc.h:34
virtual void setDimName(int dim, const char *nm)
Definition: probdenfunc.h:88
Base class for Probability Density Functions.
Definition: probdenfunc.h:29
virtual void prepareRandDrawing() const
Definition: probdenfunc.h:60
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
virtual void copyFrom(const ProbDenFunc &pdf)
Definition: probdenfunc.h:128
ProbDenFunc2D(const char *vnm0="Dim 0", const char *vnm1="Dim 1")
Definition: probdenfunc.h:152
virtual float value(const TypeSet< float > &v) const
Definition: probdenfunc.h:95
ProbDenFunc1D(const ProbDenFunc1D &pdf)
Definition: probdenfunc.h:109
ProbDenFunc1D(const char *vnm="")
Definition: probdenfunc.h:107
float value(float v) const
Definition: probdenfunc.h:94
virtual void drawRandomPos(TypeSet< float > &v) const
Definition: probdenfunc.h:144
OD class for stream read.
Definition: od_istream.h:23
virtual const char * dimName(int dim) const =0
void drawRandomPos(float &v) const
Definition: probdenfunc.h:98
virtual int nrDims() const
Definition: probdenfunc.h:86
BufferString dim0nm_
Definition: probdenfunc.h:147
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
virtual float value(const TypeSet< float > &v) const
Definition: probdenfunc.h:139
BufferString dim1nm_
Definition: probdenfunc.h:148
virtual bool readBulk(od_istream &, bool binary)
Definition: probdenfunc.h:53
virtual void setDimName(int dim, const char *nm)
Definition: probdenfunc.h:134
virtual float averagePos(int) const
Definition: probdenfunc.h:93
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Probability Density Function for two dimensional datasets.
Definition: probdenfunc.h:124
virtual float normFac() const
Definition: probdenfunc.h:47
virtual void copyFrom(const ProbDenFunc &pdf)
Definition: probdenfunc.h:83
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
object with a name.
Definition: namedobj.h:20
virtual bool setSize(size_type, T val=T())
Definition: typeset.h:267
virtual void scale(float)
Definition: probdenfunc.h:46
virtual const char * varName() const
Definition: probdenfunc.h:91
ProbDenFunc()
Definition: probdenfunc.h:66
ProbDenFunc2D(const ProbDenFunc2D &pdf)
Definition: probdenfunc.h:155
virtual const OD::String & name() const
Definition: namedobj.h:33
float value(float x1, float x2) const
Definition: probdenfunc.h:137
BufferString varnm_
Definition: probdenfunc.h:103
virtual bool canScale() const
Definition: probdenfunc.h:45
virtual void writeBulk(od_ostream &, bool binary) const
Definition: probdenfunc.h:52
virtual int nrDims() const
Definition: probdenfunc.h:132