Overview | All Modules | Tutorial | User's Guide | Programming Guide

COVISE Online Documentation


Module category: IO



RWCovise

RWCovise reads or writes all data objects that are available in COVISE.

module.png

RWCovise is available for COVISE version 4.5 and higher. It's tested on Linux 6.4 and Irix.

Parameters

Name Type Description
grid_path Browser File path
stepNo Scalar Extract one time step.
rotate_output Boolean Check if geometry should be rotated. Works only in COVER.
rotation_axis Choice Choose rotation axis. COVER only.
rot_speed Scalar Choose rotation velocity. COVER only.

RWCovise indicates the filename in its icon when it reads the file.

Input Ports

Name Type Description
requiredmesh_in UniformGrid
Text
Points
UnstructuredGrid
RectilinearGrid
StructuredGrid
Float
Vec3
Float
Vec3
Polygons
TriangleStrips
Unstructured_V3D_Normals Geometry
Lines
PixelImage
Texture
IntArr
RGBA_Colors
All possible Covise objects

Output Ports

Name Type Description
outputmesh_out UniformGrid
Text
Points
UnstructuredGrid
RectilinearGrid
StructuredGrid
Float
Vec3
Float
Vec3
Polygons
TriangleStrips
Unstructured_V3D_Normals Geometry
Lines
PixelImage
Texture
IntArr
RGBA_Colors
All possible Covise objects

Files are stored in the following format. For detailed information about all data types see chapter three of the programming guide

Header

Every COVISE file has a header of six bytes. The string "COV_BE" indicates that the following files contains byte-swapped data. In addition indicates the string "COV_LE" that content of the file is non-byte-swapped

General object format

Every object is stored by a header of six bytes which contains the type identifyer, the main part which contains all data of the object and the part which contains all attributes of the object. Table "Type Identifyer" shows you all supported data object types.

Data object type Type name
Set SETELE
UniformGrid UNIGRD
RectilinearGrid RCTGRD
StructuredGrid STRGRD
UnstructuredGrid UNSGRD
Polygons POLYGN
TriangleStrips TRIANG
Lines LINES
Points POINTS
Float STRSDT
Vec3 STRVDT
Float USTSDT
Vec3 USTVDT
Text DOTEXT
RGBA RGBADT
IntArr INTARR

Data type dependent format

Data object type Stored Data Description
Set int numsets number of elements
Element(0),
Element(1),
...,
Element(numsets-1)
all elements are completely stored one after the other
UniformGrid int x_size size in x-dimension
int y_size size in y-dimension
int z_size size in z-dimension
float xmin minimal x-coordinate
float xmax maximal x-coordinate
float ymin minimal y-coordinate
float ymax maximal y-coordinate
float zmin minimal z-coordinate
float zmax maximal z-coordinate
RectilinearGrid int x_size size in x-dimension
int y_size size in y-dimension
int z_size size in z-dimension
float x_coord[x_size] grid points on x-axis
float y_coord[y_size] grid points on y-axis
float z_coord[z_size] grid points on z-axis
StructuredGrid int x_size size in x-dimension
int y_size size in y-dimension
int z_size size in z-dimension
float x_coord[x_size*y_size*z_size] x- coordinate of grid points
float y_coord[x_size*y_size*z_size] y- coordinate of grid points
float z_coord[x_size*y_size*z_size] z- coordinate of grid points
UnstructuredGrid int num_elem number of elements
int num_conn length of connectivity list
int num_coord number of points
int elem_list[num_elem] list of element
int type_list[num_elem] type of each element
int conn_list[num_conn] list of connectivities
float x_coord[num_coord] x- coordinate of points
float y_coord[num_coord] y- coordinate of points
float z_coord[num_coord] z- coordinate of points
Polygons int num_poly number of polygons
int num_corners length of corner list
int num_points number of points
int polyList[num_poly] list of polygons
int cornerList[num_corners] list of corners
float x_coord[num_points] x- coordinate of points
float y_coord[num_points] y- coordinate of points
float z_coord[num_points] z- coordinate of points
TriangleStrips int num_strips number of triangle strips
int num_corners length of cornerlist
int num_points number of points
int stripList[num_poly] list of triangle strips
int cornerList[num_corners] list of corners
float x_coord[num_points] x- coordinate of points
float y_coord[num_points] y- coordinate of points
float z_coord[num_points] z- coordinate of points
Lines int num_lines number of lines
int num_corners length of cornerlist
int num_points number of points
int lineList[num_poly] line list
int cornerList[num_corners] list of corners
float x_coord[num_points] x- coordinate of points
float y_coord[num_points] y- coordinate of points
float z_coord[num_points] z- coordinate of points
Points int num_points number of points
float x_coord[num_points] x- coordinate of points
float y_coord[num_points] y- coordinate of points
float z_coord[num_points] z- coordinate of points
Float int x_size size in x-dimension
int y_size size in y-dimension
int z_size size in z-dimension
float sdata[x_size*y_size*z_size] data for every grid point
Vec3 int x_size size in x-dimension
int y_size size in y-dimension
int z_size size in z-dimension
float xdata[x_size*y_size*z_size] data for every grid point
float ydata[x_size*y_size*z_size]
float zdata[x_size*y_size*z_size]
Float int num_points number of data points
float sdata[x_size*y_size*z_size] data for every point
Vec3 int num_points number of data points
float xdata[x_size*y_size*z_size] data for every point
float ydata[x_size*y_size*z_size]
float zdata[x_size*y_size*z_size]
Text int size size of texture in bytes
char data[size] texture data
RGBA_Data int num_points number of points
int colors[num_points] colors of points
IntArr int num_dim number of dimensions
int num_elem number of elements
int content[num_dim]
int dimPtr[num_dim]

Attribute format

At the beginning RWCovise stores the number of attributes as integer. Then it writes one attribute after the other.

To understand the attribute format you must know following facts. An attribute consists of two strings: the name of the attribute and the value of the attribute. RWCovise stores the length of both string as one integer followed by the two strings.

For example consider the attribute "COLOR" and its value "blue". The length of the name is six because RWCovise also saves the ending

'\0'
of a string. The length of the value is therefore five and RWCovise writes eleven as length of this attribute.

Examples

Figure: covise/net/tutorial/tutorial_pressure_2.net
map.png

The figure above shows a map that performs reading from disk files. The first RWCovise module reads the grid while the second one reads the pressure data.

Renderer.png

The last figure is a snapshot of the renderer. It shows a visualization of the scalar data using isosurfaces.


Authors: Martin Aumüller, Ruth Lang, Daniela Rainer, Jürgen Schulze-Döbold, Andreas Werner, Peter Wolf, Uwe Wössner
Copyright © 1993-2022 HLRS, 2004-2014 RRZK, 2005-2014 Visenso
COVISE Version 2021.12