93 double calcTime(
int i,
int j,
double Fij,
int ord,
int &eFlag);
96 int ij2ind(
int _i,
int _j,
int _m) {
return ( ( _i - 1 ) + ( _j - 1 ) * _m ); }
97 int ind2i(
int ind,
int _m) {
return 1 + ind - ( ind / _m ) * _m; }
98 int ind2j(
int ind,
int _m) {
return ( ( ind ) / _m ) + 1; }
99 bool isInDomain(
int i,
int j,
int _m,
int _n) {
return ( ( i >= 1 ) && ( j >= 1 ) && ( i <= _m ) && ( j <= _n ) ); }
FloatMatrix T
Matrix storing the values of the unknown (computed) field (e.g., arrival times).
bool solutionAvailable
Flag indicating whether the solution has been computed.
int ij2ind(int _i, int _j, int _m)
Utility methods.
double giveSolutionValueAt(int i, int j)
Output methods.
bool isInDomain(int i, int j, int _m, int _n)
int ind2i(int ind, int _m)
void setPrescribedFieldValue(int i, int j, double val)
Method setting the values of the prescribed field (e.g., front velocities).
void fastMarch(int &eFlag)
Fast marching method, solving the eikonal equation.
void unFreeze()
Set all flags to "unfrozen".
Heap * narrowBand
Heap used for efficient sorting and detection of smallest candidate.
double calcTime(int i, int j, double Fij, int ord, int &eFlag)
Auxiliary function that evaluates the tentative value at one grid point, exploited by the fast marchi...
void setZeroValues(FloatMatrix *gridCoords)
Methods setting the values of the unknown field at selected points (e.g., zero times).
Grid(int N, int M)
Constructor (N = horizontal dimension, M = vertical dimension).
FloatMatrix & givePrescribedField()
void printSolutionAsData()
int ind2j(int ind, int _m)
void setSolutionValueAt(int i, int j, double value)
int giveSizeHorizontal()
Size information.
void setMethod(int o, double i, int c)
Set the details of the algorithm to be used.
int n
Grid dimensions: number of grid nodes horizontally (n) and vertically (m).
int order
Algorithmic parameters.
bool * Frozen
Array storing indicators of frozen points (at which the solution is already known).
FloatMatrix F
Matrix storing the values of the prescribed field (e.g., front velocities).