add margin to view fitting view-all/local-view (wasn't obvious with the models I was testing with).
This commit is contained in:
@@ -9,6 +9,6 @@ filename = "my_script.py"
|
|||||||
|
|
||||||
filepath = os.path.join(os.path.dirname(bpy.data.filepath), filename)
|
filepath = os.path.join(os.path.dirname(bpy.data.filepath), filename)
|
||||||
global_namespace = {"__file__": filepath, "__name__": "__main__"}
|
global_namespace = {"__file__": filepath, "__name__": "__main__"}
|
||||||
file_handle = open(filepath, 'rb')
|
file = open(filepath, 'rb')
|
||||||
exec(compile(file_handle.read(), filepath, 'exec'), global_namespace)
|
exec(compile(file.read(), filepath, 'exec'), global_namespace)
|
||||||
file_handle.close()
|
file.close()
|
||||||
|
@@ -100,11 +100,6 @@ void ED_view3d_depth_tag_update(struct RegionView3D *rv3d);
|
|||||||
/* Projection */
|
/* Projection */
|
||||||
#define IS_CLIPPED 12000
|
#define IS_CLIPPED 12000
|
||||||
|
|
||||||
/* TODO, these functions work quite differently, we should make them behave in a uniform way
|
|
||||||
* otherwise we can't be sure bugs are not added when we need to move from short->float types for eg
|
|
||||||
* - Campbell */
|
|
||||||
|
|
||||||
|
|
||||||
/* return values for ED_view3d_project_...() */
|
/* return values for ED_view3d_project_...() */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
V3D_PROJ_RET_OK = 0,
|
V3D_PROJ_RET_OK = 0,
|
||||||
@@ -298,6 +293,7 @@ struct BGpic *ED_view3D_background_image_new(struct View3D *v3d);
|
|||||||
void ED_view3D_background_image_remove(struct View3D *v3d, struct BGpic *bgpic);
|
void ED_view3D_background_image_remove(struct View3D *v3d, struct BGpic *bgpic);
|
||||||
void ED_view3D_background_image_clear(struct View3D *v3d);
|
void ED_view3D_background_image_clear(struct View3D *v3d);
|
||||||
|
|
||||||
|
#define VIEW3D_MARGIN 1.4f
|
||||||
float ED_view3d_offset_distance(float mat[4][4], float ofs[3]);
|
float ED_view3d_offset_distance(float mat[4][4], float ofs[3]);
|
||||||
float ED_view3d_grid_scale(struct Scene *scene, struct View3D *v3d, const char **grid_unit);
|
float ED_view3d_grid_scale(struct Scene *scene, struct View3D *v3d, const char **grid_unit);
|
||||||
|
|
||||||
|
@@ -2238,7 +2238,7 @@ static void view3d_from_minmax(bContext *C, View3D *v3d, ARegion *ar,
|
|||||||
lens = v3d->lens;
|
lens = v3d->lens;
|
||||||
sensor_size = DEFAULT_SENSOR_WIDTH;
|
sensor_size = DEFAULT_SENSOR_WIDTH;
|
||||||
}
|
}
|
||||||
size = ED_view3d_radius_to_persp_dist(focallength_to_fov(lens, sensor_size), size / 2.0f);
|
size = ED_view3d_radius_to_persp_dist(focallength_to_fov(lens, sensor_size), size / 2.0f) * VIEW3D_MARGIN;
|
||||||
|
|
||||||
/* do not zoom closer than the near clipping plane */
|
/* do not zoom closer than the near clipping plane */
|
||||||
size = max_ff(size, v3d->near * 1.5f);
|
size = max_ff(size, v3d->near * 1.5f);
|
||||||
@@ -2250,7 +2250,7 @@ static void view3d_from_minmax(bContext *C, View3D *v3d, ARegion *ar,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* adjust zoom so it looks nicer */
|
/* adjust zoom so it looks nicer */
|
||||||
size = ED_view3d_radius_to_ortho_dist(v3d->lens, size / 2.0f);
|
size = ED_view3d_radius_to_ortho_dist(v3d->lens, size / 2.0f) * VIEW3D_MARGIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1080,8 +1080,8 @@ static int view3d_localview_init(Main *bmain, Scene *scene, ScrArea *sa, ReportL
|
|||||||
size = max_ff(size, v3d->near * 1.5f);
|
size = max_ff(size, v3d->near * 1.5f);
|
||||||
|
|
||||||
/* perspective size (we always switch out of camera view so no need to use its lens size) */
|
/* perspective size (we always switch out of camera view so no need to use its lens size) */
|
||||||
size_persp = ED_view3d_radius_to_persp_dist(focallength_to_fov(v3d->lens, DEFAULT_SENSOR_WIDTH), size / 2.0f);
|
size_persp = ED_view3d_radius_to_persp_dist(focallength_to_fov(v3d->lens, DEFAULT_SENSOR_WIDTH), size / 2.0f) * VIEW3D_MARGIN;
|
||||||
size_ortho = ED_view3d_radius_to_ortho_dist(v3d->lens, size / 2.0f);
|
size_ortho = ED_view3d_radius_to_ortho_dist(v3d->lens, size / 2.0f) * VIEW3D_MARGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ok == TRUE) {
|
if (ok == TRUE) {
|
||||||
|
Reference in New Issue
Block a user