You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
667 B
Kotlin

4 years ago
package me.eater.threedom.dom
4 years ago
import org.joml.Vector3dc
4 years ago
interface INodeQueryCapable {
4 years ago
/**
* Get node inside this node by [id]
*/
4 years ago
fun getNodeById(id: String): INode<*>?
4 years ago
/**
* Get all nodes inside this node with the class [className]
*/
4 years ago
fun getNodesByClassName(className: String): Sequence<INode<*>>
4 years ago
/**
* find all nodes inside this node in region between [pointA] and [pointB]
*/
fun findInRegion(pointA: Vector3dc, pointB: Vector3dc): Sequence<INode<*>>
/**
* find all nodes inside this node in [range] of [origin]
*/
fun findInRange(origin: Vector3dc, range: Number): Sequence<INode<*>>
4 years ago
}