struct FluidsimSettings;
struct ParticleSystem;
struct DerivedMesh;
+struct SculptSession;
typedef struct bDeformGroup {
struct bDeformGroup *next, *prev;
typedef struct Object {
ID id;
struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
+
+ struct SculptSession *sculpt;
short type, partype;
int par1, par2, par3; /* can be vertexnrs */
ListBase defbase;
ListBase modifiers; /* list of ModifierData structures */
+ /* For now just a flag for sculpt mode, eventually we make the other modes local too */
+ int mode, pad2;
+
/* materials */
struct Material **mat; /* material slots */
char *matbits; /* 1 if material linked to object */
int lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */
unsigned int state; /* bit masks of game controllers that are active */
unsigned int init_state; /* bit masks of initial state as recorded by the users */
- int pad2;
+
+ int restore_mode; /* Keep track of what mode to return to after edit mode exits */
ListBase gpulamp; /* runtime, for lamps only */
} Object;
#define OB_DONE 1024
#define OB_RADIO 2048
#define OB_FROMGROUP 4096
-#define OB_POSEMODE 8192
/* ob->recalc (flag bits!) */
#define OB_RECALC_OB 1
#define OB_LOCK_SCALEZ 256
#define OB_LOCK_SCALE 448
+/* ob->mode */
+#define OB_MODE_OBJECT 0
+#define OB_MODE_EDIT 1
+#define OB_MODE_SCULPT 2
+#define OB_MODE_VERTEX_PAINT 4
+#define OB_MODE_WEIGHT_PAINT 8
+#define OB_MODE_TEXTURE_PAINT 16
+#define OB_MODE_PARTICLE_EDIT 32
+#define OB_MODE_POSE 64
+
/* ob->softflag in DNA_object_force.h */
#ifdef __cplusplus