@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
TypeScript
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 };