|
Hermes2D
2.0
|
"Vectorizer" is a Linearizer for vector solutions. The only difference is that linearized vertices are vector-valued. Also, regularization of the resulting mesh is not attempted. The class can handle different meshes in both X and Y components. More...
#include <vectorizer.h>
Inheritance diagram for Hermes::Hermes2D::Views::Vectorizer:Public Member Functions | |
| void | process_solution (MeshFunction< double > *xsln, MeshFunction< double > *ysln, int xitem=H2D_FN_VAL_0, int yitem=H2D_FN_VAL_0, double eps=HERMES_EPS_NORMAL) |
| int | get_num_vertices () |
| double4 * | get_vertices () |
| int2 * | get_dashes () |
| int | get_num_dashes () |
| void | calc_vertices_aabb (double *min_x, double *max_x, double *min_y, double *max_y) const |
| Returns axis aligned bounding box (AABB) of vertices. Assumes lock. | |
| void | set_curvature_epsilon (double curvature_epsilon) |
| double | get_curvature_epsilon () |
| Gets the 'curvature' epsilon determining the tolerance of catching the shape of curved elements. | |
| void | free () |
| Frees the instance. | |
Public Member Functions inherited from Hermes::Hermes2D::Views::LinearizerBase | |
| void | set_max_absolute_value (double max_abs) |
| double | get_min_value () const |
| double | get_max_value () const |
| void | lock_data () const |
| void | unlock_data () const |
| int3 * | get_triangles () |
| int * | get_triangle_markers () |
| int | get_num_triangles () |
| int2 * | get_edges () |
| int * | get_edge_markers () |
| int | get_num_edges () |
| virtual bool | is_empty () |
| void | free () |
| Frees the instance. | |
Protected Member Functions | |
| int | get_vertex (int p1, int p2, double x, double y, double xvalue, double yvalue) |
| int | create_vertex (double x, double y, double xvalue, double yvalue) |
| void | process_dash (int iv1, int iv2) |
| int | add_vertex () |
| void | add_dash (int iv1, int iv2) |
| void | process_triangle (MeshFunction< double > **fns, int iv0, int iv1, int iv2, int level, double *xval, double *yval, double *phx, double *phy, int *indices, bool curved) |
| void | process_quad (MeshFunction< double > **fns, int iv0, int iv1, int iv2, int iv3, int level, double *xval, double *yval, double *phx, double *phy, int *indices, bool curved) |
| void | find_min_max () |
Protected Member Functions inherited from Hermes::Hermes2D::Views::LinearizerBase | |
| LinearizerBase (bool auto_max=true) | |
| void | process_edge (int iv1, int iv2, int marker) |
| void | regularize_triangle (int iv0, int iv1, int iv2, int mid0, int mid1, int mid2, int marker) |
| int | peek_vertex (int p1, int p2) |
| void | add_edge (int iv1, int iv2, int marker) |
| void | add_triangle (int iv0, int iv1, int iv2, int marker) |
| int | hash (int p1, int p2) |
Protected Attributes | |
| double | curvature_epsilon |
| The 'curvature' epsilon. | |
| int | xitem |
| int | component_x |
| int | value_type_x |
| int | yitem |
| int | component_y |
| int | value_type_y |
| double4 * | verts |
| vertices: (x, y, xvalue, yvalue) quadruples | |
| int2 * | dashes |
| int | dashes_count |
| Real numbers of vertices, triangles and edges, dashes. | |
| int | dashes_size |
| Size of arrays of vertices, triangles and edges, dashes. | |
Protected Attributes inherited from Hermes::Hermes2D::Views::LinearizerBase | |
| bool | empty |
| double | max |
| bool | auto_max |
| int3 * | tris |
| triangles: vertex index triplets | |
| int * | tri_markers |
| triangle_markers: triangle markers, ordering equal to tris | |
| int2 * | edges |
| edges: pairs of vertex indices | |
| int * | edge_markers |
| edge_markers: edge markers, ordering equal to edges | |
| int * | hash_table |
| hash table | |
| int4 * | info |
| info[0] = p1, info[1] = p2, info[2] = next vertex in hash | |
| int | vertex_count |
| int | triangle_count |
| int | edges_count |
| Real numbers of vertices, triangles and edges. | |
| int | vertex_size |
| int | triangle_size |
| int | edges_size |
| Size of arrays of vertices, triangles and edges. | |
| double | eps |
| double | min_val |
| double | max_val |
| int | del_slot |
| free slot index after a triangle which was deleted | |
| pthread_mutex_t | data_mutex |
| Hermes::Exceptions::Exception * | caughtException |
Additional Inherited Members | |
Static Protected Member Functions inherited from Hermes::Hermes2D::Views::LinearizerBase | |
| static void | calc_aabb (double *x, double *y, int stride, int num, double *min_x, double *max_x, double *min_y, double *max_y) |
| Calculates AABB from an array of X-axis and Y-axis coordinates. The distance between values in the array is stride bytes. | |
"Vectorizer" is a Linearizer for vector solutions. The only difference is that linearized vertices are vector-valued. Also, regularization of the resulting mesh is not attempted. The class can handle different meshes in both X and Y components.
Definition at line 32 of file vectorizer.h.
| void Vectorizer::set_curvature_epsilon | ( | double | curvature_epsilon | ) |
Sets the threshold for how fine the output for curved elements.
| [in] | curvature_epsilon | The 'curvature' epsilon determining the tolerance of catching the shape of curved elements. The smaller, the finer. Default value = 1e-3. |
Definition at line 368 of file vectorizer.cpp.