Skip to content

Commit 6bb7afd

Browse files
committed
add_dataseries walk contained objects, only bind primitives
1 parent 89081cd commit 6bb7afd

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

lib/PDL/Graphics/TriD/Graph.pm

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,21 @@ use PDL::LiteF; # XXX F needed?
3030
use fields qw(Data DataBind UnBound DefaultAxes Axis );
3131

3232
sub add_dataseries {
33-
my($this,$data,$name) = @_;
34-
if(!defined $name) {
33+
my ($this, $data, $name, $no_changed) = @_;
34+
if (!defined $name) {
3535
$name = "Data0";
36-
while(defined $this->{Data}{$name}) {$name++;}
36+
while (defined $this->{Data}{$name}) {$name++;}
37+
$this->{DataBind}{$name} = [];
38+
$this->{UnBound}{$name} = 1;
3739
}
38-
$this->{Data}{$name} = $data;
39-
$this->{DataBind}{$name} = [];
40-
$this->{UnBound}{$name} = 1;
41-
$this->add_object($data);
42-
$this->changed();
40+
if ($data->can('contained_objects')) {
41+
$this->add_dataseries($_, $name, 1) for $data->contained_objects;
42+
}
43+
if ($data->can('get_points')) {
44+
$this->{Data}{$name} = $data;
45+
$this->add_object($data);
46+
}
47+
$this->changed if !$no_changed;
4348
return $name;
4449
}
4550

0 commit comments

Comments
 (0)