Skip to main content

Module: Extra-Helpers

Classes

Interfaces

Type aliases

TUpdaterType

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

Defined in

webgi/src/extras/animationObject.ts:6


IAnimationObject

Ƭ IAnimationObject<V>: AnimationOptions<V> & { access?: string ; duration?: number ; delay?: number ; ease?: Easing ; updater?: TUpdaterType[] ; animSet?: IAnimSet ; animSetParallel?: boolean ; uiRef?: UiObjectConfig ; name?: string ; uiObjectType?: UiObjectType ; targetObject?: Record<string, any> ; to?: V | (fromVal: V, target: any) => V }

Type parameters

Name
V

Defined in

webgi/src/extras/animationObject.ts:8


IAnimSet

Ƭ IAnimSet: IAnimationObject<any>[]

Defined in

webgi/src/extras/animationObject.ts:22


TRecorderStates

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

Defined in

webgi/src/extras/canvas_recorder/ACanvasRecorder.ts:3


DropEventType

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

Defined in

webgi/src/extras/dropzone.ts:236


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

Defined in

webgi/src/extras/dropzone.ts:237


EasingFunctionType

Ƭ EasingFunctionType: keyof typeof EasingFunctions

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

Defined in

webgi/src/helpers/animation.ts:51


AnimateResult

Ƭ AnimateResult: ReturnType<typeof animate>

Defined in

webgi/src/helpers/animation.ts:53


TPreset

Ƭ TPreset: IAsset | string

Defined in

webgi/src/helpers/presetGroups.ts:8


TPointerLockEvents

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

Defined in

webgi/src/helpers/threejs/PointerLockControls2.ts:12

Functions

extractAnimationKey

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

Parameters

NameType
oIAnimationObject<any>
targetany

Returns

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

Defined in

webgi/src/extras/animationObject.ts:24


makeSetterForAnimObject

makeSetterForAnimObject<V>(o, target, updaters?, setDirty?): (a: V) => void

Type parameters

Name
V

Parameters

NameType
oIAnimationObject<V>
targetany
updaters?Record<TUpdaterType, () => void>
setDirty?() => void

Returns

fn

▸ (a): void

Parameters
NameType
aV
Returns

void

Defined in

webgi/src/extras/animationObject.ts:37


animateObject

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

Parameters

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

Returns

Promise<any>

Defined in

webgi/src/extras/animationObject.ts:45


animateSet

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

Parameters

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

Returns

Promise<undefined | any[]>

Defined in

webgi/src/extras/animationObject.ts:67


syncAnimSetUi

syncAnimSetUi(uiConfig?, animSet?, targetObject?, updaters1?): void

Parameters

NameType
uiConfig?UiObjectConfig<any, string>[]
animSet?IAnimSet
targetObject?Record<string, any>
updaters1?Record<TUpdaterType, () => void>

Returns

void

Defined in

webgi/src/extras/animationObject.ts:77


computeOffsetMatrix

computeOffsetMatrix(geometry): Matrix4

Parameters

NameType
geometryBufferGeometry<NormalBufferAttributes, Event, string>

Returns

Matrix4

Defined in

webgi/src/extras/ijewel/utils.ts:44


computeEigenVectors

computeEigenVectors(geometry): Matrix4

Parameters

NameType
geometryBufferGeometry<NormalBufferAttributes, Event, string>

Returns

Matrix4

Defined in

webgi/src/extras/ijewel/utils.ts:207


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

Defined in

webgi/src/helpers/animation.ts:55


isAnimatableType

isAnimatableType(value): boolean

Parameters

NameType
valueany

Returns

boolean

Defined in

webgi/src/helpers/animation.ts:73


animateTarget

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

Type parameters

Name
V

Parameters

NameType
targetany
keystring
optionsAnimationOptions<V>
animations?{}[]

Returns

Promise<void>

Defined in

webgi/src/helpers/animation.ts:78


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>

Defined in

webgi/src/helpers/animation.ts:103


autoGPUInstanceMeshes

autoGPUInstanceMeshes(matOrGeom): void

Parameters

NameType
matOrGeomany

Returns

void

Defined in

webgi/src/helpers/gpuInstancing.ts:7


shaderReplaceString

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

Parameters

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

Returns

string

Defined in

webgi/src/helpers/material.ts:4


textureDataToImageData

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

Parameters

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

Returns

ImageData

Defined in

webgi/src/helpers/refl.ts:69


textureToCanvas

textureToCanvas(texture, maxWidth, flipY?): HTMLCanvasElement

Parameters

NameTypeDefault value
textureTexture | DataTextureundefined
maxWidthnumberundefined
flipYbooleanfalse

Returns

HTMLCanvasElement

Defined in

webgi/src/helpers/refl.ts:100


texImageToCanvas

texImageToCanvas(image, maxWidth, flipY?): HTMLCanvasElement

Parameters

NameTypeDefault value
imageTexImageSourceundefined
maxWidthnumberundefined
flipYbooleanfalse

Returns

HTMLCanvasElement

Defined in

webgi/src/helpers/refl.ts:107


textureToDataUrl

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

Parameters

NameType
textureTexture | DataTexture
maxWidthnumber
flipYboolean
mimeType?string
quality?number

Returns

string

Defined in

webgi/src/helpers/refl.ts:153


removeDuplicateGeometries

removeDuplicateGeometries(obj): void

Parameters

NameType
objObject3D<Event, string>

Returns

void

Defined in

webgi/src/helpers/removeDuplicateGeometries.ts:4


serialize

serialize(key?): PropertyDecorator

Parameters

NameType
key?string

Returns

PropertyDecorator

Defined in

webgi/src/helpers/serialize.ts:8


serializeObject

serializeObject(obj, isThis, meta?): any

Parameters

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

Returns

any

Defined in

webgi/src/helpers/serialize.ts:177


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()
metaany

Returns

T

Defined in

webgi/src/helpers/serialize.ts:243


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

Defined in

webgi/src/helpers/serialize.ts:340


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' }

Defined in

webgi/src/helpers/serialize.ts:357


vRGBMToLinear

vRGBMToLinear(value, maxRange): Vector4

Parameters

NameType
valueVector4
maxRangenumber

Returns

Vector4

Defined in

webgi/src/helpers/threejs/colorEncodings.ts:4


cRGBMToLinear

cRGBMToLinear(value, maxRange): Color

Parameters

NameType
valueVector4
maxRangenumber

Returns

Color

Defined in

webgi/src/helpers/threejs/colorEncodings.ts:10


vLinearToRGBM

vLinearToRGBM(value, maxRange): Vector4

Parameters

NameType
valueVector4
maxRangenumber

Returns

Vector4

Defined in

webgi/src/helpers/threejs/colorEncodings.ts:15


cLinearToRGBM

cLinearToRGBM(value, maxRange): Vector4

Parameters

NameType
valueColor
maxRangenumber

Returns

Vector4

Defined in

webgi/src/helpers/threejs/colorEncodings.ts:23


rotateDuplicatedMesh

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

Type parameters

NameType
Textends Object3D<Event, string, T>

Parameters

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

Returns

T | undefined

Defined in

webgi/src/helpers/threejs/geometryUtils.ts:30


snapObject

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

Parameters

NameTypeDefault value
viewerViewerAppundefined
object?Object3D<Event, string>undefined
root?Scene<Event, string>undefined
channelnumber7
camOffsetVector3undefined

Returns

string

Defined in

webgi/src/helpers/threejs/snapObject.ts:7


computeScreenSpaceBoundingBox

computeScreenSpaceBoundingBox(obj, camera): Box2

Parameters

NameType
objObject3D<Event, string>
cameraCamera<Event, string>

Returns

Box2

Defined in

webgi/src/helpers/threejs/threeUtils.ts:30


getEncodingComponents

getEncodingComponents(colorSpace): string[]

Parameters

NameType
colorSpaceColorSpace

Returns

string[]

Defined in

webgi/src/helpers/threejs/threeUtils.ts:111


getTextureColorSpaceFromMap

getTextureColorSpaceFromMap(map, isWebGL2): ColorSpace

Parameters

NameType
mapany
isWebGL2boolean

Returns

ColorSpace

Defined in

webgi/src/helpers/threejs/threeUtils.ts:140


getTexelDecodingFunction

getTexelDecodingFunction(functionName, colorSpace): string

Parameters

NameType
functionNamestring
colorSpaceColorSpace

Returns

string

Defined in

webgi/src/helpers/threejs/threeUtils.ts:173


getTexelDecoding

getTexelDecoding(mapName, map, isWebGL2): string

Parameters

NameType
mapNamestring
mapundefined | ITexture<any>
isWebGL2boolean

Returns

string

Defined in

webgi/src/helpers/threejs/threeUtils.ts:180


getTexelDecoding2

getTexelDecoding2(mapName, colorSpace): string

Parameters

NameType
mapNamestring
colorSpaceColorSpace

Returns

string

Defined in

webgi/src/helpers/threejs/threeUtils.ts:186


getTexelEncodingFunction

getTexelEncodingFunction(functionName, colorSpace): string

Parameters

NameType
functionNamestring
colorSpaceColorSpace

Returns

string

Defined in

webgi/src/helpers/threejs/threeUtils.ts:192


getTexelEncoding

getTexelEncoding(functionName, map, isWebGL2): string

Parameters

NameType
functionNamestring
mapITexture<any>
isWebGL2boolean

Returns

string

Defined in

webgi/src/helpers/threejs/threeUtils.ts:199


uniform

uniform(__namedParameters?): PropertyDecorator

Parameters

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

Returns

PropertyDecorator

Defined in

webgi/src/helpers/threejs/threeUtils.ts:211


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

Defined in

webgi/src/helpers/threejs/threeUtils.ts:249


dataTextureFromColor

dataTextureFromColor(color): DataTexture

Parameters

NameType
colorColor

Returns

DataTexture

Defined in

webgi/src/helpers/threejs/threeUtils.ts:291


dataTextureFromVec4

dataTextureFromVec4(color): DataTexture

Parameters

NameType
colorVector4

Returns

DataTexture

Defined in

webgi/src/helpers/threejs/threeUtils.ts:298


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

Defined in

webgi/src/helpers/threejs/threeUtils.ts:304


autoCenterObject3D

autoCenterObject3D(obj): void

Parameters

NameType
objObject3D<Event, string>

Returns

void

Defined in

webgi/src/helpers/threejs/threeUtils.ts:339


autoScaleObject3D

autoScaleObject3D(obj, autoScaleRadius?, isCentered?): Object3D<Event, string>

Parameters

NameType
objObject3D<Event, string>
autoScaleRadius?number
isCentered?boolean

Returns

Object3D<Event, string>

Defined in

webgi/src/helpers/threejs/threeUtils.ts:348


toIndexedGeometry

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

Convert geometry to BufferGeometry with indexed attributes.

Parameters

NameTypeDefault value
geometryBufferGeometry<NormalBufferAttributes, Event, string>undefined
tolerancenumber-1

Returns

BufferGeometry<NormalBufferAttributes, Event, string>

Defined in

webgi/src/helpers/threejs/threeUtils.ts:389


addSSBevel

addSSBevel(material): boolean

Parameters

NameType
materialMaterial<Event, string>

Returns

boolean

Defined in

webgi/src/passes/threejs/SSBevelPass.ts:21


patchShaderEncodingSupport

patchShaderEncodingSupport(shader, ...textureIds): ShaderMaterialEncodingSupport

Parameters

NameType
shaderany
...textureIdsstring[]

Returns

ShaderMaterialEncodingSupport

Defined in

webgi/src/passes/threejs/ShaderPass2.ts:165

Variables

diamondMaterialPropList

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

Defined in

webgi/src/extras/ijewel/utils.ts:315


defaultPresets

Const defaultPresets: Object

Type declaration

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

Defined in

webgi/src/extras/presets/simple.ts:4


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

Defined in

webgi/src/helpers/animation.ts:30


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

Defined in

webgi/src/helpers/serialize.ts:18


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

Defined in

webgi/src/helpers/serialize.ts:154


RGBM16ColorSpace_

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

Defined in

webgi/src/helpers/threejs/threeUtils.ts:108


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

Defined in

webgi/src/passes/threejs/DepthOfFieldPass.ts:27