Skip to main content

Post-processing tools 2023 R2

DVS::IClient Class Reference

Last update: 17.04.2023

API for solvers to use to send data to EnSight servers. More...

#include <dvs_client_interface.h>

Public Member Functions

 IClient ()=default
 default
 
virtual ~IClient ()=default
 default
 
 IClient (IClient &&)=default
 default
 
IClientoperator= (IClient &&)=default
 default
 
 IClient (const IClient &)=default
 support copying
 
IClientoperator= (const IClient &)=default
 default
 
virtual void set_logger (ILogger *logger)=0
 Set the logger interface to use. More...
 
virtual const char * get_version ()=0
 Get the version of the client API. More...
 
virtual dvs_ret begin_init (const char *dataset_name, uint32_t current_rank, uint32_t total_ranks, uint32_t num_chunks)=0
 Begins initialization for this rank. More...
 
virtual dvs_ret set_unit_system (const char *system)=0
 Set the unit system we are using for this session (optional) More...
 
virtual dvs_ret add_metadata (const char *const keys[], const char *const vals[], uint32_t num_metadata_pairs)=0
 Add metadata for the current dataset. More...
 
virtual dvs_ret add_part_info (const dvs_part_info *part_info, uint32_t num_parts)=0
 Add part information for session. More...
 
virtual dvs_ret add_var_info (const dvs_var_info *var_info, uint32_t num_vars)=0
 Add variable information for session. More...
 
virtual dvs_ret add_plot_info (const dvs_plot_info *plot_info, uint32_t num_plots)=0
 Add plot information for session. More...
 
virtual uint32_t get_num_parts () const =0
 Get the number of dvs_part_info objects this client has stored. More...
 
virtual uint32_t get_num_vars () const =0
 Get the number of dvs_var_info objects this client has stored. More...
 
virtual uint32_t get_num_plots () const =0
 Get the number of dvs_plot_info objects this client has stored. More...
 
virtual const dvs_part_infoget_part_info (uint32_t index) const =0
 Get the dvs_part_info object for a specific index. More...
 
virtual dvs_ret get_part_id (const std::string &name, uint32_t &id) const =0
 Get the ID being used by the client for the named part. More...
 
virtual const dvs_var_infoget_var_info (uint32_t index) const =0
 Get the dvs_var_info object for a specific index. More...
 
virtual dvs_ret get_var_id (const std::string &name, uint32_t &id) const =0
 Get the ID being used by the client for the named var. More...
 
virtual const dvs_plot_infoget_plot_info (uint32_t index) const =0
 Get the dvs_plot_info object for a specific index. More...
 
virtual dvs_ret get_plot_id (const std::string &name, uint32_t &id) const =0
 Get the ID being used by the client for the named plot. More...
 
virtual dvs_ret end_init ()=0
 Finish initialization for this rank. More...
 
virtual dvs_ret begin_update (uint32_t update_num, uint32_t rank, uint32_t chunk, float time)=0
 Method to begin an update. More...
 
virtual dvs_ret update_nodes (uint32_t part_id, const float *x, const float *y, const float *z, uint32_t num_values)=0
 Update nodes for a specific part. More...
 
virtual dvs_ret update_nodes_structured (uint32_t part_id, const uint32_t global_ijk_max[3], const uint32_t local_ijk_min[3], const uint32_t local_ijk_max[3], const float origin[3], const float dir_i[3], const float dir_j[3], const float dir_k[3], const float *i_vals, const float *j_vals, const float *k_vals)=0
 Update the nodes for a parallelepiped structured part. More...
 
virtual dvs_ret update_nodes_structured (uint32_t part_id, const uint32_t global_ijk_max[3], const uint32_t local_ijk_min[3], const uint32_t local_ijk_max[3], const float *x_vals, const float *y_vals, const float *z_vals)=0
 Update the nodes for a curvilinear structured part. More...
 
virtual dvs_ret update_elements (uint32_t part_id, dvs_element_type type, const uint32_t *indices, uint32_t num_indices)=0
 Update elements for a specific part and element type. More...
 
virtual dvs_ret update_elements_polygon (uint32_t part_id, dvs_element_type type, const uint32_t *nodes_per_polygon, uint32_t nodes_per_polygon_size, const uint32_t *indices, uint32_t indices_size)=0
 Update N-SIDED elements. More...
 
virtual dvs_ret update_elements_polyhedral (uint32_t part_id, dvs_element_type type, const uint32_t *faces_per_element, uint32_t faces_per_element_size, const uint32_t *nodes_per_face, uint32_t nodes_per_face_size, const uint32_t *indices, uint32_t indices_size)=0
 Update N-FACED Elements. More...
 
virtual dvs_ret update_var_case (dvs_var_type var_type, uint32_t var_id, const float *values, uint32_t num_values)=0
 Update case variable. More...
 
virtual dvs_ret update_var_part (dvs_var_type var_type, uint32_t var_id, uint32_t part_id, const float *values, uint32_t num_values)=0
 Update part vector variable. More...
 
virtual dvs_ret update_var_element (dvs_element_type elem_type, dvs_var_type var_type, uint32_t var_id, uint32_t part_id, const float *values, uint32_t num_values)=0
 Update elemental scalar variable values. More...
 
virtual dvs_ret update_var_node (dvs_var_type var_type, uint32_t var_id, uint32_t part_id, const float *values, uint32_t num_values)=0
 Update nodal variable values. More...
 
virtual dvs_ret update_var_field (dvs_var_location location, dvs_element_type elem_type, dvs_var_type var_type, uint32_t var_id, uint32_t part_id, const float *values, uint32_t num_values)=0
 Update var field values (nodal or elemental) More...
 
virtual dvs_ret update_plot (uint32_t plot_id, const float *x_values, const float *y_values, uint32_t num_values)=0
 Update plot data for plot. More...
 
virtual dvs_ret end_update ()=0
 Call to end the update for this timestep/rank/chunk. More...
 
virtual dvs_ret delete_item (uint32_t update_num, uint32_t rank, const char *filter)=0
 Delete an item. More...
 

Detailed Description

API for solvers to use to send data to EnSight servers.

This interface class wraps the client type and other functionality such as data deduplication so the user doesn't need to worry about it. We can add functionality to this without needing solver code to be modified. This will also hide Ensight sessions potentially being taken down and brought up dynamically.

Definition at line 80 of file dvs_client_interface.h.

Member Function Documentation

◆ add_metadata()

virtual dvs_ret DVS::IClient::add_metadata ( const char *const  keys[],
const char *const  vals[],
uint32_t  num_metadata_pairs 
)
pure virtual

Add metadata for the current dataset.

Errors:

  • DVS_NONE: Success
  • DVS_PARAM_NULL: Method called with NULL params or num_metadata_pairs == 0
  • DVS_CLIENT_INVALID_TRANSPORT: Internal error, should not happen
  • DVS_TRANSPORT_NULL_INVALID_SERVER: Internal error, should not happen
  • DVS_VERSION_MISMATCH: Client version out of date with server version, update server and client to match
  • DVS_VERSION_UNKNOWN: Unable to determine server version, update the server to match the client
  • DVS_TRANSPORT_SERVICE_FAILURE: Normally caused by server call retry time out or invalid secret key
Parameters
[in]keysstring array of UTF-8 Compatible string keys, each string should be null terminated
[in]valsstring array of UTF-8 Compatible string values, each string should be null terminated
[in]num_metadata_pairsnumber of key/value pairs in the arrays
Returns
dvs_ret DVS_NONE on success, otherwise see method description

◆ add_part_info()

virtual dvs_ret DVS::IClient::add_part_info ( const dvs_part_info part_info,
uint32_t  num_parts 
)
pure virtual

Add part information for session.

NOTE: These cannot be changed once end_init() is called.

Parameters
[in]part_infoarray of global parts across entire simulaton
num_partsnumber of part info objects in part_info
Returns
dvs_ret TODO

◆ add_plot_info()

virtual dvs_ret DVS::IClient::add_plot_info ( const dvs_plot_info plot_info,
uint32_t  num_plots 
)
pure virtual

Add plot information for session.

NOTE: These cannot be changed once end_init() is called.

Parameters
[in]plot_infoarray of global plot information across entire simulation
num_plotsnumber of plot_info objects in plot_info
Returns
dvs_ret TODO

◆ add_var_info()

virtual dvs_ret DVS::IClient::add_var_info ( const dvs_var_info var_info,
uint32_t  num_vars 
)
pure virtual

Add variable information for session.

NOTE: These cannot be changed once end_init() is called.

Parameters
[in]var_infoarray of global variable information across entire simulation
num_varsnumber of var info objects in var_info
Returns
dvs_ret TODO

◆ begin_init()

virtual dvs_ret DVS::IClient::begin_init ( const char *  dataset_name,
uint32_t  current_rank,
uint32_t  total_ranks,
uint32_t  num_chunks 
)
pure virtual

Begins initialization for this rank.

Parameters
dataset_namename for dataset
current_rankthe rank we are sending init info for (zero based)
total_ranksthe total number of ranks being used across solver nodes
num_chunksthe number of chunks being used for this rank (usually 1)
Returns
dvs_ret TODO

◆ begin_update()

virtual dvs_ret DVS::IClient::begin_update ( uint32_t  update_num,
uint32_t  rank,
uint32_t  chunk,
float  time 
)
pure virtual

Method to begin an update.

Parameters
update_numupdate number of this update, must be monotonically increasing
rankthe rank we are sending an update for (zero based)
chunkthe chunk number this update is for (zero based)
timetime in seconds this update is for
Returns
dvs_ret TODO

◆ delete_item()

virtual dvs_ret DVS::IClient::delete_item ( uint32_t  update_num,
uint32_t  rank,
const char *  filter 
)
pure virtual

Delete an item.

Currently this will only allow for timesteps to be deleted. In the future it can be expanded to all objects via the filter mechanism (see Query Stanzas). Currently this supports the operands of eq, gt, gte, lt, lte. Example: To delete all timesteps >= time 1.1 the filter would be "/timestep.time/gte/1.1//" .

It also currently only supports one statement so /timestep.time/gt/1.1//and/timestep.time/lt/2.1// is not valid as of version 1.1.0.

Note: The update number should be monotonically increasing with the begin_update calls

Parameters
update_numupdate number of this update, must be monotonically increasing
rankrank making this call
filterfilter for the item(s) to delete see detailed description for more info
Returns
dvs_ret TODO

◆ end_init()

virtual dvs_ret DVS::IClient::end_init ( )
pure virtual

Finish initialization for this rank.

This must be called to let server know initialization for this rank is complete

Returns
dvs_ret TODO

◆ end_update()

virtual dvs_ret DVS::IClient::end_update ( )
pure virtual

Call to end the update for this timestep/rank/chunk.

Returns
dvs_ret TODO

◆ get_num_parts()

virtual uint32_t DVS::IClient::get_num_parts ( ) const
pure virtual

Get the number of dvs_part_info objects this client has stored.

Note: This gets the number of part info objects this client has. It does not query the server for the information.

Returns
uint32_t number of dvs_part_info objects

◆ get_num_plots()

virtual uint32_t DVS::IClient::get_num_plots ( ) const
pure virtual

Get the number of dvs_plot_info objects this client has stored.

Note: This gets the number of plot info objects this client has. It does not query the server for the information.

Returns
uint32_t number of dvs_plot_info objects

◆ get_num_vars()

virtual uint32_t DVS::IClient::get_num_vars ( ) const
pure virtual

Get the number of dvs_var_info objects this client has stored.

Note: This gets the number of part info objects this client has. It does not query the server for the information.

Returns
uint32_t number of dvs_var_info objects

◆ get_part_id()

virtual dvs_ret DVS::IClient::get_part_id ( const std::string &  name,
uint32_t &  id 
) const
pure virtual

Get the ID being used by the client for the named part.

Errors: DVS_NONE: Success DVS_INVALID_NAME: No object with name found DVS_ID_NO_VALID_SESSION: No session found matching session_id DVS_ID_INVALID_TYPE: Session id is of wrong type (possibly server) DVS_PARAM_NULL: Null param passed in

Parameters
[in]namethe name of the part to search for
[out]idUINT32_MAX on failure, otherwise the id of the part for this client
Returns
dvs_ret DVS_NONE on success, else see method description

◆ get_part_info()

virtual const dvs_part_info* DVS::IClient::get_part_info ( uint32_t  index) const
pure virtual

Get the dvs_part_info object for a specific index.

Note: This only gets the dvs_part_info objects from the current client it does not query the server for the information

Parameters
indexindex of the dvs_part_info object to retrieve
Returns
const dvs_part_info* found object, nullptr if not found

◆ get_plot_id()

virtual dvs_ret DVS::IClient::get_plot_id ( const std::string &  name,
uint32_t &  id 
) const
pure virtual

Get the ID being used by the client for the named plot.

Errors: DVS_NONE: Success DVS_INVALID_NAME: No object with name found DVS_ID_NO_VALID_SESSION: No session found matching session_id DVS_ID_INVALID_TYPE: Session id is of wrong type (possibly server) DVS_PARAM_NULL: Null param passed in

Parameters
[in]namethe name of the plot to search for
[out]idUINT32_MAX on failure, otherwise the id of the plot for this client
Returns
dvs_ret DVS_NONE on success, else see method description

◆ get_plot_info()

virtual const dvs_plot_info* DVS::IClient::get_plot_info ( uint32_t  index) const
pure virtual

Get the dvs_plot_info object for a specific index.

Note: This only gets the dvs_plot_info objects from the current client it does not query the server for the information

Parameters
indexindex of the dvs_plot_info object to retrieve
Returns
const dvs_plot_info* found object, nullptr if not found

◆ get_var_id()

virtual dvs_ret DVS::IClient::get_var_id ( const std::string &  name,
uint32_t &  id 
) const
pure virtual

Get the ID being used by the client for the named var.

Errors: DVS_NONE: Success DVS_INVALID_NAME: No object with name found DVS_ID_NO_VALID_SESSION: No session found matching session_id DVS_ID_INVALID_TYPE: Session id is of wrong type (possibly server) DVS_PARAM_NULL: Null param passed in

Parameters
[in]namethe name of the var to search for
[out]idUINT32_MAX on failure, otherwise the id of the var for this client
Returns
dvs_ret DVS_NONE on success, else see method description

◆ get_var_info()

virtual const dvs_var_info* DVS::IClient::get_var_info ( uint32_t  index) const
pure virtual

Get the dvs_var_info object for a specific index.

Note: This only gets the dvs_var_info objects from the current client it does not query the server for the information

Parameters
indexindex of the dvs_var_info object to retrieve
Returns
const dvs_var_info* found object, nullptr if not found

◆ get_version()

virtual const char* DVS::IClient::get_version ( )
pure virtual

Get the version of the client API.

NOTE: The version is of the format X.Y.Z where X=MAJOR, Y = MINOR, and Z = PATCH. Anything other than a change in Z or PATCH is incompatible with another version and needs to be upgraded to the latest library

Returns
const char* the semantic version of the API

◆ set_logger()

virtual void DVS::IClient::set_logger ( ILogger logger)
pure virtual

Set the logger interface to use.

Set a logger interface for the client to use. This object will have DVS::ILogger::release() invoked on it. If release() is not implemented the memory should be destroyed by the caller after the client is destroyed.

Parameters
loggerlogger to use, will be released if DVS::ILogger::release() is implemented

◆ set_unit_system()

virtual dvs_ret DVS::IClient::set_unit_system ( const char *  system)
pure virtual

Set the unit system we are using for this session (optional)

NOTE: This cannot be changed once end_init() is called.

Parameters
[in]systemunit system to set, see: https://nexusdemo.ensight.com/docs/python/html/ENS_UNITSSchema.html
Returns
dvs_ret TODO

◆ update_elements()

virtual dvs_ret DVS::IClient::update_elements ( uint32_t  part_id,
dvs_element_type  type,
const uint32_t *  indices,
uint32_t  num_indices 
)
pure virtual

Update elements for a specific part and element type.

This will update the elements for a part. The number of indices needed will vary depending on the type and the num_elements. I.E. if updating triangles with 3 elements the indices array should be of size 9 (3 triangles with 3 indices)

Parameters
part_idunique id of part to update elements for (must match parts added with dvs_add_part_info)
typeelement type of elements to update (points, triangles, quads, etc.)
indicesnode indices for each element, for ordering info per element type see EnSight's User Manual, section 9.2.3 Supported EnSight Gold Elements
num_indicesthe size of the indices array
Returns
ret_val TODO

◆ update_elements_polygon()

virtual dvs_ret DVS::IClient::update_elements_polygon ( uint32_t  part_id,
dvs_element_type  type,
const uint32_t *  nodes_per_polygon,
uint32_t  nodes_per_polygon_size,
const uint32_t *  indices,
uint32_t  indices_size 
)
pure virtual

Update N-SIDED elements.

This method will send over a list of arbitrarily sized polygons. The nodes_per_polygon param is an array containing the size of each polygon. I.E. if sending a quadrangle, and a 25 sided element the nodes_per_polygon array might look like [4, 25]. The size of the indices array would be 4+25=29 in this example where the first 4 items in the indices array would correspond to the first item in the nodes_per_polygon array, the next 25 items in the indices array would correspond to the second item in the nodes_per_polygon array

Parameters
part_idunique id of part to update elements for (must match parts added with dvs_add_part_info)
typeelement type of elements to update (N_SIDED_POLYGON or N_SIDED_POLYGON_GHOST)
nodes_per_polygonArray containing number of nodes in each element/polygon
nodes_per_polygon_sizesize of nodes_per_polygon array
indicesArray of node indices for the polygons described in nodes_per_polygon
indices_sizeSize of indices array
Returns
dvs_ret TODO

◆ update_elements_polyhedral()

virtual dvs_ret DVS::IClient::update_elements_polyhedral ( uint32_t  part_id,
dvs_element_type  type,
const uint32_t *  faces_per_element,
uint32_t  faces_per_element_size,
const uint32_t *  nodes_per_face,
uint32_t  nodes_per_face_size,
const uint32_t *  indices,
uint32_t  indices_size 
)
pure virtual

Update N-FACED Elements.

Parameters
part_idunique id of part to update elements for (must match parts added with dvs_add_part_info)
typeelement type of elements to update (CONVEX_POLYHEDRON or CONVEX_POLYHEDRON_GHOST)
faces_per_elementArray of how many faces are in each element
faces_per_element_sizesize of faces_per_element array
nodes_per_faceArray of how many nodes each face contains
nodes_per_face_sizesize of nodes_per_face array
indicesNode indices for elements
indices_sizesize of node indices
Returns
dvs_ret TODO

◆ update_nodes()

virtual dvs_ret DVS::IClient::update_nodes ( uint32_t  part_id,
const float *  x,
const float *  y,
const float *  z,
uint32_t  num_values 
)
pure virtual

Update nodes for a specific part.

Parameters
part_idthe id of part we are updating nodes for
[in]xarray of x components for nodes
[in]yarray of y components for nodes
[in]zarray of z components for nodes
num_valuesnumber of values in individual x/y/z arrays (max nodes in part 2^31)
Returns
dvs_ret TODO

◆ update_nodes_structured() [1/2]

virtual dvs_ret DVS::IClient::update_nodes_structured ( uint32_t  part_id,
const uint32_t  global_ijk_max[3],
const uint32_t  local_ijk_min[3],
const uint32_t  local_ijk_max[3],
const float *  x_vals,
const float *  y_vals,
const float *  z_vals 
)
pure virtual

Update the nodes for a curvilinear structured part.

A curvilinear structured part is represented by the global IJK grid across ranks, the local sub-block's IJK rank, and the actual XYZ values for each IJK grid point in the local grid.

Local IJK Dimensions: The min/max represent a local sub-block from the overall global grid. This could be the entire range if not splitting the grid into multiple ranks or a specific slice. For example you could have a 2ix3jx4k grid where it was split across the I dimension. One rank would specify min/max IJK as min:[0,0,0], max:[0,2,3], the other rank would specify min/max IJK as min:[1,0,0], max:[1,2,3]. If sending the data all as one rank it would be the full range of: min:[0,0,0], max:[1,2,3]

IJK Vals: These specify the actual XYZ location for each IJK value in the grid. The order of these should be by the fastest changing dimension being I, the next being J, and the next being K. I.E. for a 2x2x2 grid the x_vals array would contain the X component for IJK values: [i0 j0 k0][i1 j0 k0][i0 j1 k0][i1 j1 k0][i0 j0 k1][i1 j0 k1][i0 j1 k1][i1 j1 k1].

Note: iblanking information is sent via update_var_node() using SCALAR as the var type and DVS_STRUCTURED_IBLANKED_NODES as the variable id

Note: Ghost element information is sent update_var_element() using SCALAR as the var type and DVS_STRUCTURED_GHOST_ELEMENTS as the variable id

Parameters
[in]part_idthe id of part we are updating nodes for
[in]global_ijk_maxThe one based global ijk max of the mesh across all ranks
[in]local_ijk_minthe zero based local sub-block ijk min for this rank
[in]local_ijk_maxthe zero based local sub-block ijk max for this rank
x_valsThe actual X component for each IJK value for the local sub block (size (iMax-iMin+1)*(jMax-jMin+1)*(kMax-kMin+1))
y_valsThe actual Y component for each IJK value for the local sub block (size (iMax-iMin+1)*(jMax-jMin+1)*(kMax-kMin+1))
z_valsThe actual Z component for each IJK value for the local sub block (size (iMax-iMin+1)*(jMax-jMin+1)*(kMax-kMin+1))
Returns
dvs_ret TODO

◆ update_nodes_structured() [2/2]

virtual dvs_ret DVS::IClient::update_nodes_structured ( uint32_t  part_id,
const uint32_t  global_ijk_max[3],
const uint32_t  local_ijk_min[3],
const uint32_t  local_ijk_max[3],
const float  origin[3],
const float  dir_i[3],
const float  dir_j[3],
const float  dir_k[3],
const float *  i_vals,
const float *  j_vals,
const float *  k_vals 
)
pure virtual

Update the nodes for a parallelepiped structured part.

A parallelepiped structured part is represented by the global IJK grid across ranks, the local sub-block's IJK range, the ogigin of the IJK sub-block, the normalized direction (unit) vectors for each IJK dimension, and the absolute distances for each IJK index from the origin of this sub-block.

Global IJK Max: for a 2x3x4 grid would be: [2 3 4]

Local IJK Dimensions: The min/max represent a local sub-block from the overall global grid. This could be the entire range if not splitting the grid into multiple ranks or a specific slice. For example you could have a 2ix3jx4k grid where it was split across the I dimension. One rank would specify min/max IJK as min:[0,0,0], max:[0,2,3], the other rank would specify min/max IJK as min:[1,0,0], max:[1,2,3]. If sending the data all as one rank it would be the full range of: min:[0,0,0], max:[1,2,3]

Direction (Unit) Vectors: These represent the XYZ orientation of each IJK axis. I.E. if I==X J==Y K==Z the vectors would be dir_i: [1 0 0], dir_j: [0 1 0], dir_k: [0 0 1]

IJK Vals: These specify the absolute distance from the XYZ origin in each IJK direction(specified by the direction vectors). So if the distance was 1 between every I index, 2 between every J index, and 3 in between every K index the arrays would look like: i_vals: [0 1 2 3 4 5....] j_vals: [0 2 4 6 8 10....] k_vals: [0 3 6 9 12 15....]

Note: iblanking information is sent via update_var_node() using SCALAR as the var type and DVS_STRUCTURED_IBLANKED_NODES as the variable id

Note: Ghost element information is sent update_var_element() using SCALAR as the var type and DVS_STRUCTURED_GHOST_ELEMENTS as the variable id

Parameters
[in]part_idthe id of part we are updating nodes for
[in]global_ijk_maxThe one based global ijk max of the mesh across all ranks
[in]local_ijk_minthe zero based local sub-block ijk min for this rank
[in]local_ijk_maxthe zero based local sub-block ijk max for this rank
[in]originthe XYZ origin of this local ijk block
[in]dir_iThe normalized XYZ direction vector for the i dimension
[in]dir_jThe normalized XYZ direction vector for the j dimension
[in]dir_kThe normalized XYZ direction vector for the k dimension
[in]i_valsThe absolute distance vector for each i index from the local sub block's origin of size iMax-iMin+1
[in]j_valsThe absolute distance vector for each j index from the local sub block's origin of size jMax-jMin+1
[in]k_valsThe absolute distance vector for each k index from the local sub block's origin of size kMax-kMin+1
Returns
dvs_ret TODO

◆ update_plot()

virtual dvs_ret DVS::IClient::update_plot ( uint32_t  plot_id,
const float *  x_values,
const float *  y_values,
uint32_t  num_values 
)
pure virtual

Update plot data for plot.

Parameters
plot_idID of plot
[in]x_valuesArray of x axis values of plot
[in]y_valuesarray of y axis values of plot
num_valuesnumber of x/y value pairs being sent
Returns
dvs_ret TODO

◆ update_var_case()

virtual dvs_ret DVS::IClient::update_var_case ( dvs_var_type  var_type,
uint32_t  var_id,
const float *  values,
uint32_t  num_values 
)
pure virtual

Update case variable.

Parameters
var_typetype of variable we are updating
var_idunique id of variable
[in]valuesarray of values for variable size based on type
num_valuessize of values array
Returns
dvs_ret TODO

◆ update_var_element()

virtual dvs_ret DVS::IClient::update_var_element ( dvs_element_type  elem_type,
dvs_var_type  var_type,
uint32_t  var_id,
uint32_t  part_id,
const float *  values,
uint32_t  num_values 
)
pure virtual

Update elemental scalar variable values.

Parameters
elem_typeelement type
var_typetype of var see ensight_dynmaic_data_enums.h: dvs_element_type for more info
var_idid of variable
part_idid of part
[in]valuesarray of values to update, should be same size as number of elements sent
num_valuessize of values array
Returns
dvs_ret TODO

◆ update_var_field()

virtual dvs_ret DVS::IClient::update_var_field ( dvs_var_location  location,
dvs_element_type  elem_type,
dvs_var_type  var_type,
uint32_t  var_id,
uint32_t  part_id,
const float *  values,
uint32_t  num_values 
)
pure virtual

Update var field values (nodal or elemental)

Parameters
locationLocation of variable (node or element)
elem_typeElement type if location element, else undefined
var_typeType of variable
var_idID of variable
part_idID of part variable is associated with
[in]valuesarray of values to update
num_valuessize of values array
Returns
dvs_ret TODO

◆ update_var_node()

virtual dvs_ret DVS::IClient::update_var_node ( dvs_var_type  var_type,
uint32_t  var_id,
uint32_t  part_id,
const float *  values,
uint32_t  num_values 
)
pure virtual

Update nodal variable values.

Parameters
var_typetype of var
var_idid of variable
part_idid of part
[in]valuesarray of values to update, should be same size as number of nodes sent with update_nodes
num_valuessize of values array
Returns
dvs_ret TODO

◆ update_var_part()

virtual dvs_ret DVS::IClient::update_var_part ( dvs_var_type  var_type,
uint32_t  var_id,
uint32_t  part_id,
const float *  values,
uint32_t  num_values 
)
pure virtual

Update part vector variable.

Parameters
var_typetype of variable we are updating
var_idid of variable
part_idid of part
[in]valuesarray of values for variable size based on type
num_valuessize of values array
Returns
dvs_ret TODO

The documentation for this class was generated from the following file:
  • D:/ANSYSDev/NoBackup/branches/EnSight-Second-Coming/ensight/user_defined_src/readers/dvs/dvs_client_interface.h