[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40515] trunk/blender/source/blender/ editors/space_view3d/view3d_view.c: svn merge ^/branches/bmesh/ blender -r40512:40513
Campbell Barton
ideasman42 at gmail.com
Sat Sep 24 13:10:54 CEST 2011
Revision: 40515
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40515
Author: campbellbarton
Date: 2011-09-24 11:10:53 +0000 (Sat, 24 Sep 2011)
Log Message:
-----------
svn merge ^/branches/bmesh/blender -r40512:40513
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40512
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_view.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c 2011-09-24 11:03:52 UTC (rev 40514)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c 2011-09-24 11:10:53 UTC (rev 40515)
@@ -713,7 +713,7 @@
}
#endif
-/* use above call to get projecting mat */
+/* use view3d_get_object_project_mat to get projecting mat */
void ED_view3d_project_float(ARegion *ar, const float vec[3], float adr[2], float mat[4][4])
{
float vec4[4];
@@ -732,6 +732,26 @@
}
}
+/* use view3d_get_object_project_mat to get projecting mat */
+void ED_view3d_project_float_v3(ARegion *ar, float *vec, float *adr, float mat[4][4])
+{
+ float vec4[4];
+
+ copy_v3_v3(vec4, vec);
+ vec4[3]= 1.0;
+ adr[0]= IS_CLIPPED;
+
+ mul_m4_v4(mat, vec4);
+
+ if( vec4[3]>FLT_EPSILON ) {
+ adr[0] = (float)(ar->winx/2.0f)+(ar->winx/2.0f)*vec4[0]/vec4[3];
+ adr[1] = (float)(ar->winy/2.0f)+(ar->winy/2.0f)*vec4[1]/vec4[3];
+ adr[2] = vec4[2]/vec4[3];
+ } else {
+ adr[0] = adr[1] = adr[2] = 0.0f;
+ }
+}
+
int ED_view3d_boundbox_clip(RegionView3D *rv3d, float obmat[][4], BoundBox *bb)
{
/* return 1: draw */
@@ -803,9 +823,9 @@
RegionView3D *rv3d= ar->regiondata;
float fx, fy, vec4[4];
- adr[0]= (int)2140000000.0f;
copy_v3_v3(vec4, vec);
vec4[3]= 1.0;
+ adr[0]= (int)2140000000.0f;
mul_m4_v4(rv3d->persmat, vec4);
@@ -851,9 +871,9 @@
RegionView3D *rv3d= ar->regiondata;
float fx, fy, vec4[4];
- adr[0]= IS_CLIPPED;
copy_v3_v3(vec4, vec);
vec4[3]= 1.0;
+ adr[0]= IS_CLIPPED;
mul_m4_v4(rv3d->persmat, vec4);
@@ -877,9 +897,9 @@
RegionView3D *rv3d= ar->regiondata;
float vec4[4];
- adr[0]= IS_CLIPPED;
copy_v3_v3(vec4, vec);
vec4[3]= 1.0;
+ adr[0]= IS_CLIPPED;
mul_m4_v4(rv3d->persmat, vec4);
More information about the Bf-blender-cvs
mailing list