/* G4SrcCfgIncl.h*/ #ifndef G4SRCCFGINCL_H_ #define G4SRCCFGINCL_H_ #define MAX_SOURCES 8 #define ATTR_LEN 64 #define G4_SRC_CFG_EULER_DEGREE 0 #define G4_SRC_CFG_EULER_RADIAN 1 #define G4_SRC_CFG_QUATERNION 2 #define G4_SRC_CFG_INCH 3 #define G4_SRC_CFG_FOOT 4 #define G4_SRC_CFG_CM 5 #define G4_SRC_CFG_METER 6 #define G4_SRC_CFG_FILE_OPEN_ERR -200 #define G4_SRC_CFG_FILE_ERR -199 typedef struct _G4_SRC_DATA_STRUCT { int sourceMap; // 4 char id[MAX_SOURCES][16]; // 128 float pos_ori[MAX_SOURCES][7]; // 224 unsigned char freq[MAX_SOURCES]; // 8 unsigned char start_hem[MAX_SOURCES]; // 8 unsigned char attr[MAX_SOURCES][ATTR_LEN]; // 512 }*LPG4_SRC_DATA_STRUCT,G4_SRC_DATA_STRUCT; // 884 bytes #ifdef __cplusplus extern "C" { #endif /* Function Prototypes */ // Function name : g4_read_source_cfg_file // Description : Read a source cfg file and place data into a G4_SRC_DATA_STRUCT // Return type : int - 0 for success, non-zero for failure // Argument : int pos_units - the desired units for source position data. Use // G4_SRC_CFG_INCH,G4_SRC_CFG_FOOT,G4_SRC_CFG_CM, or G4_SRC_CFG_METER // Argument : int orientation units - the desired units for orienation. Use // G4_SRC_CFG_EULER_DEGREE,G4_SRC_CFG_EULER_RADIAN, or G4_SRC_CFG_QUATERNION // Argument : LPG4_SRC_DATA_STRUCT - Pointer to struct to receive file data. // Argument : filename - File to read. int g4_read_source_cfg_file(int pos_units,int orientation_units,LPG4_SRC_DATA_STRUCT pds,const char* filename); // Function name : g4_create_source_cfg_file // Description : Create a source cfg file from data in a G4_SRC_DATA_STRUCT // Return type : int - 0 for success, non-zero for failure // Argument : int pos_units - the units for source position data. Use // G4_SRC_CFG_INCH,G4_SRC_CFG_FOOT,G4_SRC_CFG_CM, or G4_SRC_CFG_METER // Argument : int orientation units - the units for orienation. Use // G4_SRC_CFG_EULER_DEGREE,G4_SRC_CFG_EULER_RADIAN, or G4_SRC_CFG_QUATERNION // Argument : LPG4_SRC_DATA_STRUCT - Pointer to struct that contains data. // Argument : filename - File to create. int g4_create_source_cfg_file(int pos_unis,int orientation_units,LPG4_SRC_DATA_STRUCT pds,const char* filename); // Function name : g4_get_freq_sn_from_attr // Description : Extracts the source frequency and id from the attribute data // Return type : int - the frequency of the source // Argument : unsigned char* - The attribute string as read from the *.gs4 file. // Argument : char* - a string to receive the serial number of the source. May be NULL int g4_get_freq_sn_from_attr(unsigned char* attr,char* id); #ifdef __cplusplus } #endif #endif