@@ -5,11 +5,12 @@ import {
5
5
CUSTOM_ELEMENTS_SCHEMA ,
6
6
effect ,
7
7
ElementRef ,
8
+ inject ,
8
9
input ,
9
10
untracked ,
10
11
viewChild ,
11
12
} from '@angular/core' ;
12
- import { extend , NgtArgs , NgtMesh , omit , pick } from 'angular-three' ;
13
+ import { extend , NgtArgs , NgtMesh , NgtObjectEvents , NgtObjectEventsOutputs , omit , pick } from 'angular-three' ;
13
14
import { mergeInputs } from 'ngxtension/inject-inputs' ;
14
15
import { ExtrudeGeometry , Mesh , Shape } from 'three' ;
15
16
import { toCreasedNormals } from 'three-stdlib' ;
@@ -60,6 +61,7 @@ const defaultOptions: NgtsRoundedBoxOptions = {
60
61
schemas : [ CUSTOM_ELEMENTS_SCHEMA ] ,
61
62
changeDetection : ChangeDetectionStrategy . OnPush ,
62
63
imports : [ NgtArgs ] ,
64
+ hostDirectives : [ { directive : NgtObjectEvents , outputs : NgtObjectEventsOutputs } ] ,
63
65
} )
64
66
export class NgtsRoundedBox {
65
67
options = input ( defaultOptions , { transform : mergeInputs ( defaultOptions ) } ) ;
@@ -113,6 +115,16 @@ export class NgtsRoundedBox {
113
115
constructor ( ) {
114
116
extend ( { ExtrudeGeometry, Mesh } ) ;
115
117
118
+ const objectEvents = inject ( NgtObjectEvents , { host : true } ) ;
119
+
120
+ effect (
121
+ ( ) => {
122
+ const mesh = this . meshRef ( ) . nativeElement ;
123
+ objectEvents . ngtObjectEvents . set ( mesh ) ;
124
+ } ,
125
+ { allowSignalWrites : true } ,
126
+ ) ;
127
+
116
128
effect ( ( ) => {
117
129
const geometry = this . geometryRef ( ) ?. nativeElement ;
118
130
if ( ! geometry ) return ;
0 commit comments