diff options
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 556 |
1 files changed, 404 insertions, 152 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index a1f911eeffd..73afc3d1a53 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -33,21 +33,22 @@ extern "C" { #endif +#include "DNA_brush_types.h" #include "DNA_vec_types.h" #include "DNA_listBase.h" -#include "DNA_scriptlink_types.h" #include "DNA_ID.h" -#include "DNA_scriptlink_types.h" -#include "DNA_freestyle_types.h" -struct Radio; struct Object; struct World; struct Scene; struct Image; struct Group; +struct Text; struct bNodeTree; - +struct AnimData; +struct Editing; +struct SceneStats; +struct bGPdata; typedef struct Base { struct Base *next, *prev; @@ -127,9 +128,6 @@ typedef struct SceneRenderLayer { int passflag; /* pass_xor has to be after passflag */ int pass_xor; - - struct FreestyleConfig freestyleConfig; - } SceneRenderLayer; /* srl->layflag */ @@ -139,7 +137,6 @@ typedef struct SceneRenderLayer { #define SCE_LAY_EDGE 8 #define SCE_LAY_SKY 16 #define SCE_LAY_STRAND 32 -#define SCE_LAY_FRS 64 /* flags between 32 and 0x8000 are set to 1 already, for future options */ #define SCE_LAY_ALL_Z 0x8000 @@ -162,7 +159,7 @@ typedef struct SceneRenderLayer { #define SCE_PASS_REFRACT 1024 #define SCE_PASS_INDEXOB 2048 #define SCE_PASS_UV 4096 -#define SCE_PASS_RADIO 8192 +#define SCE_PASS_RADIO 8192 /* Radio removed, can use for new GI? */ #define SCE_PASS_MIST 16384 /* note, srl->passflag is treestore element 'nr' in outliner, short still... */ @@ -173,7 +170,8 @@ typedef struct RenderData { struct AviCodecData *avicodecdata; struct QuicktimeCodecData *qtcodecdata; struct FFMpegCodecData ffcodecdata; - + struct AudioData audio; /* new in 2.5 */ + int cfra, sfra, efra; /* frames as in 'images' */ int psfra, pefra; /* start+end frames of preview range */ @@ -186,10 +184,10 @@ typedef struct RenderData { /** For UR edge rendering: give the edges this color */ float edgeR, edgeG, edgeB; - short fullscreen, xplay, yplay, freqplay; /* standalone player */ - short depth, attrib, rt1, rt2; /* standalone player */ + short fullscreen, xplay, yplay, freqplay; /* standalone player */ // XXX deprecated since 2.5 + short depth, attrib, rt1, rt2; /* standalone player */ // XXX deprecated since 2.5 - short stereomode; /* standalone player stereo settings */ + short stereomode; /* standalone player stereo settings */ // XXX deprecated since 2.5 short dimensionspreset; /* for the dimensions presets menu */ @@ -221,7 +219,12 @@ typedef struct RenderData { short bufflag; short quality; - short rpad, rpad1, rpad2; + /** + * Render to image editor, fullscreen or to new window. + */ + short displaymode; + + short rpad1, rpad2; /** * Flags for render settings. Use bit-masking to access the settings. @@ -233,7 +236,7 @@ typedef struct RenderData { */ int mode; - /* render engine, octree resolution */ + /* render engine (deprecated), octree resolution */ short renderer, ocres; /** @@ -272,8 +275,12 @@ typedef struct RenderData { * Value used to define filter size for all filter options */ float gauss; + + /* color management settings - color profiles, gamma correction, etc */ + int color_mgt_flag; + /** post-production settings. Depricated, but here for upwards compat (initialized to 1) */ - float postmul, postgamma, posthue, postsat; + float postgamma, posthue, postsat; /* Dither noise intensity */ float dither_intensity; @@ -316,6 +323,20 @@ typedef struct RenderData { /* cineon */ short cineonwhite, cineonblack; float cineongamma; + + /* jpeg2000 */ + short jp2_preset, jp2_depth; + int rpad3; + + /* Dome variables */ // XXX deprecated since 2.5 + short domeres, domemode; // XXX deprecated since 2.5 + short domeangle, dometilt; // XXX deprecated since 2.5 + float domeresbuf; // XXX deprecated since 2.5 + float pad2; // XXX deprecated since 2.5 + struct Text *dometext; // XXX deprecated since 2.5 + + /* render engine */ + char engine[32]; } RenderData; /* control render convert and shading engine */ @@ -332,6 +353,20 @@ typedef struct RenderProfile { } RenderProfile; +typedef struct GameDome { + short res, mode; + short angle, tilt; + float resbuf, pad2; + struct Text *warptext; +} GameDome; + +#define DOME_FISHEYE 1 +#define DOME_TRUNCATED_FRONT 2 +#define DOME_TRUNCATED_REAR 3 +#define DOME_ENVMAP 4 +#define DOME_PANORAM_SPH 5 +#define DOME_NUM_MODES 6 + typedef struct GameFraming { float col[3]; char type, pad1, pad2, pad3; @@ -341,6 +376,74 @@ typedef struct GameFraming { #define SCE_GAMEFRAMING_EXTEND 1 #define SCE_GAMEFRAMING_SCALE 2 +typedef struct GameData { + + /* physics (it was in world)*/ + float gravity; /*Gravitation constant for the game world*/ + + /* + * Radius of the activity bubble, in Manhattan length. Objects + * outside the box are activity-culled. */ + float activityBoxRadius; //it's not being used ANYWHERE !!!!!!!!!!!!!! + /* + * bit 3: (gameengine): Activity culling is enabled. + * bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum culling + */ + short mode, flag, matmode, pad[3]; + short occlusionRes; /* resolution of occlusion Z buffer in pixel */ + short physicsEngine; + short ticrate, maxlogicstep, physubstep, maxphystep; + + /* standalone player */ + struct GameFraming framing; + short fullscreen, xplay, yplay, freqplay; + short depth, attrib, rt1, rt2; + + /* stereo/dome mode */ + struct GameDome dome; + short stereoflag, stereomode, xsch, ysch; //xsch and ysch can be deleted !!! +} GameData; + +#define STEREO_NOSTEREO 1 +#define STEREO_ENABLED 2 +#define STEREO_DOME 3 + +//#define STEREO_NOSTEREO 1 +#define STEREO_QUADBUFFERED 2 +#define STEREO_ABOVEBELOW 3 +#define STEREO_INTERLACED 4 +#define STEREO_ANAGLYPH 5 +#define STEREO_SIDEBYSIDE 6 +#define STEREO_VINTERLACE 7 +//#define STEREO_DOME 8 + +/* physicsEngine */ +#define WOPHY_NONE 0 +#define WOPHY_ENJI 1 +#define WOPHY_SUMO 2 +#define WOPHY_DYNAMO 3 +#define WOPHY_ODE 4 +#define WOPHY_BULLET 5 + +/* GameData.flag */ +#define GAME_ENABLE_ALL_FRAMES (1 << 1) +#define GAME_SHOW_DEBUG_PROPS (1 << 2) +#define GAME_SHOW_FRAMERATE (1 << 3) +#define GAME_SHOW_PHYSICS (1 << 4) +#define GAME_DISPLAY_LISTS (1 << 5) +#define GAME_GLSL_NO_LIGHTS (1 << 6) +#define GAME_GLSL_NO_SHADERS (1 << 7) +#define GAME_GLSL_NO_SHADOWS (1 << 8) +#define GAME_GLSL_NO_RAMPS (1 << 9) +#define GAME_GLSL_NO_NODES (1 << 10) +#define GAME_GLSL_NO_EXTRA_TEX (1 << 11) +#define GAME_IGNORE_DEPRECATION_WARNINGS (1 << 12) + +/* GameData.matmode */ +#define GAME_MAT_TEXFACE 0 +#define GAME_MAT_MULTITEX 1 +#define GAME_MAT_GLSL 2 + typedef struct TimeMarker { struct TimeMarker *next, *prev; int frame; @@ -348,10 +451,27 @@ typedef struct TimeMarker { unsigned int flag; } TimeMarker; +typedef struct Paint { + /* Array of brushes selected for use in this paint mode */ + Brush **brushes; + int active_brush_index, brush_count; + + /* WM Paint cursor */ + void *paint_cursor; + unsigned char paint_cursor_col[4]; + + int pad; +} Paint; + typedef struct ImagePaintSettings { - struct Brush *brush; + Paint paint; + short flag, tool; - int pad3; + + /* for projection painting only */ + short seam_bleed, normal_angle; + + void *paintcursor; /* wm handle */ } ImagePaintSettings; typedef struct ParticleBrushData { @@ -366,9 +486,17 @@ typedef struct ParticleEditSettings { short brushtype; ParticleBrushData brush[7]; /* 7 = PE_TOT_BRUSH */ + void *paintcursor; /* runtime */ + + float emitterdist, rt; + + int selectmode; + int edittype; - float emitterdist; - int draw_timed; + int draw_step, fade_frames; + + struct Scene *scene; + struct Object *object; } ParticleEditSettings; typedef struct TransformOrientation { @@ -377,20 +505,67 @@ typedef struct TransformOrientation { float mat[3][3]; } TransformOrientation; +typedef struct Sculpt { + Paint paint; + + /* For rotating around a pivot point */ + float pivot[3]; + int flags; + + /* Control tablet input */ + char tablet_size, tablet_strength; + char pad[6]; +} Sculpt; + +typedef struct VPaint { + Paint paint; + + float gamma, mul; /* should become part of struct Brush? */ + short mode, flag; + int tot; /* allocation size of prev buffers */ + unsigned int *vpaint_prev; /* previous mesh colors */ + struct MDeformVert *wpaint_prev; /* previous vertex weights */ + + void *paintcursor; /* wm handle */ +} VPaint; + +/* VPaint flag */ +#define VP_COLINDEX 1 +#define VP_AREA 2 +#define VP_SOFT 4 +#define VP_NORMALS 8 +#define VP_SPRAY 16 +#define VP_MIRROR_X 32 +#define VP_HARD 64 +#define VP_ONLYVGROUP 128 + + typedef struct ToolSettings { + VPaint *vpaint; /* vertex paint */ + VPaint *wpaint; /* weight paint */ + Sculpt *sculpt; + + /* Vertex groups */ + float vgroup_weight; + /* Subdivide Settings */ short cornertype; short editbutflag; /*Triangle to Quad conversion threshold*/ float jointrilimit; - /* Extrude Tools */ + /* Editmode Tools */ float degr; short step; short turn; - float extr_offs; - float doublimit; - + float extr_offs; /* extrude offset */ + float doublimit; /* remove doubles limit */ + float normalsize; /* size of normals */ + short automerge; + + /* Selection Mode for Mesh */ + short selectmode; + /* Primitive Settings */ /* UV Sphere */ short segments; @@ -403,9 +578,12 @@ typedef struct ToolSettings { short unwrapper; float uvcalc_radius; float uvcalc_cubesize; + float uvcalc_margin; short uvcalc_mapdir; short uvcalc_mapalign; short uvcalc_flag; + short uv_flag, uv_selectmode; + short uv_pad[2]; /* Auto-IK */ short autoik_chainlen; @@ -416,11 +594,17 @@ typedef struct ToolSettings { /* Particle Editing */ struct ParticleEditSettings particle; + /* Transform Proportional Area of Effect */ + float proportional_size; + /* Select Group Threshold */ float select_thresh; - /* IPO-Editor */ + /* Graph Editor */ float clean_thresh; + + /* Auto-Keying Mode */ + short autokey_mode, autokey_flag; /* defines in DNA_userdef_types.h */ /* Retopo */ char retopo_mode; @@ -447,74 +631,42 @@ typedef struct ToolSettings { char skgen_postpro_passes; char skgen_subdivisions[3]; char skgen_multi_level; - char skgen_optimisation_method; - char tpad[6]; + /* Skeleton Sketching */ + struct Object *skgen_template; + char bone_sketching; + char bone_sketching_convert; + char skgen_subdivision_number; + char skgen_retarget_options; + char skgen_retarget_roll; + char skgen_side_string[8]; + char skgen_num_string[8]; /* Alt+RMB option */ char edge_mode; - -} ToolSettings; -/* Used by all brushes to store their properties, which can be directly set - by the interface code. Note that not all properties are actually used by - all the brushes. */ -typedef struct BrushData -{ - short size; - char strength, dir; /* Not used for smooth brush */ - char view; - char flag; - char pad[2]; -} BrushData; - -struct SculptSession; -typedef struct SculptData -{ - /* Note! all pointers in this struct must be duplicated header_info.c's copy_scene function */ - - /* Data stored only from entering sculptmode until exiting sculptmode */ - struct SculptSession *session; - - /* Pointers to all of sculptmodes's textures */ - struct MTex *mtex[18]; - - /* Editable brush shape */ - struct CurveMapping *cumap; - - /* Settings for each brush */ - BrushData drawbrush, smoothbrush, pinchbrush, inflatebrush, grabbrush, layerbrush, flattenbrush; - - /* For rotating around a pivot point */ - float pivot[3]; + /* Transform */ + short snap_mode, snap_flag, snap_target; + short proportional, prop_mode; +} ToolSettings; - short brush_type; +typedef struct bStats { + /* scene totals for visible layers */ + int totobj, totlamp, totobjsel, totcurve, totmesh, totarmature; + int totvert, totface; +} bStats; - /* For the Brush Shape */ - short texact, texnr; - short spacing; - char texrept; - char texfade; - char texsep; - - char averaging; - char flags; - - /* Control tablet input */ - char tablet_size, tablet_strength; - - /* Symmetry is separate from the other BrushData because the same - settings are always used for all brush types */ - char symm; - - /* Added to store if the 'Rake' setting has been set */ - char rake; - char axislock; - char pad[2]; -} SculptData; +typedef struct UnitSettings { + /* Display/Editing unit options for each scene */ + float scale_length; /* maybe have other unit conversions? */ + short system; + short flag; /* imperial, metric etc */ +} UnitSettings; typedef struct Scene { ID id; + struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ + struct Object *camera; struct World *world; @@ -522,60 +674,59 @@ typedef struct Scene { struct Image *ima; ListBase base; - struct Base *basact; + struct Base *basact; /* active base */ + struct Object *obedit; /* name replaces old G.obedit */ - float cursor[3]; + float cursor[3]; /* 3d cursor location */ float twcent[3]; /* center for transform widget */ float twmin[3], twmax[3]; /* boundbox of selection for transform widget */ unsigned int lay; - /* editmode stuff */ - float editbutsize; /* size of normals */ - short selectmode; /* for mesh only! */ - short proportional, prop_mode; - short automerge, pad5, pad6; - - short autokey_mode; /* mode for autokeying (defines in DNA_userdef_types.h */ + + short flag; /* various settings */ short use_nodes; struct bNodeTree *nodetree; - void *ed; /* sequence editor data is allocated here */ - struct Radio *radio; + struct Editing *ed; /* sequence editor data is allocated here */ - struct GameFraming framing; - - struct ToolSettings *toolsettings; + struct ToolSettings *toolsettings; /* default allocated now */ + struct SceneStats *stats; /* default allocated now */ /* migrate or replace? depends on some internal things... */ /* no, is on the right place (ton) */ struct RenderData r; - struct AudioData audio; - - ScriptLink scriptlink; + struct AudioData audio; /* DEPRECATED 2.5 */ ListBase markers; ListBase transform_spaces; - short jumpframe; - short snap_mode, snap_flag, snap_target; + ListBase sound_handles; /* none of the dependancy graph vars is mean to be saved */ struct DagForest *theDag; short dagisvalid, dagflags; - short pad4, recalc; /* recalc = counterpart of ob->recalc */ + short recalc; /* recalc = counterpart of ob->recalc */ - /* Sculptmode data */ - struct SculptData sculptdata; + short jumpframe; /* frame step. */ int frame_step; - /* Freestyle */ - short freestyle_current_layer_number; - short pad; + /* User-Defined KeyingSets */ + int active_keyingset; /* index of the active KeyingSet. first KeyingSet has index 1, 'none' active is 0, 'add new' is -1 */ + ListBase keyingsets; /* KeyingSets for the given frame */ + /* Game Settings */ + struct GameFraming framing; // XXX deprecated since 2.5 + struct GameData gm; + + /* Units */ + struct UnitSettings unit; + + /* Grease Pencil */ + struct bGPdata *gpd; } Scene; @@ -594,12 +745,11 @@ typedef struct Scene { #define R_ORTHO 0x0008 #define R_ENVMAP 0x0010 #define R_EDGE 0x0020 -#define R_EDGE_FRS 0x2000000 // will replace R_EDGE #define R_FIELDS 0x0040 #define R_FIELDSTILL 0x0080 #define R_RADIO 0x0100 #define R_BORDER 0x0200 -#define R_PANORAMA 0x0400 +#define R_PANORAMA 0x0400 /* deprecated as scene option, still used in renderer */ #define R_CROP 0x0800 #define R_COSMO 0x1000 #define R_ODDFIELD 0x2000 @@ -621,6 +771,12 @@ typedef struct Scene { #define R_TOUCH 0x800000 /* touch files before rendering */ #define R_SIMPLIFY 0x1000000 +/* displaymode */ + +#define R_OUTPUT_SCREEN 0 +#define R_OUTPUT_AREA 1 +#define R_OUTPUT_WINDOW 2 +#define R_OUTPUT_FORKED 3 /* filtertype */ #define R_FILTER_BOX 0 @@ -652,9 +808,10 @@ typedef struct Scene { #define R_COMP_FREE 0x0800 #define R_NO_IMAGE_LOAD 0x1000 #define R_NO_TEX 0x2000 -#define R_STAMP_INFO 0x4000 +#define R_STAMP_INFO 0x4000 /* deprecated */ #define R_FULL_SAMPLE 0x8000 #define R_COMP_RERENDER 0x10000 +#define R_RECURS_PROTECTION 0x20000 /* r->stamp */ #define R_STAMP_TIME 0x0001 @@ -667,6 +824,7 @@ typedef struct Scene { #define R_STAMP_MARKER 0x0080 #define R_STAMP_FILENAME 0x0100 #define R_STAMP_SEQSTRIP 0x0200 +#define R_STAMP_ALL (R_STAMP_TIME|R_STAMP_FRAME|R_STAMP_DATE|R_STAMP_CAMERA|R_STAMP_SCENE|R_STAMP_NOTE|R_STAMP_MARKER|R_STAMP_FILENAME|R_STAMP_SEQSTRIP) /* alphamode */ #define R_ADDSKY 0 @@ -678,6 +836,9 @@ typedef struct Scene { #define R_PLANES32 32 #define R_PLANESBW 8 +/* color_mgt_flag */ +#define R_COLOR_MANAGEMENT 1 + /* imtype */ #define R_TARGA 0 #define R_IRIS 1 @@ -702,6 +863,10 @@ typedef struct Scene { #define R_DPX 27 #define R_MULTILAYER 28 #define R_DDS 29 +#define R_JP2 30 +#define R_H264 31 +#define R_XVID 32 +#define R_THEORA 33 /* subimtype, flag options for imtype */ #define R_OPENEXR_HALF 1 @@ -710,6 +875,13 @@ typedef struct Scene { #define R_CINEON_LOG 8 #define R_TIFF_16BIT 16 +#define R_JPEG2K_12BIT 32 /* Jpeg2000 */ +#define R_JPEG2K_16BIT 64 +#define R_JPEG2K_YCC 128 /* when disabled use RGB */ +#define R_JPEG2K_CINE_PRESET 256 +#define R_JPEG2K_CINE_48FPS 512 + + /* bake_mode: same as RE_BAKE_xxx defines */ /* bake_flag: */ #define R_BAKE_CLEAR 1 @@ -724,30 +896,67 @@ typedef struct Scene { #define R_BAKE_SPACE_TANGENT 3 /* **************** SCENE ********************* */ + +/* for general use */ +#define MAXFRAME 300000 +#define MAXFRAMEF 300000.0f + +#define MINFRAME 1 +#define MINFRAMEF 1.0f + +/* (minimum frame number for current-frame) */ +#define MINAFRAME -300000 +#define MINAFRAMEF -300000.0f + +/* depricate this! */ +#define TESTBASE(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0) ) +#define TESTBASELIB(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define TESTBASELIB_BGMODE(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define BASE_SELECTABLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0) +#define FIRSTBASE scene->base.first +#define LASTBASE scene->base.last +#define BASACT (scene->basact) +#define OBACT (BASACT? BASACT->object: 0) + +#define ID_NEW(a) if( (a) && (a)->id.newid ) (a)= (void *)(a)->id.newid +#define ID_NEW_US(a) if( (a)->id.newid) {(a)= (void *)(a)->id.newid; (a)->id.us++;} +#define ID_NEW_US2(a) if( ((ID *)a)->newid) {(a)= ((ID *)a)->newid; ((ID *)a)->us++;} +#define CFRA (scene->r.cfra) +#define F_CFRA ((float)(scene->r.cfra)) +#define SFRA (scene->r.sfra) +#define EFRA (scene->r.efra) +#define PSFRA ((scene->r.psfra != 0)? (scene->r.psfra): (scene->r.sfra)) +#define PEFRA ((scene->r.psfra != 0)? (scene->r.pefra): (scene->r.efra)) +#define FRA2TIME(a) ((((double) scene->r.frs_sec_base) * (a)) / scene->r.frs_sec) +#define TIME2FRA(a) ((((double) scene->r.frs_sec) * (a)) / scene->r.frs_sec_base) +#define FPS (((double) scene->r.frs_sec) / scene->r.frs_sec_base) + #define RAD_PHASE_PATCHES 1 #define RAD_PHASE_FACES 2 /* base->flag is in DNA_object_types.h */ -/* scene->snap_flag */ +/* toolsettings->snap_flag */ #define SCE_SNAP 1 #define SCE_SNAP_ROTATE 2 -/* scene->snap_target */ +#define SCE_SNAP_PEEL_OBJECT 4 +/* toolsettings->snap_target */ #define SCE_SNAP_TARGET_CLOSEST 0 #define SCE_SNAP_TARGET_CENTER 1 #define SCE_SNAP_TARGET_MEDIAN 2 #define SCE_SNAP_TARGET_ACTIVE 3 -/* scene->snap_mode */ +/* toolsettings->snap_mode */ #define SCE_SNAP_MODE_VERTEX 0 #define SCE_SNAP_MODE_EDGE 1 #define SCE_SNAP_MODE_FACE 2 +#define SCE_SNAP_MODE_VOLUME 3 -/* sce->selectmode */ +/* toolsettings->selectmode */ #define SCE_SELECT_VERTEX 1 /* for mesh */ #define SCE_SELECT_EDGE 2 #define SCE_SELECT_FACE 4 -/* sce->selectmode for particles */ +/* toolsettings->particle.selectmode for particles */ #define SCE_SELECT_PATH 1 #define SCE_SELECT_POINT 2 #define SCE_SELECT_END 4 @@ -755,7 +964,7 @@ typedef struct Scene { /* sce->recalc (now in use by previewrender) */ #define SCE_PRV_CHANGED 1 -/* sce->prop_mode (proportional falloff) */ +/* toolsettings->prop_mode (proportional falloff) */ #define PROP_SMOOTH 0 #define PROP_SPHERE 1 #define PROP_ROOT 2 @@ -764,7 +973,14 @@ typedef struct Scene { #define PROP_CONST 5 #define PROP_RANDOM 6 +/* sce->flag */ +#define SCE_DS_SELECTED (1<<0) +#define SCE_DS_COLLAPSED (1<<1) +#define SCE_NLA_EDIT_ON (1<<2) + + /* return flag next_object function */ +#define F_ERROR -1 #define F_START 0 #define F_SCENE 1 #define F_SET 2 @@ -778,44 +994,47 @@ typedef struct Scene { #define FFMPEG_MULTIPLEX_AUDIO 1 #define FFMPEG_AUTOSPLIT_OUTPUT 2 -/* Sculpt brush flags */ -#define SCULPT_BRUSH_AIRBRUSH 1 -#define SCULPT_BRUSH_ANCHORED 2 -/* SculptData.flags */ -#define SCULPT_INPUT_SMOOTH 1 -#define SCULPT_DRAW_FAST 2 -#define SCULPT_DRAW_BRUSH 4 -/* SculptData.brushtype */ -#define DRAW_BRUSH 1 -#define SMOOTH_BRUSH 2 -#define PINCH_BRUSH 3 -#define INFLATE_BRUSH 4 -#define GRAB_BRUSH 5 -#define LAYER_BRUSH 6 -#define FLATTEN_BRUSH 7 -/* SculptData.texrept */ -#define SCULPTREPT_DRAG 1 -#define SCULPTREPT_TILE 2 -#define SCULPTREPT_3D 3 - -#define SYMM_X 1 -#define SYMM_Y 2 -#define SYMM_Z 4 - -#define AXISLOCK_X 1 -#define AXISLOCK_Y 2 -#define AXISLOCK_Z 4 - -/* toolsettings->imagepaint_flag */ +/* Sculpt.flags */ +typedef enum SculptFlags { + SCULPT_SYMM_X = 1, + SCULPT_SYMM_Y = 2, + SCULPT_SYMM_Z = 4, + SCULPT_INPUT_SMOOTH = 8, + SCULPT_DRAW_FAST = 16, + SCULPT_DRAW_BRUSH = 32, + SCULPT_LOCK_X = 64, + SCULPT_LOCK_Y = 128, + SCULPT_LOCK_Z = 256 +} SculptFlags; + +/* ImagePaintSettings.flag */ #define IMAGEPAINT_DRAWING 1 #define IMAGEPAINT_DRAW_TOOL 2 #define IMAGEPAINT_DRAW_TOOL_DRAWING 4 +/* projection painting only */ +#define IMAGEPAINT_PROJECT_DISABLE 8 /* Non projection 3D painting */ +#define IMAGEPAINT_PROJECT_XRAY 16 +#define IMAGEPAINT_PROJECT_BACKFACE 32 +#define IMAGEPAINT_PROJECT_FLAT 64 +#define IMAGEPAINT_PROJECT_LAYER_CLONE 128 +#define IMAGEPAINT_PROJECT_LAYER_MASK 256 +#define IMAGEPAINT_PROJECT_LAYER_MASK_INV 512 /* toolsettings->uvcalc_flag */ #define UVCALC_FILLHOLES 1 #define UVCALC_NO_ASPECT_CORRECT 2 /* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */ #define UVCALC_TRANSFORM_CORRECT 4 /* adjust UV's while transforming to avoid distortion */ +/* toolsettings->uv_flag */ +#define UV_SYNC_SELECTION 1 +#define UV_SHOW_SAME_IMAGE 2 + +/* toolsettings->uv_selectmode */ +#define UV_SELECT_VERTEX 1 +#define UV_SELECT_EDGE 2 +#define UV_SELECT_FACE 4 +#define UV_SELECT_ISLAND 8 + /* toolsettings->edge_mode */ #define EDGE_MODE_SELECT 0 #define EDGE_MODE_TAG_SEAM 1 @@ -828,9 +1047,10 @@ typedef struct Scene { #define PE_LOCK_FIRST 2 #define PE_DEFLECT_EMITTER 4 #define PE_INTERPOLATE_ADDED 8 -#define PE_SHOW_CHILD 16 -#define PE_SHOW_TIME 32 +#define PE_DRAW_PART 16 #define PE_X_MIRROR 64 +#define PE_FADE_TIME 128 +#define PE_AUTO_VELOCITY 256 /* toolsetting->particle brushtype */ #define PE_BRUSH_NONE -1 @@ -839,11 +1059,15 @@ typedef struct Scene { #define PE_BRUSH_LENGTH 2 #define PE_BRUSH_PUFF 3 #define PE_BRUSH_ADD 4 -#define PE_BRUSH_WEIGHT 5 -#define PE_BRUSH_SMOOTH 6 +#define PE_BRUSH_SMOOTH 5 /* this must equal ParticleEditSettings.brush array size */ -#define PE_TOT_BRUSH 7 +#define PE_TOT_BRUSH 6 + +/* tooksettings->particle edittype */ +#define PE_TYPE_PARTICLES 0 +#define PE_TYPE_SOFTBODY 1 +#define PE_TYPE_CLOTH 2 /* toolsettings->retopo_mode */ #define RETOPO 1 @@ -881,6 +1105,34 @@ typedef struct Scene { #define SKGEN_AVERAGE 1 #define SKGEN_SHARPEN 2 +/* toolsettings->bone_sketching */ +#define BONE_SKETCHING 1 +#define BONE_SKETCHING_QUICK 2 +#define BONE_SKETCHING_ADJUST 4 + +/* toolsettings->bone_sketching_convert */ +#define SK_CONVERT_CUT_FIXED 0 +#define SK_CONVERT_CUT_LENGTH 1 +#define SK_CONVERT_CUT_ADAPTATIVE 2 +#define SK_CONVERT_RETARGET 3 + +/* toolsettings->skgen_retarget_options */ +#define SK_RETARGET_AUTONAME 1 + +/* toolsettings->skgen_retarget_roll */ +#define SK_RETARGET_ROLL_VIEW 1 +#define SK_RETARGET_ROLL_JOINT 2 + +/* UnitSettings */ + +/* UnitSettings->system */ +#define USER_UNIT_NONE 0 +#define USER_UNIT_METRIC 1 +#define USER_UNIT_IMPERIAL 2 +/* UnitSettings->flag */ +#define USER_UNIT_OPT_SPLIT 1 + + #ifdef __cplusplus } #endif |