まず、アプリケーションは 2 種類のポリライン(以前のスタイルのポリラインとライトウェイト ポリライン)を描く可能性があるということから説明します。これらの異なるポリライン タイプは、異なる形式の図形データを返します。以前のスタイルのポリラインは、12 個の実数(4 組の X、Y、Z 座標)のリストを返します。 これに対し、ライトウェイト ポリラインは、8 個の実数(4 組のX、Y 座標)のリストを返します。
ユーザがポリライン境界の頂点の 1 つを移動したら、新しいポリライン境界を決定するために、いくつかの計算が必要です。ポリライン データが同じ形式なら、計算が非常に容易になります。
ファイル utils.lsp のレッスン 7 バージョンには、必要な形式変換を行う関数が含まれます。xyzList->ListOfPoints は、リストのリストから 3D 点形式でリストを抽出し、xyList->ListOfPoints は、リストのリストから 2D 点形式でリストを抽出します。
utils.lsp には、ポリライン データの形式を変換する 2 つの関数に加えて、庭園の歩道に対するユーザの変更操作を処理するのに必要な他のユーティリティ関数が含まれています。