@@ -112,33 +112,47 @@ class BufferObject(ViewerSceneObject):
112
112
113
113
"""
114
114
115
+ def __init__ (self , * args , show_points : bool = True , show_lines : bool = True , show_faces : bool = True , ** kwargs ):
116
+ super ().__init__ (* args , ** kwargs )
117
+ self .show_points = show_points if show_points is not None else self .buffergeometry .points is not None
118
+ self .show_lines = show_lines if show_lines is not None else self .buffergeometry .lines is not None
119
+ self .show_faces = show_faces if show_faces is not None else self .buffergeometry .faces is not None
120
+
115
121
@property
116
122
def buffergeometry (self ) -> BufferGeometry :
117
123
return self .item
118
124
119
125
def _read_points_data (self ):
120
126
"""Read points data from the object."""
127
+ if self .buffergeometry .points is None :
128
+ return None
121
129
positions = self .buffergeometry .points
122
130
colors = self .buffergeometry .pointcolor
123
131
elements = np .arange (positions .shape [0 ] // 3 , dtype = int )
124
132
return positions , colors , elements
125
133
126
134
def _read_lines_data (self ):
127
135
"""Read lines data from the object."""
136
+ if self .buffergeometry .lines is None :
137
+ return None
128
138
positions = self .buffergeometry .lines
129
139
colors = self .buffergeometry .linecolor
130
140
elements = np .arange (positions .shape [0 ] // 3 , dtype = int )
131
141
return positions , colors , elements
132
142
133
143
def _read_frontfaces_data (self ):
134
144
"""Read frontfaces data from the object."""
145
+ if self .buffergeometry .faces is None :
146
+ return None
135
147
positions = self .buffergeometry .faces
136
148
colors = self .buffergeometry .facecolor
137
149
elements = np .arange (positions .shape [0 ] // 3 , dtype = int )
138
150
return positions , colors , elements
139
151
140
152
def _read_backfaces_data (self ):
141
153
"""Read backfaces data from the object."""
154
+ if self .buffergeometry .faces is None :
155
+ return None
142
156
positions = self .buffergeometry .faces
143
157
colors = self .buffergeometry .facecolor
144
158
elements = np .flip (np .arange (positions .shape [0 ] // 3 , dtype = int ))
0 commit comments