Class: SurrealDB::GeometryPolygon
- Inherits:
-
Object
- Object
- SurrealDB::GeometryPolygon
- Defined in:
- lib/surrealdb/models/geometry.rb
Instance Attribute Summary collapse
-
#exterior ⇒ GeometryLine
readonly
Exterior ring.
-
#interiors ⇒ Array<GeometryLine>
readonly
Interior rings (holes).
Instance Method Summary collapse
- #==(other) ⇒ Object (also: #eql?)
- #hash ⇒ Object
-
#initialize(exterior, *interiors) ⇒ GeometryPolygon
constructor
A new instance of GeometryPolygon.
- #inspect ⇒ Object
Constructor Details
#initialize(exterior, *interiors) ⇒ GeometryPolygon
Returns a new instance of GeometryPolygon.
65 66 67 68 |
# File 'lib/surrealdb/models/geometry.rb', line 65 def initialize(exterior, *interiors) @exterior = exterior @interiors = interiors.freeze end |
Instance Attribute Details
#exterior ⇒ GeometryLine (readonly)
Returns exterior ring.
60 61 62 |
# File 'lib/surrealdb/models/geometry.rb', line 60 def exterior @exterior end |
#interiors ⇒ Array<GeometryLine> (readonly)
Returns interior rings (holes).
63 64 65 |
# File 'lib/surrealdb/models/geometry.rb', line 63 def interiors @interiors end |
Instance Method Details
#==(other) ⇒ Object Also known as: eql?
70 71 72 |
# File 'lib/surrealdb/models/geometry.rb', line 70 def ==(other) other.is_a?(GeometryPolygon) && other.exterior == @exterior && other.interiors == @interiors end |
#hash ⇒ Object
75 76 77 |
# File 'lib/surrealdb/models/geometry.rb', line 75 def hash [self.class, @exterior, @interiors].hash end |
#inspect ⇒ Object
79 80 81 |
# File 'lib/surrealdb/models/geometry.rb', line 79 def inspect "GeometryPolygon(exterior: #{@exterior.points.length} points, holes: #{@interiors.length})" end |