awips2/ncep/gov.noaa.nws.ncep.viz.rsc.ncgrid/dgdriv_c/cescmn.h

166 lines
4.2 KiB
C
Raw Normal View History

/************************************************************************
* cescmn.h *
* Contains the structure for settings of elements that are drawn *
* in product generation. *
* *
** *
* Log: *
* E. Wehner/EAi 8/97 Created *
* F.J. Yen/NCEP 4/98 Make sett'g tbl nonarray; MAX_SET larger*
* W. Li/EAI 7/98 Add txtstr in txt and sptxtstr in spt *
* C. Lin/EAI 9/98 Add smoothing level *
* A. Hardy/GSC 12/98 Added CircInfo *
* W. Li/EAI 03/99 Added SymData in union info of setting_t*
* S. Law/GSC 03/99 Added filled/closed *
* S. Law/GSC 05/99 Added CLASS_TRACKS *
* S. Law/GSC 07/99 Added CLASS_SIGMETS *
* E. Safford/GSC 08/99 increase txtstr from 20 to MAX_TEXT *
* F. J. Yen/NCEP 10/99 Changed vg_type from char to signed char*
* F. J. Yen/NCEP 11/00 Removed reference to CentroidInfo *
* H. Zeng/EAI 02/01 Added group type stuff *
* H. Zeng/EAI 03/01 Added mapping array for group type table*
* E. Safford/SAIC 02/02 added new_subtyp *
* E. Safford/SAIC 02/02 mv group type structs to cesgtcmn.h *
* J. Wu/SAIC 11/02 add ListInfo *
* H. Zeng/XTRIA 03/03 added layer_flag *
* D.W.Plummer/NCEP 06/03 chgs for ash and volc elements *
* J. Wu/SAIC 08/03 add JetType *
* J. Wu/SAIC 01/04 add GfaType *
* B. Yin/SAIC 02/04 Added TcaType *
* J. Wu/SAIC 05/04 add post-processing setting "ppid" *
* T. Piper/SAIC 12/05 Major restructuring of Setting_t *
* T. Piper/SAIC 12/05 Made set a pointer; defined as Setting_t*
* T. Piper/SAIC 03/06 Increase length of grp_typ in Setting_t *
* B. Yin/SAIC 07/06 Added GFA struct; increased MAX_SET *
* L. Hinson/AWC 01/07 Extend GfaAttr structure for text layout*
* L. Hinson/AWC 06/07 Extend GfaAttr structure for arrow size *
* E. Safford/SAIC 07/07 increase MAX_SET for new GFA subtypes *
***********************************************************************/
#ifndef CESCMN_H
#define CESCMN_H
#include "vgstruct.h"
#include "pgprm.h"
#define MAX_SET 250
#define DEFLTSET -99
#define DEFLTPPID "NONE"
typedef struct
{
int linelm; /* Line or Special Line (1|20) */
int lintyp; /* Line type */
int linwid; /* Line width */
float szarrow; /* Arrow size */
SpTextInfo info; /* Special Text Info */
char textLayout[256]; /* Text Layout String */
} GfaAttr;
typedef struct
{
int lincol; /* Line width */
int lintyp; /* Line type */
int filcol; /* Line width */
int filtyp; /* Line type */
} TceAttr;
typedef struct
{
int lincol; /* Line width */
int lintyp; /* Line type */
} TctAttr;
typedef struct
{
int lincol; /* Line col */
int linwid; /* Line wid */
} TcbAttr;
typedef struct
{
int splcol; /* Line color */
SpLineInfo line; /* Line attribute info */
int nbarb; /* Number of barbs */
BarbAttr barb[MAX_JETPTS]; /* Wind barb attribute info */
int nhash; /* Number of hashs */
HashAttr hash[MAX_JETPTS]; /* Hash mark attribute info */
} JetInfo;
typedef struct
{
int lintyp;
int linwid;
} SigAttr;
typedef struct
{
char ppid[32];
SptxType text;
} SpTxtAttr;
typedef struct
{
int width;
float size;
} VolAttr;
typedef struct
{
int w_type;
int w_number;
int w_mrktyp;
int w_mrkwid;
float w_mrksiz;
} WboxAttr;
typedef struct
{
int vg_class;
int vg_type;
int subtyp;
int maj_col;
int min_col;
int closed;
int filled;
int smooth;
union {
int new_subtyp;
Boolean layer_flag;
} cds_or_ces;
char grp_typ[24];
union
{
SigAttr *ash;
LineInfo *cir;
FrontInfo *frt;
GfaAttr *gfa;
JetInfo *jet;
LineInfo *lin;
ListInfo *lst;
SigAttr *sig;
SpLineInfo *spl;
SpTxtAttr *spt;
SymType *sym;
TcaInfo *tca;
TceAttr *tce;
TctAttr *tct;
TcbAttr *tcb;
TrackInfo *trk;
TextType *txt;
VolAttr *vol;
WboxAttr *wbx;
WindInfo *wnd;
} info;
} Setting_t;
#ifdef CES_GLOBAL
Setting_t *set;
int num_set;
#else
extern Setting_t *set;
extern int num_set;
#endif
#endif /* CESCMN_H */