lift some of the rspace handling into the Resolution* classes
[scpubgit/DX.git] / lib / DX / ResolutionSpace.pm
index abb83ea..ab14c35 100644 (file)
@@ -6,4 +6,16 @@ has geometry_depends_on => (is => 'ro', required => 1);
 
 has members => (is => 'ro', required => 1);
 
+sub next_resolution {
+  my ($self) = @_;
+  return undef unless my ($first) = @{$self->members};
+  return $first->next_resolution;
+}
+
+sub remaining_resolution_space {
+  my ($self) = @_;
+  die "Sense makes not" unless my ($first, @rest) = @{$self->members};
+  return $self->but(members => [ $first->remainder, @rest ]);
+}
+
 1;