# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "planar_geo"
version = "0.3.10"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust library for 2D geometry: geometric objects, algorithms and visualization"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/StefanMathis/planar_geo.git"
resolver = "2"

[package.metadata.docs.rs]
features = [
    "serde",
    "cairo",
    "doc-images",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
cairo = ["dep:cairo-rs"]
default = []
doc-images = ["dep:embed-doc-image"]
serde = [
    "dep:serde",
    "dep:deserialize_untagged_verbose_error",
    "bounding_box/serde",
]

[lib]
name = "planar_geo"
path = "src/lib.rs"

[[example]]
name = "arc_segments"
path = "examples/arc_segments.rs"

[[example]]
name = "geometric_types"
path = "examples/geometric_types.rs"

[[example]]
name = "grid_and_coordinate_system"
path = "examples/grid_and_coordinate_system.rs"

[[example]]
name = "intersection_composites"
path = "examples/intersection_composites.rs"

[[example]]
name = "intersection_segments"
path = "examples/intersection_segments.rs"

[[example]]
name = "polygonizer_comparison"
path = "examples/polygonizer_comparison.rs"

[[example]]
name = "shape"
path = "examples/shape.rs"

[[example]]
name = "type_overview"
path = "examples/type_overview.rs"

[[test]]
name = "arc_segment"
path = "tests/arc_segment.rs"

[[test]]
name = "arrow"
path = "tests/arrow.rs"

[[test]]
name = "bounding_box"
path = "tests/bounding_box.rs"

[[test]]
name = "contour"
path = "tests/contour.rs"

[[test]]
name = "drawable"
path = "tests/drawable/main.rs"

[[test]]
name = "line"
path = "tests/line.rs"

[[test]]
name = "line_segment"
path = "tests/line_segment.rs"

[[test]]
name = "polysegment"
path = "tests/polysegment.rs"

[[test]]
name = "shape"
path = "tests/shape.rs"

[dependencies.approx]
version = "0.6"
features = ["array_impl"]
package = "approxim"

[dependencies.bounding_box]
version = "0.4.1"
features = ["approx"]

[dependencies.cairo-rs]
version = "0.21"
optional = true

[dependencies.compare_variables]
version = "^0.2.0"

[dependencies.deserialize_untagged_verbose_error]
version = "^0.1.5"
optional = true

[dependencies.embed-doc-image]
version = "^0.1.4"
optional = true

[dependencies.geometry-predicates]
version = "0.3"

[dependencies.num]
version = "0.4.0"

[dependencies.ordered-float]
version = "^3.6.0"

[dependencies.rayon]
version = "1.5"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dev-dependencies.cairo_viewport]
version = "^0.2.2"
features = ["image-compare"]
