All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jvmMain.io.data2viz.geojson.jackson.Geometry.kt Maven / Gradle / Ivy

package io.data2viz.geojson.jackson


abstract class Geometry : GeoJsonObject {

    val coordinates: MutableList = mutableListOf()

    constructor()

    constructor(vararg elements: T) {
        elements.forEach { coordinate -> coordinates.add(coordinate) }
    }

    fun add(elements: T): Geometry = apply { coordinates.add(elements) }
    
    override fun equals(o: Any?): Boolean {
        if (this === o) return true
        if (o !is Geometry<*>) return false
        if (!super.equals(o)) return false
        return coordinates == o.coordinates
    }

    override fun hashCode(): Int = 31 * super.hashCode() + coordinates.hashCode()

    override fun toString(): String = "Geometry{coordinates=$coordinates} ${super.toString()}"
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy