0.3.0 #23
12
CHANGELOG.md
12
CHANGELOG.md
@ -5,7 +5,6 @@
|
|||||||
### Added
|
### Added
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Package changed to `space.kscience`
|
|
||||||
|
|
||||||
### Deprecated
|
### Deprecated
|
||||||
|
|
||||||
@ -14,3 +13,14 @@
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
||||||
|
## 0.3.0 - 2024-06-04
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Package changed to `space.kscience`
|
||||||
|
- Kotlin 2.0
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Use of generated resources for Wasm
|
||||||
|
12
README.md
12
README.md
@ -8,7 +8,6 @@ This repository is a work-in-progress implementation of Map-with-markers compone
|
|||||||
|
|
||||||
|
|
||||||
### [demo](demo)
|
### [demo](demo)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
@ -33,17 +32,14 @@ This repository is a work-in-progress implementation of Map-with-markers compone
|
|||||||
|
|
||||||
|
|
||||||
### [maps-kt-features](maps-kt-features)
|
### [maps-kt-features](maps-kt-features)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [maps-kt-geojson](maps-kt-geojson)
|
### [maps-kt-geojson](maps-kt-geojson)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [maps-kt-scheme](maps-kt-scheme)
|
### [maps-kt-scheme](maps-kt-scheme)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
@ -53,21 +49,21 @@ This repository is a work-in-progress implementation of Map-with-markers compone
|
|||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [demo/maps](demo/maps)
|
### [demo/maps](demo/maps)
|
||||||
>
|
>
|
||||||
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
|
### [demo/maps-wasm](demo/maps-wasm)
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [demo/polygon-editor](demo/polygon-editor)
|
### [demo/polygon-editor](demo/polygon-editor)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [demo/scheme](demo/scheme)
|
### [demo/scheme](demo/scheme)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
|
||||||
### [demo/trajectory-playground](demo/trajectory-playground)
|
### [demo/trajectory-playground](demo/trajectory-playground)
|
||||||
>
|
|
||||||
>
|
>
|
||||||
> **Maturity**: EXPERIMENTAL
|
> **Maturity**: EXPERIMENTAL
|
||||||
|
@ -9,7 +9,7 @@ val kmathVersion: String by extra("0.4.0")
|
|||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
group = "space.kscience"
|
group = "space.kscience"
|
||||||
version = "0.3.0-dev-2"
|
version = "0.3.0"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
|
@ -2,7 +2,8 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
}
|
}
|
||||||
|
|
||||||
//val ktorVersion: String by rootProject.extra
|
//val ktorVersion: String by rootProject.extra
|
||||||
@ -14,17 +15,23 @@ kotlin {
|
|||||||
binaries.executable()
|
binaries.executable()
|
||||||
}
|
}
|
||||||
sourceSets {
|
sourceSets {
|
||||||
val wasmJsMain by getting {
|
commonMain {
|
||||||
|
dependencies {
|
||||||
|
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
|
||||||
|
api(compose.components.resources)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
wasmJsMain {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(projects.mapsKtScheme)
|
implementation(projects.mapsKtScheme)
|
||||||
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) api(compose.components.resources)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compose {
|
compose {
|
||||||
experimental.web{
|
web {
|
||||||
application{}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
After Width: | Height: | Size: 469 KiB |
@ -4,18 +4,19 @@ import androidx.compose.runtime.*
|
|||||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.window.CanvasBasedWindow
|
import androidx.compose.ui.window.CanvasBasedWindow
|
||||||
import center.sciprog.maps.features.FeatureGroup
|
|
||||||
import center.sciprog.maps.features.ViewConfig
|
|
||||||
import center.sciprog.maps.features.ViewPoint
|
|
||||||
import center.sciprog.maps.features.color
|
|
||||||
import center.sciprog.maps.scheme.*
|
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.jetbrains.compose.resources.DrawableResource
|
|
||||||
import org.jetbrains.compose.resources.ExperimentalResourceApi
|
import org.jetbrains.compose.resources.ExperimentalResourceApi
|
||||||
import org.jetbrains.compose.resources.painterResource
|
import org.jetbrains.compose.resources.painterResource
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
|
import space.kscience.maps.features.FeatureGroup
|
||||||
|
import space.kscience.maps.features.ViewConfig
|
||||||
|
import space.kscience.maps.features.ViewPoint
|
||||||
|
import space.kscience.maps.features.color
|
||||||
|
import space.kscience.maps.scheme.*
|
||||||
|
import space.kscience.maps_wasm.generated.resources.Res
|
||||||
|
import space.kscience.maps_wasm.generated.resources.middle_earth
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@ -25,7 +26,9 @@ fun App() {
|
|||||||
|
|
||||||
|
|
||||||
val features: FeatureGroup<XY> = FeatureGroup.remember(XYCoordinateSpace) {
|
val features: FeatureGroup<XY> = FeatureGroup.remember(XYCoordinateSpace) {
|
||||||
background(1600f, 1200f) { painterResource(DrawableResource("middle-earth.jpg")) }
|
background(1600f, 1200f) {
|
||||||
|
painterResource(Res.drawable.middle_earth)
|
||||||
|
}
|
||||||
circle(410.52737 to 868.7676).color(Color.Blue)
|
circle(410.52737 to 868.7676).color(Color.Blue)
|
||||||
text(410.52737 to 868.7676, "Shire").color(Color.Blue)
|
text(410.52737 to 868.7676, "Shire").color(Color.Blue)
|
||||||
circle(1132.0881 to 394.99127).color(Color.Red)
|
circle(1132.0881 to 394.99127).color(Color.Red)
|
||||||
|
@ -2,7 +2,8 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
}
|
}
|
||||||
|
|
||||||
val ktorVersion: String by rootProject.extra
|
val ktorVersion: String by rootProject.extra
|
||||||
|
@ -13,9 +13,6 @@ import androidx.compose.ui.unit.DpSize
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import center.sciprog.maps.compose.*
|
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import center.sciprog.maps.geojson.geoJson
|
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.engine.cio.CIO
|
import io.ktor.client.engine.cio.CIO
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
@ -29,9 +26,12 @@ import space.kscience.attributes.Attributes
|
|||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
import space.kscience.kmath.geometry.degrees
|
import space.kscience.kmath.geometry.degrees
|
||||||
import space.kscience.kmath.geometry.radians
|
import space.kscience.kmath.geometry.radians
|
||||||
|
import space.kscience.maps.compose.*
|
||||||
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
import space.kscience.maps.coordinates.kilometers
|
import space.kscience.maps.coordinates.kilometers
|
||||||
|
import space.kscience.maps.features.*
|
||||||
|
import space.kscience.maps.geojson.geoJson
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import kotlin.math.PI
|
import kotlin.math.PI
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
@ -2,7 +2,8 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
}
|
}
|
||||||
|
|
||||||
val ktorVersion: String by rootProject.extra
|
val ktorVersion: String by rootProject.extra
|
||||||
|
@ -9,11 +9,11 @@ import androidx.compose.runtime.snapshots.SnapshotStateList
|
|||||||
import androidx.compose.ui.input.pointer.isSecondaryPressed
|
import androidx.compose.ui.input.pointer.isSecondaryPressed
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import center.sciprog.maps.features.*
|
import space.kscience.maps.features.*
|
||||||
import center.sciprog.maps.scheme.SchemeView
|
import space.kscience.maps.scheme.SchemeView
|
||||||
import center.sciprog.maps.scheme.XY
|
import space.kscience.maps.scheme.XY
|
||||||
import center.sciprog.maps.scheme.XYCoordinateSpace
|
import space.kscience.maps.scheme.XYCanvasState
|
||||||
import center.sciprog.maps.scheme.XYCanvasState
|
import space.kscience.maps.scheme.XYCoordinateSpace
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@Preview
|
@Preview
|
||||||
|
@ -2,7 +2,8 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
}
|
}
|
||||||
|
|
||||||
val ktorVersion: String by rootProject.extra
|
val ktorVersion: String by rootProject.extra
|
||||||
|
@ -8,18 +8,18 @@ import androidx.compose.ui.graphics.Color
|
|||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import center.sciprog.maps.features.FeatureGroup
|
|
||||||
import center.sciprog.maps.features.ViewConfig
|
|
||||||
import center.sciprog.maps.features.ViewPoint
|
|
||||||
import center.sciprog.maps.features.color
|
|
||||||
import center.sciprog.maps.scheme.*
|
|
||||||
import center.sciprog.maps.svg.FeatureStateSnapshot
|
|
||||||
import center.sciprog.maps.svg.exportToSvg
|
|
||||||
import center.sciprog.maps.svg.snapshot
|
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
|
import space.kscience.maps.features.FeatureGroup
|
||||||
|
import space.kscience.maps.features.ViewConfig
|
||||||
|
import space.kscience.maps.features.ViewPoint
|
||||||
|
import space.kscience.maps.features.color
|
||||||
|
import space.kscience.maps.scheme.*
|
||||||
|
import space.kscience.maps.svg.FeatureStateSnapshot
|
||||||
|
import space.kscience.maps.svg.exportToSvg
|
||||||
|
import space.kscience.maps.svg.snapshot
|
||||||
import java.awt.Desktop
|
import java.awt.Desktop
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ import androidx.compose.ui.graphics.Color
|
|||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import center.sciprog.maps.features.*
|
import space.kscience.maps.features.*
|
||||||
import center.sciprog.maps.scheme.*
|
import space.kscience.maps.scheme.*
|
||||||
import center.sciprog.maps.scheme.XYCoordinateSpace.Rectangle
|
import space.kscience.maps.scheme.XYCoordinateSpace.Rectangle
|
||||||
|
|
||||||
|
|
||||||
fun main() = application {
|
fun main() = application {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
}
|
}
|
||||||
|
|
||||||
val ktorVersion: String by rootProject.extra
|
val ktorVersion: String by rootProject.extra
|
||||||
|
@ -8,13 +8,13 @@ import androidx.compose.runtime.*
|
|||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.window.Window
|
import androidx.compose.ui.window.Window
|
||||||
import androidx.compose.ui.window.application
|
import androidx.compose.ui.window.application
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import center.sciprog.maps.scheme.SchemeView
|
|
||||||
import center.sciprog.maps.scheme.XY
|
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
import space.kscience.kmath.geometry.Vector2D
|
import space.kscience.kmath.geometry.Vector2D
|
||||||
import space.kscience.kmath.geometry.euclidean2d.Circle2D
|
import space.kscience.kmath.geometry.euclidean2d.Circle2D
|
||||||
import space.kscience.kmath.geometry.euclidean2d.Float64Space2D
|
import space.kscience.kmath.geometry.euclidean2d.Float64Space2D
|
||||||
|
import space.kscience.maps.features.*
|
||||||
|
import space.kscience.maps.scheme.SchemeView
|
||||||
|
import space.kscience.maps.scheme.XY
|
||||||
import space.kscience.trajectory.*
|
import space.kscience.trajectory.*
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
|
|
||||||
compose.version=1.6.0-rc02
|
|
||||||
org.jetbrains.compose.experimental.wasm.enabled=true
|
|
||||||
org.jetbrains.compose.experimental.jscanvas.enabled=true
|
|
||||||
|
|
||||||
agp.version=8.1.0
|
|
||||||
android.useAndroidX=true
|
|
||||||
android.enableJetifier=true
|
|
||||||
|
|
||||||
org.gradle.jvmargs=-Xmx4096m
|
org.gradle.jvmargs=-Xmx4096m
|
||||||
|
|
||||||
toolsVersion=0.15.2-kotlin-1.9.22
|
toolsVersion=0.15.4-kotlin-2.0.0
|
@ -7,19 +7,8 @@ The core interfaces of KMath.
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `center.sciprog:maps-kt-compose:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:maps-kt-compose:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'center.sciprog:maps-kt-compose:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -28,6 +17,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("center.sciprog:maps-kt-compose:0.2.2")
|
implementation("space.kscience:maps-kt-compose:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("space.kscience.gradle.mpp")
|
id("space.kscience.gradle.mpp")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
// id("com.android.library")
|
// id("com.android.library")
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
}
|
}
|
||||||
@ -10,40 +11,22 @@ kscience {
|
|||||||
wasm()
|
wasm()
|
||||||
|
|
||||||
useCoroutines()
|
useCoroutines()
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
commonMain{
|
||||||
sourceSets {
|
api(projects.mapsKtCore)
|
||||||
commonMain {
|
api(projects.mapsKtFeatures)
|
||||||
dependencies {
|
api(compose.foundation)
|
||||||
api(projects.mapsKtCore)
|
api(project.dependencies.platform(spclibs.ktor.bom))
|
||||||
api(projects.mapsKtFeatures)
|
}
|
||||||
api(compose.foundation)
|
jvmMain{
|
||||||
api(project.dependencies.platform(spclibs.ktor.bom))
|
api("io.ktor:ktor-client-cio")
|
||||||
}
|
}
|
||||||
}
|
jvmTest{
|
||||||
|
implementation("io.ktor:ktor-client-cio")
|
||||||
|
implementation(compose.desktop.currentOs)
|
||||||
|
implementation(spclibs.kotlinx.coroutines.test)
|
||||||
|
|
||||||
getByName("jvmMain"){
|
implementation(spclibs.logback.classic)
|
||||||
dependencies {
|
|
||||||
api("io.ktor:ktor-client-cio")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// getByName("jsMain"){
|
|
||||||
// dependencies {
|
|
||||||
// api("io.ktor:ktor-client-js")
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
getByName("jvmTest") {
|
|
||||||
dependencies {
|
|
||||||
implementation("io.ktor:ktor-client-cio")
|
|
||||||
implementation(compose.desktop.currentOs)
|
|
||||||
implementation(spclibs.kotlinx.coroutines.test)
|
|
||||||
|
|
||||||
implementation(spclibs.logback.classic)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package space.kscience.maps.compose
|
package space.kscience.maps.compose
|
||||||
|
|
||||||
import center.sciprog.maps.features.Rectangle
|
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
import space.kscience.kmath.geometry.abs
|
import space.kscience.kmath.geometry.abs
|
||||||
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
|
import space.kscience.maps.features.Rectangle
|
||||||
|
|
||||||
internal fun Angle.isBetween(a: Angle, b: Angle) = this in a..b || this in b..a
|
internal fun Angle.isBetween(a: Angle, b: Angle) = this in a..b || this in b..a
|
||||||
|
|
||||||
|
@ -6,12 +6,12 @@ import androidx.compose.ui.unit.Dp
|
|||||||
import androidx.compose.ui.unit.DpOffset
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.DpRect
|
import androidx.compose.ui.unit.DpRect
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import space.kscience.kmath.geometry.radians
|
import space.kscience.kmath.geometry.radians
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
import space.kscience.maps.coordinates.MercatorProjection
|
import space.kscience.maps.coordinates.MercatorProjection
|
||||||
import space.kscience.maps.coordinates.WebMercatorCoordinates
|
import space.kscience.maps.coordinates.WebMercatorCoordinates
|
||||||
import space.kscience.maps.coordinates.WebMercatorProjection
|
import space.kscience.maps.coordinates.WebMercatorProjection
|
||||||
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.*
|
import kotlin.math.*
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,13 +11,13 @@ import androidx.compose.ui.graphics.toComposeImageBitmap
|
|||||||
import androidx.compose.ui.unit.IntOffset
|
import androidx.compose.ui.unit.IntOffset
|
||||||
import androidx.compose.ui.unit.IntSize
|
import androidx.compose.ui.unit.IntSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.supervisorScope
|
import kotlinx.coroutines.supervisorScope
|
||||||
import org.jetbrains.skia.Image
|
import org.jetbrains.skia.Image
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.maps.compose
|
package space.kscience.maps.compose
|
||||||
|
|
||||||
import center.sciprog.maps.features.ViewPoint
|
|
||||||
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
import space.kscience.maps.coordinates.GeodeticMapCoordinates
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
import space.kscience.maps.coordinates.WebMercatorProjection
|
import space.kscience.maps.coordinates.WebMercatorProjection
|
||||||
|
import space.kscience.maps.features.ViewPoint
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Observable position on the map. Includes observation coordinate and [zoom] factor
|
* Observable position on the map. Includes observation coordinate and [zoom] factor
|
||||||
|
@ -3,13 +3,12 @@ package space.kscience.maps.compose
|
|||||||
import androidx.compose.ui.unit.DpOffset
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.coordinates.*
|
|
||||||
import center.sciprog.maps.features.CoordinateSpace
|
|
||||||
import center.sciprog.maps.features.Rectangle
|
|
||||||
import center.sciprog.maps.features.ViewPoint
|
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
import space.kscience.kmath.geometry.radians
|
import space.kscience.kmath.geometry.radians
|
||||||
import space.kscience.maps.coordinates.*
|
import space.kscience.maps.coordinates.*
|
||||||
|
import space.kscience.maps.features.CoordinateSpace
|
||||||
|
import space.kscience.maps.features.Rectangle
|
||||||
|
import space.kscience.maps.features.ViewPoint
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import kotlin.math.floor
|
import kotlin.math.floor
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
@ -6,11 +6,10 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.coordinates.*
|
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import org.jetbrains.skia.Font
|
import org.jetbrains.skia.Font
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
import space.kscience.maps.coordinates.*
|
import space.kscience.maps.coordinates.*
|
||||||
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,19 +9,8 @@ The core interfaces of KMath.
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `center.sciprog:maps-kt-core:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:maps-kt-core:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'center.sciprog:maps-kt-core:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -30,6 +19,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("center.sciprog:maps-kt-core:0.2.2")
|
implementation("space.kscience:maps-kt-core:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -6,19 +6,8 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `center.sciprog:maps-kt-features:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:maps-kt-features:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'center.sciprog:maps-kt-features:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -27,6 +16,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("center.sciprog:maps-kt-features:0.2.2")
|
implementation("space.kscience:maps-kt-features:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("space.kscience.gradle.mpp")
|
id("space.kscience.gradle.mpp")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,19 +27,13 @@ kscience {
|
|||||||
useSerialization(sourceSet = space.kscience.gradle.DependencySourceSet.TEST) {
|
useSerialization(sourceSet = space.kscience.gradle.DependencySourceSet.TEST) {
|
||||||
protobuf()
|
protobuf()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
commonMain{
|
||||||
sourceSets {
|
api(projects.trajectoryKt)
|
||||||
commonMain {
|
api(compose.runtime)
|
||||||
dependencies {
|
api(compose.foundation)
|
||||||
api(projects.trajectoryKt)
|
api(compose.material)
|
||||||
api(compose.runtime)
|
api(compose.ui)
|
||||||
api(compose.foundation)
|
api("io.github.oshai:kotlin-logging:6.0.3")
|
||||||
api(compose.material)
|
|
||||||
api(compose.ui)
|
|
||||||
api("io.github.oshai:kotlin-logging:6.0.3")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,7 +7,7 @@ import androidx.compose.ui.input.pointer.*
|
|||||||
import androidx.compose.ui.unit.DpOffset
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.DpRect
|
import androidx.compose.ui.unit.DpRect
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ public fun <T : Any> FeatureGroup<T>.draggableLine(
|
|||||||
bId.resolve().center,
|
bId.resolve().center,
|
||||||
Attributes<FeatureGroup<T>> {
|
Attributes<FeatureGroup<T>> {
|
||||||
ZAttribute(-10f)
|
ZAttribute(-10f)
|
||||||
lineId?.attributes?.let { from(it) }
|
lineId?.attributes?.let { putAll(it) }
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -53,7 +53,7 @@ public fun <T : Any> FeatureGroup<T>.draggableMultiLine(
|
|||||||
points.map { it.resolve().center },
|
points.map { it.resolve().center },
|
||||||
Attributes<FeatureGroup<T>>{
|
Attributes<FeatureGroup<T>>{
|
||||||
ZAttribute(-10f)
|
ZAttribute(-10f)
|
||||||
polygonId?.attributes?.let { from(it) }
|
polygonId?.attributes?.let { putAll(it) }
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -52,7 +52,7 @@ public fun <T : Any, F : Feature<T>> FeatureRef<T, F>.modifyAttributes(
|
|||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
parent.feature(
|
parent.feature(
|
||||||
id,
|
id,
|
||||||
resolve().withAttributes { modify(modification) } as F
|
resolve().withAttributes { modified(modification) } as F
|
||||||
)
|
)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ import space.kscience.AttributesSerializer
|
|||||||
import space.kscience.NameAttribute
|
import space.kscience.NameAttribute
|
||||||
import space.kscience.SerializableAttribute
|
import space.kscience.SerializableAttribute
|
||||||
import space.kscience.attributes.Attributes
|
import space.kscience.attributes.Attributes
|
||||||
import space.kscience.equals
|
|
||||||
import kotlin.test.Ignore
|
import kotlin.test.Ignore
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
@ -6,19 +6,8 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `center.sciprog:maps-kt-geojson:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:maps-kt-geojson:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'center.sciprog:maps-kt-geojson:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -27,6 +16,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("center.sciprog:maps-kt-geojson:0.2.2")
|
implementation("space.kscience:maps-kt-geojson:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package space.kscience.maps.geojson
|
package space.kscience.maps.geojson
|
||||||
|
|
||||||
import center.sciprog.maps.geojson.GeoJson.Companion.PROPERTIES_KEY
|
|
||||||
import center.sciprog.maps.geojson.GeoJson.Companion.TYPE_KEY
|
|
||||||
import center.sciprog.maps.geojson.GeoJsonFeatureCollection.Companion.FEATURES_KEY
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.json.*
|
import kotlinx.serialization.json.*
|
||||||
|
import space.kscience.maps.geojson.GeoJson.Companion.PROPERTIES_KEY
|
||||||
|
import space.kscience.maps.geojson.GeoJson.Companion.TYPE_KEY
|
||||||
|
import space.kscience.maps.geojson.GeoJsonFeatureCollection.Companion.FEATURES_KEY
|
||||||
import kotlin.jvm.JvmInline
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.maps.geojson
|
package space.kscience.maps.geojson
|
||||||
|
|
||||||
import center.sciprog.maps.geojson.GeoJsonGeometry.Companion.COORDINATES_KEY
|
|
||||||
import kotlinx.serialization.json.*
|
import kotlinx.serialization.json.*
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
import space.kscience.maps.coordinates.meters
|
import space.kscience.maps.coordinates.meters
|
||||||
|
import space.kscience.maps.geojson.GeoJsonGeometry.Companion.COORDINATES_KEY
|
||||||
import kotlin.jvm.JvmInline
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
public sealed interface GeoJsonGeometry : GeoJson {
|
public sealed interface GeoJsonGeometry : GeoJson {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package space.kscience.maps.geojson
|
package space.kscience.maps.geojson
|
||||||
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import kotlinx.serialization.json.contentOrNull
|
import kotlinx.serialization.json.contentOrNull
|
||||||
import kotlinx.serialization.json.intOrNull
|
import kotlinx.serialization.json.intOrNull
|
||||||
import kotlinx.serialization.json.jsonPrimitive
|
import kotlinx.serialization.json.jsonPrimitive
|
||||||
import space.kscience.NameAttribute
|
import space.kscience.NameAttribute
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
|
import space.kscience.maps.features.*
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package space.kscience.maps.geojson
|
package space.kscience.maps.geojson
|
||||||
|
|
||||||
import center.sciprog.maps.features.Feature
|
|
||||||
import center.sciprog.maps.features.FeatureGroup
|
|
||||||
import center.sciprog.maps.features.FeatureRef
|
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlinx.serialization.json.jsonObject
|
import kotlinx.serialization.json.jsonObject
|
||||||
import space.kscience.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
|
import space.kscience.maps.features.Feature
|
||||||
|
import space.kscience.maps.features.FeatureGroup
|
||||||
|
import space.kscience.maps.features.FeatureRef
|
||||||
import java.net.URL
|
import java.net.URL
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package center.sciprog.maps.geotiff
|
package center.sciprog.maps.geotiff
|
||||||
|
|
||||||
import center.sciprog.maps.coordinates.Gmc
|
import space.kscience.maps.coordinates.Gmc
|
||||||
import center.sciprog.maps.features.Feature
|
import space.kscience.maps.features.Feature
|
||||||
import center.sciprog.maps.features.FeatureGroup
|
import space.kscience.maps.features.FeatureGroup
|
||||||
import center.sciprog.maps.features.FeatureRef
|
import space.kscience.maps.features.FeatureRef
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlinx.serialization.json.jsonObject
|
import kotlinx.serialization.json.jsonObject
|
||||||
import org.geotools.gce.geotiff.GeoTiffReader
|
import org.geotools.gce.geotiff.GeoTiffReader
|
||||||
|
@ -6,19 +6,8 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `center.sciprog:maps-kt-scheme:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:maps-kt-scheme:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'center.sciprog:maps-kt-scheme:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -27,6 +16,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("center.sciprog:maps-kt-scheme:0.2.2")
|
implementation("space.kscience:maps-kt-scheme:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("space.kscience.gradle.mpp")
|
id("space.kscience.gradle.mpp")
|
||||||
id("org.jetbrains.compose")
|
alias(spclibs.plugins.compose.compiler)
|
||||||
|
alias(spclibs.plugins.compose.jb)
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8,24 +9,17 @@ kscience{
|
|||||||
jvm()
|
jvm()
|
||||||
// js()
|
// js()
|
||||||
wasm()
|
wasm()
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
commonMain{
|
||||||
sourceSets {
|
api(projects.mapsKtFeatures)
|
||||||
commonMain {
|
}
|
||||||
dependencies {
|
jvmMain{
|
||||||
api(projects.mapsKtFeatures)
|
implementation("org.jfree:org.jfree.svg:5.0.4")
|
||||||
}
|
api(compose.desktop.currentOs)
|
||||||
}
|
|
||||||
getByName("jvmMain"){
|
|
||||||
dependencies {
|
|
||||||
implementation("org.jfree:org.jfree.svg:5.0.4")
|
|
||||||
api(compose.desktop.currentOs)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//java {
|
//java {
|
||||||
// targetCompatibility = JVM_TARGET
|
// targetCompatibility = JVM_TARGET
|
||||||
//}
|
//}
|
@ -4,9 +4,9 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import center.sciprog.maps.compose.canvasControls
|
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import space.kscience.maps.compose.canvasControls
|
||||||
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ package space.kscience.maps.scheme
|
|||||||
|
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.CoordinateSpace
|
|
||||||
import center.sciprog.maps.features.Rectangle
|
|
||||||
import center.sciprog.maps.features.ViewPoint
|
|
||||||
import space.kscience.kmath.geometry.Vector2D
|
import space.kscience.kmath.geometry.Vector2D
|
||||||
|
import space.kscience.maps.features.CoordinateSpace
|
||||||
|
import space.kscience.maps.features.Rectangle
|
||||||
|
import space.kscience.maps.features.ViewPoint
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package space.kscience.maps.scheme
|
package space.kscience.maps.scheme
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.DpOffset
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.DpRect
|
import androidx.compose.ui.unit.DpRect
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
public class XYCanvasState(
|
public class XYCanvasState(
|
||||||
|
@ -3,9 +3,9 @@ package space.kscience.maps.scheme
|
|||||||
import androidx.compose.ui.unit.DpOffset
|
import androidx.compose.ui.unit.DpOffset
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.CoordinateSpace
|
import space.kscience.maps.features.CoordinateSpace
|
||||||
import center.sciprog.maps.features.Rectangle
|
import space.kscience.maps.features.Rectangle
|
||||||
import center.sciprog.maps.features.ViewPoint
|
import space.kscience.maps.features.ViewPoint
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
|
@ -8,9 +8,9 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import space.kscience.attributes.Attributes
|
import space.kscience.attributes.Attributes
|
||||||
import space.kscience.kmath.geometry.Angle
|
import space.kscience.kmath.geometry.Angle
|
||||||
|
import space.kscience.maps.features.*
|
||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
|
|
||||||
internal fun Pair<Number, Number>.toCoordinates(): XY = XY(first.toFloat(), second.toFloat())
|
internal fun Pair<Number, Number>.toCoordinates(): XY = XY(first.toFloat(), second.toFloat())
|
||||||
|
@ -12,10 +12,10 @@ import androidx.compose.ui.graphics.painter.Painter
|
|||||||
import androidx.compose.ui.unit.IntOffset
|
import androidx.compose.ui.unit.IntOffset
|
||||||
import androidx.compose.ui.unit.IntSize
|
import androidx.compose.ui.unit.IntSize
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import center.sciprog.maps.scheme.XY
|
|
||||||
import org.jfree.svg.SVGGraphics2D
|
import org.jfree.svg.SVGGraphics2D
|
||||||
import space.kscience.attributes.Attributes
|
import space.kscience.attributes.Attributes
|
||||||
|
import space.kscience.maps.features.*
|
||||||
|
import space.kscience.maps.scheme.XY
|
||||||
import java.awt.BasicStroke
|
import java.awt.BasicStroke
|
||||||
import java.awt.geom.*
|
import java.awt.geom.*
|
||||||
import java.awt.image.AffineTransformOp
|
import java.awt.image.AffineTransformOp
|
||||||
|
@ -4,11 +4,11 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.graphics.painter.Painter
|
import androidx.compose.ui.graphics.painter.Painter
|
||||||
import androidx.compose.ui.unit.DpSize
|
import androidx.compose.ui.unit.DpSize
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import center.sciprog.maps.features.*
|
|
||||||
import center.sciprog.maps.scheme.XY
|
|
||||||
import center.sciprog.maps.scheme.XYCanvasState
|
|
||||||
import org.jfree.svg.SVGGraphics2D
|
import org.jfree.svg.SVGGraphics2D
|
||||||
import org.jfree.svg.SVGUtils
|
import org.jfree.svg.SVGUtils
|
||||||
|
import space.kscience.maps.features.*
|
||||||
|
import space.kscience.maps.scheme.XY
|
||||||
|
import space.kscience.maps.scheme.XYCanvasState
|
||||||
|
|
||||||
|
|
||||||
public class FeatureStateSnapshot<T : Any>(
|
public class FeatureStateSnapshot<T : Any>(
|
||||||
|
@ -5,8 +5,6 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
|||||||
pluginManagement {
|
pluginManagement {
|
||||||
|
|
||||||
val toolsVersion: String by extra
|
val toolsVersion: String by extra
|
||||||
val composeVersion = extra["compose.version"] as String
|
|
||||||
val agpVersion = extra["agp.version"] as String
|
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
@ -20,13 +18,9 @@ pluginManagement {
|
|||||||
plugins {
|
plugins {
|
||||||
// id("com.android.application").version(extra["agp.version"] as String)
|
// id("com.android.application").version(extra["agp.version"] as String)
|
||||||
// id("com.android.library").version(extra["agp.version"] as String)
|
// id("com.android.library").version(extra["agp.version"] as String)
|
||||||
id("org.jetbrains.compose") version composeVersion
|
|
||||||
id("space.kscience.gradle.project") version toolsVersion
|
id("space.kscience.gradle.project") version toolsVersion
|
||||||
id("space.kscience.gradle.mpp") version toolsVersion
|
id("space.kscience.gradle.mpp") version toolsVersion
|
||||||
id("space.kscience.gradle.jvm") version toolsVersion
|
id("space.kscience.gradle.jvm") version toolsVersion
|
||||||
id("space.kscience.gradle.js") version toolsVersion
|
|
||||||
id("com.android.application") version agpVersion
|
|
||||||
id("com.android.library") version agpVersion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,19 +5,8 @@
|
|||||||
|
|
||||||
## Artifact:
|
## Artifact:
|
||||||
|
|
||||||
The Maven coordinates of this project are `space.kscience:trajectory-kt:0.2.2`.
|
The Maven coordinates of this project are `space.kscience:trajectory-kt:0.3.0`.
|
||||||
|
|
||||||
**Gradle Groovy:**
|
|
||||||
```groovy
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.kotlin.link' }
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'space.kscience:trajectory-kt:0.2.2'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**Gradle Kotlin DSL:**
|
**Gradle Kotlin DSL:**
|
||||||
```kotlin
|
```kotlin
|
||||||
repositories {
|
repositories {
|
||||||
@ -26,7 +15,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("space.kscience:trajectory-kt:0.2.2")
|
implementation("space.kscience:trajectory-kt:0.3.0")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user