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();