@@ -77,7 +77,7 @@ def Exit():
77
77
# attrs are X in {'a': '23X....'}
78
78
__attrs = {'pos' :'a' , 'up' :'b' , 'color' :'c' , 'trail_color' :'d' , # don't use single and double quotes; available: comma, but maybe that would cause trouble
79
79
'ambient' :'e' , 'axis' :'f' , 'size' :'g' , 'origin' :'h' ,
80
- 'direction' :'j' , 'linecolor' :'k' , 'bumpaxis' :'l' ,
80
+ 'direction' :'j' , 'linecolor' :'k' , 'bumpaxis' :'l' ,
81
81
'foreground' :'n' , 'background' :'o' , 'ray' :'p' , 'center' :'E' , 'forward' :'#' , 'resizable' :'+' ,
82
82
83
83
# scalar attributes
@@ -109,7 +109,7 @@ def Exit():
109
109
'logx' :'u' , 'logy' :'v' , 'dot' :'w' , 'dot_radius' :'x' ,
110
110
'markers' :'y' , 'legend' :'z' , 'label' :'A' , 'delta' :'B' , 'marker_color' :'C' ,
111
111
'size_units' :'D' , 'userpan' :'E' , 'scroll' :'F' , 'choices' :'G' , 'depth' :'H' ,
112
- 'round' :'I' , 'name' :'J' , 'offset' :'K' , 'attach_idx' :'L' }
112
+ 'round' :'I' , 'name' :'J' , 'offset' :'K' , 'attach_idx' :'L' , 'ccw' : 'M' }
113
113
114
114
# methods are X in {'m': '23X....'}
115
115
# pos is normally updated as an attribute, but for interval-based trails, it is updated (multiply) as a method
@@ -529,7 +529,7 @@ class standardAttributes(baseObj):
529
529
'helix' :[['pos' , 'color' , 'trail_color' ],
530
530
['axis' , 'size' , 'up' ],
531
531
['visible' , 'opacity' ,'shininess' , 'emissive' ,
532
- 'make_trail' , 'trail_type' , 'interval' ,
532
+ 'make_trail' , 'trail_type' , 'interval' , 'ccw' ,
533
533
'retain' , 'trail_color' , 'trail_radius' , 'coils' , 'thickness' , 'pickable' ],
534
534
['red' , 'green' , 'blue' ,'length' , 'width' , 'height' , 'radius' ]],
535
535
'curve' :[['origin' , 'color' ],
@@ -1137,7 +1137,7 @@ def clone(self, **args):
1137
1137
'visible' :True , 'pickable' :self ._pickable }
1138
1138
elif objName == 'helix' :
1139
1139
oldargs = {'pos' :self .pos , 'color' :self ._color ,
1140
- 'thickness' :self ._thickness , 'coils' :self ._coils ,
1140
+ 'thickness' :self ._thickness , 'coils' :self ._coils , 'ccw' : self . _ccw ,
1141
1141
'size' :self ._size , 'axis' :self ._axis , 'up' :self ._up ,
1142
1142
'shininess' :self ._shininess , 'emissive' :self ._emissive ,
1143
1143
'visible' :True , 'pickable' :self ._pickable }
@@ -1503,6 +1503,7 @@ def __init__(self,**args):
1503
1503
args ['_objName' ] = 'helix'
1504
1504
args ['_default_size' ] = vector (1 ,2 ,2 )
1505
1505
self ._coils = 5
1506
+ self ._ccw = True
1506
1507
self ._thickness = 1 / 20 ## radius/20
1507
1508
1508
1509
super (helix , self ).setup (args )
@@ -1525,6 +1526,15 @@ def coils(self,value):
1525
1526
if not self ._constructing :
1526
1527
self .addattr ('coils' )
1527
1528
1529
+ @property
1530
+ def ccw (self ):
1531
+ return self ._ccw
1532
+ @ccw .setter
1533
+ def ccw (self ,value ):
1534
+ self ._ccw = value
1535
+ if not self ._constructing :
1536
+ self .addattr ('ccw' )
1537
+
1528
1538
@property
1529
1539
def radius (self ):
1530
1540
return self ._size .y / 2
0 commit comments