@@ -49,6 +49,9 @@ function cylinderScale(publicAPI, model) {
49
49
model . displayScaleParams
50
50
) ;
51
51
}
52
+ if ( ! model . forceLineThickness ) {
53
+ scaleFactor *= state . getScale1 ?. ( ) ?? 1 ;
54
+ }
52
55
const scale = [ 1 , model . lineThickness , model . lineThickness ] ;
53
56
scales [ j ++ ] = length * scale [ 0 ] ;
54
57
scales [ j ++ ] = scaleFactor * scale [ 1 ] ;
@@ -95,14 +98,15 @@ function defaultValues(publicAPI, model, initialValues) {
95
98
return {
96
99
behavior : Behavior . CONTEXT ,
97
100
glyphResolution : 32 ,
98
- lineThickness : 1 ,
101
+ lineThickness : 0.5 , // radius of the cylinder
102
+ forceLineThickness : false ,
99
103
...initialValues ,
100
104
_pipeline : {
101
105
glyph :
102
106
initialValues ?. pipeline ?. glyph ??
103
107
vtkCylinderSource . newInstance ( {
104
108
direction : [ 1 , 0 , 0 ] ,
105
- center : [ 0.5 , 0 , 0 ] ,
109
+ center : [ 0.5 , 0 , 0 ] , // origin of cylinder at end, not center
106
110
capping : false ,
107
111
} ) ,
108
112
...initialValues ?. pipeline ,
@@ -123,7 +127,11 @@ export function extend(publicAPI, model, initialValues = {}) {
123
127
model ,
124
128
defaultValues ( publicAPI , model , initialValues )
125
129
) ;
126
- macro . setGet ( publicAPI , model , [ 'glyphResolution' , 'lineThickness' ] ) ;
130
+ macro . setGet ( publicAPI , model , [
131
+ 'glyphResolution' ,
132
+ 'lineThickness' ,
133
+ 'forceLineThickness' ,
134
+ ] ) ;
127
135
macro . get ( publicAPI , model . _pipeline , [ 'glyph' , 'mapper' , 'actor' ] ) ;
128
136
129
137
vtkLineGlyphRepresentation ( publicAPI , model ) ;
0 commit comments