![]() |
![]() |
![]() |
![]() |
"Animation Envelopes"Availability: LightWave 6.0 An envelope is an array of time-varying settings, or keyframes. This global returns functions that allow you to create and manage envelopes and envelope groups. Global Call LWEnvelopeFuncs *envfunc; envfunc = global( "Animation Envelopes", GFUSE_TRANSIENT ); The global function returns a pointer to an LWEnvelopeFuncs. typedef struct st_LWEnvelopeFuncs { LWEnvelopeID (*create)(LWEnvGroupID, const char *, int); void (*destroy)(LWEnvelopeID); LWEnvGroupID (*createGroup)(LWEnvGroupID parent, const char *); void (*destroyGroup)(LWEnvGroupID); LWError (*copy)(LWEnvelopeID to, LWEnvelopeID from); LWError (*load)(LWEnvelopeID, LWLoadState *); LWError (*save)(LWEnvelopeID, LWSaveState *); double (*evaluate)(LWEnvelopeID, LWTime); int (*edit)(LWEnvGroupID, LWEnvelopeID, int flags, void *data); int (*envAge)(LWEnvelopeID); LWEnvKeyframeID (*createKey)(LWEnvelopeID, LWTime, double value); void (*destroyKey)(LWEnvelopeID, LWEnvKeyframeID); LWEnvKeyframeID (*nextKey)(LWEnvelopeID, LWEnvKeyframeID); LWEnvKeyframeID (*prevKey)(LWEnvelopeID, LWEnvKeyframeID); int (*keySet)(LWEnvelopeID, LWEnvKeyframeID, LWKeyTag, void *value); int (*keyGet)(LWEnvelopeID, LWEnvKeyframeID, LWKeyTag, void *value); } LWEnvelopeFuncs;
Example This code fragment don't do so much yet. #include <lwserver.h> #include <lwenvel.h> LWEnvelopeFuncs *envfunc; envfunc = global( "Animation Envelopes", GFUSE_TRANSIENT ); |