Revision: 65272
http://sourceforge.net/p/brlcad/code/65272
Author: starseeker
Date: 2015-06-11 19:15:51 +0000 (Thu, 11 Jun 2015)
Log Message:
-----------
Tweak the ray pattern generation parameters.
Modified Paths:
--------------
brlcad/trunk/src/libanalyze/raydiff.c
Modified: brlcad/trunk/src/libanalyze/raydiff.c
===================================================================
--- brlcad/trunk/src/libanalyze/raydiff.c 2015-06-11 18:22:09 UTC (rev
65271)
+++ brlcad/trunk/src/libanalyze/raydiff.c 2015-06-11 19:15:51 UTC (rev
65272)
@@ -240,7 +240,7 @@
VSET(mid, (max[0] + min[0])/2, (max[1] + min[1])/2, (max[2] + min[2])/2);
BU_GET(xdata, struct rt_pattern_data);
- VSET(xdata->center_pt, min[0] - 0.1 * min[0], mid[1], mid[2]);
+ VSET(xdata->center_pt, min[0] - 0.1 * fabs(min[0]), mid[1], mid[2]);
VSET(xdata->center_dir, 1, 0, 0);
xdata->vn = 2;
xdata->pn = 2;
@@ -248,8 +248,8 @@
xdata->n_p = (fastf_t *)bu_calloc(xdata->pn + 1, sizeof(fastf_t), "params
array");
xdata->n_p[0] = tol->dist;
xdata->n_p[1] = tol->dist;
- VSET(xdata->n_vec[0], 0, max[1], 0);
- VSET(xdata->n_vec[1], 0, 0, max[2]);
+ VSET(xdata->n_vec[0], 0, max[1] - mid[1], 0);
+ VSET(xdata->n_vec[1], 0, 0, max[2] - mid[2]);
ret = rt_pattern(xdata, RT_PATTERN_RECT_ORTHOGRID);
bu_free(xdata->n_vec, "x vec inputs");
bu_free(xdata->n_p, "x p inputs");
@@ -257,7 +257,7 @@
BU_GET(ydata, struct rt_pattern_data);
- VSET(ydata->center_pt, mid[0], min[1] - 0.1 * min[1], mid[2]);
+ VSET(ydata->center_pt, mid[0], min[1] - 0.1 * fabs(min[1]), mid[2]);
VSET(ydata->center_dir, 0, 1, 0);
ydata->vn = 2;
ydata->pn = 2;
@@ -265,15 +265,32 @@
ydata->n_p = (fastf_t *)bu_calloc(ydata->pn + 1, sizeof(fastf_t), "params
array");
ydata->n_p[0] = tol->dist;
ydata->n_p[1] = tol->dist;
- VSET(ydata->n_vec[0], max[0], 0, 0);
- VSET(ydata->n_vec[1], 0, 0, max[2]);
+ VSET(ydata->n_vec[0], max[0] - mid[0], 0, 0);
+ VSET(ydata->n_vec[1], 0, 0, max[2] - mid[2]);
ret = rt_pattern(ydata, RT_PATTERN_RECT_ORTHOGRID);
bu_free(ydata->n_vec, "y vec inputs");
bu_free(ydata->n_p, "y p inputs");
if (ret < 0) return -1;
+#if 0
+ {
+ size_t i = 0;
+ FILE fp = fopen("ydata.plot3", "wb");
+ for (i=0; i <= ydata->ray_cnt; i++) {
+ point_t base;
+ vect_t dir;
+ point_t tip;
+ VSET(base, ydata->rays[6*i], ydata->rays[6*i+1],
ydata->rays[6*i+2]);
+ VSET(dir, ydata->rays[6*i+3], ydata->rays[6*i+4],
ydata->rays[6*i+5]);
+ VJOIN1(tip, base, 500, dir);
+ pdv_3line(fp, base, tip);
+ }
+ fclose(fp);
+ }
+#endif
+
BU_GET(zdata, struct rt_pattern_data);
- VSET(zdata->center_pt, mid[0], mid[1], min[2] - 0.1 * min[2]);
+ VSET(zdata->center_pt, mid[0], mid[1], min[2] - 0.1 * fabs(min[2]));
VSET(zdata->center_dir, 0, 0, 1);
zdata->vn = 2;
zdata->pn = 2;
@@ -281,8 +298,8 @@
zdata->n_p = (fastf_t *)bu_calloc(zdata->pn + 1, sizeof(fastf_t), "params
array");
zdata->n_p[0] = tol->dist;
zdata->n_p[1] = tol->dist;
- VSET(zdata->n_vec[0], max[0], 0, 0);
- VSET(zdata->n_vec[1], 0, max[1], 0);
+ VSET(zdata->n_vec[0], max[0] - mid[0], 0, 0);
+ VSET(zdata->n_vec[1], 0, max[1] - mid[1], 0);
ret = rt_pattern(zdata, RT_PATTERN_RECT_ORTHOGRID);
bu_free(zdata->n_vec, "x vec inputs");
bu_free(zdata->n_p, "x p inputs");
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits