diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-19 19:54:41 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-19 19:54:41 +0300 |
commit | bc63213844e723b0c552da446fb7fa9f9e7ea5f6 (patch) | |
tree | 433519ee3526536032e62226a058f6ec4fd17a1a /source/blender/editors/include/ED_view3d.h | |
parent | 9b049d89a1bc36534875c67e097415e034d0624d (diff) |
2.5
View3D has been split now in a local part (RegionView3D) and a
per-area part (old View3D). Currently local is:
- view transform
- camera zoom/offset
- gpencil (todo)
- custom clipping planes
Rest is in Area still, like active camera, draw type, layers,
localview, custom centers, around-settings, transform widget,
gridlines, and so on (mostly stuff as available in header).
To see it work; also added new feature for region split,
press SHIFT+ALT+CTRL+S for four-split.
The idea is to make a preset 4-split, configured to stick
to top/right/front views for three views.
Another cool idea to explore is to then box-clip all drawing
based on these 3 views.
Note about the code:
- currently view3d still stores some depricated settings, to
convert from older files. Not all settings are copied over
though, like custom clip planes or the 'lock view to object'.
- since some view3d ops are now on area level, the operators
for it should keep track of that.
Bugfix in transform: quat initialize in operator-invoke missed
one zero.
Als brought back GE to compile for missing Ipos and channels.
Diffstat (limited to 'source/blender/editors/include/ED_view3d.h')
-rw-r--r-- | source/blender/editors/include/ED_view3d.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index f298fe14d64..a8501e83b42 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -31,6 +31,7 @@ /* ********* exports for space_view3d/ module ********** */ struct ARegion; struct View3D; +struct RegionView3D; struct ViewContext; struct BPoint; struct Nurb; @@ -49,6 +50,7 @@ typedef struct ViewContext { Object *obedit; struct ARegion *ar; struct View3D *v3d; + struct RegionView3D *rv3d; struct EditMesh *em; short mval[2]; } ViewContext; @@ -56,8 +58,8 @@ typedef struct ViewContext { float *give_cursor(struct Scene *scene, struct View3D *v3d); -void initgrabz(struct View3D *v3d, float x, float y, float z); -void window_to_3d(struct ARegion *ar, struct View3D *v3d, float *vec, short mx, short my); +void initgrabz(struct RegionView3D *rv3d, float x, float y, float z); +void window_to_3d(struct ARegion *ar, float *vec, short mx, short my); /* Depth buffer */ float read_cached_depth(struct ViewContext *vc, int x, int y); @@ -65,14 +67,14 @@ void request_depth_update(struct ViewContext *vc); /* Projection */ -void project_short(struct ARegion *ar, struct View3D *v3d, float *vec, short *adr); -void project_short_noclip(struct ARegion *ar, struct View3D *v3d, float *vec, short *adr); +void project_short(struct ARegion *ar, float *vec, short *adr); +void project_short_noclip(struct ARegion *ar, float *vec, short *adr); -void project_int(struct ARegion *ar, struct View3D *v3d, float *vec, int *adr); -void project_int_noclip(struct ARegion *ar, struct View3D *v3d, float *vec, int *adr); +void project_int(struct ARegion *ar, float *vec, int *adr); +void project_int_noclip(struct ARegion *ar, float *vec, int *adr); -void project_float(struct ARegion *ar, struct View3D *v3d, float *vec, float *adr); -void project_float_noclip(struct ARegion *ar, struct View3D *v3d, float *vec, float *adr); +void project_float(struct ARegion *ar, float *vec, float *adr); +void project_float_noclip(struct ARegion *ar, float *vec, float *adr); void viewline(struct ARegion *ar, struct View3D *v3d, short mval[2], float ray_start[3], float ray_end[3]); void viewray(struct ARegion *ar, struct View3D *v3d, short mval[2], float ray_start[3], float ray_normal[3]); @@ -84,8 +86,8 @@ void mesh_foreachScreenFace(struct ViewContext *vc, void (*func)(void *userData, void nurbs_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData, struct Nurb *nu, struct BPoint *bp, struct BezTriple *bezt, int beztindex, int x, int y), void *userData); void lattice_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData, struct BPoint *bp, int x, int y), void *userData); -int view3d_test_clipping(struct View3D *v3d, float *vec); -void view3d_align_axis_to_vector(struct Scene *scene, struct View3D *v3d, int axisidx, float vec[3]); +int view3d_test_clipping(struct RegionView3D *rv3d, float *vec); +void view3d_align_axis_to_vector(struct View3D *v3d, struct RegionView3D *rv3d, int axisidx, float vec[3]); void drawcircball(int mode, float *cent, float rad, float tmat[][4]); |