Skip to content

Commit

Permalink
feature: Added support for for defining geometrical constructs (#6)
Browse files Browse the repository at this point in the history
- Scalar: Represents a scalar number using an unscaled integer value and a scale for fixed-point arithmetic. 
- CoordinateSystem: Defines the coordinate system used to interpret geometric entities (e.g., Cartesian, Polar), with optional parameters. 
- GeometryType: Specifies the type of geometry abstracting the mathematical space (e.g., Euclidean, Hyperbolic), with optional parameters. 
- Coordinate: Represents an n-dimensional coordinate within a specified geometry and coordinate system, using Scalar values for precision. 
- Point: Defines a point in a mathematical space, characterized by its Coordinate. 
- Line: Represents a line or geodesic in a mathematical space, defined by starting and ending Points. 
- Polygon: Describes a polygon in a mathematical space, defined by a series of Point vertices and an is_closed flag.
  • Loading branch information
mprimeaux authored Nov 17, 2024
1 parent 8420a41 commit 0a0081c
Show file tree
Hide file tree
Showing 8 changed files with 1,141 additions and 195 deletions.
24 changes: 23 additions & 1 deletion CHANGELOG/CHANGELOG-1.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@ Date format: `YYYY-MM-DD`
### Fixed
### Security

---
## [1.24.0] - 2024-11-17

### Added
- **FEATURE:* Added [geometry.proto](geometry.proto) for defining geometrical constructs, including:
- Scalar: Represents a scalar number using an unscaled integer value and a scale for fixed-point arithmetic.
- CoordinateSystem: Defines the coordinate system used to interpret geometric entities (e.g., Cartesian, Polar), with optional parameters.
- GeometryType: Specifies the type of geometry abstracting the mathematical space (e.g., Euclidean, Hyperbolic), with optional parameters.
- Coordinate: Represents an n-dimensional coordinate within a specified geometry and coordinate system, using Scalar values for precision.
- Point: Defines a point in a mathematical space, characterized by its Coordinate.
- Line: Represents a line or geodesic in a mathematical space, defined by starting and ending Points.
- Polygon: Describes a polygon in a mathematical space, defined by a series of Point vertices and an is_closed flag.

### Changed
- **DEBT:** Renamed `polygon.proto` to `map_polygon.proto` to better reflect the purpose of the file.

### Deprecated
### Removed
### Fixed
### Security

---
## [1.23.0] - 2024-11-17

Expand Down Expand Up @@ -45,7 +66,8 @@ Date format: `YYYY-MM-DD`
### Fixed
### Security

[Unreleased]: https://github.com/sixafter/nanoid/compare/v1.23.0..HEAD
[Unreleased]: https://github.com/sixafter/nanoid/compare/v1.24.0..HEAD
[1.24.0]: https://github.com/sixafter/nanoid/compare/v1.23.0...v1.24.0
[1.23.0]: https://github.com/sixafter/nanoid/compare/v1.22.0...v1.23.0
[1.22.0]: https://github.com/sixafter/nanoid/compare/v1.0.1...v1.22.0

Expand Down
41 changes: 21 additions & 20 deletions geofence.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions geofence.proto
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ option java_outer_classname = "GeofenceProto";
option objc_class_prefix = "TPB";
option csharp_namespace = "SixAfter.Types.WellKnownTypes";

import "polygon.proto";
import "map_polygon.proto";

// The `Geofence` message represents a virtual boundary around a geographic area.
// Geofences are used in applications such as location-based services, navigation,
Expand All @@ -42,5 +42,5 @@ message Geofence {
// A geofence may consist of one or more polygons, where each polygon represents
// a distinct area. The polygons can define complex, multi-vertex boundaries.
// Example: A campus geofence with multiple disconnected zones.
repeated Polygon polygon = 2;
repeated MapPolygon polygon = 2;
}
Loading

0 comments on commit 0a0081c

Please sign in to comment.