#![cfg_attr(not(feature = "std"), no_std)]
#![warn(clippy::all)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::panic)]
#![allow(clippy::module_name_repetitions)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::expect_used)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::manual_memcpy)]
#![allow(clippy::manual_div_ceil)]
#![allow(clippy::manual_clamp)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(clippy::non_canonical_partial_ord_impl)]
#![allow(unused_variables)]
#![allow(unused_imports)]
#![allow(clippy::collapsible_match)]
#![allow(clippy::collapsible_if)]
#![allow(clippy::manual_strip)]
#![allow(clippy::should_implement_trait)]
#![allow(clippy::wrong_self_convention)]
#![allow(clippy::iter_with_drain)]
#![allow(clippy::iter_kv_map)]
#![allow(for_loops_over_fallibles)]
#![allow(clippy::get_first)]
#![allow(clippy::redundant_closure)]
#![allow(clippy::field_reassign_with_default)]
#![allow(clippy::manual_find)]
#![allow(clippy::if_same_then_else)]
#![allow(clippy::needless_lifetimes)]
#![allow(unused_assignments)]
#![allow(clippy::derivable_impls)]
#![allow(clippy::explicit_counter_loop)]
#![allow(clippy::clone_on_ref_ptr)]
#![allow(clippy::doc_overindented_list_items)]
#![allow(clippy::useless_vec)]
#![allow(clippy::assigning_clones)]
pub mod error;
pub mod raster;
pub mod resampling;
pub mod vector;
#[cfg(feature = "simd")]
pub mod simd;
#[cfg(feature = "parallel")]
pub mod parallel;
#[cfg(feature = "dsl")]
pub mod dsl;
pub mod tutorials;
pub use error::{AlgorithmError, Result};
pub use resampling::{Resampler, ResamplingMethod};
pub use raster::{
CompiledProgram, OpCode, RasterCalculator, RasterExpression, estimate_stack_depth,
eval_bytecode,
};
pub use raster::streaming::{
Chunk, ChunkIterator, ChunkedRaster, InMemoryRasterSource, RasterError, RasterSource,
extract_inner, process_streaming, streaming_focal_mean, streaming_hillshade, streaming_slope,
};
pub use raster::{
BorderMode, MorphologyOptions, black_hat, black_hat_with, closing, closing_with, opening,
opening_with, top_hat, top_hat_with,
};
pub use raster::{
Tin, TinInterpMethod, TinPoint, build_tin, interpolate_idw_tin, interpolate_natural_neighbor,
rasterize_tin,
};
pub use raster::{
ThinPoint3, ThinningMethod, ThinningStats, thin_grid, thin_poisson_disk, thin_random,
thin_with_stats,
};
pub use vector::{
AreaMethod,
BufferCapStyle,
BufferJoinStyle,
BufferOptions,
Circle,
ClipOperation,
CollapseOptions,
ContainsPredicate,
Coordinate,
DisplaceOptions,
DisplaceStats,
DistanceMethod,
ExaggerateAnchor,
ExaggerateOptions,
IntersectsPredicate,
IssueType,
JoinStyle,
LineString,
MultiPolygon,
OffsetOptions,
OffsetResult,
Point,
Polygon,
PowerCell,
PowerDiagram,
PowerDiagramOptions,
RobustLocationOptions,
RotatedRect,
SegmentIntersection,
Severity,
SimplifyMethod,
SnapRoundingOptions,
SnapRoundingResult,
SnappedSegment,
TopologySimplifyOptions,
TouchesPredicate,
ValidationIssue,
WeightedPoint,
aabb,
area,
area_multipolygon,
area_polygon,
buffer_linestring,
buffer_point,
buffer_polygon,
cascaded_union,
centroid,
centroid_collection,
centroid_linestring,
centroid_multilinestring,
centroid_multipoint,
centroid_multipolygon,
centroid_point,
centroid_polygon,
clip_multi,
clip_polygons,
clip_to_box,
clustering,
collapse_linestring_to_point,
collapse_polygon_to_point,
contains,
convex_hull,
delaunay,
difference_polygon,
difference_polygons,
directed_hausdorff,
discrete_frechet_distance,
disjoint,
displace_points,
displace_polygons_by_centroid,
distance_point_to_linestring,
distance_point_to_point,
distance_point_to_polygon,
erase_small_holes,
exaggerate_coord,
exaggerate_linestring,
exaggerate_polygon,
geometric_median,
geometric_median_3d,
geometric_median_with_options,
hausdorff_distance,
hausdorff_distance_to_segments,
intersect_linestrings,
intersect_linestrings_sweep,
intersect_polygons,
intersect_segment_segment,
intersects,
is_clockwise,
is_counter_clockwise,
l1_median,
merge_polygons,
min_area_rotated_rect,
network,
offset_linestring,
offset_polygon_rings,
point_in_polygon,
point_in_polygon_or_boundary,
point_on_polygon_boundary,
point_strictly_inside_polygon,
power_diagram,
should_collapse_polygon,
simplify_linestring,
simplify_linestring_dp,
simplify_polygon,
simplify_topology,
simplify_topology_with_options,
smallest_enclosing_circle,
snap_coordinate,
snap_linestring,
snap_round,
spatial_join,
spatial_mean,
symmetric_difference,
topology,
touches,
union_polygon,
union_polygons,
validate_geometry,
validate_linestring,
validate_polygon,
voronoi,
weighted_bisector,
weighted_geometric_median,
within,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const NAME: &str = env!("CARGO_PKG_NAME");
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_version() {
assert!(!VERSION.is_empty());
assert_eq!(NAME, "oxigdal-algorithms");
}
}