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
imgDataImageData | TextureImageData | { 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
easeInOutSineEasing

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