123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import 'package:fis_measure/process/calcuators/formulas/general.dart';
- import '../primitives/straightline.dart';
- import 'calculator.dart';
- class DistanceCal extends Calculator<StraightLine, double> {
- 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;
- }
- }
- class VolumeOneDistanceCal extends Calculator<StraightLine, double> {
- VolumeOneDistanceCal(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();
- double volume = GeneralFormulas.volume(value);
- final floatValue = updateFloatValue(volume);
- floatValue!.name = ref.displayName;
- }
- }
|