diff options
author | Théo de la Hogue | 2023-07-05 16:42:39 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-07-05 16:42:39 +0200 |
commit | 5116122176ada6f4a98428c75b8f8ce04faaab9f (patch) | |
tree | 6cdd5a27179d4f59ee0cf593bbf49ca07fc81077 /src/argaze | |
parent | e5f2c81530f7a29574f3e429d7a20eb55ee7825e (diff) | |
download | argaze-5116122176ada6f4a98428c75b8f8ce04faaab9f.zip argaze-5116122176ada6f4a98428c75b8f8ce04faaab9f.tar.gz argaze-5116122176ada6f4a98428c75b8f8ce04faaab9f.tar.bz2 argaze-5116122176ada6f4a98428c75b8f8ce04faaab9f.tar.xz |
Adding and testing AOIScene merge operator.
Diffstat (limited to 'src/argaze')
-rw-r--r-- | src/argaze/AreaOfInterest/AOIFeatures.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/argaze/AreaOfInterest/AOIFeatures.py b/src/argaze/AreaOfInterest/AOIFeatures.py index 68a5b6b..cbe4483 100644 --- a/src/argaze/AreaOfInterest/AOIFeatures.py +++ b/src/argaze/AreaOfInterest/AOIFeatures.py @@ -263,6 +263,33 @@ class AOIScene(): # Stop area exposition as an attribute of the class delattr(self, key) + def __or__(self, other): + + assert(other.dimension == self.__dimension) + + merged_areas = dict(self.__areas) + merged_areas.update(other.__areas) + + return AOIScene(self.dimension, merged_areas) + + def __ror__(self, other): + + assert(other.dimension == self.__dimension) + + merged_areas = dict(other.__areas) + merged_areas.update(self.__areas) + + return AOIScene(self.dimension, merged_areas) + + def __ior__(self, other): + + assert(other.dimension == self.__dimension) + + self.__areas.update(other.__areas) + self.__dict__.update(other.__areas) + + return self + def __len__(self): """Get number of AOI into scene.""" return len(self.__areas) |