A template specialisation was not matched and the optimised code was therefore not executed.

This commit is contained in:
Nico Kruithof 2007-04-02 07:55:15 +00:00
parent b647523cb1
commit d0336b4c2f
5 changed files with 7 additions and 23 deletions

View File

@ -107,16 +107,6 @@ Skin_surface_3(WP_iterator begin, WP_iterator end,
observer, verbose); observer, verbose);
CGAL_assertion(triangulated_mixed_complex().dimension() == 3); CGAL_assertion(triangulated_mixed_complex().dimension() == 3);
// { // NGHK: debug code:
// CGAL_assertion(triangulated_mixed_complex().is_valid());
// std::vector<TMC_Vertex_handle> ch_vertices;
// triangulated_mixed_complex().incident_vertices(triangulated_mixed_complex().infinite_vertex(),
// std::back_inserter(ch_vertices));
// for (typename std::vector<TMC_Vertex_handle>::iterator
// vit = ch_vertices.begin(); vit != ch_vertices.end(); vit++) {
// CGAL_assertion(sign(*vit) == POSITIVE);
// }
// }
} }
CGAL_END_NAMESPACE CGAL_END_NAMESPACE

View File

@ -247,8 +247,6 @@ template <class Polyhedron_3>
void void
Skin_surface_base_3<MixedComplexTraits_3>:: Skin_surface_base_3<MixedComplexTraits_3>::
subdivide_mesh_3(Polyhedron_3 &p) const { subdivide_mesh_3(Polyhedron_3 &p) const {
std::cout << "Skin_surface_base_3.subdivide_mesh_3(p)" << std::endl;
typedef Skin_surface_refinement_policy_3<Self, Polyhedron_3> Policy; typedef Skin_surface_refinement_policy_3<Self, Polyhedron_3> Policy;
typedef Skin_surface_sqrt3<Self, Polyhedron_3, Policy> Subdivider; typedef Skin_surface_sqrt3<Self, Polyhedron_3, Policy> Subdivider;

View File

@ -39,8 +39,6 @@ class Skin_surface_marching_tetrahedra_observer_3
public: public:
Skin_surface_marching_tetrahedra_observer_3() : Base() { Skin_surface_marching_tetrahedra_observer_3() : Base() {
std::cout << "Default Skin_surface_marching_tetrahedra_observer_3"
<< std::endl;
} }
}; };
@ -70,8 +68,6 @@ public:
typedef typename Polyhedron::Facet_handle Polyhedron_facet_handle; typedef typename Polyhedron::Facet_handle Polyhedron_facet_handle;
Skin_surface_marching_tetrahedra_observer_3() : Base() { Skin_surface_marching_tetrahedra_observer_3() : Base() {
std::cout << "Optimized Skin_surface_marching_tetrahedra_observer_3"
<< std::endl;
} }
Skin_surface_marching_tetrahedra_observer_3( Skin_surface_marching_tetrahedra_observer_3(

View File

@ -43,7 +43,8 @@ public:
typedef typename P_traits::Vector_3 P_vector; typedef typename P_traits::Vector_3 P_vector;
typedef typename P_traits::Plane_3 P_plane; typedef typename P_traits::Plane_3 P_plane;
Skin_surface_refinement_policy_3(Skin_surface const& skin) : ss_3(skin) {} Skin_surface_refinement_policy_3(Skin_surface const& skin) : ss_3(skin) {
}
P_point to_surface(P_vertex_handle vh) const P_point to_surface(P_vertex_handle vh) const
{ {
@ -70,14 +71,14 @@ protected:
Skin_surface const &ss_3; Skin_surface const &ss_3;
}; };
template <class SkinSurface_3, class P_Traits> template <class SkinSurfaceBase_3, class P_Traits, class SkinSurface_3>
class Skin_surface_refinement_policy_3< class Skin_surface_refinement_policy_3<
SkinSurface_3, SkinSurfaceBase_3,
Polyhedron_3<P_Traits, Polyhedron_3<P_Traits,
Skin_surface_polyhedral_items_3<SkinSurface_3> > > Skin_surface_polyhedral_items_3<SkinSurface_3> > >
{ {
public: public:
typedef SkinSurface_3 Skin_surface; typedef SkinSurfaceBase_3 Skin_surface;
typedef Polyhedron_3<P_Traits, typedef Polyhedron_3<P_Traits,
Skin_surface_polyhedral_items_3<SkinSurface_3> > Polyhedron; Skin_surface_polyhedral_items_3<SkinSurface_3> > Polyhedron;
typedef typename Polyhedron::Traits P_traits; typedef typename Polyhedron::Traits P_traits;
@ -91,7 +92,8 @@ public:
typedef typename P_traits::Vector_3 P_vector; typedef typename P_traits::Vector_3 P_vector;
typedef typename P_traits::Plane_3 P_plane; typedef typename P_traits::Plane_3 P_plane;
Skin_surface_refinement_policy_3(Skin_surface const& skin) : ss_3(skin) {} Skin_surface_refinement_policy_3(Skin_surface const& skin) : ss_3(skin) {
}
P_point to_surface(P_vertex_handle vh) const { P_point to_surface(P_vertex_handle vh) const {
typename Skin_surface::Bare_point result = typename Skin_surface::Bare_point result =

View File

@ -119,8 +119,6 @@ private:
do { do {
v->point() = policy.to_surface(v); v->point() = policy.to_surface(v);
} while (++v != last_v); } while (++v != last_v);
CGAL_postcondition( P.is_valid());
} }
//********************************************* //*********************************************