Skip to content

@fibbojs / 3d / FSphere

Class: FSphere ​

A simple sphere model in Fibbo.

Example ​

ts
import { FSphere } from '@fibbojs/3d'

const sphere = new FSphere()

Extends ​

Accessors ​

color ​

get color(): number

set color(value): void

Change the color of the polyhedron.

Example ​

ts
cube.color = 0xFF0000

Parameters ​

• value: number

The color of the polyhedron.

Returns ​

number

Inherited from ​

FPolyhedron.color

Defined in ​

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

Constructors ​

new FSphere() ​

new FSphere(options?): FSphere

Parameters ​

• options?: FPolyhedronOptions

Returns ​

FSphere

Overrides ​

FPolyhedron.constructor

Defined in ​

3d/src/polyhedrons/FSphere.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:282


__SET_ROTATION__() ​

__SET_ROTATION__(rotation): void

Parameters ​

• rotation: FVector3

Returns ​

void

Inherited from ​

FPolyhedron.__SET_ROTATION__

Defined in ​

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


__SET_SCALE__() ​

__SET_SCALE__(scale): void

Parameters ​

• scale: FVector3

Returns ​

void

Inherited from ​

FPolyhedron.__SET_SCALE__

Defined in ​

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


__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:162


__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:204


__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:246


addController() ​

addController(controller): void

Add a controller to the component.

Parameters ​

• controller: FController

The controller to add.

Returns ​

void

Inherited from ​

FPolyhedron.addController

Defined in ​

core/dist/index.d.ts:418


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:499


emitOnLoaded() ​

emitOnLoaded(): void

Emit the onLoaded callbacks.

Returns ​

void

Inherited from ​

FPolyhedron.emitOnLoaded

Defined in ​

core/dist/index.d.ts:443


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

The time since the last frame.

Returns ​

void

Inherited from ​

FPolyhedron.frame

Defined in ​

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


initCollider() ​

initCollider(options?): void

Parameters ​

• options?: FColliderOptions

Returns ​

void

Overrides ​

FPolyhedron.initCollider

Defined in ​

3d/src/polyhedrons/FSphere.ts:34


initRigidBody() ​

initRigidBody(options?): void

Parameters ​

• options?: FRigidBodyOptions

Returns ​

void

Overrides ​

FPolyhedron.initRigidBody

Defined in ​

3d/src/polyhedrons/FSphere.ts:41


initSensor() ​

initSensor(options?): void

Parameters ​

• options?: FRigidBodyOptions

Returns ​

void

Overrides ​

FPolyhedron.initSensor

Defined in ​

3d/src/polyhedrons/FSphere.ts:48


onCollisionWith() ​

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

Add a callback to be called when a collision occurs.

Parameters ​

• classOrObject: any

The class or object to observe for collisions. Should inherit from FComponent.

• callback

The callback to add to the collision event.

Returns ​

Function

A function to remove the callback.

Returns ​

void

Examples ​

typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(Enemy, ({ component }) => {
  console.log('Player collided with an Enemy!')
  console.log('The enemy is:', component)
})
typescript
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(enemy, () => {
  console.log('Player collided with the enemy!')
})
typescript
const player = new Player()
const enemy = new Enemy()
const removeThisCallback = player.onCollisionWith(enemy, () => {
 console.log('Player collided with the enemy!')
})
// To remove the callback, call the function returned by onCollisionWith
removeThisCallback()

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`onCollisionWith`](FPolyhedron.md#oncollisionwith)

#### Defined in

[3d/src/core/FComponent.ts:318](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L318)

***

### onFrame()

> **onFrame**(`callback`): `void`

Add a callback to be called every frame.

#### Parameters

• **callback**

The callback function.

#### Returns

`void`

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`onFrame`](FPolyhedron.md#onframe)

#### Defined in

core/dist/index.d.ts:434

***

### 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`](FPolyhedron.md).[`onLoaded`](FPolyhedron.md#onloaded)

#### Defined in

core/dist/index.d.ts:439

***

### removeController()

> **removeController**(`controller`): `void`

Remove a controller from the component.

#### Parameters

• **controller**: `FController`

The controller to remove.

#### Returns

`void`

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`removeController`](FPolyhedron.md#removecontroller)

#### Defined in

core/dist/index.d.ts:423

***

### render()

> **render**(`delta`): `void`

#### Parameters

• **delta**: `number`

#### Returns

`void`

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`render`](FPolyhedron.md#render)

#### Defined in

[3d/src/core/FComponent.ts:114](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L114)

## 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`](FPolyhedron.md).[`__CALLBACKS_ON_COLLISION__`](FPolyhedron.md#__callbacks_on_collision__)

#### Defined in

core/dist/index.d.ts:402

***

### \_\_CALLBACKS\_ON\_FRAME\_\_

> **\_\_CALLBACKS\_ON\_FRAME\_\_**: () => `void`[]

Callbacks for when a frame is rendered.

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`__CALLBACKS_ON_FRAME__`](FPolyhedron.md#__callbacks_on_frame__)

#### Defined in

core/dist/index.d.ts:393

***

### \_\_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`](FPolyhedron.md).[`__CALLBACKS_ON_LOADED__`](FPolyhedron.md#__callbacks_on_loaded__)

#### Defined in

core/dist/index.d.ts:397

***

### \_\_COLOR\_\_

> **\_\_COLOR\_\_**: `number`

The color of the polyhedron.

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`__COLOR__`](FPolyhedron.md#__color__)

#### Defined in

[3d/src/polyhedrons/FPolyhedron.ts:18](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/polyhedrons/FPolyhedron.ts#L18)

***

### \_\_ID\_\_

> **\_\_ID\_\_**: `number`

Unique identifier for the component.
It is generated automatically.

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`__ID__`](FPolyhedron.md#__id__)

#### Defined in

core/dist/index.d.ts:389

***

### \_\_IS\_2D\_\_

> **\_\_IS\_2D\_\_**: `boolean`

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`__IS_2D__`](FPolyhedron.md#__is_2d__)

#### Defined in

core/dist/index.d.ts:384

***

### \_\_IS\_3D\_\_

> **\_\_IS\_3D\_\_**: `boolean` = `true`

Internal flags

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`__IS_3D__`](FPolyhedron.md#__is_3d__)

#### Defined in

[3d/src/core/FComponent.ts:30](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L30)

***

### \_\_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`](FPolyhedron.md).[`__MESH__`](FPolyhedron.md#__mesh__)

#### Defined in

[3d/src/polyhedrons/FPolyhedron.ts:24](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/polyhedrons/FPolyhedron.ts#L24)

***

### collider?

> `optional` **collider**: [`FCollider`](FCollider.md)

Collider

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`collider`](FPolyhedron.md#collider)

#### Defined in

[3d/src/core/FComponent.ts:58](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L58)

***

### controllers

> **controllers**: [`FController`](FController.md)[]

The controllers attached to the component.

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`controllers`](FPolyhedron.md#controllers)

#### Defined in

[3d/src/core/FComponent.ts:38](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L38)

***

### rigidBody?

> `optional` **rigidBody**: [`FRigidBody`](FRigidBody.md)

RigidBody

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`rigidBody`](FPolyhedron.md#rigidbody)

#### Defined in

[3d/src/core/FComponent.ts:54](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L54)

***

### scene

> **scene**: [`FScene`](FScene.md)

The scene the component is attached to.

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`scene`](FPolyhedron.md#scene)

#### Defined in

[3d/src/core/FComponent.ts:34](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L34)

***

### sensor?

> `optional` **sensor**: [`FRigidBody`](FRigidBody.md)

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

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`sensor`](FPolyhedron.md#sensor)

#### Defined in

[3d/src/core/FComponent.ts:62](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L62)

***

### transform

> **transform**: [`FTransform`](FTransform.md)

Transforms

#### Inherited from

[`FPolyhedron`](FPolyhedron.md).[`transform`](FPolyhedron.md#transform)

#### Defined in

[3d/src/core/FComponent.ts:48](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/3d/src/core/FComponent.ts#L48)