Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2009-01-19 19:54:41 +0300
committerTon Roosendaal <ton@blender.org>2009-01-19 19:54:41 +0300
commitbc63213844e723b0c552da446fb7fa9f9e7ea5f6 (patch)
tree433519ee3526536032e62226a058f6ec4fd17a1a /source/blender/editors/include/ED_view3d.h
parent9b049d89a1bc36534875c67e097415e034d0624d (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.h22
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]);