To turn on a flag (whether it is on or off).
//bitwise or with FLAGS_NAME obj->flags |= FLAGS_NAME;
To turn off a flag (whether it is on or off).
//bitwise and with NOT( FLAGS_NAME ) obj->flags &= ~FLAGS_NAME;
To turn a flag on if it is off and off if it is on.
//bitwise xor with FLAGs_NAME obj->flags ^= FLAGS_NAME;
FLAGS_NAME stands for any of the flags defined below.
//sets the type of object FLAGS_DAG FLAGS_PRIM FLAGS_CAMERA FLAGS_LIGHT //sets the type of object to undefined FLAGS_NOTYPE //sets the object to have a partially transparent shadow. #define FLAGS_TRANSLUCENT //sets the types of rays which the object appears in. FLAGS_NOPRIMARY //can't be seen unless it's a reflected or transmitted //or shadow ray. FLAGS_NOSHADOW // doesn't cast a shadow. (lights: doesn't cast shadows) FLAGS_NOREFLECT // doesn't appear in mirrors. FLAGS_NOTRANSMIT // doesn't appear in transmitted rays. FLAGS_ONLYTRANSMIT // only appears in transmitted rays //indicates that when the dag-graph is traversed this object is one that //needs to have its position placed in the global label-list. //This flag has no meaning for primnodes. FLAGS_LABELED // designates that there is more than one texture applied to a given primnode, // and that the texcol pointer should be used rather than the texture pointer. // Set automatically when the primnode is created. FLAGS_MULTITEXTURE //Defined in the gateway objects section. FLAGS_GATEWAY FLAGS_ONEWAY_GATEWAY FLAGS_NOT_THROUGH_GATEWAY FLAGS_ONLY_THROUGH_GATEWAY