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

commonMain.jetbrains.datalore.plot.builder.LayerRendererUtil.kt Maven / Gradle / Ivy

There is a newer version: 4.5.3-alpha1
Show newest version
/*
 * Copyright (c) 2019. JetBrains s.r.o.
 * Use of this source code is governed by the MIT license that can be found in the LICENSE file.
 */

package jetbrains.datalore.plot.builder

import jetbrains.datalore.plot.base.*
import jetbrains.datalore.plot.base.interact.ContextualMapping
import jetbrains.datalore.plot.base.interact.MappedDataAccess

object LayerRendererUtil {

    fun createLayerRendererData(
        layer: GeomLayer,
        xAesMapper: (Double?) -> Double?,
        yAesMapper: (Double?) -> Double?,
    ): LayerRendererData {

        val aestheticMappers = PlotUtil.prepareLayerAestheticMappers(
            layer,
            xAesMapper, yAesMapper
        )
        val aesthetics = PlotUtil.createLayerAesthetics(
            layer,
            aestheticMappers,
        )
        val pos = PlotUtil.createLayerPos(layer, aesthetics)
        return LayerRendererData(
            layer,
            aesthetics,
            aestheticMappers,
            pos
        )
    }

    class LayerRendererData(
        layer: GeomLayer,
        val aesthetics: Aesthetics,
        val aestheticMappers: Map, (Double?) -> Any?>,
        val pos: PositionAdjustment
    ) {
        val geom: Geom = layer.geom
        val geomKind: GeomKind = layer.geomKind
        val dataAccess: MappedDataAccess = layer.dataAccess
        val contextualMapping: ContextualMapping = layer.contextualMapping
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy