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:
authorCampbell Barton <ideasman42@gmail.com>2013-08-23 18:37:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-08-23 18:37:22 +0400
commit09ff49755fc84a0dd4214099a0dd47facba83288 (patch)
treee317ad76b20daf06484a4e76004030cf0a5fc921 /source/blender/blenkernel/intern/camera.c
parent01e22d1b9f3606d97f06c2d8a2bc969214322e9c (diff)
math api edits - replace point-normal form for a plane with dist_to_plane_v3()
also correct python mathutils api, was missing vector checks.
Diffstat (limited to 'source/blender/blenkernel/intern/camera.c')
-rw-r--r--source/blender/blenkernel/intern/camera.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index f9444ca2cf9..d92a9220b4f 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -456,6 +456,7 @@ void BKE_camera_view_frame(Scene *scene, Camera *camera, float r_vec[4][3])
typedef struct CameraViewFrameData {
+ float plane_tx[4][4]; /* 4 planes (not 4x4 matrix)*/
float frame_tx[4][3];
float normal_tx[4][3];
float dist_vals[4];
@@ -468,7 +469,7 @@ static void camera_to_frame_view_cb(const float co[3], void *user_data)
unsigned int i;
for (i = 0; i < 4; i++) {
- float nd = dist_to_plane_v3(co, data->frame_tx[i], data->normal_tx[i]);
+ float nd = dist_to_plane_v3(co, data->plane_tx[i]);
if (nd < data->dist_vals[i]) {
data->dist_vals[i] = nd;
}
@@ -514,8 +515,8 @@ int BKE_camera_view_frame_fit_to_scene(Scene *scene, struct View3D *v3d, Object
}
for (i = 0; i < 4; i++) {
- normal_tri_v3(data_cb.normal_tx[i],
- zero, data_cb.frame_tx[i], data_cb.frame_tx[(i + 1) % 4]);
+ normal_tri_v3(data_cb.normal_tx[i], zero, data_cb.frame_tx[i], data_cb.frame_tx[(i + 1) % 4]);
+ plane_from_point_normal_v3(data_cb.plane_tx[i], data_cb.frame_tx[i], data_cb.normal_tx[i]);
}
/* initialize callback data */