projects/atft/src/lib/camera/perspective-camera.component.ts
providers |
provideParent(PerspectiveCameraComponent, AbstractCamera)
|
selector | atft-perspective-camera |
template |
|
Properties |
Methods |
|
Inputs |
constructor(rendererService: RendererService)
|
||||||
Parameters :
|
far | |
Type : number
|
|
fov | |
Type : number
|
|
near | |
Type : number
|
|
layer | |
Type : number
|
|
Inherited from
AbstractCamera
|
|
Defined in
AbstractCamera:16
|
positionX | |
Type : number
|
|
Inherited from
AbstractCamera
|
|
Defined in
AbstractCamera:10
|
positionY | |
Type : number
|
|
Inherited from
AbstractCamera
|
|
Defined in
AbstractCamera:11
|
positionZ | |
Type : number
|
|
Inherited from
AbstractCamera
|
|
Defined in
AbstractCamera:12
|
zAxisUp | |
Type : boolean
|
|
Default value : false
|
|
Inherited from
AbstractCamera
|
|
Defined in
AbstractCamera:14
|
Protected createCamera |
createCamera()
|
Inherited from
AbstractCamera
|
Defined in
AbstractCamera:24
|
Returns :
void
|
Public updateAspectRatio | ||||||
updateAspectRatio(aspect: number)
|
||||||
Inherited from
AbstractCamera
|
||||||
Defined in
AbstractCamera:35
|
||||||
Parameters :
Returns :
void
|
Protected applyPosition |
applyPosition()
|
Inherited from
AbstractCamera
|
Defined in
AbstractCamera:59
|
Returns :
void
|
Protected applyZAxisUp |
applyZAxisUp()
|
Inherited from
AbstractCamera
|
Defined in
AbstractCamera:69
|
Returns :
void
|
ngOnChanges | ||||||
ngOnChanges(changes: SimpleChanges)
|
||||||
Inherited from
AbstractCamera
|
||||||
Defined in
AbstractCamera:45
|
||||||
Parameters :
Returns :
void
|
Public ngOnInit |
ngOnInit()
|
Inherited from
AbstractCamera
|
Defined in
AbstractCamera:24
|
Returns :
void
|
camera |
Type : T
|
Inherited from
AbstractCamera
|
Defined in
AbstractCamera:8
|
import { Component, Input } from '@angular/core';
import * as THREE from 'three';
import { RendererService } from '../renderer/renderer.service';
import { provideParent } from '../util';
import { AbstractCamera } from './abstract-camera';
@Component({
selector: 'atft-perspective-camera',
providers: [provideParent(PerspectiveCameraComponent, AbstractCamera)],
template: '<ng-content></ng-content>'
})
export class PerspectiveCameraComponent extends AbstractCamera<THREE.PerspectiveCamera> {
@Input() fov!: number;
@Input() near!: number;
@Input() far!: number;
constructor(
protected override rendererService: RendererService
) {
super(rendererService);
}
protected createCamera(): void {
// console.log('PerspectiveCameraComponent.createCamera');
// let aspectRatio = undefined; // Updated later
this.camera = new THREE.PerspectiveCamera(
this.fov,
undefined,
this.near,
this.far
);
}
public updateAspectRatio(aspect: number) {
// console.log('PerspectiveCameraComponent.updateAspectRatio: ' + aspect);
this.camera.aspect = aspect;
this.camera.updateProjectionMatrix();
}
}