Farewell BaseLegacy

Finally, bases are all using the latest, newest SceneLayer bases.
This commit is contained in:
Dalai Felinto 2017-11-09 15:44:56 -02:00
parent 06a7db85bc
commit 7defb27f08
Notes: blender-bot 2023-02-14 06:24:18 +01:00
Referenced by issue #53291, Deleting objects do not delete them from the blend file
29 changed files with 42 additions and 65 deletions

View File

@ -33,7 +33,6 @@
* \author nzc
*/
struct BaseLegacy;
struct Base;
struct EvaluationContext;
struct Group;

View File

@ -35,7 +35,6 @@ extern "C" {
#include "BLI_compiler_attrs.h"
struct BaseLegacy;
struct EvaluationContext;
struct Scene;
struct SceneLayer;

View File

@ -38,7 +38,6 @@ extern "C" {
#endif
struct AviCodecData;
struct BaseLegacy;
struct Depsgraph;
struct EvaluationContext;
struct Main;
@ -104,7 +103,7 @@ typedef struct SceneBaseIter {
int BKE_scene_base_iter_next(
const struct EvaluationContext *eval_ctx, struct SceneBaseIter *iter,
struct Scene **scene, int val, struct BaseLegacy **base, struct Object **ob);
struct Scene **scene, int val, struct Base **base, struct Object **ob);
void BKE_scene_base_flag_to_objects(struct SceneLayer *scene_layer);
void BKE_scene_base_flag_from_objects(struct Scene *scene);

View File

@ -320,7 +320,7 @@ bool BKE_mball_is_basis_for(Object *ob1, Object *ob2)
void BKE_mball_properties_copy(Scene *scene, Object *active_object)
{
Scene *sce_iter = scene;
BaseLegacy *base;
Base *base;
Object *ob;
MetaBall *active_mball = (MetaBall *)active_object->data;
int basisnr, obnr;

View File

@ -1082,7 +1082,7 @@ static void polygonize(PROCESS *process)
static void init_meta(const EvaluationContext *eval_ctx, PROCESS *process, Scene *scene, Object *ob)
{
Scene *sce_iter = scene;
BaseLegacy *base;
Base *base;
Object *bob;
MetaBall *mb;
const MetaElem *ml;

View File

@ -1153,7 +1153,7 @@ Scene *BKE_scene_set_name(Main *bmain, const char *name)
/* Used by metaballs, return *all* objects (including duplis) existing in the scene (including scene's sets) */
int BKE_scene_base_iter_next(
const EvaluationContext *eval_ctx, SceneBaseIter *iter,
Scene **scene, int val, BaseLegacy **base, Object **ob)
Scene **scene, int val, Base **base, Object **ob)
{
bool run_again = true;

View File

@ -45,7 +45,6 @@
#include "intern/nodes/deg_node.h"
#include "intern/nodes/deg_node_operation.h"
struct BaseLegacy;
struct bGPdata;
struct CacheFile;
struct ListBase;

View File

@ -628,7 +628,7 @@ static bAnimChannelType ACF_SCENE =
static int acf_object_icon(bAnimListElem *ale)
{
BaseLegacy *base = (BaseLegacy *)ale->data;
Base *base = (Base *)ale->data;
Object *ob = base->object;
/* icon depends on object-type */
@ -663,7 +663,7 @@ static int acf_object_icon(bAnimListElem *ale)
/* name for object */
static void acf_object_name(bAnimListElem *ale, char *name)
{
BaseLegacy *base = (BaseLegacy *)ale->data;
Base *base = (Base *)ale->data;
Object *ob = base->object;
/* just copy the name... */
@ -683,7 +683,7 @@ static bool acf_object_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRN
/* check if some setting exists for this channel */
static bool acf_object_setting_valid(bAnimContext *ac, bAnimListElem *ale, eAnimChannel_Settings setting)
{
BaseLegacy *base = (BaseLegacy *)ale->data;
Base *base = (Base *)ale->data;
Object *ob = base->object;
switch (setting) {
@ -740,7 +740,7 @@ static int acf_object_setting_flag(bAnimContext *UNUSED(ac), eAnimChannel_Settin
/* get pointer to the setting */
static void *acf_object_setting_ptr(bAnimListElem *ale, eAnimChannel_Settings setting, short *type)
{
BaseLegacy *base = (BaseLegacy *)ale->data;
Base *base = (Base *)ale->data;
Object *ob = base->object;
/* clear extra return data first */

View File

@ -892,7 +892,7 @@ void ob_to_keylist(bDopeSheet *ads, Object *ob, DLRBT_Tree *keys, DLRBT_Tree *bl
int filter;
bAnimListElem dummychan = {NULL};
BaseLegacy dummybase = {NULL};
Base dummybase = {NULL};
if (ob == NULL)
return;

View File

@ -193,7 +193,7 @@ static short ob_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, Object *o
int ret = 0;
bAnimListElem dummychan = {NULL};
BaseLegacy dummybase = {NULL};
Base dummybase = {NULL};
if (ob == NULL)
return 0;

View File

@ -37,7 +37,7 @@ struct wmOperatorType;
struct bContext;
struct Scene;
struct Object;
struct BaseLegacy;
struct Base;
struct bAction;
struct bPoseChannel;

View File

@ -35,7 +35,7 @@ extern "C" {
#endif
struct bArmature;
struct BaseLegacy;
struct Base;
struct bContext;
struct Bone;
struct bPoseChannel;
@ -45,7 +45,6 @@ struct ListBase;
struct MeshDeformModifierData;
struct DerivedMesh;
struct Object;
struct Base;
struct ReportList;
struct Scene;
struct SceneLayer;

View File

@ -36,13 +36,12 @@ extern "C" {
#endif
struct bFaceMap;
struct BaseLegacy;
struct Base;
struct EnumPropertyItem;
struct ID;
struct Main;
struct ModifierData;
struct Object;
struct Base;
struct ReportList;
struct Scene;
struct SceneLayer;

View File

@ -110,7 +110,6 @@ enum TfmMode {
bool calculateTransformCenter(struct bContext *C, int centerMode, float cent3d[3], float cent2d[2]);
struct TransInfo;
struct BaseLegacy;
struct Scene;
struct Object;
struct wmManipulatorGroup;

View File

@ -37,7 +37,7 @@ struct BMEdge;
struct BMFace;
struct BMVert;
struct BPoint;
struct BaseLegacy;
struct Base;
struct BezTriple;
struct BoundBox;
struct Camera;
@ -203,7 +203,7 @@ void pose_foreachScreenBone(
void ED_view3d_project_float_v2_m4(const struct ARegion *ar, const float co[3], float r_co[2], float mat[4][4]);
void ED_view3d_project_float_v3_m4(const struct ARegion *ar, const float co[3], float r_co[3], float mat[4][4]);
eV3DProjStatus ED_view3d_project_base(const struct ARegion *ar, struct BaseLegacy *base);
eV3DProjStatus ED_view3d_project_base(const struct ARegion *ar, struct Base *base);
/* *** short *** */
eV3DProjStatus ED_view3d_project_short_ex(const struct ARegion *ar, float perspmat[4][4], const bool is_local,
@ -398,7 +398,7 @@ struct ImBuf *ED_view3d_draw_offscreen_imbuf_simple(
int alpha_mode, int samples, bool full_samples, const char *viewname,
struct GPUFX *fx, struct GPUOffScreen *ofs, char err_out[256]);
struct BaseLegacy *ED_view3d_give_base_under_cursor(struct bContext *C, const int mval[2]);
struct Base *ED_view3d_give_base_under_cursor(struct bContext *C, const int mval[2]);
void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar, bool do_clip);
void ED_view3d_update_viewmat(
const struct EvaluationContext *eval_ctx, struct Scene *scene, struct View3D *v3d, struct ARegion *ar,

View File

@ -602,7 +602,7 @@ static void datadropper_id_sample_pt(bContext *C, DataDropper *ddr, int mx, int
const int mval[2] = {
mx - ar->winrct.xmin,
my - ar->winrct.ymin};
BaseLegacy *base;
Base *base;
CTX_wm_area_set(C, sa);
CTX_wm_region_set(C, ar);

View File

@ -541,7 +541,7 @@ static int drop_named_image_invoke(bContext *C, wmOperator *op, const wmEvent *e
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
View3D *v3d = CTX_wm_view3d(C);
BaseLegacy *base;
Base *base;
Image *ima = NULL;
Mesh *me;
Object *obedit;

View File

@ -331,7 +331,7 @@ static bool buildNavMesh(const RecastData *recastParams, int nverts, float *vert
}
static Object *createRepresentation(bContext *C, struct recast_polyMesh *pmesh, struct recast_polyMeshDetail *dmesh,
BaseLegacy *base, unsigned int lay)
Base *base, unsigned int lay)
{
float co[3], rot[3];
BMEditMesh *em;
@ -466,15 +466,15 @@ static Object *createRepresentation(bContext *C, struct recast_polyMesh *pmesh,
static int navmesh_create_exec(bContext *C, wmOperator *op)
{
Scene *scene = CTX_data_scene(C);
SceneLayer *sl = CTX_data_scene_layer(C);
SceneLayer *scene_layer = CTX_data_scene_layer(C);
LinkNode *obs = NULL;
BaseLegacy *navmeshBase = NULL;
Base *navmeshBase = NULL;
CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
{
if (base->object->type == OB_MESH) {
if (base->object->body_type == OB_BODY_TYPE_NAVMESH) {
if (!navmeshBase || base == sl->basact) {
if (!navmeshBase || base == scene_layer->basact) {
navmeshBase = base;
}
}

View File

@ -925,7 +925,7 @@ static int empty_drop_named_image_invoke(bContext *C, wmOperator *op, const wmEv
{
Scene *scene = CTX_data_scene(C);
BaseLegacy *base = NULL;
Base *base = NULL;
Image *ima = NULL;
Object *ob = NULL;

View File

@ -2413,7 +2413,7 @@ void OBJECT_OT_make_single_user(wmOperatorType *ot)
static int drop_named_material_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
BaseLegacy *base = ED_view3d_give_base_under_cursor(C, event->mval);
Base *base = ED_view3d_give_base_under_cursor(C, event->mval);
Material *ma;
char name[MAX_ID_NAME - 2];

View File

@ -1071,9 +1071,9 @@ void OBJECT_OT_select_mirror(wmOperatorType *ot)
static bool object_select_more_less(bContext *C, const bool select)
{
SceneLayer *sl = CTX_data_scene_layer(C);
SceneLayer *scene_layer = CTX_data_scene_layer(C);
for (BaseLegacy *base = sl->object_bases.first; base; base = base->next) {
for (Base *base = scene_layer->object_bases.first; base; base = base->next) {
Object *ob = base->object;
ob->flag &= ~OB_DONE;
ob->id.tag &= ~LIB_TAG_DOIT;

View File

@ -2736,7 +2736,7 @@ static void draw_ghost_poses_range(
*/
static void draw_ghost_poses_keys(
const struct EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl,
View3D *v3d, ARegion *ar, BaseLegacy *base)
View3D *v3d, ARegion *ar, Base *base)
{
Object *ob = base->object;
AnimData *adt = BKE_animdata_from_id(&ob->id);

View File

@ -1677,7 +1677,7 @@ bool view3d_camera_border_hack_test = false;
/* ****************** draw clip data *************** */
static void draw_viewport_object_reconstruction(
Scene *scene, BaseLegacy *base, const View3D *v3d, const RegionView3D *rv3d,
Scene *scene, Base *base, const View3D *v3d, const RegionView3D *rv3d,
MovieClip *clip, MovieTrackingObject *tracking_object,
const short dflag, const unsigned char ob_wire_col[4],
int *global_track_index, bool draw_selected)
@ -1864,7 +1864,7 @@ static void draw_viewport_object_reconstruction(
}
static void draw_viewport_reconstruction(
Scene *scene, BaseLegacy *base, const View3D *v3d, const RegionView3D *rv3d, MovieClip *clip,
Scene *scene, Base *base, const View3D *v3d, const RegionView3D *rv3d, MovieClip *clip,
const short dflag, const unsigned char ob_wire_col[4],
const bool draw_selected)
{
@ -4565,7 +4565,7 @@ static void draw_mesh_fancy(
/* returns true if nothing was drawn, for detecting to draw an object center */
static bool draw_mesh_object(
const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, RegionView3D *rv3d, BaseLegacy *base,
const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base,
const char dt, const unsigned char ob_wire_col[4], const short dflag)
{
Object *ob = base->object;
@ -5027,7 +5027,7 @@ static void draw_mesh_fancy_new(EvaluationContext *eval_ctx, Scene *scene, Scene
dm->release(dm);
}
static bool UNUSED_FUNCTION(draw_mesh_object_new)(const bContext *C, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, RegionView3D *rv3d, BaseLegacy *base,
static bool UNUSED_FUNCTION(draw_mesh_object_new)(const bContext *C, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, RegionView3D *rv3d, Base *base,
const char dt, const unsigned char ob_wire_col[4], const short dflag)
{
EvaluationContext eval_ctx;
@ -5427,7 +5427,7 @@ static void drawCurveDMWired(Object *ob)
}
/* return true when nothing was drawn */
static bool drawCurveDerivedMesh(Scene *scene, SceneLayer *sl, View3D *v3d, RegionView3D *rv3d, BaseLegacy *base, const char dt)
static bool drawCurveDerivedMesh(Scene *scene, SceneLayer *sl, View3D *v3d, RegionView3D *rv3d, Base *base, const char dt)
{
Object *ob = base->object;
DerivedMesh *dm = ob->derivedFinal;

View File

@ -637,7 +637,7 @@ static int view3d_ima_bg_drop_poll(bContext *C, wmDrag *drag, const wmEvent *eve
static int view3d_ima_empty_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
{
BaseLegacy *base = ED_view3d_give_base_under_cursor(C, event->mval);
Base *base = ED_view3d_give_base_under_cursor(C, event->mval);
/* either holding and ctrl and no object, or dropping to empty */
if (((base == NULL) && event->ctrl) ||
@ -651,7 +651,7 @@ static int view3d_ima_empty_drop_poll(bContext *C, wmDrag *drag, const wmEvent *
static int view3d_ima_mesh_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
{
BaseLegacy *base = ED_view3d_give_base_under_cursor(C, event->mval);
Base *base = ED_view3d_give_base_under_cursor(C, event->mval);
if (base && base->object->type == OB_MESH)
return view3d_ima_drop_poll(C, drag, event);

View File

@ -809,12 +809,12 @@ void view3d_draw_bgpic_test(Scene *scene, ARegion *ar, View3D *v3d,
typedef struct View3DAfter {
struct View3DAfter *next, *prev;
struct BaseLegacy *base;
struct Base *base;
short dflag;
} View3DAfter;
/* temp storage of Objects that need to be drawn as last */
void ED_view3d_after_add(ListBase *lb, BaseLegacy *base, const short dflag)
void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag)
{
View3DAfter *v3da = MEM_callocN(sizeof(View3DAfter), "View 3d after");
BLI_assert((base->flag_legacy & OB_FROMDUPLI) == 0);
@ -944,7 +944,7 @@ static DupliObject *dupli_step(DupliObject *dob)
}
static void draw_dupli_objects_color(
const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, BaseLegacy *base,
const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, Base *base,
const short dflag, const int color)
{
RegionView3D *rv3d = ar->regiondata;
@ -1045,7 +1045,7 @@ static void draw_dupli_objects_color(
free_object_duplilist(lb);
}
void draw_dupli_objects(const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, BaseLegacy *base)
void draw_dupli_objects(const EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, Base *base)
{
/* define the color here so draw_dupli_objects_color can be called
* from the set loop */

View File

@ -37,6 +37,7 @@
struct ARegion;
struct ARegionType;
struct Base;
struct BoundBox;
struct Gwn_Batch;
struct DerivedMesh;
@ -146,7 +147,7 @@ void draw_motion_paths_cleanup(View3D *v3d);
/* drawobject.c */
void draw_object(
const struct EvaluationContext *eval_ctx, Scene *scene, struct SceneLayer *sl, struct ARegion *ar, View3D *v3d,
BaseLegacy *base, const short dflag);
struct Base *base, const short dflag);
void draw_object_select(
const struct EvaluationContext *eval_ctx, Scene *scene, struct SceneLayer *sl, struct ARegion *ar, View3D *v3d,
Base *base, const short dflag);
@ -234,7 +235,7 @@ void ED_view3d_draw_depth_loop(
void view3d_draw_bgpic_test(Scene *scene, ARegion *ar, View3D *v3d,
const bool do_foreground, const bool do_camera_frame);
void ED_view3d_after_add(ListBase *lb, BaseLegacy *base, const short dflag);
void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag);
void view3d_update_depths_rect(struct ARegion *ar, struct ViewDepths *d, struct rcti *rect);
float view3d_depth_near(struct ViewDepths *d);
@ -365,7 +366,7 @@ void VP_legacy_drawfloor(Scene *scene, View3D *v3d, const char **grid_unit, bool
void VP_legacy_view3d_main_region_setup_view(const struct EvaluationContext *eval_ctx, Scene *scene, View3D *v3d, ARegion *ar, float viewmat[4][4], float winmat[4][4]);
bool VP_legacy_view3d_stereo3d_active(struct wmWindow *win, Scene *scene, View3D *v3d, RegionView3D *rv3d);
void VP_legacy_view3d_stereo3d_setup(const struct EvaluationContext *eval_ctx, Scene *scene, View3D *v3d, ARegion *ar);
void draw_dupli_objects(const struct EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, BaseLegacy *base);
void draw_dupli_objects(const struct EvaluationContext *eval_ctx, Scene *scene, SceneLayer *sl, ARegion *ar, View3D *v3d, Base *base);
bool VP_legacy_use_depth(Scene *scene, View3D *v3d);
void VP_drawviewborder(Scene *scene, ARegion *ar, View3D *v3d);
void VP_drawrenderborder(ARegion *ar, View3D *v3d);

View File

@ -72,9 +72,6 @@ struct SceneCollection;
/* ************************************************************* */
/* Scene Data */
/* Base - Wrapper for referencing Objects in a Scene */
#define BaseLegacy Base
/* ************************************************************* */
/* Output Format Data */

View File

@ -784,17 +784,4 @@ void RNA_api_object(StructRNA *srna)
RNA_def_function_ui_description(func, "Release memory used by caches associated with this object. Intended to be used by render engines only");
}
void RNA_api_object_base_legacy(StructRNA *srna)
{
FunctionRNA *func;
PropertyRNA *parm;
func = RNA_def_function(srna, "layers_from_view", "rna_ObjectBaseLegacy_layers_from_view");
RNA_def_function_ui_description(func,
"Sets the object layers from a 3D View (use when adding an object in local view)");
parm = RNA_def_pointer(func, "view", "SpaceView3D", "", "");
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
}
#endif /* RNA_RUNTIME */

View File

@ -46,7 +46,6 @@ struct ARegionType;
struct bFaceMap;
struct BMEditMesh;
struct Base;
struct BaseLegacy;
struct bContext;
struct BoundBox;
struct Brush;