53 bool isValid(std::ostream *errout =
nullptr)
const;
96 float particle_scattering_element_spacing = -1;
100 float hint_max_scattering_element_dimension = -1;
104 bool isValid(gsl::not_null<const NewShapeRequiredProperties*> required, std::ostream *errout =
nullptr)
const;
115 Shape(
const std::string &uid);
125 static bool isShape(
Groups::Group &owner,
const std::string &name);
130 static bool isShape(gsl::not_null<H5::Group*> group);
132 bool isShape()
const;
138 static bool isValid(gsl::not_null<H5::Group*> group, std::ostream *out =
nullptr);
142 bool isValid(std::ostream *out =
nullptr)
const;
152 static Shape_Type openShape(
Groups::Group &owner,
const std::string &name);
164 static Shape_Type createShape(
Groups::Group &grpshp,
const std::string &uid,
165 gsl::not_null<const NewShapeRequiredProperties*> required,
176 static Shape_Type createShape(
Groups::Group &owner,
const std::string &name,
177 const std::string &uid,
178 gsl::not_null<const NewShapeRequiredProperties*> required,
189 const std::string &uid,
190 gsl::not_null<const NewShapeRequiredProperties*> required,
gsl::span< const uint8_t > particle_scattering_element_composition_whole
std::shared_ptr< H5::Group > Group_HDF_shared_ptr
Strucure containing a list of all of the required data needed to create a new shape in the database...
A group is similar to a folder / directory. It can have Attributes and Tables.
static const std::string _icedb_obj_type_shape_identifier
Each shape 'group' has an attribute with this identifier. Used for shape collection and searching...
std::string particle_id
ATTRIBUTE: Unique Particle Identifier.
A high-level class to manipulate particle shapes.
gsl::span< const float > particle_scattering_element_radius
std::string particle_constituent_single_name
uint8_t number_of_particle_constituents
uint64_t number_of_particle_scattering_elements
Structure containing a list of all of the common optional data for creating a new shape in the databa...
gsl::span< const float > particle_scattering_element_coordinates
const std::string particle_unique_id
This is the unique identifier for this shape.
gsl::span< const uint64_t > particle_scattering_element_number
DIMENSION: The id number for each scattering element. Single dimension.
uint64_t particle_scattering_element_coordinates_are_integral
bool requiresOptionalPropertiesStruct() const
gsl::span< const float > particle_scattering_element_composition_fractional
std::unique_ptr< Shape > Shape_Type
The preferred C++ type for referencing a shape.
gsl::span< const std::string > particle_constituent_name
gsl::span< const uint8_t > particle_constituent_number
DIMENSION: The id number of each particle's constituent. Single dimension.
bool isValid(std::ostream *errout=nullptr) const