soonspacejs
Version:
soonspacejs 2.x
31 lines (30 loc) • 1.31 kB
TypeScript
import { MeshStandardMaterial, Vector3, Object3D, Mesh } from 'three';
import { DecalUVMapType } from '@three3d/decal';
import { BaseObjectInfo, IColor } from '../Interface';
import { BaseObject3D } from './BaseObject3D';
export { DecalUVMapType, };
export interface DecalInfo extends BaseObjectInfo {
url?: string;
color?: IColor;
opacity?: number;
snapping?: boolean;
snappingDistance?: number;
snappingTargets?: Object3D[];
uvMap?: DecalUVMapType;
offsetFactor?: number;
offsetUnits?: number;
epsilon?: number;
absoluteEpsilon?: boolean;
branchFace?: boolean;
}
export type DecalMaterialInfo = Pick<DecalInfo, 'color' | 'opacity'>;
export type DecalGeometryInfo = Pick<DecalInfo, 'snapping' | 'snappingDistance' | 'snappingTargets' | 'uvMap' | 'offsetFactor' | 'offsetUnits' | 'epsilon' | 'absoluteEpsilon'>;
declare class Decal extends BaseObject3D {
readonly params: DecalInfo;
decalMesh: Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, MeshStandardMaterial, import("three").Object3DEventMap>;
textureAspect: Vector3;
constructor(params: DecalInfo);
updateTexture(url: DecalInfo['url']): Promise<void>;
updateMaterial(params?: DecalMaterialInfo): void;
}
export { Decal, };