Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@Transient
open override var children: Array<ZObject>

An array of ZObjects that are children of this object, allowing for a hierarchical structure.

Link copied to clipboard
open val hasParent: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val id: String

A unique identifier for the object, automatically generated to ensure uniqueness.

Link copied to clipboard

A boolean indicating whether the object has been initialized. This is set to true after the first call to initialize.

Link copied to clipboard
open val isRoot: Boolean
Link copied to clipboard
Link copied to clipboard
lateinit var mesh: ZMesh
Link copied to clipboard

The name of the object. If not explicitly set, a default name is generated based on the object's type and ID.

Link copied to clipboard
open override val parent: ZObject?

A reference to the parent ZObject, if any. Null if the object has no parent, making it a root object.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

An instance of ZTransform representing the object's position, rotation, and scale in the 3D space.

Link copied to clipboard
open override val type: ZObjectType

Functions

Link copied to clipboard
fun addChild(child: ZObject)

Adds a child object to this object, establishing a parent-child relationship. The child object will be rendered relative to this object's transform.

Link copied to clipboard

Initializes the object and its children, preparing them for rendering. This function should be called before the object is rendered for the first time. It sets the object's state to initialized and recursively initializes all child objects.

Link copied to clipboard
fun lookAt(look: ZVector3)

Adjusts the object's orientation so that it "looks at" a specified point in space.

fun lookAt(look: ZVector3, up: ZVector3)

Adjusts the object's orientation so that it "looks at" a specified point in space, with a specified up direction. This changes the object's rotation to face the point, while aligning its up direction with the specified up vector.

Link copied to clipboard
fun onViewportResize(ctx: ZContext, width: Int, height: Int)

Event handler for the viewport resizing. This method should not be called by the user

Link copied to clipboard
fun render(ctx: ZContext)

Renders the object and its children to the screen. This function is responsible for drawing the object on the screen. It should be called every frame to update the object's appearance based on its current state and transformations.

Link copied to clipboard
fun translate(x: Float, y: Float, z: Float)

Moves the object by a specified amount along each axis. This changes the object's position based on the given x, y, and z offsets.