@kitware/vtk.js 28.10.2 → 28.11.1
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.
- package/Common/Core/Base64.js +53 -82
- package/Common/Core/CellArray.js +52 -60
- package/Common/Core/ClassHierarchy.js +8 -36
- package/Common/Core/DataArray/Constants.js +6 -6
- package/Common/Core/DataArray.js +193 -277
- package/Common/Core/Endian.js +14 -17
- package/Common/Core/HalfFloat.js +17 -34
- package/Common/Core/ImageHelper.js +17 -25
- package/Common/Core/LookupTable.js +131 -144
- package/Common/Core/Math/Constants.js +8 -8
- package/Common/Core/Math/index.js +754 -942
- package/Common/Core/Math.js +2 -4
- package/Common/Core/MatrixBuilder.js +99 -151
- package/Common/Core/Points.js +43 -43
- package/Common/Core/PriorityQueue.js +30 -28
- package/Common/Core/ProgressHandler.js +31 -32
- package/Common/Core/ScalarsToColors/Constants.js +4 -4
- package/Common/Core/ScalarsToColors.js +196 -253
- package/Common/Core/StringArray.js +48 -73
- package/Common/Core/URLExtract.js +10 -29
- package/Common/Core/VariantArray.js +48 -73
- package/Common/Core.js +11 -11
- package/Common/DataModel/AbstractPointLocator.js +19 -17
- package/Common/DataModel/BoundingBox.js +322 -490
- package/Common/DataModel/Box.js +46 -63
- package/Common/DataModel/CardinalSpline1D.js +92 -102
- package/Common/DataModel/Cell.js +41 -61
- package/Common/DataModel/CellLinks.js +91 -127
- package/Common/DataModel/CellTypes/Constants.js +7 -6
- package/Common/DataModel/CellTypes.js +55 -74
- package/Common/DataModel/Collection.js +45 -61
- package/Common/DataModel/Cone.js +28 -20
- package/Common/DataModel/Cylinder.js +41 -35
- package/Common/DataModel/DataSet/Constants.js +11 -5
- package/Common/DataModel/DataSet.js +37 -25
- package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
- package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
- package/Common/DataModel/DataSetAttributes.js +96 -138
- package/Common/DataModel/EdgeLocator.js +45 -70
- package/Common/DataModel/ITKHelper.js +67 -137
- package/Common/DataModel/ImageData.js +115 -172
- package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
- package/Common/DataModel/ImplicitBoolean.js +66 -96
- package/Common/DataModel/IncrementalOctreeNode.js +201 -231
- package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
- package/Common/DataModel/KochanekSpline1D.js +78 -81
- package/Common/DataModel/Line/Constants.js +2 -2
- package/Common/DataModel/Line.js +82 -105
- package/Common/DataModel/Locator.js +17 -10
- package/Common/DataModel/Molecule.js +26 -17
- package/Common/DataModel/PiecewiseFunction.js +218 -239
- package/Common/DataModel/Plane.js +90 -113
- package/Common/DataModel/PointSet.js +30 -26
- package/Common/DataModel/PolyData/Constants.js +2 -2
- package/Common/DataModel/PolyData.js +95 -120
- package/Common/DataModel/PolyLine.js +44 -61
- package/Common/DataModel/Polygon/Constants.js +4 -4
- package/Common/DataModel/Polygon.js +128 -169
- package/Common/DataModel/Quad/Constants.js +2 -2
- package/Common/DataModel/Quad.js +61 -100
- package/Common/DataModel/SelectionNode/Constants.js +5 -4
- package/Common/DataModel/SelectionNode.js +25 -21
- package/Common/DataModel/Sphere.js +40 -35
- package/Common/DataModel/Spline1D/Constants.js +3 -2
- package/Common/DataModel/Spline1D.js +34 -18
- package/Common/DataModel/Spline3D/Constants.js +2 -2
- package/Common/DataModel/Spline3D.js +46 -41
- package/Common/DataModel/StructuredData/Constants.js +2 -2
- package/Common/DataModel/StructuredData.js +9 -20
- package/Common/DataModel/Triangle.js +207 -250
- package/Common/DataModel.js +19 -19
- package/Common/System/MobileVR.js +56 -61
- package/Common/System/TimerLog.js +1 -1
- package/Common/System.js +2 -2
- package/Common/Transform/LandmarkTransform/Constants.js +2 -2
- package/Common/Transform/LandmarkTransform.js +133 -117
- package/Common/Transform/Transform.js +42 -57
- package/Common/Transform.js +2 -2
- package/Common/index.js +4 -4
- package/Filters/Core/Cutter.js +134 -146
- package/Filters/Core/PolyDataNormals.js +44 -50
- package/Filters/Core.js +2 -2
- package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
- package/Filters/Cornerstone.js +1 -1
- package/Filters/General/AppendPolyData.js +84 -100
- package/Filters/General/Calculator.js +95 -163
- package/Filters/General/ClipClosedSurface/Constants.js +2 -2
- package/Filters/General/ClipClosedSurface.js +341 -416
- package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
- package/Filters/General/ContourTriangulator/Constants.js +2 -2
- package/Filters/General/ContourTriangulator/helper.js +684 -812
- package/Filters/General/ContourTriangulator.js +92 -89
- package/Filters/General/ImageCropFilter.js +77 -78
- package/Filters/General/ImageDataOutlineFilter.js +42 -36
- package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
- package/Filters/General/ImageMarchingCubes.js +99 -112
- package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
- package/Filters/General/ImageMarchingSquares.js +93 -118
- package/Filters/General/ImageOutlineFilter.js +53 -54
- package/Filters/General/ImageSliceFilter.js +39 -30
- package/Filters/General/ImageStreamline.js +107 -124
- package/Filters/General/LineFilter.js +26 -15
- package/Filters/General/MoleculeToRepresentation.js +136 -149
- package/Filters/General/OBBTree/OBBNode.js +36 -34
- package/Filters/General/OBBTree/helper.js +19 -24
- package/Filters/General/OBBTree.js +396 -488
- package/Filters/General/OutlineFilter.js +52 -34
- package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
- package/Filters/General/PaintFilter.js +150 -162
- package/Filters/General/ScalarToRGBA.js +38 -33
- package/Filters/General/TriangleFilter.js +65 -62
- package/Filters/General/TubeFilter/Constants.js +4 -4
- package/Filters/General/TubeFilter.js +376 -496
- package/Filters/General/WarpScalar.js +58 -60
- package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
- package/Filters/General.js +21 -21
- package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
- package/Filters/Sources/Arrow2DSource.js +56 -56
- package/Filters/Sources/ArrowSource.js +39 -29
- package/Filters/Sources/CircleSource.js +43 -43
- package/Filters/Sources/ConcentricCylinderSource.js +151 -174
- package/Filters/Sources/ConeSource.js +51 -42
- package/Filters/Sources/CubeSource.js +75 -96
- package/Filters/Sources/Cursor3D.js +94 -109
- package/Filters/Sources/CylinderSource.js +90 -90
- package/Filters/Sources/ImageGridSource.js +43 -43
- package/Filters/Sources/LineSource.js +49 -39
- package/Filters/Sources/PlaneSource.js +97 -104
- package/Filters/Sources/PointSource.js +46 -37
- package/Filters/Sources/RTAnalyticSource.js +50 -48
- package/Filters/Sources/SLICSource.js +63 -73
- package/Filters/Sources/SphereSource.js +88 -78
- package/Filters/Sources/ViewFinderSource.js +26 -23
- package/Filters/Sources.js +14 -14
- package/Filters/Texture/TextureMapToPlane.js +95 -97
- package/Filters/Texture/TextureMapToSphere.js +46 -54
- package/Filters/Texture.js +2 -2
- package/Filters/index.js +5 -5
- package/IO/Core/BinaryHelper.js +12 -18
- package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
- package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
- package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
- package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
- package/IO/Core/DataAccessHelper.js +6 -6
- package/IO/Core/HttpDataSetReader.js +136 -139
- package/IO/Core/HttpDataSetSeriesReader.js +64 -75
- package/IO/Core/HttpSceneLoader.js +130 -179
- package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
- package/IO/Core/ImageStream/ViewStream.js +100 -103
- package/IO/Core/ImageStream.js +62 -54
- package/IO/Core/ResourceLoader.js +10 -9
- package/IO/Core/Serializer/ArraySerializer.js +40 -40
- package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
- package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
- package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
- package/IO/Core/Serializer.js +6 -13
- package/IO/Core/WSLinkClient.js +90 -76
- package/IO/Core/ZipMultiDataSetReader.js +46 -44
- package/IO/Core/ZipMultiDataSetWriter.js +43 -34
- package/IO/Core.js +7 -7
- package/IO/Geometry/DracoReader.js +118 -121
- package/IO/Geometry/PLYReader.js +163 -223
- package/IO/Geometry/PLYWriter/Constants.js +5 -5
- package/IO/Geometry/PLYWriter.js +139 -154
- package/IO/Geometry/STLReader.js +123 -146
- package/IO/Geometry/STLWriter/Constants.js +2 -2
- package/IO/Geometry/STLWriter.js +83 -82
- package/IO/Geometry.js +5 -5
- package/IO/Legacy/LegacyAsciiParser.js +78 -139
- package/IO/Legacy/PolyDataReader.js +48 -36
- package/IO/Legacy.js +2 -2
- package/IO/Misc/ElevationReader.js +67 -60
- package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
- package/IO/Misc/ITKImageReader.js +58 -45
- package/IO/Misc/ITKPolyDataReader.js +50 -38
- package/IO/Misc/JSONNucleoReader.js +49 -42
- package/IO/Misc/JSONReader.js +38 -33
- package/IO/Misc/MTLReader.js +74 -119
- package/IO/Misc/OBJReader.js +153 -206
- package/IO/Misc/PDBReader.js +70 -68
- package/IO/Misc/SkyboxReader.js +77 -82
- package/IO/Misc.js +9 -9
- package/IO/XML/XMLImageDataReader.js +36 -38
- package/IO/XML/XMLImageDataWriter.js +28 -21
- package/IO/XML/XMLPolyDataReader.js +49 -46
- package/IO/XML/XMLPolyDataWriter.js +43 -42
- package/IO/XML/XMLReader.js +262 -304
- package/IO/XML/XMLWriter/Constants.js +3 -3
- package/IO/XML/XMLWriter.js +70 -84
- package/IO/XML.js +6 -6
- package/IO/index.js +5 -5
- package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
- package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
- package/Imaging/Core/AbstractImageInterpolator.js +74 -87
- package/Imaging/Core/ImageInterpolator.js +201 -252
- package/Imaging/Core/ImagePointDataIterator.js +96 -122
- package/Imaging/Core/ImageReslice/Constants.js +2 -2
- package/Imaging/Core/ImageReslice.js +327 -464
- package/Imaging/Core.js +4 -4
- package/Imaging/Hybrid/SampleFunction.js +58 -51
- package/Imaging/Hybrid.js +1 -1
- package/Imaging/index.js +2 -2
- package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
- package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
- package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
- package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
- package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
- package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
- package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
- package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
- package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
- package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
- package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
- package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
- package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
- package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
- package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
- package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
- package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
- package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
- package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
- package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
- package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
- package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
- package/Interaction/Manipulators.js +21 -21
- package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
- package/Interaction/Misc.js +1 -1
- package/Interaction/Style/InteractorStyleImage.js +101 -121
- package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
- package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
- package/Interaction/Style/InteractorStyleManipulator.js +254 -329
- package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
- package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
- package/Interaction/Style/InteractorStyleUnicam.js +30 -38
- package/Interaction/Style.js +5 -5
- package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
- package/Interaction/UI/CornerAnnotation.js +65 -48
- package/Interaction/UI/FPSMonitor.js +104 -105
- package/Interaction/UI/Icons.js +1 -1
- package/Interaction/UI/Slider/Constants.js +2 -2
- package/Interaction/UI/Slider.js +78 -95
- package/Interaction/UI/VolumeController.js +104 -97
- package/Interaction/UI.js +5 -5
- package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
- package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
- package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
- package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
- package/Interaction/Widgets.js +2 -2
- package/Interaction/index.js +5 -5
- package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
- package/Proxy/Animation/AnimationProxyManager.js +43 -51
- package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
- package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
- package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
- package/Proxy/Core/LookupTableProxy.js +49 -52
- package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
- package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
- package/Proxy/Core/ProxyManager/core.js +83 -106
- package/Proxy/Core/ProxyManager/properties.js +53 -76
- package/Proxy/Core/ProxyManager/state.js +100 -110
- package/Proxy/Core/ProxyManager/view.js +45 -55
- package/Proxy/Core/ProxyManager.js +16 -8
- package/Proxy/Core/SourceProxy.js +41 -38
- package/Proxy/Core/View2DProxy.js +143 -199
- package/Proxy/Core/ViewProxy.js +223 -269
- package/Proxy/Core.js +7 -7
- package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
- package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
- package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
- package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
- package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
- package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
- package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
- package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
- package/Proxy/Representations.js +7 -7
- package/Proxy/index.js +2 -2
- package/README.md +1 -1
- package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
- package/Rendering/Core/AbstractImageMapper.js +18 -19
- package/Rendering/Core/AbstractMapper.js +39 -55
- package/Rendering/Core/AbstractMapper3D.js +26 -31
- package/Rendering/Core/AbstractPicker.js +25 -21
- package/Rendering/Core/Actor.js +71 -93
- package/Rendering/Core/Actor2D.js +64 -78
- package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
- package/Rendering/Core/AnnotatedCubeActor.js +94 -79
- package/Rendering/Core/AxesActor.js +65 -87
- package/Rendering/Core/Camera.js +246 -271
- package/Rendering/Core/CellPicker.js +125 -148
- package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
- package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
- package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
- package/Rendering/Core/ColorTransferFunction.js +460 -546
- package/Rendering/Core/Coordinate/Constants.js +2 -2
- package/Rendering/Core/Coordinate.js +119 -198
- package/Rendering/Core/CubeAxesActor.js +294 -320
- package/Rendering/Core/Follower.js +46 -45
- package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
- package/Rendering/Core/Glyph3DMapper.js +96 -148
- package/Rendering/Core/HardwareSelector.js +36 -69
- package/Rendering/Core/ImageArrayMapper.js +87 -126
- package/Rendering/Core/ImageCPRMapper.js +134 -209
- package/Rendering/Core/ImageMapper/Constants.js +2 -2
- package/Rendering/Core/ImageMapper.js +85 -144
- package/Rendering/Core/ImageProperty/Constants.js +2 -2
- package/Rendering/Core/ImageProperty.js +66 -81
- package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
- package/Rendering/Core/ImageResliceMapper.js +36 -29
- package/Rendering/Core/ImageSlice.js +85 -127
- package/Rendering/Core/InteractorObserver.js +82 -73
- package/Rendering/Core/InteractorStyle/Constants.js +2 -2
- package/Rendering/Core/InteractorStyle.js +56 -58
- package/Rendering/Core/Light.js +43 -49
- package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
- package/Rendering/Core/Mapper/Constants.js +6 -6
- package/Rendering/Core/Mapper/Static.js +15 -12
- package/Rendering/Core/Mapper.js +194 -259
- package/Rendering/Core/Mapper2D.js +61 -100
- package/Rendering/Core/Picker.js +124 -143
- package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
- package/Rendering/Core/PointPicker.js +68 -79
- package/Rendering/Core/Prop/Constants.js +2 -2
- package/Rendering/Core/Prop.js +58 -106
- package/Rendering/Core/Prop3D.js +54 -83
- package/Rendering/Core/Property/Constants.js +6 -6
- package/Rendering/Core/Property.js +45 -74
- package/Rendering/Core/Property2D/Constants.js +2 -2
- package/Rendering/Core/Property2D.js +33 -42
- package/Rendering/Core/RenderWindow.js +70 -82
- package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
- package/Rendering/Core/RenderWindowInteractor.js +324 -439
- package/Rendering/Core/Renderer.js +192 -256
- package/Rendering/Core/ScalarBarActor.js +267 -272
- package/Rendering/Core/Skybox.js +26 -24
- package/Rendering/Core/SphereMapper.js +22 -12
- package/Rendering/Core/StickMapper.js +22 -12
- package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
- package/Rendering/Core/SurfaceLICInterface.js +13 -9
- package/Rendering/Core/SurfaceLICMapper.js +23 -15
- package/Rendering/Core/Texture.js +99 -141
- package/Rendering/Core/Viewport.js +60 -88
- package/Rendering/Core/Volume.js +55 -77
- package/Rendering/Core/VolumeMapper/Constants.js +4 -4
- package/Rendering/Core/VolumeMapper.js +59 -91
- package/Rendering/Core/VolumeProperty/Constants.js +4 -4
- package/Rendering/Core/VolumeProperty.js +78 -115
- package/Rendering/Core.js +47 -49
- package/Rendering/Misc/CanvasView.js +62 -61
- package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
- package/Rendering/Misc/GenericRenderWindow.js +48 -37
- package/Rendering/Misc/RemoteView.js +86 -80
- package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
- package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
- package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
- package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
- package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
- package/Rendering/Misc/TextureLODsDownloader.js +72 -74
- package/Rendering/Misc.js +7 -7
- package/Rendering/OpenGL/Actor.js +57 -68
- package/Rendering/OpenGL/Actor2D.js +56 -56
- package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
- package/Rendering/OpenGL/BufferObject.js +50 -65
- package/Rendering/OpenGL/Camera.js +35 -29
- package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
- package/Rendering/OpenGL/Convolution2DPass.js +87 -81
- package/Rendering/OpenGL/CubeAxesActor.js +28 -21
- package/Rendering/OpenGL/ForwardPass.js +53 -64
- package/Rendering/OpenGL/Framebuffer.js +61 -101
- package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
- package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
- package/Rendering/OpenGL/HardwareSelector.js +272 -397
- package/Rendering/OpenGL/Helper.js +58 -73
- package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
- package/Rendering/OpenGL/ImageMapper.js +268 -361
- package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
- package/Rendering/OpenGL/ImageSlice.js +48 -54
- package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
- package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
- package/Rendering/OpenGL/PolyDataMapper.js +358 -492
- package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
- package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
- package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
- package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
- package/Rendering/OpenGL/RenderWindow.js +356 -510
- package/Rendering/OpenGL/Renderer.js +77 -89
- package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
- package/Rendering/OpenGL/ScalarBarActor.js +28 -21
- package/Rendering/OpenGL/Shader.js +37 -31
- package/Rendering/OpenGL/ShaderCache.js +67 -74
- package/Rendering/OpenGL/ShaderProgram.js +136 -248
- package/Rendering/OpenGL/Skybox.js +99 -60
- package/Rendering/OpenGL/SphereMapper.js +94 -108
- package/Rendering/OpenGL/StickMapper.js +110 -114
- package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
- package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
- package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
- package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
- package/Rendering/OpenGL/SurfaceLIC.js +2 -2
- package/Rendering/OpenGL/Texture/Constants.js +4 -4
- package/Rendering/OpenGL/Texture.js +443 -608
- package/Rendering/OpenGL/TextureUnitManager.js +47 -43
- package/Rendering/OpenGL/VertexArrayObject.js +92 -131
- package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
- package/Rendering/OpenGL/Volume.js +38 -34
- package/Rendering/OpenGL/VolumeMapper.js +437 -547
- package/Rendering/OpenGL.js +28 -28
- package/Rendering/SceneGraph/RenderPass.js +34 -31
- package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
- package/Rendering/SceneGraph/ViewNode.js +82 -111
- package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
- package/Rendering/SceneGraph.js +4 -4
- package/Rendering/WebGPU/Actor.js +49 -49
- package/Rendering/WebGPU/Actor2D.js +45 -44
- package/Rendering/WebGPU/BindGroup.js +43 -50
- package/Rendering/WebGPU/Buffer.js +41 -50
- package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
- package/Rendering/WebGPU/BufferManager.js +111 -141
- package/Rendering/WebGPU/Camera.js +65 -67
- package/Rendering/WebGPU/CellArrayMapper.js +621 -388
- package/Rendering/WebGPU/CubeAxesActor.js +28 -19
- package/Rendering/WebGPU/Device.js +78 -133
- package/Rendering/WebGPU/ForwardPass.js +75 -72
- package/Rendering/WebGPU/FullScreenQuad.js +25 -18
- package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
- package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
- package/Rendering/WebGPU/HardwareSelector.js +200 -276
- package/Rendering/WebGPU/ImageMapper.js +180 -171
- package/Rendering/WebGPU/ImageSlice.js +45 -44
- package/Rendering/WebGPU/IndexBuffer.js +166 -200
- package/Rendering/WebGPU/OpaquePass.js +37 -36
- package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
- package/Rendering/WebGPU/Pipeline.js +37 -51
- package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
- package/Rendering/WebGPU/PolyDataMapper.js +50 -53
- package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
- package/Rendering/WebGPU/RenderEncoder.js +68 -88
- package/Rendering/WebGPU/RenderWindow.js +262 -376
- package/Rendering/WebGPU/Renderer.js +224 -208
- package/Rendering/WebGPU/Sampler.js +27 -21
- package/Rendering/WebGPU/ScalarBarActor.js +28 -19
- package/Rendering/WebGPU/ShaderCache.js +43 -41
- package/Rendering/WebGPU/ShaderDescription.js +52 -59
- package/Rendering/WebGPU/ShaderModule.js +26 -17
- package/Rendering/WebGPU/SimpleMapper.js +185 -121
- package/Rendering/WebGPU/SphereMapper.js +200 -130
- package/Rendering/WebGPU/StickMapper.js +289 -152
- package/Rendering/WebGPU/StorageBuffer.js +100 -115
- package/Rendering/WebGPU/Texture.js +79 -99
- package/Rendering/WebGPU/TextureManager.js +52 -54
- package/Rendering/WebGPU/TextureView.js +40 -43
- package/Rendering/WebGPU/Types.js +53 -70
- package/Rendering/WebGPU/UniformBuffer.js +158 -184
- package/Rendering/WebGPU/VertexInput.js +64 -90
- package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
- package/Rendering/WebGPU/Volume.js +52 -51
- package/Rendering/WebGPU/VolumePass.js +218 -239
- package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
- package/Rendering/WebGPU.js +1 -1
- package/Rendering/index.js +5 -5
- package/Widgets/Core/AbstractWidget/Constants.js +2 -2
- package/Widgets/Core/AbstractWidget.js +49 -58
- package/Widgets/Core/AbstractWidgetFactory.js +101 -122
- package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
- package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
- package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
- package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
- package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
- package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
- package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
- package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
- package/Widgets/Core/StateBuilder/originMixin.js +25 -32
- package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
- package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
- package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
- package/Widgets/Core/StateBuilder/textMixin.js +10 -6
- package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
- package/Widgets/Core/StateBuilder.js +120 -149
- package/Widgets/Core/WidgetManager/Constants.js +7 -7
- package/Widgets/Core/WidgetManager.js +249 -421
- package/Widgets/Core/WidgetState.js +48 -57
- package/Widgets/Core.js +5 -5
- package/Widgets/Manipulators/AbstractManipulator.js +20 -14
- package/Widgets/Manipulators/CPRManipulator.js +55 -71
- package/Widgets/Manipulators/LineManipulator.js +31 -28
- package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
- package/Widgets/Manipulators/PickerManipulator.js +65 -0
- package/Widgets/Manipulators/PlaneManipulator.js +26 -23
- package/Widgets/Manipulators/TrackballManipulator.js +39 -35
- package/Widgets/Manipulators.js +4 -2
- package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
- package/Widgets/Representations/CircleContextRepresentation.js +44 -38
- package/Widgets/Representations/ContextRepresentation.js +17 -14
- package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
- package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
- package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
- package/Widgets/Representations/GlyphRepresentation.js +107 -152
- package/Widgets/Representations/HandleRepresentation.js +17 -14
- package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
- package/Widgets/Representations/LineHandleRepresentation.js +44 -41
- package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
- package/Widgets/Representations/PolyLineRepresentation.js +60 -75
- package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
- package/Widgets/Representations/SphereContextRepresentation.js +19 -27
- package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
- package/Widgets/Representations/SplineContextRepresentation.js +46 -70
- package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
- package/Widgets/Representations/WidgetRepresentation.js +99 -134
- package/Widgets/Representations.js +13 -13
- package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
- package/Widgets/Widgets3D/AngleWidget.js +40 -38
- package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
- package/Widgets/Widgets3D/DistanceWidget.js +38 -36
- package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
- package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
- package/Widgets/Widgets3D/EllipseWidget.js +37 -26
- package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
- package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
- package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
- package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
- package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
- package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
- package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
- package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
- package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
- package/Widgets/Widgets3D/LabelWidget.js +31 -25
- package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
- package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
- package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
- package/Widgets/Widgets3D/LineWidget/state.js +2 -1
- package/Widgets/Widgets3D/LineWidget.js +39 -35
- package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
- package/Widgets/Widgets3D/PaintWidget.js +39 -37
- package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
- package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
- package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
- package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
- package/Widgets/Widgets3D/RectangleWidget.js +37 -25
- package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
- package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
- package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
- package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
- package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
- package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
- package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
- package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
- package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
- package/Widgets/Widgets3D/SeedWidget.js +43 -0
- package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
- package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
- package/Widgets/Widgets3D/ShapeWidget.js +24 -27
- package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
- package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
- package/Widgets/Widgets3D/SphereWidget.js +34 -44
- package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
- package/Widgets/Widgets3D/SplineWidget.js +43 -39
- package/Widgets/Widgets3D.js +15 -15
- package/Widgets/index.js +4 -4
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
- package/favicon.js +5 -6
- package/index.d.ts +4 -2
- package/index.js +4 -3
- package/macros.js +4 -1931
- package/macros2.js +1684 -0
- package/package.json +6 -6
- package/vtk.js +18 -31
package/Rendering/Core/Mapper.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import macro from '../../macros.js';
|
|
1
|
+
import { m as macro } from '../../macros2.js';
|
|
3
2
|
import vtkAbstractMapper3D from './AbstractMapper3D.js';
|
|
4
3
|
import vtkDataArray from '../../Common/Core/DataArray.js';
|
|
5
4
|
import vtkImageData from '../../Common/DataModel/ImageData.js';
|
|
@@ -11,106 +10,77 @@ import Constants from './Mapper/Constants.js';
|
|
|
11
10
|
import vtkDataSet from '../../Common/DataModel/DataSet.js';
|
|
12
11
|
import { PassTypes } from '../OpenGL/HardwareSelector/Constants.js';
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
const {
|
|
14
|
+
FieldAssociations
|
|
15
|
+
} = vtkDataSet;
|
|
16
|
+
const {
|
|
17
|
+
staticOffsetAPI,
|
|
18
|
+
otherStaticMethods
|
|
19
|
+
} = CoincidentTopologyHelper;
|
|
20
|
+
const {
|
|
21
|
+
ColorMode,
|
|
22
|
+
ScalarMode,
|
|
23
|
+
GetArray
|
|
24
|
+
} = Constants;
|
|
25
|
+
const {
|
|
26
|
+
VectorMode
|
|
27
|
+
} = vtkScalarsToColors;
|
|
28
|
+
const {
|
|
29
|
+
VtkDataTypes
|
|
30
|
+
} = vtkDataArray;
|
|
15
31
|
|
|
16
|
-
|
|
17
|
-
var FieldAssociations = vtkDataSet.FieldAssociations;
|
|
18
|
-
var staticOffsetAPI = CoincidentTopologyHelper.staticOffsetAPI,
|
|
19
|
-
otherStaticMethods = CoincidentTopologyHelper.otherStaticMethods;
|
|
20
|
-
var ColorMode = Constants.ColorMode,
|
|
21
|
-
ScalarMode = Constants.ScalarMode,
|
|
22
|
-
GetArray = Constants.GetArray;
|
|
23
|
-
var VectorMode = vtkScalarsToColors.VectorMode;
|
|
24
|
-
var VtkDataTypes = vtkDataArray.VtkDataTypes; // ----------------------------------------------------------------------------
|
|
32
|
+
// ----------------------------------------------------------------------------
|
|
25
33
|
|
|
26
34
|
function notImplemented(method) {
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
return () => macro.vtkErrorMacro(`vtkMapper::${method} - NOT IMPLEMENTED`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ----------------------------------------------------------------------------
|
|
31
39
|
// vtkMapper methods
|
|
32
40
|
// ----------------------------------------------------------------------------
|
|
33
41
|
|
|
34
|
-
|
|
35
42
|
function vtkMapper(publicAPI, model) {
|
|
36
43
|
// Set our className
|
|
37
44
|
model.classHierarchy.push('vtkMapper');
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var input = publicAPI.getInputData();
|
|
41
|
-
|
|
45
|
+
publicAPI.getBounds = () => {
|
|
46
|
+
const input = publicAPI.getInputData();
|
|
42
47
|
if (!input) {
|
|
43
48
|
model.bounds = createUninitializedBounds();
|
|
44
49
|
} else {
|
|
45
50
|
if (!model.static) {
|
|
46
51
|
publicAPI.update();
|
|
47
52
|
}
|
|
48
|
-
|
|
49
53
|
model.bounds = input.getBounds();
|
|
50
54
|
}
|
|
51
|
-
|
|
52
55
|
return model.bounds;
|
|
53
56
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
publicAPI.setForceCompileOnly = v => {
|
|
58
|
+
model.forceCompileOnly = v;
|
|
59
|
+
// make sure we do NOT call modified()
|
|
57
60
|
};
|
|
58
61
|
|
|
59
|
-
publicAPI.setSelectionWebGLIdsToVTKIds =
|
|
60
|
-
model.selectionWebGLIdsToVTKIds = selectionWebGLIdsToVTKIds;
|
|
62
|
+
publicAPI.setSelectionWebGLIdsToVTKIds = selectionWebGLIdsToVTKIds => {
|
|
63
|
+
model.selectionWebGLIdsToVTKIds = selectionWebGLIdsToVTKIds;
|
|
64
|
+
// make sure we do NOT call modified()
|
|
61
65
|
// this attribute is only used when processing a selection made with the hardware selector
|
|
62
66
|
// the mtime of the mapper doesn't need to be changed
|
|
63
67
|
};
|
|
64
68
|
|
|
65
|
-
publicAPI.createDefaultLookupTable =
|
|
69
|
+
publicAPI.createDefaultLookupTable = () => {
|
|
66
70
|
model.lookupTable = vtkLookupTable.newInstance();
|
|
67
71
|
};
|
|
68
|
-
|
|
69
|
-
publicAPI.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
publicAPI.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
publicAPI.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
publicAPI.setColorModeToDirectScalars = function () {
|
|
82
|
-
return publicAPI.setColorMode(2);
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
publicAPI.getScalarModeAsString = function () {
|
|
86
|
-
return macro.enumToString(ScalarMode, model.scalarMode);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
publicAPI.setScalarModeToDefault = function () {
|
|
90
|
-
return publicAPI.setScalarMode(0);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
publicAPI.setScalarModeToUsePointData = function () {
|
|
94
|
-
return publicAPI.setScalarMode(1);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
publicAPI.setScalarModeToUseCellData = function () {
|
|
98
|
-
return publicAPI.setScalarMode(2);
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
publicAPI.setScalarModeToUsePointFieldData = function () {
|
|
102
|
-
return publicAPI.setScalarMode(3);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
publicAPI.setScalarModeToUseCellFieldData = function () {
|
|
106
|
-
return publicAPI.setScalarMode(4);
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
publicAPI.setScalarModeToUseFieldData = function () {
|
|
110
|
-
return publicAPI.setScalarMode(5);
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
publicAPI.getAbstractScalars = function (input, scalarMode, arrayAccessMode, arrayId, arrayName) {
|
|
72
|
+
publicAPI.getColorModeAsString = () => macro.enumToString(ColorMode, model.colorMode);
|
|
73
|
+
publicAPI.setColorModeToDefault = () => publicAPI.setColorMode(0);
|
|
74
|
+
publicAPI.setColorModeToMapScalars = () => publicAPI.setColorMode(1);
|
|
75
|
+
publicAPI.setColorModeToDirectScalars = () => publicAPI.setColorMode(2);
|
|
76
|
+
publicAPI.getScalarModeAsString = () => macro.enumToString(ScalarMode, model.scalarMode);
|
|
77
|
+
publicAPI.setScalarModeToDefault = () => publicAPI.setScalarMode(0);
|
|
78
|
+
publicAPI.setScalarModeToUsePointData = () => publicAPI.setScalarMode(1);
|
|
79
|
+
publicAPI.setScalarModeToUseCellData = () => publicAPI.setScalarMode(2);
|
|
80
|
+
publicAPI.setScalarModeToUsePointFieldData = () => publicAPI.setScalarMode(3);
|
|
81
|
+
publicAPI.setScalarModeToUseCellFieldData = () => publicAPI.setScalarMode(4);
|
|
82
|
+
publicAPI.setScalarModeToUseFieldData = () => publicAPI.setScalarMode(5);
|
|
83
|
+
publicAPI.getAbstractScalars = (input, scalarMode, arrayAccessMode, arrayId, arrayName) => {
|
|
114
84
|
// make sure we have an input
|
|
115
85
|
if (!input || !model.scalarVisibility) {
|
|
116
86
|
return {
|
|
@@ -118,13 +88,12 @@ function vtkMapper(publicAPI, model) {
|
|
|
118
88
|
cellFLag: false
|
|
119
89
|
};
|
|
120
90
|
}
|
|
91
|
+
let scalars = null;
|
|
92
|
+
let cellFlag = false;
|
|
121
93
|
|
|
122
|
-
|
|
123
|
-
var cellFlag = false; // get and scalar data according to scalar mode
|
|
124
|
-
|
|
94
|
+
// get and scalar data according to scalar mode
|
|
125
95
|
if (scalarMode === ScalarMode.DEFAULT) {
|
|
126
96
|
scalars = input.getPointData().getScalars();
|
|
127
|
-
|
|
128
97
|
if (!scalars) {
|
|
129
98
|
scalars = input.getCellData().getScalars();
|
|
130
99
|
cellFlag = true;
|
|
@@ -135,85 +104,76 @@ function vtkMapper(publicAPI, model) {
|
|
|
135
104
|
scalars = input.getCellData().getScalars();
|
|
136
105
|
cellFlag = true;
|
|
137
106
|
} else if (scalarMode === ScalarMode.USE_POINT_FIELD_DATA) {
|
|
138
|
-
|
|
139
|
-
|
|
107
|
+
const pd = input.getPointData();
|
|
140
108
|
if (arrayAccessMode === GetArray.BY_ID) {
|
|
141
109
|
scalars = pd.getArrayByIndex(arrayId);
|
|
142
110
|
} else {
|
|
143
111
|
scalars = pd.getArrayByName(arrayName);
|
|
144
112
|
}
|
|
145
113
|
} else if (scalarMode === ScalarMode.USE_CELL_FIELD_DATA) {
|
|
146
|
-
|
|
114
|
+
const cd = input.getCellData();
|
|
147
115
|
cellFlag = true;
|
|
148
|
-
|
|
149
116
|
if (arrayAccessMode === GetArray.BY_ID) {
|
|
150
117
|
scalars = cd.getArrayByIndex(arrayId);
|
|
151
118
|
} else {
|
|
152
119
|
scalars = cd.getArrayByName(arrayName);
|
|
153
120
|
}
|
|
154
121
|
} else if (scalarMode === ScalarMode.USE_FIELD_DATA) {
|
|
155
|
-
|
|
156
|
-
|
|
122
|
+
const fd = input.getFieldData();
|
|
157
123
|
if (arrayAccessMode === GetArray.BY_ID) {
|
|
158
124
|
scalars = fd.getArrayByIndex(arrayId);
|
|
159
125
|
} else {
|
|
160
126
|
scalars = fd.getArrayByName(arrayName);
|
|
161
127
|
}
|
|
162
128
|
}
|
|
163
|
-
|
|
164
129
|
return {
|
|
165
|
-
scalars
|
|
166
|
-
cellFlag
|
|
130
|
+
scalars,
|
|
131
|
+
cellFlag
|
|
167
132
|
};
|
|
168
133
|
};
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
var scalars = publicAPI.getAbstractScalars(input, model.scalarMode, model.arrayAccessMode, model.arrayId, model.colorByArrayName).scalars;
|
|
172
|
-
|
|
134
|
+
publicAPI.mapScalars = (input, alpha) => {
|
|
135
|
+
const scalars = publicAPI.getAbstractScalars(input, model.scalarMode, model.arrayAccessMode, model.arrayId, model.colorByArrayName).scalars;
|
|
173
136
|
if (!scalars) {
|
|
174
137
|
model.colorCoordinates = null;
|
|
175
138
|
model.colorTextureMap = null;
|
|
176
139
|
model.colorMapColors = null;
|
|
177
140
|
return;
|
|
178
|
-
}
|
|
179
|
-
|
|
141
|
+
}
|
|
180
142
|
|
|
181
|
-
|
|
143
|
+
// we want to only recompute when something has changed
|
|
144
|
+
const toString = `${publicAPI.getMTime()}${scalars.getMTime()}${alpha}`;
|
|
182
145
|
if (model.colorBuildString === toString) return;
|
|
183
|
-
|
|
184
146
|
if (!model.useLookupTableScalarRange) {
|
|
185
147
|
publicAPI.getLookupTable().setRange(model.scalarRange[0], model.scalarRange[1]);
|
|
186
|
-
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Decide between texture color or vertex color.
|
|
187
151
|
// Cell data always uses vertex color.
|
|
188
152
|
// Only point data can use both texture and vertex coloring.
|
|
189
|
-
|
|
190
|
-
|
|
191
153
|
if (publicAPI.canUseTextureMapForColoring(input)) {
|
|
192
154
|
publicAPI.mapScalarsToTexture(scalars, alpha);
|
|
193
155
|
} else {
|
|
194
156
|
model.colorCoordinates = null;
|
|
195
157
|
model.colorTextureMap = null;
|
|
196
|
-
|
|
197
|
-
|
|
158
|
+
const lut = publicAPI.getLookupTable();
|
|
198
159
|
if (lut) {
|
|
199
160
|
// Ensure that the lookup table is built
|
|
200
161
|
lut.build();
|
|
201
162
|
model.colorMapColors = lut.mapScalars(scalars, model.colorMode, model.fieldDataTupleId);
|
|
202
163
|
}
|
|
203
164
|
}
|
|
165
|
+
model.colorBuildString = `${publicAPI.getMTime()}${scalars.getMTime()}${alpha}`;
|
|
166
|
+
};
|
|
204
167
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
invRangeWidth) {
|
|
168
|
+
//-----------------------------------------------------------------------------
|
|
169
|
+
publicAPI.scalarToTextureCoordinate = (scalarValue,
|
|
170
|
+
// Input scalar
|
|
171
|
+
rangeMin,
|
|
172
|
+
// range[0]
|
|
173
|
+
invRangeWidth) => {
|
|
212
174
|
// 1/(range[1]-range[0])
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
var texCoordT = 1.0; // 1.0 in t coordinate means NaN
|
|
216
|
-
|
|
175
|
+
let texCoordS = 0.5; // Scalar value is arbitrary when NaN
|
|
176
|
+
let texCoordT = 1.0; // 1.0 in t coordinate means NaN
|
|
217
177
|
if (!isNan(scalarValue)) {
|
|
218
178
|
// 0.0 in t coordinate means not NaN. So why am I setting it to 0.49?
|
|
219
179
|
// Because when you are mapping scalars and you have a NaN adjacent to
|
|
@@ -223,206 +183,182 @@ function vtkMapper(publicAPI, model) {
|
|
|
223
183
|
// the threshold so that the interpolation almost immediately looks up
|
|
224
184
|
// the NaN value.
|
|
225
185
|
texCoordT = 0.49;
|
|
226
|
-
texCoordS = (scalarValue - rangeMin) * invRangeWidth;
|
|
186
|
+
texCoordS = (scalarValue - rangeMin) * invRangeWidth;
|
|
187
|
+
|
|
188
|
+
// Some implementations apparently don't handle relatively large
|
|
227
189
|
// numbers (compared to the range [0.0, 1.0]) very well. In fact,
|
|
228
190
|
// values above 1122.0f appear to cause texture wrap-around on
|
|
229
191
|
// some systems even when edge clamping is enabled. Why 1122.0f? I
|
|
230
192
|
// don't know. For safety, we'll clamp at +/- 1000. This will
|
|
231
193
|
// result in incorrect images when the texture value should be
|
|
232
194
|
// above or below 1000, but I don't have a better solution.
|
|
233
|
-
|
|
234
195
|
if (texCoordS > 1000.0) {
|
|
235
196
|
texCoordS = 1000.0;
|
|
236
197
|
} else if (texCoordS < -1000.0) {
|
|
237
198
|
texCoordS = -1000.0;
|
|
238
199
|
}
|
|
239
200
|
}
|
|
240
|
-
|
|
241
201
|
return {
|
|
242
|
-
texCoordS
|
|
243
|
-
texCoordT
|
|
202
|
+
texCoordS,
|
|
203
|
+
texCoordT
|
|
244
204
|
};
|
|
245
|
-
};
|
|
246
|
-
|
|
205
|
+
};
|
|
247
206
|
|
|
248
|
-
|
|
207
|
+
//-----------------------------------------------------------------------------
|
|
208
|
+
publicAPI.createColorTextureCoordinates = (input, output, numScalars, numComps, component, range, tableRange, tableNumberOfColors, useLogScale) => {
|
|
249
209
|
// We have to change the range used for computing texture
|
|
250
210
|
// coordinates slightly to accommodate the special above- and
|
|
251
211
|
// below-range colors that are the first and last texels,
|
|
252
212
|
// respectively.
|
|
253
|
-
|
|
254
|
-
|
|
213
|
+
const scalarTexelWidth = (range[1] - range[0]) / tableNumberOfColors;
|
|
214
|
+
const paddedRange = [];
|
|
255
215
|
paddedRange[0] = range[0] - scalarTexelWidth;
|
|
256
216
|
paddedRange[1] = range[1] + scalarTexelWidth;
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
217
|
+
const invRangeWidth = 1.0 / (paddedRange[1] - paddedRange[0]);
|
|
218
|
+
const outputV = output.getData();
|
|
219
|
+
const inputV = input.getData();
|
|
220
|
+
let count = 0;
|
|
221
|
+
let outputCount = 0;
|
|
263
222
|
if (component < 0 || component >= numComps) {
|
|
264
|
-
for (
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
for (var compIdx = 0; compIdx < numComps; ++compIdx) {
|
|
223
|
+
for (let scalarIdx = 0; scalarIdx < numScalars; ++scalarIdx) {
|
|
224
|
+
let sum = 0;
|
|
225
|
+
for (let compIdx = 0; compIdx < numComps; ++compIdx) {
|
|
268
226
|
sum += inputV[count] * inputV[count];
|
|
269
227
|
count++;
|
|
270
228
|
}
|
|
271
|
-
|
|
272
|
-
var magnitude = Math.sqrt(sum);
|
|
273
|
-
|
|
229
|
+
let magnitude = Math.sqrt(sum);
|
|
274
230
|
if (useLogScale) {
|
|
275
231
|
magnitude = vtkLookupTable.applyLogScale(magnitude, tableRange, range);
|
|
276
232
|
}
|
|
277
|
-
|
|
278
|
-
var outputs = publicAPI.scalarToTextureCoordinate(magnitude, paddedRange[0], invRangeWidth);
|
|
233
|
+
const outputs = publicAPI.scalarToTextureCoordinate(magnitude, paddedRange[0], invRangeWidth);
|
|
279
234
|
outputV[outputCount] = outputs.texCoordS;
|
|
280
235
|
outputV[outputCount + 1] = outputs.texCoordT;
|
|
281
236
|
outputCount += 2;
|
|
282
237
|
}
|
|
283
238
|
} else {
|
|
284
239
|
count += component;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
var inputValue = inputV[count];
|
|
288
|
-
|
|
240
|
+
for (let scalarIdx = 0; scalarIdx < numScalars; ++scalarIdx) {
|
|
241
|
+
let inputValue = inputV[count];
|
|
289
242
|
if (useLogScale) {
|
|
290
243
|
inputValue = vtkLookupTable.applyLogScale(inputValue, tableRange, range);
|
|
291
244
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
outputV[outputCount] = _outputs.texCoordS;
|
|
296
|
-
outputV[outputCount + 1] = _outputs.texCoordT;
|
|
245
|
+
const outputs = publicAPI.scalarToTextureCoordinate(inputValue, paddedRange[0], invRangeWidth);
|
|
246
|
+
outputV[outputCount] = outputs.texCoordS;
|
|
247
|
+
outputV[outputCount + 1] = outputs.texCoordT;
|
|
297
248
|
outputCount += 2;
|
|
298
249
|
count += numComps;
|
|
299
250
|
}
|
|
300
251
|
}
|
|
301
252
|
};
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
var useLogScale = model.lookupTable.usingLogScale();
|
|
306
|
-
|
|
253
|
+
publicAPI.mapScalarsToTexture = (scalars, alpha) => {
|
|
254
|
+
const range = model.lookupTable.getRange();
|
|
255
|
+
const useLogScale = model.lookupTable.usingLogScale();
|
|
307
256
|
if (useLogScale) {
|
|
308
257
|
// convert range to log.
|
|
309
258
|
vtkLookupTable.getLogRange(range, range);
|
|
310
259
|
}
|
|
260
|
+
const origAlpha = model.lookupTable.getAlpha();
|
|
311
261
|
|
|
312
|
-
|
|
262
|
+
// Get rid of vertex color array. Only texture or vertex coloring
|
|
313
263
|
// can be active at one time. The existence of the array is the
|
|
314
264
|
// signal to use that technique.
|
|
265
|
+
model.colorMapColors = null;
|
|
315
266
|
|
|
316
|
-
|
|
267
|
+
// If the lookup table has changed, then recreate the color texture map.
|
|
317
268
|
// Set a new lookup table changes this->MTime.
|
|
318
|
-
|
|
319
269
|
if (model.colorTextureMap == null || publicAPI.getMTime() > model.colorTextureMap.getMTime() || model.lookupTable.getMTime() > model.colorTextureMap.getMTime() || model.lookupTable.getAlpha() !== alpha) {
|
|
320
270
|
model.lookupTable.setAlpha(alpha);
|
|
321
|
-
model.colorTextureMap = null;
|
|
271
|
+
model.colorTextureMap = null;
|
|
272
|
+
|
|
273
|
+
// Get the texture map from the lookup table.
|
|
322
274
|
// Create a dummy ramp of scalars.
|
|
323
275
|
// In the future, we could extend vtkScalarsToColors.
|
|
324
|
-
|
|
325
276
|
model.lookupTable.build();
|
|
326
|
-
|
|
327
|
-
|
|
277
|
+
let numberOfColors = model.lookupTable.getNumberOfAvailableColors();
|
|
328
278
|
if (numberOfColors > 4094) {
|
|
329
279
|
numberOfColors = 4094;
|
|
330
280
|
}
|
|
331
|
-
|
|
332
281
|
if (numberOfColors < 64) {
|
|
333
282
|
numberOfColors = 64;
|
|
334
283
|
}
|
|
335
|
-
|
|
336
284
|
numberOfColors += 2;
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
for (var i = 0; i < numberOfColors; ++i) {
|
|
285
|
+
const k = (range[1] - range[0]) / (numberOfColors - 2);
|
|
286
|
+
const newArray = new Float64Array(numberOfColors * 2);
|
|
287
|
+
for (let i = 0; i < numberOfColors; ++i) {
|
|
341
288
|
newArray[i] = range[0] + i * k - k / 2.0; // minus k / 2 to start at below range color
|
|
342
|
-
|
|
343
289
|
if (useLogScale) {
|
|
344
|
-
newArray[i] =
|
|
290
|
+
newArray[i] = 10.0 ** newArray[i];
|
|
345
291
|
}
|
|
346
|
-
} // Dimension on NaN.
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
for (var _i = 0; _i < numberOfColors; ++_i) {
|
|
350
|
-
newArray[_i + numberOfColors] = NaN;
|
|
351
292
|
}
|
|
352
|
-
|
|
293
|
+
// Dimension on NaN.
|
|
294
|
+
for (let i = 0; i < numberOfColors; ++i) {
|
|
295
|
+
newArray[i + numberOfColors] = NaN;
|
|
296
|
+
}
|
|
353
297
|
model.colorTextureMap = vtkImageData.newInstance();
|
|
354
298
|
model.colorTextureMap.setExtent(0, numberOfColors - 1, 0, 1, 0, 0);
|
|
355
|
-
|
|
299
|
+
const tmp = vtkDataArray.newInstance({
|
|
356
300
|
numberOfComponents: 1,
|
|
357
301
|
values: newArray
|
|
358
302
|
});
|
|
359
303
|
model.colorTextureMap.getPointData().setScalars(model.lookupTable.mapScalars(tmp, model.colorMode, 0));
|
|
360
304
|
model.lookupTable.setAlpha(origAlpha);
|
|
361
|
-
}
|
|
362
|
-
// Need to compare lookup table in case the range has changed.
|
|
363
|
-
|
|
305
|
+
}
|
|
364
306
|
|
|
307
|
+
// Create new coordinates if necessary.
|
|
308
|
+
// Need to compare lookup table in case the range has changed.
|
|
365
309
|
if (!model.colorCoordinates || publicAPI.getMTime() > model.colorCoordinates.getMTime() || publicAPI.getInputData(0).getMTime() > model.colorCoordinates.getMTime() || model.lookupTable.getMTime() > model.colorCoordinates.getMTime()) {
|
|
366
310
|
// Get rid of old colors
|
|
367
|
-
model.colorCoordinates = null;
|
|
311
|
+
model.colorCoordinates = null;
|
|
368
312
|
|
|
369
|
-
|
|
370
|
-
|
|
313
|
+
// Now create the color texture coordinates.
|
|
314
|
+
const numComps = scalars.getNumberOfComponents();
|
|
315
|
+
const num = scalars.getNumberOfTuples();
|
|
371
316
|
|
|
317
|
+
// const fArray = new FloatArray(num * 2);
|
|
372
318
|
model.colorCoordinates = vtkDataArray.newInstance({
|
|
373
319
|
numberOfComponents: 2,
|
|
374
320
|
values: new Float32Array(num * 2)
|
|
375
321
|
});
|
|
376
|
-
|
|
322
|
+
let scalarComponent = model.lookupTable.getVectorComponent();
|
|
323
|
+
// Although I like the feature of applying magnitude to single component
|
|
377
324
|
// scalars, it is not how the old MapScalars for vertex coloring works.
|
|
378
|
-
|
|
379
325
|
if (model.lookupTable.getVectorMode() === VectorMode.MAGNITUDE && scalars.getNumberOfComponents() > 1) {
|
|
380
326
|
scalarComponent = -1;
|
|
381
327
|
}
|
|
382
|
-
|
|
383
328
|
publicAPI.createColorTextureCoordinates(scalars, model.colorCoordinates, num, numComps, scalarComponent, range, model.lookupTable.getRange(), model.colorTextureMap.getPointData().getScalars().getNumberOfTuples() / 2 - 2, useLogScale);
|
|
384
329
|
}
|
|
385
330
|
};
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
var scalars = gasResult.scalars;
|
|
391
|
-
|
|
331
|
+
publicAPI.getIsOpaque = () => {
|
|
332
|
+
const input = publicAPI.getInputData();
|
|
333
|
+
const gasResult = publicAPI.getAbstractScalars(input, model.scalarMode, model.arrayAccessMode, model.arrayId, model.colorByArrayName);
|
|
334
|
+
const scalars = gasResult.scalars;
|
|
392
335
|
if (!model.scalarVisibility || scalars == null) {
|
|
393
336
|
// No scalar colors.
|
|
394
337
|
return true;
|
|
395
338
|
}
|
|
396
|
-
|
|
397
|
-
var lut = publicAPI.getLookupTable();
|
|
398
|
-
|
|
339
|
+
const lut = publicAPI.getLookupTable();
|
|
399
340
|
if (lut) {
|
|
400
341
|
// Ensure that the lookup table is built
|
|
401
342
|
lut.build();
|
|
402
343
|
return lut.areScalarsOpaque(scalars, model.colorMode, -1);
|
|
403
344
|
}
|
|
404
|
-
|
|
405
345
|
return true;
|
|
406
346
|
};
|
|
407
|
-
|
|
408
|
-
publicAPI.canUseTextureMapForColoring = function (input) {
|
|
347
|
+
publicAPI.canUseTextureMapForColoring = input => {
|
|
409
348
|
if (!model.interpolateScalarsBeforeMapping) {
|
|
410
349
|
return false; // user doesn't want us to use texture maps at all.
|
|
411
|
-
}
|
|
412
|
-
|
|
350
|
+
}
|
|
413
351
|
|
|
352
|
+
// index color does not use textures
|
|
414
353
|
if (model.lookupTable && model.lookupTable.getIndexedLookup()) {
|
|
415
354
|
return false;
|
|
416
355
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
var scalars = gasResult.scalars;
|
|
420
|
-
|
|
356
|
+
const gasResult = publicAPI.getAbstractScalars(input, model.scalarMode, model.arrayAccessMode, model.arrayId, model.colorByArrayName);
|
|
357
|
+
const scalars = gasResult.scalars;
|
|
421
358
|
if (!scalars) {
|
|
422
359
|
// no scalars on this dataset, we don't care if texture is used at all.
|
|
423
360
|
return false;
|
|
424
361
|
}
|
|
425
|
-
|
|
426
362
|
if (gasResult.cellFlag) {
|
|
427
363
|
return false; // cell data colors, don't use textures.
|
|
428
364
|
}
|
|
@@ -432,38 +368,30 @@ function vtkMapper(publicAPI, model) {
|
|
|
432
368
|
// requested.
|
|
433
369
|
return false;
|
|
434
370
|
}
|
|
435
|
-
|
|
436
371
|
return true;
|
|
437
372
|
};
|
|
438
|
-
|
|
439
|
-
publicAPI.clearColorArrays = function () {
|
|
373
|
+
publicAPI.clearColorArrays = () => {
|
|
440
374
|
model.colorMapColors = null;
|
|
441
375
|
model.colorCoordinates = null;
|
|
442
376
|
model.colorTextureMap = null;
|
|
443
377
|
};
|
|
444
|
-
|
|
445
|
-
publicAPI.getLookupTable = function () {
|
|
378
|
+
publicAPI.getLookupTable = () => {
|
|
446
379
|
if (!model.lookupTable) {
|
|
447
380
|
publicAPI.createDefaultLookupTable();
|
|
448
381
|
}
|
|
449
|
-
|
|
450
382
|
return model.lookupTable;
|
|
451
383
|
};
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
var mt = model.mtime;
|
|
455
|
-
|
|
384
|
+
publicAPI.getMTime = () => {
|
|
385
|
+
let mt = model.mtime;
|
|
456
386
|
if (model.lookupTable !== null) {
|
|
457
|
-
|
|
387
|
+
const time = model.lookupTable.getMTime();
|
|
458
388
|
mt = time > mt ? time : mt;
|
|
459
389
|
}
|
|
460
|
-
|
|
461
390
|
return mt;
|
|
462
391
|
};
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
var pcount = {
|
|
392
|
+
publicAPI.getPrimitiveCount = () => {
|
|
393
|
+
const input = publicAPI.getInputData();
|
|
394
|
+
const pcount = {
|
|
467
395
|
points: input.getPoints().getNumberOfValues() / 3,
|
|
468
396
|
verts: input.getVerts().getNumberOfValues() - input.getVerts().getNumberOfCells(),
|
|
469
397
|
lines: input.getLines().getNumberOfValues() - 2 * input.getLines().getNumberOfCells(),
|
|
@@ -471,78 +399,72 @@ function vtkMapper(publicAPI, model) {
|
|
|
471
399
|
};
|
|
472
400
|
return pcount;
|
|
473
401
|
};
|
|
474
|
-
|
|
475
402
|
publicAPI.acquireInvertibleLookupTable = notImplemented('AcquireInvertibleLookupTable');
|
|
476
403
|
publicAPI.valueToColor = notImplemented('ValueToColor');
|
|
477
404
|
publicAPI.colorToValue = notImplemented('ColorToValue');
|
|
478
405
|
publicAPI.useInvertibleColorFor = notImplemented('UseInvertibleColorFor');
|
|
479
406
|
publicAPI.clearInvertibleColor = notImplemented('ClearInvertibleColor');
|
|
480
|
-
|
|
481
|
-
publicAPI.processSelectorPixelBuffers = function (selector, pixelOffsets) {
|
|
407
|
+
publicAPI.processSelectorPixelBuffers = (selector, pixelOffsets) => {
|
|
482
408
|
/* eslint-disable no-bitwise */
|
|
483
409
|
if (!selector || !model.selectionWebGLIdsToVTKIds || !model.populateSelectionSettings) {
|
|
484
410
|
return;
|
|
485
411
|
}
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
var idMap = null;
|
|
492
|
-
|
|
412
|
+
const rawLowData = selector.getRawPixelBuffer(PassTypes.ID_LOW24);
|
|
413
|
+
const rawHighData = selector.getRawPixelBuffer(PassTypes.ID_HIGH24);
|
|
414
|
+
const currentPass = selector.getCurrentPass();
|
|
415
|
+
const fieldAssociation = selector.getFieldAssociation();
|
|
416
|
+
let idMap = null;
|
|
493
417
|
if (fieldAssociation === FieldAssociations.FIELD_ASSOCIATION_POINTS) {
|
|
494
418
|
idMap = model.selectionWebGLIdsToVTKIds.points;
|
|
495
419
|
} else if (fieldAssociation === FieldAssociations.FIELD_ASSOCIATION_CELLS) {
|
|
496
420
|
idMap = model.selectionWebGLIdsToVTKIds.cells;
|
|
497
421
|
}
|
|
498
|
-
|
|
499
422
|
if (!idMap) {
|
|
500
423
|
return;
|
|
501
424
|
}
|
|
502
|
-
|
|
503
|
-
pixelOffsets.forEach(function (pos) {
|
|
425
|
+
pixelOffsets.forEach(pos => {
|
|
504
426
|
if (currentPass === PassTypes.ID_LOW24) {
|
|
505
|
-
|
|
506
|
-
|
|
427
|
+
let inValue = 0;
|
|
507
428
|
if (rawHighData) {
|
|
508
429
|
inValue += rawHighData[pos];
|
|
509
430
|
inValue *= 256;
|
|
510
431
|
}
|
|
511
|
-
|
|
512
432
|
inValue += rawLowData[pos + 2];
|
|
513
433
|
inValue *= 256;
|
|
514
434
|
inValue += rawLowData[pos + 1];
|
|
515
435
|
inValue *= 256;
|
|
516
436
|
inValue += rawLowData[pos];
|
|
517
|
-
|
|
518
|
-
|
|
437
|
+
const outValue = idMap[inValue];
|
|
438
|
+
const lowData = selector.getPixelBuffer(PassTypes.ID_LOW24);
|
|
519
439
|
lowData[pos] = outValue & 0xff;
|
|
520
440
|
lowData[pos + 1] = (outValue & 0xff00) >> 8;
|
|
521
441
|
lowData[pos + 2] = (outValue & 0xff0000) >> 16;
|
|
522
442
|
} else if (currentPass === PassTypes.ID_HIGH24 && rawHighData) {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
highData[pos] = (
|
|
443
|
+
let inValue = 0;
|
|
444
|
+
inValue += rawHighData[pos];
|
|
445
|
+
inValue *= 256;
|
|
446
|
+
inValue += rawLowData[pos];
|
|
447
|
+
inValue *= 256;
|
|
448
|
+
inValue += rawLowData[pos + 1];
|
|
449
|
+
inValue *= 256;
|
|
450
|
+
inValue += rawLowData[pos + 2];
|
|
451
|
+
const outValue = idMap[inValue];
|
|
452
|
+
const highData = selector.getPixelBuffer(PassTypes.ID_HIGH24);
|
|
453
|
+
highData[pos] = (outValue & 0xff000000) >> 24;
|
|
534
454
|
}
|
|
535
455
|
});
|
|
536
456
|
/* eslint-enable no-bitwise */
|
|
537
457
|
};
|
|
538
|
-
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
// ----------------------------------------------------------------------------
|
|
539
461
|
// Object factory
|
|
540
462
|
// ----------------------------------------------------------------------------
|
|
541
463
|
|
|
542
|
-
|
|
543
|
-
var DEFAULT_VALUES = {
|
|
464
|
+
const DEFAULT_VALUES = {
|
|
544
465
|
colorMapColors: null,
|
|
545
466
|
// Same as this->Colors
|
|
467
|
+
|
|
546
468
|
static: false,
|
|
547
469
|
lookupTable: null,
|
|
548
470
|
scalarVisibility: true,
|
|
@@ -552,6 +474,7 @@ var DEFAULT_VALUES = {
|
|
|
552
474
|
scalarMode: 0,
|
|
553
475
|
arrayAccessMode: 1,
|
|
554
476
|
// By_NAME
|
|
477
|
+
|
|
555
478
|
renderTime: 0,
|
|
556
479
|
colorByArrayName: null,
|
|
557
480
|
fieldDataTupleId: -1,
|
|
@@ -564,27 +487,39 @@ var DEFAULT_VALUES = {
|
|
|
564
487
|
useInvertibleColors: false,
|
|
565
488
|
invertibleScalars: null,
|
|
566
489
|
customShaderAttributes: []
|
|
567
|
-
};
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
// ----------------------------------------------------------------------------
|
|
568
493
|
|
|
569
494
|
function extend(publicAPI, model) {
|
|
570
|
-
|
|
571
|
-
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
495
|
+
let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
496
|
+
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
572
497
|
|
|
498
|
+
// Inheritance
|
|
573
499
|
vtkAbstractMapper3D.extend(publicAPI, model, initialValues);
|
|
574
500
|
macro.get(publicAPI, model, ['colorCoordinates', 'colorMapColors', 'colorTextureMap', 'selectionWebGLIdsToVTKIds']);
|
|
575
501
|
macro.setGet(publicAPI, model, ['colorByArrayName', 'arrayAccessMode', 'colorMode', 'fieldDataTupleId', 'interpolateScalarsBeforeMapping', 'lookupTable', 'populateSelectionSettings', 'renderTime', 'scalarMode', 'scalarVisibility', 'static', 'useLookupTableScalarRange', 'customShaderAttributes' // point data array names that will be transferred to the VBO
|
|
576
502
|
]);
|
|
503
|
+
|
|
577
504
|
macro.setGetArray(publicAPI, model, ['scalarRange'], 2);
|
|
578
|
-
CoincidentTopologyHelper.implementCoincidentTopologyMethods(publicAPI, model);
|
|
505
|
+
CoincidentTopologyHelper.implementCoincidentTopologyMethods(publicAPI, model);
|
|
579
506
|
|
|
507
|
+
// Object methods
|
|
580
508
|
vtkMapper(publicAPI, model);
|
|
581
|
-
}
|
|
509
|
+
}
|
|
582
510
|
|
|
583
|
-
|
|
511
|
+
// ----------------------------------------------------------------------------
|
|
512
|
+
|
|
513
|
+
const newInstance = macro.newInstance(extend, 'vtkMapper');
|
|
514
|
+
|
|
515
|
+
// ----------------------------------------------------------------------------
|
|
584
516
|
|
|
585
|
-
var vtkMapper$1 =
|
|
586
|
-
newInstance
|
|
587
|
-
extend
|
|
588
|
-
|
|
517
|
+
var vtkMapper$1 = {
|
|
518
|
+
newInstance,
|
|
519
|
+
extend,
|
|
520
|
+
...staticOffsetAPI,
|
|
521
|
+
...otherStaticMethods,
|
|
522
|
+
...Constants
|
|
523
|
+
};
|
|
589
524
|
|
|
590
525
|
export { vtkMapper$1 as default, extend, newInstance };
|