35 #ifndef fastmarchingmethod_h 36 #define fastmarchingmethod_h 85 bool operator() (
const int & p,
const int & q)
const 86 {
return ( fabs( ( * dmanValuesPtrRef )->at(p) ) > fabs( ( * dmanValuesPtrRef )->at(q) ) ); }
117 void solve(
FloatArray &dmanValues,
const std :: list< int > &bcDofMans,
double F);
133 #endif // fastmarchingmethod_h void updateTrialValue(FloatArray &dmanValues, int id, double F)
Updates the distance of trial node with given id).
const char * giveClassName() const
Fast Marching Method for unstructured grids.
Boundary nodes, from which the front will not propagate.
std::vector< FMM_DofmanRecord > dmanRecords
Array of DofManager records.
const FloatArray * dmanValuesPtr
Pointer to working set of dmanValues.
void solve(FloatArray &dmanValues, const std::list< int > &bcDofMans, double F)
Solution of problem.
Trial nodes, candidates for known (accepted).
std::priority_queue< int, std::vector< int >, FMM_DofmanRecordDelegate_greater > dmanTrialQueue
Priority queue for trial T values.
void initialize(FloatArray &dmanValues, const std::list< int > &bcDofMans, double F)
Initialize receiver.
Class representing vector of real numbers.
DofManager Fast Marching data record.
int getSmallestTrialDofMan()
Get the trial point with smallest T; zero if empty.
FastMarchingMethod(Domain *d)
Constructor.
FMM_DofmanRecordDelegate_greater(const FloatArray **dv)
the oofem namespace is to define a context or scope in which all oofem names are defined.
const FloatArray ** dmanValuesPtrRef
FNM_Status_Type
Type describing node status for fast marching method.