/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../chunks/_rollupPluginBabelHelpers","../../../../chunks/tslib.es6","../../../../core/Accessor","../../../../core/maybe","../../../../core/accessorSupport/decorators/property","../../../../core/arrayUtils","../../../../core/has","../../../../core/accessorSupport/ensureType","../../../../core/accessorSupport/decorators/subclass","../LengthDimensionResult","../../../support/euclideanLengthMeasurementUtils"],(function(e,t,n,o,i,s,r,u,c,l,a,p){"use strict";e.LengthDimensionComputation=function(e){function n(t){return e.call(this,t)||this}return t._inheritsLoose(n,e),n.prototype.initialize=function(){this._set("result",new a({dimension:this.dimension}))},t._createClass(n,[{key:"length",get:function(){const{startPoint:e,endPoint:t,axis:n}=this.dimension;if(i.isNone(e)||i.isNone(t))return null;const o=p.euclideanDistanceBetweenPoints(e,t);if(i.isNone(o))return null;return o[n]}}]),n}(o),n.__decorate([s.property({constructOnly:!0,nonNullable:!0})],e.LengthDimensionComputation.prototype,"dimension",void 0),n.__decorate([s.property({constructOnly:!0,nonNullable:!0})],e.LengthDimensionComputation.prototype,"result",void 0),n.__decorate([s.property()],e.LengthDimensionComputation.prototype,"length",null),e.LengthDimensionComputation=n.__decorate([l.subclass("esri.views.3d.analysis.LengthDimensionComputation")],e.LengthDimensionComputation),Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
