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

package me.eater.threedom.dom
import org.joml.Vector3dc
interface INodeQueryCapable {
/**
* Get node inside this node by [id]
*/
fun getNodeById(id: String): INode<*>?
/**
* Get all nodes inside this node with the class [className]
*/
fun getNodesByClassName(className: String): Sequence<INode<*>>
/**
* 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<*>>
}