Moduł CAD::Drawing

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Co to jest

Moduł służy do tworzenia, ładowania i zapisywania grafiki komputerowej. Poniżej jest przedstawiony przykład, jak można konwertować pliki, przy pomocy modułu. use CAD::Drawing; $drw = CAD::Drawing->new; $drw->load("file.dwg"); # określenie opcji, z którymi poniższy tekst będzie dodany do pliku my %opts = ( height => 5, ); # tekst zostanie dodany do tablicy $drw->addtext([10, 2, 5], "Jakis tekst", \%opts); # zmieniony plik jest zapisywany $drw->save("file.ps");

Konstruktor

$drw = CAD::Drawing->new(%options)
Konstruktor zwraca referencję do nowego obiektu modułu. Metodę new można wywoływać z opcjami lub bez. Przykład: my $drw = CAD::Drawing->new(); # lub $drw = CAD::Drawing->new(isbig=>1); W drugim przypadku isbig=>1 oznacza, że dane geometryczne przechowywane są w pakiecie main, jako zmienne globalne. Dzięki temu, program szybciej zakończy swoje działanie, ale mogą powstać luki w pamięci, jeżeli obiekty są tworzone w pętli.

Metody

Funkcje add*

Wszystkie funkcje, jako argumenty mają dwa stałe argumenty, pierwszym jest tablica, drugim jest hasz, w którym są określone standardowe cechy: layer => $layername color => $color (liczba 0-255) linetype => $linetype (rzadko wymagany w większości formatów) id => $id

addline
Funkcja dodaje linie między punktami określonymi w tablicy @pts: @pts = ([$x1, $y1], [$x2, $y2]); $drw->addline(\@pts, \%opts);
addtext
Funkcja dodaje tekst umieszczony w zmiennej $string do tablicy @pt. Opcje dotyczące napisu, np. wysokość, są umieszczone w haszu. $drw->addtext(\@pt, $string, \%opts);
addtexttable
@table jest dwuwymiarową tablicą napisów. Opcja $opts{spaces} musi zawierać referencję do listy szerokości kolumn: $drw->addtexttable(\@point, \@table, \%opts);

Funkcje zapytań

list_layers
Funkcja zwraca listę warstw, które są określone w haszu. @list = $drw->list_layers(\%opts);
addr_by_layer
Funkcja zwraca adresy wszystkich obiektów, które mają ustawioną daną warstwę. my @addr_list = $drw->addr_by_layer($layer);
addr_by_type
Funkcja zwraca adresy wszystkich obiektów o danym typie i warstwie. $drw->addr_by_type($layer, $type);

Funkcje wewnętrzne

getobj
Funkcja zwraca referencję do obiektu znajdującego się pod adresem $addr. $drw->getobj($addr);
remove
Funkcja usuwa obiekt znajdujący się pod adresem $addr ze struktury danych. $drw->remove($addr);

Dodatkowe informacje

Cała dokumentacja do modułu CAD::Drawing znajduje się na stronie: http://search.cpan.org/~ewilhelm/CAD-Drawing-0.26/lib/CAD/Drawing.pm

Autor opracowania

A.Ł.

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.