def _to_wcs(self, ocs: OCS, elevation: float): self._start = ocs.to_wcs(self._start.replace(z=elevation)) for i, cmd in enumerate(self._commands): new_cmd = [cmd[0]] new_cmd.extend( ocs.points_to_wcs(p.replace(z=elevation) for p in cmd[1:])) self._commands[i] = tuple(new_cmd)
def faces_wcs(self, ocs: OCS, elevation: float) -> Iterable[Sequence[Vec3]]: """Yields all faces as 4-tuples of :class:`~ezdxf.math.Vec3` objects in :ref:`WCS`. """ for face in self.faces(): yield tuple( ocs.points_to_wcs(Vec3(v.x, v.y, elevation) for v in face))
def polygons_wcs(self, ocs: OCS, elevation: float) -> Iterable[Sequence[Vec3]]: """Yields for each sub-trace a single polygon as sequence of :class:`~ezdxf.math.Vec3` objects in :ref:`WCS`. """ for trace in self._traces: yield tuple( ocs.points_to_wcs( Vec3(v.x, v.y, elevation) for v in trace.polygon()))