>>109
ふつう細分化(Subdivision)ってのは、トポロジーとジオメトリーの処理

頂点を増やして位置を計算し、頂点間の繋がりを再設定する
どちらも、ラスター空間の制約などとは全く関係ない

あるレベルまで細分化された頂点群を見て、
その一部がラスター空間からはみ出ているかどうかを調べたりする処理は、
Subdivision 関数の中じゃなく、別の所で行った方がいい

ひとつの関数内で意味や役割の異なる複数の処理を行うのは良くない
Subdivision 関数は次のレベルの細分化を行うことに徹するべき

疑似言語で簡単に言えば

ts' = Subdivision (ts) // 次のレベルの細分化された三角形リストを得る
if (OverSpace (ts')) then ・・・

このように一つの意味の塊毎に関数を独立させ、
別の関数において、それら分けた関数をもう一段抽象度の高い意味で繋げる