Q&A集
著者:梅谷 武
よくある質問集
作成:2010-03-18
更新:2011-03-10
 CtrlあるいはShiftキーを何度か上げ下げすると初期状態に戻ります。
 1/200000地勢図がインストールされているときは、画面を一番引いた状態でドラッグしていけばいいのですが、そうで無い場合は、tnCursorGeo命令に緯度・経度・標高を指定して実行させます。
算譜2.3 tnCursorGeoの例
tnCursorGeo( 34.258, 136.357, 210.0 )
 緯度・経度を調べるにはこのページを使ってください。
 ToposNoteにおけるマウスによる物体選択ルーチンは、連想配列に登録された物体のみを計算対象としており、地形ポリゴンはデータが巨大なためにその対象からはずしています。そのため物体選択ルーチンからは地形ポリゴンが見えずに、偶然その影にある物体をつかんでしまうことがあります。
 物体がつかめなかったときに空間をつかみますので、物体をつかむときはなるべく斜め上方から見下ろすようにしてつかんでください。
 旧図郭の地図画像は対応するメッシュ区画の北西方向に約400mずれている関係で、一枚だけでは対応するメッシュ区画の画像を作ることができません。隣接する地図画像を使ってメッシュ画像を構成する方法については第7章の後半を参照してください。
 作者の開発環境では、この現象はXPとVistaでは発生せず、Windows 7でのみ発生します。現象としては、PCの負荷が大きい状態で、地図画像ファイルを読み込み、テクスチャとしてキャッシュに登録する過程でエラーが発生し、それにより3D地形図エンジンのキャッシュが、その地図画像ファイルが存在しないと判断するものです。
 これは、Windows 7に新しく導入されたフォールトトレラントヒープ(FTH)というクラッシュ管理機構が関係しているのではないかと推測していますが、この詳細についてはよくわかっていません。
 この現象が起こったとしても、すぐにプログラムの実行に影響を与えることはないと思われますが、一旦、データを保存し、プログラムを終了し、再起動することによってキャッシュをクリアすれば地図画像は表示されます。
 Luaは小さくて軽い一方で、C言語のようになんでもできてしまいます。例えば配列の範囲を超えてアクセスすることが簡単にできます。ToposNoteは、Luaインタプリタ内でシステム例外が発生した場合、それを検知し、プログラムを強制終了します。
Published by SANENSYA Co.,Ltd.