Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Hamalainen <blender@miikah.org>2011-11-05 12:04:49 +0400
committerMiika Hamalainen <blender@miikah.org>2011-11-05 12:04:49 +0400
commit2ed6f077b3952123d56916980d18a379ecb3e5ac (patch)
tree1aa273e5566c95214739fb224d4c6cf115417882 /source/blender/makesdna/DNA_object_types.h
parentb9c83456b27da57a14bcf8d274b460e670d49990 (diff)
parent62f22185546e80b661424b45c88006f8b592d8b1 (diff)
Merge with trunk r41545
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r--source/blender/makesdna/DNA_object_types.h92
1 files changed, 44 insertions, 48 deletions
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 19eff756ce1..3306b9e97bc 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -111,12 +111,12 @@ typedef struct Object {
/* proxy_from is set in target back to the proxy. */
struct Object *proxy, *proxy_group, *proxy_from;
struct Ipo *ipo; // XXX depreceated... old animation system
- struct Path *path;
+ /* struct Path *path; */
struct BoundBox *bb;
struct bAction *action; // XXX depreceated... old animation system
struct bAction *poselib;
- struct bPose *pose;
- void *data;
+ struct bPose *pose; /* pose data, armature objects only */
+ void *data; /* pointer to objects data - an 'ID' or NULL */
struct bGPdata *gpd; /* Grease Pencil data */
@@ -124,9 +124,9 @@ typedef struct Object {
bMotionPath *mpath; /* motion path cache for this object */
ListBase constraintChannels; // XXX depreceated... old animation system
- ListBase effect;
- ListBase disp;
- ListBase defbase;
+ ListBase effect; // XXX depreceated... keep for readfile
+ ListBase disp; /* list of DispList, used by lattice, metaballs curve & surfaces */
+ ListBase defbase; /* list of bDeformGroup (vertex groups) names and flag only */
ListBase modifiers; /* list of ModifierData structures */
int mode; /* Local object mode */
@@ -156,7 +156,7 @@ typedef struct Object {
*/
float imat_ren[4][4];
- unsigned int lay; /* copy of Base */
+ unsigned int lay; /* copy of Base's layer in the scene */
short flag; /* copy of Base */
short colbits; /* deprecated */
@@ -164,9 +164,10 @@ typedef struct Object {
short transflag, protectflag; /* transformation settings and transform locks */
short trackflag, upflag;
short nlaflag, ipoflag; // xxx depreceated... old animation system
- short ipowin, scaflag; /* ipowin: blocktype last ipowindow */
- short scavisflag, boundtype;
-
+ short scaflag; /* ui state for game logic */
+ char scavisflag; /* more display settings for game logic */
+ char pad5;
+
int dupon, dupoff, dupsta, dupend;
float sf, ctime; /* sf is time-offset, ctime is the objects current time (XXX timing needs to be revised) */
@@ -193,41 +194,33 @@ typedef struct Object {
float min_vel; /* clamp the maximum velocity 0.0 is disabled */
float m_contactProcessingThreshold;
float obstacleRad;
- char pad0[4];
-
+
short rotmode; /* rotation mode - uses defines set out in DNA_action_types.h for PoseChannel rotations... */
-
- char dt, dtx;
- char empty_drawtype, pad1[3];
+
+ char boundtype; /* bounding box use for drawing */
+ char collision_boundtype; /* bounding box type used for collision */
+
+ char restrictflag; /* for restricting view, select, render etc. accessible in outliner */
+
+ char dt; /* viewport draw type */
+ char dtx; /* viewport draw extra settings */
+ char empty_drawtype;
float empty_drawsize;
float dupfacesca; /* dupliface scale */
- ListBase prop;
- ListBase sensors;
- ListBase controllers;
- ListBase actuators;
-
+ ListBase prop; /* game logic property list (not to be confused with IDProperties) */
+ ListBase sensors; /* game logic sensors */
+ ListBase controllers; /* game logic controllers */
+ ListBase actuators; /* game logic actuators */
+
float bbsize[3];
short index; /* custom index, for renderpasses */
unsigned short actdef; /* current deformation group, note: index starts at 1 */
float col[4]; /* object color */
- /**
- * Settings for game objects
- * bit 0: Object has dynamic behaviour
- * bit 2: Object is evaluated by the gameengine
- * bit 6: Use Fh settings in Materials
- * bit 7: Use face normal to rotate Object
- * bit 8: Friction is anisotropic
- * bit 9: Object is a ghost
- * bit 10: Do rigid body dynamics.
- * bit 11: Use bounding object for physics
- */
+
int gameflag;
- /**
- * More settings
- * bit 15: Always ignore activity culling
- */
int gameflag2;
+
struct BulletSoftBody *bsoft; /* settings for game engine bullet soft body */
short softflag; /* softbody settings */
@@ -236,22 +229,18 @@ typedef struct Object {
ListBase constraints; /* object constraints */
ListBase nlastrips; // XXX depreceated... old animation system
- ListBase hooks;
+ ListBase hooks; // XXX depreceated... old animation system
ListBase particlesystem; /* particle systems */
struct PartDeflect *pd; /* particle deflector/attractor/collision data */
struct SoftBody *soft; /* if exists, saved in file */
struct Group *dup_group; /* object duplicator for group */
-
- short fluidsimFlag; /* NT toggle fluidsim participation on/off */
-
- short restrictflag; /* for restricting view, select, render etc. accessible in outliner */
- short shapenr, shapeflag; /* current shape key for menu or pinned, flag for pinning */
+ char body_type; /* for now used to temporarily holds the type of collision object */
+ char shapeflag; /* flag for pinning */
+ short shapenr; /* current shape key for menu or pinned */
float smoothresh; /* smoothresh is phong interpolation ray_shadow correction in render */
- short recalco; /* recalco for temp storage of ob->recalc, bad design warning */
- short body_type; /* for now used to temporarily holds the type of collision object */
-
+
struct FluidsimSettings *fluidsimSettings; /* if fluidsim enabled, store additional settings */
struct DerivedMesh *derivedDeform, *derivedFinal;
@@ -260,12 +249,11 @@ typedef struct Object {
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 */
- ListBase gpulamp; /* runtime, for lamps only */
+ ListBase gpulamp; /* runtime, for glsl lamp display only */
ListBase pc_ids;
ListBase *duplilist; /* for temporary dupli list storage, only for use by RNA API */
float ima_ofs[2]; /* offset for image empties */
- char pad3[8];
} Object;
/* Warning, this is not used anymore because hooks are now modifiers */
@@ -286,13 +274,17 @@ typedef struct ObHook {
float force;
} ObHook;
+/* runtime only, but include here for rna access */
typedef struct DupliObject {
struct DupliObject *next, *prev;
struct Object *ob;
unsigned int origlay;
- int index, no_draw, type, animated;
+ int index;
float mat[4][4], omat[4][4];
float orco[3], uv[2];
+
+ short type; /* from Object.transflag */
+ char no_draw, animated;
} DupliObject;
/* **************** OBJECT ********************* */
@@ -321,6 +313,7 @@ typedef struct DupliObject {
/* check if the object type supports materials */
#define OB_TYPE_SUPPORT_MATERIAL(_type) ((_type) >= OB_MESH && (_type) <= OB_MBALL)
+#define OB_TYPE_SUPPORT_VGROUP(_type) (ELEM(_type, OB_MESH, OB_LATTICE))
/* partype: first 4 bits: type */
#define PARTYPE 15
@@ -384,8 +377,11 @@ typedef struct DupliObject {
#define OB_BOUNDBOX 1
#define OB_WIRE 2
#define OB_SOLID 3
-#define OB_SHADED 4
+#define OB_MATERIAL 4
#define OB_TEXTURE 5
+#define OB_RENDER 6
+
+#define OB_PAINT 100 /* temporary used in draw code */
/* dtx: flags, char! */
#define OB_AXIS 2