MGCL V10
V10
MGCL V10
|
MGCLは B-Spline曲線、B-Spline曲面を含む曲線、曲面を取り扱うためのC++の クラスライブラリです。NURBSを含む単体の曲線、曲面、トリムされた曲面、およびそれらを Winged Edge Data Structure的な構造により結合したシェル構造までの表現能力を有しています。 MGCLは、グラフィックな表示をするためには MFC(Microsoft Foundation Class) と OpenGL 4を 利用しています。MFC配下のマンマシンインタフェースのアプリを作成することを前提としていますが、 もし、これらの機能を利用しないのであれば、(すこしの手を加える必要がありますが) これらを排除して単なるライブラリとしても利用可能です。
(1) Base Class MGCLのベースとなるクラス群で、位置データ、ベクタ、行列演算、ボックス枠、 B-Spline表現または交線を表現するための各種コンテナ、などが中心となります.
(2) (Template) Functions or classe MGCLで利用している数値計算関数など有用な関数をまとめてあります.
(3) Geometry(sub) classes 点(MGPoint)、線(MGCurve)、面(MGSurface)の幾何表現のためのクラスで MGGeometry の サブクラスになります.
(4) Topology(sub) classes 頂点(MGPVertex, MGBVertex)、エッジ(MGEdge)、ループ(MGLoop)、トリム曲面(MGFace)、 シェル(MGShell)の位相構造表現のためのクラスで MGTopology のサブクラスになります.
(5) GeoRelated classes Geometeryクラスの入出力パラメータに利用される各種クラス(MGCoons=Coons Patch, MGPPRep=多項式表現のスプライン, 端末条件,など)が分類されます.
(6) TopoRelated classes Topologyクラスの入出力パラメータに利用される各種クラス(MGFOuterCurve, MGLPoint)や、 曲面のトリム処理のユーティリティクラスの MGTrimLoop などのクラスが分類されます.
(7) Object Related classes Geometry, Topologyに共通(MGFSurface)や、その分類に当てはまらないクラス(MGSTL)、 MGObject のピックのための情報コンテナクラスが分類されます.
(8) Gel Related classes MGGel はGroup Element(Gel)となりうるクラスの抽象クラスで、すべての MGObject 関連の最高位の 抽象クラスとなります。Group ElementによりMGObjectはGroupの要素とすることができます。 この分類には、MGObjectを除くMGGel直下のクラスおよびグループ内のGelの位置を表現する MGGelPosition などのコンテナクラス、MGGel 配下のすべてのクラス分類のための MGAbstractGel, MGAbstractGels などが分類されます.
(9) File InputOutput classes MGGel 配下のクラスはまた、MGCLの用意するファイル入出力の対象でもあります。この入出力の ためのクラスMGOfstream, MGIfstream, そしてIGESデータの入出力のクラス (MGIgesFstream, MGIgesIfstream,MGIgesOstream)が分類されます.
(10) Intersection Container classes 点(MGPoint)、線(MGCurve)、面(MGSurface)の幾何表現同士、または MGEdge, MGLoop, MGFace, MGShell などの Topology クラスとの交点とその配列を表現します.
(11) UseTessellation classes 面(MGSurface, MGFace)を表示するためにはそれらを細かな三角形で近似する必要があります。 UseTessellationは曲面の三角形近似のためのツールクラスを提供します。 この分類に含まれるクラスはそのためのクラスですが、通常直接利用する必要はなく、 MGShell, MGFSurface(MGFaceとMGSurface)のshade(), triangulate()を利用します。
(12) Display Handling classes MGCLでは図形の表示にOpenGL4, イメージデータの実現のためにGDI-plus、マンマシンインタフェースに MFC(Micrsoft Foundation Class)を利用しています。Display Handling ClassesにはMGCLの オブジェクトの表示のためのクラスと表示のためのアトリビュートなどが分類されています.