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)