openfoam/applications/utilities/postProcessing/graphics/ensightFoamReader/global_extern_proto.h
graham 012494fdb5 STYLE: Fixing code style requirements for all apps.
Exception: applyWallFunctionBoundaryConditions.C cannot split #include
directives.
2010-07-27 15:27:05 +01:00

735 lines
24 KiB
C

/*--------------------------------------------------------------*/
/* Prototype Header file for EnSight External Reader */
/* DSO Library Routines */
/* */
/* intended to be included from global_extern.h only */
/*--------------------------------------------------------------*/
/* *************************************************************
* Copyright 1998 Computational Engineering International, Inc.
* All Rights Reserved.
*
* Restricted Rights Legend
*
* Use, duplication, or disclosure of this
* software and its documentation by the
* Government is subject to restrictions as
* set forth in subdivision [(b)(3)(ii)] of
* the Rights in Technical Data and Computer
* Software clause at 52.227-7013.
* *************************************************************
*/
#ifndef GLOBAL_EXTERN_PROTO_H
#define GLOBAL_EXTERN_PROTO_H
#include <stdio.h>
#ifdef WIN32
#define W32IMPORT __declspec( dllimport )
#define W32EXPORT __declspec( dllexport )
#else
#define W32IMPORT extern
#define W32EXPORT extern
#endif
/*----------------------
* Same in All Versions
*----------------------*/
W32EXPORT int
USERD_get_number_of_model_parts( void );
W32EXPORT int
USERD_get_block_coords_by_component(int block_number,
int which_component,
float *coord_array);
W32EXPORT int
USERD_get_block_iblanking(int block_number,
int *iblank_array);
W32EXPORT int
USERD_get_block_scalar_values(int block_number,
int which_scalar,
float *scalar_array);
W32EXPORT int
USERD_get_block_vector_values_by_component(int block_number,
int which_vector,
int which_component,
float *vector_array);
W32EXPORT int
USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
int *two_fields);
/*
* This mechanism is used to mark the fact that a given
* reader cannot be unloaded. We set this by default for
* C++ based readers as there are known issues with unloading
* a C++ DLL on certain platforms (Linux).
*/
W32EXPORT int
USERD_reader_unloadable(void);
#ifdef __cplusplus
/*
* Define a macro that defines the cpp function as part of the
* USERD_get_name_of_reader declaration
*/
#ifndef NO_AUTO_UNLOADABLE_CODE
#if defined(LINUX) || defined(SGI)
#define USERD_get_name_of_reader \
USERD_reader_unloadable(void) { return(0); } \
int USERD_get_name_of_reader
#endif
#endif
#endif
W32EXPORT int
USERD_get_reader_descrip(char descrip[Z_MAXFILENP]);
W32EXPORT int
USERD_set_filenames(char filename_1[],
char filename_2[],
char the_path[],
int swapbytes);
W32EXPORT int
USERD_get_number_of_files_in_dataset( void );
W32EXPORT int
USERD_get_dataset_query_file_info(Z_QFILES *qfiles);
W32EXPORT int
USERD_get_changing_geometry_status( void );
W32EXPORT int
USERD_get_node_label_status( void );
W32EXPORT int
USERD_get_element_label_status( void );
W32EXPORT int
USERD_get_number_of_variables( void );
W32EXPORT void
USERD_stop_part_building( void );
W32EXPORT int
USERD_bkup(FILE *archive_file,
int backup_type);
/* -----------------------------------
* Optional routine allows getting data
* from the reader to modify server/client behavior
* ------------------------------------ */
W32EXPORT int
USERD_get_extra_data(int *target,
int *nints, int *nflts, int *nchrs,
int *pints, float *pflts, char *pchrs);
/* ----------------------------
* Extra "Before" GUI stuff available for all versions of API
* Note: this API suite is entirely optional...
* --------------------------- */
W32EXPORT void USERD_get_extra_gui_numbers(
int *num_Toggles,
int *num_pulldowns,
int *num_fields
);
W32EXPORT int USERD_get_extra_gui_defaults(
char **toggle_Title, /* [num_toggles][Z_LEN_GUI_TITLE_STR] */
int *toggle_default_status, /* [num_toggles] */
char **pulldown_Title, /* [num_pulldowns][Z_LEN_GUI_TITLE_STR] */
int *pulldown_number_in_list, /* [num_pulldowns] */
int *pulldown_default_selection, /* [num_pulldowns] */
char ***pulldown_item_strings, /* [num_pulldowns][Z_MAX_NUM_GUI_PULL_ITEMS][Z_LEN_GUI_PULL_STR] */
char **field_Title, /* [num_fields][Z_LEN_GUI_TITLE_STR] */
char **field_user_string /* [num_fields][Z_LEN_GUI_FIELD_STR] */
);
W32EXPORT void USERD_set_extra_gui_data(
int *toggle, /* [num_toggle] */
int *pulldown, /* [num_pulldown] */
char **field_text /* [num_fields][Z_LEN_GUI_FIELD_STR] */
);
/* ----------------------------
* Extra "After" GUI stuff available for all versions of API
* Note: this API suite is entirely optional...
* --------------------------- */
W32EXPORT void USERD_get_var_extract_gui_numbers(
int *num_Toggles,
int *num_pulldowns,
int *num_fields
);
W32EXPORT int USERD_get_var_extract_gui_defaults(
char **toggle_Title, /* [num_toggles][Z_LEN_GUI_TITLE_STR] */
int *toggle_default_status, /* [num_toggles] */
char **pulldown_Title, /* [num_pulldowns][Z_LEN_GUI_TITLE_STR] */
int *pulldown_number_in_list, /* [num_pulldowns] */
int *pulldown_default_selection, /* [num_pulldowns] */
char ***pulldown_item_strings, /* [num_pulldowns][Z_MAX_NUM_GUI_PULL_ITEMS][Z_LEN_GUI_PULL_STR] */
char **field_Title, /* [num_fields][Z_LEN_GUI_TITLE_STR] */
char **field_user_string /* [num_fields][Z_LEN_GUI_FIELD_STR] */
);
W32EXPORT void USERD_set_var_extract_gui_data(
int *toggle, /* [num_toggle] */
int *pulldown, /* [num_pulldown] */
char **field_text /* [num_fields][Z_LEN_GUI_FIELD_STR] */ );
/* --------------------
* xy-query data routines
* -------------------- */
W32EXPORT int USERD_get_num_xy_queries(void);
W32EXPORT int USERD_get_xy_query_info(
int query_num,
char *query_name,
char *query_xtitle,
char *query_ytitle,
int *query_num_pairs);
W32EXPORT int USERD_get_xy_query_data(
int query_num,
int num_vals,
float *x_vals,
float *y_vals);
/* This routine added so the reader can know if we are at the "right" side of
* an interval - namely, interpolation between steps is being done in EnSight
* (It can be in any version of EnSight)
*----------------------------------------------------------------------------*/
W32EXPORT void
USERD_set_right_side( void );
/*---------------------------------------------
* Routines that get the geometry in buffers,
* used for Unstructured Auto Distribute
* (Optional)
*---------------------------------------------*/
W32EXPORT int
USERD_get_part_coords_in_buffers(int part_number,
float **coord_array,
int first,
int n_beg,
int n_end,
int buffer_size,
int *num_returned);
W32EXPORT int
USERD_get_part_node_ids_in_buffers(int part_number,
int *nodeid_array,
int first,
int n_beg,
int n_end,
int buffer_size,
int *num_returned);
W32EXPORT int
USERD_get_part_elements_by_type_in_buffers(int part_number,
int element_type,
int **conn_array,
int first,
int e_beg,
int e_end,
int buffer_size,
int *num_returned);
W32EXPORT int
USERD_get_part_element_ids_by_type_in_buffers(int part_number,
int element_type,
int *elemid_array,
int first,
int e_beg,
int e_end,
int buffer_size,
int *num_returned);
W32EXPORT int
USERD_get_var_by_component_in_buffers(int which_variable,
int which_part,
int var_type,
int which_type,
int imag_data,
int component,
float *var_array,
int first,
int ne_beg,
int ne_end,
int buffer_size,
int leftside,
int *num_returned);
W32EXPORT int
USERD_get_nsided_conn_in_buffers(int part_number,
int *num_nodes_per_elem_array,
int *nsided_conn_array,
int first,
int e_beg,
int e_end,
int buffer_size,
int *num_returned);
W32EXPORT int
USERD_get_nfaced_conn_in_buffers(int part_number,
int *nfaced_fpe_arrray,
int *nfaced_npf_arrray,
int *nfaced_conn_array,
int first,
int e_beg,
int e_end,
int buffer_size,
int *num_returned);
/*-----------------------
* For Version 1.000 Only
*-----------------------*/
#if defined USERD_API_100
W32EXPORT int
USERD_get_number_of_global_nodes( void );
W32EXPORT int
USERD_get_global_coords(CRD *coord_array);
W32EXPORT int
USERD_get_global_node_ids(int *nodeid_array);
W32EXPORT int
USERD_get_element_connectivities_for_part(int part_number,
int **conn_array[Z_MAXTYPE]);
W32EXPORT int
USERD_get_element_ids_for_part(int part_number,
int *elemid_array[Z_MAXTYPE]);
W32EXPORT int
USERD_get_vector_values(int which_vector,
int which_part,
int which_type,
float *vector_array);
W32EXPORT int
USERD_get_part_build_info(int *part_id,
int *part_types,
char *part_descriptions[Z_BUFL],
int *number_of_elements[Z_MAXTYPE],
int *ijk_dimensions[3],
int *iblanking_options[6]);
W32EXPORT int
USERD_get_scalar_values(int which_scalar,
int which_part,
int which_type,
float *scalar_array);
W32EXPORT int
USERD_get_variable_info(char **var_description,
char **var_filename,
int *var_type,
int *var_classify);
W32EXPORT int
USERD_get_description_lines(int which_type,
int which_var,
char line1[Z_BUFL],
char line2[Z_BUFL]);
W32EXPORT int
USERD_get_variable_value_at_specific(int which_var,
int which_node_or_elem,
int which_part,
int which_elem_type,
int time_step,
float values[3]);
W32EXPORT float
USERD_get_constant_value(int which_var);
W32EXPORT int
USERD_get_solution_times(float *solution_times);
W32EXPORT void
USERD_set_time_step(int time_step);
W32EXPORT int
USERD_get_number_of_time_steps(void);
#endif
/*----------------------
* New For Version 2.000
*----------------------*/
#if !defined USERD_API_100
W32EXPORT int
USERD_get_part_coords(int part_number,
float **coord_array);
W32EXPORT int
USERD_get_part_node_ids(int part_number,
int *nodeid_array);
W32EXPORT int
USERD_get_part_elements_by_type(int part_number,
int element_type,
int **conn_array);
W32EXPORT int
USERD_get_part_element_ids_by_type(int part_number,
int element_type,
int *elemid_array);
W32EXPORT int
USERD_get_reader_version(char version_number[Z_MAX_USERD_NAME]);
W32EXPORT int
USERD_get_reader_release(char version_number[Z_MAX_USERD_NAME]);
W32EXPORT int
USERD_get_var_by_component(int which_variable,
int which_part,
int var_type,
int which_type,
int complex,
int component,
float *var_array);
W32EXPORT int
USERD_get_maxsize_info(int *max_number_of_nodes,
int *max_number_of_elements[Z_MAXTYPE],
int *max_ijk_dimensions[3]);
W32EXPORT void
USERD_exit_routine( void );
W32EXPORT int
USERD_get_gold_variable_info(char **var_description,
char **var_filename,
int *var_type,
int *var_classify,
int *var_complex,
char **var_ifilename,
float *var_freq,
int *var_contran,
int *var_timeset);
W32EXPORT int
USERD_get_model_extents( float extents[6] );
W32EXPORT int
USERD_get_descrip_lines(int which_type,
int which_var,
int imag_data,
char line1[Z_BUFL],
char line2[Z_BUFL]);
W32EXPORT int
USERD_get_var_value_at_specific(int which_var,
int which_node_or_elem,
int which_part,
int which_elem_type,
int time_step,
float values[3],
int imag_data);
W32EXPORT float
USERD_get_constant_val(int which_var, int imag_data);
W32EXPORT int
USERD_get_geom_timeset_number(void);
W32EXPORT int
USERD_get_number_of_timesets(void);
W32EXPORT int
USERD_get_timeset_description(int timeset_number,
char timeset_description[Z_BUFL]);
W32EXPORT int
USERD_get_sol_times(int timeset_number,
float *solution_times);
W32EXPORT void
USERD_set_time_set_and_step(int timeset_number,
int time_step);
W32EXPORT int
USERD_get_num_of_time_steps(int timeset_number);
W32EXPORT int
USERD_get_border_availability(int part_number,
int number_of_elements[Z_MAXTYPE]);
W32EXPORT int
USERD_get_border_elements_by_type(int part_number,
int element_type,
int **conn_array,
short *parent_element_type,
int *parent_element_num);
W32EXPORT void
USERD_set_server_number(int serv_num,
int tot_servs);
#endif
/*----------------------
* New For Version 2.010
*----------------------*/
#if defined USERD_API_201 || defined USERD_API_202 || defined USERD_API_203 || defined USERD_API_204 || defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_ghosts_in_model_flag( void );
W32EXPORT int
USERD_get_ghosts_in_block_flag(int block_number);
W32EXPORT int
USERD_get_block_ghost_flags(int block_number,
int *ghost_flags);
#endif
/*--------------------------
* Modified at Version 2.030
*--------------------------*/
#if defined USERD_API_200 || defined USERD_API_201 || defined USERD_API_202
W32EXPORT int
USERD_get_gold_part_build_info(int *part_id,
int *part_types,
char *part_descriptions[Z_BUFL],
int *number_of_nodes,
int *number_of_elements[Z_MAXTYPE],
int *ijk_dimensions[3],
int *iblanking_options[6]);
#endif
#if defined USERD_API_203 || defined USERD_API_204 || defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_gold_part_build_info(int *part_id,
int *part_types,
char *part_descriptions[Z_BUFL],
int *number_of_nodes,
int *number_of_elements[Z_MAXTYPE],
int *ijk_dimensions[9],
int *iblanking_options[6]);
#endif
/*----------------------
* New For Version 2.030
*----------------------*/
#if defined USERD_API_203 || defined USERD_API_204 || defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_number_of_material_sets( void );
W32EXPORT int
USERD_get_matf_set_info(int *mat_set_ids,
char **mat_set_name);
W32EXPORT int
USERD_get_number_of_materials( int set_index );
W32EXPORT int
USERD_get_matf_var_info(int set_index,
int *mat_ids,
char **mat_desc);
W32EXPORT int
USERD_size_matf_data(int set_index,
int part_id,
int wtyp,
int mat_type,
int *matf_size );
W32EXPORT int
USERD_load_matf_data( int set_index,
int part_id,
int wtyp,
int mat_type,
int *ids_list,
float *val_list );
W32EXPORT int
USERD_get_nsided_conn( int part_number,
int *nsided_conn_array );
W32EXPORT int
USERD_get_nfaced_nodes_per_face( int part_number,
int *nfaced_npf_array );
W32EXPORT int
USERD_get_nfaced_conn( int part_number,
int *nfaced_conn_array );
#endif
/*----------------------
* New For Version 2.040
*----------------------*/
#if defined USERD_API_204 || defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_uns_failed_params(
char *fail_var_name, /* variable name to be used in failure
must be scalar, per elem */
float *threshold_val1, /* number to compare for failure */
float *threshold_val2, /* number to compare for failure */
int *threshold_operator1, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
Z_EQUAL_TO */
int *logic_criteria2
);
#endif
/*----------------------
** New For Version 2.050
**----------------------*/
#if defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_number_of_species( int set_index );
W32EXPORT int
USERD_get_matsp_info(int set_index,
int *sp_ids,
char **sp_desc,
int *sppermatcnt,
int *sppermatlis);
W32EXPORT int
USERD_rigidbody_existence( void );
#endif
/*--------------------------------------------
* New at 2.05, but modified for Version 2.080
*-------------------------------------------- */
#if defined USERD_API_205 || defined USERD_API_206 || defined USERD_API_207
W32EXPORT int
USERD_rigidbody_values(int part_number,
float values[10]);
#endif
#if defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_rigidbody_values(int part_number,
float values[14]);
#endif
/*----------------------
** New For Version 2.060
**----------------------*/
#if defined USERD_API_206 || defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
W32EXPORT int
USERD_get_structured_reader_cinching( void );
W32EXPORT int
USERD_set_block_range_and_stride(int file_pn,
int mini, int maxi, int stepi,
int minj, int maxj, int stepj,
int mink, int maxk, int stepk);
#endif
/*----------------------
** New For Version 2.070
**----------------------*/
#if defined USERD_API_207 || defined USERD_API_208 || defined USERD_API_209 || defined USERD_API_210
/* non-optional functions go here */
#endif
/* This is optional; defaults to 'Set file' and 'Set results' if not
* defined. If 'two_fields' is true, then both labels must have a
* non-NULL string otherwise the defaults will be used.
*/
W32EXPORT void
USERD_set_filename_button_labels(char filename_label_1[Z_MAX_USERD_NAME],
char filename_label_2[Z_MAX_USERD_NAME]);
/* This is optional; defaults to TRUE if not defined. */
W32EXPORT int
USERD_prefer_auto_distribute(void);
/*----------------------
** New For Version 2.090
**----------------------*/
#if defined USERD_API_209 || defined USERD_API_210
/* non-optional functions go here */
#endif
/* These are optional */
W32EXPORT int
USERD_get_vglyph_counts(int *num_vglyph_vectors,
int *num_vglyph_timelines);
W32EXPORT int
USERD_get_vglyph_timeline_info(int vtl,
int *id,
int *numtimes,
int *before,
int *amidst,
int *after);
W32EXPORT int
USERD_get_vglyph_timeline_times(int vtl,
float *times);
W32EXPORT int
USERD_get_vglyph_vector_info(int vg,
int *id,
char *description,
int *type,
int *time_condition,
int *time_line,
int *part,
int *nidloc,
int *eidloc);
W32EXPORT int
USERD_get_vglyph_vector_values(int vg,
float **values);
W32EXPORT int
USERD_get_vglyph_vector_xyzloc(int vg,
float **xyzloc);
/*----------------------
** New For Version 2.100
**----------------------*/
#if defined USERD_API_210
W32EXPORT int
USERD_get_mat_scalars_desc(int set_index,
char **mesv_desc);
#endif
/* These are optional */
W32EXPORT int
USERD_get_matf_set_type(int set_index);
/* special, optional functions */
W32EXPORT void
USERD_reset_routine(void);
/*--------------------------------------------------------------------*/
#endif /*GLOBAL_EXTERN_PROTO_H*/