Skip to main content

Module: Extra-Helpers

Classes

Interfaces

Type aliases

TUpdaterType

Ƭ TUpdaterType: "scene" | "renderer" | "viewer" | "camera"


IAnimSet

Ƭ IAnimSet: IAnimationObject<any>[]


TRecorderStates

Ƭ TRecorderStates: "stopped" | "recording" | "paused" | "error" | "starting" | "stopping"


DropEventType

Ƭ DropEventType: "drop" | "dropstart" | "droperror"


ListenerCallback

Ƭ ListenerCallback: (data?: { files?: Map<string, DropFile> ; message?: string }) => void

Type declaration

▸ (data?): void

Parameters
NameType
data?Object
data.files?Map<string, DropFile>
data.message?string
Returns

void


AwsRequestInit

Ƭ AwsRequestInit: RequestInit & { aws?: { accessKeyId?: string ; secretAccessKey?: string ; sessionToken?: string ; service?: string ; region?: string ; cache?: Map<string, ArrayBuffer> ; datetime?: string ; signQuery?: boolean ; appendSessionToken?: boolean ; allHeaders?: boolean ; singleEncode?: boolean } }


EasingFunctionType

Ƭ EasingFunctionType: keyof typeof EasingFunctions

EasingFunctionType: anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, easeInOutSine


AnimateResult

Ƭ AnimateResult: ReturnType<typeof animate>


TPreset

Ƭ TPreset: IAsset | string


TPointerLockEvents

Ƭ TPointerLockEvents: "change" | "lock" | "unlock"


TransformControlsMode

Ƭ TransformControlsMode: "translate" | "rotate" | "scale"

Functions

extractAnimationKey

extractAnimationKey(o, target, extraGetters?): { key: undefined = undefined; tar: any } | { key: string ; tar: any }

Parameters

NameType
oIAnimationObject<any>
targetany
extraGetters?Record<string, (acc: string[]) => undefined | { tar: any ; i: number }>

Returns

{ key: undefined = undefined; tar: any } | { key: string ; tar: any }


animateObject

animateObject(target, o, updaters): Promise<any>

Parameters

NameType
targetany
oIAnimationObject<any>
updatersRecord<TUpdaterType, () => void>

Returns

Promise<any>


animateSet

animateSet(target, anims, updaters, parallel?): Promise<undefined | any[]>

Parameters

NameTypeDefault value
targetanyundefined
animsIAnimSetundefined
updatersRecord<TUpdaterType, () => void>undefined
parallelbooleanfalse

Returns

Promise<undefined | any[]>


computeOffsetMatrix

computeOffsetMatrix(geometry): Matrix4

Parameters

NameType
geometryBufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Returns

Matrix4


computeEigenVectors

computeEigenVectors(geometry): Matrix4

Parameters

NameType
geometryBufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Returns

Matrix4


sign2

sign2(client, input, init?): Promise<RequestInit & { aws?: { accessKeyId?: string ; secretAccessKey?: string ; sessionToken?: string ; service?: string ; region?: string ; cache?: Map<string, ArrayBuffer> ; datetime?: string ; signQuery?: boolean ; appendSessionToken?: boolean ; allHeaders?: boolean ; singleEncode?: boolean } } & {}>

Parameters

NameType
clientAwsClient
inputRequestInfo
init?AwsRequestInit

Returns

Promise<RequestInit & { aws?: { accessKeyId?: string ; secretAccessKey?: string ; sessionToken?: string ; service?: string ; region?: string ; cache?: Map<string, ArrayBuffer> ; datetime?: string ; signQuery?: boolean ; appendSessionToken?: boolean ; allHeaders?: boolean ; singleEncode?: boolean } } & {}>


makeSetterFor

makeSetterFor<V>(target, key, setDirty?): (a: V) => void

Type parameters

Name
V

Parameters

NameType
targetany
keystring
setDirty?() => void

Returns

fn

▸ (a): void

Parameters
NameType
aV
Returns

void


isAnimatableType

isAnimatableType(value): boolean

Parameters

NameType
valueany

Returns

boolean


animateTarget

animateTarget<V>(target, key, options, animations?, forceCurrent?): Promise<void>

Type parameters

Name
V

Parameters

NameTypeDefault value
targetanyundefined
keystringundefined
optionsAnimationOptions<V>undefined
animations?{}[]undefined
forceCurrentbooleanfalse

Returns

Promise<void>


animateAsync

animateAsync<V>(options, animations?): Promise<void>

Type parameters

NameType
Vnumber

Parameters

NameType
optionsPlaybackOptions<V> & DecayOptions & { onEnd?: () => void } & PlaybackOptions<V> & SpringOptions & { onEnd?: () => void } & PlaybackOptions<V> & KeyframeOptions<V> & { onEnd?: () => void }
animations?{}[]

Returns

Promise<void>


autoGPUInstanceMeshes

autoGPUInstanceMeshes(matOrGeom): void

Parameters

NameType
matOrGeomany

Returns

void


shaderReplaceString

shaderReplaceString(shader, str, newStr, __namedParameters?): string

Parameters

NameType
shaderstring
strstring
newStrstring
__namedParametersObject
__namedParameters.replaceAllundefined | boolean
__namedParameters.prependundefined | boolean
__namedParameters.appendundefined | boolean

Returns

string


textureDataToImageData

textureDataToImageData(imgData, colorSpace?, outData?): ImageData

Parameters

NameType
imgDataTextureImageData | ImageData | { data: Uint8Array | Uint16Array | Float32Array ; width: number ; height: number }
colorSpace?ColorSpace
outData?ImageData

Returns

ImageData


textureToCanvas

textureToCanvas(texture, maxWidth, flipY?): HTMLCanvasElement

Parameters

NameTypeDefault value
textureTexture<TextureEventMap> | DataTextureundefined
maxWidthnumberundefined
flipYbooleanfalse

Returns

HTMLCanvasElement


texImageToCanvas

texImageToCanvas(image, maxWidth, flipY?): HTMLCanvasElement

Parameters

NameTypeDefault value
imageTexImageSourceundefined
maxWidthnumberundefined
flipYbooleanfalse

Returns

HTMLCanvasElement


textureToDataUrl

textureToDataUrl(texture, maxWidth, flipY, mimeType?, quality?): string

Parameters

NameType
textureTexture<TextureEventMap> | DataTexture
maxWidthnumber
flipYboolean
mimeType?string
quality?number

Returns

string


removeDuplicateGeometries

removeDuplicateGeometries(obj): void

Parameters

NameType
objObject3D<Object3DEventMap>

Returns

void


serialize

serialize(key?): PropertyDecorator

Parameters

NameType
key?string

Returns

PropertyDecorator


serializeObject

serializeObject(obj, isThis, meta?): any

Parameters

NameTypeDescription
objany
isThisbooleandoes not work for Texture, Material, Vector, Color
meta?any

Returns

any


deserializeObject

deserializeObject<T>(data, object, isThis, meta?): T

todo: fix problem when deserializing twice. deserializeObject(deserializeObject(obj))

Type parameters

Name
T

Parameters

NameTypeDescription
dataany
objectTcurrent object that's set. If possible the data is deserialized into that instead of creating new objects.
isThisbooleanset it to true if called from the object itself like from fromJSON()
metaRecord<string, any>

Returns

T


serializable

serializable(id): <T>(constructor: T) => T

Parameters

NameType
idstring

Returns

fn

▸ <T>(constructor): T

Type parameters
NameType
Textends (...args: any[]) => any
Parameters
NameType
constructorT
Returns

T


serializeTextureInExtras

serializeTextureInExtras(texture, meta, name?, mime?): { uuid: string = texture.uuid; url: any ; userData: any ; type: string = texture.type; name: undefined | string } | { uuid: string = texture.uuid; resource: string = 'extras' }

Used in LUTCubeTextureWrapper and KTX2LoadPlugin and imported in importConfigResources

Parameters

NameType
textureObject
texture.uuidstring
texture.userDataany
texture.typestring
texture.source?any
texture.name?string
metaany
name?string
mime?string

Returns

{ uuid: string = texture.uuid; url: any ; userData: any ; type: string = texture.type; name: undefined | string } | { uuid: string = texture.uuid; resource: string = 'extras' }


vRGBMToLinear

vRGBMToLinear(value, maxRange): Vector4

Parameters

NameType
valueVector4
maxRangenumber

Returns

Vector4


cRGBMToLinear

cRGBMToLinear(value, maxRange): Color

Parameters

NameType
valueVector4
maxRangenumber

Returns

Color


vLinearToRGBM

vLinearToRGBM(value, maxRange): Vector4

Parameters

NameType
valueVector4
maxRangenumber

Returns

Vector4


cLinearToRGBM

cLinearToRGBM(value, maxRange): Vector4

Parameters

NameType
valueColor
maxRangenumber

Returns

Vector4


rotateDuplicatedMesh

rotateDuplicatedMesh<T>(obj, rotations, skips, axis?): T | undefined

Type parameters

NameType
Textends Object3D<Object3DEventMap, T>

Parameters

NameTypeDefault value
objTundefined
rotationsnumberundefined
skipsundefined | number[]undefined
axis"x" | "y" | "z"'x'

Returns

T | undefined


snapObject

snapObject(viewer, object?, root?, channel?, camOffset?): string

Parameters

NameTypeDefault value
viewerViewerAppundefined
object?Object3D<Object3DEventMap>undefined
root?Scene<Object3DEventMap>undefined
channelnumber7
camOffsetVector3undefined

Returns

string


computeScreenSpaceBoundingBox

computeScreenSpaceBoundingBox(obj, camera): Box2

Parameters

NameType
objObject3D<Object3DEventMap>
cameraCamera<Object3DEventMap>

Returns

Box2


getTexelDecodingFunction

getTexelDecodingFunction(functionName, colorSpace): string

Parameters

NameType
functionNamestring
colorSpaceColorSpace

Returns

string


getTexelDecoding

getTexelDecoding(mapName, colorSpace?): string

Parameters

NameType
mapNamestring
colorSpace?ColorSpace

Returns

string


uniform

uniform(__namedParameters?): PropertyDecorator

Parameters

NameType
__namedParametersObject
__namedParameters.uniforms?any
__namedParameters.propKey?string | symbol
__namedParameters.thisTarget?boolean

Returns

PropertyDecorator


matDefine

matDefine(key?, customDefines?, thisMat?, onChange?): PropertyDecorator

Parameters

NameTypeDefault valueDescription
key?string | symbolundefineddefine name
customDefines?anyundefinedobject for setting define value (like ShaderMaterial.defines), otherwise this.material.defines is taken
thisMatbooleanfalseaccess this.defines instead of this.material.defines
onChange?(...args: any[]) => anyundefined-

Returns

PropertyDecorator


dataTextureFromColor

dataTextureFromColor(color): DataTexture

Parameters

NameType
colorColor

Returns

DataTexture


dataTextureFromVec4

dataTextureFromVec4(color): DataTexture

Parameters

NameType
colorVector4

Returns

DataTexture


setThreeRendererMode

setThreeRendererMode(renderer, ud, render): void

Parameters

NameType
rendererWebGLRenderer
udObject
ud.shadowMapRender?boolean
ud.backgroundRender?boolean
ud.sceneRender?boolean
ud.opaqueRender?boolean
ud.transparentRender?boolean
ud.transmissionRender?boolean
ud.mainRenderPass?boolean
ud.screenSpaceRendering?boolean
render() => void

Returns

void


autoCenterObject3D

autoCenterObject3D(obj, undo?): Object3D<Object3DEventMap>

Parameters

NameTypeDefault value
objObject3D<Object3DEventMap>undefined
undobooleanfalse

Returns

Object3D<Object3DEventMap>


pivotToBBoxCenter

pivotToBBoxCenter(obj): () => void

Parameters

NameType
objObject3D<Object3DEventMap>

Returns

fn

▸ (): void

Returns

void


pivotToPoint

pivotToPoint(obj, pivot): () => void

Parameters

NameType
objObject3D<Object3DEventMap>
pivotVector3

Returns

fn

▸ (): void

Returns

void


autoScaleObject3D

autoScaleObject3D(obj, autoScaleRadius?, isCentered?, undo?): Object3D<Object3DEventMap>

Parameters

NameTypeDefault value
objObject3D<Object3DEventMap>undefined
autoScaleRadius?numberundefined
isCentered?booleanundefined
undobooleanfalse

Returns

Object3D<Object3DEventMap>


toIndexedGeometry

toIndexedGeometry(geometry, tolerance?): BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Convert geometry to BufferGeometry with indexed attributes.

Parameters

NameTypeDefault value
geometryBufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>undefined
tolerancenumber-1

Returns

BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>


addSSBevel

addSSBevel(material): boolean

Parameters

NameType
materialMaterial<MaterialEventMap>

Returns

boolean


patchShaderEncodingSupport

patchShaderEncodingSupport(shader, ...textureIds): ShaderMaterialEncodingSupport

Parameters

NameType
shaderany
...textureIdsstring[]

Returns

ShaderMaterialEncodingSupport

Variables

diamondMaterialPropList

Const diamondMaterialPropList: Partial<DiamondMaterial> | Record<string, any>


supportsRequestStreams

Const supportsRequestStreams: boolean


defaultPresets

Const defaultPresets: Object

Type declaration

NameType
BackgroundIAsset[]
EnvironmentIAsset[]
GemEnvironmentIAsset[]
GemEnvironment2IAsset[]
GemEnvironment3IAsset[]
GroundIAsset[]
CameraViewsIAsset[]
MaterialConfigurationIAsset[]
MaterialLibrariesIAsset[]

EasingFunctions

Const EasingFunctions: Object

Type declaration

NameType
linearEasing
easeInEasing
easeOutEasing
easeInOutEasing
circInEasing
circOutEasing
circInOutEasing
backInEasing
backOutEasing
backInOutEasing
anticipateEasing
bounceOut(p: number) => number
bounceInEasing
bounceInOut(p: number) => number
easeInOutSine(x: number) => number

serializers

Const serializers: Object

Type declaration

NameType
obj(obj: any, meta: any) => { [k: string]: T; }
vec4(v: Vector4) => { x: number = v.x; y: number = v.y; z: number = v.z; w: number = v.w; isVector4: boolean = true }
vec3(v: Vector3) => { x: number = v.x; y: number = v.y; z: number = v.z; isVector3: boolean = true }
vec2(v: Vector2) => { x: number = v.x; y: number = v.y; isVector2: boolean = true }
color(c: Color) => { r: number = c.r; g: number = c.g; b: number = c.b; isColor: boolean = true }
quat(v: Quaternion) => { x: number = v.x; y: number = v.y; z: number = v.z; w: number = v.w; isQuaternion: boolean = true }
texture(obj: any, meta?: any) => any
material(obj: any, meta?: any) => any

deserializers

Const deserializers: Object

Type declaration

NameType
obj(data: any, obj: any, meta: any) => any
vec4(v: any, o: any) => any
vec3(v: any, o: any) => any
vec2(v: any, o: any) => any
color(v: any, o: any) => any
quat(v: any, o: any) => any

RGBM16ColorSpace_

Const RGBM16ColorSpace_: ColorSpace | "rgbm-16" = 'rgbm-16'


combineDofShader

Const combineDofShader: Object

Type declaration

NameType
uniforms{ colorTexture: { value: null = null } ; tNormalDepth: { value: null = null } ; blurTexture: { value: null = null } ; cocTexture: { value: null = null } ; cocTextureSize: { value: Vector2 } ; cameraNearFar: { value: Vector2 } }
uniforms.colorTexture{ value: null = null }
uniforms.colorTexture.valuenull
uniforms.tNormalDepth{ value: null = null }
uniforms.tNormalDepth.valuenull
uniforms.blurTexture{ value: null = null }
uniforms.blurTexture.valuenull
uniforms.cocTexture{ value: null = null }
uniforms.cocTexture.valuenull
uniforms.cocTextureSize{ value: Vector2 }
uniforms.cocTextureSize.valueVector2
uniforms.cameraNearFar{ value: Vector2 }
uniforms.cameraNearFar.valueVector2
vertexShaderany
fragmentShaderstring