Examine a field, and write brief information about it to a user interface text field.
& data | group reference | the input field components |
text_string | string | object containing information about the field. |
text_rows | int | number of lines in the string. |
Examines arrays within an AVS/Express field, and writes information about the arrays into a string object which is connected to ui objects.
A summary of the number of arrays is produced, and has the form :
n arrays
(n1 gr, n2 nd, n3 cd, n4 co)
where n
is the total number of arrays in the field, n1
the number of grid arrays (may be 1 or 0 if the grid is a connection to a function), n2
is the number of node data arrays, n3
is the number of cell data arrays and n4
is the number of connectivity arrays.
A connectivity array is defined as being the poly_connect_list in a Cell_Set, if it exists, otherwise it is the node_connect_list.
Next, information about each array is written in the form :
no - name
type [length], size
where, no
is the array's number (see next paragraph), name
is as given in its label subobject (or `?' if unset), type
is the data type, length
is the number of entries in the array, and size
is the size of the array (in bytes if less than 1kb big, else in kb).
Arrays are numbered starting from 1, and in the following order : grid, node data, cell data and connectivity. Ordering of arrays within each of these categories is as in the input field.
Example output is :
2 arrays
(1 gr, 1 nd, 0 cd, 0 co).
1 - ?
float [122880], 480kb
2 - density
float [40960], 160kb
The macro also includes a ui macro which uses a UImod_panel to provide a window into which the string is output. A UImod_panel automatically adds widgets to a SingleWindowApp, MultiWindowApp, or ModuleStack, and in this manner the string is written to a suitable window for the application that is running.
& data
A reference to the input data, which must be in the form of certain field sub-objects. The following objects must be present in the group : int nnodes, int nspace, Data_Array coordinates. All the other sub-objects of a field are optional. Thus, any valid field or sub-set of a field (e.g. Mesh+Node_Data) will be accepted.
text_string
Object to which information about the field is written. This object is connected to a UItext object in the Examine_Field macro, and this in turn is connected to the UImod_panel within the same macro so that it appears in an application window.
text_rows
Number of lines in the text_string.
The user macro examine_field combines the functional macro Examine_Field with the ui macro Examine_Field_UI, via the use of the common parameter block Examine_Field_Param, to provide a usable macro in the visualization library.
An example application Examine_Field_Eg is provided, which uses the AVS/Express sample data file bluntfin.fld. This data file contains six arrays (one grid plus five node data). Information about the arrays is shown in a SingleWindowApp main window by selecting the examine_field option from the editors, modules menu.
iac_proj/examfld/efldmacs.v
contains the V definitions for the functional macro Examine_Field, the user macro examine_field, the ui macro Examine_Field_UI and the example application Examine_Field_Eg.
iac_proj/examfld/efldmods.v
contains the V definitions for the Examine_Field_Param group and the Examine_Field_Prim module.
iac_proj/examfld/examfld.cxx
contains the source code for the primitive module.
iac_proj/examfld/INSTALL
contains instructions on how to add Examine_Field project modules and macros to the IAC library structure.
iac_proj/examfld/README
contains instructions on how to compile and install Examine_Field project modules and macros.
Additional files are required for AVS/Express utility functions (see below).
The module also requires the xp_util AVS/Express utility code files. These may be obtained from http://www.iavsc.org/, and need to be installed in the iac_proj directory according to the instructions given with the package.
If both the Examine_Field project and the Compress project are required, then the cxx_src_files
line in either the efldmods.v file or the compmods.v file should be removed or commented out (these cxx_src_files are common to both projects, which causes errors/warnings when linking if they are specified twice).
See the README and INSTALL files for full information about compiling and installing the Examine_Field project modules and macros.
Amardeep S Bhattal. Manchester Visualisation Centre, Manchester Computing, University of Manchester, Oxford Road, Manchester, M13 9PL, UK.
Examine_Field_Prim, xp_utils.
This software/documentation was produced as part of the INDEX project (Intelligent Data Extraction) which is funded under contract ESPRIT EP22745 of the European Community. For further details see http://www.man.ac.uk/MVC/research/INDEX/Public/. Copyright (c) June 1998, Manchester Visualisation Centre, UK. All Rights Reserved. Permission to use, copy, modify and distribute this software and its documentation is hereby granted without fee, provided that the above copyright notice and this permission notice appear in all copies of this software / documentation. This software/documentation is provided with no warranty, express or implied, including, without limitation, warrant of merchantability or fitness for a particular purpose.