10 #ifndef __OP_NodeFlags_h__
11 #define __OP_NodeFlags_h__
23 #define OP_BYPASS_FLAG 'b'
24 #define OP_COLORDEFAULT_FLAG 'F'
25 #define OP_COMPRESS_FLAG 'c'
26 #define OP_CURRENT_FLAG 'C'
27 #define OP_DISPLAY_FLAG 'd'
28 #define OP_EXPOSE_FLAG 'e'
29 #define OP_FOOTPRINT_FLAG 'f'
30 #define OP_HIGHLIGHT_FLAG 'h'
31 #define OP_LOCK_FLAG 'l'
32 #define OP_SOFT_LOCK_FLAG 'K'
34 #define OP_EXPORT_FLAG 'o'
35 #define OP_OUTPUTFORVIEW_FLAG 'O'
36 #define OP_PICK_FLAG 'p'
37 #define OP_DESCRIPTIVENAME_FLAG 'P'
38 #define OP_DISPLAYCOMMENT_FLAG 'Y'
39 #define OP_RENDER_FLAG 'r'
40 #define OP_SAVEDATA_FLAG 's'
41 #define OP_TEMPLATE_FLAG 't'
42 #define OP_UNLOAD_FLAG 'u'
43 #define OP_VISIBLE_FLAG 'V'
44 #define OP_XRAY_FLAG 'y'
46 #define OP_MODELED_FLAG 'm'
47 #define OP_END_FLAG 'E'
48 #define OP_ORIGIN_FLAG 'x'
50 #define OP_FLAG_ON " on"
51 #define OP_FLAG_OFF " off"
53 #define SET_FLAG_STRING(str_val, flag_val) \
54 str_val = (flag_val) ? OP_FLAG_ON : OP_FLAG_OFF
69 static const char *getFlagName(
uchar token);
71 static const uchar *getTakeFlagTokens();
72 static bool isTakeFlag(
uchar token);
77 static bool isSubjectToStdPermissions(
uchar token);
78 static bool isSubjectToAssetPermissions(
uchar token);
81 { myRecursion =
val; }
83 {
return myRecursion; }
86 { myUndoComment = on_off; }
88 { myUndoInput = on_off; }
90 { myUndoLayout = on_off; }
92 { myUndoDelScript = on_off; }
94 { myUndoPreTransform = on_off; }
96 { myUndoFlagChange = on_off; }
98 { myColorDefault = on_off; }
100 { myCompress = on_off; }
102 { myDisplayDescriptiveName = on_off; }
104 { myDisplayComment = on_off; }
106 { myAlwaysCook = on_off; }
108 { myUnload = on_off; }
110 { myForceCook = on_off; }
112 { myHasCookedData = on_off; }
114 { myTimeDep = on_off; }
116 { myCooking = on_off; }
118 { myDisplay = on_off; }
120 { myRender = on_off; }
122 { myHighlight = on_off; }
124 { myTemplate = on_off; }
126 { myFootprint = on_off; }
130 { myBypass = on_off; }
132 { myPicked = on_off; }
134 { myEditPicked = on_off; }
136 { myLockState = on_off ? OP_HARD_LOCKED : OP_UNLOCKED; }
138 { myLockState = on_off ? OP_SOFT_LOCKED : OP_UNLOCKED; }
140 { myLockState =
state; }
142 { myModified = on_off; }
144 { myExpose = on_off; }
146 { mySaveBypass = on_off; }
148 { mySaveData = on_off; }
150 { myOutputForView = output; }
155 { myTimeInterest = on_off; }
157 { myTimeInterestCook = on_off; }
159 { myClearDependency = on_off; }
162 {
return myUndoComment; }
164 {
return myUndoInput; }
166 {
return myUndoLayout; }
168 {
return myUndoDelScript; }
170 {
return myUndoPreTransform; }
172 {
return myUndoFlagChange; }
174 {
return myColorDefault; }
176 {
return myCompress; }
178 {
return myDisplayDescriptiveName; }
180 {
return myDisplayComment; }
182 {
return myAlwaysCook; }
186 {
return myForceCook; }
188 {
return myHasCookedData; }
190 {
return myTimeDep; }
192 {
return myCooking; }
194 {
return myDisplay; }
198 {
return myHighlight; }
200 {
return myTemplate; }
202 {
return myFootprint; }
210 {
return myEditPicked; }
212 {
return myLockState == OP_HARD_LOCKED; }
214 {
return myLockState == OP_SOFT_LOCKED; }
216 {
return myLockState != OP_UNLOCKED; }
218 {
return myLockState; }
220 {
return myModified; }
224 {
return mySaveBypass; }
226 {
return mySaveData; }
228 {
return myTimeInterest; }
230 {
return myTimeInterestCook; }
232 {
return myClearDependency; }
234 {
return myOutputForView; }
236 void clearAllTakeFlags();
238 void setTakeFlag(
uchar which,
bool v);
239 bool getTakeFlag(
uchar which)
const;
241 void setTakeValue(
uchar which,
bool v);
242 bool getTakeValue(
uchar which)
const;
245 { myHasTakeData = on_off; }
247 {
return myHasTakeData; }
250 {
return myTakeDisplay; }
252 {
return myTakeRender; }
254 {
return myTakeTemplate; }
256 {
return myTakeExpose; }
258 {
return myTakeBypass; }
260 {
return myTakePick; }
262 {
return myTakeCurrent; }
265 {
return myInterrupted; }
267 { myInterrupted =
f; }
269 {
return myDescendantInterrupted; }
271 { myDescendantInterrupted =
f; }
273 {
return myClearingInterrupt; }
275 { myClearingInterrupt =
f; }
285 myExtraLabel = labels;
288 bool getExtraVal(
char a)
const;
289 void setExtraVal(
char a,
bool on_off);
292 void appendCommandString(std::ostream &os,
294 bool save_to_hip)
const;
295 void getFlagOptions(
UT_String &options)
const;
298 {
return myLastTimeDep;}
300 { myLastTimeDep = myTimeDep;}
310 OP_LockTypes myLockState;
317 int8 myOutputForView;
327 myDisplayDescriptiveName:1,
343 mutable bool myRecursion;
344 bool myHasCookedData;
348 bool myHasTakeData:1,
358 bool myInterrupted:1;
360 bool myDescendantInterrupted:1;
362 bool myClearingInterrupt:1;
369 myUndoPreTransform:1,
373 myTimeInterestCook:1,
378 friend class OP_UndoFlag;
382 myExtraLabel(nullptr)
385 { shallowCopy(source); }
393 void save(std::ostream &os,
395 bool forundo =
false);
398 bool loadAsciiFlag(
const char *
name,
const char *
val);
399 bool loadBinaryFlag(
int tag,
int val);
405 const char **myExtraLabel;
406 unsigned int myExtraVal;
void setHasCookedData(bool on_off)
bool getEditPicked() const
bool getUndoInput() const
void setFootprint(bool on_off)
void setModified(bool on_off)
void setHasTakeData(bool on_off)
bool getTakeTemplate() const
int8 getOutputForView() const
bool getTakeDisplay() const
bool getTakeRender() const
bool getSoftLocked() const
void setClearingInterrupt(bool f)
GLsizei const GLfloat * value
const GLuint GLenum const void * binary
GLsizei const GLchar *const * path
void setTimeInterestCook(bool on_off)
void setTemplate(bool on_off)
OP_NodeFlagData(int f, int v)
void setDisplay(bool on_off)
GLboolean GLboolean GLboolean GLboolean a
bool getClearingInterrupt() const
void setPicked(bool on_off)
bool getTakeExpose() const
bool getTimeInterest() const
void setColorDefault(bool on_off)
bool getColorDefault() const
bool getDescendantInterrupted() const
bool getClearDependency() const
void setExpose(bool on_off)
void setUndoLayout(bool on_off)
bool getUndoComment() const
bool getAlwaysCook() const
void setDisplayDescriptiveName(bool on_off)
void setHardLocked(bool on_off)
void setUndoFlagChange(bool on_off)
bool getSaveBypass() const
void setRender(bool on_off)
void setTimeInterest(bool on_off)
void setHighlight(bool on_off)
bool getDisplayComment() const
void setUndoPreTransform(bool on_off)
void setDisplayComment(bool on_off)
void setUndoInput(bool on_off)
void setRecursion(bool val) const
bool getUndoLayout() const
void setExtra(const char *opts, int val, const char **labels)
void setClearDependency(bool on_off)
void setEditPicked(bool on_off)
const char * getExtra() const
bool getHasCookedData() const
GLsizei GLsizei GLchar * source
bool getHardLocked() const
void setDescendantInterrupted(bool f)
void setSaveData(bool on_off)
bool getUndoPreTransform() const
GLuint const GLchar * name
bool getForceCook() const
bool getTimeInterestCook() const
bool getFootprint() const
void setSaveBypass(bool on_off)
OP_LockTypes getLockState() const
void setOutputForView(int8 output)
void setUndoDelScript(bool on_off)
void setForceCook(bool on_off)
bool getHasTakeData() const
bool getTakeCurrent() const
Create an evaluation context scope with a new node.
bool getUndoFlagChange() const
bool getRecursion() const
void setTimeDep(bool on_off)
void setSoftLocked(bool on_off)
void setAlwaysCook(bool on_off)
LeafData & operator=(const LeafData &)=delete
void setBypass(bool on_off)
bool getDisplayDescriptiveName() const
void setInterrupted(bool f)
bool getUndoDelScript() const
bool getTakeBypass() const
void setUndoComment(bool on_off)
bool getInterrupted() const
bool getHighlight() const
bool getLastTimeDep() const
void setLockState(OP_LockTypes state)
void setCompress(bool on_off)
void setUnload(bool on_off)
void setCooking(bool on_off)
void setXray(bool on_off)