1/*
2 * Poly2Tri Copyright (c) 2009-2010, Poly2Tri Contributors
3 * http://code.google.com/p/poly2tri/
4 *
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without modification,
8 * are permitted provided that the following conditions are met:
9 *
10 * * Redistributions of source code must retain the above copyright notice,
11 * this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright notice,
13 * this list of conditions and the following disclaimer in the documentation
14 * and/or other materials provided with the distribution.
15 * * Neither the name of Poly2Tri nor the names of its contributors may be
16 * used to endorse or promote products derived from this software without specific
17 * prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31#include "cdt.h"
32
33namespace p2t {
34
35CDT::CDT(std::vector<Point*> polyline)
36{
37 sweep_context_ = new SweepContext(polyline);
38 sweep_ = new Sweep;
39}
40
41void CDT::AddHole(std::vector<Point*> polyline)
42{
43 sweep_context_->AddHole(polyline);
44}
45
46void CDT::AddPoint(Point* point) {
47 sweep_context_->AddPoint(point);
48}
49
50void CDT::Triangulate()
51{
52 sweep_->Triangulate(tcx&: *sweep_context_);
53}
54
55std::vector<p2t::Triangle*> CDT::GetTriangles()
56{
57 return sweep_context_->GetTriangles();
58}
59
60std::list<p2t::Triangle*> CDT::GetMap()
61{
62 return sweep_context_->GetMap();
63}
64
65CDT::~CDT()
66{
67 delete sweep_context_;
68 delete sweep_;
69}
70
71}
72
73

source code of qtlocation/src/3rdparty/poly2tri/sweep/cdt.cpp