@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
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
1
|
import { mat3, mat4 } from 'gl-matrix';
|
|
3
|
-
import {
|
|
2
|
+
import { n as newInstance$1, o as obj, c as macro } from '../../macros2.js';
|
|
4
3
|
import vtkBufferObject from './BufferObject.js';
|
|
5
4
|
import vtkHardwareSelector from './HardwareSelector.js';
|
|
6
5
|
import vtkProperty from '../Core/Property.js';
|
|
@@ -8,104 +7,105 @@ import vtkOpenGLPolyDataMapper from './PolyDataMapper.js';
|
|
|
8
7
|
import vtkShaderProgram from './ShaderProgram.js';
|
|
9
8
|
import { registerOverride } from './ViewNodeFactory.js';
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
const {
|
|
11
|
+
vtkErrorMacro
|
|
12
|
+
} = macro;
|
|
13
|
+
const {
|
|
14
|
+
Representation
|
|
15
|
+
} = vtkProperty;
|
|
16
|
+
const {
|
|
17
|
+
ObjectType
|
|
18
|
+
} = vtkBufferObject;
|
|
19
|
+
const {
|
|
20
|
+
PassTypes
|
|
21
|
+
} = vtkHardwareSelector;
|
|
22
|
+
const StartEvent = {
|
|
19
23
|
type: 'StartEvent'
|
|
20
24
|
};
|
|
21
|
-
|
|
25
|
+
const EndEvent = {
|
|
22
26
|
type: 'EndEvent'
|
|
23
|
-
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// ----------------------------------------------------------------------------
|
|
24
30
|
// vtkOpenGLSphereMapper methods
|
|
25
31
|
// ----------------------------------------------------------------------------
|
|
26
32
|
|
|
27
33
|
function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
28
34
|
// Set our className
|
|
29
|
-
model.classHierarchy.push('vtkOpenGLGlyph3DMapper');
|
|
30
|
-
|
|
31
|
-
var superClass = _objectSpread({}, publicAPI);
|
|
35
|
+
model.classHierarchy.push('vtkOpenGLGlyph3DMapper');
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
// Capture 'parentClass' api for internal use
|
|
38
|
+
const superClass = {
|
|
39
|
+
...publicAPI
|
|
40
|
+
};
|
|
41
|
+
publicAPI.renderPiece = (ren, actor) => {
|
|
34
42
|
publicAPI.invokeEvent(StartEvent);
|
|
35
|
-
|
|
36
43
|
if (!model.renderable.getStatic()) {
|
|
37
44
|
model.renderable.update();
|
|
38
45
|
}
|
|
39
|
-
|
|
40
46
|
model.currentInput = model.renderable.getInputData(1);
|
|
41
47
|
publicAPI.invokeEvent(EndEvent);
|
|
42
|
-
|
|
43
48
|
if (!model.currentInput) {
|
|
44
49
|
vtkErrorMacro('No input!');
|
|
45
50
|
return;
|
|
46
|
-
}
|
|
47
|
-
|
|
51
|
+
}
|
|
48
52
|
|
|
53
|
+
// if there are no points then we are done
|
|
49
54
|
if (!model.currentInput.getPoints || !model.currentInput.getPoints().getNumberOfValues()) {
|
|
50
55
|
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
var gl = model.context;
|
|
56
|
+
}
|
|
55
57
|
|
|
58
|
+
// apply faceCulling
|
|
59
|
+
const gl = model.context;
|
|
56
60
|
if (model._openGLRenderWindow.getWebgl2()) {
|
|
57
61
|
model.hardwareSupport = true;
|
|
58
62
|
model.extension = null;
|
|
59
63
|
} else if (!model.extension) {
|
|
60
64
|
model.extension = model.context.getExtension('ANGLE_instanced_arrays');
|
|
61
65
|
model.hardwareSupport = !!model.extension;
|
|
62
|
-
}
|
|
66
|
+
}
|
|
67
|
+
// to test without extension support uncomment the next two lines
|
|
63
68
|
// model.extension = null;
|
|
64
69
|
// model.hardwareSupport = !!model.extension;
|
|
65
70
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var frontfaceCulling = actor.getProperty().getFrontfaceCulling();
|
|
69
|
-
|
|
71
|
+
const backfaceCulling = actor.getProperty().getBackfaceCulling();
|
|
72
|
+
const frontfaceCulling = actor.getProperty().getFrontfaceCulling();
|
|
70
73
|
if (!backfaceCulling && !frontfaceCulling) {
|
|
71
74
|
model._openGLRenderWindow.disableCullFace();
|
|
72
75
|
} else if (frontfaceCulling) {
|
|
73
76
|
model._openGLRenderWindow.enableCullFace();
|
|
74
|
-
|
|
75
77
|
gl.cullFace(gl.FRONT);
|
|
76
78
|
} else {
|
|
77
79
|
model._openGLRenderWindow.enableCullFace();
|
|
78
|
-
|
|
79
80
|
gl.cullFace(gl.BACK);
|
|
80
81
|
}
|
|
81
|
-
|
|
82
82
|
publicAPI.renderPieceStart(ren, actor);
|
|
83
83
|
publicAPI.renderPieceDraw(ren, actor);
|
|
84
84
|
publicAPI.renderPieceFinish(ren, actor);
|
|
85
85
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
86
|
+
publicAPI.multiply4x4WithOffset = (out, a, b, off) => {
|
|
87
|
+
const a00 = a[0];
|
|
88
|
+
const a01 = a[1];
|
|
89
|
+
const a02 = a[2];
|
|
90
|
+
const a03 = a[3];
|
|
91
|
+
const a10 = a[4];
|
|
92
|
+
const a11 = a[5];
|
|
93
|
+
const a12 = a[6];
|
|
94
|
+
const a13 = a[7];
|
|
95
|
+
const a20 = a[8];
|
|
96
|
+
const a21 = a[9];
|
|
97
|
+
const a22 = a[10];
|
|
98
|
+
const a23 = a[11];
|
|
99
|
+
const a30 = a[12];
|
|
100
|
+
const a31 = a[13];
|
|
101
|
+
const a32 = a[14];
|
|
102
|
+
const a33 = a[15];
|
|
103
|
+
|
|
104
|
+
// Cache only the current line of the second matrix
|
|
105
|
+
let b0 = b[off];
|
|
106
|
+
let b1 = b[off + 1];
|
|
107
|
+
let b2 = b[off + 2];
|
|
108
|
+
let b3 = b[off + 3];
|
|
109
109
|
out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
|
|
110
110
|
out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
|
|
111
111
|
out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
|
|
@@ -135,55 +135,46 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
135
135
|
out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
|
|
136
136
|
out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
|
|
137
137
|
};
|
|
138
|
-
|
|
139
|
-
publicAPI.replaceShaderNormal = function (shaders, ren, actor) {
|
|
138
|
+
publicAPI.replaceShaderNormal = (shaders, ren, actor) => {
|
|
140
139
|
if (model.hardwareSupport) {
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
const lastLightComplexity = model.lastBoundBO.getReferenceByName('lastLightComplexity');
|
|
143
141
|
if (lastLightComplexity > 0) {
|
|
144
|
-
|
|
145
|
-
|
|
142
|
+
let VSSource = shaders.Vertex;
|
|
146
143
|
if (model.lastBoundBO.getCABO().getNormalOffset()) {
|
|
147
144
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Normal::Dec', ['attribute vec3 normalMC;', 'attribute mat3 gNormal;', 'uniform mat3 normalMatrix;', 'varying vec3 normalVCVSOutput;']).result;
|
|
148
145
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Normal::Impl', ['normalVCVSOutput = normalMatrix * gNormal * normalMC;']).result;
|
|
149
146
|
}
|
|
150
|
-
|
|
151
147
|
shaders.Vertex = VSSource;
|
|
152
148
|
}
|
|
153
149
|
}
|
|
154
|
-
|
|
155
150
|
superClass.replaceShaderNormal(shaders, ren, actor);
|
|
156
151
|
};
|
|
157
|
-
|
|
158
|
-
publicAPI.replaceShaderColor = function (shaders, ren, actor) {
|
|
152
|
+
publicAPI.replaceShaderColor = (shaders, ren, actor) => {
|
|
159
153
|
if (model.hardwareSupport && model.renderable.getColorArray()) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
// these are always defined
|
|
165
|
-
|
|
166
|
-
var colorDec = ['uniform float ambient;', 'uniform float diffuse;', 'uniform float specular;', 'uniform float opacityUniform; // the fragment opacity']; // add more for specular
|
|
154
|
+
let VSSource = shaders.Vertex;
|
|
155
|
+
let GSSource = shaders.Geometry;
|
|
156
|
+
let FSSource = shaders.Fragment;
|
|
157
|
+
const lastLightComplexity = model.lastBoundBO.getReferenceByName('lastLightComplexity');
|
|
167
158
|
|
|
159
|
+
// create the material/color property declarations, and VS implementation
|
|
160
|
+
// these are always defined
|
|
161
|
+
let colorDec = ['uniform float ambient;', 'uniform float diffuse;', 'uniform float specular;', 'uniform float opacityUniform; // the fragment opacity'];
|
|
162
|
+
// add more for specular
|
|
168
163
|
if (lastLightComplexity) {
|
|
169
164
|
colorDec = colorDec.concat(['uniform vec3 specularColorUniform;', 'uniform float specularPowerUniform;']);
|
|
170
|
-
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// now handle the more complex fragment shader implementation
|
|
171
168
|
// the following are always defined variables. We start
|
|
172
169
|
// by assigning a default value from the uniform
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
var colorImpl = ['vec3 ambientColor;', ' vec3 diffuseColor;', ' float opacity;'];
|
|
176
|
-
|
|
170
|
+
let colorImpl = ['vec3 ambientColor;', ' vec3 diffuseColor;', ' float opacity;'];
|
|
177
171
|
if (lastLightComplexity) {
|
|
178
172
|
colorImpl = colorImpl.concat([' vec3 specularColor;', ' float specularPower;']);
|
|
179
173
|
}
|
|
180
|
-
|
|
181
174
|
colorImpl = colorImpl.concat([' opacity = opacityUniform;']);
|
|
182
|
-
|
|
183
175
|
if (lastLightComplexity) {
|
|
184
176
|
colorImpl = colorImpl.concat([' specularColor = specularColorUniform;', ' specularPower = specularPowerUniform;']);
|
|
185
177
|
}
|
|
186
|
-
|
|
187
178
|
if (!model.drawingEdges) {
|
|
188
179
|
colorDec = colorDec.concat(['varying vec4 vertexColorVSOutput;']);
|
|
189
180
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Color::Dec', ['attribute vec4 gColor;', 'varying vec4 vertexColorVSOutput;']).result;
|
|
@@ -192,23 +183,20 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
192
183
|
GSSource = vtkShaderProgram.substitute(GSSource, '//VTK::Color::Impl', ['vertexColorGSOutput = vertexColorVSOutput[i];']).result;
|
|
193
184
|
colorImpl = colorImpl.concat([' diffuseColor = vertexColorVSOutput.rgb;', ' ambientColor = vertexColorVSOutput.rgb;', ' opacity = opacity*vertexColorVSOutput.a;']);
|
|
194
185
|
}
|
|
195
|
-
|
|
196
186
|
FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Color::Impl', colorImpl).result;
|
|
197
187
|
FSSource = vtkShaderProgram.substitute(FSSource, '//VTK::Color::Dec', colorDec).result;
|
|
198
188
|
shaders.Vertex = VSSource;
|
|
199
189
|
shaders.Geometry = GSSource;
|
|
200
190
|
shaders.Fragment = FSSource;
|
|
201
191
|
}
|
|
202
|
-
|
|
203
192
|
superClass.replaceShaderColor(shaders, ren, actor);
|
|
204
193
|
};
|
|
205
|
-
|
|
206
|
-
publicAPI.replaceShaderPositionVC = function (shaders, ren, actor) {
|
|
194
|
+
publicAPI.replaceShaderPositionVC = (shaders, ren, actor) => {
|
|
207
195
|
if (model.hardwareSupport) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
var lastLightComplexity = model.lastBoundBO.getReferenceByName('lastLightComplexity');
|
|
196
|
+
let VSSource = shaders.Vertex;
|
|
211
197
|
|
|
198
|
+
// do we need the vertex in the shader in View Coordinates
|
|
199
|
+
const lastLightComplexity = model.lastBoundBO.getReferenceByName('lastLightComplexity');
|
|
212
200
|
if (lastLightComplexity > 0) {
|
|
213
201
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::PositionVC::Impl', ['vec4 gVertexMC = gMatrix * vertexMC;', 'vertexVCVSOutput = MCVCMatrix * gVertexMC;', ' gl_Position = MCPCMatrix * gVertexMC;']).result;
|
|
214
202
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Camera::Dec', ['attribute mat4 gMatrix;', 'uniform mat4 MCPCMatrix;', 'uniform mat4 MCVCMatrix;']).result;
|
|
@@ -216,17 +204,14 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
216
204
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Camera::Dec', ['attribute mat4 gMatrix;', 'uniform mat4 MCPCMatrix;']).result;
|
|
217
205
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::PositionVC::Impl', ['vec4 gVertexMC = gMatrix * vertexMC;', ' gl_Position = MCPCMatrix * gVertexMC;']).result;
|
|
218
206
|
}
|
|
219
|
-
|
|
220
207
|
shaders.Vertex = VSSource;
|
|
221
208
|
}
|
|
222
|
-
|
|
223
209
|
superClass.replaceShaderPositionVC(shaders, ren, actor);
|
|
224
210
|
};
|
|
225
|
-
|
|
226
|
-
publicAPI.replaceShaderPicking = function (shaders, ren, actor) {
|
|
211
|
+
publicAPI.replaceShaderPicking = (shaders, ren, actor) => {
|
|
227
212
|
if (model.hardwareSupport) {
|
|
228
|
-
|
|
229
|
-
|
|
213
|
+
let FSSource = shaders.Fragment;
|
|
214
|
+
let VSSource = shaders.Vertex;
|
|
230
215
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Picking::Dec', ['attribute vec3 mapperIndexVS;', 'varying vec3 mapperIndexVSOutput;']).result;
|
|
231
216
|
VSSource = vtkShaderProgram.substitute(VSSource, '//VTK::Picking::Impl', ' mapperIndexVSOutput = mapperIndexVS;').result;
|
|
232
217
|
shaders.Vertex = VSSource;
|
|
@@ -237,33 +222,31 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
237
222
|
superClass.replaceShaderPicking(shaders, ren, actor);
|
|
238
223
|
}
|
|
239
224
|
};
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
var program = cellBO.getProgram();
|
|
243
|
-
|
|
225
|
+
publicAPI.updateGlyphShaderParameters = (normalMatrixUsed, mcvcMatrixUsed, cellBO, carray, garray, narray, p, selector) => {
|
|
226
|
+
const program = cellBO.getProgram();
|
|
244
227
|
if (normalMatrixUsed) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
228
|
+
const a = model.normalMatrix;
|
|
229
|
+
const b = narray;
|
|
230
|
+
const ofs = p * 9;
|
|
231
|
+
const out = model.tmpMat3;
|
|
232
|
+
const a00 = a[0];
|
|
233
|
+
const a01 = a[1];
|
|
234
|
+
const a02 = a[2];
|
|
235
|
+
const a10 = a[3];
|
|
236
|
+
const a11 = a[4];
|
|
237
|
+
const a12 = a[5];
|
|
238
|
+
const a20 = a[6];
|
|
239
|
+
const a21 = a[7];
|
|
240
|
+
const a22 = a[8];
|
|
241
|
+
const b00 = b[ofs];
|
|
242
|
+
const b01 = b[ofs + 1];
|
|
243
|
+
const b02 = b[ofs + 2];
|
|
244
|
+
const b10 = b[ofs + 3];
|
|
245
|
+
const b11 = b[ofs + 4];
|
|
246
|
+
const b12 = b[ofs + 5];
|
|
247
|
+
const b20 = b[ofs + 6];
|
|
248
|
+
const b21 = b[ofs + 7];
|
|
249
|
+
const b22 = b[ofs + 8];
|
|
267
250
|
out[0] = b00 * a00 + b01 * a10 + b02 * a20;
|
|
268
251
|
out[1] = b00 * a01 + b01 * a11 + b02 * a21;
|
|
269
252
|
out[2] = b00 * a02 + b01 * a12 + b02 * a22;
|
|
@@ -275,69 +258,64 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
275
258
|
out[8] = b20 * a02 + b21 * a12 + b22 * a22;
|
|
276
259
|
program.setUniformMatrix3x3('normalMatrix', model.tmpMat3);
|
|
277
260
|
}
|
|
278
|
-
|
|
279
261
|
publicAPI.multiply4x4WithOffset(model.tmpMat4, model.mcpcMatrix, garray, p * 16);
|
|
280
262
|
program.setUniformMatrix('MCPCMatrix', model.tmpMat4);
|
|
281
|
-
|
|
282
263
|
if (mcvcMatrixUsed) {
|
|
283
264
|
publicAPI.multiply4x4WithOffset(model.tmpMat4, model.mcvcMatrix, garray, p * 16);
|
|
284
265
|
program.setUniformMatrix('MCVCMatrix', model.tmpMat4);
|
|
285
|
-
}
|
|
286
|
-
|
|
266
|
+
}
|
|
287
267
|
|
|
268
|
+
// set color
|
|
288
269
|
if (carray) {
|
|
289
|
-
|
|
270
|
+
const cdata = carray.getData();
|
|
290
271
|
model.tmpColor[0] = cdata[p * 4] / 255.0;
|
|
291
272
|
model.tmpColor[1] = cdata[p * 4 + 1] / 255.0;
|
|
292
273
|
model.tmpColor[2] = cdata[p * 4 + 2] / 255.0;
|
|
293
274
|
program.setUniform3fArray('ambientColorUniform', model.tmpColor);
|
|
294
275
|
program.setUniform3fArray('diffuseColorUniform', model.tmpColor);
|
|
295
276
|
}
|
|
296
|
-
|
|
297
277
|
if (selector) {
|
|
298
278
|
program.setUniform3fArray('mapperIndex', selector.getPropColorValue());
|
|
299
279
|
}
|
|
300
280
|
};
|
|
281
|
+
publicAPI.renderPieceDraw = (ren, actor) => {
|
|
282
|
+
const representation = actor.getProperty().getRepresentation();
|
|
283
|
+
const gl = model.context;
|
|
284
|
+
const drawSurfaceWithEdges = actor.getProperty().getEdgeVisibility() && representation === Representation.SURFACE;
|
|
301
285
|
|
|
302
|
-
|
|
303
|
-
var representation = actor.getProperty().getRepresentation();
|
|
304
|
-
var gl = model.context;
|
|
305
|
-
var drawSurfaceWithEdges = actor.getProperty().getEdgeVisibility() && representation === Representation.SURFACE; // [WMVP]C == {world, model, view, projection} coordinates
|
|
286
|
+
// [WMVP]C == {world, model, view, projection} coordinates
|
|
306
287
|
// E.g., WCPC == world to projection coordinate transformation
|
|
288
|
+
const keyMats = model.openGLCamera.getKeyMatrices(ren);
|
|
289
|
+
const actMats = model.openGLActor.getKeyMatrices();
|
|
307
290
|
|
|
308
|
-
|
|
309
|
-
var actMats = model.openGLActor.getKeyMatrices(); // precompute the actor+camera mats once
|
|
310
|
-
|
|
291
|
+
// precompute the actor+camera mats once
|
|
311
292
|
mat3.multiply(model.normalMatrix, keyMats.normalMatrix, actMats.normalMatrix);
|
|
312
293
|
mat4.multiply(model.mcpcMatrix, keyMats.wcpc, actMats.mcwc);
|
|
313
294
|
mat4.multiply(model.mcvcMatrix, keyMats.wcvc, actMats.mcwc);
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
295
|
+
const garray = model.renderable.getMatrixArray();
|
|
296
|
+
const narray = model.renderable.getNormalArray();
|
|
297
|
+
const carray = model.renderable.getColorArray();
|
|
298
|
+
const numPts = garray.length / 16;
|
|
299
|
+
let compositePass = false;
|
|
320
300
|
if (model._openGLRenderer.getSelector()) {
|
|
321
301
|
if (model._openGLRenderer.getSelector().getCurrentPass() === PassTypes.COMPOSITE_INDEX_PASS) {
|
|
322
302
|
compositePass = true;
|
|
323
303
|
}
|
|
324
|
-
}
|
|
325
|
-
|
|
304
|
+
}
|
|
326
305
|
|
|
327
|
-
for
|
|
306
|
+
// for every primitive type
|
|
307
|
+
for (let i = model.primTypes.Start; i < model.primTypes.End; i++) {
|
|
328
308
|
// if there are entries
|
|
329
|
-
|
|
330
|
-
|
|
309
|
+
const cabo = model.primitives[i].getCABO();
|
|
331
310
|
if (cabo.getElementCount()) {
|
|
332
311
|
// are we drawing edges
|
|
333
312
|
model.drawingEdges = drawSurfaceWithEdges && (i === model.primTypes.TrisEdges || i === model.primTypes.TriStripsEdges);
|
|
334
313
|
model.lastBoundBO = model.primitives[i];
|
|
335
314
|
model.primitives[i].updateShaders(ren, actor, publicAPI);
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
315
|
+
const program = model.primitives[i].getProgram();
|
|
316
|
+
const mode = model.primitives[i].getOpenGLMode(representation);
|
|
317
|
+
const normalMatrixUsed = program.isUniformUsed('normalMatrix');
|
|
318
|
+
const mcvcMatrixUsed = program.isUniformUsed('MCVCMatrix');
|
|
341
319
|
if (model.hardwareSupport) {
|
|
342
320
|
if (model.extension) {
|
|
343
321
|
model.extension.drawArraysInstancedANGLE(mode, 0, cabo.getElementCount(), numPts);
|
|
@@ -346,11 +324,10 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
346
324
|
}
|
|
347
325
|
} else {
|
|
348
326
|
// draw the array multiple times with different cam matrix
|
|
349
|
-
for (
|
|
327
|
+
for (let p = 0; p < numPts; ++p) {
|
|
350
328
|
if (compositePass) {
|
|
351
329
|
model._openGLRenderer.getSelector().renderCompositeIndex(p);
|
|
352
330
|
}
|
|
353
|
-
|
|
354
331
|
publicAPI.updateGlyphShaderParameters(normalMatrixUsed, mcvcMatrixUsed, model.primitives[i], carray, garray, narray, p, compositePass ? model._openGLRenderer.getSelector() : null);
|
|
355
332
|
gl.drawArrays(mode, 0, cabo.getElementCount());
|
|
356
333
|
}
|
|
@@ -358,8 +335,7 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
358
335
|
}
|
|
359
336
|
}
|
|
360
337
|
};
|
|
361
|
-
|
|
362
|
-
publicAPI.setMapperShaderParameters = function (cellBO, ren, actor) {
|
|
338
|
+
publicAPI.setMapperShaderParameters = (cellBO, ren, actor) => {
|
|
363
339
|
if (cellBO.getCABO().getElementCount() && (model.glyphBOBuildTime.getMTime() > cellBO.getAttributeUpdateTime().getMTime() || cellBO.getShaderSourceTime().getMTime() > cellBO.getAttributeUpdateTime().getMTime())) {
|
|
364
340
|
if (cellBO.getProgram().isAttributeUsed('gMatrix')) {
|
|
365
341
|
if (!cellBO.getVAO().addAttributeMatrixWithDivisor(cellBO.getProgram(), model.matrixBuffer, 'gMatrix', 0, 64, model.context.FLOAT, 4, false, 1)) {
|
|
@@ -368,7 +344,6 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
368
344
|
} else {
|
|
369
345
|
cellBO.getVAO().removeAttributeArray('gMatrix');
|
|
370
346
|
}
|
|
371
|
-
|
|
372
347
|
if (cellBO.getProgram().isAttributeUsed('gNormal')) {
|
|
373
348
|
if (!cellBO.getVAO().addAttributeMatrixWithDivisor(cellBO.getProgram(), model.normalBuffer, 'gNormal', 0, 36, model.context.FLOAT, 3, false, 1)) {
|
|
374
349
|
vtkErrorMacro('Error setting gNormal in shader VAO.');
|
|
@@ -376,7 +351,6 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
376
351
|
} else {
|
|
377
352
|
cellBO.getVAO().removeAttributeArray('gNormal');
|
|
378
353
|
}
|
|
379
|
-
|
|
380
354
|
if (cellBO.getProgram().isAttributeUsed('gColor')) {
|
|
381
355
|
if (!cellBO.getVAO().addAttributeArrayWithDivisor(cellBO.getProgram(), model.colorBuffer, 'gColor', 0, 4, model.context.UNSIGNED_BYTE, 4, true, 1, false)) {
|
|
382
356
|
vtkErrorMacro('Error setting gColor in shader VAO.');
|
|
@@ -384,7 +358,6 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
384
358
|
} else {
|
|
385
359
|
cellBO.getVAO().removeAttributeArray('gColor');
|
|
386
360
|
}
|
|
387
|
-
|
|
388
361
|
if (cellBO.getProgram().isAttributeUsed('mapperIndexVS')) {
|
|
389
362
|
if (!cellBO.getVAO().addAttributeArrayWithDivisor(cellBO.getProgram(), model.pickBuffer, 'mapperIndexVS', 0, 4, model.context.UNSIGNED_BYTE, 4, true, 1, false)) {
|
|
390
363
|
vtkErrorMacro('Error setting mapperIndexVS in shader VAO.');
|
|
@@ -392,43 +365,35 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
392
365
|
} else {
|
|
393
366
|
cellBO.getVAO().removeAttributeArray('mapperIndexVS');
|
|
394
367
|
}
|
|
395
|
-
|
|
396
368
|
superClass.setMapperShaderParameters(cellBO, ren, actor);
|
|
397
369
|
cellBO.getAttributeUpdateTime().modified();
|
|
398
370
|
return;
|
|
399
371
|
}
|
|
400
|
-
|
|
401
372
|
superClass.setMapperShaderParameters(cellBO, ren, actor);
|
|
402
373
|
};
|
|
374
|
+
publicAPI.getNeedToRebuildBufferObjects = (ren, actor) => {
|
|
375
|
+
model.renderable.buildArrays();
|
|
403
376
|
|
|
404
|
-
|
|
405
|
-
model.renderable.buildArrays(); // first do a coarse check
|
|
377
|
+
// first do a coarse check
|
|
406
378
|
// Note that the actor's mtime includes it's properties mtime
|
|
407
|
-
|
|
408
|
-
var vmtime = model.VBOBuildTime.getMTime();
|
|
409
|
-
|
|
379
|
+
const vmtime = model.VBOBuildTime.getMTime();
|
|
410
380
|
if (vmtime < model.renderable.getBuildTime().getMTime()) {
|
|
411
381
|
return true;
|
|
412
382
|
}
|
|
413
|
-
|
|
414
383
|
return superClass.getNeedToRebuildBufferObjects(ren, actor);
|
|
415
384
|
};
|
|
416
|
-
|
|
417
|
-
publicAPI.getNeedToRebuildShaders = function (cellBO, ren, actor) {
|
|
385
|
+
publicAPI.getNeedToRebuildShaders = (cellBO, ren, actor) => {
|
|
418
386
|
if (superClass.getNeedToRebuildShaders(cellBO, ren, actor) || cellBO.getShaderSourceTime().getMTime() < model.renderable.getMTime() || cellBO.getShaderSourceTime().getMTime() < model.currentInput.getMTime()) {
|
|
419
387
|
return true;
|
|
420
388
|
}
|
|
421
|
-
|
|
422
389
|
return false;
|
|
423
390
|
};
|
|
424
|
-
|
|
425
|
-
publicAPI.buildBufferObjects = function (ren, actor) {
|
|
391
|
+
publicAPI.buildBufferObjects = (ren, actor) => {
|
|
426
392
|
if (model.hardwareSupport) {
|
|
427
393
|
// update the buffer objects if needed
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
394
|
+
const garray = model.renderable.getMatrixArray();
|
|
395
|
+
const narray = model.renderable.getNormalArray();
|
|
396
|
+
const carray = model.renderable.getColorArray();
|
|
432
397
|
if (!model.matrixBuffer) {
|
|
433
398
|
model.matrixBuffer = vtkBufferObject.newInstance();
|
|
434
399
|
model.matrixBuffer.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
@@ -439,23 +404,19 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
439
404
|
model.pickBuffer = vtkBufferObject.newInstance();
|
|
440
405
|
model.pickBuffer.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
441
406
|
}
|
|
442
|
-
|
|
443
407
|
if (model.renderable.getBuildTime().getMTime() > model.glyphBOBuildTime.getMTime()) {
|
|
444
408
|
model.matrixBuffer.upload(garray, ObjectType.ARRAY_BUFFER);
|
|
445
409
|
model.normalBuffer.upload(narray, ObjectType.ARRAY_BUFFER);
|
|
446
|
-
|
|
447
410
|
if (carray) {
|
|
448
411
|
model.colorBuffer.upload(carray.getData(), ObjectType.ARRAY_BUFFER);
|
|
449
412
|
} else {
|
|
450
413
|
model.colorBuffer.releaseGraphicsResources();
|
|
451
414
|
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
var value = i + 1;
|
|
458
|
-
var offset = i * 4;
|
|
415
|
+
const numPts = garray.length / 16;
|
|
416
|
+
const parray = new Uint8Array(4 * numPts);
|
|
417
|
+
for (let i = 0; i < numPts; ++i) {
|
|
418
|
+
let value = i + 1;
|
|
419
|
+
const offset = i * 4;
|
|
459
420
|
parray[offset] = value % 256;
|
|
460
421
|
value -= parray[offset];
|
|
461
422
|
value /= 256;
|
|
@@ -465,29 +426,31 @@ function vtkOpenGLGlyph3DMapper(publicAPI, model) {
|
|
|
465
426
|
parray[offset + 2] = value % 256;
|
|
466
427
|
parray[offset + 3] = 255;
|
|
467
428
|
}
|
|
468
|
-
|
|
469
429
|
model.pickBuffer.upload(parray, ObjectType.ARRAY_BUFFER);
|
|
470
430
|
model.glyphBOBuildTime.modified();
|
|
471
431
|
}
|
|
472
432
|
}
|
|
473
|
-
|
|
474
433
|
return superClass.buildBufferObjects(ren, actor);
|
|
475
434
|
};
|
|
476
|
-
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
// ----------------------------------------------------------------------------
|
|
477
438
|
// Object factory
|
|
478
439
|
// ----------------------------------------------------------------------------
|
|
479
440
|
|
|
480
|
-
|
|
481
|
-
var DEFAULT_VALUES = {
|
|
441
|
+
const DEFAULT_VALUES = {
|
|
482
442
|
normalMatrix: null,
|
|
483
443
|
mcpcMatrix: null,
|
|
484
444
|
mcwcMatrix: null
|
|
485
|
-
};
|
|
445
|
+
};
|
|
446
|
+
|
|
447
|
+
// ----------------------------------------------------------------------------
|
|
486
448
|
|
|
487
449
|
function extend(publicAPI, model) {
|
|
488
|
-
|
|
489
|
-
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
450
|
+
let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
451
|
+
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
490
452
|
|
|
453
|
+
// Inheritance
|
|
491
454
|
vtkOpenGLPolyDataMapper.extend(publicAPI, model, initialValues);
|
|
492
455
|
model.tmpMat3 = mat3.identity(new Float64Array(9));
|
|
493
456
|
model.normalMatrix = mat3.identity(new Float64Array(9));
|
|
@@ -497,18 +460,24 @@ function extend(publicAPI, model) {
|
|
|
497
460
|
model.glyphBOBuildTime = {};
|
|
498
461
|
obj(model.glyphBOBuildTime, {
|
|
499
462
|
mtime: 0
|
|
500
|
-
});
|
|
463
|
+
});
|
|
501
464
|
|
|
465
|
+
// Object methods
|
|
502
466
|
vtkOpenGLGlyph3DMapper(publicAPI, model);
|
|
503
|
-
}
|
|
467
|
+
}
|
|
504
468
|
|
|
505
|
-
|
|
469
|
+
// ----------------------------------------------------------------------------
|
|
470
|
+
|
|
471
|
+
const newInstance = newInstance$1(extend, 'vtkOpenGLGlyph3DMapper');
|
|
472
|
+
|
|
473
|
+
// ----------------------------------------------------------------------------
|
|
506
474
|
|
|
507
475
|
var vtkGlyph3DMapper = {
|
|
508
|
-
newInstance
|
|
509
|
-
extend
|
|
510
|
-
};
|
|
476
|
+
newInstance,
|
|
477
|
+
extend
|
|
478
|
+
};
|
|
511
479
|
|
|
480
|
+
// Register ourself to OpenGL backend if imported
|
|
512
481
|
registerOverride('vtkGlyph3DMapper', newInstance);
|
|
513
482
|
|
|
514
483
|
export { vtkGlyph3DMapper as default, extend, newInstance };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const PassTypes = {
|
|
2
2
|
MIN_KNOWN_PASS: 0,
|
|
3
3
|
ACTOR_PASS: 0,
|
|
4
4
|
COMPOSITE_INDEX_PASS: 1,
|
|
@@ -7,7 +7,7 @@ var PassTypes = {
|
|
|
7
7
|
MAX_KNOWN_PASS: 3
|
|
8
8
|
};
|
|
9
9
|
var Constants = {
|
|
10
|
-
PassTypes
|
|
10
|
+
PassTypes
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export { PassTypes, Constants as default };
|