1#ifndef __verdict_mangle_h
2#define __verdict_mangle_h
3
4/*
5This header file mangles all symbols exported from the verdict library.
6It is included in all files while building the verdict library.
7
8The following command was used to obtain the symbol list:
9
10nm libverdict.a |grep " [TRD] "
11
12This is the way to recreate the whole list:
13
14nm libvtkverdict.dylib  |grep " [TRD] " | sed -e 's+^[^_]*_++g' | \
15   awk '{ print "#define "$1" @VERDICT_MANGLE_PREFIX@_"$1 }' | \
16   grep -v __fini | grep -v __init | sort > verdict_mangle.h.in
17
18After this, you must manually edit the file and replace any names
19mangled by the C++ compiler with their generic counterparts since
20different C++ compilers have different mangling schemes.
21
22Note that _fini and _init should be excluded because they are not functions
23implemented by the library but are rather created by the linker and
24used when the shared library is loaded/unloaded from an executable.
25
26*/
27
28/* C++ function and class names */
29#define v_determinant @VERDICT_MANGLE_PREFIX@_v_determinant
30#define v_interpolate @VERDICT_MANGLE_PREFIX@_v_interpolate
31#define v_vector_rotate @VERDICT_MANGLE_PREFIX@_v_vector_rotate
32#define VerdictVector @VERDICT_MANGLE_PREFIX@_VerdictVector
33#define GaussIntegration @VERDICT_MANGLE_PREFIX@_GaussIntegration
34
35/* C function names */
36#define v_edge_length @VERDICT_MANGLE_PREFIX@_v_edge_length
37#define v_edge_quality @VERDICT_MANGLE_PREFIX@_v_edge_quality
38#define v_hex_condition @VERDICT_MANGLE_PREFIX@_v_hex_condition
39#define v_hex_diagonal @VERDICT_MANGLE_PREFIX@_v_hex_diagonal
40#define v_hex_dimension @VERDICT_MANGLE_PREFIX@_v_hex_dimension
41#define v_hex_distortion @VERDICT_MANGLE_PREFIX@_v_hex_distortion
42#define v_hex_edge_ratio @VERDICT_MANGLE_PREFIX@_v_hex_edge_ratio
43#define v_hex_jacobian @VERDICT_MANGLE_PREFIX@_v_hex_jacobian
44#define v_hex_max_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_hex_max_aspect_frobenius
45#define v_hex_max_edge_ratio @VERDICT_MANGLE_PREFIX@_v_hex_max_edge_ratio
46#define v_hex_med_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_hex_med_aspect_frobenius
47#define v_hex_oddy @VERDICT_MANGLE_PREFIX@_v_hex_oddy
48#define v_hex_quality @VERDICT_MANGLE_PREFIX@_v_hex_quality
49#define v_hex_relative_size_squared @VERDICT_MANGLE_PREFIX@_v_hex_relative_size_squared
50#define v_hex_scaled_jacobian @VERDICT_MANGLE_PREFIX@_v_hex_scaled_jacobian
51#define v_hex_shape @VERDICT_MANGLE_PREFIX@_v_hex_shape
52#define v_hex_shape_and_size @VERDICT_MANGLE_PREFIX@_v_hex_shape_and_size
53#define v_hex_shear @VERDICT_MANGLE_PREFIX@_v_hex_shear
54#define v_hex_shear_and_size @VERDICT_MANGLE_PREFIX@_v_hex_shear_and_size
55#define v_hex_skew @VERDICT_MANGLE_PREFIX@_v_hex_skew
56#define v_hex_stretch @VERDICT_MANGLE_PREFIX@_v_hex_stretch
57#define v_hex_taper @VERDICT_MANGLE_PREFIX@_v_hex_taper
58#define v_hex_volume @VERDICT_MANGLE_PREFIX@_v_hex_volume
59#define v_knife_quality @VERDICT_MANGLE_PREFIX@_v_knife_quality
60#define v_knife_volume @VERDICT_MANGLE_PREFIX@_v_knife_volume
61#define v_pyramid_quality @VERDICT_MANGLE_PREFIX@_v_pyramid_quality
62#define v_pyramid_volume @VERDICT_MANGLE_PREFIX@_v_pyramid_volume
63#define v_quad_area @VERDICT_MANGLE_PREFIX@_v_quad_area
64#define v_quad_aspect_ratio @VERDICT_MANGLE_PREFIX@_v_quad_aspect_ratio
65#define v_quad_condition @VERDICT_MANGLE_PREFIX@_v_quad_condition
66#define v_quad_distortion @VERDICT_MANGLE_PREFIX@_v_quad_distortion
67#define v_quad_edge_ratio @VERDICT_MANGLE_PREFIX@_v_quad_edge_ratio
68#define v_quad_jacobian @VERDICT_MANGLE_PREFIX@_v_quad_jacobian
69#define v_quad_max_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_quad_max_aspect_frobenius
70#define v_quad_max_edge_ratio @VERDICT_MANGLE_PREFIX@_v_quad_max_edge_ratio
71#define v_quad_maximum_angle @VERDICT_MANGLE_PREFIX@_v_quad_maximum_angle
72#define v_quad_med_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_quad_med_aspect_frobenius
73#define v_quad_minimum_angle @VERDICT_MANGLE_PREFIX@_v_quad_minimum_angle
74#define v_quad_oddy @VERDICT_MANGLE_PREFIX@_v_quad_oddy
75#define v_quad_quality @VERDICT_MANGLE_PREFIX@_v_quad_quality
76#define v_quad_radius_ratio @VERDICT_MANGLE_PREFIX@_v_quad_radius_ratio
77#define v_quad_relative_size_squared @VERDICT_MANGLE_PREFIX@_v_quad_relative_size_squared
78#define v_quad_scaled_jacobian @VERDICT_MANGLE_PREFIX@_v_quad_scaled_jacobian
79#define v_quad_shape @VERDICT_MANGLE_PREFIX@_v_quad_shape
80#define v_quad_shape_and_size @VERDICT_MANGLE_PREFIX@_v_quad_shape_and_size
81#define v_quad_shear @VERDICT_MANGLE_PREFIX@_v_quad_shear
82#define v_quad_shear_and_size @VERDICT_MANGLE_PREFIX@_v_quad_shear_and_size
83#define v_quad_skew @VERDICT_MANGLE_PREFIX@_v_quad_skew
84#define v_quad_stretch @VERDICT_MANGLE_PREFIX@_v_quad_stretch
85#define v_quad_taper @VERDICT_MANGLE_PREFIX@_v_quad_taper
86#define v_quad_warpage @VERDICT_MANGLE_PREFIX@_v_quad_warpage
87#define v_set_hex_size @VERDICT_MANGLE_PREFIX@_v_set_hex_size
88#define v_set_quad_size @VERDICT_MANGLE_PREFIX@_v_set_quad_size
89#define v_set_tet_size @VERDICT_MANGLE_PREFIX@_v_set_tet_size
90#define v_set_tri_normal_func @VERDICT_MANGLE_PREFIX@_v_set_tri_normal_func
91#define v_set_tri_size @VERDICT_MANGLE_PREFIX@_v_set_tri_size
92#define v_tet_aspect_beta @VERDICT_MANGLE_PREFIX@_v_tet_aspect_beta
93#define v_tet_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_tet_aspect_frobenius
94#define v_tet_aspect_gamma @VERDICT_MANGLE_PREFIX@_v_tet_aspect_gamma
95#define v_tet_aspect_ratio @VERDICT_MANGLE_PREFIX@_v_tet_aspect_ratio
96#define v_tet_collapse_ratio @VERDICT_MANGLE_PREFIX@_v_tet_collapse_ratio
97#define v_tet_condition @VERDICT_MANGLE_PREFIX@_v_tet_condition
98#define v_tet_distortion @VERDICT_MANGLE_PREFIX@_v_tet_distortion
99#define v_tet_edge_ratio @VERDICT_MANGLE_PREFIX@_v_tet_edge_ratio
100#define v_tet_jacobian @VERDICT_MANGLE_PREFIX@_v_tet_jacobian
101#define v_tet_minimum_angle @VERDICT_MANGLE_PREFIX@_v_tet_minimum_angle
102#define v_tet_quality @VERDICT_MANGLE_PREFIX@_v_tet_quality
103#define v_tet_radius_ratio @VERDICT_MANGLE_PREFIX@_v_tet_radius_ratio
104#define v_tet_relative_size_squared @VERDICT_MANGLE_PREFIX@_v_tet_relative_size_squared
105#define v_tet_scaled_jacobian @VERDICT_MANGLE_PREFIX@_v_tet_scaled_jacobian
106#define v_tet_shape @VERDICT_MANGLE_PREFIX@_v_tet_shape
107#define v_tet_shape_and_size @VERDICT_MANGLE_PREFIX@_v_tet_shape_and_size
108#define v_tet_volume @VERDICT_MANGLE_PREFIX@_v_tet_volume
109#define v_tri_area @VERDICT_MANGLE_PREFIX@_v_tri_area
110#define v_tri_aspect_frobenius @VERDICT_MANGLE_PREFIX@_v_tri_aspect_frobenius
111#define v_tri_aspect_ratio @VERDICT_MANGLE_PREFIX@_v_tri_aspect_ratio
112#define v_tri_condition @VERDICT_MANGLE_PREFIX@_v_tri_condition
113#define v_tri_distortion @VERDICT_MANGLE_PREFIX@_v_tri_distortion
114#define v_tri_edge_ratio @VERDICT_MANGLE_PREFIX@_v_tri_edge_ratio
115#define v_tri_maximum_angle @VERDICT_MANGLE_PREFIX@_v_tri_maximum_angle
116#define v_tri_minimum_angle @VERDICT_MANGLE_PREFIX@_v_tri_minimum_angle
117#define v_tri_quality @VERDICT_MANGLE_PREFIX@_v_tri_quality
118#define v_tri_radius_ratio @VERDICT_MANGLE_PREFIX@_v_tri_radius_ratio
119#define v_tri_relative_size_squared @VERDICT_MANGLE_PREFIX@_v_tri_relative_size_squared
120#define v_tri_scaled_jacobian @VERDICT_MANGLE_PREFIX@_v_tri_scaled_jacobian
121#define v_tri_shape @VERDICT_MANGLE_PREFIX@_v_tri_shape
122#define v_tri_shape_and_size @VERDICT_MANGLE_PREFIX@_v_tri_shape_and_size
123#define v_wedge_quality @VERDICT_MANGLE_PREFIX@_v_wedge_quality
124#define v_wedge_volume @VERDICT_MANGLE_PREFIX@_v_wedge_volume
125#define v_wedge_condition @VERDICT_MANGLE_PREFIX@_wedge_condition
126#define v_wedge_distortion @VERDICT_MANGLE_PREFIX@_wedge_distortion
127#define v_wedge_edge_ratio @VERDICT_MANGLE_PREFIX@_wedge_edge_ratio
128#define v_wedge_jacobian @VERDICT_MANGLE_PREFIX@_wedge_jacobian
129#define v_wedge_max_aspect_frobenius @VERDICT_MANGLE_PREFIX@_wedge_max_aspect_frobenius
130#define v_wedge_max_stretch @VERDICT_MANGLE_PREFIX@_wedge_max_stretch
131#define v_wedge_mean_aspect_frobenius @VERDICT_MANGLE_PREFIX@_wedge_mean_aspect_frobenius
132#define v_wedge_scaled_jacobian @VERDICT_MANGLE_PREFIX@_wedge_scaled_jacobian
133#define v_wedge_shape @VERDICT_MANGLE_PREFIX@_wedge_shape
134
135
136#endif /* __verdict_mangle_h */
137