66    template<
typename TriType>
 
   74    bool isFlatCornersSkipped = 
false;
 
   82    std::vector<std::size_t> vertexNext;
 
   83    std::size_t vertexSize;
 
   86    std::size_t vertexFirst;
 
   89    std::array<std::size_t, 3> cornerIndex;
 
   99    std::vector<std::size_t> createNextLinks(std::size_t size) 
const;
 
  101    bool isValidEar(std::size_t cornerIndex, 
const std::array<Coordinate, 3>& corner);
 
  115    std::size_t findIntersectingVertex(std::size_t cornerIndex, 
const std::array<Coordinate, 3>& corner) 
const;
 
  126    bool isValidEarScan(std::size_t cornerIndex, 
const std::array<Coordinate, 3>& corner) 
const;
 
  129    static Envelope envelope(
const std::array<Coordinate, 3>& corner);
 
  136    bool isRemoved(std::size_t vertexIndex) 
const;
 
  138    void initCornerIndex();
 
  145    void fetchCorner(std::array<Coordinate, 3>& cornerVertex) 
const;
 
  150    void nextCorner(std::array<Coordinate, 3>& cornerVertex);
 
  159    std::size_t nextIndex(std::size_t index) 
const;
 
  161    bool isConvex(
const std::array<Coordinate, 3>& pts) 
const;
 
  163    bool isFlat(
const std::array<Coordinate, 3>& pts) 
const;
 
  170    bool isCornerInvalid(
const std::array<Coordinate, 3>& pts) 
const;
 
  210    std::unique_ptr<Polygon> toGeometry() 
const;