---
name: "Geometry::Primitive"
section: "3pm"
platform: "linux"
package: "libgeometry-primitive-perl"
version: "0.24-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Geometry::Primitive"
---

# Geometry::Primitive(3pm)

Primitive Geometry Entities

## NAME

Geometry::Primitive - Primitive Geometry Entities

## SYNOPSIS

Geometry::Primitive is a device and library agnostic system for representing geometric entities such as points, lines and shapes.  It provides simple objects and many convenience methods you would expect from a simple geometry library.

```
    use Geometry::Primitive::Point;
    my $foo = Geometry::Primitive::Point->new(x => 1, y => 3);
    ...
```

## DISCLAIMER

I'm not a math guy. I hate math. I will likely learn a lot in the process of making this library. If you are a math person you will probably look at this and find many things missing or wrong. Patches are **encouraged**. I will likely find that I've done something completely wrong having taken geometry over 10 years ago.  C'est la vie.

## ENTITIES

- Arc

  - Bezier

  - Circle

  - Ellipse

  - Line

  - Point

  - Polygon

  - Rectangle

  ## SERIALIZATON

All of the entities in this library support serialization via MooseX::Storage.  This is primarily to support serialization in consumers of this library, but may be useful for other purposes.  All classes are set to JSON format and File IO.

## AUTHOR

Cory Watson, `"<gphat@cpan.org>"`

## ACKNOWLEDGEMENTS

Many of the ideas here come from my experience using the Cairo library.

## BUGS

Please report any bugs or feature requests to `"bug-geometry-primitive at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geometry-Primitive\>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## COPYRIGHT & LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
