Module: Extra-Helpers
Classes
- FSShadowMaterial
- RandomizedDirectionalLight
- ShadowMapBaker
- CanvasSnipper
- ACanvasRecorder
- CanvasMediaRecorder
- CanvasRecorder
- FFMPEGRecorder
- ImageSequenceRecorder
- GyroInputDevice
- MouseInputDevice
- Dropzone
- DiamondMaterial
- BoxSelectionWidget
- SelectionWidget
- SphereSelectionWidget
- AWSClientPlugin
- ARTouchInputHelper
- ARPlacementBox
- CubeNormalsCaptureHelper
- NormalCaptureMaterial
- ObjectProcessorMap
- GLTFMeshGpuInstancingExporter
- PresetGroup
- BackgroundPresetGroup
- EnvironmentPresetGroup
- GemEnvironmentPresetGroup
- PluginPresetGroup
- ModelStagePresetGroup
- MaterialLibPresetGroupPresetGroup
- VJSONPresetGroup
- Box3B
- CustomAnimationHelper
- DeviceOrientationControls2
- FirstPersonControls2
- MaterialPreviewGenerator
- OrbitControls2
- PointerLockControls2
- Reflector2
- TransformControls
- TransformControlsGizmo
- TransformControlsPlane
- TransformControls2
- TubeShapeGeometry
- AddBlendPass
- DepthOfFieldPass
- GenericBlendTexturePass
- SSBevelPass
- AShaderMaterial2
- ShaderMaterial2
- ShaderMaterialEncodingSupport
- ShaderPass2
Interfaces
- RDShadowParams
- RDRandomParams
- IAnimationObject
- SRect
- SnipOptions
- ICanvasRecorder
- CanvasRecorderOptions
- IInputDevice
- DropFile
- DiamondGeometryParameters
- DiamondMaterialParameters
- IDiamondGeometryOffsets
- IObjectProcessor
- PointerLockControls2EventMap
- TransformControlsEventMap
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
Name | Type |
---|---|
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
Name | Type |
---|---|
o | IAnimationObject <any > |
target | any |
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
Name | Type |
---|---|
target | any |
o | IAnimationObject <any > |
updaters | Record <TUpdaterType , () => void > |
Returns
Promise
<any
>
animateSet
▸ animateSet(target
, anims
, updaters
, parallel?
): Promise
<undefined
| any
[]>
Parameters
Name | Type | Default value |
---|---|---|
target | any | undefined |
anims | IAnimSet | undefined |
updaters | Record <TUpdaterType , () => void > | undefined |
parallel | boolean | false |
Returns
Promise
<undefined
| any
[]>
computeOffsetMatrix
▸ computeOffsetMatrix(geometry
): Matrix4
Parameters
Name | Type |
---|---|
geometry | BufferGeometry <NormalBufferAttributes , BufferGeometryEventMap > |
Returns
Matrix4
computeEigenVectors
▸ computeEigenVectors(geometry
): Matrix4
Parameters
Name | Type |
---|---|
geometry | BufferGeometry <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
Name | Type |
---|---|
client | AwsClient |
input | RequestInfo |
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
Name | Type |
---|---|
target | any |
key | string |
setDirty? | () => void |
Returns
fn
▸ (a
): void
Parameters
Name | Type |
---|---|
a | V |
Returns
void
isAnimatableType
▸ isAnimatableType(value
): boolean
Parameters
Name | Type |
---|---|
value | any |
Returns
boolean
animateTarget
▸ animateTarget<V
>(target
, key
, options
, animations?
, forceCurrent?
): Promise
<void
>
Type parameters
Name |
---|
V |
Parameters
Name | Type | Default value |
---|---|---|
target | any | undefined |
key | string | undefined |
options | AnimationOptions <V > | undefined |
animations? | {}[] | undefined |
forceCurrent | boolean | false |
Returns
Promise
<void
>
animateAsync
▸ animateAsync<V
>(options
, animations?
): Promise
<void
>
Type parameters
Name | Type |
---|---|
V | number |
Parameters
Name | Type |
---|---|
options | PlaybackOptions <V > & DecayOptions & { onEnd? : () => void } & PlaybackOptions <V > & SpringOptions & { onEnd? : () => void } & PlaybackOptions <V > & KeyframeOptions <V > & { onEnd? : () => void } |
animations? | {}[] |
Returns
Promise
<void
>
autoGPUInstanceMeshes
▸ autoGPUInstanceMeshes(matOrGeom
): void
Parameters
Name | Type |
---|---|
matOrGeom | any |
Returns
void
shaderReplaceString
▸ shaderReplaceString(shader
, str
, newStr
, __namedParameters?
): string
Parameters
Name | Type |
---|---|
shader | string |
str | string |
newStr | string |
__namedParameters | Object |
__namedParameters.replaceAll | undefined | boolean |
__namedParameters.prepend | undefined | boolean |
__namedParameters.append | undefined | boolean |
Returns
string
textureDataToImageData
▸ textureDataToImageData(imgData
, colorSpace?
, outData?
): ImageData
Parameters
Name | Type |
---|---|
imgData | TextureImageData | ImageData | { data : Uint8Array | Uint16Array | Float32Array ; width : number ; height : number } |
colorSpace? | ColorSpace |
outData? | ImageData |
Returns
ImageData
textureToCanvas
▸ textureToCanvas(texture
, maxWidth
, flipY?
): HTMLCanvasElement
Parameters
Name | Type | Default value |
---|---|---|
texture | Texture <TextureEventMap > | DataTexture | undefined |
maxWidth | number | undefined |
flipY | boolean | false |
Returns
HTMLCanvasElement
texImageToCanvas
▸ texImageToCanvas(image
, maxWidth
, flipY?
): HTMLCanvasElement
Parameters
Name | Type | Default value |
---|---|---|
image | TexImageSource | undefined |
maxWidth | number | undefined |
flipY | boolean | false |
Returns
HTMLCanvasElement
textureToDataUrl
▸ textureToDataUrl(texture
, maxWidth
, flipY
, mimeType?
, quality?
): string
Parameters
Name | Type |
---|---|
texture | Texture <TextureEventMap > | DataTexture |
maxWidth | number |
flipY | boolean |
mimeType? | string |
quality? | number |
Returns
string
removeDuplicateGeometries
▸ removeDuplicateGeometries(obj
): void
Parameters
Name | Type |
---|---|
obj | Object3D <Object3DEventMap > |
Returns
void
serialize
▸ serialize(key?
): PropertyDecorator
Parameters
Name | Type |
---|---|
key? | string |
Returns
PropertyDecorator
serializeObject
▸ serializeObject(obj
, isThis
, meta?
): any
Parameters
Name | Type | Description |
---|---|---|
obj | any | |
isThis | boolean | does 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
Name | Type | Description |
---|---|---|
data | any | |
object | T | current object that's set. If possible the data is deserialized into that instead of creating new objects. |
isThis | boolean | set it to true if called from the object itself like from fromJSON() |
meta | Record <string , any > |
Returns
T
serializable
▸ serializable(id
): <T>(constructor
: T
) => T
Parameters
Name | Type |
---|---|
id | string |
Returns
fn
▸ <T
>(constructor
): T
Type parameters
Name | Type |
---|---|
T | extends (...args : any []) => any |
Parameters
Name | Type |
---|---|
constructor | T |
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
Name | Type |
---|---|
texture | Object |
texture.uuid | string |
texture.userData | any |
texture.type | string |
texture.source? | any |
texture.name? | string |
meta | any |
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
Name | Type |
---|---|
value | Vector4 |
maxRange | number |
Returns
Vector4
cRGBMToLinear
▸ cRGBMToLinear(value
, maxRange
): Color
Parameters
Name | Type |
---|---|
value | Vector4 |
maxRange | number |
Returns
Color
vLinearToRGBM
▸ vLinearToRGBM(value
, maxRange
): Vector4
Parameters
Name | Type |
---|---|
value | Vector4 |
maxRange | number |
Returns
Vector4
cLinearToRGBM
▸ cLinearToRGBM(value
, maxRange
): Vector4
Parameters
Name | Type |
---|---|
value | Color |
maxRange | number |
Returns
Vector4
rotateDuplicatedMesh
▸ rotateDuplicatedMesh<T
>(obj
, rotations
, skips
, axis?
): T
| undefined
Type parameters
Name | Type |
---|---|
T | extends Object3D <Object3DEventMap , T > |
Parameters
Name | Type | Default value |
---|---|---|
obj | T | undefined |
rotations | number | undefined |
skips | undefined | number [] | undefined |
axis | "x" | "y" | "z" | 'x' |
Returns
T
| undefined
snapObject
▸ snapObject(viewer
, object?
, root?
, channel?
, camOffset?
): string
Parameters
Name | Type | Default value |
---|---|---|
viewer | ViewerApp | undefined |
object? | Object3D <Object3DEventMap > | undefined |
root? | Scene <Object3DEventMap > | undefined |
channel | number | 7 |
camOffset | Vector3 | undefined |
Returns
string
computeScreenSpaceBoundingBox
▸ computeScreenSpaceBoundingBox(obj
, camera
): Box2
Parameters
Name | Type |
---|---|
obj | Object3D <Object3DEventMap > |
camera | Camera <Object3DEventMap > |
Returns
Box2
getTexelDecodingFunction
▸ getTexelDecodingFunction(functionName
, colorSpace
): string
Parameters
Name | Type |
---|---|
functionName | string |
colorSpace | ColorSpace |
Returns
string
getTexelDecoding
▸ getTexelDecoding(mapName
, colorSpace?
): string
Parameters
Name | Type |
---|---|
mapName | string |
colorSpace? | ColorSpace |
Returns
string
uniform
▸ uniform(__namedParameters?
): PropertyDecorator
Parameters
Name | Type |
---|---|
__namedParameters | Object |
__namedParameters.uniforms? | any |
__namedParameters.propKey? | string | symbol |
__namedParameters.thisTarget? | boolean |
Returns
PropertyDecorator
matDefine
▸ matDefine(key?
, customDefines?
, thisMat?
, onChange?
): PropertyDecorator
Parameters
Name | Type | Default value | Description |
---|---|---|---|
key? | string | symbol | undefined | define name |
customDefines? | any | undefined | object for setting define value (like ShaderMaterial.defines), otherwise this.material.defines is taken |
thisMat | boolean | false | access this.defines instead of this.material.defines |
onChange? | (...args : any []) => any | undefined | - |
Returns
PropertyDecorator
dataTextureFromColor
▸ dataTextureFromColor(color
): DataTexture
Parameters
Name | Type |
---|---|
color | Color |
Returns
DataTexture
dataTextureFromVec4
▸ dataTextureFromVec4(color
): DataTexture
Parameters
Name | Type |
---|---|
color | Vector4 |
Returns
DataTexture
setThreeRendererMode
▸ setThreeRendererMode(renderer
, ud
, render
): void
Parameters
Name | Type |
---|---|
renderer | WebGLRenderer |
ud | Object |
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
Name | Type | Default value |
---|---|---|
obj | Object3D <Object3DEventMap > | undefined |
undo | boolean | false |
Returns
Object3D
<Object3DEventMap
>
pivotToBBoxCenter
▸ pivotToBBoxCenter(obj
): () => void
Parameters
Name | Type |
---|---|
obj | Object3D <Object3DEventMap > |
Returns
fn
▸ (): void
Returns
void
pivotToPoint
▸ pivotToPoint(obj
, pivot
): () => void
Parameters
Name | Type |
---|---|
obj | Object3D <Object3DEventMap > |
pivot | Vector3 |
Returns
fn
▸ (): void
Returns
void
autoScaleObject3D
▸ autoScaleObject3D(obj
, autoScaleRadius?
, isCentered?
, undo?
): Object3D
<Object3DEventMap
>
Parameters
Name | Type | Default value |
---|---|---|
obj | Object3D <Object3DEventMap > | undefined |
autoScaleRadius? | number | undefined |
isCentered? | boolean | undefined |
undo | boolean | false |
Returns
Object3D
<Object3DEventMap
>
toIndexedGeometry
▸ toIndexedGeometry(geometry
, tolerance?
): BufferGeometry
<NormalBufferAttributes
, BufferGeometryEventMap
>
Convert geometry to BufferGeometry with indexed attributes.
Parameters
Name | Type | Default value |
---|---|---|
geometry | BufferGeometry <NormalBufferAttributes , BufferGeometryEventMap > | undefined |
tolerance | number | -1 |
Returns
BufferGeometry
<NormalBufferAttributes
, BufferGeometryEventMap
>
addSSBevel
▸ addSSBevel(material
): boolean
Parameters
Name | Type |
---|---|
material | Material <MaterialEventMap > |
Returns
boolean
patchShaderEncodingSupport
▸ patchShaderEncodingSupport(shader
, ...textureIds
): ShaderMaterialEncodingSupport
Parameters
Name | Type |
---|---|
shader | any |
...textureIds | string [] |
Returns
Variables
diamondMaterialPropList
• Const
diamondMaterialPropList: Partial
<DiamondMaterial
> | Record
<string
, any
>
supportsRequestStreams
• Const
supportsRequestStreams: boolean
defaultPresets
• Const
defaultPresets: Object
Type declaration
Name | Type |
---|---|
Background | IAsset [] |
Environment | IAsset [] |
GemEnvironment | IAsset [] |
GemEnvironment2 | IAsset [] |
GemEnvironment3 | IAsset [] |
Ground | IAsset [] |
CameraViews | IAsset [] |
MaterialConfiguration | IAsset [] |
MaterialLibraries | IAsset [] |
EasingFunctions
• Const
EasingFunctions: Object
Type declaration
Name | Type |
---|---|
linear | Easing |
easeIn | Easing |
easeOut | Easing |
easeInOut | Easing |
circIn | Easing |
circOut | Easing |
circInOut | Easing |
backIn | Easing |
backOut | Easing |
backInOut | Easing |
anticipate | Easing |
bounceOut | (p : number ) => number |
bounceIn | Easing |
bounceInOut | (p : number ) => number |
easeInOutSine | (x : number ) => number |
serializers
• Const
serializers: Object
Type declaration
Name | Type |
---|---|
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
Name | Type |
---|---|
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
Name | Type |
---|---|
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.value | null |
uniforms.tNormalDepth | { value : null = null } |
uniforms.tNormalDepth.value | null |
uniforms.blurTexture | { value : null = null } |
uniforms.blurTexture.value | null |
uniforms.cocTexture | { value : null = null } |
uniforms.cocTexture.value | null |
uniforms.cocTextureSize | { value : Vector2 } |
uniforms.cocTextureSize.value | Vector2 |
uniforms.cameraNearFar | { value : Vector2 } |
uniforms.cameraNearFar.value | Vector2 |
vertexShader | any |
fragmentShader | string |