NAME
Math::Geometry::Construction::FixedPoint
- independent user-defined point
VERSION
Version 0.019
SYNOPSIS
my $p1 = $construction->add_point(position => [100, 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::Vector::Real object with the position of the point. As initialization argument to the constructor, you can also give either an array reference or a Math::VectorReal|Math::VectorReal
(VectorReal
one word instead of Vector::Real
) object. In the first case, the first two elements of the array are used to construct the Math::Vector::Real object, further elements are silently ignored. In the second case, the x
and y
attributes are used, z
is ignored.
As a further option, you can give x
and y
explicitly.
Examples:
# Math::Vector::Real object
$construction->add_point(position => V(1, 4));
# arrayref
$construction->add_point(position => [1, 4]);
# Math::VectorReal object
$construction->add_point(position => vector(1, 4, 0));
# x and y
$construction->add_point('x' => 1, 'y' => 4);
Note that these conversions are only done at construction time (at least currently). If you want to change the position later you have to hand a Math::Vector::Real object to the mutator method.
Note that you must not alter the elements of the Math::Vector::Real
object directly although the class interface allows it. This will circumvent the tracking of changes that Math::Geometry::Construction
performs in order to improve performance.
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. This parameter is currently undef
by default, because the output falls back to radius (see below). When radius
is removed, size
will default to 6
.
radius
Half of size. This attribute is deprecated and might be removed in a future version. Use size instead.
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'
.
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.