From f9e143c27820fec39293baabddd32f25f401df6a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 7 Jan 2018 22:37:03 +0000 Subject: [PATCH] distort-stl: raw mode --- distort-stl | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/distort-stl b/distort-stl index 1b512f8..6931e36 100755 --- a/distort-stl +++ b/distort-stl @@ -102,18 +102,34 @@ sub op__project_cylinder () { #---------- main program ---------- -if (@ARGV && $ARGV[0] =~ m/^-/) { - die "no options supported\n"; -} +our $raw; -my $itmp = new File::Temp; -my $otmp = new File::Temp; +while (@ARGV && $ARGV[0] =~ m/^-/) { + $_ = shift @ARGV; + last if m/^--$/; + if (s/^--raw$//) { + $raw = 1; + } else { + die "$_ ?"; + } +} -system "cat >$itmp"; +my $itmp; +my $otmp; my $admesh_stdout = '--write-ascii-stl /dev/fd/3 3>&1 >/dev/null'; -open I, "admesh $admesh_stdout $itmp |"; +if ($raw) { + open I, "<& STDIN"; + $otmp = *STDOUT; +} else { + $itmp = new File::Temp; + $otmp = new File::Temp; + + system "cat >$itmp"; + + open I, "admesh $admesh_stdout $itmp |"; +} my $triangle; @@ -165,4 +181,6 @@ print "endsolid distort-stl\n"; flush $otmp; -system "admesh --normal-values $admesh_stdout $otmp"; +if (!$raw) { + system "admesh --normal-values $admesh_stdout $otmp"; +} -- 2.30.2