@@ -9,13 +9,13 @@ def __init__(self, parent, data: Any):
9
9
self ._parent = parent
10
10
self ._data = data .astype (np .float32 )
11
11
12
- @property
13
- def data (self ) -> Any :
14
- return self ._data
15
-
16
12
def set_parent (self , parent : Any ):
17
13
self ._parent = parent
18
14
15
+ @property
16
+ def data (self ):
17
+ return self ._data
18
+
19
19
@abstractmethod
20
20
def __getitem__ (self , item ):
21
21
pass
@@ -28,6 +28,10 @@ def __setitem__(self, key, value):
28
28
def _update_range (self , key ):
29
29
pass
30
30
31
+ @abstractmethod
32
+ def __repr__ (self ):
33
+ pass
34
+
31
35
32
36
def cleanup_slice (slice_obj : slice , upper_bound ) -> slice :
33
37
start = slice_obj .start
@@ -56,7 +60,7 @@ def cleanup_slice(slice_obj: slice, upper_bound) -> slice:
56
60
57
61
58
62
class ColorFeature (GraphicFeature ):
59
- def __init__ (self , parent , colors , n_colors ):
63
+ def __init__ (self , parent , colors , n_colors , alpha : float = 1.0 ):
60
64
"""
61
65
ColorFeature
62
66
@@ -119,6 +123,9 @@ def __init__(self, parent, colors, n_colors):
119
123
c = Color (colors )
120
124
data = np .repeat (np .array ([c ]), n_colors , axis = 0 )
121
125
126
+ if alpha != 1.0 :
127
+ data [:, - 1 ] = alpha
128
+
122
129
super (ColorFeature , self ).__init__ (parent , data )
123
130
124
131
self ._upper_bound = data .shape [0 ]
@@ -211,4 +218,7 @@ def _update_range(self, key):
211
218
self ._parent .world_object .geometry .colors .update_range (ix , size = 1 )
212
219
213
220
def __getitem__ (self , item ):
214
- return self ._parent .world_object .geometry .colors .data [item ]
221
+ return self ._parent .world_object .geometry .colors .data [item ]
222
+
223
+ def __repr__ (self ):
224
+ return repr (self ._parent .world_object .geometry .colors .data )
0 commit comments