bin/ltview.pl
author Axel Jacobs <axel@jaloxa.eu>
Mon, 14 Apr 2014 22:18:50 +0100
changeset 68 67aa83bdbddd
parent 66 7e56c36eb1ae
child 69 79e0315f3ba1
permissions -rwxr-xr-x
ltpict: Handle file names with spaces
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
     1
#!/usr/bin/perl
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
     2
#
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
     3
# Make an interactive preview of a luminaire
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
     4
#
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
     5
# This script is based on Radiance's objview.pl plus
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
     6
# Rob Guglielmetti's ltview extension to his objview.rb
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
     7
#
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
     8
# Written by Axel Jacobs <axel@jaloxa.eu>
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
     9
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    10
use strict;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    11
use warnings;
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    12
use Math::Trig;
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    13
use File::Copy qw(copy);
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    14
use File::Temp qw/ tempdir /;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    15
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    16
my $td     = tempdir( CLEANUP => 1 );
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    17
my $oct    = "$td/ltview.oct";
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    18
my $room   = "$td/room.rad";
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    19
my $box;                # Overall box dimensions
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    20
my $default_box = 10;   # Default box dimensions
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    21
my $rif    = "$td/ltview.rif";
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    22
my $lumi   = "$td/lumi.rad";    # Fitting as given on cmd line, or generated by ies2rad
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    23
my $lumi2  = "$td/lumi2.rad";   # Fitting scaled to max unity
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    24
my $raddev = "x11";     # default output device. Overwrite with -o
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    25
my $is_ies = 0;         # input file is IES photometry, not a Radiance luminaire
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    26
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    27
my $maxscale = 1;       # Maximum luminiare dimension after scaling
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    28
my $opts     = "";      # Options common to rad and glrad
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    29
my $render   = "-ab 1 -ds .15 -av 0 0 0";    # render= line in rif file
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    30
my $radopt   = 0;       # An option specific to rad was passed (Boolean).
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    31
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    32
while (@ARGV) {
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    33
	$_ = $ARGV[0];
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    34
	if (m/-i/) {
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    35
		$is_ies = 1;
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    36
	} elsif (m/-o/) {   # output device (rvu -devices)
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    37
		$raddev = $ARGV[1];
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    38
		$radopt = 1;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    39
		shift @ARGV;
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    40
	} elsif (m/-b/) {
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    41
		$box = $ARGV[1];    # Box dimensions
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    42
		shift @ARGV;
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    43
	} elsif (m/^-\w/) {
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    44
		die("objview: Bad option: '$_'\n");
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    45
	} else {
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    46
		last;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    47
	}
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    48
	shift @ARGV;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    49
}
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    50
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    51
# We need exactly one Radiance luminaires or IES file
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    52
if (! $#ARGV == 0) {
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    53
	die("ltview: Need one Radiance luminaire or IES file.\n");
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    54
}
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    55
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    56
if ($is_ies == 0) {
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    57
	# Input file is a Radiance luminaire
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    58
	$lumi = $ARGV[0];
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    59
} else {
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    60
	# Input file is IES photometry
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    61
	system "ies2rad -p $td -o lumi $ARGV[0]";
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    62
}
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    63
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    64
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    65
open(FH, ">$room") or
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    66
		die("ltview: Can't write to temporary file '$room'\n");
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
    67
print FH "void plastic wall_mat  0  0  5 .2 .2 .2 0 0\n";
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
    68
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    69
my $b2;
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    70
if (defined $box) {
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    71
	# Room dimensions are giving explicitly.  Don't touch the fitting.
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    72
	$b2 = $box / 2;
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    73
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    74
	$lumi2 = $ARGV[0];
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
    75
} else {
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    76
	# Scale fitting so it fits nicely into our default test room.
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    77
	$b2 = $default_box;    # Default room dimension
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    78
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    79
	# Work out how large the luminaire is and scale so that the longest
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    80
	# axis-align dimension is $maxscale
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    81
	my $dimstr = `getbbox -h $lumi`;
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    82
	chomp $dimstr;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    83
	# Values returned by getbbox are indented and delimited with multiple spaces.
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    84
	$dimstr =~ s/^\s+//;   # remove leading spaces
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    85
	my @dims = split(/\s+/, $dimstr);   # convert to array
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
    86
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    87
	# Find largest axes-aligned dimension
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    88
	my @diffs = ($dims[1]-$dims[0], $dims[3]-$dims[2], $dims[5]-$dims[4]);
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    89
	@diffs = reverse sort { $a <=> $b } @diffs;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    90
	my $size = $diffs[0];
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    91
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    92
	# Move objects so centre is at origin
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    93
	my $xtrans = -1.0 * ($dims[0] + $dims[1]) / 2;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    94
	my $ytrans = -1.0 * ($dims[2] + $dims[3]) / 2;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    95
	my $ztrans = -1.0 * ($dims[4] + $dims[5]) / 2;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    96
	# Scale so that largest object dimension is $maxscale
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
    97
	my $scale = $maxscale / $size;
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
    98
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
    99
	#system "xform -t $xtrans $ytrans $ztrans -s $scale $ARGV[0] > $lumi";
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   100
	system "xform -t $xtrans $ytrans $ztrans -s $scale $lumi > $lumi2";
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   101
}
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
   102
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   103
print FH <<EndOfRoom;
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   104
# Don't generate -y face so we can look into the box (could use clipping)
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   105
#wall_mat polygon box.1540  0  0  12  $b2 -$b2 -$b2  $b2 -$b2 $b2  -$b2 -$b2 $b2  -$b2 -$b2 -$b2
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   106
wall_mat polygon box.4620  0  0  12  -$b2 -$b2 $b2  -$b2 $b2 $b2  -$b2 $b2 -$b2  -$b2 -$b2 -$b2
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   107
wall_mat polygon box.2310  0  0  12  -$b2 $b2 -$b2  $b2 $b2 -$b2  $b2 -$b2 -$b2  -$b2 -$b2 -$b2
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   108
wall_mat polygon box.3267  0  0  12  $b2 $b2 -$b2  -$b2 $b2 -$b2  -$b2 $b2 $b2  $b2 $b2 $b2
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   109
wall_mat polygon box.5137  0  0  12  $b2 -$b2 $b2  $b2 -$b2 -$b2  $b2 $b2 -$b2  $b2 $b2 $b2
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   110
wall_mat polygon box.6457  0  0  12  -$b2 $b2 $b2  -$b2 -$b2 $b2  $b2 -$b2 $b2  $b2 $b2 $b2
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   111
EndOfRoom
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   112
close(FH);
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
   113
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
   114
my $scene = "$room $lumi";
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   115
# Make this work under Windoze
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   116
if ( $^O =~ /MSWin32/ ) {
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   117
	$scene =~ s{\\}{/}g;
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   118
	$oct =~ s{\\}{/}g;
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   119
	$raddev = "qt";
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   120
}
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   121
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   122
# Tweak bounding box so we get a nice view covering all of the box, without
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   123
# having a wasteful black border around it.  Must work for arbitrary box dims.
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   124
my $zone = 1.1 * $b2 * ( 1 + 1/tan(22.5*pi/180) );
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   125
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   126
open(FH, ">$rif") or
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   127
		die("ltview: Can't write to temporary file '$rif'\n");
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   128
print FH <<EndOfRif;
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   129
scene= $scene
44
c8df2d579470 ltview: working and tested on LINUX and Vista
Axel Jacobs <axel@jaloxa.eu>
parents: 38
diff changeset
   130
EXPOSURE= 2
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   131
ZONE= Interior -$zone $zone  -$zone $zone  -$zone $zone
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   132
UP= Z
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   133
view= y
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   134
OCTREE= $oct
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   135
oconv= -f
61
4f3a9f297a6a ltview: Big tidy-up
Axel Jacobs <axel@jaloxa.eu>
parents: 44
diff changeset
   136
render= $render
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   137
EndOfRif
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   138
close(FH);
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   139
66
7e56c36eb1ae ltview: IES input works now
Axel Jacobs <axel@jaloxa.eu>
parents: 61
diff changeset
   140
exec "rad -o $raddev $opts $rif";
38
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   141
a21b69f32c77 ltview: WIP luminaire viewer based on objview.rb
Axel Jacobs <axel@jaloxa.eu>
parents:
diff changeset
   142
#EOF