mirror of https://github.com/CGAL/cgal
Working on identifying the vertex problems
This commit is contained in:
parent
ea0604eddc
commit
258b40a7d7
|
|
@ -334,6 +334,9 @@ std::vector<QVector3D> Aos::ext_check(const Kml::Placemarks& placemarks)
|
||||||
auto& d = vit->data();
|
auto& d = vit->data();
|
||||||
if (vit->data().v == false)
|
if (vit->data().v == false)
|
||||||
{
|
{
|
||||||
|
std::cout << "-------------------------------------\n";
|
||||||
|
std::cout << vit->point() << std::endl;
|
||||||
|
|
||||||
if (2 == vit->degree())
|
if (2 == vit->degree())
|
||||||
;//continue;
|
;//continue;
|
||||||
|
|
||||||
|
|
@ -341,8 +344,8 @@ std::vector<QVector3D> Aos::ext_check(const Kml::Placemarks& placemarks)
|
||||||
{
|
{
|
||||||
auto p = vit->point();
|
auto p = vit->point();
|
||||||
auto p2 = p.location();
|
auto p2 = p.location();
|
||||||
std::cout << "deg-1 vertex = " << p << std::endl;
|
std::cout << " deg-1 vertex = " << p << std::endl;
|
||||||
std::cout << "deg-1 vertex: " << std::boolalpha << vit->incident_halfedges()->target()->data().v << std::endl;
|
std::cout << " deg-1 vertex: " << std::boolalpha << vit->incident_halfedges()->target()->data().v << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -362,9 +365,12 @@ std::vector<QVector3D> Aos::ext_check(const Kml::Placemarks& placemarks)
|
||||||
do {
|
do {
|
||||||
|
|
||||||
} while (++curr != first);
|
} while (++curr != first);
|
||||||
|
|
||||||
|
std::cout << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Kml::Node n{ 180.0, -84.71338 };
|
||||||
|
std::cout << "Node itself = " << n.get_coords_3d() << std::endl;
|
||||||
std::cout << "*** num created vertices = " << num_created_vertices << std::endl;
|
std::cout << "*** num created vertices = " << num_created_vertices << std::endl;
|
||||||
|
|
||||||
std::cout << "-------------------------------\n";
|
std::cout << "-------------------------------\n";
|
||||||
|
|
|
||||||
|
|
@ -16,14 +16,14 @@ bool Kml::Node::operator == (const Node& r) const
|
||||||
}
|
}
|
||||||
Kml::Vec3d Kml::Node::get_coords_3d(const double r) const
|
Kml::Vec3d Kml::Node::get_coords_3d(const double r) const
|
||||||
{
|
{
|
||||||
const auto phi = qDegreesToRadians(lat);
|
const long double phi = qDegreesToRadians(lat);
|
||||||
const auto theta = qDegreesToRadians(lon);
|
const long double theta = qDegreesToRadians(lon);
|
||||||
const auto z = r * std::sin(phi);
|
const auto z = r * std::sin(phi);
|
||||||
const auto rxy = r * std::cos(phi);
|
const auto rxy = r * std::cos(phi);
|
||||||
const auto x = rxy * std::cos(theta);
|
const auto x = rxy * std::cos(theta);
|
||||||
const auto y = rxy * std::sin(theta);
|
const auto y = rxy * std::sin(theta);
|
||||||
|
|
||||||
return Vec3d{ x, y, z };
|
return Vec3d{ (double)x, (double)y, (double)z };
|
||||||
}
|
}
|
||||||
QVector3D Kml::Node::get_coords_3f(const double r) const
|
QVector3D Kml::Node::get_coords_3f(const double r) const
|
||||||
{
|
{
|
||||||
|
|
@ -120,6 +120,7 @@ Kml::Placemarks Kml::read(const std::string& file_name)
|
||||||
else if (name == "LinearRing")
|
else if (name == "LinearRing")
|
||||||
{
|
{
|
||||||
// LinearRing is moved to the correct locations via other tags above
|
// LinearRing is moved to the correct locations via other tags above
|
||||||
|
assert(*lring.nodes.begin() == *(--lring.nodes.end()));
|
||||||
}
|
}
|
||||||
else if (name == "coordinates")
|
else if (name == "coordinates")
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,21 @@ public:
|
||||||
struct Vec3d
|
struct Vec3d
|
||||||
{
|
{
|
||||||
double x, y, z;
|
double x, y, z;
|
||||||
|
|
||||||
|
friend std::ostream& operator << (std::ostream& os, const Vec3d& v)
|
||||||
|
{
|
||||||
|
os << v.x << ", " << v.y << ", " << v.z;
|
||||||
|
return os;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Node
|
struct Node
|
||||||
{
|
{
|
||||||
double lon, lat;
|
double lon, lat;
|
||||||
|
|
||||||
|
Node() : lon(-1111), lat(-1111) {};
|
||||||
|
Node(double longitude, double latitude) : lon(longitude), lat(latitude) {};
|
||||||
|
|
||||||
bool operator == (const Node& r) const;
|
bool operator == (const Node& r) const;
|
||||||
Vec3d get_coords_3d(const double r = 1.0) const;
|
Vec3d get_coords_3d(const double r = 1.0) const;
|
||||||
QVector3D get_coords_3f(const double r=1.0) const;
|
QVector3D get_coords_3f(const double r=1.0) const;
|
||||||
|
|
|
||||||
|
|
@ -227,8 +227,8 @@ void Main_widget::initializeGL()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// check the arrangement constructed from the GIS data-set
|
// check the arrangement constructed from the GIS data-set
|
||||||
//auto created_vertices = Aos::ext_check(m_countries);
|
auto created_vertices = Aos::ext_check(m_countries);
|
||||||
auto created_vertices = Aos::ext_check_id_based(m_countries);
|
//auto created_vertices = Aos::ext_check_id_based(m_countries);
|
||||||
m_vertices = std::make_unique<Vertices>(created_vertices);
|
m_vertices = std::make_unique<Vertices>(created_vertices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue