12 #include "generalmod.h" 33 : x1pos_(0) { *
this = fpd; }
35 FlatPosData& operator =(
const FlatPosData&);
36 FlatPosData*
clone() {
return new FlatPosData(*
this); }
38 void setRange(
bool forx1,
41 {
return forx1 ? x1rg_ : x2rg_; }
42 void setX1Pos(
float*,
int sz,
double offs);
47 inline int nrPts(
bool forx1 )
const 48 {
return range(forx1).nrSteps() + 1; }
50 {
return (
float )( range(forx1).width() ); }
51 IndexInfo indexInfo(
bool forx1,
double pos)
const;
53 double position(
bool forx1,
int)
const;
57 float* getPositions(
bool forx1)
const;
60 inline double offset(
bool forx1 )
const 61 {
return forx1 ? x1offs_ : 0; }
65 {
return x1pos_ && nrPts(
true) > 2; }
67 { setRange(
true, range(
true) ); }
78 {
return forx1 ? x1rg_ : x2rg_; }
double offset(bool forx1) const
For use with getPositions.
Definition: flatposdata.h:60
#define mExpClass(module)
Definition: commondefs.h:157
float * x1pos_
Definition: flatposdata.h:74
Positioning of flat 'bulk' data. Only the 'x1' axis can be irregular.
Definition: flatposdata.h:24
FlatPosData(const FlatPosData &fpd)
Definition: flatposdata.h:32
int nrPts(bool forx1) const
Definition: flatposdata.h:47
~FlatPosData()
Definition: flatposdata.h:34
float width(bool forx1) const
Definition: flatposdata.h:49
Info on (floating-point) position in an array or StepInterval.
Definition: indexinfo.h:21
double x1offs_
Definition: flatposdata.h:75
const StepInterval< double > & range(bool forx1) const
Definition: flatposdata.h:40
StepInterval< double > x2rg_
Definition: flatposdata.h:72
void setRegular()
Definition: flatposdata.h:66
StepInterval< double > x1rg_
Definition: flatposdata.h:71
FlatPosData()
Definition: flatposdata.h:27
bool isIrregular() const
Definition: flatposdata.h:64
StepInterval< double > & rg(bool forx1)
Definition: flatposdata.h:77
FlatPosData * clone()
Definition: flatposdata.h:36