Skip to main content

Post-processing tools 2023 R2

dvs_element_block_interface.h

Last update: 17.04.2023
Go to the documentation of this file.
1 /**************************************************************
2 *
3 * (C) 2022 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
4 *
5 * Restricted Rights Legend
6 *
7 * Use, duplication, or disclosure of this
8 * software and its documentation by the
9 * Government is subject to restrictions as
10 * set forth in subdivision [(b)(3)(ii)] of
11 * the Rights in Technical Data and Computer
12 * Software clause at 52.227-7013.
13 *
14 **************************************************************
15 */
16 
24 #ifndef ___DVS_ELEMENT_BLOCK_INTERFACE_H___
25 #define ___DVS_ELEMENT_BLOCK_INTERFACE_H___
26 
31 
32 namespace DVS
33 {
34 
51 class IElementBlock : public DVS::IHash, public DVS::IVarHash
52 {
53 public:
54 
55  IElementBlock() = default;
56  virtual ~IElementBlock() = default;
59  IElementBlock(const IElementBlock&) = default;
60  IElementBlock& operator=(const IElementBlock&) = default;
61 
67  virtual dvs_element_type get_element_type() const = 0;
68 
78  virtual bool get_is_ghost() const = 0;
79 
92  virtual dvs_ret get_num_variables(uint32_t& num_vars) const = 0;
93 
103  virtual const DVS::IVar* get_variable(uint32_t index) const = 0;
104 
126  virtual dvs_ret get_variable_data(uint32_t index, uint32_t* num_values, float* array) = 0;
127 
147  virtual dvs_ret get_variable_data(const IVar* var, uint32_t* num_values, float* array) = 0;
148 
162  virtual dvs_ret get_nodes_per_element(uint32_t& nodes_per_element) const = 0;
163 
170  virtual dvs_ret get_num_elements(uint32_t& num_elements) const = 0;
171 
185  virtual dvs_ret get_connectivity_size(uint32_t& indices_size) = 0;
186 
203  virtual dvs_ret get_connectivity(uint32_t* indices) = 0;
204 
222  virtual dvs_ret get_connectivity_polygon_size(uint32_t& nodes_per_polygon_size, uint32_t& indices_size) = 0;
223 
245  virtual dvs_ret get_connectivity_polygon(uint32_t* nodes_per_polygon, uint32_t* indices) = 0;
246 
262  virtual dvs_ret get_connectivity_polyhedral_size(uint32_t& faces_per_element_size,
263  uint32_t& nodes_per_face_size,
264  uint32_t& indices_size) = 0;
265 
290  virtual dvs_ret get_connectivity_polyhedral(uint32_t* faces_per_element,
291  uint32_t* nodes_per_face,
292  uint32_t* indices) = 0;
293 };
294 
295 }//namespace DVS
296 
297 #endif //___DVS_ELEMENT_BLOCK_INTERFACE_H___
Element Block Interface for DVS Reader API.
virtual bool get_is_ghost() const =0
Get if this element block is composed of ghost elements.
virtual dvs_ret get_variable_data(uint32_t index, uint32_t *num_values, float *array)=0
Get the variable data on this mesh chunk by index.
virtual dvs_ret get_connectivity_polygon_size(uint32_t &nodes_per_polygon_size, uint32_t &indices_size)=0
Get the size of the connectivity arrays for polygon elements.
virtual dvs_ret get_connectivity_size(uint32_t &indices_size)=0
Get the size of the connectivity array.
IElementBlock(IElementBlock &&)=default
default
IElementBlock(const IElementBlock &)=default
support copying
virtual dvs_ret get_connectivity_polygon(uint32_t *nodes_per_polygon, uint32_t *indices)=0
Get the connectivity information for polygonal element blocks.
virtual ~IElementBlock()=default
default
virtual dvs_ret get_num_elements(uint32_t &num_elements) const =0
Get the number of elements for this block.
virtual dvs_ret get_connectivity(uint32_t *indices)=0
Get the connectivity for basic unstructured element types.
IElementBlock & operator=(IElementBlock &&)=default
default
virtual const DVS::IVar * get_variable(uint32_t index) const =0
Get the variable definition associates with the elemental variable for this index.
virtual dvs_ret get_connectivity_polyhedral_size(uint32_t &faces_per_element_size, uint32_t &nodes_per_face_size, uint32_t &indices_size)=0
Get size of the connectivity arrays for polyhedral elements.
virtual dvs_ret get_connectivity_polyhedral(uint32_t *faces_per_element, uint32_t *nodes_per_face, uint32_t *indices)=0
Get the connectivity information for polyhedral element blocks.
virtual dvs_ret get_nodes_per_element(uint32_t &nodes_per_element) const =0
Get the number of nodes per basic unstructured element.
IElementBlock & operator=(const IElementBlock &)=default
default
virtual dvs_ret get_num_variables(uint32_t &num_vars) const =0
Get the number of elemental variables this element block has data for.
virtual dvs_element_type get_element_type() const =0
Get the element type for this block.
IElementBlock()=default
default
virtual dvs_ret get_variable_data(const IVar *var, uint32_t *num_values, float *array)=0
Get the variable data on this mesh chunk by by variable definition.
Interface to get hash information from DVS objects.
Interface to get variable hash information from DVS objects.
Interface for variables for the DVS Reader API.
DVS Reader API Hash Interface.
DVS Reader API Variable Hash Interface.
Contains enums used in C/C++ API.
dvs_element_type
List of macro generated enums.
Contains errors used in the DVS C/C++ API.
int32_t dvs_ret
Return value of methods, TODO.