aboutsummaryrefslogtreecommitdiff
path: root/pkg/proto/vol/src/i2sun/trsetup.x
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/proto/vol/src/i2sun/trsetup.x')
-rw-r--r--pkg/proto/vol/src/i2sun/trsetup.x32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkg/proto/vol/src/i2sun/trsetup.x b/pkg/proto/vol/src/i2sun/trsetup.x
new file mode 100644
index 00000000..1b14afb2
--- /dev/null
+++ b/pkg/proto/vol/src/i2sun/trsetup.x
@@ -0,0 +1,32 @@
+include <imhdr.h>
+include "i2sun.h"
+
+
+# TR_SETUP -- Set up spatial transformation parameters.
+
+procedure tr_setup (im, tr)
+
+pointer im # An input image descriptor
+pointer tr # Transformation structure
+
+int ncols, nlines
+
+begin
+ ncols = IM_LEN(im,COL)
+ nlines = IM_LEN(im,LINE)
+
+ # Determine output raster dimensions.
+ TR_XS(tr) = 1
+ TR_XE(tr) = ncols
+ if (!IS_INDEFI(TR_XSIZE(tr)))
+ TR_XE(tr) = max (1, TR_XSIZE(tr))
+ else if (TR_XMAG(tr) != 1.0)
+ TR_XE(tr) = max (1, ncols * int(TR_XMAG(tr)))
+
+ TR_YS(tr) = 1
+ TR_YE(tr) = nlines
+ if (!IS_INDEFI(TR_YSIZE(tr)))
+ TR_YE(tr) = max (1, TR_YSIZE(tr))
+ else if (TR_YMAG(tr) != 1.0)
+ TR_YE(tr) = max (1, nlines * int(TR_YMAG(tr)))
+end