The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Math::Geometry::Construction::Point - a free user-defined point

VERSION

Version 0.009

SYNOPSIS

  my $p1 = $construction->add_point('x' => 100, 'y' => 150);

  my $p2 = $construction->add_point('x' => 50, 'y' => 90,
                                    hidden => 1);

  my $p3 = $construction->add_point('x' => 70, 'y' => 130,
                                    style          => {stroke => 'red'},
                                    label          => 'A',
                                    label_offset_x => 5,
                                    label_offset_y => -5);

DESCRIPTION

An instance of this class represents a user defined free point, as opposed to a derived point, e.g. an intersection point. An instance of this class got its position directly from the user. It is created by using the add_point method of Math::Geometry::Construction.

INTERFACE

Public Attributes

position

Holds a Math::VectorReal object with the position of the point. The z position is expected to be 0. As initialization arguments to the constructor, you can give x and y with numerical values instead of position with a Math::VectorReal value. The object is then created by the constructor.

size

A point is currently always drawn as a circle. This might become more flexible in the future. size determines the size of the point in the output. For a circle it is its diameter.

radius

This attribute is deprecated and might be removed in a future version. If size is not set then this attribute determines the radius of the output circle.

General Output Attributes

See Math::Geometry::Construction::Output.

Methods

draw

Called by the Construction object during output generation. Currently draws a circle of diameter size, but this might become more flexible in the future.

id_template

Class method returning $ID_TEMPLATE, which defaults to 'P%09d'.

DIAGNOSTICS

Exceptions

Warnings

BUGS AND LIMITATIONS

No bugs have been reported. Please report all bugs directly to the author.

AUTHOR

Lutz Gehlen, <perl at lutzgehlen.de>

LICENSE AND COPYRIGHT

Copyright 2011 Lutz Gehlen.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.