HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CH_Support.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: Channel Library (C++)
7  *
8  * COMMENTS: Support glue between channel and expression libraries
9  *
10 */
11 
12 #ifndef __CH_Support_h__
13 #define __CH_Support_h__
14 
15 #include "CH_API.h"
16 #include "CH_Types.h"
17 
18 #include <SYS/SYS_Types.h>
19 #include <UT/UT_Array.h>
20 
21 //
22 // Some defines for expressions. These defines may be used by anyone
23 // who needs them. They are the lower bits in the EV_Expression
24 // flag and are accessible by the method for getting flags in the
25 // CH_Expression class. Some (CH_SYM...) are flags for the EV_SYMBOL,
26 // which are or'ed into the expression flags and so must use the
27 // same bit-range.
28 //
29 
30 #define CH_EXPRTIME 0x00008000 // Expression uses time
31 #define CH_EXPRCHAN 0x00010000 // Expression uses channel
32 #define CH_EXPRIVALUE 0x00020000 // Expression uses in value
33 #define CH_EXPROVALUE 0x00040000 // Expression uses out value
34 #define CH_EXPRSLOPE 0x00080000 // Expression uses in slope/out slope
35 //#define CH_EXPRPARAM 0x00100000 // Now Unused, free for use
36 #define CH_EXPRACCEL 0x00200000 // Expression uses in accel/out accel
37 #define CH_EXPRKNOTS 0x00400000 // Expression uses spline knots
38 #define CH_EXPRMATCH 0x00800000 // Expression has a match() function
39 //#define CH_SYMHARDWIRED 0x01000000 // Now unused, free for use
40 #define CH_EXPRDATA 0x02000000 // Expression sets a data interest
41 #define CH_EXPRVALUE (CH_EXPRIVALUE | CH_EXPROVALUE)
42 
43 // Flags above 0x00008000 are reserved for the channel library
44 // Flags above 0x02000000 are reserved by the expression library
45 // Applications may use any flags between 0x0001 and 0x4000
46 // for their own custom flags
47 
48 //
49 // It is possible to define constants for the user to use. For each
50 // define, there is a name for the label and a corresponding value.
51 // for example: "XMIN", 0. This would allow the user to type
52 // XMIN instead of having to remember that XMIN is always 0.
53 
55 public:
56  const char *label;
58 };
59 
60 #endif
const char * label
Definition: CH_Support.h:56
fpreal value
Definition: CH_Support.h:57
fpreal64 fpreal
Definition: SYS_Types.h:277
#define CH_API
Definition: CH_API.h:10