UNPKG

react-vtk-js

Version:

React based declarative vtk.js visualization pipeline

2 lines (1 loc) 3.58 kB
import e from"../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js";import t from"../node_modules/@babel/runtime/helpers/esm/classCallCheck.js";import r from"../node_modules/@babel/runtime/helpers/esm/createClass.js";import o from"../node_modules/@babel/runtime/helpers/esm/inherits.js";import i from"../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js";import a from"../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js";import n,{Component as s}from"react";import l from"prop-types";import{ViewContext as p,RepresentationContext as u,DownstreamContext as c}from"./View.js";import m from"../node_modules/@kitware/vtk.js/Rendering/Core/Actor.js";import d from"../node_modules/@kitware/vtk.js/Rendering/Core/Glyph3DMapper.js";import h from"../node_modules/@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps.js";import f from"../node_modules/@kitware/vtk.js/Rendering/Core/ColorTransferFunction.js";function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=a(e);if(t){var n=a(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return i(this,r)}}var b=function(i){o(l,s);var a=v(l);function l(e){var r;return t(this,l),(r=a.call(this,e)).validData=!1,r.currentVisibility=!0,r.actor=m.newInstance({visibility:!1}),r.lookupTable=f.newInstance(),r.mapper=d.newInstance({lookupTable:r.lookupTable,useLookupTableScalarRange:!0}),r.actor.setMapper(r.mapper),r}return r(l,[{key:"render",value:function(){var e=this;return n.createElement(p.Consumer,null,(function(t){return e.view||(t.renderer.addActor(e.actor),e.view=t),n.createElement(u.Provider,{value:e},n.createElement(c.Provider,{value:e.mapper},n.createElement("div",{key:e.props.id,id:e.props.id},e.props.children)))}))}},{key:"componentDidMount",value:function(){this.update(this.props)}},{key:"componentDidUpdate",value:function(e,t,r){this.update(this.props,e)}},{key:"componentWillUnmount",value:function(){this.view&&this.view.renderer&&this.view.renderer.removeActor(this.actor),this.actor.delete(),this.actor=null,this.mapper.delete(),this.mapper=null,this.lookupTable.delete(),this.lookupTable=null}},{key:"update",value:function(t,r){var o,i=t.actor,a=t.mapper,n=t.property,s=t.colorMapPreset,l=t.colorDataRange;if(!i||r&&i===r.actor||this.actor.set(i),!a||r&&a===r.mapper||this.mapper.set(a),!n||r&&n===r.property||this.actor.getProperty().set(n),s&&(!r||s!==r.colorMapPreset)){var p,u=h.getPresetByName(s);this.lookupTable.applyColorMap(u),(p=this.lookupTable).setMappingRange.apply(p,e(l)),this.lookupTable.updateRange()}!l||r&&l===r.colorDataRange||((o=this.lookupTable).setMappingRange.apply(o,e(l)),this.lookupTable.updateRange());i&&void 0!==i.visibility&&(this.currentVisibility=i.visibility,this.actor.setVisibility(this.currentVisibility&&this.validData)),this.dataChanged()}},{key:"dataAvailable",value:function(){this.validData||(this.validData=!0,this.actor.setVisibility(this.currentVisibility),this.dataChanged())}},{key:"dataChanged",value:function(){this.view&&this.view.renderView()}}]),l}();b.defaultProps={colorMapPreset:"erdc_rainbow_bright",colorDataRange:[0,1]},b.propTypes={id:l.string,actor:l.object,mapper:l.object,property:l.object,colorMapPreset:l.string,colorDataRange:l.arrayOf(l.number),children:l.oneOfType([l.arrayOf(l.node),l.node])};export{b as default};