From 0b0a28610178fc1dafa9a763fbcdf81ab1417be0 Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 16 Feb 2012 00:18:31 +0000 Subject: [PATCH] hacky stuff --- pandatool/src/pfmprogs/pfmBba.cxx | 36 ++++++++++++++----------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/pandatool/src/pfmprogs/pfmBba.cxx b/pandatool/src/pfmprogs/pfmBba.cxx index 3a31c28f87..28385a4f98 100755 --- a/pandatool/src/pfmprogs/pfmBba.cxx +++ b/pandatool/src/pfmprogs/pfmBba.cxx @@ -33,17 +33,10 @@ PfmBba() { "Treats (0,0,0) in the pfm file as a special don't-touch value.", &PfmBba::dispatch_none, &_got_zero_special); - add_option - ("r", "index", 0, - "Selects a reorder index.", - &PfmBba::dispatch_int, NULL, &_reorder_index); - add_option ("o", "filename", 50, "Specify the filename to which the resulting bba file will be written.", &PfmBba::dispatch_filename, &_got_output_filename, &_output_filename); - - _reorder_index = 0; } @@ -95,20 +88,23 @@ process_pfm(const Filename &input_filename, PfmFile &file) { << "Unable to open " << bba_filename << "\n"; return false; } + + LPoint3 points[8]; + for (int i = 0; i < 8; ++i) { + points[i] = bounds->get_point(i); + } + LPlanef plane(points[0], points[1], points[2]); + LVector3 normal = plane.get_normal(); + + static const PN_stdfloat scale = 20.0f; + normal *= scale; + points[0] += normal; + points[1] += normal; + points[2] += normal; + points[3] += normal; - // This is the order expected by our existing bba system. - static const int num_reorder_points = 4; - static const int reorder_points[num_reorder_points][8] = { - { 0, 1, 2, 3, 4, 5, 6, 7 }, // unfiltered - { 7, 5, 1, 3, 6, 4, 0, 2 }, // front, floor - { 4, 6, 2, 0, 5, 7, 3, 1 }, // left - { 7, 5, 1, 3, 2, 0, 4, 6 }, // right - }; - int ri = max(_reorder_index, 0); - ri = min(ri, num_reorder_points - 1); - - for (int i = 0; i < bounds->get_num_points(); ++i) { - LPoint3 p = bounds->get_point(reorder_points[ri][i]); + for (int i = 0; i < 8; ++i) { + const LPoint3 &p = points[i]; out << p[0] << "," << p[1] << "," << p[2] << "\n"; } }