ruby-gr 0.71.7.0 → 0.72.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/gr/ffi.rb +32 -9
- data/lib/gr3/ffi.rb +26 -4
- data/lib/gr3.rb +8 -0
- data/lib/gr_commons/version.rb +1 -1
- data/lib/grm/ffi.rb +4 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 052e290dece0bbfbfb770da33ed8b55fbc9cb6bcf54e508245696d77bcc0138b
|
4
|
+
data.tar.gz: 21d69942fcd3414a9367167b5d89dd48151a1019cf213b1e78293954439fb901
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53c0cef5add5333e520a34ab2fa923361a44acb0b3bc50ccfaf847153a9d0e404357904947fc2fa3abb125951eb967bcc1c78fb504c6bc9a5d9323f8238ebd31
|
7
|
+
data.tar.gz: 0f3c0d93ff46b9f850154ee4e9318f55b9f20f9cfa546472c556cc7b2e41e7dc0b53090041f043e95993e2b2a15b9a884a27d1adfec3e661a05bd89024b58e6d
|
data/lib/gr/ffi.rb
CHANGED
@@ -22,35 +22,47 @@ module GR
|
|
22
22
|
|
23
23
|
Vertex = struct [
|
24
24
|
'double x',
|
25
|
-
'double y'
|
25
|
+
'double y'
|
26
26
|
]
|
27
27
|
|
28
28
|
# Three-dimensional coordinate
|
29
29
|
Point3d = struct [
|
30
30
|
'double x',
|
31
31
|
'double y',
|
32
|
-
'double z'
|
32
|
+
'double z'
|
33
33
|
]
|
34
34
|
|
35
35
|
# Data point for `gr_volume_nogrid`
|
36
36
|
DataPoint3d = struct [
|
37
|
-
{ pt: Point3d },
|
38
|
-
'double data'
|
37
|
+
{ pt: Point3d }, # Coordinates of data point
|
38
|
+
'double data' # Intensity of data point
|
39
39
|
]
|
40
40
|
|
41
41
|
# Provides optional extra data for `gr_volume_interp_gauss`
|
42
42
|
Guess = struct [
|
43
43
|
'double sqrt_det', # Square root of determinant of covariance matrix
|
44
|
-
{gauss_sig_1: Point3d},
|
45
|
-
{gauss_sig_2: Point3d},
|
46
|
-
{gauss_sig_3: Point3d}
|
44
|
+
{ gauss_sig_1: Point3d },
|
45
|
+
{ gauss_sig_2: Point3d },
|
46
|
+
{ gauss_sig_3: Point3d } # \f$\Sigma^{-\frac{1}{2}}\f$ encoded as three column vectors
|
47
47
|
]
|
48
48
|
|
49
49
|
# Provides optional extra data for `gr_volume_interp_tri_linear`
|
50
50
|
TriLinear = struct [
|
51
|
-
'double grid_x_re', # Reciproke of interpolation kernel extent in x-directionGrid resolution in x direction
|
51
|
+
'double grid_x_re', # Reciproke of interpolation kernel extent in x-directionGrid resolution in x direction
|
52
52
|
'double grid_y_re', # Reciproke of interpolation kernel extent in y-directionGrid resolution in y direction
|
53
|
-
'double grid_z_re'
|
53
|
+
'double grid_z_re' # Reciproke of interpolation kernel extent in z-directionGrid resolution in z direction
|
54
|
+
]
|
55
|
+
|
56
|
+
CpuBasedVolume2Pass = struct [
|
57
|
+
'double dmin',
|
58
|
+
'double dmax',
|
59
|
+
'cpubasedvolume_2pass_priv_t *priv'
|
60
|
+
]
|
61
|
+
|
62
|
+
Hexbin2Pass = struct [
|
63
|
+
'int nc',
|
64
|
+
'int nntmax',
|
65
|
+
'hexbin_2pass_priv_t *priv'
|
54
66
|
]
|
55
67
|
|
56
68
|
try_extern 'void gr_initgr(void)'
|
@@ -129,6 +141,7 @@ module GR
|
|
129
141
|
try_extern 'void gr_redrawsegws(void)'
|
130
142
|
try_extern 'void gr_setsegtran(int, double, double, double, double, double, double, double)'
|
131
143
|
try_extern 'void gr_closeseg(void)'
|
144
|
+
try_extern 'void gr_samplelocator(double *, double *, int *)'
|
132
145
|
try_extern 'void gr_emergencyclosegks(void)'
|
133
146
|
try_extern 'void gr_updategks(void)'
|
134
147
|
try_extern 'int gr_setspace(double, double, int, int)'
|
@@ -155,6 +168,7 @@ module GR
|
|
155
168
|
try_extern 'void gr_contourf(int, int, int, double *, double *, double *, double *, int)'
|
156
169
|
try_extern 'void gr_tricontour(int, double *, double *, double *, int, double *)'
|
157
170
|
try_extern 'int gr_hexbin(int, double *, double *, int)'
|
171
|
+
try_extern 'const hexbin_2pass_t *gr_hexbin_2pass(int, double *, double *, int, const hexbin_2pass_t *)'
|
158
172
|
try_extern 'void gr_setcolormap(int)'
|
159
173
|
try_extern 'void gr_inqcolormap(int *)'
|
160
174
|
try_extern 'void gr_setcolormapfromrgb(int n, double *r, double *g, double *b, double *x)'
|
@@ -191,6 +205,7 @@ module GR
|
|
191
205
|
try_extern 'void gr_endgraphics(void)'
|
192
206
|
try_extern 'char *gr_getgraphics(void)'
|
193
207
|
try_extern 'int gr_drawgraphics(char *)'
|
208
|
+
try_extern 'int gr_startlistener(void)'
|
194
209
|
try_extern 'void gr_mathtex(double, double, char *)'
|
195
210
|
try_extern 'void gr_inqmathtex(double, double, char *, double *, double *)'
|
196
211
|
try_extern 'void gr_beginselection(int, int)'
|
@@ -204,8 +219,10 @@ module GR
|
|
204
219
|
try_extern 'int gr_inqregenflags(void)'
|
205
220
|
try_extern 'void gr_savestate(void)'
|
206
221
|
try_extern 'void gr_restorestate(void)'
|
222
|
+
try_extern 'void gr_savecontext(int)'
|
207
223
|
try_extern 'void gr_selectcontext(int)'
|
208
224
|
try_extern 'void gr_destroycontext(int)'
|
225
|
+
try_extern 'void gr_unselectcontext(void)'
|
209
226
|
try_extern 'int gr_uselinespec(char *)'
|
210
227
|
try_extern 'void gr_delaunay(int, const double *, const double *, int *, int **)'
|
211
228
|
try_extern 'void gr_reducepoints(int, const double *, const double *, int, double *, double *)'
|
@@ -257,8 +274,14 @@ module GR
|
|
257
274
|
try_extern 'void gr_setapproximativecalculation(int)'
|
258
275
|
try_extern 'void gr_inqvolumeflags(int *, int *, int *, int *, int *)'
|
259
276
|
try_extern 'void gr_cpubasedvolume(int, int, int, double *, int, double *, double *, double *, double *)'
|
277
|
+
try_extern 'const cpubasedvolume_2pass_t *gr_cpubasedvolume_2pass(int, int, int, double *, int, double *, double *, double *, double *, const cpubasedvolume_2pass_t *)'
|
260
278
|
try_extern 'void gr_inqvpsize(int *, int *, double *)'
|
261
279
|
try_extern 'void gr_polygonmesh3d(int, const double *, const double *, const double *, int, const int *, const int *)'
|
280
|
+
# FIXME:
|
281
|
+
# typedef double (*kernel_f)(const data_point3d_t *, const void *, const point3d_t *, const point3d_t *);
|
282
|
+
# typedef double (*radius_f)(const data_point3d_t *, const void *);
|
283
|
+
typealias 'kernel_f', 'void*'
|
284
|
+
typealias 'radius_f', 'void*'
|
262
285
|
try_extern 'void gr_volume_nogrid(unsigned long, const data_point3d_t *, const void *, int, kernel_f, double *, double *, double, radius_f)'
|
263
286
|
try_extern 'void gr_volume_interp_tri_linear_init(double, double, double)'
|
264
287
|
try_extern 'void gr_volume_interp_gauss_init(double, double *)'
|
data/lib/gr3/ffi.rb
CHANGED
@@ -17,10 +17,28 @@ module GR3
|
|
17
17
|
|
18
18
|
extend GRCommons::TryExtern
|
19
19
|
|
20
|
-
typealias('GR3_MC_DTYPE', 'unsigned short')
|
21
|
-
|
22
20
|
# https://github.com/sciapp/gr/blob/master/lib/gr3/gr3.h
|
23
21
|
# keep same order
|
22
|
+
|
23
|
+
typealias('GR3_MC_DTYPE', 'unsigned short')
|
24
|
+
|
25
|
+
Coord = struct [
|
26
|
+
'float x',
|
27
|
+
'float y',
|
28
|
+
'float z'
|
29
|
+
]
|
30
|
+
|
31
|
+
Triangle = struct [
|
32
|
+
{ 'vertices[3]' => Coord },
|
33
|
+
{ 'normal[3]' => Coord }
|
34
|
+
]
|
35
|
+
|
36
|
+
Volume2Pass = struct [
|
37
|
+
'double dmin',
|
38
|
+
'double dmax',
|
39
|
+
'gr3_volume_2pass_priv_t *priv'
|
40
|
+
]
|
41
|
+
|
24
42
|
try_extern 'int gr3_init(int *attrib_list)'
|
25
43
|
try_extern 'void gr3_free(void *pointer)'
|
26
44
|
try_extern 'void gr3_terminate(void)'
|
@@ -29,7 +47,7 @@ module GR3
|
|
29
47
|
try_extern 'const char *gr3_geterrorstring(int error)'
|
30
48
|
try_extern 'void gr3_setlogcallback(void (*gr3_log_func)(const char *log_message))'
|
31
49
|
try_extern 'int gr3_clear(void)'
|
32
|
-
try_extern 'void gr3_usecurrentframebuffer()'
|
50
|
+
try_extern 'void gr3_usecurrentframebuffer(void)'
|
33
51
|
try_extern 'void gr3_useframebuffer(unsigned int framebuffer)'
|
34
52
|
try_extern 'int gr3_setquality(int quality)'
|
35
53
|
try_extern 'int gr3_getimage(int width, int height, int use_alpha, char *pixels)'
|
@@ -144,6 +162,8 @@ module GR3
|
|
144
162
|
try_extern 'void gr3_drawtrianglesurface(int n, const float *triangles)'
|
145
163
|
try_extern 'void gr_volume(int nx, int ny, int nz, double *data,' \
|
146
164
|
' int algorithm, double *dmin_ptr, double *dmax_ptr)'
|
165
|
+
try_extern 'const gr3_volume_2pass_t *gr_volume_2pass(int nx, int ny, int nz, double *data,' \
|
166
|
+
' int algorithm, double *dmin_ptr, double *dmax_ptr, const gr3_volume_2pass_t *context)'
|
147
167
|
try_extern 'void gr3_setorthographicprojection' \
|
148
168
|
'(float left, float right, float bottom, float top, float znear, float zfar)'
|
149
169
|
try_extern 'void gr3_setsurfaceoption(int option)'
|
@@ -152,7 +172,9 @@ module GR3
|
|
152
172
|
try_extern 'int gr3_setlightsources(int num_lights, float *positions, float *colors)'
|
153
173
|
try_extern 'void gr3_setlightparameters(float ambient, float diffuse, float specular, float specular_power)'
|
154
174
|
try_extern 'void gr3_getlightparameters(float *ambient, float *diffuse, float *specular, float *specular_power)'
|
155
|
-
try_extern 'void gr3_setdefaultlightparameters()'
|
175
|
+
try_extern 'void gr3_setdefaultlightparameters(void)'
|
176
|
+
try_extern 'int gr3_getalphamode(int *mode)'
|
177
|
+
try_extern 'void gr3_setalphamode(int mode)'
|
156
178
|
try_extern 'void gr3_setclipping(float xmin, float xmax, float ymin, float ymax, float zmin, float zmax)'
|
157
179
|
try_extern 'void gr3_getclipping(float *xmin, float *xmax, float *ymin, float *ymax, float *zmin, float *zmax)'
|
158
180
|
end
|
data/lib/gr3.rb
CHANGED
@@ -871,6 +871,14 @@ module GR3
|
|
871
871
|
SURFACE_GRCOLOR = 8
|
872
872
|
SURFACE_GRZSHADED = 16
|
873
873
|
|
874
|
+
TRANSPARENCY_OPAQUE = 0
|
875
|
+
TRANSPARENCY_TRANSMIT = 1
|
876
|
+
TRANSPARENCY_FILTER = 2
|
877
|
+
|
878
|
+
VOLUME_EMISSION = 0
|
879
|
+
VOLUME_ABSORPTION = 1
|
880
|
+
VOLUME_MIP = 2
|
881
|
+
|
874
882
|
ATOM_COLORS =
|
875
883
|
[[0, 0, 0],
|
876
884
|
[255, 255, 255], [217, 255, 255], [204, 128, 255],
|
data/lib/gr_commons/version.rb
CHANGED
data/lib/grm/ffi.rb
CHANGED
@@ -48,7 +48,9 @@ module GRM
|
|
48
48
|
try_extern 'int grm_input(const grm_args_t *input_args)'
|
49
49
|
try_extern 'int grm_get_box(const int x1, const int y1, const int x2, const int y2, const int keep_aspect_ratio, int *x, int *y, int *w, int *h)'
|
50
50
|
try_extern 'int grm_is3d(const int x, const int y)'
|
51
|
-
try_extern 'grm_tooltip_info_t *grm_get_tooltip(
|
51
|
+
try_extern 'grm_tooltip_info_t *grm_get_tooltip(int mouse_x, int mouse_y)'
|
52
|
+
try_extern 'grm_tooltip_info_t **grm_get_tooltips_x(int mouse_x, int mouse_y, unsigned int *array_length)'
|
53
|
+
try_extern 'grm_accumulated_tooltip_info_t *grm_get_accumulated_tooltip_x(int mouse_x, int mouse_y)'
|
52
54
|
|
53
55
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/net.h
|
54
56
|
try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id, ' \
|
@@ -70,6 +72,7 @@ module GRM
|
|
70
72
|
try_extern 'int grm_merge_hold(const grm_args_t *args)'
|
71
73
|
try_extern 'int grm_merge_named(const grm_args_t *args, const char *identificator)'
|
72
74
|
try_extern 'int grm_plot(const grm_args_t *args)'
|
75
|
+
try_extern 'int grm_export(const char *file_path)'
|
73
76
|
try_extern 'int grm_switch(unsigned int id)'
|
74
77
|
end
|
75
78
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-gr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.72.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fiddle
|
@@ -86,7 +86,7 @@ licenses:
|
|
86
86
|
- MIT
|
87
87
|
metadata:
|
88
88
|
msys2_mingw_dependencies: gr
|
89
|
-
post_install_message:
|
89
|
+
post_install_message:
|
90
90
|
rdoc_options: []
|
91
91
|
require_paths:
|
92
92
|
- lib
|
@@ -101,8 +101,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
rubygems_version: 3.4.
|
105
|
-
signing_key:
|
104
|
+
rubygems_version: 3.4.14
|
105
|
+
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: GR for Ruby
|
108
108
|
test_files: []
|