CGAL 6.1 - CGAL and the Boost Graph Library

Loading...
Searching...
No Matches
Functions
STL I/O Functions
Reference Manual » I/O Functions

##

I/O Functions for the STereoLithography (STL) File Format.

## Functions
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool | CGAL::IO::read_STL (std::istream &is, Graph &g, const NamedParameters &np)
| reads the graph `g` from the input stream, using the STereoLithography (STL) File Format.
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool | CGAL::IO::read_STL (const std::string &fname, Graph &g, const NamedParameters &np=parameters::default_values())
| reads the graph `g` from the file `fname`, using the STereoLithography (STL) File Format.
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool | CGAL::IO::write_STL (std::ostream &os, const Graph &g, const NamedParameters &np=parameters::default_values())
| writes the graph `g` in the output stream `os`, using the STereoLithography (STL) File Format.
template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>
bool | CGAL::IO::write_STL (const std::string &fname, const Graph &g, const NamedParameters &np=parameters::default_values())
| writes the graph `g` into a file named `fname`, using the STereoLithography (STL) File Format.

## Function Documentation

## ◆ read_STL() [1/2]

template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>

bool CGAL::IO::read_STL | ( | const std::string & | fname,
|  | Graph & | g,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

`#include <CGAL/boost/graph/IO/STL.h>`

reads the graph `g` from the file `fname`, using the STereoLithography (STL) File Format.

The data is expected to represent a 2-manifold (possibly with borders). If `use_binary_mode` is `true`, but the reading fails, ASCII reading will be automatically tested.

Attention
  The graph `g` is not cleared, and the data from the file are appended.

Template Parameters

  Graph | a model of `MutableFaceGraph`
  NamedParameters | a sequence of Named Parameters

Parameters

  fname | the name of the input file
  g | the graph to be built from the input data
  np | optional Named Parameters described below

Optional Named Parameters

  indicates whether data should be read in binary (`true`) or in ASCII (`false`) Type: Boolean Default: `true` |
  a property map associating points to the vertices of `g` Type: a class model of `WritablePropertyMap` with `boost::graph_traits<Graph>::vertex_descriptor` as key type and `Point_3` as value type Default: `boost::get(CGAL::vertex_point, g)` Extra: If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` must be available in `Graph`. |
  whether extra information is printed when an incident occurs during reading Type: Boolean Default: `false` |

Returns
  `true` if reading was successful and the resulting mesh is valid, `false` otherwise.

See also
  Overloads of this function for specific models of the concept `FaceGraph`.

## ◆ read_STL() [2/2]

template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>

bool CGAL::IO::read_STL | ( | std::istream & | is,
|  | Graph & | g,
|  | const NamedParameters & | np
| ) |  |

`#include <CGAL/boost/graph/IO/STL.h>`

reads the graph `g` from the input stream, using the STereoLithography (STL) File Format.

The data is expected to represent a 2-manifold (possibly with borders).

Attention
  The graph `g` is not cleared, and the data from the stream are appended.
  To read a binary file, the flag `std::ios::binary` must be set during the creation of the `ifstream`.

Template Parameters

  Graph | a model of `MutableFaceGraph`
  NamedParameters | a sequence of Named Parameters

Parameters

  is | the input stream
  g | the graph to be built from the input data
  np | optional Named Parameters described below

Optional Named Parameters

  a property map associating points to the vertices of `g` Type: a class model of `WritablePropertyMap` with `boost::graph_traits<Graph>::vertex_descriptor` as key type and `Point_3` as value type Default: `boost::get(CGAL::vertex_point, g)` Extra: If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` must be available in `Graph`. |
  whether extra information is printed when an incident occurs during reading Type: Boolean Default: `false` |

Returns
  `true` if reading was successful and the resulting mesh is valid, `false` otherwise.

See also
  Overloads of this function for specific models of the concept `FaceGraph`.

## ◆ write_STL() [1/2]

template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>

bool CGAL::IO::write_STL | ( | const std::string & | fname,
|  | const Graph & | g,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

`#include <CGAL/boost/graph/IO/STL.h>`

writes the graph `g` into a file named `fname`, using the STereoLithography (STL) File Format.

Template Parameters

  Graph | a model of `FaceListGraph` and `HalfedgeListGraph`
  NamedParameters | a sequence of Named Parameters

Parameters

  fname | the name of the output stream
  g | the graph to be written
  np | optional Named Parameters described below

Optional Named Parameters

  indicates whether data should be written in binary (`true`) or in ASCII (`false`) Type: Boolean Default: `true` |
  a property map associating points to the vertices of `g` Type: a class model of `WritablePropertyMap` with `boost::graph_traits<Graph>::vertex_descriptor` as key type and `Point_3` as value type Default: `boost::get(CGAL::vertex_point, g)` Extra: If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` must be available in `Graph`. |
  a parameter used to set the precision (i.e. how many digits are generated) of the output stream Type: int Default: `6` Extra: This parameter is only meaningful while using ASCII encoding. |

Precondition
  The graph must contain only triangle faces.

Returns
  `true` if writing was successful, `false` otherwise.

See also
  Overloads of this function for specific models of the concept `FaceGraph`.

## ◆ write_STL() [2/2]

template<typename Graph , typename NamedParameters = CGAL::parameters::Default_named_parameters>

bool CGAL::IO::write_STL | ( | std::ostream & | os,
|  | const Graph & | g,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

`#include <CGAL/boost/graph/IO/STL.h>`

writes the graph `g` in the output stream `os`, using the STereoLithography (STL) File Format.

Attention
  To write to a binary file, the flag `std::ios::binary` must be set during the creation of the `ofstream`, and the `IO::Mode` of the stream must be set to `BINARY`.

Template Parameters

  Graph | a model of `FaceListGraph` and `HalfedgeListGraph`
  NamedParameters | a sequence of Named Parameters

Parameters

  os | the output stream
  g | the graph to be written
  np | optional Named Parameters described below

Optional Named Parameters

  a property map associating points to the vertices of `g` Type: a class model of `ReadablePropertyMap` with `boost::graph_traits<Graph>::vertex_descriptor` as key type and `Point_3` as value type Default: `boost::get(CGAL::vertex_point, g)` Extra: If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` must be available in `Graph`. |
  a parameter used to set the precision (i.e. how many digits are generated) of the output stream Type: int Default: the precision of the stream `os` Extra: This parameter is only meaningful while using ASCII encoding. |

Precondition
  The graph must contain only triangle faces.

Returns
  `true` if writing was successful, `false` otherwise.