@@ -134,23 +134,19 @@ def blank_length(self):
134134 @property
135135 def blank_frame (self ):
136136 # type: () -> Frame
137- # TODO: could be replaced by `ref_frame`?
137+ # TODO: unlike `frame` this may me translated by the start extension.
138+ # TODO: could be replaced by `ref_frame` (which is also affected by extension)?
139+ #
138140 assert self .frame
139141 start , _ = self ._resolve_blank_extensions ()
140142 frame = self .frame .copy ()
141143 frame .point += - frame .xaxis * start # "extension" to the start edge
142144 return frame
143145
144- @property
145- def ref_frame (self ):
146- # type: () -> Frame
147- ref_point = self .blank_frame .point .copy ()
148- ref_point += self .blank_frame .yaxis * self .width * 0.5
149- ref_point -= self .blank_frame .zaxis * self .height * 0.5
150- return Frame (ref_point , self .blank_frame .xaxis , self .blank_frame .zaxis )
151146
152147 @property
153148 def faces (self ):
149+ # TODO: this should be removed! see if used anywhere, replace with `ref_sides` and DESTROY!
154150 # type: () -> list[Frame]
155151 assert self .frame
156152 return [
@@ -182,6 +178,19 @@ def faces(self):
182178 ), # small face at end point
183179 ]
184180
181+
182+ ########################################################################
183+ # BTLx properties
184+ # TODO: move these to TimberElement.
185+ ########################################################################
186+ @property
187+ def ref_frame (self ):
188+ # type: () -> Frame
189+ ref_point = self .blank_frame .point .copy ()
190+ ref_point += self .blank_frame .yaxis * self .width * 0.5
191+ ref_point -= self .blank_frame .zaxis * self .height * 0.5
192+ return Frame (ref_point , self .blank_frame .xaxis , self .blank_frame .zaxis )
193+
185194 @property
186195 def ref_sides (self ):
187196 # type: () -> tuple[Frame, Frame, Frame, Frame, Frame, Frame]
@@ -233,6 +242,7 @@ def centerline_end(self):
233242
234243 @property
235244 def long_edges (self ):
245+ # TODO: can we replace this with `ref_edges`?
236246 # type: () -> list[Line]
237247 assert self .frame
238248 y = self .frame .yaxis
@@ -256,6 +266,7 @@ def has_features(self):
256266
257267 @property
258268 def key (self ):
269+ # TODO: should be removed, this was just for compatibility with old code.
259270 # type: () -> int | None
260271 return self .graph_node
261272
@@ -420,7 +431,7 @@ def from_endpoints(cls, point_start, point_end, width, height, z_vector=None):
420431 @staticmethod
421432 def _create_shape (frame , xsize , ysize , zsize ):
422433 # type: (Frame, float, float, float) -> Box
423- boxframe = frame . copy ()
434+ boxframe = Frame . worldXY ()
424435 depth_offset = boxframe .xaxis * xsize * 0.5
425436 boxframe .point += depth_offset
426437 return Box (xsize , ysize , zsize , frame = boxframe )
0 commit comments