sv.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:fis_measure/interfaces/process/items/item.dart';
  2. import 'package:fis_measure/interfaces/process/items/item_metas.dart';
  3. import 'package:fis_measure/process/calcuators/sv.dart';
  4. import 'package:fis_measure/process/items/top_item.dart';
  5. import 'package:fis_measure/process/items/top_item_feature.dart';
  6. import '../multi_method/multiple_trace.dart';
  7. import '../straightline.dart';
  8. class Sv extends TopMeasureItem<SvFeature> {
  9. late final StraightLine l;
  10. late final MultiTrace trace;
  11. Sv(super.meta) {
  12. final metaDiam = meta.childItems[0];
  13. final metaTA = meta.childItems[1];
  14. l = StraightLine.createDistance(metaDiam, this);
  15. trace = MultiTrace.createTrace(metaTA, this);
  16. childItems.add(l);
  17. childItems.add(trace);
  18. }
  19. @override
  20. SvFeature buildFeature() => SvFeature(this);
  21. static Sv createSV(ItemMeta meta, [IMeasureItem? parent]) {
  22. var sv = Sv(meta);
  23. sv.calculator = SvCal(sv);
  24. return sv;
  25. }
  26. }
  27. class SvFeature extends TopMeasureItemFeature {
  28. SvFeature(
  29. ITopMeasureItem refItem,
  30. ) : super(refItem);
  31. }