File

projects/atft/src/lib/camera/perspective-camera.component.ts

Extends

AbstractCamera

Metadata

Index

Properties
Methods
Inputs

Constructor

constructor(rendererService: RendererService)
Parameters :
Name Type Optional
rendererService RendererService No

Inputs

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

Methods

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 :
Name Type Optional
aspect number No
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 :
Name Type Optional
changes SimpleChanges No
Returns : void
Public ngOnInit
ngOnInit()
Inherited from AbstractCamera
Defined in AbstractCamera:24
Returns : void

Properties

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();
  }

}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""