From 8281dd24d59411ea4259b2fd7e49912251ee9875 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Fri, 31 May 2019 11:19:44 -0700 Subject: [PATCH] package updates and ts fixes --- package-lock.json | Bin 570913 -> 575785 bytes package.json | 29 +++++++++++++--------- src/mol-data/db/table.ts | 2 +- src/mol-gl/render-object.ts | 16 ++++++------ src/mol-math/graph/int-adjacency-graph.ts | 6 ++--- src/mol-repr/shape/representation.ts | 10 ++++---- src/mol-repr/structure/complex-visual.ts | 8 +++--- src/mol-repr/structure/units-visual.ts | 8 +++--- src/mol-repr/volume/representation.ts | 8 +++--- src/mol-util/set.ts | 2 +- src/servers/volume/config.ts | 8 ++---- 11 files changed, 49 insertions(+), 48 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3db077f62b8a695813533388b3ad68e8f0917b91..63217087816db2a87969dcfecf735d221decc48a 100644 GIT binary patch delta 4442 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 delta 3672 zcmZ2ENqONLC826wE(Hapyu{p8B`XD`-25Efje>H!r%zR6RGyrFjeT<dKGw}%yMJ>| zSLK0-Y>qz4!8qMuJDc`o{gdpIWlnHy?mp(uIQhSW&SZm=Y@0tE*8p=i8=TYzGeDw~ zqmS}!Za=k}aeBNZD@dKd=BP8OjMJapf*LyYY!}<~cx$j6+h*G<YK(9TCs$s54s(yj zbQ5z%<H_@Pv-9QUr=;rZ>Vqg<L!;>*GZ~eqPta#&4Jk=X3fIrnw#>~aN^|uOP4;mq zHL7q5DE9EujxhBvDy+10^DaotNi`16a&a^?&oXs%Er={MElaC3&UZ|8^l(oubMy;x z_BZwmGfpvbF)K9o%bc#r!>B$v{~Gt?%Ip8Z?%X`#hBDMQ6K)u6{(V!DY5Lb?Y>+_9 zJ;Oi!cN3fB^b4{~+|&PUXV(BZd2-L4xd>m`-&LM2xQq?#naOkRicD{|W>X0*$jLL# zO;0upOUw34w=@cm@OLTA(f9YuH#9NGDD}4V_bsk4Gjh*y%84?{Da-QnwlE6_^va0z z4e;?d%rrAgbTjq0^be?vN=?g8FZ0VOaq=v#njUD$Y6Xr4$=ke}lkPb|9S(}FL-$P? zC*QY$MCOO%?3-mCHZj3nIsI-aGtcG&j}I}zVt{@6U29g3%?qAh>Yi@9kV9g+z5_e= z^bPAcSf{TmWVD;kB*bJqUA~A>V)CPFDxq%f+IeoSQO+4&MM;5{C7#L2o@r5DPF2QU z=D9vaju{n+*^WthMPA`~7AfY5-u}+oKH-^Zi3aZ41tw92-UTL=hQ=Z0S*4L>DH(;9 zepTKn#YI`uCn_?kZ@*r|_{?GYhki!m=^r*T>P+|8%E3SVgCCPvh)YsfdS#kRNQhBE zW@&+bhDD0Eex*rZRGL>%aH6?!Qn_Jxltq$Bgs)+~d0MesX;NsIdt|b!wxOe6iGP)s zm#dF^L1ezWk)@eol|hu5zhh2{<@Chk9PZoiY++PUVKkiXc$(3CI$syF`1FfwS=B;| z!y*c^bAl7|OS~-;OH7Q-i`{bE3M&1Rz4G%aQVlADL-ZZpEnTt$y+czxUClfT-93HF zOoG!K1B1O2y^?}c!d$%~Jxd&eor|0@!vZ}D4Lt%=A-?>0lhMEr6sTs?!!?+M!GW6N z=oRV}VC-w=QQ;PmR9NC3lx&b0Rg_Yh>ZcuE<sY6JX;7#imgiRGshwRIRut)3<!qi5 zp5tBU9B!WP?3q%PACO&^R$yV|8dg>mk`riARU95T{o^t=_3hs@nAYh`S6ablI{juS zlf>kLTWX<YzNQu~<tcgIxh0j_ZovUnA%-U2mR=D_mIfZ$S*EGEi9sgbkx4~H-XWe< z1_t3C?n&YPsix@}fgu$}#>P?3K2aq_?k<i#Ro>;vS*|6)CB~+?lMC&vrvEv>D!hGX z7}ICH$<0TNr{8a75}$5d%&IV1L69ZXFv?uN#5l?{D$mK?$kZs^J2aruvn1K1A|*A^ z(ICRo*d#g8D78E}+p##TxZKj!-P|x!TRX}lDj+hiwAdnDzu45Nq|(CEw;(vowKOO@ zx4b+cX!^w4tg6!+9x@7SU(&{OIB)xkZ%j;q)9v~g#itu2GAT{}SI@`;PR-jnJeVu^ zrY~5{#5>u}RD&};M_*SzJxAAM`oYEQ>R~~dZV}q4p+&x#VG)&)iT;NACB+`D7O555 ziTb8S?vX~hA+DyrS)t*sX6asKL2iZak>##t1;qg+uBn-&$xb;D<}NO|9;rrwSzacE zl_C12Nkx&4(+&F=Ri`I}GxJS963Hkqy)K+NaC+NxMuF)I-m&sCo9P)%{}j$_I9;xR ziGTb51ZHjS>F3*+xu*vl;Lw;Jo5QR!{jw#Kl5}#quSaO6iAzO9QB{PaQ<!_0i)%r- zd8M&=_VkNfjLO^PbD3YVPA@iPGM?U0!pzPK@>)@1K}KPYuA#~Fi>6G<lM8mThNh%> znv|Jm2m3i2`(-$pC%ajA`(<Xi6lbQDhWi^u_?J`_R2G&NmKG)^=lENchm|^KM3!lL z=clJuxRj>{m=+h9=ec=WMw$7U1bU?B`(&qO6{UmxsM7wSn7RE!G0XN3#jM}#rgxb! znNAPb#mX{Welx4V^h*JZYN6(qg{A@Kk?x*mMJah<m7b1aCVmkGPJv!-;VIcwUKP%n zxyIi4=_Ur|7HPf)1(}YCZaL-o$%RR&St;QqKH-MRu2s&d6#+#VX09ofZp8uVVJVK& zKVD|EoNgn=Bs`sOD!agRyQyqk(+#$;vQNJn#w0vlZYsO@^n@*}A=?)$XR>15-n@;~ zlx2JWepX4o$*xEF+4B<f@^ceQrY~?}l-bUHj`ci0B<W09!Y(j<cNi1jcKLg(LQK<> ze=;ghe{hGDb$j6h)^6$P3Wu2Zr+=_!(U^WVl7nly?H^W=$wpIzr$4yHC>rWw<{KJr z;;kQ6mG5Oz<Yi#!<>p=CQdAOYSY}yXlwRc=VVY)Cn5Can<zbkspA&B8n-Lo2=ABv; zR-9Lv<)7hS99iXQ>0MZun5}JSkYnOg=2PGc_9#z5QEEYIUW#r;NlC$U!%d9h(*^#r z3QkvJVG`!ZFDlW^POU7SzHt$g^7i<@tUSrn1-co{r!PuilbOz>&!Qr0sB0D+Xi#Pr zQJCeFXW-$dAL^Kr;*@WZ9%bZ}JpEx3o5ptaL^c75=?nZAS*B-QV>6zfSIH(b{nBhk zsNd4F!u^YLje_&tbJBfWQykq(%oELubHe<yEpy#7BXR@Wd<%<QGkgNgEQ&G$OP%rx z(u$3>U2}8F3cV{U@|^Q6^#cNO+_WuyOCk-7f(;Yh(zU(7ew)6)i=Ab9c^bR=bh(La zV$&b+F!OF#tzu(+0r5p*61y1K7cz#rQIVmB;jS4O=3Z$LzJ5sofsvl29)?l*fx*)S z+ZipkzfWTKww``ijMaF0?mTw&$wjwRLcKjhl3WWTvLlMJ+&v7991U^`!lH6Kj7$Ap z+_K9<Gb~aJO?@j3BVA1V3<83qT=G0KoeeX6-9pTYDl1F9DqJGNqcRK%Q>(lS0typN z-GcJV^U|jWeq|Egt}vfnn-!FBB(|3?VPD9~Xgs<8sQGk<wd`!5oLG`tRGeC*YpiED z-LRNdY4U^vtRZfJRaF6Axy}Vyjvkf~W!XjriJ9R=ZiU*WzGjJG{%P7q-a$#_8BUd+ z!7dT{uBBNO#opRZj%7s|NoF3}Mnxq>KF%KAmVO3?<^BeSCS^sQ<zbUA+E`9M^O{|7 zy4q^?S`dq8`u0v{>1j6^`KIgbVA7e+)5R<?-R~x&(DZ;DM#<@=HyM+r|C3}=+b(a; zYRNeL&Kh?8$pLpvK`u9#t|H1PI5|OFG}PVS+q}@iG~Y2v-!$9R&?wEf)F&m+D5=Ch z*wWuAD$gXWI5oMz!=<u3Kh#-2%O@k)(c3>WGT$Jzs=~au*vK^^z_+T>HQX)V)u7lg z+{abhL_2?Sp`E2ba$<5~at64e8fR#zXE5Dl9lHrU)ACF|y^dXax~eie|Ma{Jc9H44 z9&CJqkkACRZR3pf49)Zmrwb-=C{LE?6qp{ho?VF1bh_aWMx*Vu)7cL(Lj1M;^mcX; zj_Iqp*o>!(7cz@XSK?+<lX7$n3eT-d^QbT=&B}8PsH!SS^>Z)DaSHUA{!oZbeDVQv z#pyQLjAGL@)EEV(GaY1?oZhd?#=m{yG4`v<paz5KbOBvPmg)0fvGYS(4WSk8MwNaQ zUZw@<?&Z0@RRO+{8T!u7dCqwm1|Dev=_NT~K`zCHmDy3*Ii+cCPCkZF`5`&sZb4N> zet}uZ`L3BR`9THRUX>vRIT=n#Ngn$7NtKYM-iG~blLeR+r+2+(U&UxJ-7kq*cly0k zta8&E-mvf8TqPRLxP8hyb}lYPlgShRn@kt@!p<`N`VV$7Mw7`Ozo>>pRwg@DgeI9- zhK6RO`1yvKCVH7ynYv~fMY!iCdOG<SR2Z9-MOhf7<r!zVm$_&sr5E`Yg}D?YmZVo1 zrI|-og!+0__+}@CS9nFGI+nRqgr%BKf5^|MF}?pMyE3z>p5gS1l}yIdpZ{c+U^Jbc zz{jE%>XVVL?dg?MSQ=qgoZ^*U=^gA<q3>&1X%dm-l46{i9gyW>5p3oWnHyqS85Ugb zQj!x~nw)4<ZkiEhl5UjZSzKTcsc({Bl#~`;;hkEMpOWiVW)3PTtf!xQ&CWgjz%TZ2 z($o0%fIsZH2Gg~2n7OB)-NmRg{pJQn5oRMj!^s~4L?#yqiH2qxgcKBog%@ahXPJZt z1(bN^Wu;blSp;f36^6K48d!!Ecvw_~WkeKtW#=cG20B}W`CEn*Rl55Zh7@TVW#nX4 zB^wqyn;DfD8D*H3M5PAgr}*kmZ(PCby8S^r^HRp?yOuC=ZLihmaMqjND9&g){c9|T z==8ufjB25IW<g>8#t{ZSNlBRn`L1S0iP^rcmfreap5}#-MdjtCX~jkcVP)xleg%c0 z`5q<~W(MBbi4|TUN$!QFN$J^PQErxQg_V^d?)nDd0X`na0bzb#-~_aNe;mh~*y#>k zEWFbLgjqDEKiI>;H+_mQi;8rbNlH$pYf42@QmAuerN5JpiMwx6VzEhTj>Y!uy&U_v E0b=$8O8@`> diff --git a/package.json b/package.json index 4e0873b4b..6b9b89280 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,11 @@ "testRegex": "\\.spec\\.ts$" }, "author": "Mol* Contributors", + "contributors": [ + "Alexander Rose <alexander.rose@weirdbyte.de>", + "David Sehnal <david.sehnal@gmail.com>", + "Sebastian Bittrich <sebastian.bittrich@rcsb.org>" + ], "license": "MIT", "devDependencies": { "benchmark": "^2.1.4", @@ -81,18 +86,18 @@ "graphql-codegen-typescript-template": "^0.18.2", "jest": "^24.8.0", "jest-raw-loader": "^1.0.1", - "mini-css-extract-plugin": "^0.6.0", + "mini-css-extract-plugin": "^0.7.0", "node-sass": "^4.12.0", "raw-loader": "^2.0.0", "resolve-url-loader": "^3.1.0", "sass-loader": "^7.1.0", "style-loader": "^0.23.1", "ts-jest": "^24.0.2", - "tslint": "^5.16.0", - "typescript": "^3.4.5", - "uglify-js": "^3.5.13", + "tslint": "^5.17.0", + "typescript": "^3.5.1", + "uglify-js": "^3.6.0", "util.promisify": "^1.0.0", - "webpack": "^4.31.0", + "webpack": "^4.32.2", "webpack-cli": "^3.3.2" }, "dependencies": { @@ -102,25 +107,25 @@ "@types/express": "^4.16.1", "@types/gl": "^4.1.0", "@types/jest": "^24.0.13", - "@types/node": "^12.0.2", + "@types/node": "^12.0.4", "@types/node-fetch": "^2.3.4", "@types/pngjs": "^3.3.2", - "@types/react": "^16.8.17", + "@types/react": "^16.8.19", "@types/react-dom": "^16.8.4", "@types/swagger-ui-dist": "3.0.0", "@types/webgl2": "0.0.4", "argparse": "^1.0.10", "compression": "^1.7.4", - "express": "^4.17.0", - "gl": "^4.2.2", - "graphql": "^14.3.0", + "express": "^4.17.1", + "gl": "^4.3.3", + "graphql": "^14.3.1", "immutable": "^3.8.2", "node-fetch": "^2.6.0", "pngjs": "^3.4.0", "react": "^16.8.6", "react-dom": "^16.8.6", "rxjs": "^6.5.2", - "swagger-ui-dist": "^3.22.1", - "xhr2": "^0.1.4" + "swagger-ui-dist": "^3.22.2", + "xhr2": "^0.2.0" } } diff --git a/src/mol-data/db/table.ts b/src/mol-data/db/table.ts index 3573c7bd6..b67be9677 100644 --- a/src/mol-data/db/table.ts +++ b/src/mol-data/db/table.ts @@ -196,7 +196,7 @@ namespace Table { const row: Row<S> = Object.create(null); const { _columns: cols } = table; for (let i = 0; i < cols.length; i++) { - const c = cols[i]; + const c = cols[i] as keyof S; row[c] = table[c].value(index); } return row; diff --git a/src/mol-gl/render-object.ts b/src/mol-gl/render-object.ts index ec7536ff3..a464f730d 100644 --- a/src/mol-gl/render-object.ts +++ b/src/mol-gl/render-object.ts @@ -20,14 +20,14 @@ const getNextId = idFactory(0, 0x7FFFFFFF) export const getNextMaterialId = idFactory(0, 0x7FFFFFFF) -export interface BaseRenderObject { id: number, type: string, values: RenderableValues, state: RenderableState, materialId: number } -export interface MeshRenderObject extends BaseRenderObject { type: 'mesh', values: MeshValues } -export interface PointsRenderObject extends BaseRenderObject { type: 'points', values: PointsValues } -export interface SpheresRenderObject extends BaseRenderObject { type: 'spheres', values: SpheresValues } -export interface TextRenderObject extends BaseRenderObject { type: 'text', values: TextValues } -export interface LinesRenderObject extends BaseRenderObject { type: 'lines', values: LinesValues } -export interface DirectVolumeRenderObject extends BaseRenderObject { type: 'direct-volume', values: DirectVolumeValues } -export interface TextureMeshRenderObject extends BaseRenderObject { type: 'texture-mesh', values: TextureMeshValues } +export interface BaseRenderObject<T extends RenderableValues> { id: number, type: string, values: T, state: RenderableState, materialId: number } +export interface MeshRenderObject extends BaseRenderObject<MeshValues> { type: 'mesh' } +export interface PointsRenderObject extends BaseRenderObject<PointsValues> { type: 'points' } +export interface SpheresRenderObject extends BaseRenderObject<SpheresValues> { type: 'spheres' } +export interface TextRenderObject extends BaseRenderObject<TextValues> { type: 'text' } +export interface LinesRenderObject extends BaseRenderObject<LinesValues> { type: 'lines' } +export interface DirectVolumeRenderObject extends BaseRenderObject<DirectVolumeValues> { type: 'direct-volume' } +export interface TextureMeshRenderObject extends BaseRenderObject<TextureMeshValues> { type: 'texture-mesh' } // diff --git a/src/mol-math/graph/int-adjacency-graph.ts b/src/mol-math/graph/int-adjacency-graph.ts index efd567b2e..d9460e228 100644 --- a/src/mol-math/graph/int-adjacency-graph.ts +++ b/src/mol-math/graph/int-adjacency-graph.ts @@ -297,9 +297,9 @@ export namespace IntAdjacencyGraph { newOffsets[++vo] = eo; } - const newEdgeProps: P = {} as any; - for (const key of Object.keys(edgeProps)) { - newEdgeProps[key] = arrayPickIndices(edgeProps[key], edgeIndices); + const newEdgeProps = {} as P; + for (const key of Object.keys(edgeProps) as (keyof P)[]) { + newEdgeProps[key] = arrayPickIndices(edgeProps[key], edgeIndices) as P[keyof P]; } return create(newOffsets, newA, newB, newEdgeCount, newEdgeProps); diff --git a/src/mol-repr/shape/representation.ts b/src/mol-repr/shape/representation.ts index b84a0bffc..43fb6ea0f 100644 --- a/src/mol-repr/shape/representation.ts +++ b/src/mol-repr/shape/representation.ts @@ -5,7 +5,7 @@ */ import { Task, RuntimeContext } from 'mol-task' -import { createRenderObject, GraphicsRenderObject, getNextMaterialId } from 'mol-gl/render-object'; +import { createRenderObject, getNextMaterialId, RenderObjectKindType, RenderObjectValuesType } from 'mol-gl/render-object'; import { Representation } from '../representation'; import { Loci, EmptyLoci, isEveryLoci } from 'mol-model/loci'; import { ValueCell } from 'mol-util'; @@ -36,8 +36,8 @@ export function ShapeRepresentation<D, G extends Geometry, P extends Geometry.Pa const updated = new Subject<number>() const _state = Representation.createState() const materialId = getNextMaterialId() - const renderObjects: GraphicsRenderObject[] = [] - let _renderObject: GraphicsRenderObject | undefined + const renderObjects: RenderObjectKindType[G['kind']][] = [] + let _renderObject: RenderObjectKindType[G['kind']] | undefined let _shape: Shape<G> let _theme = createEmptyTheme() let currentProps: PD.Values<P> = PD.getDefaultValues(geometryUtils.Params as P) // TODO avoid casting @@ -122,7 +122,7 @@ export function ShapeRepresentation<D, G extends Geometry, P extends Geometry.Pa if (updateState.updateTransform || updateState.createGeometry) { // console.log('updateBoundingSphere') - geometryUtils.updateBoundingSphere(_renderObject.values, _shape.geometry) + geometryUtils.updateBoundingSphere(_renderObject.values as RenderObjectValuesType[G['kind']], _shape.geometry) } if (updateState.updateColor) { @@ -138,7 +138,7 @@ export function ShapeRepresentation<D, G extends Geometry, P extends Geometry.Pa } } - geometryUtils.updateValues(_renderObject.values, newProps) + geometryUtils.updateValues(_renderObject.values as RenderObjectValuesType[G['kind']], newProps) geometryUtils.updateRenderableState(_renderObject.state, newProps) } diff --git a/src/mol-repr/structure/complex-visual.ts b/src/mol-repr/structure/complex-visual.ts index f42df562b..6728dfd3d 100644 --- a/src/mol-repr/structure/complex-visual.ts +++ b/src/mol-repr/structure/complex-visual.ts @@ -6,7 +6,7 @@ import { Structure } from 'mol-model/structure'; import { Visual, VisualContext } from '../visual'; -import { createRenderObject, GraphicsRenderObject } from 'mol-gl/render-object'; +import { createRenderObject, RenderObjectValuesType, RenderObjectKindType } from 'mol-gl/render-object'; import { UnitKind, UnitKindOptions } from './visual/util/common'; import { StructureMeshParams, StructureParams, StructureDirectVolumeParams } from './representation'; import { deepEqual, ValueCell } from 'mol-util'; @@ -65,7 +65,7 @@ export function ComplexVisual<G extends Geometry, P extends ComplexParams & Geom const { updateValues, updateBoundingSphere, updateRenderableState } = builder.geometryUtils const updateState = VisualUpdateState.create() - let renderObject: GraphicsRenderObject | undefined + let renderObject: RenderObjectKindType[G['kind']] | undefined let newProps: PD.Values<P> let newTheme: Theme @@ -137,7 +137,7 @@ export function ComplexVisual<G extends Geometry, P extends ComplexParams & Geom if (updateState.createGeometry) { if (newGeometry) { ValueCell.update(renderObject.values.drawCount, Geometry.getDrawCount(newGeometry)) - updateBoundingSphere(renderObject.values, newGeometry) + updateBoundingSphere(renderObject.values as RenderObjectValuesType[G['kind']], newGeometry) } else { throw new Error('expected geometry to be given') } @@ -154,7 +154,7 @@ export function ComplexVisual<G extends Geometry, P extends ComplexParams & Geom createColors(locationIt, newTheme.color, renderObject.values) } - updateValues(renderObject.values, newProps) + updateValues(renderObject.values as RenderObjectValuesType[G['kind']], newProps) updateRenderableState(renderObject.state, newProps) } diff --git a/src/mol-repr/structure/units-visual.ts b/src/mol-repr/structure/units-visual.ts index f62214001..8f86a0556 100644 --- a/src/mol-repr/structure/units-visual.ts +++ b/src/mol-repr/structure/units-visual.ts @@ -9,7 +9,7 @@ import { RepresentationProps } from '../representation'; import { Visual, VisualContext } from '../visual'; import { StructureMeshParams, StructurePointsParams, StructureLinesParams, StructureDirectVolumeParams, StructureSpheresParams, StructureTextureMeshParams } from './representation'; import { Loci, isEveryLoci, EmptyLoci } from 'mol-model/loci'; -import { GraphicsRenderObject, createRenderObject } from 'mol-gl/render-object'; +import { createRenderObject, RenderObjectKindType, RenderObjectValuesType } from 'mol-gl/render-object'; import { deepEqual, ValueCell } from 'mol-util'; import { Interval } from 'mol-data/int'; import { ParamDefinition as PD } from 'mol-util/param-definition'; @@ -65,7 +65,7 @@ export function UnitsVisual<G extends Geometry, P extends UnitsParams & Geometry const { createEmpty: createEmptyGeometry, updateValues, updateBoundingSphere, updateRenderableState } = builder.geometryUtils const updateState = VisualUpdateState.create() - let renderObject: GraphicsRenderObject | undefined + let renderObject: RenderObjectKindType[G['kind']] | undefined let newProps: PD.Values<P> = Object.assign({}, defaultProps) let newTheme: Theme = createEmptyTheme() @@ -181,7 +181,7 @@ export function UnitsVisual<G extends Geometry, P extends UnitsParams & Geometry if (updateState.updateTransform || updateState.createGeometry) { // console.log('UnitsVisual.updateBoundingSphere') - updateBoundingSphere(renderObject.values, newGeometry || geometry) + updateBoundingSphere(renderObject.values as RenderObjectValuesType[G['kind']], newGeometry || geometry) } if (updateState.updateSize) { @@ -197,7 +197,7 @@ export function UnitsVisual<G extends Geometry, P extends UnitsParams & Geometry createColors(locationIt, newTheme.color, renderObject.values) } - updateValues(renderObject.values, newProps) + updateValues(renderObject.values as RenderObjectValuesType[G['kind']], newProps) updateRenderableState(renderObject.state, newProps) } diff --git a/src/mol-repr/volume/representation.ts b/src/mol-repr/volume/representation.ts index 621c17ebc..309a65ac9 100644 --- a/src/mol-repr/volume/representation.ts +++ b/src/mol-repr/volume/representation.ts @@ -13,7 +13,7 @@ import { Geometry, GeometryUtils } from 'mol-geo/geometry/geometry'; import { ParamDefinition as PD } from 'mol-util/param-definition'; import { PickingId } from 'mol-geo/geometry/picking'; import { MarkerAction } from 'mol-geo/geometry/marker-data'; -import { GraphicsRenderObject, createRenderObject, getNextMaterialId } from 'mol-gl/render-object'; +import { GraphicsRenderObject, createRenderObject, getNextMaterialId, RenderObjectKindType, RenderObjectValuesType } from 'mol-gl/render-object'; import { Interval } from 'mol-data/int'; import { LocationIterator } from 'mol-geo/util/location-iterator'; import { VisualUpdateState } from 'mol-repr/util'; @@ -57,7 +57,7 @@ export function VolumeVisual<G extends Geometry, P extends VolumeParams & Geomet const { updateValues, updateBoundingSphere, updateRenderableState } = builder.geometryUtils const updateState = VisualUpdateState.create() - let renderObject: GraphicsRenderObject | undefined + let renderObject: RenderObjectKindType[G['kind']] | undefined let newProps: PD.Values<P> let newTheme: Theme @@ -119,7 +119,7 @@ export function VolumeVisual<G extends Geometry, P extends VolumeParams & Geomet if (updateState.createGeometry) { if (newGeometry) { ValueCell.update(renderObject.values.drawCount, Geometry.getDrawCount(newGeometry)) - updateBoundingSphere(renderObject.values, newGeometry) + updateBoundingSphere(renderObject.values as RenderObjectValuesType[G['kind']], newGeometry) } else { throw new Error('expected geometry to be given') } @@ -136,7 +136,7 @@ export function VolumeVisual<G extends Geometry, P extends VolumeParams & Geomet createColors(locationIt, newTheme.color, renderObject.values) } - updateValues(renderObject.values, newProps) + updateValues(renderObject.values as RenderObjectValuesType[G['kind']], newProps) updateRenderableState(renderObject.state, newProps) } diff --git a/src/mol-util/set.ts b/src/mol-util/set.ts index 3d5f648d9..af09cf608 100644 --- a/src/mol-util/set.ts +++ b/src/mol-util/set.ts @@ -43,7 +43,7 @@ export namespace SetUtils { /** Create set containing elements of set a that are also in set b. */ export function intersection<T>(setA: Set<T>, setB: Set<T>): Set<T> { - const intersection = new Set(); + const intersection = new Set<T>(); for (const elem of Array.from(setB)) { if (setA.has(elem)) intersection.add(elem); } diff --git a/src/servers/volume/config.ts b/src/servers/volume/config.ts index 236c1c7ba..7227d7738 100644 --- a/src/servers/volume/config.ts +++ b/src/servers/volume/config.ts @@ -75,9 +75,7 @@ const DefaultServerConfig = { export type ServerConfig = typeof DefaultServerConfig export const ServerConfig = { ...DefaultServerConfig } export function setServerConfig(config: ServerConfig) { - for (const name in DefaultServerConfig) { - ServerConfig[name as keyof ServerConfig] = config[name as keyof ServerConfig] - } + Object.assign(ServerConfig, config) } const DefaultLimitsConfig = { @@ -96,9 +94,7 @@ const DefaultLimitsConfig = { export type LimitsConfig = typeof DefaultLimitsConfig export const LimitsConfig = { ...DefaultLimitsConfig } export function setLimitsConfig(config: LimitsConfig) { - for (const name in DefaultLimitsConfig) { - LimitsConfig[name as keyof LimitsConfig] = config[name as keyof LimitsConfig] - } + Object.assign(LimitsConfig, config) } export function setConfig(config: ServerConfig & LimitsConfig) { -- GitLab