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

#include <CGAL/HDVF/Icosphere_object_io.h>

Inherits from

CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >.

Definition

template<typename Traits>
class CGAL::Homological_discrete_vector_field::Icosphere_object_io< Traits >

The class Icosphere_object_io is an intermediate IO class, used to produce a Mesh_object_io containing an icosphere (for Hdvf_duality with tetgen).

Template Parameters
Traitsa geometric traits class model of the HDVFTraits concept.

Public Types

using Point = typename Traits::Point
 
using Vector = typename Traits::Vector
 
using Index = size_t
 
using Lookup = std::map< std::pair< Index, Index >, Index >
 
- Public Types inherited from CGAL::Homological_discrete_vector_field::Mesh_object_io< Traits >
typedef Traits::Point Point
 
typedef Traits::Bbox Bbox
 

Public Member Functions

 Icosphere_object_io (size_t subdivisions, const Point &c=Point({0, 0, 0}), double r=1.)
 
Index vertex_for_edge (Lookup &lookup, Index first, Index second)
 
void subdivide ()
 
void rigid_transformation (const Point &c, double r)
 
- 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
 

Static Public Attributes

static const float X =.525731112119133606f
 
static const float Z =.850650808352039932f
 
static const float N =0.f
 
static const std::vector< Pointvertices_ico
 
static const std::vector< Io_cell_typetriangles_ico
 

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
 

Member Data Documentation

◆ triangles_ico

template<typename Traits >
const std::vector<Io_cell_type> CGAL::Homological_discrete_vector_field::Icosphere_object_io< Traits >::triangles_ico
static
Initial value:
=
{
{0,4,1},{0,9,4},{9,5,4},{4,5,8},{4,8,1},
{8,10,1},{8,3,10},{5,3,8},{5,2,3},{2,7,3},
{7,10,3},{7,6,10},{7,11,6},{11,0,6},{0,1,6},
{6,1,10},{9,0,11},{9,11,2},{9,2,5},{7,2,11}
}

◆ vertices_ico

template<typename Traits >
const std::vector<Point> CGAL::Homological_discrete_vector_field::Icosphere_object_io< Traits >::vertices_ico
static
Initial value:
=
{
Point(-X,N,Z), Point(X,N,Z), Point(-X,N,-Z), Point(X,N,-Z),
Point(N,Z,X), Point(N,Z,-X), Point(N,-Z,X), Point(N,-Z,-X),
Point(Z,X,N), Point(-Z,X, N), Point(Z,-X,N), Point(-Z,-X, N)
}
static const float X
Definition: Icosphere_object_io.h:57
static const float N
Definition: Icosphere_object_io.h:59
static const float Z
Definition: Icosphere_object_io.h:58
typename Traits::Point Point
Definition: Icosphere_object_io.h:41