aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/argaze/ArFeatures.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py
index 24ba8e3..87293ee 100644
--- a/src/argaze/ArFeatures.py
+++ b/src/argaze/ArFeatures.py
@@ -61,6 +61,15 @@ class LoadingFailed(Exception):
super().__init__(message)
+class DrawingFailed(Exception):
+ """
+ Exception raised when drawing fails.
+ """
+
+ def __init__(self, message):
+
+ super().__init__(message)
+
# Define default ArLayer draw parameters
DEFAULT_ARLAYER_DRAW_PARAMETERS = {
"draw_aoi_scene": {
@@ -856,7 +865,13 @@ class ArFrame(DataFeatures.SharedObject, DataFeatures.PipelineStepObject):
for layer_name, draw_layer in draw_layers.items():
- self.__layers[layer_name].draw(image, **draw_layer)
+ try :
+
+ self.__layers[layer_name].draw(image, **draw_layer)
+
+ except KeyError:
+
+ raise(DrawingFailed(f'\'{layer_name}\' layer doesn\'t exist.'))
# Draw current gaze position if required
if draw_gaze_positions is not None: