nmwsharp / geometry-central

Applied 3D geometry in C++, with a focus on surface meshes.
https://geometry-central.net
MIT License
1.1k stars 150 forks source link

There is no geometry.h #14

Closed pauljurczak closed 4 years ago

pauljurczak commented 4 years ago

After installation on Ubuntu 18.04.3 following the tutorial from http://geometry-central.net/build/building/, there is no geometry.h header in geometrycentral/surface directory as required by example code. Here is the contents of geometrycentral/surface:

barycentric_coordinate_helpers.h    halfedge_element_types.h        ply_halfedge_mesh_data.h
barycentric_coordinate_helpers.ipp  halfedge_element_types.ipp      ply_halfedge_mesh_data.ipp
base_geometry_interface.h       halfedge_factories.h        polygon_soup_mesh.h
detect_symmetry.h           halfedge_iterators.h        signpost_intrinsic_triangulation.h
direction_fields.h          halfedge_iterators.ipp      signpost_intrinsic_triangulation.ipp
edge_length_geometry.h          halfedge_logic_templates.ipp    surface_centers.h
edge_length_geometry.ipp        halfedge_mesh.h         surface_point.h
embedded_geometry_interface.h       halfedge_mesh.ipp           surface_point.ipp
exact_polyhedral_geodesics.h        heat_method_distance.h      trace_geodesic.h
extrinsic_geometry_interface.h      intrinsic_geometry_interface.h  vector_heat_method.h
fast_marching_method.h          mesh_graph_algorithms.h     vertex_position_geometry.h
halfedge_containers.h           meshio.h                vertex_position_geometry.ipp
halfedge_containers.ipp         mesh_ray_tracer.h
nmwsharp commented 4 years ago

Thanks for your interest!

Sounds like there's a stale include somewhere. Where is the reference to geometry.h coming from? It doesn't look like it's included from the example application.

nmwsharp commented 4 years ago

Ah, a grep indicates it's still mentioned in some files like this one: https://github.com/nmwsharp/geometry-central/blob/master/include/geometrycentral/surface/fast_marching_method.h

That class and handful of others are leftovers from previous iterations of this library, and don't quite compile in the current version. Outdated code probably shouldn't be seeing in the include directory, however!

I'll have to do an audit soon and either bring these files up to date or remove them entirely. Do let me know if you're seeing geometry.h mentioned elsewhere.

pauljurczak commented 4 years ago

On https://geometry-central.net/surface/geometry/quantities/ page, you have:

#include "geometrycentral/surface/geometry.h"
#include "geometrycentral/surface/meshio.h"
using namespace geometrycentral::surface;
pauljurczak commented 4 years ago

Also on https://geometry-central.net/surface/geometry/geometry/:

Quantity API
#include "geometrycentral/surface/geometry.h" to get all geometry interfaces.

All quantities offer methods and storage following the same naming pattern.
nmwsharp commented 4 years ago

Oh, I see! Thanks for pointing that out. Will fix soon.

nmwsharp commented 4 years ago

Fixed in 8b3ac269eae422c175c2e31d822c89fb43cc3fdf