code: function EdgeShape(v1, v2) {
    if (!(this instanceof EdgeShape)) {
      return new EdgeShape(v1, v2);
    }
  
    EdgeShape._super.call(this);
  
    this.m_type = EdgeShape.TYPE;
    this.m_radius = Settings.polygonRadius;
  
    // These are the edge vertices
    this.m_vertex1 = v1 ? Vec2.clone(v1) : Vec2.zero();
    this.m_vertex2 = v2 ? Vec2.clone(v2) : Vec2.zero();
  
    // Optional adjacent vertices. These are used for smooth collision.
    // Used by chain shape.
    this.m_vertex0 = Vec2.zero();
    this.m_vertex3 = Vec2.zero();
    this.m_hasVertex0 = false;
    this.m_hasVertex3 = false;
  }
docs: A line segment (edge) shape. These can be connected in chains or loops to
  other edge shapes. The connectivity information is used to ensure correct
  contact normals.