GHL 3.2.1 リリースノート

本ドキュメントでは、 GHL の 3.2 から 3.2.1 へのバージョンアップの内容 について述べています。

GHL 3.2.1 は GHL 3.2 を補完するバージョンで、 以下に挙げる機能を新たに追加しました。



バージョンアップの概要

・3次元:曲線境界曲面のオフセット機能

曲線境界曲面のベース面を境界情報と共にオフセットした結果を 新たな曲線境界曲面として生成する 関数を追加しました。

・2次元:複合曲線のオフセット機能 (試験的導入)

2次元の複合曲線をオフセットした結果を新たな複合曲線として生成する 関数を追加しました。 このオフセット結果は元の複合曲線に接線不連続な箇所がある場合に、 そのオフセット結果を円弧で補完したものになります。

また、このオフセット結果が閉じた曲線である場合に、 それを自己交差する点で切断して、自己交差を持たない 単純なループの集合に変換する 関数も追加しました。

なお、これらの機能は今後仕様変更の可能性が高いために、「試験的な導入」 として扱っています。

・3次元:Bスプライン曲面のセグメント数を減らす機能 (試験的導入)

あるBスプライン曲面の形状をセグメント数のより少ないBスプライン曲面 で再現する 関数を追加しました。

なお、この機能は今後仕様変更の可能性が高いために、「試験的な導入」 として扱っています。

・形状要素の定義情報をテキストで出力する機能 (試験的導入)

形状要素を定義している幾何情報を指定の出力先にテキストで fprintf する 関数群を追加しました。

なお、この機能は今後仕様変更の可能性が高いために、「試験的な導入」 として扱っています。

・MacOS のサポート (CodeWarrior)

GHL を MacOS 上の共有ライブラリとして利用する環境を用意しました。 この共有ライブラリは PowerMacintosh (およびその互換機) でのみ動作します。 また、この共有ライブラリを作成する環境としては、 MetroWerks 社 CodeWarrior をサポートしています。

・WindowsNT のサポート (Visual C++/Borland C++)

GHL を PC/AT 互換機上の WindowsNT 上のダイナミックリンクライブラリとして 利用する環境を用意しました。 このダイナミックリンクライブラリは PC/AT 互換機上の Windows95 でも動作します。 また、この共有ライブラリを作成する環境としては、 Microsoft 社 Visual C++ と Borland 社 Borland C++ をサポートしています。

なお、このリリースノートを書いている時点では WindowsNT 3.51 および Windows95 での動作は確認済みですが、 WindowsNT 4.0 での動作確認は済んでいません。

・サンプルプログラムの添付

GHL の諸機能を呼び出すコードを含む簡単なプログラムの添付を開始しました。 これらのサンプルプログラムは ghlv3/etc/EXAMPLES の下にあります。 本バージョンでは、GHL が含む関数のうちのごく一部を呼び出しているだけですが、 今後徐々にその量を増やしていく予定です。


追加された関数

ユーティリティ

gh_lstmInsN0	リストデータ処理 − ノードを挿入する(タイプ0)
gh_prntCStr	プリント − 文字列のプリント
gh_prntGType	プリント − 要素タイプのプリント
gh_prntGtPc	プリント − 実数の小数点以下の桁数の指定の獲得
gh_prntGtPp	プリント − 出力関数の指定の獲得
gh_prntStPc	プリント − 実数の小数点以下の桁数の設定
gh_prntStPp	プリント − 出力関数の設定
gh_utilGcd	最大公約数
gh_utilLcm	最小公倍数

2次元

gh2dvslCCmc	閉じた複合曲線を自己交差点で分解する
gh2freeListCmcWVF gh2dvslCCmc の出力の解放
gh2ofstCmcCmc	複合曲線のオフセット
gh2prntAxs	プリント − 座標系のプリント
gh2prntBsc	プリント − Bスプライン曲線のプリント
gh2prntBzc	プリント − ベジエ曲線のプリント
gh2prntCir	プリント − 円のプリント
gh2prntCmc	プリント − 複合曲線のプリント
gh2prntCrv	プリント − 曲線のプリント
gh2prntEll	プリント − 楕円のプリント
gh2prntHyp	プリント − 双曲線のプリント
gh2prntLin	プリント − 直線のプリント
gh2prntLsg	プリント − ラインセグメントのプリント
gh2prntPar	プリント − 放物線のプリント
gh2prntPnt	プリント − 点のプリント
gh2prntRBsc	プリント − 有理Bスプライン曲線のプリント
gh2prntRBzc	プリント − 有理ベジエ曲線のプリント
gh2prntRCrv	プリント − 曲線のプリント
gh2prntTrc	プリント − トリム曲線のプリント
gh2prntVec	プリント − ベクトルのプリント

3次元

gh3gridBss	Bスプライン曲面の格子点を得る
gh3gridBzs	ベジエ曲面の格子点を得る
gh3gridRBss	有理Bスプライン曲面の格子点を得る
gh3gridRBzs	有理ベジエ曲面の格子点を得る
gh3isplBzs	ベジエ曲面が平面状であるか否かを判定する
gh3isplRBzs	有理ベジエ曲面が平面状であるか否かを判定する
gh3ofstCbsCbs	曲線境界曲面を曲線境界曲面でオフセット
gh3ofstConRBss	円錐面を有理Bスプライン曲面でオフセット
gh3ofstCylRBss	円柱面を有理Bスプライン曲面でオフセット
gh3ofstSphRBss	球面を有理Bスプライン曲面でオフセット
gh3prntAxs	プリント − 座標系のプリント
gh3prntBsc	プリント − Bスプライン曲線のプリント
gh3prntBss	プリント − Bスプライン曲面のプリント
gh3prntBzc	プリント − ベジエ曲線のプリント
gh3prntBzs	プリント − ベジエ曲面のプリント
gh3prntCbs	プリント − 曲線境界曲面のプリント
gh3prntCir	プリント − 円のプリント
gh3prntCmc	プリント − 複合曲線のプリント
gh3prntCon	プリント − 円錐面のプリント
gh3prntCrv	プリント − 曲線のプリント
gh3prntCyl	プリント − 円柱面のプリント
gh3prntEll	プリント − 楕円のプリント
gh3prntHyp	プリント − 双曲線のプリント
gh3prntLes	プリント − 柱面のプリント
gh3prntLin	プリント − 直線のプリント
gh3prntLsg	プリント − ラインセグメントのプリント
gh3prntPar	プリント − 放物線のプリント
gh3prntPln	プリント − 平面のプリント
gh3prntPnt	プリント − 点のプリント
gh3prntRBsc	プリント − 有理Bスプライン曲線のプリント
gh3prntRBss	プリント − 有理Bスプライン曲面のプリント
gh3prntRBzc	プリント − 有理ベジエ曲線のプリント
gh3prntRBzs	プリント − 有理ベジエ曲面のプリント
gh3prntRCrv	プリント − 曲線のプリント
gh3prntRSrf	プリント − 曲面のプリント
gh3prntRts	プリント − 矩形有限曲面のプリント
gh3prntRvs	プリント − 回転面のプリント
gh3prntSph	プリント − 球面のプリント
gh3prntSrf	プリント − 曲面のプリント
gh3prntTrc	プリント − トリム曲線のプリント
gh3prntVec	プリント − ベクトルのプリント
gh3thinBss	Bスプライン曲面の間引き
gh3thinRBss	有理Bスプライン曲面の間引き

不具合の修正

gh_lstmSort
要素が正しくソートされない場合がある問題を修正しました。
gh3convCbsSTri2
「閉じた形式のベース面&その自然な境界に一致する外周」の組合せで Segm. Fault を起こす場合がある問題を修正しました。
gh3convCbsSTri2
リターンステータスの ope_error におかしな値が入ることがある問題を修正しました。
gh2norm*Trc, gh2tang*Trc (* は任意の曲線タイプ)
第4、5引数に GH__NULL を指定するとSegm. Fault を起こす問題を修正しました。
gh[123]allcLsgS
メモリの獲得に失敗した際に、プログラムの制御が破綻する可能性がありました。
gh3ints{Cir,Ell,Par,Hyp}{Cir,Ell,Par,Hyp}
交点が存在しない場合に、プログラムの制御が破綻する可能性がありました。
gh2intsLinHyp
交点が存在しない場合に、プログラムの制御が破綻する可能性がありました。
gh_eqtnRDKA
解の収束に失敗した場合に、プログラムの制御が破綻する可能性がありました。
gh3gtdmBss
V方向の定義域情報が正しく得られない問題を修正しました。
gh3conv{Sph,Cyl,Con}RBss
K&R版のコンパイラでコンパイルしたオブジェクトが正しく動作しない可能性がありました。
gh3ifltPntCrv, gh3ifltCrvCrv, gh3ifltCrvSrf
WindowsNT 上の Visual C++ 4.0 でコンパイルすると warning が出る問題を修正しました。
(GHL 3.2 の 3D_patch04 に収録済み)
gh[23]defnTrc
ベース曲線が無限な場合にエラーになる問題を修正しました。
(GHL 3.2 の [23]D_patch04 に収録済み)
gh3projPntBss, gh3projPntBzs
Segm. Fault する場合がある問題を修正しました。
(GHL 3.2 の 3D_patch03 に収録済み)
gh3intsPlnBss, gh3intsPlnBzs, gh3intsBzsBzs, etc.
自己オーバーラップするような曲面に対して、そのオーバーラップ部分に交線が 存在する場合に、うまく交線が出ないことがある問題を修正しました。
(GHL 3.2 の 3D_patch02 に収録済み)
gh3intsPlnBss, gh3intsPlnBzs, gh3intsBzsBzs, etc.
曲面の境界から微妙に離れて存在する交線がうまく出ないことがある問題を修正しました。
(GHL 3.2 の 3D_patch02 に収録済み)
gh3projPntBss, gh3projPntBzs
曲面の角より少し外にある点(曲面の境界線との距離は GH__LMT_TOL 以下) が投影されないことがある問題を修正しました。
(GHL 3.2 の 3D_patch02 に収録済み)
貴重な時間を費やして、 不具合を御報告頂いた皆様に改めて感謝致します。 ありがとうございました。 今後ともよろしくお願い致します。

サポートに関する御連絡は、以下の宛先へお送り下さい。

株式会社 精密形状処理研究所
FAX:03-5276-6478

GHL 3.2.1 企画/開発担当者

企画
柿下 尚武	naokak@pml.co.jp	
長谷川 亨	hasegawa@sra.co.jp
開発
鹿野 信幸	shikano@pml.co.jp
徐 子韜		zitao@pml.co.jp
伊藤 英明	hideit@pml.co.jp

Copyright (c) 1996 Precision Modeling Laboratory,Inc., Tokyo, Japan. All Rights Reserved.