1;
=head1 Name
SPVM::Point3D - Point 3D
=head1 Usage
my
$point
= Point3D->new;
my
$point
= Point3D->new(1, 2, 3);
my
$x
=
$point
->x;
my
$y
=
$point
->y;
my
$z
=
$point
->z;
my
$point_string
=
$point
->to_string;
=head1 Description
C<Point3D> is a class
for
a point 3D.
=head1 Super Class
L<Point|SPVM::Point> is the super class of C<Point3D>.
=head1 Fields
C<Point3D> inherits the fields of L<Point|SPVM::Point/
"Fields"
>.
=head2 z
has
z : ro
int
;
C<z>.
=head1 Class Methods
=head2 new
C<static method new : L<Point3D|SPVM::Point3D> (
$x
:
int
= 0,
$y
:
int
= 0,
$z
:
int
= 0);>
Creates a new C<Point3D> object
with
$x
,
$y
,
$z
.
=head1 Instance Methods
C<Point3D> inherits the instance methods of L<Point|SPVM::Point/
"Instance Methods"
>.
=head2 init
protected method init : Point3D (
$x
:
int
= 0,
$y
:
int
= 0,
$z
:
int
= 0)
Initializes L</
"x"
>, L</
"y"
>, and L</
"z"
>.
=head2 clear
C<method clear : void ();>
Sets L<x|SPVM::Point/
"x"
>, L<y|SPVM::Point/
"y"
>, and L</
"z"
> to 0.
=head2 clone
C<method clone : L<Point3D|SPVM::Point3D> ();>
Creates a new C<Point3D> object that clones myself.
=head2 to_string
C<method to_string : string ();>
Stringifies C<Point3D> object as the following
format
.
(1,2,3)
=head2 eq
C<method eq :
int
(
$a
: Point,
$b
: Point);>
If
$a
is equal to
$b
, returns 1, otherwise returns 0.
Implementation:
If
$a
and
$b
is
defined
and L</
"x"
> and L</
"y"
> fields in
$a
are equals to L</
"x"
> and L</
"y"
> fields in
$b
, returns 1.
If only
$a
is not
defined
, returns 0.
If only
$b
is not
defined
, returns 0.
If both
$a
and
$b
is not
defined
, returns 1.
=head1 Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License