出来上がりの図
テクスチャを作ってないので分かりづらいですが、テクスチャを貼るために横断歩道の部分だけ独立したポリゴンになっているのが分かるかと思います。ガードレールの途切れ具合もこんな感じかと。
ガードレール生成部分
「作る予定だったガードレールポリゴンのうち横断歩道の部分だけを消す」ということをするために、Python の区間演算ライブラリであるInterval moduleを使いました。これを使うと区間集合 list of (float, float) 同士の差分が計算できるので、ガードレール区間 - 横断歩道区間を計算してポリゴンを作るということをしています。
横断歩道生成部分
今度は「作る予定だった路面ポリゴンのうち、横断歩道部分に頂点を追加する」ということをしたいのですが、interval module だと連続した区間は1つにまとめられてしまうので、区間の和をとる感じではできませんでした。路面と横断歩道の頂点集合をソートしつつマージ。
TODO
なんといってもテクスチャですね。これがないと地味すぎます。なんすかこれ、業務用ポリゴンですかみたいな。テクスチャを作って、UV座標をセットして貼り付けるみたいなことをする予定です。