347 const std::string& prefix=
"");
352 double GetValue(
void)
const;
356 double GetValue(
double key)
const;
361 double GetValue(
double rowKey,
double colKey)
const;
367 double GetValue(
double rowKey,
double colKey,
double TableKey)
const;
368 double GetValue(
double a1,
double a2,
double a3,
double a4)
const;
369 double GetValue(
double a1,
double a2,
double a3,
double a4,
double a5)
const;
370 double GetValue(
double a1,
double a2,
double a3,
double a4,
double a5,
372 double GetValue(
const std::vector<double>& keys)
const;
374 double GetMinValue(
void)
const;
375 double GetMinValue(
double colKey)
const;
376 double GetMinValue(
double colKey,
double TableKey)
const;
403 double GetElement(
unsigned int r,
unsigned int c)
const;
404 double operator()(
unsigned int r,
unsigned int c)
const
405 {
return GetElement(r, c); }
410 { SetLookupProperty(eColumn,
new FGPropertyValue(node)); }
412 unsigned int GetNumRows()
const {
return nRows;}
416 std::string GetName(
void)
const {
return Name;}
419 enum type {tt1D, tt2D, ttND}
Type;
420 enum axis {eRow=0, eColumn, eTable};
421 bool internal =
false;
422 std::shared_ptr<FGPropertyManager> PropertyManager;
423 std::vector<FGPropertyValue_ptr> lookupProperty;
424 mutable std::vector<double> lookupPropertyValues;
425 std::vector<double> Data;
426 std::vector<std::unique_ptr<FGTable>> Tables;
427 unsigned int nRows = 0u, nCols = 0u, nDims = 0u;
430 void SetLookupProperty(
unsigned int axis, FGPropertyValue_ptr node)
432 if (lookupProperty.size() <= axis) lookupProperty.resize(axis + 1u);
433 lookupProperty[axis] = node;
436 bool HasLookupProperty(
unsigned int axis)
const
438 return axis < lookupProperty.size() && lookupProperty[axis];
441 double GetValue(
const double* keys)
const;
442 void bind(Element* el,
const std::string& Prefix);
443 void missingData(Element *el,
unsigned int expected_size,
size_t actual_size);
444 void Debug(
int from);