lift some of the rspace handling into the Resolution* classes
[scpubgit/DX.git] / lib / DX / ResolutionSpace.pm
CommitLineData
7f385fb2 1package DX::ResolutionSpace;
2
3use DX::Class;
4
5has geometry_depends_on => (is => 'ro', required => 1);
6
7has members => (is => 'ro', required => 1);
8
113f21b9 9sub next_resolution {
10 my ($self) = @_;
11 return undef unless my ($first) = @{$self->members};
12 return $first->next_resolution;
13}
14
15sub remaining_resolution_space {
16 my ($self) = @_;
17 die "Sense makes not" unless my ($first, @rest) = @{$self->members};
18 return $self->but(members => [ $first->remainder, @rest ]);
19}
20
7f385fb2 211;