40 #ifndef GEOGRAM_MESH_PARAM_MESH_GLOBAL_PARAM
41 #define GEOGRAM_MESH_PARAM_MESH_GLOBAL_PARAM
57 namespace GlobalParam2d {
70 double hard_angle_threshold=45.0
186 enum { CNSTR_NONE = 0, CNSTR_U = 1, CNSTR_V = 2 };
Generic mechanism for attributes.
Specialization of Attribute for booleans.
Manages an attribute attached to a set of object.
Common include file, providing basic definitions. Should be included before anything else by all head...
Geometric functions in 2d and 3d.
index_t get_edge_constraints(Mesh *mesh, index_t c, Attribute< vec3 > &B)
Tests whether U and V are constrained for a given edge.
void get_B_on_edge(Mesh *mesh, Attribute< vec3 > &B, Attribute< index_t > &R_ff, index_t f, index_t c, vec3 &Bc, vec3 &BTc)
Gets the field B evaluated at a given mesh edge.
void brush(Mesh *mesh, Attribute< vec3 > &B)
Brushes the direction field.
void compute_R_fv(Mesh *mesh, Attribute< index_t > &R_ff, Attribute< index_t > &R_fv)
Computes for each facet corner the number of times the facet vector B should be rotated along the fac...
void get_constraints(Mesh *mesh, Attribute< vec3 > &B, Attribute< index_t > &R_ff, Attribute< index_t > &constraint)
Determines the constraints for all edges of the mesh.
void compute_R_ff(Mesh *mesh, Attribute< vec3 > &B, Attribute< index_t > &R_ff)
Computes for each pair of adjacent facets the number of times the facet vector B should be rotated al...
void do_the_ball(Mesh *mesh, Attribute< index_t > &R_ff, Attribute< index_t > &c_on_border)
Computes the border of the ball.
void transfer_B_to_vertices(Mesh *mesh, Attribute< vec3 > &B, Attribute< vec3 > &Bv, Attribute< index_t > &R_fv)
Transfers a facet vector field to a vertex vector field.
void mark_singular_vertices(Mesh *mesh, Attribute< index_t > &R_ff, Attribute< bool > &v_is_singular)
Marks the singular vertices of the direction field.
void do_the_ball_no_brush_no_zip(Mesh *mesh, Attribute< index_t > &c_on_border)
Computes the border of the ball.
index_t inverse_R(index_t R)
Gets the inverse of a rotation.
void snap_tex_coord(double &coord)
Snaps a texture coordinate.
void frame_field(Mesh *mesh, Attribute< vec3 > &B, double hard_angle_threshold=45.0)
Computes a guidance frame field for global parameterization.
Global Vorpaline namespace.
geo_index_t index_t
The type for storing and manipulating indices.