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:
authorJoseph Eagar <joeedh@gmail.com>2010-07-23 02:17:20 +0400
committerJoseph Eagar <joeedh@gmail.com>2010-07-23 02:17:20 +0400
commit37f2c8a64c3277f100ab084ef1bb3846bc7b2c62 (patch)
treed78068f89c60cacfe40595133614e65e4164e015 /source/blender/editors/space_view3d/view3d_view.c
parenta23e3c42f55efed357e7b1604dbec57ab5c02a82 (diff)
committing working copy
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 4471c051aa7..31138b00f17 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -699,6 +699,26 @@ void view3d_project_float(ARegion *ar, float *vec, float *adr, float mat[4][4])
}
}
+/* use above call to get projecting mat */
+void view3d_project_float_v3(ARegion *ar, float *vec, float *adr, float mat[4][4])
+{
+ float vec4[4];
+
+ VECCOPY(vec4, vec);
+ adr[0]= IS_CLIPPED;
+ vec4[3]= 1.0;
+
+ 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 boundbox_clip(RegionView3D *rv3d, float obmat[][4], BoundBox *bb)
{
/* return 1: draw */