absoluteMove static method

XmlDocumentFragment absoluteMove(
  1. String profileToken,
  2. PtzPosition place,
  3. PtzPosition? speed
)

Implementation

static XmlDocumentFragment absoluteMove(
    String profileToken, PtzPosition place, PtzPosition? speed) {
  builder.element('AbsoluteMove', nest: () {
    builder.namespace('http://www.onvif.org/ver20/ptz/wsdl'); //tptz
    builder.element('ProfileToken', nest: () {
      builder.namespace('http://www.onvif.org/ver20/ptz/wsdl');
      builder.text(profileToken);
    });
    builder.element('Position', nest: () {
      builder.namespace('http://www.onvif.org/ver20/ptz/wsdl');
      builder.element('PanTilt', nest: () {
        builder.namespace('http://www.onvif.org/ver10/schema');
        builder.attribute('x', place.panTilt!.x);
        builder.attribute('y', place.panTilt!.y);
      });
      builder.element('Zoom', nest: () {
        builder.namespace('http://www.onvif.org/ver10/schema');
        builder.attribute('x', place.zoom!.x);
      });
    });
    if (speed != null) {
      builder.element('Speed', nest: () {
        builder.namespace('http://www.onvif.org/ver20/ptz/wsdl');
        if (speed.panTilt != null) {
          builder.element('PanTilt', nest: () {
            builder.namespace('http://www.onvif.org/ver10/schema');
            builder.attribute('x', speed.panTilt!.x);
            builder.attribute('y', speed.panTilt!.y);
          });
        }
        if (speed.zoom != null) {
          builder.element('Zoom', nest: () {
            builder.namespace('http://www.onvif.org/ver10/schema');
            builder.attribute('x', speed.zoom!.x);
          });
        }
      });
    }
  });

  return builder.buildFragment();
}