IOSS 2.0
Loading...
Searching...
No Matches
Ioss::SideSet Class Reference

A collection of element sides. More...

#include <Ioss_SideSet.h>

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

Public Member Functions

 SideSet (DatabaseIO *io_database, const std::string &my_name)
 Create a side set with no members initially.
 
 SideSet (const SideSet &other)
 
 ~SideSet () override
 
IOSS_NODISCARD std::string type_string () const override
 Get the name of the particular type of entity.
 
IOSS_NODISCARD std::string short_type_string () const override
 Get a short name of the particular type of entity.
 
IOSS_NODISCARD std::string contains_string () const override
 What does this entity contain.
 
IOSS_NODISCARD EntityType type () const override
 Get the EntityType, which indicates the particular type of GroupingEntity this is.
 
bool add (SideBlock *side_block)
 
IOSS_NODISCARD const SideBlockContainerget_side_blocks () const
 
IOSS_NODISCARD SideBlockget_side_block (const std::string &my_name) const
 
IOSS_NODISCARD size_t side_block_count () const
 
IOSS_NODISCARD size_t block_count () const
 
IOSS_NODISCARD SideBlockget_block (size_t which) const
 
void block_membership (Ioss::NameList &block_members) override
 Get list of blocks that the entities in this GroupingEntity "touch".
 
IOSS_NODISCARD Property get_implicit_property (const std::string &my_name) const override
 Calculate and get an implicit property.
 
IOSS_NODISCARD int max_parametric_dimension () const
 
IOSS_NODISCARD bool operator== (const SideSet &rhs) const
 
IOSS_NODISCARD bool operator!= (const SideSet &rhs) const
 
IOSS_NODISCARD bool equal (const SideSet &rhs) const
 
- 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.
 
 GroupingEntity (const GroupingEntity &other)
 
GroupingEntityoperator= (const GroupingEntity &rhs)=delete
 
virtual ~GroupingEntity ()
 
IOSS_NODISCARD State get_state () const
 Get the current Ioss::State of the entity.
 
IOSS_NODISCARD DatabaseIOget_database () const
 
void set_database (DatabaseIO *io_database)
 
void reset_database (DatabaseIO *io_database)
 
virtual void delete_database ()
 
virtual IOSS_NODISCARD const GroupingEntitycontained_in () const
 
IOSS_NODISCARD const std::string & name () const
 Get name of entity.
 
void set_name (const std::string &new_name)
 Set the name of the entity.
 
IOSS_NODISCARD std::string generic_name () const
 Get a generated name based on the type of the entity and the id.
 
IOSS_NODISCARD bool is_alias (const std::string &my_name) const
 
IOSS_NODISCARD std::string get_filename () const
 Get the file name associated with the database containing this entity.
 
void property_add (const Property &new_prop)
 Add a property to the entity's property manager.
 
void property_erase (const std::string &property_name)
 Remove a property from the entity's property manager.
 
IOSS_NODISCARD bool property_exists (const std::string &property_name) const
 Checks if a property exists in the entity's property manager.
 
IOSS_NODISCARD Property get_property (const std::string &property_name) const
 Get the Property from the property manager associated with the entity.
 
IOSS_NODISCARD int64_t get_optional_property (const std::string &property, int64_t optional_value) const
 
IOSS_NODISCARD std::string get_optional_property (const std::string &property_name, const std::string &optional_value) const
 
IOSS_NODISCARD NameList property_describe () const
 Get the names of all properties in the property manager for this entity.
 
int property_describe (NameList *names) const
 Get the names of all properties in the property manager for this entity.
 
IOSS_NODISCARD NameList property_describe (Ioss::Property::Origin origin) const
 
int property_describe (Ioss::Property::Origin origin, NameList *names) const
 
IOSS_NODISCARD size_t property_count () const
 Get the number of properties defined in the property manager for this entity.
 
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 (Field new_field)
 Add a field to the entity's field manager.
 
void field_erase (const std::string &field_name)
 Remove a field from the entity's field manager.
 
void field_erase (Field::RoleType role)
 Remove all fields of type role from the entity's field manager.
 
IOSS_NODISCARD bool field_exists (const std::string &field_name) const
 Checks if a field with a given name exists in the entity's field manager.
 
IOSS_NODISCARD Field get_field (const std::string &field_name) const
 Get a field from the entity's field manager.
 
IOSS_NODISCARD const Fieldget_fieldref (const std::string &field_name) const
 Get a reference to a field from the entity's field manager.
 
int field_describe (NameList *names) const
 Get the names of all fields in the entity's field manager.
 
IOSS_NODISCARD NameList field_describe () const
 Get the names of all fields in the entity's field manager.
 
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.
 
IOSS_NODISCARD NameList field_describe (Field::RoleType role) const
 Get the names of all fields of a specified RoleType in the entity's field manager.
 
IOSS_NODISCARD size_t field_count () const
 Get the number of fields in the entity's field manager.
 
IOSS_NODISCARD 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.
 
IOSS_NODISCARD bool check_for_duplicate (const Ioss::Field &new_field) const
 
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.
 
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.
 
int64_t get_field_data (const std::string &field_name, void **data, size_t *data_size) const
 
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.
 
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.
 
template<typename T >
int64_t put_field_data (const std::string &field_name, std::vector< T > &data) const
 
IOSS_NODISCARD Ioss::Field::BasicType field_int_type () const
 
IOSS_NODISCARD unsigned int hash () const
 
IOSS_NODISCARD int64_t entity_count () const
 
IOSS_NODISCARD bool operator!= (const GroupingEntity &rhs) const
 
IOSS_NODISCARD bool operator== (const GroupingEntity &rhs) const
 
IOSS_NODISCARD bool equal (const GroupingEntity &rhs) const
 

Protected Member Functions

int64_t internal_get_field_data (const Field &field, void *data, size_t data_size) const override
 
int64_t internal_put_field_data (const Field &field, void *data, size_t data_size) const override
 
int64_t internal_get_zc_field_data (const Field &field, void **data, size_t *data_size) const override
 
bool equal_ (const SideSet &rhs, bool quiet) const
 
- Protected Member Functions inherited from Ioss::GroupingEntity
void count_attributes () const
 
bool set_state (State new_state)
 
void really_delete_database ()
 
IOSS_NODISCARD bool equal_ (const GroupingEntity &rhs, bool quiet) const
 

Private Attributes

SideBlockContainer sideBlocks
 
Ioss::NameList blockMembership
 

Additional Inherited Members

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

Detailed Description

A collection of element sides.

Constructor & Destructor Documentation

◆ SideSet() [1/2]

Ioss::SideSet::SideSet ( Ioss::DatabaseIO * io_database,
const std::string & my_name )

Create a side set with no members initially.

Parameters
[in]io_databaseThe database associated with the region containing the side set.
[in]my_nameThe side set's name.

◆ SideSet() [2/2]

Ioss::SideSet::SideSet ( const SideSet & other)

◆ ~SideSet()

Ioss::SideSet::~SideSet ( )
override

Member Function Documentation

◆ add()

bool Ioss::SideSet::add ( Ioss::SideBlock * side_block)

◆ block_count()

IOSS_NODISCARD size_t Ioss::SideSet::block_count ( ) const
inline

◆ block_membership()

void Ioss::SideSet::block_membership ( Ioss::NameList & )
overridevirtual

Get list of blocks that the entities in this GroupingEntity "touch".

For a SideSet, returns a list of the element blocks that the elements in the set belong to. For others, it returns an empty vector. Entries are pushed onto the "block_members" vector, so it will be appended to if it is not empty at entry to the function.

Reimplemented from Ioss::GroupingEntity.

◆ contains_string()

IOSS_NODISCARD std::string Ioss::SideSet::contains_string ( ) const
inlineoverridevirtual

What does this entity contain.

Returns
The name of the thing this entity contains.

Implements Ioss::GroupingEntity.

◆ equal()

bool Ioss::SideSet::equal ( const SideSet & rhs) const

◆ equal_()

bool Ioss::SideSet::equal_ ( const SideSet & rhs,
bool quiet ) const
protected

◆ get_block()

Ioss::SideBlock * Ioss::SideSet::get_block ( size_t which) const

◆ get_implicit_property()

Ioss::Property Ioss::SideSet::get_implicit_property ( const std::string & my_name) const
overridevirtual

Calculate and get an implicit property.

These are calculated 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.

◆ get_side_block()

Ioss::SideBlock * Ioss::SideSet::get_side_block ( const std::string & my_name) const

◆ get_side_blocks()

const Ioss::SideBlockContainer & Ioss::SideSet::get_side_blocks ( ) const

◆ internal_get_field_data()

int64_t Ioss::SideSet::internal_get_field_data ( const Field & field,
void * data,
size_t data_size ) const
overrideprotectedvirtual

Implements Ioss::GroupingEntity.

◆ internal_get_zc_field_data()

int64_t Ioss::SideSet::internal_get_zc_field_data ( const Field & field,
void ** data,
size_t * data_size ) const
overrideprotectedvirtual

Implements Ioss::GroupingEntity.

◆ internal_put_field_data()

int64_t Ioss::SideSet::internal_put_field_data ( const Field & field,
void * data,
size_t data_size ) const
overrideprotectedvirtual

Implements Ioss::GroupingEntity.

◆ max_parametric_dimension()

int Ioss::SideSet::max_parametric_dimension ( ) const

◆ operator!=()

bool Ioss::SideSet::operator!= ( const SideSet & rhs) const

◆ operator==()

bool Ioss::SideSet::operator== ( const SideSet & rhs) const

◆ short_type_string()

IOSS_NODISCARD std::string Ioss::SideSet::short_type_string ( ) const
inlineoverridevirtual

Get a short name of the particular type of entity.

Returns
The short name of the particular type of entity.

Implements Ioss::GroupingEntity.

◆ side_block_count()

IOSS_NODISCARD size_t Ioss::SideSet::side_block_count ( ) const
inline

◆ type()

IOSS_NODISCARD EntityType Ioss::SideSet::type ( ) const
inlineoverridevirtual

Get the EntityType, which indicates the particular type of GroupingEntity this is.

Returns
The particular EntityType of this GroupingEntity.

Implements Ioss::GroupingEntity.

◆ type_string()

IOSS_NODISCARD std::string Ioss::SideSet::type_string ( ) const
inlineoverridevirtual

Get the name of the particular type of entity.

Returns
The name of the particular type of entity.

Implements Ioss::GroupingEntity.

Member Data Documentation

◆ blockMembership

Ioss::NameList Ioss::SideSet::blockMembership
private

◆ sideBlocks

SideBlockContainer Ioss::SideSet::sideBlocks
private

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