Skip to content

@fibbojs / 3d / FCuboid

Class: FCuboid

A simple cube model in Fibbo.

Example

ts
import { FCuboid, FScene } from '@fibbojs/3d'

const scene = new FScene()

const cube = new FCuboid(scene)
scene.addComponent(cube)

Extends

Constructors

new FCuboid()

new FCuboid(scene, options?): FCuboid

Parameters

scene: FScene

options?: FComponentOptions

Returns

FCuboid

Overrides

FPolyhedron.constructor

Defined in

3d/src/polyhedrons/FCuboid.ts:19

Methods

__SET_POSITION__()

__SET_POSITION__(position): void

Parameters

position: FVector3

Returns

void

Inherited from

FPolyhedron.__SET_POSITION__

Defined in

3d/src/core/FComponent.ts:243


__SET_ROTATION__()

__SET_ROTATION__(rotation): void

Parameters

rotation: FVector3

Returns

void

Inherited from

FPolyhedron.__SET_ROTATION__

Defined in

3d/src/core/FComponent.ts:251


__SET_SCALE__()

__SET_SCALE__(scale): void

Parameters

scale: FVector3

Returns

void

Inherited from

FPolyhedron.__SET_SCALE__

Defined in

3d/src/core/FComponent.ts:259


__UPDATE_POSITION__()

__UPDATE_POSITION__(initiator): void

Update the position of the component according to the transform. This method should be called after updating the transform properties.

Parameters

initiator: boolean = false

By default (false), the component won't be considered as the initiator of the position update. Set this to true to propagate the position update to the rigidBody, collider and sensor.

Returns

void

Inherited from

FPolyhedron.__UPDATE_POSITION__

Defined in

3d/src/core/FComponent.ts:123


__UPDATE_ROTATION__()

__UPDATE_ROTATION__(initiator): void

Update the rotation of the component according to the transform. This method should be called after updating the transform properties.

Parameters

initiator: boolean = false

By default (false), the component won't be considered as the initiator of the rotation update. Set this to true to propagate the rotation update to the rigidBody, collider and sensor.

Returns

void

Inherited from

FPolyhedron.__UPDATE_ROTATION__

Defined in

3d/src/core/FComponent.ts:165


__UPDATE_SCALE__()

__UPDATE_SCALE__(initiator): void

Update the scale of the component according to the transform. This method should be called after updating the transform properties.

Parameters

initiator: boolean = false

By default (false), the component won't be considered as the initiator of the scale update. Set this to true to propagate the scale update to the rigidBody, collider and sensor.

Returns

void

Inherited from

FPolyhedron.__UPDATE_SCALE__

Defined in

3d/src/core/FComponent.ts:207


emitCollisionWith()

emitCollisionWith(options): void

Emit a collision event with a given class or object.

Parameters

options

The options for the collision event.

options.class?: any

The class to emit the collision event with.

options.component?: FComponent

The component to emit the collision event with.

Returns

void

Examples

typescript
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
  class: Enemy
})
typescript
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
  object: enemy
})

Inherited from

FPolyhedron.emitCollisionWith

Defined in

core/dist/index.d.ts:293


emitOnLoaded()

emitOnLoaded(): void

Emit the onLoaded callbacks.

Returns

void

Inherited from

FPolyhedron.emitOnLoaded

Defined in

core/dist/index.d.ts:247


frame()

frame(_delta): void

Update the component. Should be called every frame. The purpose of this method is to render the component, its mesh/sprite, and its properties.

Parameters

_delta: number

Returns

void

Inherited from

FPolyhedron.frame

Defined in

3d/src/core/FComponent.ts:113


initCollider()

initCollider(options?): void

Parameters

options?: FColliderOptions

Returns

void

Inherited from

FPolyhedron.initCollider

Defined in

3d/src/core/FComponent.ts:286


initRigidBody()

initRigidBody(options?): void

Parameters

options?: FRigidBodyOptions

Returns

void

Inherited from

FPolyhedron.initRigidBody

Defined in

3d/src/core/FComponent.ts:295


initSensor()

initSensor(options?): void

Parameters

options?: FRigidBodyOptions

Returns

void

Inherited from

FPolyhedron.initSensor

Defined in

3d/src/core/FComponent.ts:304


onCollisionWith()

onCollisionWith(classOrObject, callback): () => void

Add a callback to be called when a collision occurs.

Parameters

classOrObject: any

The class or object to add the callback to.

callback

The callback to add.

Returns

Function

A function to remove the callback.

Returns

void

Examples

typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(Enemy, () => {
  console.log('Player collided with an Enemy!')
})
typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(enemy, () => {
  console.log('Player collided with the enemy!')
})

Inherited from

FPolyhedron.onCollisionWith

Defined in

3d/src/core/FComponent.ts:276


onFrame()

onFrame(callback): void

Add a callback to be called every frame.

Parameters

callback

The callback function.

Returns

void

Inherited from

FPolyhedron.onFrame

Defined in

core/dist/index.d.ts:238


onLoaded()

onLoaded(callback): void

Add a callback to be called when the component is loaded (could be a texture, a 3D model, etc).

Parameters

callback

The callback function.

Returns

void

Inherited from

FPolyhedron.onLoaded

Defined in

core/dist/index.d.ts:243


setColor()

setColor(color): void

Change the color of the polyhedron.

Parameters

color: number

The color of the polyhedron.

Returns

void

Example

ts
cube.setColor(0xFF0000)

Inherited from

FPolyhedron.setColor

Defined in

3d/src/polyhedrons/FPolyhedron.ts:43

Properties

__CALLBACKS_ON_COLLISION__

__CALLBACKS_ON_COLLISION__: object

Callbacks for when a collision occurs with a given class or object. It is a dictionary where the key is the class name or object id and the value is an array of callbacks.

Index Signature

[key: string]: (data) => void[]

Inherited from

FPolyhedron.__CALLBACKS_ON_COLLISION__

Defined in

core/dist/index.d.ts:216


__CALLBACKS_ON_FRAME__

__CALLBACKS_ON_FRAME__: () => void[]

Callbacks for when a frame is rendered.

Inherited from

FPolyhedron.__CALLBACKS_ON_FRAME__

Defined in

core/dist/index.d.ts:207


__CALLBACKS_ON_LOADED__

__CALLBACKS_ON_LOADED__: () => void[]

Callbacks for when the component is loaded (could be a texture, a 3D model, etc).

Inherited from

FPolyhedron.__CALLBACKS_ON_LOADED__

Defined in

core/dist/index.d.ts:211


__ID__

__ID__: number

Unique identifier for the component. It is generated automatically.

Inherited from

FPolyhedron.__ID__

Defined in

core/dist/index.d.ts:203


__IS_2D__

__IS_2D__: boolean

Inherited from

FPolyhedron.__IS_2D__

Defined in

core/dist/index.d.ts:198


__IS_3D__

__IS_3D__: boolean = true

Internal flags

Inherited from

FPolyhedron.__IS_3D__

Defined in

3d/src/core/FComponent.ts:30


__MESH__

__MESH__: Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>

mesh is redefined from FComponent without the ? because it is directly available after the constructor, as a polyhedron is created synchronously.

Inherited from

FPolyhedron.__MESH__

Defined in

3d/src/polyhedrons/FPolyhedron.ts:16


collider?

optional collider: FCollider

Collider

Inherited from

FPolyhedron.collider

Defined in

3d/src/core/FComponent.ts:59


controller?

optional controller: FController

The controller attached to the component.

Inherited from

FPolyhedron.controller

Defined in

3d/src/core/FComponent.ts:39


rigidBody?

optional rigidBody: FRigidBody

RigidBody

Inherited from

FPolyhedron.rigidBody

Defined in

3d/src/core/FComponent.ts:55


scene

scene: FScene

The scene which the component is in.

Inherited from

FPolyhedron.scene

Defined in

3d/src/core/FComponent.ts:35


sensor?

optional sensor: FRigidBody

Sensor (a collider that doesn't collide with other colliders, but still triggers events)

Inherited from

FPolyhedron.sensor

Defined in

3d/src/core/FComponent.ts:63


transform

transform: FTransform

Transforms

Inherited from

FPolyhedron.transform

Defined in

3d/src/core/FComponent.ts:49