hpg-r3f-model-scene
Version:
Pretty Footer react component used in ant.design
538 lines (537 loc) • 18.6 kB
TypeScript
import type { MeshPhysicalMaterial } from 'three';
import type { Metalness, MaterialColor, Roughness, TextureMap, TextureFormat, TextureFiltering, TextureWrapping, TextureMapping, TextureRotation, TextureOffset, TextureRepeat, Reflectivity, IOR, Intensity, DisplacementScale, NormalScale, BumpScale, Sheen, SheenTint, SheenRoughness, Clearcoat, IScale, ClearcoatRoughness, Transmission, AlphaModeValue, OpacityValue, AlphaTestValue, InvertAlphaTexture, ISide, IScreenShot } from '../interface';
import { AlphaMode } from '../interface';
import { MaterialFunc } from './enums';
declare const setMaterial: {
setMetalness: (material: MeshPhysicalMaterial, metalness: Metalness) => void;
setRoughness: (material: MeshPhysicalMaterial, roughness: Roughness) => void;
setColor: (material: MeshPhysicalMaterial, color: MaterialColor) => void;
setMaterialMap: (material: MeshPhysicalMaterial, textureMap: TextureMap) => void;
setMaterialTextureFormat: (material: MeshPhysicalMaterial, format: TextureFormat) => void;
setMaterialTextureFiltering: (material: MeshPhysicalMaterial, textureFiltering: TextureFiltering) => void;
setMaterialTextureWrapT: (material: MeshPhysicalMaterial, textureMapping: TextureWrapping) => void;
setMaterialTextureWrapS: (material: MeshPhysicalMaterial, textureMapping: TextureWrapping) => void;
setMaterialTextureMapping: (material: MeshPhysicalMaterial, textureMapping: TextureMapping) => void;
setMaterialTextureRotation: (material: MeshPhysicalMaterial, textureRotation: TextureRotation) => void;
setMaterialTextureOffset: (material: MeshPhysicalMaterial, textureOffset: TextureOffset) => void;
setMaterialTextureRepeat: (material: MeshPhysicalMaterial, textureRepeat: TextureRepeat) => void;
setReflectivity: (material: MeshPhysicalMaterial, reflectivity: Reflectivity) => void;
setIOR(material: MeshPhysicalMaterial, value: IOR): void;
setEnvMapIntensity(material: MeshPhysicalMaterial, value: Intensity): void;
setAoIntensity(material: MeshPhysicalMaterial, value: Intensity): void;
setDisplacementScale(material: MeshPhysicalMaterial, value: DisplacementScale): void;
setNormalScale(material: MeshPhysicalMaterial, value: NormalScale): void;
setBumpScale(material: MeshPhysicalMaterial, value: BumpScale): void;
setSheen(material: MeshPhysicalMaterial, value: Sheen): void;
setMaterialSheenTint(material: MeshPhysicalMaterial, value: SheenTint): void;
setMaterialSheenRoughness(material: MeshPhysicalMaterial, value: SheenRoughness): void;
setClearcoat(material: MeshPhysicalMaterial, value: Clearcoat): void;
setClearcoatNormal(material: MeshPhysicalMaterial, value: IScale): void;
setClearcoatRoughness(material: MeshPhysicalMaterial, value: ClearcoatRoughness): void;
setTransmission(material: MeshPhysicalMaterial, value: Transmission): void;
setAlphaMode(material: MeshPhysicalMaterial, alphaModeValue: AlphaModeValue): void;
setOpacity(material: MeshPhysicalMaterial, value: OpacityValue): void;
setAlphaTest(material: MeshPhysicalMaterial, value: AlphaTestValue): void;
invertAlphaTexture(material: MeshPhysicalMaterial, value: InvertAlphaTexture): void;
setEmissiveIntensity(material: MeshPhysicalMaterial, value: Intensity): void;
setEmissive: (material: MeshPhysicalMaterial, color: MaterialColor) => void;
setSide: (material: MeshPhysicalMaterial, value: ISide) => void;
setSpecularIntensity: (material: MeshPhysicalMaterial, value: Intensity) => void;
setSpecularColor: (material: MeshPhysicalMaterial, color: MaterialColor) => void;
exportScene: (material: MeshPhysicalMaterial) => Promise<{
type: string;
side: import("three").Side;
depthWrite: boolean;
transparent: boolean;
color: string;
map: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
roughness: number;
roughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
metalness: number;
metalnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
opacity: number;
alphaTest: number;
alphaMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
aoMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
aoMapIntensity: number;
bumpMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
bumpScale: number;
normalMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
normalMapType: import("three").NormalMapTypes;
normalScale: import("three").Vector2Tuple;
displacementMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
displacementBias: number;
displacementScale: number;
emissive: string;
emissiveMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
emissiveIntensity: number;
envMapIntensity: number;
clearcoat: number;
clearcoatMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
clearcoatNormalMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
clearcoatNormalScale: import("three").Vector2Tuple;
clearcoatRoughness: number;
clearcoatRoughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
ior: number;
reflectivity: number;
sheen: number;
transmission: number;
transmissionMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
specularIntensity: number;
specularColor: string;
specularColorMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
sheenColor: string;
sheenColorMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
sheenRoughness: number;
sheenRoughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
alphaMode: AlphaMode;
}>;
materialChange: (material: MeshPhysicalMaterial, jsonConfig: any) => Promise<MeshPhysicalMaterial>;
};
export declare const setMaterialOnMessage: (action: MaterialFunc, material: MeshPhysicalMaterial, params: any) => Promise<MeshPhysicalMaterial | {
type: string;
side: import("three").Side;
depthWrite: boolean;
transparent: boolean;
color: string;
map: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
roughness: number;
roughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
metalness: number;
metalnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
opacity: number;
alphaTest: number;
alphaMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
aoMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
aoMapIntensity: number;
bumpMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
bumpScale: number;
normalMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
normalMapType: import("three").NormalMapTypes;
normalScale: import("three").Vector2Tuple;
displacementMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
displacementBias: number;
displacementScale: number;
emissive: string;
emissiveMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
emissiveIntensity: number;
envMapIntensity: number;
clearcoat: number;
clearcoatMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
clearcoatNormalMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
clearcoatNormalScale: import("three").Vector2Tuple;
clearcoatRoughness: number;
clearcoatRoughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
ior: number;
reflectivity: number;
sheen: number;
transmission: number;
transmissionMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
specularIntensity: number;
specularColor: string;
specularColorMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
sheenColor: string;
sheenColorMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
sheenRoughness: number;
sheenRoughnessMap: {
url: string;
format: number;
minFilter: number;
magFilter: number;
wrapS: number;
wrapT: number;
rotation: number;
offset: number[] | null;
repeat: number[] | null;
userData?: any;
} | undefined;
alphaMode: AlphaMode;
} | null>;
export declare const setMaterialActions: MaterialFunc[];
export default setMaterial;
export declare const setMaterialMessage: {
setColor: (color: MaterialColor) => void;
setMetalness: (metalness: Metalness) => void;
setRoughness: (roughness: Roughness) => void;
setMaterialMap: (textureMap: TextureMap) => void;
setMaterialTextureFormat: (format: TextureFormat) => void;
setMaterialTextureFiltering: (textureFiltering: TextureFiltering) => void;
setMaterialTextureWrapT: (textureWrapping: TextureWrapping) => void;
setMaterialTextureWrapS: (textureWrapping: TextureWrapping) => void;
setMaterialTextureMapping: (textureMapping: TextureMapping) => void;
setMaterialTextureRotation: (textureRotation: TextureRotation) => void;
setMaterialTextureOffset: (textureOffset: TextureOffset) => void;
setMaterialTextureRepeat: (textureRepeat: TextureRepeat) => void;
setReflectivity: (reflectivity: Reflectivity) => void;
setIOR: (ior: IOR) => void;
setEnvMapIntensity: (intensity: Intensity) => void;
setAoIntensity: (intensity: Intensity) => void;
setDisplacementScale: (value: DisplacementScale) => void;
setNormalScale: (value: NormalScale) => void;
setBumpScale: (value: BumpScale) => void;
setSheen: (value: Sheen) => void;
setMaterialSheenTint: (value: SheenTint) => void;
setMaterialSheenRoughness: (value: SheenRoughness) => void;
setClearcoat: (value: Clearcoat) => void;
setClearcoatNormal: (value: IScale) => void;
setClearcoatRoughness: (value: ClearcoatRoughness) => void;
setTransmission: (value: Transmission) => void;
setAlphaMode: (value: AlphaModeValue) => void;
setOpacity: (value: OpacityValue) => void;
setAlphaTest: (value: AlphaTestValue) => void;
invertAlphaTexture: (value: InvertAlphaTexture) => void;
setEmissiveIntensity: (value: Intensity) => void;
setEmissive: (value: MaterialColor) => void;
setSide: (value: ISide) => void;
setSpecularIntensity: (value: Intensity) => void;
setSpecularColor: (value: MaterialColor) => void;
exportScene: () => void;
screenshot: (value?: IScreenShot) => void;
materialChange: (value?: any) => void;
};
export declare const setBackgroundActions: MaterialFunc[];
export declare const setBackgroundMessage: {
setBackground: (color: number[] | string | null) => void;
};
export declare const setBackgroundOnMessage: (action: MaterialFunc, params: any) => Promise<any>;