CGAL 6.2 - Homological Discrete Vector Fields
Loading...
Searching...
No Matches
CGAL::Homological_discrete_vector_field::Surface_mesh_io< TriangleMesh, Traits > Class Template Reference

#include <CGAL/HDVF/Surface_mesh_io.h>

Inherits from

CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >.

Definition

template<typename TriangleMesh, typename Traits>
class CGAL::Homological_discrete_vector_field::Surface_mesh_io< TriangleMesh, Traits >

The class Surface_mesh_io is an intermediate IO class, used to load a triangle mesh and produce simplicial complexes.

Template Parameters
TriangleMesha model of FaceGraph and HalfedgeGraph concepts, e.g., a CGAL::Surface_mesh.
Traitsa geometric traits class model of the HDVFTraits concept.

Public Types

typedef TriangleMesh Surface_mesh
 
typedef boost::graph_traits< Surface_mesh >::vertex_descriptor vertex_descriptor
 
typedef boost::graph_traits< Surface_mesh >::halfedge_descriptor halfedge_descriptor
 
typedef boost::graph_traits< Surface_mesh >::edge_descriptor edge_descriptor
 
typedef boost::graph_traits< Surface_mesh >::face_descriptor face_descriptor
 
- Public Types inherited from CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >
typedef Traits::Point Point
 
typedef Traits::Bbox Bbox
 

Public Member Functions

 Surface_mesh_io (const TriangleMesh &mesh)
 Constructor from a triangular mesh.
 
- Public Member Functions inherited from CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >
int dimension () const
 Returns the dimension of the Mesh_object_io.
 
 Mesh_object_io (int d=0)
 
 Mesh_object_io (int d, const std::vector< Point > &vnodes, const std::vector< Io_cell_type > &vcells, bool sort_data=false)
 Constructor from a vector of Point (vertex coordinates) and a vector of simplices.
 
 Mesh_object_io (const Point &BBmin, const Point &BBmax)
 Build a Mesh_object_io for the bounding box of diagonal BB_min - BBmax.
 
const std::vector< Point > & nodes () const
 Returns the vector of nodes (ie.
 
int number_of_nodes () const
 Returns the number of nodes (ie.
 
const std::vector< Io_cell_type > & cells () const
 Returns the vector of cells.
 
void set_node (size_t i, const Point &P)
 Update the coordinates of a node (ie.
 
void push_back (const Mesh_object_io &mesh)
 Add a Mesh_object_io to the current Mesh_object_io.
 
void add_node (const Point &v)
 
void clear_cells ()
 
void clear_nodes ()
 
void clear ()
 
void add_cell (Io_cell_type &c, bool sort_indices=false)
 
size_t cells_of_dim (int q) const
 
bool read_off (const std::string &filename)
 
bool write_off (const std::string &filename) const
 
void write_to_vtk (const std::string &filename)
 
bool write_simp (const std::string &filename)
 
bool read_simp (const std::string &filename)
 
bool read_nodes_file (const std::string &filename)
 
std::ostream & print_infos (std::ostream &out_stream=std::cout) const
 
Point centroid () const
 
double radius (const Point &bary) const
 
Bbox bbox (double ratio=1.) const
 

Additional Inherited Members

- Protected Member Functions inherited from CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >
template<typename CoefficientRing >
void write_vtk (const std::string &filename, const std::vector< Point > &nodes, const std::vector< Io_chain_type > &chains, const std::vector< CoefficientRing > *labels=NULL, const std::string scalar_type="none")
 
- Protected Attributes inherited from CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >
int _dim = 0
 
size_t _nvertices
 
size_t _ncells
 
size_t _nedges
 
std::vector< Point_nodes
 
std::vector< Io_cell_type_cells
 

Constructor & Destructor Documentation

◆ Surface_mesh_io()

template<typename TriangleMesh , typename Traits >
CGAL::Homological_discrete_vector_field::Surface_mesh_io< TriangleMesh, Traits >::Surface_mesh_io ( const TriangleMesh &  mesh)

Constructor from a triangular mesh.

Vertices are described by their index; this index must be unique (vertices with similar underlying points and different vertex indices will be considered as different).