    

 ## On this page

  

 

 # dvs\_element\_block\_interface

 Last update: 16.07.2025 

[Go to the documentation of this file.](dvs__element__block__interface_8h.xhtml)<a id="l00001" name="l00001"></a> 1 /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

<a id="l00002" name="l00002"></a> 2 \*

<a id="l00003" name="l00003"></a> 3 \* (C) 2022 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00004" name="l00004"></a> 4 \*

<a id="l00005" name="l00005"></a> 5 \* Restricted Rights Legend

<a id="l00006" name="l00006"></a> 6 \*

<a id="l00007" name="l00007"></a> 7 \* Use, duplication, or disclosure of this

<a id="l00008" name="l00008"></a> 8 \* software and its documentation by the

<a id="l00009" name="l00009"></a> 9 \* Government is subject to restrictions as

<a id="l00010" name="l00010"></a> 10 \* set forth in subdivision \[(b)(3)(ii)\] of

<a id="l00011" name="l00011"></a> 11 \* the Rights in Technical Data and Computer

<a id="l00012" name="l00012"></a> 12 \* Software clause at 52.227-7013.

<a id="l00013" name="l00013"></a> 13 \*

<a id="l00014" name="l00014"></a> 14 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

<a id="l00015" name="l00015"></a> 15 \*/

<a id="l00016" name="l00016"></a> 16 

<a id="l00024" name="l00024"></a> 24 \#ifndef \_\_\_DVS\_ELEMENT\_BLOCK\_INTERFACE\_H\_\_\_

<a id="l00025" name="l00025"></a> 25 \#define \_\_\_DVS\_ELEMENT\_BLOCK\_INTERFACE\_H\_\_\_

<a id="l00026" name="l00026"></a> 26 

<a id="l00027" name="l00027"></a> 27 \#include "[dynamic\_visualization\_store\_enums.h](dynamic__visualization__store__enums_8h.xhtml)"

<a id="l00028" name="l00028"></a> 28 \#include "[dynamic\_visualization\_store\_error\_codes.h](dynamic__visualization__store__error__codes_8h.xhtml)"

<a id="l00029" name="l00029"></a> 29 \#include "[include/dvs\_hash\_interface.h](dvs__hash__interface_8h.xhtml)"

<a id="l00030" name="l00030"></a> 30 \#include "[include/dvs\_var\_hash\_interface.h](dvs__var__hash__interface_8h.xhtml)"

<a id="l00031" name="l00031"></a> 31 

<a id="l00032" name="l00032"></a> 32 namespace DVS

<a id="l00033" name="l00033"></a> 33 {

<a id="l00034" name="l00034"></a> 34 

<a id="l00051" name="l00051"></a>[ 51](class_d_v_s_1_1_i_element_block.xhtml) class [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml) : public [DVS::IHash](class_d_v_s_1_1_i_hash.xhtml), public [DVS::IVarHash](class_d_v_s_1_1_i_var_hash.xhtml)

<a id="l00052" name="l00052"></a> 52 {

<a id="l00053" name="l00053"></a> 53 public:

<a id="l00054" name="l00054"></a> 54 

<a id="l00055" name="l00055"></a>[ 55](class_d_v_s_1_1_i_element_block.xhtml#af83862fd513c3392d18a6fcbb5a4ab0e) [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#af83862fd513c3392d18a6fcbb5a4ab0e)() = default; 

<a id="l00056" name="l00056"></a>[ 56](class_d_v_s_1_1_i_element_block.xhtml#a6da0a1dc03a4bfa4c2bc0b29cf8a2608) virtual [~IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a6da0a1dc03a4bfa4c2bc0b29cf8a2608)() = default; 

<a id="l00057" name="l00057"></a>[ 57](class_d_v_s_1_1_i_element_block.xhtml#a47b94abe3d1bf04c3e417a2722937408) [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a47b94abe3d1bf04c3e417a2722937408)([IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp;&amp;) = default; 

<a id="l00058" name="l00058"></a>[ 58](class_d_v_s_1_1_i_element_block.xhtml#a83872a8c2da05b8a232a4428e73c4428) [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp; [operator=](class_d_v_s_1_1_i_element_block.xhtml#a83872a8c2da05b8a232a4428e73c4428)([IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp;&amp;) = default; 

<a id="l00059" name="l00059"></a>[ 59](class_d_v_s_1_1_i_element_block.xhtml#a5316f6ee2be9c742a05dff4ff78de760) [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a5316f6ee2be9c742a05dff4ff78de760)(const [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp;) = default; 

<a id="l00060" name="l00060"></a>[ 60](class_d_v_s_1_1_i_element_block.xhtml#abc38cbc72fbd521c55698d1d2b37d170) [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp; [operator=](class_d_v_s_1_1_i_element_block.xhtml#abc38cbc72fbd521c55698d1d2b37d170)(const [IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)&amp;) = default; 

<a id="l00061" name="l00061"></a> 61 

<a id="l00067" name="l00067"></a>[ 67](class_d_v_s_1_1_i_element_block.xhtml#aebec4b30e0b8dcb53b4b34305fa0d61e) virtual [dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895) [get\_element\_type](class_d_v_s_1_1_i_element_block.xhtml#aebec4b30e0b8dcb53b4b34305fa0d61e)() const = 0;

<a id="l00068" name="l00068"></a> 68 

<a id="l00078" name="l00078"></a>[ 78](class_d_v_s_1_1_i_element_block.xhtml#a01c36edfb491803556b3f30483339d26) virtual bool [get\_is\_ghost](class_d_v_s_1_1_i_element_block.xhtml#a01c36edfb491803556b3f30483339d26)() const = 0;

<a id="l00079" name="l00079"></a> 79 

<a id="l00092" name="l00092"></a>[ 92](class_d_v_s_1_1_i_element_block.xhtml#ae48b88793f907e63943121a085528393) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_num\_variables](class_d_v_s_1_1_i_element_block.xhtml#ae48b88793f907e63943121a085528393)(uint32_t&amp; num_vars) const = 0;

<a id="l00093" name="l00093"></a> 93 

<a id="l00103" name="l00103"></a>[ 103](class_d_v_s_1_1_i_element_block.xhtml#a859fb958b8be5da25a59cfaaeb4ab0c5) virtual const [DVS::IVar](class_d_v_s_1_1_i_var.xhtml)* [get\_variable](class_d_v_s_1_1_i_element_block.xhtml#a859fb958b8be5da25a59cfaaeb4ab0c5)(uint32_t index) const = 0;

<a id="l00104" name="l00104"></a> 104 

<a id="l00126" name="l00126"></a>[ 126](class_d_v_s_1_1_i_element_block.xhtml#a0bc52709b9440da6848d2b18751f51f4) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_variable\_data](class_d_v_s_1_1_i_element_block.xhtml#a0bc52709b9440da6848d2b18751f51f4)(uint32_t index, uint32_t* num_values, float* array) = 0;

<a id="l00127" name="l00127"></a> 127 

<a id="l00147" name="l00147"></a>[ 147](class_d_v_s_1_1_i_element_block.xhtml#aff20dc24794c5dfdfe009fce86f79659) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_variable\_data](class_d_v_s_1_1_i_element_block.xhtml#aff20dc24794c5dfdfe009fce86f79659)(const [IVar](class_d_v_s_1_1_i_var.xhtml)* var, uint32_t* num_values, float* array) = 0;

<a id="l00148" name="l00148"></a> 148 

<a id="l00162" name="l00162"></a>[ 162](class_d_v_s_1_1_i_element_block.xhtml#ab95989900765aabb0eccefbe8c25fedd) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_nodes\_per\_element](class_d_v_s_1_1_i_element_block.xhtml#ab95989900765aabb0eccefbe8c25fedd)(uint32_t&amp; nodes_per_element) const = 0;

<a id="l00163" name="l00163"></a> 163 

<a id="l00170" name="l00170"></a>[ 170](class_d_v_s_1_1_i_element_block.xhtml#a74e15d2c0471232fca5dda950cd5dcbb) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_num\_elements](class_d_v_s_1_1_i_element_block.xhtml#a74e15d2c0471232fca5dda950cd5dcbb)(uint32_t&amp; num_elements) const = 0;

<a id="l00171" name="l00171"></a> 171 

<a id="l00185" name="l00185"></a>[ 185](class_d_v_s_1_1_i_element_block.xhtml#a310ce04445517dd10942e7ba224ac75d) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity\_size](class_d_v_s_1_1_i_element_block.xhtml#a310ce04445517dd10942e7ba224ac75d)(uint32_t&amp; indices_size) = 0;

<a id="l00186" name="l00186"></a> 186 

<a id="l00203" name="l00203"></a>[ 203](class_d_v_s_1_1_i_element_block.xhtml#a78959ba4b322598b6bb31fc205c0d3b7) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity](class_d_v_s_1_1_i_element_block.xhtml#a78959ba4b322598b6bb31fc205c0d3b7)(uint32_t* indices) = 0;

<a id="l00204" name="l00204"></a> 204 

<a id="l00222" name="l00222"></a>[ 222](class_d_v_s_1_1_i_element_block.xhtml#a21ddc1624e91860b6dd37c25d7bd333f) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity\_polygon\_size](class_d_v_s_1_1_i_element_block.xhtml#a21ddc1624e91860b6dd37c25d7bd333f)(uint32_t&amp; nodes_per_polygon_size, uint32_t&amp; indices_size) = 0;

<a id="l00223" name="l00223"></a> 223 

<a id="l00245" name="l00245"></a>[ 245](class_d_v_s_1_1_i_element_block.xhtml#a6b03d65937d395bbf9819e15b9c83288) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity\_polygon](class_d_v_s_1_1_i_element_block.xhtml#a6b03d65937d395bbf9819e15b9c83288)(uint32_t* nodes_per_polygon, uint32_t* indices) = 0;

<a id="l00246" name="l00246"></a> 246 

<a id="l00262" name="l00262"></a>[ 262](class_d_v_s_1_1_i_element_block.xhtml#aa9bc1541ae8c5114f133122dbbb247cd) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity\_polyhedral\_size](class_d_v_s_1_1_i_element_block.xhtml#aa9bc1541ae8c5114f133122dbbb247cd)(uint32_t&amp; faces_per_element_size,

<a id="l00263" name="l00263"></a> 263 uint32_t&amp; nodes_per_face_size,

<a id="l00264" name="l00264"></a> 264 uint32_t&amp; indices_size) = 0;

<a id="l00265" name="l00265"></a> 265 

<a id="l00290" name="l00290"></a>[ 290](class_d_v_s_1_1_i_element_block.xhtml#ab47ae0f50ceab792a872a47a867134e5) virtual [dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1) [get\_connectivity\_polyhedral](class_d_v_s_1_1_i_element_block.xhtml#ab47ae0f50ceab792a872a47a867134e5)(uint32_t* faces_per_element,

<a id="l00291" name="l00291"></a> 291 uint32_t* nodes_per_face,

<a id="l00292" name="l00292"></a> 292 uint32_t* indices) = 0;

<a id="l00293" name="l00293"></a> 293 };

<a id="l00294" name="l00294"></a> 294 

<a id="l00295" name="l00295"></a> 295 }//namespace DVS

<a id="l00296" name="l00296"></a> 296 

<a id="l00297" name="l00297"></a> 297 \#endif //\_\_\_DVS\_ELEMENT\_BLOCK\_INTERFACE\_H\_\_\_

[DVS::IElementBlock](class_d_v_s_1_1_i_element_block.xhtml)

Element Block Interface for DVS Reader API.

**Definition:** [dvs\_element\_block\_interface.h:52](dvs__element__block__interface_8h_source.xhtml#l00051)



[DVS::IElementBlock::get\_is\_ghost](class_d_v_s_1_1_i_element_block.xhtml#a01c36edfb491803556b3f30483339d26)

virtual bool get_is_ghost() const =0

Get if this element block is composed of ghost elements.



[DVS::IElementBlock::get\_variable\_data](class_d_v_s_1_1_i_element_block.xhtml#a0bc52709b9440da6848d2b18751f51f4)

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.



[DVS::IElementBlock::get\_connectivity\_polygon\_size](class_d_v_s_1_1_i_element_block.xhtml#a21ddc1624e91860b6dd37c25d7bd333f)

virtual dvs_ret get_connectivity_polygon_size(uint32_t &amp;nodes_per_polygon_size, uint32_t &amp;indices_size)=0

Get the size of the connectivity arrays for polygon elements.



[DVS::IElementBlock::get\_connectivity\_size](class_d_v_s_1_1_i_element_block.xhtml#a310ce04445517dd10942e7ba224ac75d)

virtual dvs_ret get_connectivity_size(uint32_t &amp;indices_size)=0

Get the size of the connectivity array.



[DVS::IElementBlock::IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a47b94abe3d1bf04c3e417a2722937408)

IElementBlock(IElementBlock &amp;&amp;)=default

default



[DVS::IElementBlock::IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a5316f6ee2be9c742a05dff4ff78de760)

IElementBlock(const IElementBlock &amp;)=default

support copying



[DVS::IElementBlock::get\_connectivity\_polygon](class_d_v_s_1_1_i_element_block.xhtml#a6b03d65937d395bbf9819e15b9c83288)

virtual dvs_ret get_connectivity_polygon(uint32_t *nodes_per_polygon, uint32_t *indices)=0

Get the connectivity information for polygonal element blocks.



[DVS::IElementBlock::~IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#a6da0a1dc03a4bfa4c2bc0b29cf8a2608)

virtual ~IElementBlock()=default

default



[DVS::IElementBlock::get\_num\_elements](class_d_v_s_1_1_i_element_block.xhtml#a74e15d2c0471232fca5dda950cd5dcbb)

virtual dvs_ret get_num_elements(uint32_t &amp;num_elements) const =0

Get the number of elements for this block.



[DVS::IElementBlock::get\_connectivity](class_d_v_s_1_1_i_element_block.xhtml#a78959ba4b322598b6bb31fc205c0d3b7)

virtual dvs_ret get_connectivity(uint32_t *indices)=0

Get the connectivity for basic unstructured element types.



[DVS::IElementBlock::operator=](class_d_v_s_1_1_i_element_block.xhtml#a83872a8c2da05b8a232a4428e73c4428)

IElementBlock &amp; operator=(IElementBlock &amp;&amp;)=default

default



[DVS::IElementBlock::get\_variable](class_d_v_s_1_1_i_element_block.xhtml#a859fb958b8be5da25a59cfaaeb4ab0c5)

virtual const DVS::IVar * get_variable(uint32_t index) const =0

Get the variable definition associates with the elemental variable for this index.



[DVS::IElementBlock::get\_connectivity\_polyhedral\_size](class_d_v_s_1_1_i_element_block.xhtml#aa9bc1541ae8c5114f133122dbbb247cd)

virtual dvs_ret get_connectivity_polyhedral_size(uint32_t &amp;faces_per_element_size, uint32_t &amp;nodes_per_face_size, uint32_t &amp;indices_size)=0

Get size of the connectivity arrays for polyhedral elements.



[DVS::IElementBlock::get\_connectivity\_polyhedral](class_d_v_s_1_1_i_element_block.xhtml#ab47ae0f50ceab792a872a47a867134e5)

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.



[DVS::IElementBlock::get\_nodes\_per\_element](class_d_v_s_1_1_i_element_block.xhtml#ab95989900765aabb0eccefbe8c25fedd)

virtual dvs_ret get_nodes_per_element(uint32_t &amp;nodes_per_element) const =0

Get the number of nodes per basic unstructured element.



[DVS::IElementBlock::operator=](class_d_v_s_1_1_i_element_block.xhtml#abc38cbc72fbd521c55698d1d2b37d170)

IElementBlock &amp; operator=(const IElementBlock &amp;)=default

default



[DVS::IElementBlock::get\_num\_variables](class_d_v_s_1_1_i_element_block.xhtml#ae48b88793f907e63943121a085528393)

virtual dvs_ret get_num_variables(uint32_t &amp;num_vars) const =0

Get the number of elemental variables this element block has data for.



[DVS::IElementBlock::get\_element\_type](class_d_v_s_1_1_i_element_block.xhtml#aebec4b30e0b8dcb53b4b34305fa0d61e)

virtual dvs_element_type get_element_type() const =0

Get the element type for this block.



[DVS::IElementBlock::IElementBlock](class_d_v_s_1_1_i_element_block.xhtml#af83862fd513c3392d18a6fcbb5a4ab0e)

IElementBlock()=default

default



[DVS::IElementBlock::get\_variable\_data](class_d_v_s_1_1_i_element_block.xhtml#aff20dc24794c5dfdfe009fce86f79659)

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.



[DVS::IHash](class_d_v_s_1_1_i_hash.xhtml)

Interface to get hash information from DVS objects.

**Definition:** [dvs\_hash\_interface.h:38](dvs__hash__interface_8h_source.xhtml#l00037)



[DVS::IVarHash](class_d_v_s_1_1_i_var_hash.xhtml)

Interface to get variable hash information from DVS objects.

**Definition:** [dvs\_var\_hash\_interface.h:40](dvs__var__hash__interface_8h_source.xhtml#l00039)



[DVS::IVar](class_d_v_s_1_1_i_var.xhtml)

Interface for variables for the DVS Reader API.

**Definition:** [dvs\_var\_interface.h:45](dvs__var__interface_8h_source.xhtml#l00044)



[dvs\_hash\_interface.h](dvs__hash__interface_8h.xhtml)

DVS Reader API Hash Interface.



[dvs\_var\_hash\_interface.h](dvs__var__hash__interface_8h.xhtml)

DVS Reader API Variable Hash Interface.



[dynamic\_visualization\_store\_enums.h](dynamic__visualization__store__enums_8h.xhtml)

Contains enums used in C/C++ API.



[dvs\_element\_type](dynamic__visualization__store__enums_8h.xhtml#af1c8824b29a0ab747460216716cc2895)

dvs_element_type

List of macro generated enums.

**Definition:** [dynamic\_visualization\_store\_enums.h:193](dynamic__visualization__store__enums_8h_source.xhtml#l00193)



[dynamic\_visualization\_store\_error\_codes.h](dynamic__visualization__store__error__codes_8h.xhtml)

Contains errors used in the DVS C/C++ API.



[dvs\_ret](dynamic__visualization__store__error__codes_8h.xhtml#a1d7466ae72e89fe36cbf2408b4f7d9c1)

int32_t dvs_ret

Return value of methods, TODO.

**Definition:** [dynamic\_visualization\_store\_error\_codes.h:17](dynamic__visualization__store__error__codes_8h_source.xhtml#l00017)