UNPKG

@omnedia/ngx-steel-beams

Version:

An Angular standalone component rendering animated 3D steel beams with a realistic procedural shader effect using Three.js.

48 lines (45 loc) 2.28 kB
import * as _angular_core from '@angular/core'; import { AfterViewInit, OnDestroy, ElementRef } from '@angular/core'; declare class NgxSteelBeamsComponent implements AfterViewInit, OnDestroy { private platformId; containerRef: ElementRef<HTMLDivElement>; set beamWidth(v: number); set beamHeight(v: number); set beamNumber(v: number); set lightColor(v: string); set speed(v: number); set noiseIntensity(v: number); set scale(v: number); set rotation(v: number); beamWidthSignal: _angular_core.WritableSignal<number>; beamHeightSignal: _angular_core.WritableSignal<number>; beamNumberSignal: _angular_core.WritableSignal<number>; lightColorSignal: _angular_core.WritableSignal<string>; speedSignal: _angular_core.WritableSignal<number>; noiseIntensitySignal: _angular_core.WritableSignal<number>; scaleSignal: _angular_core.WritableSignal<number>; rotationSignal: _angular_core.WritableSignal<number>; private renderer?; private scene?; private camera?; private mesh?; private material?; private animationFrameId?; private intersectionObserver?; private running; private initialized; isInView: _angular_core.WritableSignal<boolean>; private noiseGLSL; constructor(platformId: Object); ngAfterViewInit(): void; ngOnDestroy(): void; private observeInView; private setupScene; private animate; private extendMaterial; private hexToNormalizedRGB; private createStackedPlanesBufferGeometry; static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxSteelBeamsComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxSteelBeamsComponent, "om-steel-beams", never, { "beamWidth": { "alias": "beamWidth"; "required": false; }; "beamHeight": { "alias": "beamHeight"; "required": false; }; "beamNumber": { "alias": "beamNumber"; "required": false; }; "lightColor": { "alias": "lightColor"; "required": false; }; "speed": { "alias": "speed"; "required": false; }; "noiseIntensity": { "alias": "noiseIntensity"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "rotation": { "alias": "rotation"; "required": false; }; }, {}, never, never, true, never>; } export { NgxSteelBeamsComponent };