Location : Home > Languages > Perl > Package Title : Math::Geometry::Planar::GPC::Polygon |
![]() |
Math::Geometry::Planar::GPC::Polygon - gpc ライブラリへのオブジェクト指向ラッパ
Perl 5.6.1 及び 5.8.3 では稼動した。
ユーザの利用はいろいろあるだろう(無保証を見よ)。
Eric L. Wilhelm
ewilhelm at sbcglobal dot net
http://pages.sbcglobal.net/mycroft/
Copyright 2004 Eric L. Wilhelm
本モジュール及び C のソースコード(functions.c)は Perl 本体と同等の条件で配布されている。詳細は Perl ソースパッケージを見よ。
ユーザは以下のライセンスのうちの1つの下で本ソフトウェアを使用できる。
General Polygon Clipping library (gpc.c と gpc.h)は「非商用においてのみフリー」として配布されている。詳しくは gpc.c を見よ。これらのファイルのコピーは本ディストリビューションに含まれているがこれは厳密に便利さのためだけである。しかし、YOU ARE RESPONSIBLE FOR ADHERING TO BOTH THE GPC ライセンス及び本モジュールのライセンス双方を遵守する責任はユーザ自身にある。 C ライブラリは Alan Murta に権限があることに留意せよ。
最新のバージョンについては GPC ホームページ http://www.cs.man.ac.uk/aig/staff/alan/software/ で確認することができる。
CPAN のテスタ結果によると本モジュールは i386 と solaris アーキテクチャ上でコンパイルに成功している。おそらく WIN32 上で 0.04 以降なら稼動するだろう。非 Linux マシンは持っていないので、パッチを送ってきて欲しい。
本コードは完全に無保証である。
0.01 - 最初のリリース。
0.02 - API ドキュメントを追加
0.03 - アロケーションエラーを修正。 おそらく WIN32 コンパイル問題も修正?
0.04 - WIN32 コンパイル問題を修正
0.05 - ライセンス宣言を修正。
new
伝統的なコンストラクタであり、C構造の下での括弧つき参照を返す。
use Math::Geometry::Planar::GPC::Polygon; my $gpc = Math::Geometry::Planar::GPC::Polygon->new();
new_gpc
オプションでインポートされたコンストラクタで、タイプしたくない人達用。
use Math::Geometry::Planar::GPC::Polygon qw(new_gpc); my $gpc = new_gpc();
これらはインラインCコードにより提供された関数である。詳細はソース内の functions.c を見よ。
from_file
ユーザの gpc オブジェクトにファイルから呼び出す。詳しくは GPC library ドキュメントを見よ。
$gpc->from_file($filename, $want_hole);
to_file
ファイルに書き出す。
$gpc->to_file($filename, $want_hole);
clip_to
$gpc オブジェクトを $othergpc オブジェクトにクリップする。$action は以下のようなもの。
INTERSECT
DIFFERENCE
UNION
$gpc->clip_to($othergpc, $action);
注意:インタフェースは変更が必要かも知れない。
add_polygon
gpc オブジェクトにポリゴンを追加する。@points はポリゴンの点を記述する配列参照のリストである。$hole は 1 または 0 である(0 は穴に加えてはならない)。
$gpc->add_polygon(\@points, $hole);
get_polygons
gpc オブジェクトからポリゴンを取得する。穴があるか否かをどのように知るかはわからない。@pgons は参照のリストに対する参照のリストである。
@pgons = $gpc->get_polygons();
Pure-perl 実装を以下に書き下す。
![]() |
Updated : 2008/08/15 |