ruby-gr 0.66.0.0 → 0.71.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -2
- data/lib/gr/ffi.rb +41 -0
- data/lib/gr.rb +8 -8
- data/lib/gr3/ffi.rb +3 -1
- data/lib/gr3.rb +5 -5
- data/lib/gr_commons/gr_logger.rb +0 -1
- data/lib/gr_commons/try_extern.rb +3 -3
- data/lib/gr_commons/version.rb +1 -1
- data/lib/grm/ffi.rb +13 -13
- 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: 7bcc99a586935b6552accdfb5c93e8e2c11ab9fbe84e7381470d632ba27d75d3
|
4
|
+
data.tar.gz: d788f7c35a41e6522b8a4856abe168a9376acb0f2237d8b6e1490eef340d8ae7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc80ccc8e0a8b1070166d0234d680b3eb227aaacc95005b03fd61449ab3e2d27329abaf9476eaad5fb11a5fda7835b2dc2062a9438982fdf1bb435952b29bc68
|
7
|
+
data.tar.gz: 62e1a5366a7cdad3bbd456f53efc439dd41a661a1601d6b0d63c9e03455d87494888f7dd1e25e11c5c2e550c2808ca01a52c706c08a8c8dda2054cbc04ffdcc2
|
data/README.md
CHANGED
data/lib/gr/ffi.rb
CHANGED
@@ -19,7 +19,42 @@ module GR
|
|
19
19
|
|
20
20
|
# https://github.com/sciapp/gr/blob/master/lib/gr/gr.h
|
21
21
|
# keep same order
|
22
|
+
|
23
|
+
Vertex = struct [
|
24
|
+
'double x',
|
25
|
+
'double y',
|
26
|
+
]
|
27
|
+
|
28
|
+
# Three-dimensional coordinate
|
29
|
+
Point3d = struct [
|
30
|
+
'double x',
|
31
|
+
'double y',
|
32
|
+
'double z',
|
33
|
+
]
|
34
|
+
|
35
|
+
# Data point for `gr_volume_nogrid`
|
36
|
+
DataPoint3d = struct [
|
37
|
+
{ pt: Point3d }, # Coordinates of data point
|
38
|
+
'double data', # Intensity of data point
|
39
|
+
]
|
40
|
+
|
41
|
+
# Provides optional extra data for `gr_volume_interp_gauss`
|
42
|
+
Guess = struct [
|
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}, # \f$\Sigma^{-\frac{1}{2}}\f$ encoded as three column vectors
|
47
|
+
]
|
48
|
+
|
49
|
+
# Provides optional extra data for `gr_volume_interp_tri_linear`
|
50
|
+
TriLinear = struct [
|
51
|
+
'double grid_x_re', # Reciproke of interpolation kernel extent in x-directionGrid resolution in x direction
|
52
|
+
'double grid_y_re', # Reciproke of interpolation kernel extent in y-directionGrid resolution in y direction
|
53
|
+
'double grid_z_re', # Reciproke of interpolation kernel extent in z-directionGrid resolution in z direction
|
54
|
+
]
|
55
|
+
|
22
56
|
try_extern 'void gr_initgr(void)'
|
57
|
+
try_extern 'int gr_debug(void)'
|
23
58
|
try_extern 'void gr_opengks(void)'
|
24
59
|
try_extern 'void gr_closegks(void)'
|
25
60
|
try_extern 'void gr_inqdspsize(double *, double *, int *, int *)'
|
@@ -67,6 +102,7 @@ module GR
|
|
67
102
|
try_extern 'void gr_settextcolorind(int)'
|
68
103
|
try_extern 'void gr_inqtextcolorind(int *)'
|
69
104
|
try_extern 'void gr_setcharheight(double)'
|
105
|
+
try_extern 'void gr_setwscharheight(double chh, double height)'
|
70
106
|
try_extern 'void gr_inqcharheight(double *)'
|
71
107
|
try_extern 'void gr_setcharup(double, double)'
|
72
108
|
try_extern 'void gr_settextpath(int)'
|
@@ -223,5 +259,10 @@ module GR
|
|
223
259
|
try_extern 'void gr_cpubasedvolume(int, int, int, double *, int, double *, double *, double *, double *)'
|
224
260
|
try_extern 'void gr_inqvpsize(int *, int *, double *)'
|
225
261
|
try_extern 'void gr_polygonmesh3d(int, const double *, const double *, const double *, int, const int *, const int *)'
|
262
|
+
try_extern 'void gr_volume_nogrid(unsigned long, const data_point3d_t *, const void *, int, kernel_f, double *, double *, double, radius_f)'
|
263
|
+
try_extern 'void gr_volume_interp_tri_linear_init(double, double, double)'
|
264
|
+
try_extern 'void gr_volume_interp_gauss_init(double, double *)'
|
265
|
+
try_extern 'double gr_volume_interp_tri_linear(const data_point3d_t *, const void *, const point3d_t *, const point3d_t *)'
|
266
|
+
try_extern 'double gr_volume_interp_gauss(const data_point3d_t *, const void *, const point3d_t *, const point3d_t *)'
|
226
267
|
end
|
227
268
|
end
|
data/lib/gr.rb
CHANGED
@@ -278,7 +278,7 @@ module GR
|
|
278
278
|
# GR_TEXT_ENABLE_INLINE_MATH)
|
279
279
|
#
|
280
280
|
# The values for `x` and `y` specify the text position. If the GR_TEXT_USE_WC
|
281
|
-
# option is set, they are interpreted as world
|
281
|
+
# option is set, they are interpreted as world coordinates, otherwise as
|
282
282
|
# normalized device coordinates. The string may contain new line characters
|
283
283
|
# and inline math expressions ($...$). The latter are only taken into account,
|
284
284
|
# if the GR_TEXT_ENABLE_INLINE_MATH option is set.
|
@@ -407,7 +407,7 @@ module GR
|
|
407
407
|
# @param nrow [Integer] total number of rows in the color index array and the radii array
|
408
408
|
# @param color [Integer] color index array
|
409
409
|
#
|
410
|
-
# The mapping of the polar coordinates and the drawing is performed
|
410
|
+
# The mapping of the polar coordinates and the drawing is performed similar
|
411
411
|
# to `gr_polarcellarray` with the difference that the individual cell sizes
|
412
412
|
# are specified allowing nonuniform sized cells.
|
413
413
|
#
|
@@ -556,7 +556,7 @@ module GR
|
|
556
556
|
# * -27 : MARKERTYPE_STAR_6 - 6-pointed star (hexagram)
|
557
557
|
# * -28 : MARKERTYPE_STAR_7 - 7-pointed star (heptagram)
|
558
558
|
# * -29 : MARKERTYPE_STAR_8 - 8-pointed star (octagram)
|
559
|
-
# * -30 : MARKERTYPE_VLINE -
|
559
|
+
# * -30 : MARKERTYPE_VLINE - vertical line
|
560
560
|
# * -31 : MARKERTYPE_HLINE - horizontal line
|
561
561
|
# * -32 : MARKERTYPE_OMARK - o-mark
|
562
562
|
#
|
@@ -1544,10 +1544,10 @@ module GR
|
|
1544
1544
|
|
1545
1545
|
def beginprint(file_path)
|
1546
1546
|
super(file_path)
|
1547
|
-
|
1548
|
-
|
1549
|
-
|
1550
|
-
|
1547
|
+
return unless block_given?
|
1548
|
+
|
1549
|
+
yield
|
1550
|
+
endprint
|
1551
1551
|
end
|
1552
1552
|
|
1553
1553
|
# Open and activate a print device with the given layout attributes.
|
@@ -1586,7 +1586,7 @@ module GR
|
|
1586
1586
|
# * Folio : 0.210 x 0.330
|
1587
1587
|
# * Ledger : 0.432 x 0.279
|
1588
1588
|
# * Tabloid : 0.279 x 0.432
|
1589
|
-
# @param orientation [String] Page orientation (Landscape,
|
1589
|
+
# @param orientation [String] Page orientation (Landscape, Portrait)
|
1590
1590
|
#
|
1591
1591
|
# @!method beginprintext
|
1592
1592
|
|
data/lib/gr3/ffi.rb
CHANGED
@@ -17,7 +17,7 @@ module GR3
|
|
17
17
|
|
18
18
|
extend GRCommons::TryExtern
|
19
19
|
|
20
|
-
typealias(
|
20
|
+
typealias('GR3_MC_DTYPE', 'unsigned short')
|
21
21
|
|
22
22
|
# https://github.com/sciapp/gr/blob/master/lib/gr3/gr3.h
|
23
23
|
# keep same order
|
@@ -100,6 +100,8 @@ module GR3
|
|
100
100
|
' const float *colors, const float *scales)'
|
101
101
|
try_extern 'void gr3_drawsurface(int mesh)'
|
102
102
|
try_extern 'void gr3_surface(int nx, int ny, float *px, float *py, float *pz, int option)'
|
103
|
+
try_extern 'void gr3_isosurface(int nx, int ny, int nz, const float *data, float isovalue, const float *color,' \
|
104
|
+
' const int *strides)'
|
103
105
|
try_extern 'int gr3_drawtubemesh(int n, float *points, float *colors, float *radii,' \
|
104
106
|
' int num_steps, int num_segments)'
|
105
107
|
try_extern 'int gr3_createtubemesh(int *mesh, int n,' \
|
data/lib/gr3.rb
CHANGED
@@ -302,7 +302,7 @@ module GR3
|
|
302
302
|
# @!method drawmesh
|
303
303
|
|
304
304
|
# This function marks a mesh for deletion and removes the user’s reference
|
305
|
-
# from the mesh’s
|
305
|
+
# from the mesh’s reference counter, so a user must not use the mesh after
|
306
306
|
# calling this function.
|
307
307
|
#
|
308
308
|
# @param mesh [Integer] The mesh that should be marked for deletion
|
@@ -587,10 +587,10 @@ module GR3
|
|
587
587
|
|
588
588
|
super(n, positions, colors, radii, bond_radius, bond_color, bond_delta)
|
589
589
|
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
590
|
+
return unless spins
|
591
|
+
|
592
|
+
spins = Numo::SFloat.cast(spins).reshape(n, 3)
|
593
|
+
drawspins(positions, spins, colors)
|
594
594
|
end
|
595
595
|
|
596
596
|
# Creates meshes for slices through the given data, using the current GR
|
data/lib/gr_commons/gr_logger.rb
CHANGED
@@ -8,15 +8,15 @@ module GRCommons
|
|
8
8
|
# Improved extern method.
|
9
9
|
# 1. Ignore functions that cannot be attached.
|
10
10
|
# 2. Available function (names) are stored in @ffi_methods.
|
11
|
-
# For
|
11
|
+
# For compatibility with older versions of GR.
|
12
12
|
def try_extern(signature, *opts)
|
13
13
|
@ffi_methods ||= []
|
14
14
|
begin
|
15
15
|
func = extern(signature, *opts)
|
16
16
|
@ffi_methods << func.name
|
17
17
|
func
|
18
|
-
rescue
|
19
|
-
warn "#{e.class.name}: #{e.message}"
|
18
|
+
rescue Fiddle::DLError => e
|
19
|
+
warn "#{e.class.name}: #{e.message}" if $VERBOSE
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/gr_commons/version.rb
CHANGED
data/lib/grm/ffi.rb
CHANGED
@@ -20,40 +20,40 @@ module GRM
|
|
20
20
|
# Currently, the declarations of GRM functions are distributed in several
|
21
21
|
# header files.
|
22
22
|
|
23
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/args.h
|
23
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/args.h
|
24
24
|
try_extern 'grm_args_t *grm_args_new(void)'
|
25
25
|
try_extern 'void grm_args_delete(grm_args_t *args)'
|
26
26
|
try_extern 'int grm_args_push(grm_args_t *args, const char *key, const char *value_format, ...)'
|
27
27
|
try_extern 'int grm_args_push_buf(grm_args_t *args, const char *key, const char *value_format, const void *buffer, int apply_padding)'
|
28
28
|
try_extern 'int grm_args_contains(const grm_args_t *args, const char *keyword)'
|
29
|
+
try_extern 'int grm_args_first_value(const grm_args_t *args, const char *keyword, const char *first_value_format, void *first_value, unsigned int *array_length)'
|
30
|
+
try_extern 'int grm_args_values(const grm_args_t *args, const char *keyword, const char *expected_format, ...)'
|
29
31
|
try_extern 'void grm_args_clear(grm_args_t *args)'
|
30
32
|
try_extern 'void grm_args_remove(grm_args_t *args, const char *key)'
|
31
33
|
typealias 'grm_args_ptr_t', 'void*'
|
32
34
|
try_extern 'grm_args_ptr_t grm_length(double value, const char *unit)'
|
33
35
|
|
34
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/dump.h
|
36
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/dump.h
|
35
37
|
try_extern 'void grm_dump(const grm_args_t *args, FILE *f)'
|
36
38
|
try_extern 'void grm_dump_json(const grm_args_t *args, FILE *f)'
|
37
39
|
try_extern 'char *grm_dump_json_str(void)'
|
38
40
|
|
39
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/event.h
|
41
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/event.h
|
40
42
|
typealias 'grm_event_type_t', 'int' # enum
|
41
43
|
typealias 'grm_event_callback_t', 'void*'
|
42
44
|
try_extern 'int grm_register(grm_event_type_t type, grm_event_callback_t callback)'
|
43
45
|
try_extern 'int grm_unregister(grm_event_type_t type)'
|
44
46
|
|
45
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/interaction.h
|
46
|
-
# FIXME: https://github.com/ruby/fiddle/issues/68
|
47
|
-
typealias 'const_int', 'int' # FIXME
|
47
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/interaction.h
|
48
48
|
try_extern 'int grm_input(const grm_args_t *input_args)'
|
49
|
-
try_extern 'int grm_get_box(
|
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(const int, const int)'
|
52
52
|
|
53
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/net.h
|
54
|
-
try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id,
|
55
|
-
|
56
|
-
|
53
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/net.h
|
54
|
+
try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id, ' \
|
55
|
+
'const char *(*custom_recv)(const char *, unsigned int), ' \
|
56
|
+
'int (*custom_send)(const char *, unsigned int, const char *))'
|
57
57
|
try_extern 'grm_args_t *grm_recv(const void *p, grm_args_t *args)'
|
58
58
|
try_extern 'int grm_send(const void *p, const char *data_desc, ...)'
|
59
59
|
try_extern 'int grm_send_buf(const void *p, const char *data_desc, const void *buffer, int apply_padding)'
|
@@ -61,7 +61,7 @@ module GRM
|
|
61
61
|
try_extern 'int grm_send_args(const void *p, const grm_args_t *args)'
|
62
62
|
try_extern 'void grm_close(const void *p)'
|
63
63
|
|
64
|
-
# https://github.com/sciapp/gr/blob/master/lib/grm/plot.h
|
64
|
+
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/plot.h
|
65
65
|
try_extern 'void grm_finalize(void)'
|
66
66
|
try_extern 'int grm_clear(void)'
|
67
67
|
try_extern 'unsigned int grm_max_plotid(void)'
|
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.71.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fiddle
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: numo-narray
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,14 +94,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: '2.
|
97
|
+
version: '2.7'
|
98
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
rubygems_version: 3.
|
104
|
+
rubygems_version: 3.4.1
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: GR for Ruby
|