import 'package:fis_measure/interfaces/date_types/point.dart'; import 'package:fis_measure/interfaces/process/calculators/output.dart'; import 'package:fis_measure/interfaces/process/items/types.dart'; import 'package:vid/us/vid_us_unit.dart'; import '../primitives/straightline.dart'; import 'calculator.dart'; class DistanceCal extends Calculator { DistanceCal(StraightLine ref) : super(ref); @override void calculate() { if (ref.feature == null) return; final feature = ref.feature!; // TODO:xxx final viewport = feature.hostVisualArea!.viewport!; final p1 = feature.startPoint; final p2 = feature.endPoint; final pp1 = viewport.convert(p1); final pp2 = viewport.convert(p2); final value = (pp2 - pp1).length.abs(); final floatValue = updateFloatValue(value); floatValue!.name = ref.displayName; } }