00001 #ifndef __RWWORKSPACE_H__
00002 #define __RWWORKSPACE_H__
00003
00004
00005
00006
00007
00008
00009 #include "configure.h"
00010
00011
00012 #define vWORKSPACE_FORMAT_VERSION_1_3_0 13
00013 #define vWORKSPACE_FORMAT_VERSION_1_4_0 14
00014
00015 #define vWORKSPACE_FORMAT_MIN_VERSION 13
00016 #define vWORKSPACE_FORMAT_MAX_VERSION 14
00017
00018
00019 typedef enum
00020 {
00021 vVWS_TAG_HEADER,
00022 vVWS_TAG_ATTRIBUTE,
00023 vVWS_TAG_BEGIN_STACK,
00024 vVWS_TAG_BEGIN_VIAS
00025 }
00026 vVWS_TAG_TYPE;
00027
00028
00029 typedef enum
00030 {
00031 vVWS_DATA_INT,
00032 vVWS_DATA_UINT,
00033 vVWS_DATA_FLOAT,
00034 vVWS_DATA_STRING
00035 }
00036 vVWS_DATA_TYPE;
00037
00038
00039 typedef enum
00040 {
00041 vVWS_VAR_VERSION,
00042 vVWS_VAR_NUM_STACKS,
00043 vVWS_VAR_VOXEL_SPACING_X,
00044 vVWS_VAR_VOXEL_SPACING_Y,
00045 vVWS_VAR_VOXEL_SPACING_Z,
00046 vVWS_VAR_VOXEL_UNITS,
00047 vVWS_VAR_INDEX,
00048 vVWS_VAR_BACKGROUND_COLOR,
00049 vVWS_VAR_SELECTED_STACK_BORDER_COLOR,
00050 vVWS_VAR_GRID_LINE_COLOR,
00051 vVWS_VAR_GRID_POINT_COLOR,
00052 vVWS_VAR_GRID_IS_VISIBLE,
00053 vVWS_VAR_GRID_STEP,
00054 vVWS_VAR_GRID_FLAGS,
00055 vVWS_VAR_GRID_LINE_STYLE,
00056 vVWS_VAR_GRID_POINT_SIZE,
00057 vVWS_VAR_X,
00058 vVWS_VAR_Y,
00059 vVWS_VAR_Z,
00060 vVWS_VAR_CROP_LEFT,
00061 vVWS_VAR_CROP_RIGHT,
00062 vVWS_VAR_CROP_TOP,
00063 vVWS_VAR_CROP_BOTTOM,
00064 vVWS_VAR_CROP_NEAR,
00065 vVWS_VAR_CROP_FAR,
00066 vVWS_VAR_WIDTH,
00067 vVWS_VAR_HEIGHT,
00068 vVWS_VAR_LENGTH,
00069 vVWS_VAR_XPRJ,
00070 vVWS_VAR_YPRJ,
00071 vVWS_VAR_ZPRJ,
00072 vVWS_VAR_SOURCE,
00073 vVWS_VAR_FILTER,
00074 vVWS_VAR_XSTEP,
00075 vVWS_VAR_YSTEP,
00076 vVWS_VAR_ZSTEP,
00077 vVWS_VAR_STATES,
00078 vVWS_VAR_ALPHA,
00079 vVWS_VAR_DESC,
00080
00081 vVWS_VAR_SENTINEL
00082 }
00083 vVWS_VAR_TYPE;
00084
00085 #define vVWS_NUM_VARS ( ( vINT )vVWS_VAR_SENTINEL )
00086
00087
00088 vVOID WriteWorkspaceTag
00089 (
00090 FILE *fp,
00091 vVWS_TAG_TYPE tag
00092 );
00093
00094
00095 vBOOL SeekWorkspaceTag
00096 (
00097 FILE *fp,
00098 vVWS_TAG_TYPE tag
00099 );
00100
00101
00102 vBOOL ReadWorkspaceVar
00103 (
00104 FILE *fp,
00105 vVWS_VAR_TYPE var,
00106 vVWS_DATA_TYPE type,
00107 vVOID *data,
00108 vSIZE maxBytes
00109 );
00110
00111
00112 vVOID WriteWorkspaceVar
00113 (
00114 FILE *fp,
00115 vVWS_VAR_TYPE var,
00116 vVWS_DATA_TYPE type,
00117 vVOID *data
00118 );
00119
00120
00121 #endif
00122