CGAL 5.6.3 - Surface Mesh

Loading...
Searching...
No Matches
Modules | Classes | Functions
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-25b
License: GPL

## Classified Reference Pages

## Classes

- `CGAL::Surface_mesh<P>`

## Draw a Surface Mesh

- CGAL::draw<SM>()

## I/O Functions

- I/O for `OFF` files
- I/O for `PLY` files
- `read_3MF()`

## 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)
| Inserts `other` into `sm`.
template<typename P >
std::ostream & | operator<< (std::ostream &os, const Surface_mesh< P > &sm)
| This operator calls `write_OFF(std::ostream& os, const CGAL::Surface_mesh& sm)`.
template<typename P >
std::istream & | operator>> (std::istream &is, Surface_mesh< P > &sm)
| Extracts the surface mesh from an input stream in OFF and appends it to the surface mesh `sm`.

## Function Documentation

## ◆ 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 analogously 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)`.