Classes | |
| class | ArrayAccess |
Public Types | |
| enum | FillType { HolesOnly, ConvexHull, Full } |
Public Member Functions | |
| virtual | ~Array2DInterpol () |
| mDefineFactoryInClass (Array2DInterpol, factory) | |
| DeclareEnumUtils (FillType) | |
| void | setFillType (FillType) |
| FillType | getFillType () const |
| void | setRowStep (float r) |
| void | setColStep (float r) |
| void | setMaxHoleSize (float) |
| float | getMaxHoleSize () const |
| void | setClassification (bool) |
| bool | isClassification () const |
| void | setMask (const Array2D< bool > *, OD::PtrPolicy=OD::UsePtr) |
| virtual const char * | infoMsg () const |
| virtual bool | nothingToFill () const |
| virtual bool | setArray (Array2D< float > &, TaskRunner *=0) |
| Set AFTER all settings. | |
| virtual bool | canUseArrayAccess () const |
| virtual bool | setArray (ArrayAccess &, TaskRunner *=0) |
| Set AFTER all settings. | |
Protected Member Functions | |
| Array2DInterpol () | |
| bool | doPrepare (int) |
| void | getNodesToFill (const bool *isdef, bool *shouldinterpol, TaskRunner *) const |
| bool | isDefined (int idx) const |
| void | setFrom (int target, const int *sources, const float *weights, int nrsrc) |
| void | floodFillArrFrom (int seed, const bool *isdef, bool *shouldinterpol) const |
| void | excludeBigHoles (const bool *isdef, bool *shouldinterpol) const |
Protected Attributes | |
| Array2D< float > * | arr_ |
| ArrayAccess * | arrsetter_ |
| float | rowstep_ |
| float | colstep_ |
| int | nrrows_ |
| int | nrcols_ |
| int | nrcells_ |
| FillType | filltype_ |
| float | maxholesize_ |
| const Array2D< bool > * | mask_ |
| bool | maskismine_ |
| bool | isclassification_ |
| Stats::RunCalcSetup * | statsetup_ |
| virtual Array2DInterpol::~Array2DInterpol | ( | ) | [virtual] |
| Array2DInterpol::Array2DInterpol | ( | ) | [protected] |
| virtual bool Array2DInterpol::canUseArrayAccess | ( | ) | const [inline, virtual] |
Reimplemented in InverseDistanceArray2DInterpol, TriangulationArray2DInterpol, and Array2DInterpolExtension.
| Array2DInterpol::DeclareEnumUtils | ( | FillType | ) |
| bool Array2DInterpol::doPrepare | ( | int | ) | [protected, virtual] |
Reimplemented from ParallelTask.
Reimplemented in InverseDistanceArray2DInterpol, and TriangulationArray2DInterpol.
| void Array2DInterpol::excludeBigHoles | ( | const bool * | isdef, | |
| bool * | shouldinterpol | |||
| ) | const [protected] |
Will find holes larger than maxholesize_ and exclude them from shouldinterpol.
| void Array2DInterpol::floodFillArrFrom | ( | int | seed, | |
| const bool * | isdef, | |||
| bool * | shouldinterpol | |||
| ) | const [protected] |
Floodfills 'false' into shouldinterpol from position seed. Floodfill will stop when bumping into defined values, as provided in isdef.
| FillType Array2DInterpol::getFillType | ( | ) | const |
| float Array2DInterpol::getMaxHoleSize | ( | ) | const |
| void Array2DInterpol::getNodesToFill | ( | const bool * | isdef, | |
| bool * | shouldinterpol, | |||
| TaskRunner * | ||||
| ) | const [protected] |
Fills shouldinterpol with true or false depending on if a certain node should be interpolated or not, based on filltype and maxholesize. If isdef is zero, the information will be extracted from the grid. Both isdef and shouldinterpol arrays refers to positions on the grid by row=idx/nrcols_,col=idxnrcols_
| virtual const char* Array2DInterpol::infoMsg | ( | ) | const [inline, virtual] |
| bool Array2DInterpol::isClassification | ( | ) | const |
| bool Array2DInterpol::isDefined | ( | int | idx | ) | const [protected] |
idx refers to positions on the grid by row=idx/nrcols_,col=idxnrcols_
| Array2DInterpol::mDefineFactoryInClass | ( | Array2DInterpol | , | |
| factory | ||||
| ) |
| virtual bool Array2DInterpol::nothingToFill | ( | ) | const [inline, virtual] |
Reimplemented in InverseDistanceArray2DInterpol, and TriangulationArray2DInterpol.
| virtual bool Array2DInterpol::setArray | ( | ArrayAccess & | , | |
| TaskRunner * | = 0 | |||
| ) | [virtual] |
Set AFTER all settings.
Reimplemented in InverseDistanceArray2DInterpol, and TriangulationArray2DInterpol.
| virtual bool Array2DInterpol::setArray | ( | Array2D< float > & | , | |
| TaskRunner * | = 0 | |||
| ) | [virtual] |
Set AFTER all settings.
Reimplemented in InverseDistanceArray2DInterpol, and TriangulationArray2DInterpol.
| void Array2DInterpol::setClassification | ( | bool | ) |
| void Array2DInterpol::setColStep | ( | float | r | ) |
| void Array2DInterpol::setFillType | ( | FillType | ) |
| void Array2DInterpol::setFrom | ( | int | target, | |
| const int * | sources, | |||
| const float * | weights, | |||
| int | nrsrc | |||
| ) | [protected] |
For convenience, inheriting obj may set arr_ directly.
| void Array2DInterpol::setMask | ( | const Array2D< bool > * | , | |
| OD::PtrPolicy | = OD::UsePtr | |||
| ) |
If mask is set, interpolation will only occur where mask has 'true' values. If array is larger than mask, values are assumed to be 'false' outside the mask. The mask works together with the filltype in an AND operations, so each position must get a 'true' value both from the filltype AND the mask. If no mask is given, the filltype will be used alone.
| void Array2DInterpol::setMaxHoleSize | ( | float | ) |
| void Array2DInterpol::setRowStep | ( | float | r | ) |
Array2D<float>* Array2DInterpol::arr_ [protected] |
ArrayAccess* Array2DInterpol::arrsetter_ [protected] |
float Array2DInterpol::colstep_ [protected] |
FillType Array2DInterpol::filltype_ [protected] |
bool Array2DInterpol::isclassification_ [protected] |
const Array2D<bool>* Array2DInterpol::mask_ [protected] |
bool Array2DInterpol::maskismine_ [protected] |
float Array2DInterpol::maxholesize_ [protected] |
int Array2DInterpol::nrcells_ [protected] |
int Array2DInterpol::nrcols_ [protected] |
int Array2DInterpol::nrrows_ [protected] |
float Array2DInterpol::rowstep_ [protected] |
Stats::RunCalcSetup* Array2DInterpol::statsetup_ [protected] |
1.7.1