Macros | |
#define | HC_ANY_ARGS (see code) |
A variable argument function. More... | |
#define | HC_BOOLEAN (see code) |
HOOPS Boolean return type. More... | |
#define | HC_CDECL (see code) |
A multi-platform abstraction. More... | |
#define | HC_EXTRA_POINTER_FORMAT (see below) |
A multi platform abstraction used to support Windows on Itanium. More... | |
#define | HC_KEY (see code) |
HOOPS type for a unique object key. More... | |
#define | HC_PIXEL (see code) |
A placeholder for a structure of three floats defining the three color values of a pixel. More... | |
#define | HC_PLANE (see code) |
A placeholder for a structure of four floats defining the scalars (a, b, c, d) of the plane equation (ax + by + cz + d) = 0 More... | |
#define | HC_POINT (see code) |
A placeholder for a structure of three floats defining the x-y-z coordinates of a point. More... | |
#define | HC_POINTER_SIZED_INT (see code) |
A multi-platform abstraction to support Windows on Itanium. More... | |
#define HC_ANY_ARGS (see code) |
A variable argument function.
#define HC_BOOLEAN (see code) |
HOOPS Boolean return type.
#define HC_CDECL (see code) |
A multi-platform abstraction.
#define HC_EXTRA_POINTER_FORMAT (see below) |
A multi platform abstraction used to support Windows on Itanium.
All options that take an integral value ("use window id" and "debug" in particular, but also including things like "face displacement" and "related selection limit") can take decimal, hexadecimal, or octal, using the same formatting as in C/C++ (leading 0x means hex, else leading 0 means oct, else dec).
Problems arise due to sprintf formatting. When sizeof(int) == sizeof(long) == sizeof(void *), the following work fine:
If the long and pointer types both change to 64 bits, "%ld" or "0x%lx" will work (on most systems), but if the pointer size is changed while long is kept at 32 bits, these won't work. At least one system supports "%I64d" and "0x%I64x" forms, but a better way is to use "%p" which is meant to convert pointers to hex strings. The only problem with that is the usual system-dependent implementation – some add the "0x", some don't – so additionally we can define HC_EXTRA_POINTER_FORMAT to add the "0x" where the system doesn't:
#define HC_KEY (see code) |
HOOPS type for a unique object key.
NOTE: To maintain Windows IA64 compatibility, use this example to cast an HC_KEY in sprintf():
#define HC_PIXEL (see code) |
A placeholder for a structure of three floats defining the three color values of a pixel.
NOTE: if you want a real definition for HC_PIXEL, put
in your program before including "hc.h".
#define HC_PLANE (see code) |
A placeholder for a structure of four floats defining the scalars (a, b, c, d) of the plane equation (ax + by + cz + d) = 0
NOTE: if you want a real definition for HC_PLANE, put
in your program before including "hc.h".
#define HC_POINT (see code) |
A placeholder for a structure of three floats defining the x-y-z coordinates of a point.
NOTE: If you want a real definition for HC_POINT, put
in your program before including "hc.h"
#define HC_POINTER_SIZED_INT (see code) |
A multi-platform abstraction to support Windows on Itanium.