Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ImplHelper::ValidOp Module to Provide Uniform Validity Checks #271

Merged
merged 7 commits into from
Oct 5, 2021

Commits on Aug 3, 2021

  1. Add ImplHelper::ValidOp module to provide a uniform interface for val…

    …idity checking of geometries.
    
    The ValidOp module provides methods based on simple geometric predicates to determine validity for a geometry and can be used as a fallback or overridden.
    The module can be overriden fully (in the case of Cartesian polygons) or just by implementing #invalid_reason (FFI and CAPI factories).
    
    Removes #validate_geometry from all classes and replaces them with #prepare_geometry. Any required validations were moved to the constructors.
    
    Adds the ValidityTest module to test/common to ensure that all classes of geometries validate in the same way.
    keithdoggett committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    d25d2a4 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2021

  1. Configuration menu
    Copy the full SHA
    a5208bd View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2021

  1. fix psych related tests

    BuonOmo authored and keithdoggett committed Sep 20, 2021
    Configuration menu
    Copy the full SHA
    0f0a7b3 View commit details
    Browse the repository at this point in the history
  2. Split ValidOp into ValidOp and ValidOpHelpers

    ValidOp is to be included in feature classes and has the invalid_reason and valid? methods, as well as feature type specific methods that walk through the validity flow for each
    geometry type.
    
    ValidOpHelpers is a collection of functions where an object is passed to them. These perform the specific checks and return the invalid reason if applicable.
    
    Also added overrides for both modules for cartesian functions.
    keithdoggett committed Sep 20, 2021
    Configuration menu
    Copy the full SHA
    53aa155 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2021

  1. Configuration menu
    Copy the full SHA
    81fce56 View commit details
    Browse the repository at this point in the history
  2. Implement #crosses? and #intersects? between spherical line strings a…

    …nd fix tests, ValidOp so the spherical factory passes validity checks
    keithdoggett committed Sep 22, 2021
    Configuration menu
    Copy the full SHA
    d084d57 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2021

  1. Appease Rubocop

    keithdoggett committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    0d1c8e7 View commit details
    Browse the repository at this point in the history