16 #ifndef __H2D_ORDERIZER_H
17 #define __H2D_ORDERIZER_H
19 #include "../space/space.h"
24 #include "../quadrature/quad_all.h"
25 #include "../mesh/traverse.h"
44 template<
typename Scalar>
48 template<
typename Scalar>
52 template<
typename Scalar>
56 void calc_vertices_aabb(
double* min_x,
double* max_x,
57 double* min_y,
double* max_y)
const;
60 template<
typename Scalar>
63 int get_labels(
int*& lvert,
char**& ltext, double2*& lbox)
const;
65 int get_num_vertices();
66 double3* get_vertices();
68 void lock_data()
const;
69 void unlock_data()
const;
71 int3* get_triangles();
72 int* get_triangle_markers();
73 int get_num_triangles();
76 int* get_edge_markers();
82 mutable pthread_mutex_t data_mutex;
88 void add_edge(
int iv1,
int iv2,
int marker);
92 void reallocate(MeshSharedPtr mesh);
99 int label_size, label_count;
114 void add_triangle(
int iv0,
int iv1,
int iv2,
int marker);
116 static void calc_aabb(
double* x,
double* y,
int stride,
int num,
double* min_x,
double* max_x,
double* min_y,
double* max_y);
120 void make_vert(
int & index,
double x,
double y,
double val);
Used to pass the instances of Space around.
Common definitions for Hermes2D.
int3 * tris
triangles: vertex index triplets
::xsd::cxx::tree::buffer< char > buffer
Binary buffer type.
int * tri_markers
triangle_markers: triangle markers, ordering equal to tris
int vertex_count
Real numbers of vertices, triangles and edges.
int * edge_markers
edge_markers: edge markers, ordering equal to edges
int vertex_size
Size of arrays of vertices, triangles and edges.
double3 * verts
vertices: (x, y, value) triplets