10#include <fhsim_environment/ScalarField.h>
176 int samplesPerAxis = 32);
212 unsigned numThreads = 1);
Utility functions for reading Environment parameters from XML.
Definition BathymetryDiagnostics.h:16
double EncodingPad(double lo, double hi)
BakedField BakeScalarField(environment::field::ScalarField &field, double time, const SamplingBox &box, double valueMin, double valueMax, bool maskInaccurate, unsigned numThreads=1)
void DeriveSpacingForCellBudget(const double extent[3], std::size_t budget, double spacing[3])
constexpr int kMaxAxisSize2D
Definition ScalarFieldBake.h:32
void MakeEncodingRange(double lo, double hi, double &valueMin, double &valueMax)
ValueRange ProbeScalarFieldRange(environment::field::ScalarField &field, double time, const SamplingBox &box, bool maskInaccurate, int samplesPerAxis=32)
constexpr uint16_t kMaskedCell
Code reserved in a baked grid for a cell that is not drawn.
Definition ScalarFieldBake.h:17
void CountsFromSpacing(const double extent[3], const double spacing[3], int counts[3])
SamplingBox MakeAxisAlignedSamplingBox(const double min[3], const double max[3], const int counts[3])
constexpr int kMaxAxisSize3D
Definition ScalarFieldBake.h:26
constexpr std::size_t kMaxBakeCells
Definition ScalarFieldBake.h:22
A scalar field evaluated over a SamplingBox and encoded to 16-bit codes.
Definition ScalarFieldBake.h:52
std::vector< uint16_t > values
Dilated codes for the value texture. Axis 0 fastest.
Definition ScalarFieldBake.h:54
double valueMin
Field value encoded as code 1.
Definition ScalarFieldBake.h:56
double valueMax
Field value encoded as code 65535.
Definition ScalarFieldBake.h:57
std::vector< uint8_t > mask
0 where masked, 255 elsewhere. Same order.
Definition ScalarFieldBake.h:55
SamplingBox box
Grid the codes were produced on.
Definition ScalarFieldBake.h:53
Definition ScalarFieldBake.h:44
double origin[3]
Corner the axis vectors emanate from, NED [m].
Definition ScalarFieldBake.h:45
double axis[3][3]
Full edge vector of each axis, NED [m].
Definition ScalarFieldBake.h:46
int counts[3]
Samples along each axis; each at least 1.
Definition ScalarFieldBake.h:47
Range of field values found by a probe, and whether any cell answered at all.
Definition ScalarFieldBake.h:62
bool valid
False when every probed cell was masked.
Definition ScalarFieldBake.h:65
double valueMin
Smallest value found.
Definition ScalarFieldBake.h:63
double valueMax
Largest value found.
Definition ScalarFieldBake.h:64