Graphite  Version 3
An experimental 3D geometry processing program
GEO::MeshInTriangle::Vertex Class Reference

A vertex of the triangulation. More...

#include <geogram/mesh/mesh_surface_intersection_internal.h>

Public Types

enum  Type { UNINITIALIZED , MESH_VERTEX , PRIMARY_ISECT , SECONDARY_ISECT }
 

Public Member Functions

 Vertex (MeshInTriangle *M, index_t f, index_t lv)
 Constructor for macro-triangle vertices. More...
 
 Vertex (MeshInTriangle *M, index_t f1, index_t f2, TriangleRegion R1, TriangleRegion R2)
 Constructor for intersections with other facets. More...
 
 Vertex (MeshInTriangle *M, const ExactPoint &point_exact_in)
 Constructor for intersections between constraints. More...
 
 Vertex ()
 Default constructor.
 
const Meshmesh () const
 Gets the mesh. More...
 
void print (std::ostream &out=std::cerr) const
 Prints this vertex. More...
 
std::string to_string () const
 Gets a string representation of this Vertex. More...
 
vec2 get_UV_approx () const
 

Public Attributes

MeshInTrianglemit
 
ExactPoint point_exact
 
Type type
 
index_t mesh_vertex_index
 
struct {
   index_t   f1
 
   index_t   f2
 
   TriangleRegion   R1
 
   TriangleRegion   R2
 
sym
 
double l
 

Protected Member Functions

void init_sym (index_t f1, index_t f2, TriangleRegion R1, TriangleRegion R2)
 Initializes the symbolic information of this Vertex. More...
 
ExactPoint compute_geometry ()
 Gets the geometry of this vertex. More...
 
void init_geometry (const ExactPoint &P)
 Optimizes exact numbers in generated points and computes approximate coordinates.
 

Detailed Description

A vertex of the triangulation.

Stores geometric information in exact precision, both in 3D and in local 2D coordinates. It also stores symbolic information, that is, facet indices and regions that generated the vertex.

Definition at line 112 of file mesh_surface_intersection_internal.h.

Constructor & Destructor Documentation

◆ Vertex() [1/3]

GEO::MeshInTriangle::Vertex::Vertex ( MeshInTriangle M,
index_t  f,
index_t  lv 
)
inline

Constructor for macro-triangle vertices.

Parameters
[in]ffacet index, supposed to correspond to MeshInTriangle's current facet
[in]lvlocal vertex index in f

Definition at line 125 of file mesh_surface_intersection_internal.h.

◆ Vertex() [2/3]

GEO::MeshInTriangle::Vertex::Vertex ( MeshInTriangle M,
index_t  f1,
index_t  f2,
TriangleRegion  R1,
TriangleRegion  R2 
)
inline

Constructor for intersections with other facets.

Parameters
[in]f1,f2the two facets. f1 is suposed to correspond to MeshInTriangle's current facet
[in]R1,R2the two facet regions.

Definition at line 139 of file mesh_surface_intersection_internal.h.

◆ Vertex() [3/3]

GEO::MeshInTriangle::Vertex::Vertex ( MeshInTriangle M,
const ExactPoint point_exact_in 
)
inline

Constructor for intersections between constraints.

Parameters
[in]point_exact_inexact 3D coordinates of the intersection

Definition at line 156 of file mesh_surface_intersection_internal.h.

Member Function Documentation

◆ compute_geometry()

ExactPoint GEO::MeshInTriangle::Vertex::compute_geometry ( )
protected

Gets the geometry of this vertex.

Computes the exact 3D position of this vertex based on the mesh and the combinatorial information

◆ init_sym()

void GEO::MeshInTriangle::Vertex::init_sym ( index_t  f1,
index_t  f2,
TriangleRegion  R1,
TriangleRegion  R2 
)
inlineprotected

Initializes the symbolic information of this Vertex.

Parameters
[in]f1,f2the two facets. f1 is suposed to correspond to MeshInTriangle's current facet
[in]R1,R2the two facet regions.

Definition at line 216 of file mesh_surface_intersection_internal.h.

◆ mesh()

const Mesh& GEO::MeshInTriangle::Vertex::mesh ( ) const
inline

Gets the mesh.

Returns
a reference to the mesh

Definition at line 179 of file mesh_surface_intersection_internal.h.

◆ print()

void GEO::MeshInTriangle::Vertex::print ( std::ostream &  out = std::cerr) const

Prints this vertex.

Displays the combinatorial information

Parameters
[out]outan optional stream where to print

◆ to_string()

std::string GEO::MeshInTriangle::Vertex::to_string ( ) const
inline

Gets a string representation of this Vertex.

Returns
a string with the combinatorial information of this Vertex

Definition at line 195 of file mesh_surface_intersection_internal.h.


The documentation for this class was generated from the following file: