icedb
version 0.5.1
Snow particle scattering database API
|
Strucure containing a list of all of the required data needed to create a new shape in the database. More...
#include <shape.hpp>
Public Member Functions | |
bool | isValid (std::ostream *errout=nullptr) const |
bool | requiresOptionalPropertiesStruct () const |
Public Attributes | |
bool | NC4_compat = true |
uint64_t | number_of_particle_scattering_elements = 0 |
uint8_t | number_of_particle_constituents = 0 |
gsl::span< const float > | particle_scattering_element_coordinates |
uint64_t | particle_scattering_element_coordinates_are_integral = 0 |
std::string | particle_id |
ATTRIBUTE: Unique Particle Identifier. More... | |
Strucure containing a list of all of the required data needed to create a new shape in the database.
bool icedb::Shapes::NewShapeRequiredProperties::isValid | ( | std::ostream * | errout = nullptr | ) | const |
Validate that all required properties are set, and that they have the correct dimensions. Writes diagnostic messages to the output stream.
Definition at line 10 of file Shapes.cpp.
References number_of_particle_constituents, number_of_particle_scattering_elements, particle_id, and particle_scattering_element_coordinates.
Referenced by main().
bool icedb::Shapes::NewShapeRequiredProperties::requiresOptionalPropertiesStruct | ( | ) | const |
Based on the required properties, must the optional properties structure be required? i.e. Extra information is needed to properly construct the shape.
Definition at line 50 of file Shapes.cpp.
References number_of_particle_constituents.
bool icedb::Shapes::NewShapeRequiredProperties::NC4_compat = true |
Do we want NetCDF-4 compatability? Should always be yes.
Definition at line 15 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply().
uint8_t icedb::Shapes::NewShapeRequiredProperties::number_of_particle_constituents = 0 |
DIMENSION: The number of distinct constituents in the particle. If these have non-trivial ids (i.e. not 1, 2, 3, 4, ...), then define the optional attribute particle_constituent_number.
Definition at line 27 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply(), isValid(), main(), and requiresOptionalPropertiesStruct().
uint64_t icedb::Shapes::NewShapeRequiredProperties::number_of_particle_scattering_elements = 0 |
DIMENSION: The number of scattering elements. If these have non-trivial ids (i.e. not 1, 2, 3, 4, ...), then define the optional attribute particle_scattering_element_number.
Definition at line 22 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply(), isValid(), and main().
std::string icedb::Shapes::NewShapeRequiredProperties::particle_id |
ATTRIBUTE: Unique Particle Identifier.
Definition at line 48 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply(), isValid(), and main().
gsl::span<const float> icedb::Shapes::NewShapeRequiredProperties::particle_scattering_element_coordinates |
VARIABLE: Cartesian coordinates of the center of each scattering element Written in form of x_1, y_1, z_1, x_2, y_2, z_2, ... Dimensions of [number_of_particle_scattering_elements][axis]
Definition at line 37 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply(), isValid(), and main().
uint64_t icedb::Shapes::NewShapeRequiredProperties::particle_scattering_element_coordinates_are_integral = 0 |
Are the particle_scattering_element_coordinates integers? This allows for optimization when writing. If they are integers, then particle_scattering_element_coordinates_ints is written instead.
Definition at line 42 of file shape.hpp.
Referenced by icedb::Examples::Shapes::ShapeRequiredData::apply().