The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

use blib;
use Carp;

$SIG{__DIE__} = sub {die Carp::longmess(@_);};

use PDL;
use PDL::Graphics::TriD;
use PDL::Graphics::TriD::Image;
use PDL::IO::Pic;

use PDL::Graphics::TriD::Graph;
use PDL::Graphics::OpenGL;

$g = new PDL::Graphics::TriD::Graph();
$g->default_axes();

$a = PDL->zeroes(3,1000);
random($a->inplace);

$g->add_dataseries(new PDL::Graphics::TriD::Points($a,$a),"pts");
$g->bind_default("pts");

$b = PDL->zeroes(3,30,30);
axisvalues($b->slice("(0)"));
axisvalues($b->slice("(1)")->xchg(0,1));

$b /= 30;

random($b->slice("(2)")->inplace);

($tmp = $b->slice("(2)")) /= 5; $tmp += 2;

$c = PDL->zeroes(3,30,30);
random($c->inplace);

$g->add_dataseries(new PDL::Graphics::TriD::SLattice($b,$c),"slat");
$g->bind_default("slat");

# $g->add_dataseries(new PDL::Graphics::TriD::Lattice($b,(PDL->pdl(0,0,0)->dummy(1)->dummy(1))),
# 	"blat");
# $g->bind_default("blat");

$g->add_dataseries(new PDL::Graphics::TriD::SCLattice($b+1,$c->slice(":,0:-2,0:-2")),
	"slat2");
$g->bind_default("slat2");

$g->scalethings();

$win = PDL::Graphics::TriD::get_current_window();
$win->clear_objects();
$win->add_object($g);

$win->twiddle();