ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rcomb.c
(Generate patch)

Comparing ray/src/util/rcomb.c (file contents):
Revision 2.31 by greg, Fri Apr 18 23:59:03 2025 UTC vs.
Revision 2.32 by greg, Thu Jun 19 22:36:53 2025 UTC

# Line 876 | Line 876 | main(int argc, char *argv[])
876          int             stdin_used = 0;
877          int             nproc = 1;
878          const char      *mcat_spec = NULL;
879 +        int             transpose_mcat = 0;
880          int             n2comp = 0;
881          uby8            comp_ndx[128];
882          int             i;
# Line 970 | Line 971 | main(int argc, char *argv[])
971                                  mop[nmats].preop.csym = NULL;
972                                  break;
973                          case 'm':
973                                mcat_last = 1;
974                                  if (!n) goto userr;
975 +                                mcat_last = 1;
976 +                                transpose_mcat = (argv[i][2] == 't');
977                                  if (argv[++i][0] == '-' && !argv[i][1]) {
978                                          if (stdin_used++) goto stdin_error;
979                                          mcat_spec = stdin_name;
# Line 990 | Line 992 | main(int argc, char *argv[])
992          }
993          resize_inparr(nmats+1);         /* extra matrix at end for result */
994          mop[nmats].inspec = "trailing_ops";
995 <                                        /* load final concatenation matrix */
996 <        if (mcat_spec && !(mcat = rmx_load(mcat_spec))) {
997 <                fprintf(stderr, "%s: error loading concatenation matrix: %s\n",
998 <                                argv[0], mcat_spec);
999 <                return(1);
995 >
996 >        if (mcat_spec) {                /* load final concatenation matrix? */
997 >                mcat = rmx_load(mcat_spec);
998 >                if (!mcat) {
999 >                        fprintf(stderr, "%s: error loading concatenation matrix: %s\n",
1000 >                                        argv[0], mcat_spec);
1001 >                        return(1);
1002 >                }
1003 >                if (transpose_mcat && !rmx_transpose(mcat)) {
1004 >                        fprintf(stderr, "%s: error transposing concatenation matrix: %s\n",
1005 >                                        argv[0], mcat_spec);
1006 >                        return(1);
1007 >                }
1008          }
1009                                          /* get/check inputs, set constants */
1010          if (!initialize(&mop[nmats].imx))

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines