IOSS  2.0
Ioss::EntitySet Class Referenceabstract

Base class for all 'set'-type grouping entities, which means that members of the set are not necessarily similar, or do not necessarily have the same topology. More...

#include <Ioss_EntitySet.h>

Inheritance diagram for Ioss::EntitySet:
[legend]
Collaboration diagram for Ioss::EntitySet:
[legend]

Public Member Functions

Property get_implicit_property (const std::string &my_name) const override=0
 Calculate and get an implicit property. More...
 
- Public Member Functions inherited from Ioss::GroupingEntity
 GroupingEntity ()=default
 
 GroupingEntity (DatabaseIO *io_database, const std::string &my_name, int64_t entity_count)
 Base class constructor adds "name" and "entity_count" properties to the entity. More...
 
 GroupingEntity (const GroupingEntity &)=delete
 
GroupingEntityoperator= (const GroupingEntity &)=delete
 
virtual ~GroupingEntity ()
 
State get_state () const
 Get the current Ioss::State of the entity. More...
 
DatabaseIOget_database () const
 
void set_database (DatabaseIO *io_database)
 
virtual void delete_database ()
 
virtual const GroupingEntitycontained_in () const
 
const std::string & name () const
 Get name of entity. More...
 
void set_name (const std::string &new_name)
 Set the name of the entity. More...
 
std::string generic_name () const
 Get a generated name based on the type of the entity and the id. More...
 
bool is_alias (const std::string &my_name) const
 
virtual void block_membership (std::vector< std::string > &)
 Get list of blocks that the entities in this GroupingEntity "touch". More...
 
std::string get_filename () const
 Get the file name associated with the database containing this entity. More...
 
virtual std::string type_string () const =0
 Get the name of the particular type of entity. More...
 
virtual std::string short_type_string () const =0
 Get a short name of the particular type of entity. More...
 
virtual std::string contains_string () const =0
 What does this entity contain. More...
 
virtual EntityType type () const =0
 Get the EntityType, which indicates the particular type of GroupingEntity this is. More...
 
void property_add (const Property &new_prop)
 Add a property to the entity's property manager. More...
 
void property_erase (const std::string &property_name)
 Remove a property from the entity's property manager. More...
 
bool property_exists (const std::string &property_name) const
 Checks if a property exists in the entity's property manager. More...
 
Property get_property (const std::string &property_name) const
 Get the Property from the property manager associated with the entity. More...
 
int property_describe (NameList *names) const
 Get the names of all properties in the property manager for this entity. More...
 
size_t property_count () const
 Get the number of properties defined in the property manager for this entity. More...
 
void property_update (const std::string &property, int64_t value) const
 
void property_update (const std::string &property, const std::string &value) const
 
void field_add (const Field &new_field)
 Add a field to the entity's field manager. More...
 
void field_erase (const std::string &field_name)
 Remove a field from the entity's field manager. More...
 
bool field_exists (const std::string &field_name) const
 Checks if a field with a given name exists in the entity's field manager. More...
 
Field get_field (const std::string &field_name) const
 Get a field from the entity's field manager. More...
 
const Fieldget_fieldref (const std::string &field_name) const
 Get a reference to a field from the entity's field manager. More...
 
int field_describe (NameList *names) const
 Get the names of all fields in the entity's field manager. More...
 
int field_describe (Field::RoleType role, NameList *names) const
 Get the names of all fields of a specified RoleType in the entity's field manager. More...
 
size_t field_count () const
 Get the number of fields in the entity's field manager. More...
 
size_t field_count (Field::RoleType role) const
 Get the number of fields with the given role (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc.) in the entity's field manager. More...
 
int64_t get_field_data (const std::string &field_name, void *data, size_t data_size) const
 Read field data from the database file into memory using a pointer. More...
 
int64_t put_field_data (const std::string &field_name, void *data, size_t data_size) const
 Write field data from memory into the database file using a pointer. More...
 
template<typename T >
int64_t get_field_data (const std::string &field_name, std::vector< T > &data) const
 Read type 'T' field data from the database file into memory using a std::vector. More...
 
template<typename T >
int64_t put_field_data (const std::string &field_name, const std::vector< T > &data) const
 Write type 'T' field data from memory into the database file using a std::vector. More...
 
template<typename T >
int64_t put_field_data (const std::string &field_name, std::vector< T > &data) const
 
Ioss::Field::BasicType field_int_type () const
 
unsigned int hash () const
 
int64_t entity_count () const
 

Protected Member Functions

 EntitySet (DatabaseIO *io_database, const std::string &my_name, size_t entity_cnt)
 Base class constructor adds "name" and "entity_count" properties to the set. More...
 
 EntitySet (const EntitySet &)=delete
 
EntitySetoperator= (const EntitySet &)=delete
 
 ~EntitySet () override=default
 
void count_attributes () const
 
- Protected Member Functions inherited from Ioss::GroupingEntity
void count_attributes () const
 
bool set_state (State new_state)
 
void really_delete_database ()
 
virtual int64_t internal_get_field_data (const Field &field, void *data, size_t data_size=0) const =0
 
virtual int64_t internal_put_field_data (const Field &field, void *data, size_t data_size=0) const =0
 

Additional Inherited Members

- Protected Attributes inherited from Ioss::GroupingEntity
PropertyManager properties
 
FieldManager fields
 
int64_t entityCount = 0
 

Detailed Description

Base class for all 'set'-type grouping entities, which means that members of the set are not necessarily similar, or do not necessarily have the same topology.

The following derived classes are typical:

NodeSet – grouping of nodes (0d topology)

EdgeSet – grouping of edges (1d topology)

FaceSet – grouping of faces (2d topology) [Surface]

Constructor & Destructor Documentation

◆ EntitySet() [1/2]

Ioss::EntitySet::EntitySet ( Ioss::DatabaseIO io_database,
const std::string &  my_name,
size_t  entity_cnt 
)
protected

Base class constructor adds "name" and "entity_count" properties to the set.

Parameters
[in]io_databaseThe database associated with the set.
[in]my_nameThe set name.
[in]entity_cntThe number of subentities in the set.

◆ EntitySet() [2/2]

Ioss::EntitySet::EntitySet ( const EntitySet )
protecteddelete

◆ ~EntitySet()

Ioss::EntitySet::~EntitySet ( )
overrideprotecteddefault

Member Function Documentation

◆ count_attributes()

void Ioss::EntitySet::count_attributes ( ) const
protected

◆ get_implicit_property()

Ioss::Property Ioss::EntitySet::get_implicit_property ( const std::string &  my_name) const
overridepure virtual

Calculate and get an implicit property.

These are calcuated from data stored in the EntityBlock instead of having an explicit value assigned. An example would be 'element_block_count' for a region. Note that even though this is a pure virtual function, an implementation is provided to return properties that are common to all 'block'-type grouping entities. Derived classes should call 'GroupingEntity::get_implicit_property' if the requested property is not specific to their type.

Implements Ioss::GroupingEntity.

Implemented in Ioss::EdgeSet, Ioss::ElementSet, Ioss::FaceSet, and Ioss::NodeSet.

◆ operator=()

EntitySet& Ioss::EntitySet::operator= ( const EntitySet )
protecteddelete

The documentation for this class was generated from the following files: