3ds Max C++ API Reference
|
General Key Flags | |
#define | IKEY_SELECTED (1<<0) |
#define | IKEY_XSEL (1<<1) |
#define | IKEY_YSEL (1<<2) |
#define | IKEY_ZSEL (1<<3) |
#define | IKEY_WSEL (1<<30) |
#define | IKEY_FLAGGED (1<<31) |
#define | IKEY_TIME_LOCK (1<<14) |
#define | IKEY_ALLSEL (IKEY_SELECTED|IKEY_XSEL|IKEY_YSEL|IKEY_ZSEL|IKEY_WSEL) |
#define | IKEY_VALLOCK_SHIFT 16 |
#define | IKEY_VALX_LOCK (1<<IKEY_VALLOCK_SHIFT) |
#define | IKEY_VALY_LOCK (1<<(IKEY_VALLOCK_SHIFT+1)) |
#define | IKEY_VALZ_LOCK (1<<(IKEY_VALLOCK_SHIFT+2)) |
#define | IKEY_VALA_LOCK (1<<(IKEY_VALLOCK_SHIFT+3)) |
TCB-specific Key Flags | |
#define | TCBKEY_QUATVALID (1<<4) |
Angle/axis is derived from the quat instead of vice/versa. More... | |
Bezier-specific Key Flags | |
#define | BEZKEY_XBROKEN (1<<4) |
Broken means not locked. More... | |
#define | BEZKEY_YBROKEN (1<<5) |
Broken means not locked. More... | |
#define | BEZKEY_ZBROKEN (1<<6) |
Broken means not locked. More... | |
#define | BEZKEY_WBROKEN (1<<21) |
Broken means not locked. More... | |
In and Out types | |
#define | BEZKEY_NUMTYPEBITS 3 |
#define | BEZKEY_INTYPESHIFT 7 |
#define | BEZKEY_OUTTYPESHIFT (BEZKEY_INTYPESHIFT+BEZKEY_NUMTYPEBITS) |
#define | BEZKEY_TYPEMASK 7 |
Bezier Tangeant Types | |
#define | BEZKEY_SMOOTH 0 |
#define | BEZKEY_LINEAR 1 |
#define | BEZKEY_STEP 2 |
#define | BEZKEY_FAST 3 |
#define | BEZKEY_SLOW 4 |
#define | BEZKEY_USER 5 |
#define | BEZKEY_FLAT 6 |
#define | NUM_TANGENTTYPES 7 |
Key Flagbit Macros | |
#define | BEZKEY_CONSTVELOCITY (1<<15) |
Interpolated using arclength as the interpolation parameter. More... | |
#define | BEZKEY_UNCONSTRAINHANDLE (1<<20) |
Determines whether a user handle is limited. More... | |
#define | TangentsLocked(f, j) (!(f&(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN))) |
Interpolated using arclength as the interpolation parameter. More... | |
#define | SetTangentLock(f, j, l) {if (l) (f)=(f)&(~(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN)); else (f)|=(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN);} |
Interpolated using arclength as the interpolation parameter. More... | |
Macros to Access Hybrid Tangent Types | |
#define | GetInTanType(f) int(((f)>>BEZKEY_INTYPESHIFT)&BEZKEY_TYPEMASK) |
#define | GetOutTanType(f) int(((f)>>BEZKEY_OUTTYPESHIFT)&BEZKEY_TYPEMASK) |
#define | SetInTanType(f, t) {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_INTYPESHIFT)))|(t<<BEZKEY_INTYPESHIFT);} |
#define | SetOutTanType(f, t) {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_OUTTYPESHIFT)))|(t<<BEZKEY_OUTTYPESHIFT);} |
#define | HITKEY_INTAN (1<<22) |
#define | HITKEY_OUTTAN (1<<23) |
#define | HITKEY_TIME (1<<24) |
#define | HITKEY_KEY (1<<25) |
#define | HITKEY_ANY (HITKEY_INTAN|HITKEY_OUTTAN|HITKEY_TIME|HITKEY_KEY) |
#define IKEY_SELECTED (1<<0) |
#define IKEY_XSEL (1<<1) |
#define IKEY_YSEL (1<<2) |
#define IKEY_ZSEL (1<<3) |
#define IKEY_WSEL (1<<30) |
#define IKEY_FLAGGED (1<<31) |
#define IKEY_TIME_LOCK (1<<14) |
#define IKEY_ALLSEL (IKEY_SELECTED|IKEY_XSEL|IKEY_YSEL|IKEY_ZSEL|IKEY_WSEL) |
#define IKEY_VALLOCK_SHIFT 16 |
#define IKEY_VALX_LOCK (1<<IKEY_VALLOCK_SHIFT) |
#define IKEY_VALY_LOCK (1<<(IKEY_VALLOCK_SHIFT+1)) |
#define IKEY_VALZ_LOCK (1<<(IKEY_VALLOCK_SHIFT+2)) |
#define IKEY_VALA_LOCK (1<<(IKEY_VALLOCK_SHIFT+3)) |
#define TCBKEY_QUATVALID (1<<4) |
Angle/axis is derived from the quat instead of vice/versa.
#define BEZKEY_XBROKEN (1<<4) |
Broken means not locked.
#define BEZKEY_YBROKEN (1<<5) |
Broken means not locked.
#define BEZKEY_ZBROKEN (1<<6) |
Broken means not locked.
#define BEZKEY_WBROKEN (1<<21) |
Broken means not locked.
#define BEZKEY_NUMTYPEBITS 3 |
#define BEZKEY_INTYPESHIFT 7 |
#define BEZKEY_OUTTYPESHIFT (BEZKEY_INTYPESHIFT+BEZKEY_NUMTYPEBITS) |
#define BEZKEY_TYPEMASK 7 |
#define BEZKEY_SMOOTH 0 |
#define BEZKEY_LINEAR 1 |
#define BEZKEY_STEP 2 |
#define BEZKEY_FAST 3 |
#define BEZKEY_SLOW 4 |
#define BEZKEY_USER 5 |
#define BEZKEY_FLAT 6 |
#define NUM_TANGENTTYPES 7 |
#define BEZKEY_CONSTVELOCITY (1<<15) |
Interpolated using arclength as the interpolation parameter.
#define BEZKEY_UNCONSTRAINHANDLE (1<<20) |
Determines whether a user handle is limited.
#define TangentsLocked | ( | f, | |
j | |||
) | (!(f&(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN))) |
Interpolated using arclength as the interpolation parameter.
#define SetTangentLock | ( | f, | |
j, | |||
l | |||
) | {if (l) (f)=(f)&(~(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN)); else (f)|=(j <= 2 ? (BEZKEY_XBROKEN<<j) : BEZKEY_WBROKEN);} |
Interpolated using arclength as the interpolation parameter.
#define GetInTanType | ( | f | ) | int(((f)>>BEZKEY_INTYPESHIFT)&BEZKEY_TYPEMASK) |
#define GetOutTanType | ( | f | ) | int(((f)>>BEZKEY_OUTTYPESHIFT)&BEZKEY_TYPEMASK) |
#define SetInTanType | ( | f, | |
t | |||
) | {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_INTYPESHIFT)))|(t<<BEZKEY_INTYPESHIFT);} |
#define SetOutTanType | ( | f, | |
t | |||
) | {(f) = ((f)&(~(BEZKEY_TYPEMASK<<BEZKEY_OUTTYPESHIFT)))|(t<<BEZKEY_OUTTYPESHIFT);} |
#define HITKEY_INTAN (1<<22) |
#define HITKEY_OUTTAN (1<<23) |
#define HITKEY_TIME (1<<24) |
#define HITKEY_KEY (1<<25) |
#define HITKEY_ANY (HITKEY_INTAN|HITKEY_OUTTAN|HITKEY_TIME|HITKEY_KEY) |