[Bf-blender-cvs] [8e97c6af0d] custom-manipulators: Merge branch 'blender2.8' into custom-manipulators

Julian Eisel noreply at git.blender.org
Sun Feb 12 21:29:06 CET 2017


Commit: 8e97c6af0d8ba87a230cc647eb3709aa0f4d1f9c
Author: Julian Eisel
Date:   Sun Feb 12 21:27:43 2017 +0100
Branches: custom-manipulators
https://developer.blender.org/rB8e97c6af0d8ba87a230cc647eb3709aa0f4d1f9c

Merge branch 'blender2.8' into custom-manipulators

Conflicts:
	source/blender/blenkernel/intern/library_query.c
	source/blender/editors/include/ED_transform.h
	source/blender/editors/interface/resources.c
	source/blender/editors/transform/transform_manipulator.c

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/library_query.c
index 048045ccb7,a071b3202b..ad89f3f005
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@@ -491,13 -534,12 +534,13 @@@ void BKE_library_foreach_ID_link(Main *
  				if (object->pose) {
  					bPoseChannel *pchan;
  
- 					data.cd_flag |= proxy_cd_flag;
+ 					data.cb_flag |= proxy_cb_flag;
  					for (pchan = object->pose->chanbase.first; pchan; pchan = pchan->next) {
- 						CALLBACK_INVOKE(pchan->fmap_object, IDWALK_USER);
- 						CALLBACK_INVOKE(pchan->custom, IDWALK_USER);
++						CALLBACK_INVOKE(pchan->fmap_object, IDWALK_CB_USER);
+ 						CALLBACK_INVOKE(pchan->custom, IDWALK_CB_USER);
  						BKE_constraints_id_loop(&pchan->constraints, library_foreach_constraintObjectLooper, &data);
  					}
- 					data.cd_flag = data_cd_flag;
+ 					data.cb_flag = data_cb_flag;
  				}
  
  				if (object->rigidbody_constraint) {
diff --cc source/blender/editors/include/ED_armature.h
index 0cf1df4914,3bde01a1bd..ceaa378181
--- a/source/blender/editors/include/ED_armature.h
+++ b/source/blender/editors/include/ED_armature.h
@@@ -37,10 -35,9 +37,10 @@@ extern "C" 
  #endif
  
  struct bArmature;
- struct Base;
+ struct BaseLegacy;
  struct bContext;
  struct Bone;
 +struct bPose;
  struct bPoseChannel;
  struct IDProperty;
  struct ListBase;
diff --cc source/blender/editors/include/ED_transform.h
index f432aec751,898eecd3e4..4fb82f6bb8
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@@ -113,13 -109,9 +113,13 @@@ enum TfmMode 
  bool calculateTransformCenter(struct bContext *C, int centerMode, float cent3d[3], float cent2d[2]);
  
  struct TransInfo;
 +struct ScrArea;
- struct Base;
+ struct BaseLegacy;
  struct Scene;
  struct Object;
 +struct wmManipulator;
 +struct wmManipulatorGroup;
 +struct wmManipulatorGroupType;
  struct wmOperator;
  
  /* UNUSED */
diff --cc source/blender/editors/interface/resources.c
index 846062fae4,fbfbdb13a5..3c14c8b97d
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2555,7 -2615,9 +2610,7 @@@ void init_userdef_do_versions(void
  	
  	if (!USER_VERSION_ATLEAST(269, 9)) {
  		bTheme *btheme;
 -		
 -		U.tw_size = U.tw_size * 5.0f;
--		
++
  		/* Action Editor (and NLA Editor) - Keyframe Colors */
  		/* Graph Editor - larger vertex size defaults */
  		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
@@@ -2826,12 -2879,11 +2881,17 @@@
  	 * (keep this block even if it becomes empty).
  	 */
  	{
- 		bTheme *btheme;
- 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 		for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 			btheme->tcollections = btheme->tv3d;
+ 			rgba_char_args_set_fl(btheme->tcollections.back,    0.42, 0.42, 0.42, 1.0);
+ 			rgba_char_args_set(btheme->tcollections.hilite, 255, 140, 25, 255);  /* selected files */
+ 		}
++
++		for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
 +			rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 0.27f, 1.0f); /* red */
 +			rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 0.27f, 1.0f); /* green */
 +			rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 1.0f, 1.0f); /* blue */
 +		}
  	}
  
  	if (U.pixelsize == 0.0f)
diff --cc source/blender/editors/space_view3d/drawarmature.c
index 209a562f08,a7bff0a830..b25d145f6e
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@@ -1732,15 -1812,8 +1812,15 @@@ static void bone_matrix_translate_y(flo
  	add_v3_v3(mat[3], trans);
  }
  
 +BLI_INLINE bool pchan_is_draw_fmap_only(const Scene *scene, const bPoseChannel *pchan)
 +{
 +	return ((scene->basact && scene->basact->object->mode & OB_MODE_POSE) &&
 +	        (pchan->fmap != NULL) &&
 +	        (pchan->bone->flag & BONE_DRAW_FMAP_ONLY));
 +}
 +
  /* assumes object is Armature with pose */
- static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
+ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, BaseLegacy *base,
                              const short dt, const unsigned char ob_wire_col[4],
                              const bool do_const_color, const bool is_outline)
  {
diff --cc source/blender/editors/space_view3d/view3d_draw.c
index 194d518d94,0427498bf4..e3d2cf5e49
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@@ -2103,12 -2098,42 +2105,42 @@@ static void view3d_draw_view(const bCon
  #endif
  }
  
+ static void view3d_render_pass(const bContext *C, ARegion *UNUSED(ar))
+ {
+ 	Scene *scene = CTX_data_scene(C);
+ 	RenderEngineType *type = RE_engines_find(scene->r.engine); /* In the future we should get that from Layers */
+ 
+ 	if (type->flag & RE_USE_OGL_PIPELINE) {
+ 		type->view_draw(NULL, C);
+ 	}
+ 	else {
+ 		// Offline Render engine
+ 	}
+ }
+ 
+ static void view3d_draw_view_new(const bContext *C, ARegion *ar, DrawData *UNUSED(draw_data))
+ {
+ 
+ 	view3d_draw_setup_view(C, ar);
+ 
+ 	/* Only 100% compliant on new spec goes bellow */
+ 	view3d_render_pass(C, ar);
+ 
+ 	view3d_draw_grid(C, ar);
 -	view3d_draw_manipulator(C);
++	view3d_draw_manipulators(C, ar);
+ 	view3d_draw_region_info(C, ar);
+ }
+ 
+ 
  void view3d_main_region_draw(const bContext *C, ARegion *ar)
  {
+ 	Scene *scene = CTX_data_scene(C);
  	View3D *v3d = CTX_wm_view3d(C);
  	RegionView3D *rv3d = ar->regiondata;
+ 	/* TODO layers - In the future we should get RE from Layers */
+ 	RenderEngineType *type = RE_engines_find(scene->r.engine);
  
- 	if (IS_VIEWPORT_LEGACY(v3d)) {
+ 	if (IS_VIEWPORT_LEGACY(v3d) && ((type->flag & RE_USE_OGL_PIPELINE) == 0)) {
  		view3d_main_region_draw_legacy(C, ar);
  		return;
  	}
diff --cc source/blender/editors/transform/transform_manipulator.c
index 56e75424fc,33f065b436..e0cd474ea9
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@@ -595,9 -268,10 +595,10 @@@ bool gimbal_axis(Object *ob, float gmat
  /* returns total items selected */
  static int calc_manipulator_stats(const bContext *C)
  {
 -	ScrArea *sa = CTX_wm_area(C);
 -	ARegion *ar = CTX_wm_region(C);
 +	const ScrArea *sa = CTX_wm_area(C);
 +	const ARegion *ar = CTX_wm_region(C);
  	Scene *scene = CTX_data_scene(C);
+ 	SceneLayer *sl = CTX_data_scene_layer(C);
  	Object *obedit = CTX_data_edit_object(C);
  	View3D *v3d = sa->spacedata.first;
  	RegionView3D *rv3d = ar->regiondata;
@@@ -882,18 -561,43 +883,18 @@@
  	else if (ob && (ob->mode & OB_MODE_ALL_PAINT)) {
  		/* pass */
  	}
 -	else if (ob && ob->mode & OB_MODE_PARTICLE_EDIT) {
 -		PTCacheEdit *edit = PE_get_current(scene, ob);
 -		PTCacheEditPoint *point;
 -		PTCacheEditKey *ek;
 -		int k;
 -
 -		if (edit) {
 -			point = edit->points;
 -			for (a = 0; a < edit->totpoint; a++, point++) {
 -				if (point->flag & PEP_HIDE) continue;
 -
 -				for (k = 0, ek = point->keys; k < point->totkey; k++, ek++) {
 -					if (ek->flag & PEK_SELECT) {
 -						calc_tw_center(scene, (ek->flag & PEK_USE_WCO) ? ek->world_co : ek->co);
 -						totsel++;
 -					}
 -				}
 -			}
 -
 -			/* selection center */
 -			if (totsel)
 -				mul_v3_fl(scene->twcent, 1.0f / (float)totsel);  // centroid!
 -		}
 -	}
  	else {
 -
  		/* we need the one selected object, if its not active */
- 		ob = OBACT;
- 		if (ob && !(ob->flag & SELECT))
- 			ob = NULL;
+ 		base = BASACT_NEW;
+ 		ob = OBACT_NEW;
+ 		if (base && ((base->flag & BASE_SELECTED) == 0)) ob = NULL;
  
- 		for (base = scene->base.first; base; base = base->next) {
- 			if (TESTBASELIB(v3d, base)) {
+ 		for (base = sl->object_bases.first; base; base = base->next) {
+ 			if (TESTBASELIB_NEW(base)) {
  				if (ob == NULL)
  					ob = base->object;
 -				calc_tw_center(scene, base->object->obmat[3]);
 -				protectflag_to_drawflags(base->object->protectflag, &rv3d->twdrawflag);
 +
 +				calc_tw_center(scene, base->object->loc);
  				totsel++;
  			}
  		}
diff --cc source/blender/makesrna/intern/rna_object.c
index 468161c4a6,f8b3bdd62e..03564f48d5
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@@ -3180,9 -2923,8 +3166,9 @@@ void RNA_def_object(BlenderRNA *brna
  
  	RNA_define_animate_sdna(false);
  	rna_def_object_game_settings(brna);
- 	rna_def_object_base(brna);
+ 	rna_def_object_base_legacy(brna);
  	rna_def_vertex_group(brna);
 +	rna_def_face_map(brna);
  	rna_def_material_slot(brna);
  	rna_def_dupli_object(brna);
  	RNA_define_animate_sdna(true);




More information about the Bf-blender-cvs mailing list