PhasorDiagram constructor

const PhasorDiagram({
  1. Key? key,
  2. required double size,
  3. required double phaseOneVoltageValue,
  4. required double phaseOneVoltageAngle,
  5. required double phaseTwoVoltageValue,
  6. required double phaseTwoVoltageAngle,
  7. required double phaseThreeVoltageValue,
  8. required double phaseThreeVoltageAngle,
  9. required double phaseOneCurrentValue,
  10. required double phaseOneCurrentAngle,
  11. required double phaseTwoCurrentValue,
  12. required double phaseTwoCurrentAngle,
  13. required double phaseThreeCurrentValue,
  14. required double phaseThreeCurrentAngle,
})

Creates a PhasorDiagram widget to visualize a three-phase electrical system.

The size parameter defines the overall size of the diagram.

Each phase is represented by a voltage value and angle, as well as a current value and angle:

  • phaseOneVoltageValue, phaseOneVoltageAngle -> Voltage value and angle (in degrees) for phase one.

  • phaseTwoVoltageValue, phaseTwoVoltageAngle -> Voltage value and angle (in degrees) for phase two.

  • phaseThreeVoltageValue, phaseThreeVoltageAngle -> Voltage value and angle (in degrees) for phase three.

  • phaseOneCurrentValue, phaseOneCurrentAngle -> Current value and angle (in degrees) for phase one.

  • phaseTwoCurrentValue, phaseTwoCurrentAngle -> Current value and angle (in degrees) for phase two.

  • phaseThreeCurrentValue, phaseThreeCurrentAngle -> Current value and angle (in degrees) for phase three.

Implementation

const PhasorDiagram({
  super.key,
  required this.size,
  required this.phaseOneVoltageValue,
  required this.phaseOneVoltageAngle,
  required this.phaseTwoVoltageValue,
  required this.phaseTwoVoltageAngle,
  required this.phaseThreeVoltageValue,
  required this.phaseThreeVoltageAngle,
  required this.phaseOneCurrentValue,
  required this.phaseOneCurrentAngle,
  required this.phaseTwoCurrentValue,
  required this.phaseTwoCurrentAngle,
  required this.phaseThreeCurrentValue,
  required this.phaseThreeCurrentAngle,
})  : assert(size >= 100.0, 'Size must be greater or equal to 100.0.'),
      assert(phaseOneVoltageValue >= 0.0,
          "PhaseOneVoltageValue must have positive value."),
      assert(phaseOneVoltageAngle >= 0.0,
          "PhaseOneVoltageAngle must have positive value."),
      assert(phaseTwoVoltageValue >= 0.0,
          "PhaseTwoVoltageValue must have positive value."),
      assert(phaseTwoVoltageAngle >= 0.0,
          "PhaseTwoVoltageAngle must have positive value."),
      assert(phaseThreeVoltageValue >= 0.0,
          "PhaseThreeVoltageValue must have positive value."),
      assert(phaseThreeVoltageAngle >= 0.0,
          "PhaseThreeVoltageAngle must have positive value."),
      assert(phaseOneCurrentValue >= 0.0,
          "PhaseOneCurrentValue must have positive value."),
      assert(phaseOneCurrentAngle >= 0.0,
          "PhaseOneCurrentAngle must have positive value."),
      assert(phaseTwoCurrentValue >= 0.0,
          "PhaseTwoCurrentValue must have positive value."),
      assert(phaseTwoCurrentAngle >= 0.0,
          "PhaseTwoCurrentAngle must have positive value."),
      assert(phaseThreeCurrentValue >= 0.0,
          "PhaseThreeCurrentValue must have positive value."),
      assert(phaseThreeCurrentAngle >= 0.0,
          "PhaseThreeCurrentAngle must have positive value.");