@@ -30,7 +30,7 @@ export const BillboardScaling = {
3030 }
3131} ;
3232
33- export class BaseVectorElement < T extends NTVectorElement , U extends VectorElementOptions > extends BaseNative < T , U > {
33+ export abstract class BaseVectorElement < T extends NTVectorElement , U extends VectorElementOptions > extends BaseNative < T , U > {
3434 @nativeProperty visible : boolean ;
3535 createNative ( options : U ) {
3636 return null ;
@@ -52,6 +52,10 @@ export class BaseVectorElement<T extends NTVectorElement, U extends VectorElemen
5252 this . native . setMetaData ( theMap ) ;
5353 }
5454 }
55+ abstract buildStyle ( ) ;
56+ rebuildStyle ( ) {
57+ ( this . native as any ) . setStyle ( this . buildStyle ( ) ) ;
58+ }
5559}
5660
5761export abstract class BasePointVectorElement <
@@ -122,6 +126,7 @@ export class VectorElement extends BaseVectorElement<NTVectorElement, VectorElem
122126 createNative ( ) {
123127 return null ;
124128 }
129+ buildStyle ( ) { }
125130}
126131export class VectorElementVector extends BaseNative < NTVectorElementVector , any > {
127132 elements : BaseVectorElement < any , any > [ ] ;
@@ -141,7 +146,7 @@ export class VectorElementVector extends BaseNative<NTVectorElementVector, any>
141146 return this . elements . length ;
142147 }
143148 getElement ( index : number ) : BaseVectorElement < any , any > {
144- return this . elements [ index ] || new BaseVectorElement ( undefined , this . native . get ( index ) ) ;
149+ return this . elements [ index ] || new VectorElement ( undefined , this . native . get ( index ) ) ;
145150 }
146151 add ( element : BaseVectorElement < any , any > ) {
147152 this . elements . push ( element ) ;
0 commit comments