Releases: DrScKAWAMOTO/FullereneViewer
バージョン 1.4.7 (macOS Qt6)
Qt6 で発生していた「フラーレンの形状シミュレーションが止まる(形が変わらなくなる)と、
描画をやめてしまうバグ」に対処。
症状:
タイトルバーの D が消えると同時に描画も止まる。
Qt5 では問題は発生しない。(タイトルバーの D が消えても描画されたまま)
対策:
Qt6.6 のドキュメントには QOpenGLWidget::paintGL() では
Before invoking this function, the context and the framebuffer are bound,
and the viewport is set up by a call to glViewport().
No other state is set and no clearing or drawing is performed by the framework.と書いてあったが、paintGL() 呼び出し直前では glClear() が呼び出され済みのような
状態になっている。描画実施直前の自前の glClear() を呼ぶのを止めても、フレームの
描画が重なることはなかった!!
対策として、Qt5 およびそれ以前で実施していた以下の実装を Qt6 では廃止することに
した。タイトルバーの D は永久的に表示されたままとなり、その結果、上記問題は起こ
らなくなった。
Qt5 およびそれ以前で実施していた実装とは、以下の条件を全て満たした時は描画しない
というものである。
- シミュレーションが止まった。
- ぐるぐる回していない。
- ピッキングを実施していない。
バージョン 1.4.6 (macOS Qt6)
macOS で Qt 6.6.1 を使ってビルドできるようにした。
バージョン 1.4.5
macOS で Qt 5.15.11 を使ってビルドできるようにした。
バージョン 1.4.4
Pdd とクラスタリングでの五員環距離の定義を元(ボンドからなるパスのうち一番短いパスの長さ)に戻した。
ca-char のクラスタリングで五員環毎に距離の合計を表示。距離の合計が小さい五員環ほど、そのクラスタの中心に位置する。
クラスタリング表示機能追加。
セロファンの色の順番を変更。
表示切替機能追加。
FreeBSD 10.0 でリンクエラーになるのを修正。
半透明のOpenGL描画を正しく実装した。
Version 1.4.3
設定画面:開フラーレンがある場合は、鼓状に配置する機能実装。
メニュー&ショートカット:裏返し機能実装。
メニュー&ショートカット:最遠環除去機能実装。
ca-char で Distance Matrix と呼んでいたものを、Clustering に変更。
Distance Matrix ではボンドの個数で距離を定義していたが、Clustering ではリングの個数で距離を定義し直しした。
Pdd も、リングの個数で距離を定義し直した。
生成式指定画面では、それまで表示していた生成式を初期値として表示するように変更。
Ver 1.4.2
FreeBSD 9.3 で pkg で qt5 をインストールした場合のコンパイルエラー・ドキュメントを修正。(Yuji Nomura)
FreeBSD 9.2 で pkg で qt4 をインストールした場合のコンパイルエラーを修正。(Yuji Nomura)
copyright 修正。
主成分軸、五員環のセロファン、を設定画面で指定できるようにした
ca-server ca-parallel 実装。
ca-generator をパラレル実行させることができる。
assert() に副作用のあるコードを書かないようにした。
ObjectString と MyString クラス実装。
SortedList.h 廃止。
セグメントを複数指定できるように修正 プロセス割り当ては、「未割り当て」は即座に割り当てるが、「割り当て済みを分割」は、30秒タイマで遅延させる。
コールバック用ソケットはあらかじめ作っておく。
ca-parallel wait 実装。
ca-parallel: 分割基準を「残りが多いもの」に変更。
ca-parallel: FreeBSD 9.x でコールバックが待てないのを修正。
ca-parallel: search を collector に変更。
ca-collector のプログレス表示バグ修正。
ca-uniq ca-mirror ca-char を一つのプログラム(ca-char)にまとめた。
ca-char: ヘッダ出力無し対応。
ca-sort: 出力分割対応。
ca-mirror 削除。
主成分軸の表示・非表示を設定画面で指定できるようにした。
主成分軸の長さは sqrt にした。
五員環セロファンの表示・非表示を設定画面で指定できるようにした。
フラーレンメニューをツリービューベースに変更他
ca-char では引数に生成式を指定する方法をやめて、*.gf ファイル指定方法のみにした。
デバッグ表示修正。
境界探索で、探索方向を固定化した。
ca-generator のデフォルトを --symmetric=100 --step-backward にした。
ca-generator --symmetric 時のスクラップを「S1(五員環中心)」「S2/S3/S4/S5(六員環中心)」「S6/S7(カーボン中心)」「S8/S9(ボンド中心)」に変更。
scrap_order 導入。
p_list_most_inside_carbons_on_boundary() などのリストアップ順番を一定方向に統一。
生成式で S1-566566 のような非圧縮形式も許すように拡張。
povray 起動コマンドライン間違い修正。
refleiso 版は削除。
ca-generator の対称フラーレン生成は、五員環への距離を元に次の生成箇所を決定する版と、scrap_order を元に次の生成箇所を決定する版とに分離。コンフィギュレーションで指定。
set_clockwise(-1) は必要とする箇所の直前で実施。
メモリリークテスト実施。
フラーレンメニューをツリービューベースに変更。
ツリービュー実体は自動生成。
unused parameter のウォーニングを黙らせるマクロ導入。
Tube は径の太いものもピックアップ。
リリース手順書作成。
対称軸表示の設定を、静的設定(Config.h)から動的設定(Configuration.h)へ移動した。
時計回り管理をリング生成時に行うように修正し、ca-generator の高速化。
設定ファイルの読み込みが出来なくなっていたのを修正。
メモリリーク退治。
clang 対応。
フラーレン選択ツリーで名前を付けるようにした。
OpenGLUtil::change_fullerene() で fullerene_name がなくてもいいように自分で生成する。
鏡映対称フラーレンは (NoA=60M) などと表示するように変更。
Yフラーレンが C474 (NoA=6M) を表示するようにした。
copy_string() へ移行
POVRay起動コマンドラインの設定画面対応
doc/FreeBSD/HowToCompile-FreeBSD-10.0-ja.md 修正。
POVRay起動コマンドラインを設定画面からひっぱってくる際のパラメータ設定間違い修正。
リリース手順を定めた。
ca- シリーズの機能拡張・性能改善
鏡像もリストアップする版(新)と鏡像を略する版(従来)を Config.h で指定できるようにした。
鏡像もリストアップする版の場合は、鏡像関係を出力するコマンド ca-mirror 追加。
バイナリサーチを使って ca-generator / ca-uniq 高速化。
距離計算のアルゴリズム改良で ca-generator / ca-uniq 高速化。
パターン生成のステップアルゴリズム改良で ca-generator 高速化。
ステップアルゴリズム --step-backward をデフォルトに。
ca-loop / ca-generator は環境変数 CA_STEP_ALGORITHM 採用。
ca-loop 引数省略可能にした。
ca-char は Pdd= 属性、MirrorSymmetric 属性、Mirror= 属性を出力する機能追加。
ca- シリーズで --help も使えるようにした。
Qt pro ファイル整理。
カーボンナノチューブは両方閉じるとパターンが多くなるので、半分だけ閉じたものをリストアップした。n+m<=12。
clang++ でもコンパイルできるようにした。
generator-formulas フォルダは別リポジトリに分離した。
povray コマンドラインを設定画面で指定できるようにした。