Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #pragma once
00012
00013 #include "strbasic.h"
00014
00015
00016 #define TRACK_DOSEL (1<<0)
00017 #define TRACK_DOALL (1<<1) // ignore selection
00018 #define TRACK_SLIDEUNSEL (1<<2) // Slide unselected keys to the right
00019 #define TRACK_RIGHTTOLEFT (1<<3) // Enumerate right to left. If TRACK_SLIDEUNSEL is set, keys will slide to the left.
00020 #define TRACK_DOSUBANIMS (1<<4) // This flag is only passed to MapKeys
00021 #define TRACK_DOCHILDNODES (1<<5) // This flag is only passed to MapKeys
00022 #define TRACK_MAPRANGE (1<<6) // The range, if not locked to first and last key, should be mapped as well.
00023 #define TRACK_DOSOFTSELECT (1<<7) // Apply soft selection weights to the results of Time map. This flag is only passed to MapKeys
00024 #define TRACK_INSERTKEYS (1<<8) // Unselected keys after the insertion point get moved to the right
00025 #define TRACK_REPLACEKEYS (1<<9) // Unselected keys within selected keys' range get deleted
00026
00027
00028 #define EDITRANGE_LINKTOKEYS (1<<0) // This means if one of the ends of the interval is at a key, link it to the key so that if the key moves, the interval moves.
00029
00030
00031 #define HITTRACK_SELONLY (1<<0)
00032 #define HITTRACK_UNSELONLY (1<<1)
00033 #define HITTRACK_ABORTONHIT (1<<2)
00034 #define HITCURVE_TESTTANGENTS (1<<3)
00035 #define HITTRACK_SUBTREEMODE (1<<4) // Subtree mode is on so the anim is being asked to hittest itself in one of its ancestor's tracks
00036 #define HITCURVE_TESTALLTANGENTS (1<<5) // If PAINTCURVE_SHOWALLTANGENTS is set then you also want to hit test all tangent handles
00037
00038
00039
00040
00041 #define SELKEYS_SELECT (1<<0)
00042 #define SELKEYS_DESELECT (1<<1)
00043 #define SELKEYS_CLEARKEYS (1<<2)
00044 #define SELKEYS_CLEARCURVE (1<<3)
00045 #define SELKEYS_FCURVE (1<<4) // indicates that were operating on keys of a function curve, not a track
00046
00047
00048
00049 #define TIMERANGE_SELONLY (1<<0) // The bounding interval of selected keys
00050 #define TIMERANGE_ALL (1<<1) // Whatever the channel's time range is - usually the bunding interval of all keys.
00051 #define TIMERANGE_CHILDNODES (1<<2) // A node's time range should include child nodes.
00052 #define TIMERANGE_CHILDANIMS (1<<3) // A animatable's child anim ranges should be included
00053
00054
00055 #define TIME_INCLEFT (1<<10) // Include left endpoint
00056 #define TIME_INCRIGHT (1<<11) // Include right endpoint
00057 #define TIME_NOSLIDE (1<<12) // Delete any keys in the interval but don't actually remove the block of time.
00058
00059
00060 #define PASTE_RELATIVE (1<<20) // Add the keys relative to existing keys
00061
00062
00063 #define ADDKEY_SELECT (1<<0) // Select the new key and deselect any other selected keys
00064 #define ADDKEY_INTERP (1<<1) // Init the new key to the interpolated value at that time. Otherwise, init the key to the value of the previous key.
00065 #define ADDKEY_FLAGGED (1<<2) // Flag the newly created key as if FlagKey() was called for it
00066
00067
00068 #define COPYKEY_POS (1<<0) // These filter flags are passed to a tm controller. The tm
00069 #define COPYKEY_ROT (1<<1) // can decide what to do with them... they have obvious meaning
00070 #define COPYKEY_SCALE (1<<2) // For the PRS controller.
00071
00072
00073 #define NEXTKEY_LEFT (1<<0) // Search to the left.
00074 #define NEXTKEY_RIGHT (1<<1) // Search to the right.
00075 #define NEXTKEY_POS (1<<2)
00076 #define NEXTKEY_ROT (1<<3)
00077 #define NEXTKEY_SCALE (1<<4)
00078
00079
00080 #define KEYAT_POSITION (1<<0)
00081 #define KEYAT_ROTATION (1<<1)
00082 #define KEYAT_SCALE (1<<2)
00083
00084
00085 #define PAINTTRACK_SHOWSEL (1<<0)
00086 #define PAINTTRACK_SHOWSTATS (1<<1) // Show for selected keys
00087 #define PAINTCURVE_SHOWTANGENTS (1<<2) // Show for selected keys
00088 #define PAINTCURVE_FROZEN (1<<3) // Curve is in a frozen state
00089 #define PAINTCURVE_GENCOLOR (1<<4) // Draw curve in generic color
00090 #define PAINTCURVE_XCOLOR (1<<5) // Draw curve in red
00091 #define PAINTCURVE_YCOLOR (1<<6) // Draw curve in green
00092 #define PAINTCURVE_ZCOLOR (1<<7) // Draw curve in blue
00093 #define PAINTTRACK_SUBTREEMODE (1<<8) // Subtree mode is on so the anim is being asked to paint itself in one of its ancestor's tracks
00094 #define PAINTTRACK_HIDESTATICVALUES (1<<9) // Indicates that static values shouldn't be displayed in tracks.
00095 #define PAINTCURVE_FROZENKEYS (1<<10) // Show keys on frozen tracks
00096 #define PAINTCURVE_SHOWALLTANGENTS (1<<11) // Show tangents for unselected keys as well
00097 #define PAINTCURVE_SOFTSELECT (1<<12) // Draw curves using Soft Selection
00098 #define PAINTCURVE_WCOLOR (1<<13) // Draw curve in yellow
00099
00100
00101 #define EXTENTS_SHOWTANGENTS (1<<0) // Tangents are visible for selected keys
00102 #define EXTENTS_SHOWALLTANGENTS (1<<1) // Tangents are visible for all keys
00103 #define EXTENTS_FITINRANGE (1<<2) // Fit only keys with a value falling within the currently displayed time range
00104 #define EXTENTS_SELECTED_KEYS (1<<3) // Fit only selected keys
00105
00106
00107 #define TRACK_DONE 1 // Track was successfully painted/hittested
00108 #define TRACK_DORANGE 2 // This anim has no track. Draw/hittest the bounding range of it's subanims
00109 #define TRACK_ASKCLIENT 3 // Ask client anim to paint the track
00110 #define TRACK_DOSTANDARD 4 // Have the system draw and hit test the track for you -- Version 4.5 and later only
00111
00112
00113 #define HITCURVE_KEY 1 // Hit one or more keys
00114 #define HITCURVE_WHOLE 2 // Hit the curve (anywhere)
00115 #define HITCURVE_TANGENT 3 // Hit a tangent handle
00116 #define HITCURVE_NONE 4 // Didn't hit squat
00117 #define HITCURVE_ASKCLIENT 5 // Ask client to hit test fcurve.
00118
00119
00120
00121
00122 #define DISPLAY_XCURVE (1<<28)
00123 #define DISPLAY_YCURVE (1<<29)
00124 #define DISPLAY_ZCURVE (1<<30)
00125 #define DISPLAY_WCURVE (1<<31)
00126
00127
00128 #define KEYS_NONESELECTED (1<<0)
00129 #define KEYS_MULTISELECTED (1<<1)
00130 #define KEYS_COMMONTIME (1<<2) // Both of these last two bits
00131 #define KEYS_COMMONVALUE (1<<3) // could be set.
00132
00133
00134 #define KEYCOORDS_TIMEONLY (1<<0)
00135 #define KEYCOORDS_VALUEONLY (1<<1)
00136
00137
00138 #define KEYCOORDS_TIMEVAR _M("n")
00139 #define KEYCOORDS_VALVAR _M("n")
00140
00141
00142 #define KEYCOORDS_EXPR_UNSUPPORTED 0 // Don't implement this method
00143 #define KEYCOORDS_EXPR_ERROR 1 // Error in expression
00144 #define KEYCOORDS_EXPR_OK 2 // Expression evaluated
00145
00146
00147 #define NOT_KEYFRAMEABLE -1
00148
00149
00150 #define ADJTAN_LOCK (1<<0)
00151 #define ADJTAN_BREAK (1<<1)
00152
00153
00154 #define EDITTRACK_FCURVE (1<<0) // The user is in the function curve editor.
00155 #define EDITTRACK_TRACK (1<<1) // The user is in one of the track views.
00156 #define EDITTRACK_SCENE (1<<2) // The user is editing a path in the scene.
00157 #define EDITTRACK_BUTTON (1<<3) // The user invoked by choosing the properties button. In this case the time parameter is NOT valid.
00158 #define EDITTRACK_MOUSE (1<<4) // The user invoked by right clicking with the mouse. In this case the time parameter is valid.
00159
00160
00161
00162 #define TRACKPARAMS_NONE 0 // Has no track parameters
00163 #define TRACKPARAMS_KEY 1 // Entered by right clicking on a selected key
00164 #define TRACKPARAMS_WHOLE 2 // Entered by right clicking anywhere in the track.
00165
00166
00167 #define RENDERBEGIN_IN_MEDIT 1 // Indicates that the render is occuring in the material editor.
00168