validate method

  1. @protected
void validate()

Throws if chain and type contains values not valid for a line string.

This method is designed to be used only on constructors.

Implementation

@protected
void validate() {
  if (chain.isEmpty) return;
  switch (type) {
    case LineStringType.ring:
      if (chain.length < 4) {
        throw ArgumentError('A linear ring must have 0 or >= 4 points.');
      }
      if (!chain.isClosed) {
        throw ArgumentError('A linear ring must be closed.');
      }
      break;
    case LineStringType.any:
      if (chain.length < 2) {
        throw ArgumentError('LineString must have 0 or >= 2 points.');
      }
      break;
  }
}