NAME
Math::Geometry::Construction::FixedPoint
- independent user-defined point
VERSION
Version 0.024
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
The accessor returns a Math::Vector::Real object with the position of the point. To the constructor or mutator, you can give anything that Math::Geometry::Construction::Vector accepts. The constructor additionally supports explicit x
and y
arguments.
Examples:
# arrayref
$construction
->add_point(
position
=> [1, 4]);
$construction
->position([5, -3]);
$construction
->position([4, -1, 7]);
# 7 is ignored
# Math::Vector::Real object
$construction
->add_point(
position
=> V(1, 4));
$construction
->position(V(5, -3));
# x and y
$construction
->add_point(
'x'
=> 1,
'y'
=> 4);
See also Math::Geometry::Construction::Vector.
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.
$point
=
$construction
->add_point([5, 7]);
$pos
=
$point
->position;
$pos
->[0] = 6;
# wrong!
$point
->position([6, 7]);
# right
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, 2013 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.