This namespace contains all the types/classes/functions required to create a TIN out of a regularly gridded terrain.
More...
|
typedef CGAL::Exact_predicates_inexact_constructions_kernel | K |
|
typedef K::FT | FT |
|
typedef CGAL::Projection_traits_xy_3< K > | Gt |
|
typedef CGAL::Delaunay_triangulation_2< Gt > | Delaunay |
|
typedef K::Point_3 | Point_3 |
|
typedef K::Point_2 | Point_2 |
|
typedef K::Vector_2 | Vector_2 |
|
typedef K::Vector_3 | Vector_3 |
|
typedef K::Segment_2 | Segment_2 |
|
typedef std::vector< Point_3 > | Polyline |
|
typedef std::vector< Point_3 > | PointCloud |
|
typedef std::vector< Polyline > | Polylines |
|
typedef CGAL::Polyhedral_mesh_domain_with_features_3< K > | MeshDomain |
|
typedef CGAL::Mesh_triangulation_3< MeshDomain >::type | Tr |
|
typedef CGAL::Mesh_complex_3_in_triangulation_3< Tr, MeshDomain::Corner_index, MeshDomain::Curve_segment_index > | C3T3 |
|
typedef CGAL::Mesh_criteria_3< Tr > | MeshCriteria |
|
typedef CGAL::Mesh_polyhedron_3< K >::type | Polyhedron |
|
typedef Polyhedron::HalfedgeDS | HalfedgeDS |
|
typedef Polyhedron::Halfedge_handle | Halfedge_handle |
|
typedef Polyhedron::Vertex_handle | Vertex_handle |
|
typedef boost::graph_traits< Polyhedron >::vertex_descriptor | VertexDescriptor |
|
typedef boost::graph_traits< Polyhedron >::face_descriptor | FaceDescriptor |
|
typedef std::map< VertexDescriptor, Vector_3 > | VertexNormalMap |
|
typedef boost::associative_property_map< VertexNormalMap > | VertexNormalPropertyMap |
|
typedef CGAL::Min_sphere_of_points_d_traits_3< K, FT > | MinSphereTraits |
|
typedef CGAL::Min_sphere_of_spheres_d< MinSphereTraits > | MinSphere |
|
typedef MinSphereTraits::Sphere | Sphere |
|
typedef SMS::LindstromTurk_cost< Polyhedron > | SimplificationCost |
|
typedef SMS::LindstromTurk_params | SimplificationCostParams |
|
typedef SMS::Bounded_normal_change_placement< SMS::LindstromTurk_placement< Polyhedron > > | SimplificationPlacement |
|
typedef SMS::Count_stop_predicate< Polyhedron > | SimplificationStopPredicate |
|
typedef PS::Stop_above_cost_threshold | PSStopCost |
|
typedef CGAL::Sequential_tag | Concurrency_tag |
|
typedef boost::heap::fibonacci_heap< GIHeapNode, boost::heap::compare< CompareGIHeapNodes > > | GIHeap |
|
typedef GIHeap::handle_type | GIHeapNodeHandle |
|
This namespace contains all the types/classes/functions required to create a TIN out of a regularly gridded terrain.
Common types of CGAL used in the project.
We decided to fix the types because we don't envision changing the Kernel used, and also because doing so we avoid the use of templated classes.
template<class T >
T TinCreation::standardHandlingOfThresholdPerZoom |
( |
const std::vector< T > & |
thresholdsPerZoom, |
|
|
const unsigned int & |
zoom, |
|
|
const bool & |
downScale = true |
|
) |
| |
Some of the parameters are scale-dependant and, as such, they should depend on the zoom level of the pyramid. If we refer to a parameter for a zoom z as p_z, we allow the user to just set p_z and then we compute the values for other zooms as p_z = p_0/2^z, for those parameters whose scale needs to be lowered at deeper levels, or p_z = p_0*2^z, for those whose scale needs to grow with depth. The parameters marked with an asterisk (*) in the help of qm_tiler
are using the setting proposed here. Basically, depending on the number of values in the thresholdsPerZoom
vector, we can:
- Set a single value: In this case, the value represents p_0, and the rest of values for the deeper zooms will be computed using the formulas presented in the previous paragraph.
- Set multiple values (by entering the same parameter more than once): In this way we can set a parameter for each zoom. If the user inputs less parameters than the number of required zoom levels, the last value is used for all the rest of deeper zooms to create.
- Template Parameters
-
T | Numeric type of the parameter |
- Parameters
-
thresholdsPerZoom | Vector of thresholds per zoom. As explained above, it may contain a single parameter also. |
zoom | Current zoom level. |
downScale | Flag indicating whether the value of the parameter should be downScaled with zoom or, otherwise, upscaled |
- Returns