From f90b94529d384992972e43cf76957f6459554d01 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Wed, 7 Jun 2006 12:55:35 +0000 Subject: [PATCH] I forgot this file, in the previous commit. --- Surface_mesher/include/CGAL/Multi_surface_3.h | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 Surface_mesher/include/CGAL/Multi_surface_3.h diff --git a/Surface_mesher/include/CGAL/Multi_surface_3.h b/Surface_mesher/include/CGAL/Multi_surface_3.h new file mode 100644 index 00000000000..a325183b4b4 --- /dev/null +++ b/Surface_mesher/include/CGAL/Multi_surface_3.h @@ -0,0 +1,72 @@ +// Copyright (c) 2006 INRIA Sophia-Antipolis (France). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org); you may redistribute it under +// the terms of the Q Public License version 1.0. +// See the file LICENSE.QPL distributed with CGAL. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $Source: +// $Revision$ $Date$ +// $Name: $ +// +// Author(s) : Laurent RINEAU + +#ifndef CGAL_MULTI_SURFACE_3_H +#define CGAL_MULTI_SURFACE_3_H + +namespace CGAL { + + template< + typename Surface_a, + typename Surface_b + > + class Multi_surface_3 + { + Surface_a& surf_a; + Surface_b& surf_b; + public: + Multi_surface_3(Surface_a& surface_a, Surface_b& surface_b) + : surf_a(surface_a), surf_b(surface_b) + { + } + + Surface_a& surface_a() + { + return surf_a; + } + + + Surface_b& surface_b() + { + return surf_b; + } + }; +} // end namespace CGAL + +#include + +namespace CGAL { + template + struct Surface_mesh_traits_generator_3 < + Multi_surface_3 + > + { + typedef typename Surface_mesh_traits_generator_3::type Oracle_a; + typedef typename Surface_mesh_traits_generator_3::type Oracle_b; + + typedef typename Surface_mesher::Combining_oracle< + Oracle_a, + Oracle_b + > Type; + + typedef Type type; // Boost meta-programming compatibility + }; +} // end namespace CGAL, second occurrence. + +#endif // CGAL_MULTI_SURFACE_3_H