Commit | Line | Data |
7f385fb2 |
1 | package DX::ResolutionSpace; |
2 | |
3 | use DX::Class; |
4 | |
5 | has geometry_depends_on => (is => 'ro', required => 1); |
6 | |
7 | has members => (is => 'ro', required => 1); |
8 | |
113f21b9 |
9 | sub next_resolution { |
10 | my ($self) = @_; |
11 | return undef unless my ($first) = @{$self->members}; |
12 | return $first->next_resolution; |
13 | } |
14 | |
15 | sub 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 |
21 | 1; |