Files
JiboSDK/lib/robot-info-tab/views/body-view.js
2026-03-22 03:21:45 +02:00

1 line
1.3 KiB
JavaScript

"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),n=require("animation-utilities"),r=n.visualize,i=e(require("path")),o=n.JiboConfig,a=n.RobotInfo,s=new o(i.resolve(__dirname,"../../../","node_modules/animation-utilities/node_modules/geometry-config/")+"/");module.exports=t.createClass({displayName:"body-view",getInitialState:function(){return{}},render:function(){var e={border:"1px solid grey",width:"97%",height:500,margin:"auto"};return t.createElement("div",null,t.createElement("div",{className:"panel-heading",style:{height:40}},t.createElement("h2",{style:{margin:"auto",textAlign:"center"}},"Body View")),t.createElement("div",{style:e,ref:"content"}))},componentDidMount:function(){var e=this;this.tracks={};var n=t.findDOMNode(this.refs.content);a.createInfo(s,function(t){r.createRobotRenderer(t,n,r.DisplayType.BODY,function(t){t.setBackgroundColor(.7,.7,.7,0),e.renderer=t})}),setInterval(this.update,this.props.intervalLength)},update:function(){var e=this.props.parent.motionInterface;if(e&&e.isConnected()&&!this.props.parent.paused){for(var t=e.getMotionDOFNames(),n={},r=0;r<t.length;r++){var i=e.getState(t[r]);n[t[r]]=i.pos}try{this.renderer.display(n)}catch(o){console.log("renderer problem")}}},componentWillUnmount:function(){clearInterval(this.interval)}});