/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as t}from"tslib";import o from"../../../../core/Accessor.js";import{watch as n,syncAndInitial as e}from"../../../../core/reactiveUtils.js";import{property as i,subclass as r}from"../../../../core/accessorSupport/decorators.js";import s from"../../../analysis/LengthDimensionResult.js";let l=class extends o{constructor(t){super(t),this.geometry=null,this.unconstrainedGeometry=null,this.elevationAlignedStartPoint=null,this.elevationAlignedEndPoint=null}normalizeCtorArgs(t){const{dimension:o,...n}=t;return{result:new s({dimension:o}),...n}}initialize(){this.addHandles([n(()=>this.dimension.startPoint,t=>this.elevationAlignedStartPoint=this.projectAndAlignPoint(t),e),n(()=>this.dimension.endPoint,t=>this.elevationAlignedEndPoint=this.projectAndAlignPoint(t),e)])}get dimension(){return this.result.dimension}get length(){return this.result.length}};t([i({constructOnly:!0,nonNullable:!0})],l.prototype,"result",void 0),t([i({constructOnly:!0,nonNullable:!0})],l.prototype,"projectAndAlignPoint",void 0),t([i()],l.prototype,"dimension",null),t([i()],l.prototype,"length",null),t([i()],l.prototype,"geometry",void 0),t([i()],l.prototype,"unconstrainedGeometry",void 0),t([i()],l.prototype,"elevationAlignedStartPoint",void 0),t([i()],l.prototype,"elevationAlignedEndPoint",void 0),t([i()],l.prototype,"preConstraintProperties",void 0),t([i()],l.prototype,"previousConstraint",void 0),l=t([r("esri.views.3d.analysis.Dimension.LengthDimensionComputation")],l);export{l as LengthDimensionComputation};
