OpendTect
7.0
|
Array2D Bitmap generation setup. More...
Public Member Functions | |
A2DBitMapPosSetup (const Array2DInfo &, float *dim0pos=0) | |
virtual | ~A2DBitMapPosSetup () |
int | availableXPix () const |
int | availableYPix () const |
float | dim0MedianDist () const |
const float * | dim0Positions () const |
const Interval< float > & | dim1Positions () const |
const Interval< float > & | dimRange (int dim) const |
int | dimSize (int dim) const |
int | getPix (int dim, float) const |
float | getPixOffs (int dim, float pos) const |
float | getPixPerDim (int dim) const |
bool | isInside (int dim, float) const |
int | nrXPix () const |
int | nrYPix () const |
void | setBitMapSizes (int, int) const |
void | setDim0Positions (float *dim0positions) |
dim0posistions will become mine More... | |
void | setDim1Positions (float, float) |
For dim1. More... | |
void | setDimRange (int dim, const Interval< float > &r) |
'zooming' More... | |
void | setPixSizes (int, int) |
Protected Attributes | |
int | availablenrxpix_ |
int | availablenrypix_ |
float | dim0mediandist_ |
float * | dim0pos_ |
Interval< float > | dim0rg_ |
Interval< float > | dim1pos_ |
Interval< float > | dim1rg_ |
int | nrxpix_ |
int | nrypix_ |
float | pixperdim0_ |
float | pixperdim1_ |
int | szdim0_ |
int | szdim1_ |
Array2D Bitmap generation setup.
This class allows 'zooming' into the data, and an irregularly positioned first dimension.
If this class wouldn't exist, both dimensions of the Array2D have to have 100% regular positioning. But if for example the data contains samples of a 2-D seismic line with gaps, this is not the case. That is why you can add positioning in one dimension. The second dimension is assumed to be regular, step 1, starting at 0.
Thus, the first dimension may be irregularly sampled. For the first dimension, you can set up the axis by providing the positions in a float array. If you don't provide that array, one will be generated, the postions are assumed to be: 0 1 2 ..., which is the same as for the second dimension (which can never be irregular, but it can be different from 0 - N-1).
Then, you can zoom in by setting the different ranges. The default ranges will be -0.5 to N-0.5, i.e. half a distance between the cols/rows is added on all sides as border.
The positions in dim 0 must be sorted, ascending. Only the distances may vary. The average distance between the positions is used to calculate the default border.
Dim 0 <-> X ... left-to-right Dim 1 <-> Y ... Top to bottom
This class is not intended to support direct world coordinates and that kind of things. It just enables most simple bitmap generations. You may still need a (usually linear) transformation in both directions for display.
<>
A2DBitMapPosSetup::A2DBitMapPosSetup | ( | const Array2DInfo & | , |
float * | dim0pos = 0 |
||
) |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
int A2DBitMapPosSetup::getPix | ( | int | dim, |
float | |||
) | const |
|
inline |
|
inline |
bool A2DBitMapPosSetup::isInside | ( | int | dim, |
float | |||
) | const |
|
inline |
|
inline |
void A2DBitMapPosSetup::setBitMapSizes | ( | int | , |
int | |||
) | const |
void A2DBitMapPosSetup::setDim0Positions | ( | float * | dim0positions | ) |
dim0posistions will become mine
void A2DBitMapPosSetup::setDim1Positions | ( | float | , |
float | |||
) |
For dim1.
|
inline |
'zooming'
void A2DBitMapPosSetup::setPixSizes | ( | int | , |
int | |||
) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024