function StripeMaterialProperty(options) {
  options = options ?? Frozen.EMPTY_OBJECT;

  this._definitionChanged = new Event();
  this._orientation = undefined;
  this._orientationSubscription = undefined;
  this._evenColor = undefined;
  this._evenColorSubscription = undefined;
  this._oddColor = undefined;
  this._oddColorSubscription = undefined;
  this._offset = undefined;
  this._offsetSubscription = undefined;
  this._repeat = undefined;
  this._repeatSubscription = undefined;

  this.orientation = options.orientation;
  this.evenColor = options.evenColor;
  this.oddColor = options.oddColor;
  this.offset = options.offset;
  this.repeat = options.repeat;
}
A {@link MaterialProperty} that maps to stripe {@link Material} uniforms.
@alias StripeMaterialProperty
@constructor

@param {object} [options] Object with the following properties:
@param {Property|StripeOrientation} [options.orientation=StripeOrientation.HORIZONTAL] A Property specifying the {@link StripeOrientation}.
@param {Property|Color} [options.evenColor=Color.WHITE] A Property specifying the first {@link Color}.
@param {Property|Color} [options.oddColor=Color.BLACK] A Property specifying the second {@link Color}.
@param {Property|number} [options.offset=0] A numeric Property specifying how far into the pattern to start the material.
@param {Property|number} [options.repeat=1] A numeric Property specifying how many times the stripes repeat.