書式
ico [-display display] [-geometry geometry] [-r] [-d pattern] [-i] [-dbl] [-faces] [-noedges] [-sleep n] [-obj object] [-objhelp] [-colors color-list]説明
ico は回転する多面体をワイヤーフレーム表示する。多面体は隠線消去して表示さ れるか、面を塗りつぶして隠面消去を行った多面体として表示される。 色々な多面体を表示することが可能であり、新しい多面体を追加することも非 常に容易である。オプション
- -r
- 新しいウィンドウを生成せず、ルートウィンドウに表示を行う。
- -d pattern
- ワイヤーフレームの点線の描画パターンを指定する。
- -i
- ワイヤーフレームの色を反転させる。
- -dbl
- ダブルバッファリングを用いて表示を行う。 このオプションは、ワイヤーフレーム表示や塗りつぶし描画の際に動作する。 塗りつぶし描画の場合、このオプションを有効にすると大抵は動きが滑らかに なる。 ダブルバッファを用いない場合に比べて倍のビットプレーンを必要とする点に 注意すること。 一般には他のプログラムが色をアロケートすることがあるので、8ビットプレー ンのディスプレイのほとんどでは、ダブルバッファを使う際には表示色が8色 に制限されてしまうだろう。
- -faces
- ワイヤーフレームでなく塗りつぶした面を使って描画する。
- -noedges
- ワイヤーフレームを描画しない。 通常は -faces オプションを使っている場合にしか使われない。
- -sleep n
- オブジェクトの移動の間に n 秒休止する。
- -obj object
- 描画するオブジェクトを指定する。 オブジェクトが指定されていなければ、正20面体が表示される。
- -objhelp
- 利用可能なオブジェクトとそのオブジェクトについての情報のリストが出力さ れる。
- -colors color color ...
- オブジェクトの塗りつぶし面の描画に使う色を指定する。 フェースより少ない数の色しか指定しなかった場合、色は再利用される。
プログラムの終了
"q" キーを押すとウィンドウは閉じる。 スレッドに対応するようにコンパイルされている場合は、プログラムが 終了するのは全てのスレッドが終わった時だけである。 ICCCM の delete メッセージを使ってもアニメーションウィンドウを 閉じることができる(こういったメッセージの送り方は、使っている ウィンドウマネージャによって、装飾ボタンであったりメニューであったりす る)。
多面体の追加方法
ico のソースを持っていれば、多面体を追加するのは非常に容易である。 各多面体は objXXX.h という名前のインクルードファイルにおいて定義される。 ここで XXX は多面体の名前に何らかの関係を持つものである。 インクルードファイルのフォーマットは polyinfo.h ファイル内で定義されて いる。 objcube.h ファイルを参照して、objXXX.h の正確なフォーマットがどうなる べきか調べ、そのフォーマットでユーザ定義の objXXX.h を作ること。
新しい objXXX.h ファイルを作った(あるいは他から新しいファイルをコピー した)後は、単に 'make depend' を実行すれば良い。 これによって allobjs.h ファイルが作り直される。このファイルは全ての objXXX.h ファイルを列挙したものである。 この後に 'make' を実行すると、新しいオブジェクト情報を持つ ico が再構 築される。
バグ
pyramid オブジェクトと四面体は塗りつぶし面表示では正しく表示されない。
-color の引き数リスト内で同じ色の名前を 2 度指定すると、別々のカラーセル が割り当てられてしまう。 TrueColor ディスプレイでは色の割り当てに失敗する。 -faces は正しく動作しない。