Skip to content
Snippets Groups Projects
Commit a49d0a64 authored by Karsten Rink's avatar Karsten Rink Committed by Dmitri Naumov
Browse files

[T/MGTL] Ear clipping algorithm test.

parent fb3fc35c
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE OGS-GML-DOM>
<OpenGeoSysGLI xmlns:ogs="http://www.opengeosys.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>LoD1_2018_Kiel_Wik</name>
<points>
<point z="22.208046813563303" id="0" x="571440.166000000201166" y="6023632.926000000908971"/>
<point z="22.176822661386318" id="1" x="571437.066999999806285" y="6023626.228000000119209"/>
<point z="22.161308615105252" id="2" x="571430.379999999888241" y="6023629.316999999806285"/>
<point z="22.178974183800690" id="3" x="571431.959999999962747" y="6023632.745999999344349"/>
<point z="22.178808808928917" id="4" x="571431.839999999850988" y="6023632.796000000089407"/>
<point z="22.196328171633077" id="5" x="571433.408999999985099" y="6023636.195000000298023"/>
<point z="22.200408563065608" id="6" x="571436.787999999709427" y="6023634.634999999776483"/>
<point z="22.199776427109640" id="7" x="571436.728000000119209" y="6023634.515000000596046"/>
<point z="24.733219793371745" id="8" x="571930.470999999903142" y="6023638.054999999701977"/>
<point z="24.740857252115191" id="9" x="571925.502000000327826" y="6023623.051000000908971"/>
<point z="24.627243818959077" id="10" x="571914.946999999694526" y="6023626.539999999105930"/>
<point z="24.619398564206115" id="11" x="571919.924999999813735" y="6023641.623999999836087"/>
<point z="24.718552022201756" id="12" x="571929.111999999731779" y="6023638.515000000596046"/>
<point z="23.711276083481081" id="13" x="571766.394000000320375" y="6023793.335000000894070"/>
<point z="23.709484402211626" id="14" x="571763.165000000037253" y="6023783.969000000506639"/>
<point z="23.705219940274340" id="15" x="571762.655000000260770" y="6023784.149000000208616"/>
<point z="23.704216089170309" id="16" x="571762.894999999552965" y="6023785.319000000134110"/>
<point z="23.654953182533482" id="17" x="571756.997000000439584" y="6023787.378000000491738"/>
<point z="23.654610694424896" id="18" x="571756.597000000067055" y="6023786.267999999225140"/>
<point z="23.613201142567455" id="19" x="571751.639000000432134" y="6023787.997999999672174"/>
<point z="23.615045165139271" id="20" x="571754.859000000171363" y="6023797.313999999314547"/>
<point z="26.454570175425985" id="21" x="572061.082000000402331" y="6023716.508999999612570"/>
<point z="26.426127646541666" id="22" x="572059.973000000230968" y="6023713.760999999940395"/>
<point z="26.420981500007503" id="23" x="572059.492999999783933" y="6023713.960000000894070"/>
<point z="26.303910394481314" id="24" x="572054.953999999910593" y="6023702.585000000894070"/>
<point z="26.309051380803293" id="25" x="572055.434000000357628" y="6023702.384999999776483"/>
<point z="26.281136612067392" id="26" x="572054.354000000283122" y="6023699.666999999433756"/>
<point z="26.275861860773826" id="27" x="572053.864000000059605" y="6023699.866000000387430"/>
<point z="26.143583982176324" id="28" x="572048.735999999567866" y="6023687.012000000104308"/>
<point z="26.148801971145517" id="29" x="572049.225999999791384" y="6023686.801999999210238"/>
<point z="26.119903204138126" id="30" x="572048.105999999679625" y="6023683.993000000715256"/>
<point z="26.114633613059112" id="31" x="572047.616000000387430" y="6023684.192999999970198"/>
<point z="26.064809049863641" id="32" x="572045.686999999918044" y="6023679.345000000670552"/>
<point z="25.946397873309849" id="33" x="572034.730999999679625" y="6023683.702999999746680"/>
<point z="26.391172698520766" id="34" x="572051.976999999955297" y="6023726.914999999105930"/>
<point z="26.477147865262332" id="35" x="572060.202999999746680" y="6023723.635999999940395"/>
<point z="26.494796173899296" id="36" x="572062.911999999545515" y="6023722.557000000029802"/>
<point z="26.449184840051565" id="37" x="572060.582999999634922" y="6023716.709000000730157"/>
</points>
<polylines>
<polyline id="0" name="228">
<pnt>0</pnt>
<pnt>1</pnt>
<pnt>2</pnt>
<pnt>3</pnt>
<pnt>4</pnt>
<pnt>5</pnt>
<pnt>6</pnt>
<pnt>7</pnt>
<pnt>0</pnt>
</polyline>
<polyline id="1" name="229">
<pnt>8</pnt>
<pnt>9</pnt>
<pnt>10</pnt>
<pnt>11</pnt>
<pnt>12</pnt>
<pnt>8</pnt>
</polyline>
<polyline id="2" name="230">
<pnt>13</pnt>
<pnt>14</pnt>
<pnt>15</pnt>
<pnt>16</pnt>
<pnt>17</pnt>
<pnt>18</pnt>
<pnt>19</pnt>
<pnt>20</pnt>
<pnt>13</pnt>
</polyline>
<polyline id="3" name="1074">
<pnt>21</pnt>
<pnt>22</pnt>
<pnt>23</pnt>
<pnt>24</pnt>
<pnt>25</pnt>
<pnt>26</pnt>
<pnt>27</pnt>
<pnt>28</pnt>
<pnt>29</pnt>
<pnt>30</pnt>
<pnt>31</pnt>
<pnt>32</pnt>
<pnt>33</pnt>
<pnt>34</pnt>
<pnt>35</pnt>
<pnt>36</pnt>
<pnt>37</pnt>
<pnt>21</pnt>
</polyline>
</polylines>
</OpenGeoSysGLI>
/**
* \copyright
* Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*
*/
#include <gtest/gtest.h>
#include <memory>
#include <vector>
#include "Applications/FileIO/Legacy/createSurface.h"
#include "GeoLib/EarClippingTriangulation.h"
#include "GeoLib/GEOObjects.h"
#include "GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.h"
#include "GeoLib/Polyline.h"
#include "InfoLib/TestInfo.h"
TEST(TestEarClipping, TestEarClippingPolygons)
{
std::string const name =
TestInfoLib::TestInfo::data_path + "/MeshGeoToolsLib/buildings.gml";
GeoLib::GEOObjects geo_objects;
GeoLib::IO::BoostXmlGmlInterface xml(geo_objects);
ASSERT_TRUE(xml.readFile(name));
auto geo_name = geo_objects.getGeometryNames()[0];
auto polygons = *geo_objects.getPolylineVec(geo_name);
ASSERT_EQ(4, polygons.size());
for (auto polygon : polygons)
{
std::unique_ptr<GeoLib::Surface> sfc (FileIO::createSurfaceWithEarClipping(*polygon));
ASSERT_TRUE(sfc != nullptr);
ASSERT_EQ(sfc->getNumberOfTriangles(),
polygon->getNumberOfPoints() - 3);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment