Integration of OCCT 6.5.0 from SVN
[occt.git] / src / CGM / cgmout.h
CommitLineData
7fd59977 1#ifndef CGMOUT_H
2#define CGMOUT_H
3
4/* Include all files on which this is dependent. */
5
6#include "cgmmach.h"
7#include "cgmtypes.h"
8#include "cgmstruc.h"
9
10/* Include file that all modules using this file will use. */
11
12#include "cgmatt.h"
13#include "cgmerr.h"
14
15/* external structures needed by driver */
16
17 extern const struct char_defaults chardef;
18 extern struct char_defaults mfchar, curchar, oldchar;
19 extern const struct text_defaults textdef;
20 extern struct text_defaults mftext, curtext;
21 extern const struct bin_defaults bindef;
22 extern struct bin_defaults mfbin, curbin;
23 extern struct defaults cur, old;
24 extern struct attributes curatt, oldatt;
25
26 extern struct flags att;
27
28 extern Enum cgmdriver;
29 extern Enum cgmstate;
30
31 extern long *null;
32
33 extern Code st_start, st_term;
34
35/* Global variable set as arguments for output control */
36
37 extern Logical cgmralgks, cgmverbose, cgmquiet, cgmEOF, cgmfinished;
38
39/* Variables for random frame access */
40
41 extern long cgmnext, cgmpresent, cgmabort;
42
43/* Structures for font list and character set list */
44
45 extern struct cgmfont cgmfonts;
46 extern struct cgmcset cgmcsets;
47
48/* Macros for common Maths functions */
49
50#define REQUAL(x,y) ( FABS((x)-(y)) <= cur.realmin )
51#define VEQUAL(x,y) ( FABS((x)-(y)) <= cur.vdcmin )
52#define PEQUAL(p,q) ( VEQUAL((p)->x, (q)->x) && VEQUAL((p)->y, (q)->y) )
53#define XPROD(a,b,c,d) ( (b->x - a->x)*(d->y - c->y)\
54 - (d->x - c->x)*(b->y - a->y) )
55#endif /* end of cgmout.h */