forked from kscience/visionforge
Refactor three package. Add MeshLine
This commit is contained in:
parent
98bb935de5
commit
cb25dca34c
@ -3,10 +3,15 @@
|
|||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
### Added
|
### Added
|
||||||
- Context receivers flag
|
- Context receivers flag
|
||||||
|
- MeshLine for thick lines
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Naming of Canvas3D options
|
- Visions **must** be rooted in order to subscribe to updates.
|
||||||
- Lights are added to the scene instead of 3D options
|
- Visions use flows instead of direct subscriptions.
|
||||||
|
- Radical change of inner workings of vision children and properties.
|
||||||
|
- Three package changed to `three`.
|
||||||
|
- Naming of Canvas3D options.
|
||||||
|
- Lights are added to the scene instead of 3D options.
|
||||||
|
|
||||||
### Deprecated
|
### Deprecated
|
||||||
|
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.demo
|
package space.kscience.visionforge.solid.demo
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.geometries.BoxGeometry
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import space.kscience.dataforge.meta.asValue
|
import space.kscience.dataforge.meta.asValue
|
||||||
import space.kscience.dataforge.meta.int
|
import space.kscience.dataforge.meta.int
|
||||||
import space.kscience.dataforge.meta.number
|
import space.kscience.dataforge.meta.number
|
||||||
@ -13,6 +10,9 @@ import space.kscience.visionforge.setChild
|
|||||||
import space.kscience.visionforge.solid.SolidGroup
|
import space.kscience.visionforge.solid.SolidGroup
|
||||||
import space.kscience.visionforge.solid.layer
|
import space.kscience.visionforge.solid.layer
|
||||||
import space.kscience.visionforge.solid.three.*
|
import space.kscience.visionforge.solid.three.*
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.geometries.BoxGeometry
|
||||||
|
import three.objects.Mesh
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
internal fun SolidGroup.varBox(
|
internal fun SolidGroup.varBox(
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package space.kscience.visionforge.react
|
package space.kscience.visionforge.react
|
||||||
|
|
||||||
import info.laht.threekt.math.Color
|
|
||||||
import kotlinx.css.margin
|
import kotlinx.css.margin
|
||||||
import kotlinx.css.pct
|
import kotlinx.css.pct
|
||||||
import kotlinx.css.px
|
import kotlinx.css.px
|
||||||
@ -25,6 +24,7 @@ import space.kscience.visionforge.widgetType
|
|||||||
import styled.css
|
import styled.css
|
||||||
import styled.styledInput
|
import styled.styledInput
|
||||||
import styled.styledSelect
|
import styled.styledSelect
|
||||||
|
import three.math.Color
|
||||||
|
|
||||||
public external interface ValueChooserProps : Props {
|
public external interface ValueChooserProps : Props {
|
||||||
public var descriptor: MetaDescriptor?
|
public var descriptor: MetaDescriptor?
|
||||||
|
@ -10,7 +10,11 @@ import space.kscience.visionforge.*
|
|||||||
public class PolyLine(public val points: List<Point3D>) : SolidBase<PolyLine>() {
|
public class PolyLine(public val points: List<Point3D>) : SolidBase<PolyLine>() {
|
||||||
|
|
||||||
//var lineType by string()
|
//var lineType by string()
|
||||||
public var thickness: Number by properties.getProperty(SolidMaterial.MATERIAL_KEY).number { 1.0 }
|
public var thickness: Number by properties.root(inherit = false, includeStyles = true).number { DEFAULT_THICKNESS }
|
||||||
|
|
||||||
|
public companion object {
|
||||||
|
public const val DEFAULT_THICKNESS: Double = 1.0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisionBuilder
|
@VisionBuilder
|
||||||
|
@ -12,4 +12,5 @@ dependencies {
|
|||||||
api(project(":visionforge-solid"))
|
api(project(":visionforge-solid"))
|
||||||
implementation(npm("three", "0.143.0"))
|
implementation(npm("three", "0.143.0"))
|
||||||
implementation(npm("three-csg-ts", "3.1.10"))
|
implementation(npm("three-csg-ts", "3.1.10"))
|
||||||
|
implementation(npm("three.meshline","1.4.0"))
|
||||||
}
|
}
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
@file:JsModule("three")
|
|
||||||
@file:JsNonModule
|
|
||||||
|
|
||||||
package info.laht.threekt.extras.core
|
|
||||||
|
|
||||||
import info.laht.threekt.math.Vector2
|
|
||||||
|
|
||||||
external class Shape(points: Array<Vector2>) : Path
|
|
@ -1,6 +0,0 @@
|
|||||||
@file:JsModule("three")
|
|
||||||
@file:JsNonModule
|
|
||||||
|
|
||||||
package info.laht.threekt.extras.core
|
|
||||||
|
|
||||||
external class ShapePath
|
|
@ -1,8 +0,0 @@
|
|||||||
@file:JsModule("three")
|
|
||||||
@file:JsNonModule
|
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
|
|
||||||
public external class EdgesGeometry(geometry: BufferGeometry, thresholdAngle: Int = definedExternally) : BufferGeometry
|
|
@ -1,9 +0,0 @@
|
|||||||
@file:Suppress("FunctionName")
|
|
||||||
|
|
||||||
package info.laht.threekt
|
|
||||||
|
|
||||||
import info.laht.threekt.renderers.WebGLRenderer
|
|
||||||
import info.laht.threekt.renderers.WebGLRendererParams
|
|
||||||
|
|
||||||
fun WebGLRenderer(builder: WebGLRendererParams.() -> Unit): WebGLRenderer =
|
|
||||||
WebGLRenderer(WebGLRendererParams().apply(builder))
|
|
@ -1,8 +1,8 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.lights.AmbientLight
|
|
||||||
import info.laht.threekt.math.Color
|
|
||||||
import space.kscience.visionforge.solid.AmbientLightSource
|
import space.kscience.visionforge.solid.AmbientLightSource
|
||||||
|
import three.lights.AmbientLight
|
||||||
|
import three.math.Color
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
public object ThreeAmbientLightFactory : ThreeFactory<AmbientLightSource> {
|
public object ThreeAmbientLightFactory : ThreeFactory<AmbientLightSource> {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.geometries.BoxGeometry
|
|
||||||
import space.kscience.visionforge.solid.Box
|
import space.kscience.visionforge.solid.Box
|
||||||
import space.kscience.visionforge.solid.detail
|
import space.kscience.visionforge.solid.detail
|
||||||
|
import three.geometries.BoxGeometry
|
||||||
|
|
||||||
public object ThreeBoxFactory : ThreeMeshFactory<Box>(Box::class) {
|
public object ThreeBoxFactory : ThreeMeshFactory<Box>(Box::class) {
|
||||||
override fun buildGeometry(obj: Box): BoxGeometry =
|
override fun buildGeometry(obj: Box): BoxGeometry =
|
||||||
|
@ -1,18 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.WebGLRenderer
|
|
||||||
import info.laht.threekt.cameras.PerspectiveCamera
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.core.Raycaster
|
|
||||||
import info.laht.threekt.external.controls.OrbitControls
|
|
||||||
import info.laht.threekt.external.controls.TrackballControls
|
|
||||||
import info.laht.threekt.geometries.EdgesGeometry
|
|
||||||
import info.laht.threekt.helpers.AxesHelper
|
|
||||||
import info.laht.threekt.materials.LineBasicMaterial
|
|
||||||
import info.laht.threekt.math.*
|
|
||||||
import info.laht.threekt.objects.LineSegments
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import info.laht.threekt.scenes.Scene
|
|
||||||
import kotlinx.browser.window
|
import kotlinx.browser.window
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
import org.w3c.dom.HTMLCanvasElement
|
import org.w3c.dom.HTMLCanvasElement
|
||||||
@ -25,8 +12,19 @@ import space.kscience.dataforge.names.*
|
|||||||
import space.kscience.visionforge.Colors
|
import space.kscience.visionforge.Colors
|
||||||
import space.kscience.visionforge.solid.Solid
|
import space.kscience.visionforge.solid.Solid
|
||||||
import space.kscience.visionforge.solid.specifications.*
|
import space.kscience.visionforge.solid.specifications.*
|
||||||
import space.kscience.visionforge.solid.three.ThreeMaterials.HIGHLIGHT_MATERIAL
|
import three.WebGLRenderer
|
||||||
import space.kscience.visionforge.solid.three.ThreeMaterials.SELECTED_MATERIAL
|
import three.cameras.PerspectiveCamera
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.core.Raycaster
|
||||||
|
import three.external.controls.OrbitControls
|
||||||
|
import three.external.controls.TrackballControls
|
||||||
|
import three.geometries.EdgesGeometry
|
||||||
|
import three.helpers.AxesHelper
|
||||||
|
import three.math.*
|
||||||
|
import three.meshline.MeshLine
|
||||||
|
import three.meshline.MeshLineMaterial
|
||||||
|
import three.objects.Mesh
|
||||||
|
import three.scenes.Scene
|
||||||
import kotlin.math.cos
|
import kotlin.math.cos
|
||||||
import kotlin.math.sin
|
import kotlin.math.sin
|
||||||
|
|
||||||
@ -278,7 +276,7 @@ public class ThreeCanvas(
|
|||||||
private fun Object3D.toggleHighlight(
|
private fun Object3D.toggleHighlight(
|
||||||
highlight: Boolean,
|
highlight: Boolean,
|
||||||
edgesName: String,
|
edgesName: String,
|
||||||
material: LineBasicMaterial = SELECTED_MATERIAL,
|
material: MeshLineMaterial,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
if (userData[DO_NOT_HIGHLIGHT_TAG] == true) {
|
if (userData[DO_NOT_HIGHLIGHT_TAG] == true) {
|
||||||
@ -286,8 +284,8 @@ public class ThreeCanvas(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isMesh(this)) {
|
if (isMesh(this)) {
|
||||||
val highlightMesh = getObjectByName(edgesName) ?: LineSegments(
|
val highlightMesh = getObjectByName(edgesName) ?: Mesh(
|
||||||
EdgesGeometry(geometry),
|
MeshLine(EdgesGeometry(geometry)),
|
||||||
material
|
material
|
||||||
).also {
|
).also {
|
||||||
it.name = edgesName
|
it.name = edgesName
|
||||||
@ -319,6 +317,19 @@ public class ThreeCanvas(
|
|||||||
}
|
}
|
||||||
|
|
||||||
public companion object {
|
public companion object {
|
||||||
|
public val SELECTED_MATERIAL: MeshLineMaterial = MeshLineMaterial().apply {
|
||||||
|
color.set(Colors.ivory)
|
||||||
|
linewidth = 2.0
|
||||||
|
cached = true
|
||||||
|
}
|
||||||
|
|
||||||
|
public val HIGHLIGHT_MATERIAL: MeshLineMaterial = MeshLineMaterial().apply {
|
||||||
|
color.set(Colors.blue)
|
||||||
|
linewidth = 2.0
|
||||||
|
cached = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public const val DO_NOT_HIGHLIGHT_TAG: String = "doNotHighlight"
|
public const val DO_NOT_HIGHLIGHT_TAG: String = "doNotHighlight"
|
||||||
private const val HIGHLIGHT_NAME = "@highlight"
|
private const val HIGHLIGHT_NAME = "@highlight"
|
||||||
private const val SELECT_NAME = "@select"
|
private const val SELECT_NAME = "@select"
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.DoubleSide
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.geometries.PlaneGeometry
|
|
||||||
import info.laht.threekt.materials.MeshBasicMaterial
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import info.laht.threekt.textures.Texture
|
|
||||||
import kotlinx.browser.document
|
import kotlinx.browser.document
|
||||||
import org.w3c.dom.CanvasRenderingContext2D
|
import org.w3c.dom.CanvasRenderingContext2D
|
||||||
import org.w3c.dom.CanvasTextBaseline
|
import org.w3c.dom.CanvasTextBaseline
|
||||||
@ -14,6 +8,12 @@ import org.w3c.dom.MIDDLE
|
|||||||
import space.kscience.visionforge.solid.SolidLabel
|
import space.kscience.visionforge.solid.SolidLabel
|
||||||
import space.kscience.visionforge.solid.SolidMaterial
|
import space.kscience.visionforge.solid.SolidMaterial
|
||||||
import space.kscience.visionforge.solid.three.ThreeCanvas.Companion.DO_NOT_HIGHLIGHT_TAG
|
import space.kscience.visionforge.solid.three.ThreeCanvas.Companion.DO_NOT_HIGHLIGHT_TAG
|
||||||
|
import three.DoubleSide
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.geometries.PlaneGeometry
|
||||||
|
import three.materials.MeshBasicMaterial
|
||||||
|
import three.objects.Mesh
|
||||||
|
import three.textures.Texture
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import CSG
|
import CSG
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import space.kscience.dataforge.names.startsWith
|
import space.kscience.dataforge.names.startsWith
|
||||||
import space.kscience.visionforge.onPropertyChange
|
import space.kscience.visionforge.onPropertyChange
|
||||||
import space.kscience.visionforge.solid.Composite
|
import space.kscience.visionforge.solid.Composite
|
||||||
import space.kscience.visionforge.solid.CompositeType
|
import space.kscience.visionforge.solid.CompositeType
|
||||||
|
import three.objects.Mesh
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.geometries.CylinderGeometry
|
|
||||||
import space.kscience.visionforge.solid.ConeSegment
|
import space.kscience.visionforge.solid.ConeSegment
|
||||||
import space.kscience.visionforge.solid.detail
|
import space.kscience.visionforge.solid.detail
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.geometries.CylinderGeometry
|
||||||
import kotlin.math.PI
|
import kotlin.math.PI
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.external.geometries.ConvexBufferGeometry
|
|
||||||
import space.kscience.visionforge.solid.Convex
|
import space.kscience.visionforge.solid.Convex
|
||||||
|
import three.external.geometries.ConvexBufferGeometry
|
||||||
|
|
||||||
public object ThreeConvexFactory : ThreeMeshFactory<Convex>(Convex::class) {
|
public object ThreeConvexFactory : ThreeMeshFactory<Convex>(Convex::class) {
|
||||||
override fun buildGeometry(obj: Convex): ConvexBufferGeometry {
|
override fun buildGeometry(obj: Convex): ConvexBufferGeometry {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.math.Euler
|
|
||||||
import space.kscience.dataforge.misc.Type
|
import space.kscience.dataforge.misc.Type
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.startsWith
|
import space.kscience.dataforge.names.startsWith
|
||||||
@ -11,6 +8,9 @@ import space.kscience.visionforge.solid.*
|
|||||||
import space.kscience.visionforge.solid.SolidMaterial.Companion.MATERIAL_KEY
|
import space.kscience.visionforge.solid.SolidMaterial.Companion.MATERIAL_KEY
|
||||||
import space.kscience.visionforge.solid.three.ThreeFactory.Companion.TYPE
|
import space.kscience.visionforge.solid.three.ThreeFactory.Companion.TYPE
|
||||||
import space.kscience.visionforge.visible
|
import space.kscience.visionforge.visible
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.math.Euler
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.core.Float32BufferAttribute
|
import three.core.Float32BufferAttribute
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.visionforge.solid.GeometryBuilder
|
import space.kscience.visionforge.solid.GeometryBuilder
|
||||||
import space.kscience.visionforge.solid.Point3D
|
import space.kscience.visionforge.solid.Point3D
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
import space.kscience.visionforge.solid.SolidBase
|
import space.kscience.visionforge.solid.SolidBase
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
import info.laht.threekt.geometries.TextBufferGeometry
|
import three.geometries.TextBufferGeometry
|
||||||
import info.laht.threekt.objects.Mesh
|
import three.objects.Mesh
|
||||||
import kotlinx.js.jso
|
import kotlinx.js.jso
|
||||||
import space.kscience.dataforge.context.logger
|
import space.kscience.dataforge.context.logger
|
||||||
import space.kscience.dataforge.context.warn
|
import space.kscience.dataforge.context.warn
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
import info.laht.threekt.math.Color
|
import three.math.Color
|
||||||
import info.laht.threekt.objects.LineSegments
|
import three.objects.LineSegments
|
||||||
import space.kscience.visionforge.onPropertyChange
|
import space.kscience.visionforge.onPropertyChange
|
||||||
import space.kscience.visionforge.solid.PolyLine
|
import space.kscience.visionforge.solid.PolyLine
|
||||||
import space.kscience.visionforge.solid.SolidMaterial
|
import space.kscience.visionforge.solid.SolidMaterial
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.materials.LineBasicMaterial
|
|
||||||
import info.laht.threekt.materials.Material
|
|
||||||
import info.laht.threekt.materials.MeshBasicMaterial
|
|
||||||
import info.laht.threekt.materials.MeshStandardMaterial
|
|
||||||
import info.laht.threekt.math.Color
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import space.kscience.dataforge.meta.*
|
import space.kscience.dataforge.meta.*
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
@ -16,6 +10,12 @@ import space.kscience.visionforge.getStyleNodes
|
|||||||
import space.kscience.visionforge.solid.ColorAccessor
|
import space.kscience.visionforge.solid.ColorAccessor
|
||||||
import space.kscience.visionforge.solid.SolidMaterial
|
import space.kscience.visionforge.solid.SolidMaterial
|
||||||
import space.kscience.visionforge.solid.SolidReference
|
import space.kscience.visionforge.solid.SolidReference
|
||||||
|
import three.materials.LineBasicMaterial
|
||||||
|
import three.materials.Material
|
||||||
|
import three.materials.MeshBasicMaterial
|
||||||
|
import three.materials.MeshStandardMaterial
|
||||||
|
import three.math.Color
|
||||||
|
import three.objects.Mesh
|
||||||
|
|
||||||
|
|
||||||
public object ThreeMaterials {
|
public object ThreeMaterials {
|
||||||
@ -37,18 +37,6 @@ public object ThreeMaterials {
|
|||||||
cached = true
|
cached = true
|
||||||
}
|
}
|
||||||
|
|
||||||
public val SELECTED_MATERIAL: LineBasicMaterial = LineBasicMaterial().apply {
|
|
||||||
color.set(Colors.ivory)
|
|
||||||
linewidth = 2.0
|
|
||||||
cached = true
|
|
||||||
}
|
|
||||||
|
|
||||||
public val HIGHLIGHT_MATERIAL: LineBasicMaterial = LineBasicMaterial().apply {
|
|
||||||
color.set(Colors.blue)
|
|
||||||
linewidth = 2.0
|
|
||||||
cached = true
|
|
||||||
}
|
|
||||||
|
|
||||||
private val lineMaterialCache = HashMap<Int, LineBasicMaterial>()
|
private val lineMaterialCache = HashMap<Int, LineBasicMaterial>()
|
||||||
|
|
||||||
private fun buildLineMaterial(meta: Meta): LineBasicMaterial = LineBasicMaterial().apply {
|
private fun buildLineMaterial(meta: Meta): LineBasicMaterial = LineBasicMaterial().apply {
|
||||||
@ -124,7 +112,7 @@ public fun ColorAccessor.threeColor(): Color? {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var Material.cached: Boolean
|
internal var Material.cached: Boolean
|
||||||
get() = userData["cached"] == true
|
get() = userData["cached"] == true
|
||||||
set(value) {
|
set(value) {
|
||||||
userData["cached"] = value
|
userData["cached"] = value
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.geometries.EdgesGeometry
|
|
||||||
import info.laht.threekt.objects.LineSegments
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import space.kscience.dataforge.meta.boolean
|
import space.kscience.dataforge.meta.boolean
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
@ -18,6 +14,10 @@ import space.kscience.visionforge.solid.layer
|
|||||||
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_ENABLED_KEY
|
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_ENABLED_KEY
|
||||||
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_MATERIAL_KEY
|
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_MATERIAL_KEY
|
||||||
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_OBJECT_NAME
|
import space.kscience.visionforge.solid.three.ThreeMeshFactory.Companion.EDGES_OBJECT_NAME
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.geometries.EdgesGeometry
|
||||||
|
import three.objects.LineSegments
|
||||||
|
import three.objects.Mesh
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
|
import space.kscience.visionforge.onPropertyChange
|
||||||
|
import space.kscience.visionforge.solid.PolyLine
|
||||||
|
import space.kscience.visionforge.solid.color
|
||||||
|
import space.kscience.visionforge.solid.string
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.math.Color
|
||||||
|
import three.meshline.MeshLine
|
||||||
|
import three.meshline.MeshLineMaterial
|
||||||
|
import three.objects.Mesh
|
||||||
|
import kotlin.math.ceil
|
||||||
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
public object ThreeMeshLineFactory : ThreeFactory<PolyLine> {
|
||||||
|
override val type: KClass<in PolyLine> get() = PolyLine::class
|
||||||
|
|
||||||
|
override fun build(three: ThreePlugin, vision: PolyLine, observe: Boolean): Object3D {
|
||||||
|
val geometry = MeshLine(
|
||||||
|
Array((vision.points.size - 1) * 2) {
|
||||||
|
vision.points[ceil(it / 2.0).toInt()].toVector()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
val material = MeshLineMaterial().apply {
|
||||||
|
thickness = vision.thickness.toFloat()
|
||||||
|
color = vision.color.string?.let { Color(it) } ?: ThreeMaterials.DEFAULT_LINE_COLOR
|
||||||
|
}
|
||||||
|
|
||||||
|
return Mesh(geometry, material).apply {
|
||||||
|
updatePosition(vision)
|
||||||
|
//layers.enable(obj.layer)
|
||||||
|
//add listener to object properties
|
||||||
|
if (observe) {
|
||||||
|
vision.onPropertyChange(three.context) { propertyName ->
|
||||||
|
updateProperty(vision, propertyName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
@ -15,9 +14,10 @@ import space.kscience.visionforge.VisionChildren
|
|||||||
import space.kscience.visionforge.solid.*
|
import space.kscience.visionforge.solid.*
|
||||||
import space.kscience.visionforge.solid.specifications.Canvas3DOptions
|
import space.kscience.visionforge.solid.specifications.Canvas3DOptions
|
||||||
import space.kscience.visionforge.visible
|
import space.kscience.visionforge.visible
|
||||||
|
import three.core.Object3D
|
||||||
import kotlin.collections.set
|
import kotlin.collections.set
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import info.laht.threekt.objects.Group as ThreeGroup
|
import three.objects.Group as ThreeGroup
|
||||||
|
|
||||||
public class ThreePlugin : AbstractPlugin(), ElementVisionRenderer {
|
public class ThreePlugin : AbstractPlugin(), ElementVisionRenderer {
|
||||||
override val tag: PluginTag get() = Companion.tag
|
override val tag: PluginTag get() = Companion.tag
|
||||||
@ -35,7 +35,7 @@ public class ThreePlugin : AbstractPlugin(), ElementVisionRenderer {
|
|||||||
objectFactories[Convex::class] = ThreeConvexFactory
|
objectFactories[Convex::class] = ThreeConvexFactory
|
||||||
objectFactories[Sphere::class] = ThreeSphereFactory
|
objectFactories[Sphere::class] = ThreeSphereFactory
|
||||||
objectFactories[ConeSegment::class] = ThreeConeFactory
|
objectFactories[ConeSegment::class] = ThreeConeFactory
|
||||||
objectFactories[PolyLine::class] = ThreeLineFactory
|
objectFactories[PolyLine::class] = ThreeSmartLineFactory
|
||||||
objectFactories[SolidLabel::class] = ThreeCanvasLabelFactory
|
objectFactories[SolidLabel::class] = ThreeCanvasLabelFactory
|
||||||
objectFactories[AmbientLightSource::class] = ThreeAmbientLightFactory
|
objectFactories[AmbientLightSource::class] = ThreeAmbientLightFactory
|
||||||
objectFactories[PointLightSource::class] = ThreePointLightFactory
|
objectFactories[PointLightSource::class] = ThreePointLightFactory
|
||||||
@ -182,7 +182,7 @@ internal fun Object3D.getOrCreateGroup(name: Name): Object3D {
|
|||||||
name.isEmpty() -> this
|
name.isEmpty() -> this
|
||||||
name.length == 1 -> {
|
name.length == 1 -> {
|
||||||
val token = name.tokens.first()
|
val token = name.tokens.first()
|
||||||
children.find { it.name == token.toString() } ?: info.laht.threekt.objects.Group().also { group ->
|
children.find { it.name == token.toString() } ?: ThreeGroup().also { group ->
|
||||||
group.name = token.toString()
|
group.name = token.toString()
|
||||||
this.add(group)
|
this.add(group)
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.lights.PointLight
|
|
||||||
import info.laht.threekt.math.Color
|
|
||||||
import space.kscience.dataforge.names.asName
|
import space.kscience.dataforge.names.asName
|
||||||
import space.kscience.visionforge.onPropertyChange
|
import space.kscience.visionforge.onPropertyChange
|
||||||
import space.kscience.visionforge.solid.LightSource
|
import space.kscience.visionforge.solid.LightSource
|
||||||
import space.kscience.visionforge.solid.PointLightSource
|
import space.kscience.visionforge.solid.PointLightSource
|
||||||
|
import three.lights.PointLight
|
||||||
|
import three.math.Color
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
public object ThreePointLightFactory : ThreeFactory<PointLightSource> {
|
public object ThreePointLightFactory : ThreeFactory<PointLightSource> {
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import space.kscience.dataforge.names.Name
|
import space.kscience.dataforge.names.Name
|
||||||
import space.kscience.dataforge.names.cutFirst
|
import space.kscience.dataforge.names.cutFirst
|
||||||
import space.kscience.dataforge.names.firstOrNull
|
import space.kscience.dataforge.names.firstOrNull
|
||||||
@ -9,6 +7,8 @@ import space.kscience.visionforge.onPropertyChange
|
|||||||
import space.kscience.visionforge.solid.Solid
|
import space.kscience.visionforge.solid.Solid
|
||||||
import space.kscience.visionforge.solid.SolidReference
|
import space.kscience.visionforge.solid.SolidReference
|
||||||
import space.kscience.visionforge.solid.SolidReference.Companion.REFERENCE_CHILD_PROPERTY_PREFIX
|
import space.kscience.visionforge.solid.SolidReference.Companion.REFERENCE_CHILD_PROPERTY_PREFIX
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.objects.Mesh
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
public object ThreeReferenceFactory : ThreeFactory<SolidReference> {
|
public object ThreeReferenceFactory : ThreeFactory<SolidReference> {
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
|
import space.kscience.visionforge.solid.PolyLine
|
||||||
|
import three.core.Object3D
|
||||||
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
public object ThreeSmartLineFactory : ThreeFactory<PolyLine> {
|
||||||
|
override val type: KClass<in PolyLine> get() = PolyLine::class
|
||||||
|
|
||||||
|
override fun build(three: ThreePlugin, vision: PolyLine, observe: Boolean): Object3D {
|
||||||
|
return if (vision.thickness == 1.0) {
|
||||||
|
ThreeLineFactory.build(three, vision, observe)
|
||||||
|
} else {
|
||||||
|
ThreeMeshLineFactory.build(three, vision, observe)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.geometries.SphereGeometry
|
|
||||||
import space.kscience.visionforge.solid.Sphere
|
import space.kscience.visionforge.solid.Sphere
|
||||||
import space.kscience.visionforge.solid.detail
|
import space.kscience.visionforge.solid.detail
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.geometries.SphereGeometry
|
||||||
|
|
||||||
public object ThreeSphereFactory : ThreeMeshFactory<Sphere>(Sphere::class) {
|
public object ThreeSphereFactory : ThreeMeshFactory<Sphere>(Sphere::class) {
|
||||||
override fun buildGeometry(obj: Sphere): BufferGeometry {
|
override fun buildGeometry(obj: Sphere): BufferGeometry {
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
@file:JsModule("three-csg-ts")
|
@file:JsModule("three-csg-ts")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.math.Matrix4
|
import three.math.Matrix4
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
import info.laht.threekt.objects.Mesh
|
import three.objects.Mesh
|
||||||
|
|
||||||
public external class CSG {
|
public external class CSG {
|
||||||
public fun clone(): CSG
|
public fun clone(): CSG
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
package space.kscience.visionforge.solid.three
|
package space.kscience.visionforge.solid.three
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.core.Layers
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.external.controls.OrbitControls
|
|
||||||
import info.laht.threekt.materials.Material
|
|
||||||
import info.laht.threekt.math.Vector3
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import info.laht.threekt.textures.Texture
|
|
||||||
import space.kscience.dataforge.meta.Meta
|
import space.kscience.dataforge.meta.Meta
|
||||||
import space.kscience.dataforge.meta.float
|
import space.kscience.dataforge.meta.float
|
||||||
import space.kscience.dataforge.meta.get
|
import space.kscience.dataforge.meta.get
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.core.Layers
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.external.controls.OrbitControls
|
||||||
|
import three.materials.Material
|
||||||
|
import three.math.Vector3
|
||||||
|
import three.objects.Mesh
|
||||||
|
import three.textures.Texture
|
||||||
import kotlin.contracts.contract
|
import kotlin.contracts.contract
|
||||||
import kotlin.math.PI
|
import kotlin.math.PI
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
@file:Suppress("NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING", "unused")
|
@file:Suppress("NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING", "unused")
|
||||||
|
|
||||||
package info.laht.threekt
|
package three
|
||||||
|
|
||||||
|
|
||||||
external val REVISION: String
|
external val REVISION: String
|
@ -2,9 +2,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.animation
|
package three.animation
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
|
|
||||||
external class AnimationAction(
|
external class AnimationAction(
|
||||||
mixer: AnimationMixer,
|
mixer: AnimationMixer,
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.animation
|
package three.animation
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An AnimationClip is a reusable set of keyframe tracks which represent an animation.
|
* An AnimationClip is a reusable set of keyframe tracks which represent an animation.
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.animation
|
package three.animation
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The AnimationMixer is a player for animations on a particular object in the scene.
|
* The AnimationMixer is a player for animations on a particular object in the scene.
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.animation
|
package three.animation
|
||||||
|
|
||||||
external object AnimationUtils {
|
external object AnimationUtils {
|
||||||
//TODO
|
//TODO
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.animation
|
package three.animation
|
||||||
|
|
||||||
import org.khronos.webgl.Float32Array
|
import org.khronos.webgl.Float32Array
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.audio
|
package three.audio
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a non-positional ( global ) audio object.
|
* Create a non-positional ( global ) audio object.
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.audio
|
package three.audio
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This contains methods for setting up an AudioContext.
|
* This contains methods for setting up an AudioContext.
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.audio
|
package three.audio
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a non-positional ( global ) audio object.
|
* Create a non-positional ( global ) audio object.
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.audio
|
package three.audio
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a positional audio object.
|
* Create a positional audio object.
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.cameras
|
package three.cameras
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
import info.laht.threekt.math.Matrix4
|
import three.math.Matrix4
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external interface View {
|
external interface View {
|
||||||
var enabled: Boolean
|
var enabled: Boolean
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.cameras
|
package three.cameras
|
||||||
|
|
||||||
external class OrthographicCamera(
|
external class OrthographicCamera(
|
||||||
varleft: Int,
|
varleft: Int,
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.cameras
|
package three.cameras
|
||||||
|
|
||||||
|
|
||||||
external class PerspectiveCamera(fov: Int, aspect: Double, near: Number, far: Number) : Camera {
|
external class PerspectiveCamera(fov: Int, aspect: Double, near: Number, far: Number) : Camera {
|
@ -25,12 +25,12 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
import info.laht.threekt.math.Color
|
import three.math.Color
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
import info.laht.threekt.math.Vector4
|
import three.math.Vector4
|
||||||
|
|
||||||
abstract external class BufferAttribute protected constructor(
|
abstract external class BufferAttribute protected constructor(
|
||||||
array: dynamic,
|
array: dynamic,
|
@ -25,12 +25,12 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
import info.laht.threekt.math.Box3
|
import three.math.Box3
|
||||||
import info.laht.threekt.math.Matrix4
|
import three.math.Matrix4
|
||||||
import info.laht.threekt.math.Sphere
|
import three.math.Sphere
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is an efficient alternative to Geometry, because it stores all data, including vertex positions,
|
* This class is an efficient alternative to Geometry, because it stores all data, including vertex positions,
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object for keeping track of time.
|
* Object for keeping track of time.
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
external open class EventDispatcher {
|
external open class EventDispatcher {
|
||||||
|
|
@ -25,10 +25,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
import info.laht.threekt.math.Color
|
import three.math.Color
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external class Face3 {
|
external class Face3 {
|
||||||
|
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
external class InstancedBufferGeometry : BufferGeometry {
|
external class InstancedBufferGeometry : BufferGeometry {
|
||||||
|
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Layers object assigns an Object3D to 1 or more of 32 layers numbered 0 to 31 - internally the
|
* A Layers object assigns an Object3D to 1 or more of 32 layers numbered 0 to 31 - internally the
|
@ -26,9 +26,9 @@
|
|||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
import info.laht.threekt.math.*
|
import three.math.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the base class for most objects in three.js and provides a set of properties and methods for manipulating objects in 3D space.
|
* This is the base class for most objects in three.js and provides a set of properties and methods for manipulating objects in 3D space.
|
@ -25,12 +25,12 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
import info.laht.threekt.cameras.Camera
|
import three.cameras.Camera
|
||||||
import info.laht.threekt.math.Ray
|
import three.math.Ray
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external interface Params {
|
external interface Params {
|
||||||
var Mesh: dynamic
|
var Mesh: dynamic
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.core
|
package three.core
|
||||||
|
|
||||||
external class Uniform {
|
external class Uniform {
|
||||||
|
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external
|
package three.external
|
||||||
|
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
|
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external
|
package three.external
|
||||||
|
|
||||||
external object ImprovedNoise {
|
external object ImprovedNoise {
|
||||||
|
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external
|
package three.external
|
||||||
|
|
||||||
external object SimplexNoise {
|
external object SimplexNoise {
|
||||||
|
|
@ -25,10 +25,10 @@
|
|||||||
@file:JsModule("three/examples/jsm/controls/FlyControls.js")
|
@file:JsModule("three/examples/jsm/controls/FlyControls.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.controls
|
package three.external.controls
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
import three.core.Object3D
|
||||||
|
|
||||||
external class FlyControls(`object`: Object3D, domElement: Node = definedExternally) {
|
external class FlyControls(`object`: Object3D, domElement: Node = definedExternally) {
|
||||||
|
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three/examples/jsm/controls/OrbitControls.js")
|
@file:JsModule("three/examples/jsm/controls/OrbitControls.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.controls
|
package three.external.controls
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.math.Vector3
|
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.math.Vector3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This set of controls performs orbiting, dollying (zooming), and panning.
|
* This set of controls performs orbiting, dollying (zooming), and panning.
|
@ -9,13 +9,13 @@
|
|||||||
@file:JsModule("three/examples/jsm/controls/TrackballControls.js")
|
@file:JsModule("three/examples/jsm/controls/TrackballControls.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.controls
|
package three.external.controls
|
||||||
|
|
||||||
import info.laht.threekt.cameras.Camera
|
|
||||||
import info.laht.threekt.core.EventDispatcher
|
|
||||||
import info.laht.threekt.math.Vector3
|
|
||||||
import org.w3c.dom.HTMLElement
|
import org.w3c.dom.HTMLElement
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
import three.cameras.Camera
|
||||||
|
import three.core.EventDispatcher
|
||||||
|
import three.math.Vector3
|
||||||
|
|
||||||
external interface `T$0` {
|
external interface `T$0` {
|
||||||
var left: Number
|
var left: Number
|
@ -25,10 +25,10 @@
|
|||||||
@file:JsModule("three/examples/jsm/controls/TransformControls.js")
|
@file:JsModule("three/examples/jsm/controls/TransformControls.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.controls
|
package three.external.controls
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
import three.core.Object3D
|
||||||
|
|
||||||
external class TransformControls(`object`: Object3D, domElement: Node = definedExternally) : Object3D {
|
external class TransformControls(`object`: Object3D, domElement: Node = definedExternally) : Object3D {
|
||||||
|
|
@ -25,9 +25,9 @@
|
|||||||
@file:JsModule("three/examples/jsm/exporters/OBJExporter.js")
|
@file:JsModule("three/examples/jsm/exporters/OBJExporter.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.exporters
|
package three.external.exporters
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
|
|
||||||
external class OBJExporter {
|
external class OBJExporter {
|
||||||
|
|
@ -25,10 +25,10 @@
|
|||||||
@file:JsModule("three/examples/jsm/exporters/STLExporter.js")
|
@file:JsModule("three/examples/jsm/exporters/STLExporter.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.exporters
|
package three.external.exporters
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import org.khronos.webgl.DataView
|
import org.khronos.webgl.DataView
|
||||||
|
import three.core.Object3D
|
||||||
|
|
||||||
external class STLExporter {
|
external class STLExporter {
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three/examples/jsm/geometries/ConvexGeometry.js")
|
@file:JsModule("three/examples/jsm/geometries/ConvexGeometry.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.geometries
|
package three.external.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external class ConvexGeometry(points: Array<Vector3>) : BufferGeometry
|
external class ConvexGeometry(points: Array<Vector3>) : BufferGeometry
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package info.laht.threekt.external.libs
|
package three.external.libs
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param name The name of this GUI
|
* @param name The name of this GUI
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three/examples/jsm/libs/stats.module.js")
|
@file:JsModule("three/examples/jsm/libs/stats.module.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.libs
|
package three.external.libs
|
||||||
|
|
||||||
import org.w3c.dom.Node
|
import org.w3c.dom.Node
|
||||||
|
|
@ -24,7 +24,7 @@
|
|||||||
@file:JsModule("three/examples/jsm/libs/dat.gui.module.js")
|
@file:JsModule("three/examples/jsm/libs/dat.gui.module.js")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.libs
|
package three.external.libs
|
||||||
|
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
|
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.loaders.LoadingManager
|
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.loaders.LoadingManager
|
||||||
|
|
||||||
external class BabylonLoader(
|
external class BabylonLoader(
|
||||||
manager: LoadingManager = definedExternally
|
manager: LoadingManager = definedExternally
|
@ -1,14 +1,14 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.animation.AnimationClip
|
|
||||||
import info.laht.threekt.cameras.Camera
|
|
||||||
import info.laht.threekt.loaders.LoadingManager
|
|
||||||
import info.laht.threekt.scenes.Scene
|
|
||||||
import org.khronos.webgl.ArrayBuffer
|
import org.khronos.webgl.ArrayBuffer
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.animation.AnimationClip
|
||||||
|
import three.cameras.Camera
|
||||||
|
import three.loaders.LoadingManager
|
||||||
|
import three.scenes.Scene
|
||||||
|
|
||||||
external interface GLTFOnLoadCallback {
|
external interface GLTFOnLoadCallback {
|
||||||
val animations: Array<AnimationClip>
|
val animations: Array<AnimationClip>
|
@ -25,7 +25,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
external object LoaderSupport {
|
external object LoaderSupport {
|
||||||
|
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.loaders.LoadingManager
|
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.loaders.LoadingManager
|
||||||
|
|
||||||
external class MTLLoader(
|
external class MTLLoader(
|
||||||
loadingManager: LoadingManager = definedExternally
|
loadingManager: LoadingManager = definedExternally
|
@ -25,12 +25,12 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import info.laht.threekt.loaders.LoadingManager
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.core.Object3D
|
||||||
|
import three.loaders.LoadingManager
|
||||||
|
import three.objects.Mesh
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A loader for loading a .obj resource.
|
* A loader for loading a .obj resource.
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.loaders.LoadingManager
|
|
||||||
import info.laht.threekt.objects.Mesh
|
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.loaders.LoadingManager
|
||||||
|
import three.objects.Mesh
|
||||||
|
|
||||||
external interface Detail {
|
external interface Detail {
|
||||||
var loaderRootNode: Mesh
|
var loaderRootNode: Mesh
|
@ -25,11 +25,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.loaders
|
package three.external.loaders
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
|
||||||
import info.laht.threekt.core.Object3D
|
|
||||||
import org.w3c.xhr.XMLHttpRequest
|
import org.w3c.xhr.XMLHttpRequest
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
import three.core.Object3D
|
||||||
|
|
||||||
external class STLLoader {
|
external class STLLoader {
|
||||||
|
|
@ -25,8 +25,8 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.objects
|
package three.external.objects
|
||||||
|
|
||||||
import info.laht.threekt.objects.Mesh
|
import three.objects.Mesh
|
||||||
|
|
||||||
external class Sky : Mesh
|
external class Sky : Mesh
|
@ -25,8 +25,8 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.external.objects
|
package three.external.objects
|
||||||
|
|
||||||
import info.laht.threekt.objects.Mesh
|
import three.objects.Mesh
|
||||||
|
|
||||||
external class Water(width: Int, height: Int, options: WaterOptions = definedExternally) : Mesh
|
external class Water(width: Int, height: Int, options: WaterOptions = definedExternally) : Mesh
|
@ -22,10 +22,10 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package info.laht.threekt.external.objects
|
package three.external.objects
|
||||||
|
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
import info.laht.threekt.textures.Texture
|
import three.textures.Texture
|
||||||
|
|
||||||
data class WaterOptions(
|
data class WaterOptions(
|
||||||
|
|
@ -1,13 +1,13 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras
|
package three.extras
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.core.Object3D
|
import three.core.Object3D
|
||||||
import info.laht.threekt.materials.Material
|
import three.materials.Material
|
||||||
import info.laht.threekt.objects.Group
|
import three.objects.Group
|
||||||
import info.laht.threekt.scenes.Scene
|
import three.scenes.Scene
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class containing useful utility functions for scene manipulation.
|
* A class containing useful utility functions for scene manipulation.
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.core
|
package three.extras.core
|
||||||
|
|
||||||
|
|
||||||
external abstract class Curve<E> {
|
external abstract class Curve<E> {
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.core
|
package three.extras.core
|
||||||
|
|
||||||
|
|
||||||
open external class CurvePath<E> : Curve<E> {
|
open external class CurvePath<E> : Curve<E> {
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.core
|
package three.extras.core
|
||||||
|
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
open external class Path : CurvePath<Vector2> {
|
open external class Path : CurvePath<Vector2> {
|
||||||
|
|
@ -0,0 +1,8 @@
|
|||||||
|
@file:JsModule("three")
|
||||||
|
@file:JsNonModule
|
||||||
|
|
||||||
|
package three.extras.core
|
||||||
|
|
||||||
|
import three.math.Vector2
|
||||||
|
|
||||||
|
external class Shape(points: Array<Vector2>) : Path
|
@ -0,0 +1,6 @@
|
|||||||
|
@file:JsModule("three")
|
||||||
|
@file:JsNonModule
|
||||||
|
|
||||||
|
package three.extras.core
|
||||||
|
|
||||||
|
external class ShapePath
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
external class ArcCurve(
|
external class ArcCurve(
|
||||||
aX: Number = definedExternally,
|
aX: Number = definedExternally,
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
|
|
||||||
external class CatmullRomCurve3(
|
external class CatmullRomCurve3(
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
open external class EllipseCurve(
|
open external class EllipseCurve(
|
||||||
aX: Number = definedExternally,
|
aX: Number = definedExternally,
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
external class LineCurve(
|
external class LineCurve(
|
||||||
v1: Vector2 = definedExternally,
|
v1: Vector2 = definedExternally,
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external class LineCurve3(
|
external class LineCurve3(
|
||||||
v1: Vector3 = definedExternally,
|
v1: Vector3 = definedExternally,
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
external class QuadricBezierCurve : Curve<Vector2> {
|
external class QuadricBezierCurve : Curve<Vector2> {
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector3
|
import three.math.Vector3
|
||||||
|
|
||||||
external class QuadricBezierCurve3 : Curve<Vector3> {
|
external class QuadricBezierCurve3 : Curve<Vector3> {
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.extras.curves
|
package three.extras.curves
|
||||||
|
|
||||||
import info.laht.threekt.extras.core.Curve
|
import three.extras.core.Curve
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
external class SplineCurve(
|
external class SplineCurve(
|
||||||
points: Array<Vector2> = definedExternally
|
points: Array<Vector2> = definedExternally
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
|
|
||||||
external class BoxGeometry(
|
external class BoxGeometry(
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
|
|
||||||
external class ConeGeometry(
|
external class ConeGeometry(
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
external class CylinderGeometry(
|
external class CylinderGeometry(
|
||||||
radiusTop: Number,
|
radiusTop: Number,
|
@ -0,0 +1,8 @@
|
|||||||
|
@file:JsModule("three")
|
||||||
|
@file:JsNonModule
|
||||||
|
|
||||||
|
package three.geometries
|
||||||
|
|
||||||
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
|
public external class EdgesGeometry(geometry: BufferGeometry, thresholdAngle: Int = definedExternally) : BufferGeometry
|
@ -8,11 +8,11 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
import info.laht.threekt.extras.core.Shape
|
import three.extras.core.Shape
|
||||||
import info.laht.threekt.math.Vector2
|
import three.math.Vector2
|
||||||
|
|
||||||
external interface ExtrudeGeometryOptions {
|
external interface ExtrudeGeometryOptions {
|
||||||
var curveSegments: Number?
|
var curveSegments: Number?
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
external class PlaneGeometry(
|
external class PlaneGeometry(
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
external class SphereGeometry(
|
external class SphereGeometry(
|
||||||
radius: Number,
|
radius: Number,
|
@ -1,7 +1,7 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
|
|
||||||
external interface TextGeometryParameters {
|
external interface TextGeometryParameters {
|
@ -1,9 +1,9 @@
|
|||||||
@file:JsModule("three")
|
@file:JsModule("three")
|
||||||
@file:JsNonModule
|
@file:JsNonModule
|
||||||
|
|
||||||
package info.laht.threekt.geometries
|
package three.geometries
|
||||||
|
|
||||||
import info.laht.threekt.core.BufferGeometry
|
import three.core.BufferGeometry
|
||||||
|
|
||||||
|
|
||||||
external class TorusGeometry(
|
external class TorusGeometry(
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user