CGAL 5.3.1 - Surface Mesh
Surface Mesh Reference
Mario Botsch, Daniel Sieger, Philipp Moeller, and Andreas Fabri
The surface mesh class provided by this package is an implementation of the halfedge data structure allowing to represent polyhedral surfaces. It is an alternative to the packages Halfedge Data Structures and 3D Polyhedral Surface. The main differences are that it is indexed based and not pointer based, and that the mechanism for adding information to vertices, halfedges, edges, and faces is much simpler and can be used at runtime and not at compile time.
Introduced in: CGAL 4.6
BibTeX: cgal:bsmf-sm-21b

## Classes

• CGAL::Surface_mesh<P>

## Modules

Draw a Surface Mesh

I/O Functions

## Classes

class  CGAL::Surface_mesh< P >
This class is a data structure that can be used as halfedge data structure or polyhedral surface. More...

## Functions

template<typename P >
Surface_mesh< P > & operator+= (Surface_mesh< P > &sm, const Surface_mesh< P > &other)

template<typename P >
std::ostream & operator<< (std::ostream &os, const Surface_mesh< P > &sm)

template<typename P >
std::istream & operator>> (std::istream &is, Surface_mesh< P > &sm)

## ◆ operator+=()

template<typename P >
 Surface_mesh< P > & operator+= ( Surface_mesh< P > & sm, const Surface_mesh< P > & other )
related

Inserts other into sm. Shifts the indices of vertices of other by sm.number_of_vertices() + sm.number_of_removed_vertices() and analoguously for halfedges, edges, and faces. Copies entries of all property maps which have the same name in sm and other. that is, property maps which are only in other are ignored. Also copies elements which are marked as removed, and concatenates the freelists of sm and other.

## ◆ operator>>()

template<typename P >
 std::istream & operator>> ( std::istream & is, Surface_mesh< P > & sm )
related

Extracts the surface mesh from an input stream in OFF and appends it to the surface mesh sm.

This operator calls read_OFF(std::istream& is, CGAL::Surface_mesh& sm).