@webviz/subsurface-viewer 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"spline.js","sourceRoot":"","sources":["../../../../src/layers/wells/utils/spline.ts"],"names":[],"mappings":"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C,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAEpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,C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"}
1
+ {"version":3,"file":"spline.js","sourceRoot":"","sources":["../../../../src/layers/wells/utils/spline.ts"],"names":[],"mappings":"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C,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAEpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACpH,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAEpH,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAE9C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtD,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC;IAEjB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/C,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/C,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAE/C,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAe,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CACxB,OAA8C,EAC9C,SAAS,GAAG,CAAC;;IAEb,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAEtC,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC;IAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,0CAAG,IAAI,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QAC3D,MAAM,UAAU,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAe,CAAC;QAEnE,IAAI,CAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAA2B,CAAC;QAEtD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACT,SAAS;QACb,CAAC;QAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9B,sBAAsB;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,oBAAoB;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAiB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,EAAc,EAAE,EAAc,EAAE,EAAc,EAAE,EAAc,CAAC;YACnE,IAAI,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,CAAC;YAEvD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACV,EAAE,GAAG,OAAO,CAAC;gBACb,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEnB,GAAG,GAAG,QAAQ,CAAC;gBACf,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAC;gBAET,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEnB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpB,sDAAsD;YACtD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAE/C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAe,CAAC,CAAC;oBAC7C,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAG1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAC/C,CAAC,WAAW,GAAG,cAAc,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,sBAAsB;QAC7E,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CACxB,MAA6C,EAC7C,SAAS,GAAG,iBAAiB;;IAE7B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC9C,QAA8B,CAAC;QACpC,MAAM,UAAU,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAe,CAAC;QAEnE,IAAI,CAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;aACtC,UAA+B,CAAC;QACrC,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,MAAA,UAAU,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,QAAQ,CAChC,UAAU,CAAC,WAA2B,EACtC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EACT,SAAS,CACZ,CAAC;YACF,UAAU,CAAC,WAAW,GAAG,SAAyB,CAAC;YACnD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAA0B;;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC5C,QAA8B,CAAC;QACpC,MAAM,UAAU,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAe,CAAC;QAEnE,IAAI,CAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAA2B,CAAC;QAEtD,uCAAuC;QACvC,MAAM,WAAW,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE;YAC3D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAGE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAA+B;aAClD,UAAU,CAAC,CAAC,CACpB,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CACtB,OAA8C;;IAE9C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QAE3D,MAAM,UAAU,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAe,CAAC;QAEnE,MAAM,QAAQ,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAU,CAAC;QAC5D,IAAI,MAAA,QAAQ,CAAC,WAAW,0CAAG,CAAC,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAA2B,CAAC;QAEtD,4CAA4C;QAC5C,MAAM,eAAe,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAGC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAC/C,CAAC,WAAW,GAAG,eAAe,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC1B,IAAuB;;IAEvB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC5C,QAA8B,CAAC;QACpC,MAAM,UAAU,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,CAAC,CAAC,CAAe,CAAC;QAEnE,IAAI,CAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YAC/C,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAA2B,CAAC;QACtD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAErC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Color, Position } from "@deck.gl/core";
2
+ import type { Feature } from "geojson";
3
+ import type { StyleAccessorFunction } from "../../types";
4
+ type ColorAccessor = Color | StyleAccessorFunction | undefined;
5
+ export declare function getColor(accessor: ColorAccessor): Color | ((object: Feature, objectInfo?: Record<string, unknown>) => Color);
6
+ /**
7
+ * Get trajectory data from LineString Geometry if it's visible (checking
8
+ * trajectory visiblity based on line color)
9
+ */
10
+ export declare function getTrajectory(well_object: Feature, color_accessor: ColorAccessor): Position[] | undefined;
11
+ export {};
@@ -0,0 +1,46 @@
1
+ function getLineStringGeometry(well_object) {
2
+ var _a;
3
+ return (_a = well_object.geometry) === null || _a === void 0 ? void 0 : _a.geometries.find((item) => item.type == "LineString");
4
+ }
5
+ export function getColor(accessor) {
6
+ if (accessor) {
7
+ return accessor;
8
+ }
9
+ return (object, objectInfo) => {
10
+ var _a;
11
+ if (typeof accessor === "function") {
12
+ const color = accessor(object, objectInfo);
13
+ if (color) {
14
+ return color;
15
+ }
16
+ }
17
+ return (_a = object.properties) === null || _a === void 0 ? void 0 : _a["color"];
18
+ };
19
+ }
20
+ /**
21
+ * Get trajectory transparency based on alpha of trajectory color
22
+ */
23
+ function isTrajectoryTransparent(well_object, color_accessor) {
24
+ var _a;
25
+ let alpha;
26
+ const accessor = getColor(color_accessor);
27
+ if (typeof accessor === "function") {
28
+ alpha = (_a = accessor(well_object)) === null || _a === void 0 ? void 0 : _a[3];
29
+ }
30
+ else {
31
+ alpha = accessor === null || accessor === void 0 ? void 0 : accessor[3];
32
+ }
33
+ return alpha === 0;
34
+ }
35
+ /**
36
+ * Get trajectory data from LineString Geometry if it's visible (checking
37
+ * trajectory visiblity based on line color)
38
+ */
39
+ export function getTrajectory(well_object, color_accessor) {
40
+ var _a;
41
+ if (!isTrajectoryTransparent(well_object, color_accessor))
42
+ return (_a = getLineStringGeometry(well_object)) === null || _a === void 0 ? void 0 : _a.coordinates;
43
+ else
44
+ return undefined;
45
+ }
46
+ //# sourceMappingURL=trajectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory.js","sourceRoot":"","sources":["../../../../src/layers/wells/utils/trajectory.ts"],"names":[],"mappings":"AAMA,SAAS,qBAAqB,CAAC,WAAoB;;IAC/C,OAAO,MAAC,WAAW,CAAC,QAA+B,0CAAE,UAAU,CAAC,IAAI,CAChE,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,CAC1C,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAuB;IAC5C,IAAI,QAAiB,EAAE,CAAC;QACpB,OAAO,QAAiB,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,MAAe,EAAE,UAAoC,EAAS,EAAE;;QACpE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,KAAK,GAAI,QAAkC,CAC7C,MAAM,EACN,UAAU,CACJ,CAAC;YACX,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,MAAA,MAAM,CAAC,UAAU,0CAAG,OAAO,CAAU,CAAC;IACjD,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC5B,WAAoB,EACpB,cAA6B;;IAE7B,IAAI,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACjC,KAAK,GAAG,MAAA,QAAQ,CAAC,WAAW,CAAC,0CAAG,CAAC,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,KAAK,GAAI,QAAkB,aAAlB,QAAQ,uBAAR,QAAQ,CAAa,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CACzB,WAAoB,EACpB,cAA6B;;IAE7B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,cAAc,CAAC;QACrD,OAAO,MAAA,qBAAqB,CAAC,WAAW,CAAC,0CAAE,WAAyB,CAAC;;QACpE,OAAO,SAAS,CAAC;AAC1B,CAAC"}
@@ -1,16 +1,16 @@
1
1
  /// <reference types="react" />
2
- import type { Color, Layer, LayersList, PickingInfo, Position, UpdateParameters } from "@deck.gl/core";
2
+ import type { Color, Layer, LayersList, PickingInfo, UpdateParameters } from "@deck.gl/core";
3
3
  import { CompositeLayer } from "@deck.gl/core";
4
- import type { ExtendedLayerProps, LayerPickInfo, Position3D } from "../utils/layerTools";
4
+ import type { ExtendedLayerProps, LayerPickInfo } from "../utils/layerTools";
5
5
  import type { Feature, GeoJsonProperties, Geometry } from "geojson";
6
6
  import type { ContinuousLegendDataType, DiscreteLegendDataType } from "../../components/ColorLegend";
7
7
  import type { ReportBoundingBoxAction } from "../../components/Map";
8
- type StyleAccessorFunction = (object: Feature, objectInfo?: Record<string, unknown>) => StyleData;
9
- type NumberPair = [number, number];
8
+ import type { NumberPair, StyleAccessorFunction } from "../types";
9
+ import type { WellLabelLayerProps } from "./layers/wellLabelLayer";
10
+ import { WellLabelLayer } from "./layers/wellLabelLayer";
10
11
  type DashAccessor = boolean | NumberPair | StyleAccessorFunction | undefined;
11
12
  type ColorAccessor = Color | StyleAccessorFunction | undefined;
12
13
  type SizeAccessor = number | StyleAccessorFunction | undefined;
13
- type StyleData = NumberPair | Color | number;
14
14
  type LineStyleAccessor = {
15
15
  color?: ColorAccessor;
16
16
  dash?: DashAccessor;
@@ -41,17 +41,30 @@ export interface WellsLayerProps extends ExtendedLayerProps {
41
41
  wellHeadStyle: WellHeadStyleAccessor;
42
42
  colorMappingFunction: (x: number) => [number, number, number];
43
43
  lineStyle: LineStyleAccessor;
44
- wellNameVisible: boolean;
45
- /** It true place name at top, if false at bottom.
46
- * If given as a number between 0 and 100, will place name at this percentage of trajectory from top.
44
+ /**
45
+ * @deprecated use wellLabel instead
47
46
  */
48
- wellNameAtTop: boolean | number;
49
- wellNameSize: number;
50
- wellNameColor: Color;
51
- /** If true will prevent well name cluttering by not displaying overlapping names.
47
+ wellNameVisible?: boolean;
48
+ /**
49
+ * @deprecated use wellLabel instead
50
+ * It true place name at top, if false at bottom.
51
+ * If given as a number between 0 and 100, will place name at this percentage of trajectory from top.
52
+ */
53
+ wellNameAtTop?: boolean | number;
54
+ /**
55
+ * @deprecated use wellLabel instead
56
+ */
57
+ wellNameSize?: number;
58
+ /**
59
+ * @deprecated use wellLabel instead
60
+ */
61
+ wellNameColor?: Color;
62
+ /**
63
+ * If true will prevent well name cluttering by not displaying overlapping names.
52
64
  * default false.
65
+ * @deprecated use wellLabel instead
53
66
  */
54
- hideOverlappingWellNames: boolean;
67
+ hideOverlappingWellNames?: boolean;
55
68
  isLog: boolean;
56
69
  depthTest: boolean;
57
70
  /** If true means that input z values are interpreted as depths.
@@ -65,6 +78,7 @@ export interface WellsLayerProps extends ExtendedLayerProps {
65
78
  /** Sectional projection of data */
66
79
  section?: boolean;
67
80
  reportBoundingBox?: React.Dispatch<ReportBoundingBoxAction>;
81
+ wellLabel?: Partial<WellLabelLayerProps>;
68
82
  }
69
83
  export interface LogCurveDataType {
70
84
  header: {
@@ -99,9 +113,8 @@ export default class WellsLayer extends CompositeLayer<WellsLayerProps> {
99
113
  getSelectionLayer(): Layer;
100
114
  getLogCurveData(): LogCurveDataType[] | undefined;
101
115
  setupLegend(): void;
102
- getWellNamePositionAlongTrajectory(wellNameAtTop: boolean | number): number;
103
- getAnnotationPosition(well_data: Feature, percentage: number, view_is_3d: boolean, color_accessor: ColorAccessor): Position | null;
104
- getTrajMidPoint(percent: number, well_data: Feature, features: Feature<Geometry, GeoJsonProperties>[]): [number, Position3D];
116
+ protected getWellLabelPosition(): number | ((d: Feature<Geometry, GeoJsonProperties>) => number);
117
+ protected createWellLabelLayer(data: Feature[]): WellLabelLayer | null;
105
118
  renderLayers(): LayersList;
106
119
  getPickingInfo({ info }: {
107
120
  info: PickingInfo;
@@ -1,17 +1,17 @@
1
- import { CompositeLayer, OrbitViewport } from "@deck.gl/core";
2
- import { Vector2 } from "@math.gl/core";
3
- import { CollisionModifierExtension } from "../../extensions/collision-modifier-extension";
1
+ import { CompositeLayer } from "@deck.gl/core";
4
2
  import { createPropertyData, isDrawingEnabled } from "../utils/layerTools";
5
3
  import { PathStyleExtension } from "@deck.gl/extensions";
6
- import { GeoJsonLayer, PathLayer, TextLayer } from "@deck.gl/layers";
4
+ import { GeoJsonLayer, PathLayer } from "@deck.gl/layers";
7
5
  import { getColors, rgbValues } from "@emerson-eps/color-tables/";
8
6
  import { distance, dot, subtract } from "mathjs";
9
7
  import { GL } from "@luma.gl/constants";
10
8
  import { interpolateNumberArray } from "d3";
11
- import { clamp, isEmpty, isEqual } from "lodash";
9
+ import _, { isEmpty, isEqual } from "lodash";
12
10
  import { getLayersById } from "../../layers/utils/layerTools";
11
+ import { WellLabelLayer } from "./layers/wellLabelLayer";
13
12
  import { abscissaTransform } from "./utils/abscissaTransform";
14
13
  import { GetBoundingBox, checkWells, coarsenWells, invertPath, splineRefine, } from "./utils/spline";
14
+ import { getColor, getTrajectory } from "./utils/trajectory";
15
15
  function onDataLoad(data, context) {
16
16
  const bbox = GetBoundingBox(data);
17
17
  if (typeof context.layer.props.reportBoundingBox !== "undefined") {
@@ -32,17 +32,15 @@ const defaultProps = {
32
32
  logCurves: true,
33
33
  refine: false,
34
34
  visible: true,
35
- wellNameVisible: false,
36
- wellNameAtTop: true,
37
- wellNameSize: 14,
38
- wellNameColor: [0, 0, 0, 255],
39
- hideOverlappingWellNames: false,
40
35
  selectedWell: "@@#editedData.selectedWells", // used to get data from deckgl layer
41
36
  depthTest: true,
42
37
  ZIncreasingDownwards: true,
43
38
  simplifiedRendering: false,
44
39
  section: false,
45
40
  dataTransform: coarsenWells,
41
+ // Deprecated props
42
+ wellNameColor: [0, 0, 0, 255],
43
+ wellNameSize: 10,
46
44
  };
47
45
  function multiply(pair, factor) {
48
46
  return [pair[0] * factor, pair[1] * factor];
@@ -78,21 +76,6 @@ function getDashFactor(accessor, width_accessor, offset = 0) {
78
76
  }
79
77
  };
80
78
  }
81
- function getColor(accessor) {
82
- if (accessor) {
83
- return accessor;
84
- }
85
- return (object, objectInfo) => {
86
- var _a;
87
- if (typeof accessor === "function") {
88
- const color = accessor(object, objectInfo);
89
- if (color) {
90
- return color;
91
- }
92
- }
93
- return (_a = object.properties) === null || _a === void 0 ? void 0 : _a["color"];
94
- };
95
- }
96
79
  export function getSize(type, accessor, offset = 0) {
97
80
  if (typeof accessor == "function") {
98
81
  return (object) => {
@@ -127,12 +110,9 @@ export default class WellsLayer extends CompositeLayer {
127
110
  const doRefine = typeof refine === "number" ? refine > 1 : refine;
128
111
  const stepCount = typeof refine === "number" ? refine : 5;
129
112
  data = doRefine ? splineRefine(data, stepCount) : data;
130
- this.setState(Object.assign(Object.assign({}, this.state), { data, camChange: 0 }));
113
+ this.setState(Object.assign(Object.assign({}, this.state), { data }));
131
114
  }
132
115
  shouldUpdateState({ changeFlags }) {
133
- if (changeFlags.viewportChanged) {
134
- this.setState(Object.assign(Object.assign({}, this.state), { camChange: this.state["camChange"] + 1 }));
135
- }
136
116
  return (changeFlags.viewportChanged ||
137
117
  changeFlags.propsOrDataChanged ||
138
118
  typeof changeFlags.updateTriggersChanged === "object");
@@ -203,96 +183,46 @@ export default class WellsLayer extends CompositeLayer {
203
183
  if (data)
204
184
  this.setLegend(data);
205
185
  }
206
- getWellNamePositionAlongTrajectory(wellNameAtTop) {
207
- if (typeof wellNameAtTop === "number") {
208
- return clamp(Number(wellNameAtTop), 0, 100);
209
- }
210
- return wellNameAtTop ? 0 : 100;
211
- }
212
- // return position for well name and icon
213
- getAnnotationPosition(well_data, percentage, view_is_3d, color_accessor) {
214
- if (percentage > 0 && percentage < 100) {
215
- // Return a pos "name_at_top" percent down the trajectory
216
- const pos = this.getTrajMidPoint(percentage, well_data, this.props.data.features)[1];
217
- // using z=0 for orthographic view to keep label above other other layers
218
- if (pos)
219
- return view_is_3d ? pos : [pos[0], pos[1], 0];
186
+ getWellLabelPosition() {
187
+ var _a;
188
+ if ((_a = this.props.wellLabel) === null || _a === void 0 ? void 0 : _a.getPositionAlongPath) {
189
+ return this.props.wellLabel.getPositionAlongPath;
220
190
  }
221
- else if (percentage == 0) {
222
- // Read top position from Point geometry, if not present, read it from LineString geometry
223
- let top;
224
- // Read top position from Point geometry, if not present, read it from LineString geometry
225
- const well_head = getWellHeadPosition(well_data);
226
- if (well_head)
227
- top = well_head;
228
- else {
229
- const trajectory = getTrajectory(well_data, color_accessor);
230
- top = trajectory === null || trajectory === void 0 ? void 0 : trajectory.at(0);
191
+ else if (!_.isUndefined(this.props.wellNameAtTop)) {
192
+ // Backwards compatibility for `wellNameAtTop` prop.
193
+ if (typeof this.props.wellNameAtTop === "boolean") {
194
+ if (this.props.wellNameAtTop) {
195
+ return 0;
196
+ }
197
+ // if wellNameAtTop is false, then place name at bottom.
198
+ return 1;
231
199
  }
232
- // using z=0 for orthographic view to keep label above other other layers
233
- if (top)
234
- return view_is_3d ? top : [top[0], top[1], 0];
235
- }
236
- else {
237
- let bot;
238
- // if trajectory is not present, return top position from Point geometry
239
- const trajectory = getTrajectory(well_data, color_accessor);
240
- if (trajectory)
241
- bot = trajectory === null || trajectory === void 0 ? void 0 : trajectory.at(-1);
242
- else
243
- bot = getWellHeadPosition(well_data);
244
- // using z=0 for orthographic view to keep label above other other layers
245
- if (bot)
246
- return view_is_3d ? bot : [bot[0], bot[1], 0];
200
+ // `wellNameAtTop` can also be a number [0, 100] indicating the
201
+ // percentage along the trajectory from the top.
202
+ return this.props.wellNameAtTop / 100;
247
203
  }
248
- return null;
204
+ return 0;
249
205
  }
250
- getTrajMidPoint(percent, well_data, features) {
206
+ createWellLabelLayer(data) {
251
207
  var _a, _b, _c, _d, _e;
252
- const wellName = (_a = well_data.properties) === null || _a === void 0 ? void 0 : _a["name"];
253
- const well_object = getWellObjectByName(features, wellName);
254
- if (!well_object) {
255
- return [0, [0, 0, 0]];
208
+ if (!this.props.wellLabel && !this.props.wellNameVisible) {
209
+ return null;
256
210
  }
257
- const well_xyz = getTrajectory(well_object, undefined);
258
- const n = (_b = well_xyz === null || well_xyz === void 0 ? void 0 : well_xyz.length) !== null && _b !== void 0 ? _b : 2;
259
- if (well_xyz && n >= 2) {
260
- const i = Math.min(Math.floor((percent / 100) * n), n - 2);
261
- const pi1 = well_xyz[i];
262
- const pi2 = well_xyz[i + 1];
263
- const p1 = new Vector2(this.project(pi1));
264
- const p2 = new Vector2(this.project(pi2));
265
- const pMid = [
266
- pi1[0] + (pi2[0] - pi1[0]) / 2,
267
- pi1[1] + (pi2[1] - pi1[1]) / 2,
268
- (_c = pi1 === null || pi1 === void 0 ? void 0 : pi1[2]) !== null && _c !== void 0 ? _c : 0 + ((_d = pi2 === null || pi2 === void 0 ? void 0 : pi2[2]) !== null && _d !== void 0 ? _d : 0 - ((_e = pi1 === null || pi1 === void 0 ? void 0 : pi1[2]) !== null && _e !== void 0 ? _e : 0)) / 2,
269
- ];
270
- const v = new Vector2(p2[0] - p1[0], -(p2[1] - p1[1]));
271
- v.normalize();
272
- const rad = Math.atan2(v[1], v[0]);
273
- const deg = rad * (180 / 3.14159);
274
- let a = deg;
275
- if (deg > 90) {
276
- a = deg - 180;
277
- }
278
- else if (deg < -90) {
279
- a = deg + 180;
280
- }
281
- if (typeof percent == "boolean" || percent == 0 || percent == 100) {
282
- // At top or bottom well names should be horizontal.
283
- a = 0;
284
- }
285
- return [a, pMid];
286
- }
287
- return [0, [0, 0, 0]];
211
+ const parameters = {
212
+ [GL.DEPTH_TEST]: this.props.depthTest,
213
+ [GL.POLYGON_OFFSET_FILL]: true,
214
+ };
215
+ const fastDrawing = this.props.simplifiedRendering;
216
+ const wellLabelProps = this.getSubLayerProps(Object.assign(Object.assign({}, this.props.wellLabel), { data, zIncreasingDownwards: this.props.ZIncreasingDownwards, getPositionAlongPath: this.getWellLabelPosition(), getColor: (_b = (_a = this.props.wellLabel) === null || _a === void 0 ? void 0 : _a.getColor) !== null && _b !== void 0 ? _b : this.props.wellNameColor, getAnchor: "start", getSize: (_d = (_c = this.props.wellLabel) === null || _c === void 0 ? void 0 : _c.getSize) !== null && _d !== void 0 ? _d : this.props.wellNameSize, parameters, visible: !fastDrawing, background: ((_e = this.props.wellLabel) === null || _e === void 0 ? void 0 : _e.background) ||
217
+ this.props.hideOverlappingWellNames }));
218
+ return new WellLabelLayer(wellLabelProps);
288
219
  }
289
220
  renderLayers() {
290
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
221
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
291
222
  if (!this.props.data.features) {
292
223
  return [];
293
224
  }
294
225
  const data = this.state["data"];
295
- const is3d = this.context.viewport.constructor === OrbitViewport;
296
226
  const positionFormat = "XYZ";
297
227
  const isDashed = !!((_a = this.props.lineStyle) === null || _a === void 0 ? void 0 : _a.dash);
298
228
  const extensions = [
@@ -412,49 +342,7 @@ export default class WellsLayer extends CompositeLayer {
412
342
  parameters,
413
343
  visible: this.props.logCurves && !fastDrawing,
414
344
  }));
415
- // Reduced cluttering properties
416
- const clutterProps = {
417
- background: true,
418
- collisionEnabled: true,
419
- getCollisionPriority: (d) => {
420
- var _a, _b, _c, _d;
421
- const labelSize = (_b = (_a = d.properties) === null || _a === void 0 ? void 0 : _a["name"].length) !== null && _b !== void 0 ? _b : 1;
422
- if (is3d) {
423
- // In 3D prioritize according to label size.
424
- return labelSize;
425
- }
426
- else {
427
- // In 2D prioritize according z height.
428
- const labelPosition = this.getAnnotationPosition(d, this.getWellNamePositionAlongTrajectory(this.props.wellNameAtTop), true, (_c = this.props.lineStyle) === null || _c === void 0 ? void 0 : _c.color);
429
- const priority = labelPosition
430
- ? ((_d = labelPosition === null || labelPosition === void 0 ? void 0 : labelPosition[2]) !== null && _d !== void 0 ? _d : 1) / 10 // priority must be in [-1000, 1000]
431
- : labelSize;
432
- return priority;
433
- }
434
- },
435
- collisionTestProps: {
436
- sizeScale: 1,
437
- },
438
- collisionGroup: "nobodys",
439
- extensions: [new CollisionModifierExtension()],
440
- };
441
- const namesLayer = new TextLayer(this.getSubLayerProps(Object.assign({ id: "names", data: data.features, getPosition: (d) => {
442
- var _a;
443
- return this.getAnnotationPosition(d, this.getWellNamePositionAlongTrajectory(this.props.wellNameAtTop), is3d, (_a = this.props.lineStyle) === null || _a === void 0 ? void 0 : _a.color);
444
- }, getAngle: (f) => {
445
- const percentage = this.getWellNamePositionAlongTrajectory(this.props.wellNameAtTop);
446
- const a = this.getTrajMidPoint(percentage, f, this.props.data
447
- .features);
448
- const text_angle = a[0];
449
- return text_angle;
450
- }, getText: (d) => { var _a; return (_a = d.properties) === null || _a === void 0 ? void 0 : _a["name"]; }, getColor: this.props.wellNameColor, getAnchor: "start", getAlignmentBaseline: "bottom", getSize: this.props.wellNameSize, updateTriggers: {
451
- getAngle: [this.state["camChange"]],
452
- getPosition: [
453
- this.props.wellNameAtTop,
454
- is3d,
455
- (_t = this.props.lineStyle) === null || _t === void 0 ? void 0 : _t.color,
456
- ],
457
- }, parameters, visible: this.props.wellNameVisible && !fastDrawing }, (this.props.hideOverlappingWellNames ? clutterProps : {}))));
345
+ const namesLayer = this.createWellLabelLayer(data.features);
458
346
  const layers = [
459
347
  outlineLayer,
460
348
  logLayer,
@@ -555,36 +443,11 @@ function getPointGeometry(well_object) {
555
443
  var _a;
556
444
  return (_a = well_object.geometry) === null || _a === void 0 ? void 0 : _a.geometries.find((item) => item.type == "Point");
557
445
  }
558
- function getLineStringGeometry(well_object) {
559
- var _a;
560
- return (_a = well_object.geometry) === null || _a === void 0 ? void 0 : _a.geometries.find((item) => item.type == "LineString");
561
- }
562
446
  // Return well head position from Point Geometry
563
447
  function getWellHeadPosition(well_object) {
564
448
  var _a;
565
449
  return (_a = getPointGeometry(well_object)) === null || _a === void 0 ? void 0 : _a.coordinates;
566
450
  }
567
- // return trajectory visibility based on alpha of trajectory color
568
- function isTrajectoryVisible(well_object, color_accessor) {
569
- var _a;
570
- let alpha;
571
- const accessor = getColor(color_accessor);
572
- if (typeof accessor === "function") {
573
- alpha = (_a = accessor(well_object)) === null || _a === void 0 ? void 0 : _a[3];
574
- }
575
- else {
576
- alpha = accessor === null || accessor === void 0 ? void 0 : accessor[3];
577
- }
578
- return alpha !== 0;
579
- }
580
- // Return Trajectory data from LineString Geometry if it's visible (checking trajectory visiblity based on line color)
581
- function getTrajectory(well_object, color_accessor) {
582
- var _a;
583
- if (isTrajectoryVisible(well_object, color_accessor))
584
- return (_a = getLineStringGeometry(well_object)) === null || _a === void 0 ? void 0 : _a.coordinates;
585
- else
586
- return undefined;
587
- }
588
451
  function getWellMds(well_object) {
589
452
  var _a;
590
453
  return (_a = well_object.properties) === null || _a === void 0 ? void 0 : _a["md"][0];