2025-06-22 17:23:54 +00:00
|
|
|
<div #rendererContainer class="renderer-container">
|
|
|
|
|
<div class="plane-controls-overlay">
|
2025-06-22 21:24:06 +00:00
|
|
|
<div>
|
|
|
|
|
<mat-form-field appearance="outline" style="width: 10ch">
|
|
|
|
|
<mat-label>Opacity</mat-label>
|
|
|
|
|
<input matInput type="number" [(ngModel)]="opacity" min="0" max="1" step="0.01" placeholder="">
|
|
|
|
|
</mat-form-field>
|
|
|
|
|
</div>
|
2025-06-22 21:15:06 +00:00
|
|
|
<div class="button-row">
|
|
|
|
|
<button mat-mini-fab color="primary" (click)="resetCamera()"
|
2025-12-27 20:55:00 +00:00
|
|
|
matTooltip="Reset camera">
|
2025-06-22 21:15:06 +00:00
|
|
|
<mat-icon>location_searching</mat-icon>
|
|
|
|
|
</button>
|
2025-06-22 18:53:11 +00:00
|
|
|
|
2025-12-27 20:55:00 +00:00
|
|
|
<button mat-mini-fab color="primary" (click)="toggleShowParticlesWhenIntersectingPlane()"
|
|
|
|
|
[matTooltip]="onlyIntersecting ? 'Show all particles' : 'Show only intersecting particles'">
|
|
|
|
|
<mat-icon>{{ onlyIntersecting ? 'visibility_off' : 'visibility' }}</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
|
2025-06-22 21:15:06 +00:00
|
|
|
<button mat-mini-fab color="primary" (click)="togglePlaneLock()"
|
2025-12-27 20:55:00 +00:00
|
|
|
[matTooltip]="isPlaneLocked ? 'Unlock Plane' : 'Lock Plane'">
|
2025-06-22 21:15:06 +00:00
|
|
|
<mat-icon>{{ isPlaneLocked ? 'lock' : 'lock_open' }}</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
2025-06-22 17:23:54 +00:00
|
|
|
|
2025-07-15 19:48:23 +00:00
|
|
|
@if (isPlaneLocked) {
|
|
|
|
|
<div class="plane-orientation-buttons">
|
|
|
|
|
<button mat-mini-fab color="warn" (click)="setPlaneOrientation(planeOrientations.VERTICAL_ABOVE)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.VERTICAL_ABOVE"
|
|
|
|
|
matTooltip="Vertical Above">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_upward</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
<button mat-mini-fab color="warn" (click)="setPlaneOrientation(planeOrientations.VERTICAL_BELOW)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.VERTICAL_BELOW"
|
|
|
|
|
matTooltip="Vertical Below">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_downward</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
<button mat-mini-fab color="primary" (click)="setPlaneOrientation(planeOrientations.HORIZONTAL_FRONT)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.HORIZONTAL_FRONT"
|
|
|
|
|
matTooltip="Horizontal Front">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_forward</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
<button mat-mini-fab color="primary" (click)="setPlaneOrientation(planeOrientations.HORIZONTAL_BEHIND)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.HORIZONTAL_BEHIND"
|
|
|
|
|
matTooltip="Horizontal Behind">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_back</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
<button mat-mini-fab color="accent" (click)="setPlaneOrientation(planeOrientations.HORIZONTAL_RIGHT)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.HORIZONTAL_RIGHT"
|
|
|
|
|
matTooltip="Horizontal Right">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_right</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
<button mat-mini-fab color="accent" (click)="setPlaneOrientation(planeOrientations.HORIZONTAL_LEFT)"
|
2025-12-27 20:55:00 +00:00
|
|
|
[class.active]="currentPlaneOrientation === planeOrientations.HORIZONTAL_LEFT"
|
|
|
|
|
matTooltip="Horizontal Left">
|
2025-07-15 19:48:23 +00:00
|
|
|
<mat-icon>arrow_left</mat-icon>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
2025-06-22 17:23:54 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|