ruby-gr 0.64.0.0 → 0.66.0.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 +14 -6
- data/lib/gr/ffi.rb +26 -22
- data/lib/gr.rb +35 -1
- data/lib/gr3/ffi.rb +99 -97
- data/lib/gr_commons/version.rb +1 -1
- data/lib/grm/ffi.rb +1 -0
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f62d57c43711e0e23533d38287699d89479a21071c362ff162f2106dfcc550e
|
4
|
+
data.tar.gz: 9be23f52f87aa7b61680142bc648049cbfa2c4b683bf082d47679daf430ff9dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd728fb1457f78827d8ce1ecf77ef7cd87df51f1ecbc4a1165d371a67e04cac130294dbe9e8b6d947a69a6c1385818f7aa041df3d4de9a883aec7e11f62742f6
|
7
|
+
data.tar.gz: f6e6af01b74bfe6f6b373477d1a7cb917b52c8cb941d530fd1a90986927e241a4c75048cf49f2c1c4fbabebf59ea763d01de418768d67ebbafd9a19dabaf7b1c
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[![Gem Version](https://img.shields.io/gem/v/ruby-gr?color=brightgreen)](https://rubygems.org/gems/ruby-gr)
|
4
4
|
[![CI](https://github.com/red-data-tools/GR.rb/workflows/CI/badge.svg)](https://github.com/red-data-tools/GR.rb/actions)
|
5
5
|
[![Gitter Chat](https://badges.gitter.im/red-data-tools/en.svg)](https://gitter.im/red-data-tools/en)
|
6
|
-
[![Docs Latest](https://img.shields.io/badge/docs-latest-blue.svg)](https://
|
6
|
+
[![Docs Latest](https://img.shields.io/badge/docs-latest-blue.svg)](https://red-data-tools.github.io/GR.rb/)
|
7
7
|
|
8
8
|
[![rdatasets-1](https://i.imgur.com/XEQ6wKs.png)](examples/rdatasets.rb)
|
9
9
|
[![stem](https://i.imgur.com/3w0Ejrm.png)](examples/fast_plots.rb)
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
GR.rb supports Ruby 2.5+.
|
29
29
|
|
30
|
-
First, [install GR](#gr-installation). Then install `gr-plot` gem.
|
30
|
+
First, [install GR](#gr-installation). Then install [`gr-plot`](https://github.com/red-data-tools/gr-plot) gem.
|
31
31
|
|
32
32
|
```sh
|
33
33
|
gem install gr-plot
|
@@ -60,9 +60,11 @@ GR.plot(x, y)
|
|
60
60
|
GR.savefig("figure.png")
|
61
61
|
```
|
62
62
|
|
63
|
+
GR.rb supports [Jupyter Notebook / Lab](../../wiki/Jupyter-Notebook).
|
64
|
+
|
63
65
|
## API Overview
|
64
66
|
|
65
|
-
#### GR::Plot - A simple, matlab-style API.
|
67
|
+
#### [GR::Plot - A simple, matlab-style API](https://github.com/red-data-tools/gr-plot)
|
66
68
|
|
67
69
|
```ruby
|
68
70
|
require 'gr/plot'
|
@@ -98,7 +100,7 @@ List of available functions.
|
|
98
100
|
See [GR.rb Wiki](https://github.com/red-data-tools/GR.rb/wiki) for details.
|
99
101
|
Some GR module methods are overwritten. Code has been moved to [gr-plot](https://github.com/red-data-tools/gr-plot).
|
100
102
|
|
101
|
-
#### GR - A module for calling native GR functions
|
103
|
+
#### GR - A module for calling native GR functions
|
102
104
|
|
103
105
|
2-D Plots and common 3-D Plots.
|
104
106
|
|
@@ -110,7 +112,7 @@ GR.setviewport(0.1, 0.9, 0.1, 0.9)
|
|
110
112
|
GR.setwindow(0.0, 20.0, 0.0, 20.0)
|
111
113
|
```
|
112
114
|
|
113
|
-
#### GR3 - A module for calling native GR3 functions
|
115
|
+
#### GR3 - A module for calling native GR3 functions
|
114
116
|
|
115
117
|
Complex 3D scenes.
|
116
118
|
|
@@ -134,7 +136,7 @@ export GKS_WSTYPE=100
|
|
134
136
|
## Documentation
|
135
137
|
|
136
138
|
- [GR.rb Wiki](https://github.com/red-data-tools/GR.rb/wiki)
|
137
|
-
- [GR.rb API Documentation](https://
|
139
|
+
- [GR.rb API Documentation](https://red-data-tools.github.io/GR.rb/) - Yard documents.
|
138
140
|
- [GR Framework](https://gr-framework.org/) - The official GR reference.
|
139
141
|
|
140
142
|
## GR Installation
|
@@ -164,10 +166,16 @@ export GKS_WSTYPE=411 # Set the workstation type to gksqt (recommended)
|
|
164
166
|
|
165
167
|
GR releases are also available from the [openSUSE Build service](https://software.opensuse.org//download.html?project=science%3Agr-framework&package=gr) for CentOS, Debian, Fedora openSUSE and Ubuntu. Obtain a packaged release [here](https://software.opensuse.org//download.html?project=science%3Agr-framework&package=gr).
|
166
168
|
|
169
|
+
GR will be installed in `/usr/gr`. Set one of the following environment variables so that GR.rb can find the library.
|
170
|
+
|
167
171
|
```sh
|
168
172
|
export GRDIR="/usr/gr" # Check the location with `dpkg -L gr`
|
169
173
|
```
|
170
174
|
|
175
|
+
```sh
|
176
|
+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/gr/lib/pkgconfig"
|
177
|
+
```
|
178
|
+
|
171
179
|
#### Windows - MSYS2
|
172
180
|
|
173
181
|
If you are using Rubyinstaller, pacman will automatically install [mingw-w64-gr](https://packages.msys2.org/base/mingw-w64-gr) when the gem is installed.
|
data/lib/gr/ffi.rb
CHANGED
@@ -35,20 +35,20 @@ module GR
|
|
35
35
|
try_extern 'void gr_text(double, double, char *)'
|
36
36
|
try_extern 'void gr_textx(double, double, char *, int)'
|
37
37
|
try_extern 'void gr_inqtext(double, double, char *, double *, double *)'
|
38
|
-
try_extern 'gr_inqtextx(double, double, char *, int, double *, double *)'
|
38
|
+
try_extern 'void gr_inqtextx(double, double, char *, int, double *, double *)'
|
39
39
|
try_extern 'void gr_fillarea(int, double *, double *)'
|
40
|
-
try_extern 'void gr_cellarray(double, double, double, double,
|
41
|
-
'int, int, int, int, int, int, int *)'
|
42
|
-
try_extern 'void gr_nonuniformcellarray(double *, double *,
|
43
|
-
'int, int, int, int, int, int, int *)'
|
44
|
-
try_extern 'void gr_polarcellarray(double, double, double, double, double, double,
|
45
|
-
'int, int, int, int, int, int, int *)'
|
46
|
-
try_extern 'void gr_nonuniformpolarcellarray(double, double, double *, double *,
|
47
|
-
'int, int, int, int, int, int, int *)
|
40
|
+
try_extern 'void gr_cellarray(double, double, double, double,' \
|
41
|
+
' int, int, int, int, int, int, int *)'
|
42
|
+
try_extern 'void gr_nonuniformcellarray(double *, double *,' \
|
43
|
+
' int, int, int, int, int, int, int *)'
|
44
|
+
try_extern 'void gr_polarcellarray(double, double, double, double, double, double,' \
|
45
|
+
' int, int, int, int, int, int, int *)'
|
46
|
+
try_extern 'void gr_nonuniformpolarcellarray(double, double, double *, double *,' \
|
47
|
+
' int, int, int, int, int, int, int *)'
|
48
48
|
try_extern 'void gr_gdp(int, double *, double *, int, int, int *)'
|
49
49
|
try_extern 'void gr_spline(int, double *, double *, int, int)'
|
50
|
-
try_extern 'void gr_gridit(int, double *, double *, double *, int, int,
|
51
|
-
'double *, double *, double *)'
|
50
|
+
try_extern 'void gr_gridit(int, double *, double *, double *, int, int,' \
|
51
|
+
' double *, double *, double *)'
|
52
52
|
try_extern 'void gr_setlinetype(int)'
|
53
53
|
try_extern 'void gr_inqlinetype(int *)'
|
54
54
|
try_extern 'void gr_setlinewidth(double)'
|
@@ -77,6 +77,8 @@ module GR
|
|
77
77
|
try_extern 'void gr_inqfillstyle(int *)'
|
78
78
|
try_extern 'void gr_setfillcolorind(int)'
|
79
79
|
try_extern 'void gr_inqfillcolorind(int *)'
|
80
|
+
try_extern 'void gr_setresizebehaviour(int)'
|
81
|
+
try_extern 'void gr_inqresizebehaviour(int *)'
|
80
82
|
try_extern 'void gr_setcolorrep(int, double, double, double)'
|
81
83
|
try_extern 'void gr_setwindow(double, double, double, double)'
|
82
84
|
try_extern 'void gr_inqwindow(double *, double *, double *, double *)'
|
@@ -99,10 +101,11 @@ module GR
|
|
99
101
|
try_extern 'void gr_inqscale(int *)'
|
100
102
|
try_extern 'int gr_textext(double, double, char *)'
|
101
103
|
try_extern 'void gr_inqtextext(double, double, char *, double *, double *)'
|
104
|
+
try_extern 'void gr_setscientificformat(int)'
|
102
105
|
try_extern 'void gr_axes(double, double, double, double, int, int, double)'
|
103
106
|
try_extern 'void gr_axeslbl(double, double, double, double, int, int, double,' \
|
104
|
-
'void (*)(double, double, const char *, double),' \
|
105
|
-
'void (*)(double, double, const char *, double))'
|
107
|
+
' void (*)(double, double, const char *, double),' \
|
108
|
+
' void (*)(double, double, const char *, double))'
|
106
109
|
try_extern 'void gr_grid(double, double, double, double, int, int)'
|
107
110
|
try_extern 'void gr_grid3d(double, double, double, double, double, double, int, int, int)'
|
108
111
|
try_extern 'void gr_verrorbars(int, double *, double *, double *, double *)'
|
@@ -160,6 +163,7 @@ module GR
|
|
160
163
|
try_extern 'void gr_resizeselection(int, double, double)'
|
161
164
|
try_extern 'void gr_inqbbox(double *, double *, double *, double *)'
|
162
165
|
try_extern 'double gr_precision(void)'
|
166
|
+
try_extern 'int gr_text_maxsize(void)'
|
163
167
|
try_extern 'void gr_setregenflags(int)'
|
164
168
|
try_extern 'int gr_inqregenflags(void)'
|
165
169
|
try_extern 'void gr_savestate(void)'
|
@@ -173,30 +177,30 @@ module GR
|
|
173
177
|
try_extern 'void gr_gradient(int, int, double *, double *, double *, double *, double *)'
|
174
178
|
try_extern 'void gr_quiver(int, int, double *, double *, double *, double *, int)'
|
175
179
|
try_extern 'void gr_interp2(int nx, int ny, const double *x, const double *y, const double *z,' \
|
176
|
-
'int nxq, int nyq, const double *xq, const double *yq, double *zq, int method, double extrapval)'
|
180
|
+
' int nxq, int nyq, const double *xq, const double *yq, double *zq, int method, double extrapval)'
|
177
181
|
try_extern 'const char *gr_version(void)'
|
178
182
|
try_extern 'void gr_shade(int, double *, double *, int, int, double *, int, int, int *)'
|
179
183
|
try_extern 'void gr_shadepoints(int, double *, double *, int, int, int)'
|
180
184
|
try_extern 'void gr_shadelines(int, double *, double *, int, int, int)'
|
181
185
|
try_extern 'void gr_panzoom(double, double, double, double, double *, double *, double *, double *)'
|
182
186
|
try_extern 'int gr_findboundary(int, double *, double *, double, double (*)(double, double), int, int *)'
|
183
|
-
try_extern 'void gr_setresamplemethod(unsigned int
|
184
|
-
try_extern 'void gr_inqresamplemethod(unsigned int *
|
187
|
+
try_extern 'void gr_setresamplemethod(unsigned int)'
|
188
|
+
try_extern 'void gr_inqresamplemethod(unsigned int *)'
|
185
189
|
try_extern 'void gr_path(int, double *, double *, const char *)'
|
186
190
|
try_extern 'void gr_setborderwidth(double)'
|
187
191
|
try_extern 'void gr_inqborderwidth(double *)'
|
188
192
|
try_extern 'void gr_setbordercolorind(int)'
|
189
193
|
try_extern 'void gr_inqbordercolorind(int *)'
|
190
194
|
try_extern 'void gr_selectclipxform(int)'
|
191
|
-
try_extern 'void gr_inqclipxform(int *)
|
195
|
+
try_extern 'void gr_inqclipxform(int *)'
|
192
196
|
try_extern 'void gr_setprojectiontype(int)'
|
193
197
|
try_extern 'void gr_inqprojectiontype(int *)'
|
194
198
|
try_extern 'void gr_setperspectiveprojection(double, double, double)'
|
195
199
|
try_extern 'void gr_inqperspectiveprojection(double *, double *, double *)'
|
196
|
-
try_extern 'void gr_settransformationparameters(double, double, double,
|
197
|
-
'double, double, double, double, double, double)'
|
198
|
-
try_extern 'void gr_inqtransformationparameters(double *, double *, double *,
|
199
|
-
'double *, double *, double *, double *, double *, double *)
|
200
|
+
try_extern 'void gr_settransformationparameters(double, double, double,' \
|
201
|
+
' double, double, double, double, double, double)'
|
202
|
+
try_extern 'void gr_inqtransformationparameters(double *, double *, double *,' \
|
203
|
+
' double *, double *, double *, double *, double *, double *)'
|
200
204
|
try_extern 'void gr_setorthographicprojection(double, double, double, double, double, double)'
|
201
205
|
try_extern 'void gr_inqorthographicprojection(double *, double *, double *, double *, double *, double *)'
|
202
206
|
try_extern 'void gr_camerainteraction(double, double, double, double)'
|
@@ -210,7 +214,7 @@ module GR
|
|
210
214
|
try_extern 'void gr_settextencoding(int)'
|
211
215
|
try_extern 'void gr_inqtextencoding(int *)'
|
212
216
|
try_extern 'void gr_loadfont(char *, int *)'
|
213
|
-
|
217
|
+
try_extern 'void gr_setcallback(char *(*)(const char *))'
|
214
218
|
try_extern 'void gr_setthreadnumber(int)'
|
215
219
|
try_extern 'void gr_setpicturesizeforvolume(int, int)'
|
216
220
|
try_extern 'void gr_setvolumebordercalculation(int)'
|
data/lib/gr.rb
CHANGED
@@ -268,12 +268,38 @@ module GR
|
|
268
268
|
#
|
269
269
|
# @!method text
|
270
270
|
|
271
|
+
# Draw a text at position `x`, `y` using the given options and current text
|
272
|
+
# attributes.
|
273
|
+
#
|
274
|
+
# @param x [Numeric] The X coordinate of the starting position of the text string
|
275
|
+
# @param y [Numeric] The Y coordinate of the starting position of the text string
|
276
|
+
# @param string [String] The text to be drawn
|
277
|
+
# @param opts [Integer] Bit mask including text options (GR_TEXT_USE_WC,
|
278
|
+
# GR_TEXT_ENABLE_INLINE_MATH)
|
279
|
+
#
|
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 cordinates, otherwise as
|
282
|
+
# normalized device coordinates. The string may contain new line characters
|
283
|
+
# and inline math expressions ($...$). The latter are only taken into account,
|
284
|
+
# if the GR_TEXT_ENABLE_INLINE_MATH option is set.
|
285
|
+
# The attributes that control the appearance of text are text font and
|
286
|
+
# precision, character expansion factor, character spacing, text color index,
|
287
|
+
# character height, character up vector, text path and text alignment.
|
288
|
+
#
|
289
|
+
# @!method textx
|
290
|
+
|
271
291
|
def inqtext(x, y, string)
|
272
292
|
inquiry [{ double: 4 }, { double: 4 }] do |tbx, tby|
|
273
293
|
super(x, y, string, tbx, tby)
|
274
294
|
end
|
275
295
|
end
|
276
296
|
|
297
|
+
def inqtextx(x, y, string, opts)
|
298
|
+
inquiry [{ double: 4 }, { double: 4 }] do |tbx, tby|
|
299
|
+
super(x, y, string, opts, tbx, tby)
|
300
|
+
end
|
301
|
+
end
|
302
|
+
|
277
303
|
# Allows you to specify a polygonal shape of an area to be filled.
|
278
304
|
#
|
279
305
|
# @param x [Array, NArray] A list containing the X coordinates
|
@@ -783,6 +809,12 @@ module GR
|
|
783
809
|
inquiry_int { |pt| super(pt) }
|
784
810
|
end
|
785
811
|
|
812
|
+
# @!method gr_setresizebehaviour
|
813
|
+
|
814
|
+
def inqresizebehaviour
|
815
|
+
inquiry_int { |pt| super(pt) }
|
816
|
+
end
|
817
|
+
|
786
818
|
# Redefine an existing color index representation by specifying an RGB color
|
787
819
|
# triplet.
|
788
820
|
#
|
@@ -1820,7 +1852,9 @@ module GR
|
|
1820
1852
|
end
|
1821
1853
|
|
1822
1854
|
# @return [Numeric]
|
1823
|
-
# @!method
|
1855
|
+
# @!method
|
1856
|
+
|
1857
|
+
# @!method text_maxsize
|
1824
1858
|
|
1825
1859
|
# @!method setregenflags
|
1826
1860
|
|
data/lib/gr3/ffi.rb
CHANGED
@@ -17,6 +17,8 @@ module GR3
|
|
17
17
|
|
18
18
|
extend GRCommons::TryExtern
|
19
19
|
|
20
|
+
typealias("GR3_MC_DTYPE", "unsigned short")
|
21
|
+
|
20
22
|
# https://github.com/sciapp/gr/blob/master/lib/gr3/gr3.h
|
21
23
|
# keep same order
|
22
24
|
try_extern 'int gr3_init(int *attrib_list)'
|
@@ -25,123 +27,123 @@ module GR3
|
|
25
27
|
try_extern 'int gr3_geterror(int clear, int *line, const char **file)'
|
26
28
|
try_extern 'const char *gr3_getrenderpathstring(void)'
|
27
29
|
try_extern 'const char *gr3_geterrorstring(int error)'
|
28
|
-
|
30
|
+
try_extern 'void gr3_setlogcallback(void (*gr3_log_func)(const char *log_message))'
|
29
31
|
try_extern 'int gr3_clear(void)'
|
30
32
|
try_extern 'void gr3_usecurrentframebuffer()'
|
31
33
|
try_extern 'void gr3_useframebuffer(unsigned int framebuffer)'
|
32
34
|
try_extern 'int gr3_setquality(int quality)'
|
33
35
|
try_extern 'int gr3_getimage(int width, int height, int use_alpha, char *pixels)'
|
34
36
|
try_extern 'int gr3_export(const char *filename, int width, int height)'
|
35
|
-
try_extern 'int gr3_drawimage(float xmin, float xmax, float ymin, float ymax,
|
36
|
-
|
37
|
-
try_extern 'int gr3_createmesh_nocopy(int *mesh, int n,
|
38
|
-
|
39
|
-
try_extern 'int gr3_createmesh(int *mesh, int n,
|
40
|
-
|
41
|
-
try_extern 'int gr3_createindexedmesh_nocopy(int *mesh, int number_of_vertices,
|
42
|
-
|
43
|
-
try_extern 'int gr3_createindexedmesh(int *mesh, int number_of_vertices,
|
44
|
-
|
45
|
-
|
46
|
-
try_extern 'void gr3_drawmesh(int mesh, int n,
|
47
|
-
|
48
|
-
|
37
|
+
try_extern 'int gr3_drawimage(float xmin, float xmax, float ymin, float ymax,' \
|
38
|
+
' int width, int height, int drawable_type)'
|
39
|
+
try_extern 'int gr3_createmesh_nocopy(int *mesh, int n,' \
|
40
|
+
' float *vertices, float *normals, float *colors)'
|
41
|
+
try_extern 'int gr3_createmesh(int *mesh, int n,' \
|
42
|
+
' const float *vertices, const float *normals, const float *colors)'
|
43
|
+
try_extern 'int gr3_createindexedmesh_nocopy(int *mesh, int number_of_vertices,' \
|
44
|
+
' float *vertices, float *normals, float *colors, int number_of_indices, int *indices)'
|
45
|
+
try_extern 'int gr3_createindexedmesh(int *mesh, int number_of_vertices,' \
|
46
|
+
' const float *vertices, const float *normals, const float *colors,' \
|
47
|
+
' int number_of_indices, const int *indices)'
|
48
|
+
try_extern 'void gr3_drawmesh(int mesh, int n,' \
|
49
|
+
' const float *positions, const float *directions, const float *ups,' \
|
50
|
+
' const float *colors, const float *scales)'
|
49
51
|
try_extern 'void gr3_deletemesh(int mesh)'
|
50
|
-
try_extern 'void gr3_cameralookat(float camera_x, float camera_y, float camera_z,
|
51
|
-
|
52
|
-
|
53
|
-
try_extern 'int gr3_setcameraprojectionparameters(float vertical_field_of_view,
|
54
|
-
|
52
|
+
try_extern 'void gr3_cameralookat(float camera_x, float camera_y, float camera_z,' \
|
53
|
+
' float center_x, float center_y, float center_z,' \
|
54
|
+
' float up_x, float up_y, float up_z)'
|
55
|
+
try_extern 'int gr3_setcameraprojectionparameters(float vertical_field_of_view,' \
|
56
|
+
' float zNear, float zFar)'
|
55
57
|
try_extern 'int gr3_getcameraprojectionparameters(float *vfov, float *znear, float *zfar)'
|
56
58
|
try_extern 'void gr3_setlightdirection(float x, float y, float z)'
|
57
59
|
try_extern 'void gr3_setbackgroundcolor(float red, float green, float blue, float alpha)'
|
58
60
|
try_extern 'int gr3_createheightmapmesh(const float *heightmap, int num_columns, int num_rows)'
|
59
|
-
try_extern 'void gr3_drawheightmap(const float *heightmap,
|
60
|
-
|
61
|
-
try_extern 'void gr3_drawconemesh(int n, const float *positions, const float *directions,
|
62
|
-
|
63
|
-
try_extern 'void gr3_drawcylindermesh(int n, const float *positions, const float *directions,
|
64
|
-
|
65
|
-
try_extern 'void gr3_drawspheremesh(int n, const float *positions,
|
66
|
-
|
67
|
-
try_extern 'void gr3_drawcubemesh(int n,
|
68
|
-
|
69
|
-
|
61
|
+
try_extern 'void gr3_drawheightmap(const float *heightmap,' \
|
62
|
+
' int num_columns, int num_rows, const float *positions, const float *scales)'
|
63
|
+
try_extern 'void gr3_drawconemesh(int n, const float *positions, const float *directions,' \
|
64
|
+
' const float *colors, const float *radii, const float *lengths)'
|
65
|
+
try_extern 'void gr3_drawcylindermesh(int n, const float *positions, const float *directions,' \
|
66
|
+
' const float *colors, const float *radii, const float *lengths)'
|
67
|
+
try_extern 'void gr3_drawspheremesh(int n, const float *positions,' \
|
68
|
+
' const float *colors, const float *radii)'
|
69
|
+
try_extern 'void gr3_drawcubemesh(int n,' \
|
70
|
+
' const float *positions, const float *directions, const float *ups,' \
|
71
|
+
' const float *colors, const float *scales)'
|
70
72
|
try_extern 'void gr3_setobjectid(int id)'
|
71
73
|
try_extern 'int gr3_selectid(int x, int y, int width, int height, int *selection_id)'
|
72
74
|
try_extern 'void gr3_getviewmatrix(float *m)'
|
73
75
|
try_extern 'void gr3_setviewmatrix(const float *m)'
|
74
76
|
try_extern 'int gr3_getprojectiontype(void)'
|
75
77
|
try_extern 'void gr3_setprojectiontype(int type)'
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
try_extern 'int gr3_createisosurfacemesh(int *mesh,
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
try_extern 'int gr3_createsurfacemesh(int *mesh, int nx, int ny,
|
93
|
-
|
94
|
-
try_extern 'int gr3_createsurface3dmesh(int *mesh, int ncols, int nrows,
|
95
|
-
|
96
|
-
try_extern 'void gr3_drawmesh_grlike(int mesh, int n,
|
97
|
-
|
98
|
-
|
78
|
+
try_extern 'unsigned int gr3_triangulate(const GR3_MC_DTYPE *data,' \
|
79
|
+
' GR3_MC_DTYPE isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
80
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
81
|
+
' double step_x, double step_y, double step_z, double offset_x, double offset_y, double offset_z,' \
|
82
|
+
' gr3_triangle_t **triangles_p)'
|
83
|
+
try_extern 'void gr3_triangulateindexed(const GR3_MC_DTYPE *data,' \
|
84
|
+
' GR3_MC_DTYPE isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
85
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
86
|
+
' double step_x, double step_y, double step_z, double offset_x, double offset_y, double offset_z,' \
|
87
|
+
' unsigned int *num_vertices, gr3_coord_t **vertices, gr3_coord_t **normals,' \
|
88
|
+
' unsigned int *num_indices, unsigned int **indices)'
|
89
|
+
try_extern 'int gr3_createisosurfacemesh(int *mesh, GR3_MC_DTYPE *data,' \
|
90
|
+
' GR3_MC_DTYPE isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
91
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
92
|
+
' double step_x, double step_y, double step_z,' \
|
93
|
+
' double offset_x, double offset_y, double offset_z)'
|
94
|
+
try_extern 'int gr3_createsurfacemesh(int *mesh, int nx, int ny,' \
|
95
|
+
' float *px, float *py, float *pz, int option)'
|
96
|
+
try_extern 'int gr3_createsurface3dmesh(int *mesh, int ncols, int nrows,' \
|
97
|
+
' float *px, float *py, float *pz)'
|
98
|
+
try_extern 'void gr3_drawmesh_grlike(int mesh, int n,' \
|
99
|
+
' const float *positions, const float *directions, const float *ups,' \
|
100
|
+
' const float *colors, const float *scales)'
|
99
101
|
try_extern 'void gr3_drawsurface(int mesh)'
|
100
102
|
try_extern 'void gr3_surface(int nx, int ny, float *px, float *py, float *pz, int option)'
|
101
|
-
try_extern 'int gr3_drawtubemesh(int n, float *points, float *colors, float *radii,
|
102
|
-
|
103
|
-
try_extern 'int gr3_createtubemesh(int *mesh, int n,
|
104
|
-
|
105
|
-
|
106
|
-
try_extern 'void gr3_drawspins(int n, const float *positions, const float *directions, const float *colors,
|
107
|
-
|
108
|
-
try_extern 'void gr3_drawmolecule(int n, const float *positions, const float *colors, const float *radii,
|
109
|
-
|
110
|
-
try_extern 'void gr3_createxslicemesh(int *mesh, const
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
try_extern 'void gr3_createyslicemesh(int *mesh, const
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
try_extern 'void gr3_createzslicemesh(int *mesh, const
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
try_extern 'void gr3_drawxslicemesh(const
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
try_extern 'void gr3_drawyslicemesh(const
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
try_extern 'void gr3_drawzslicemesh(const
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
try_extern 'void gr_volume(int nx, int ny, int nz, double *data,
|
142
|
-
|
103
|
+
try_extern 'int gr3_drawtubemesh(int n, float *points, float *colors, float *radii,' \
|
104
|
+
' int num_steps, int num_segments)'
|
105
|
+
try_extern 'int gr3_createtubemesh(int *mesh, int n,' \
|
106
|
+
' const float *points, const float *colors, const float *radii,' \
|
107
|
+
' int num_steps, int num_segments)'
|
108
|
+
try_extern 'void gr3_drawspins(int n, const float *positions, const float *directions, const float *colors,' \
|
109
|
+
' float cone_radius, float cylinder_radius, float cone_height, float cylinder_height)'
|
110
|
+
try_extern 'void gr3_drawmolecule(int n, const float *positions, const float *colors, const float *radii,' \
|
111
|
+
' float bond_radius, const float bond_color[3], float bond_delta)'
|
112
|
+
try_extern 'void gr3_createxslicemesh(int *mesh, const GR3_MC_DTYPE *data,' \
|
113
|
+
' unsigned int ix, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
114
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
115
|
+
' double step_x, double step_y, double step_z,' \
|
116
|
+
' double offset_x, double offset_y, double offset_z)'
|
117
|
+
try_extern 'void gr3_createyslicemesh(int *mesh, const GR3_MC_DTYPE *data,' \
|
118
|
+
' unsigned int iy, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
119
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
120
|
+
' double step_x, double step_y, double step_z,' \
|
121
|
+
' double offset_x, double offset_y, double offset_z)'
|
122
|
+
try_extern 'void gr3_createzslicemesh(int *mesh, const GR3_MC_DTYPE *data,' \
|
123
|
+
' unsigned int iz, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
124
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
125
|
+
' double step_x, double step_y, double step_z,' \
|
126
|
+
' double offset_x, double offset_y, double offset_z)'
|
127
|
+
try_extern 'void gr3_drawxslicemesh(const GR3_MC_DTYPE *data, unsigned int ix,' \
|
128
|
+
' unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
129
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
130
|
+
' double step_x, double step_y, double step_z,' \
|
131
|
+
' double offset_x, double offset_y, double offset_z)'
|
132
|
+
try_extern 'void gr3_drawyslicemesh(const GR3_MC_DTYPE *data, unsigned int iy,' \
|
133
|
+
' unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
134
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
135
|
+
' double step_x, double step_y, double step_z,' \
|
136
|
+
' double offset_x, double offset_y, double offset_z)'
|
137
|
+
try_extern 'void gr3_drawzslicemesh(const GR3_MC_DTYPE *data, unsigned int iz,' \
|
138
|
+
' unsigned int dim_x, unsigned int dim_y, unsigned int dim_z,' \
|
139
|
+
' unsigned int stride_x, unsigned int stride_y, unsigned int stride_z,' \
|
140
|
+
' double step_x, double step_y, double step_z,' \
|
141
|
+
' double offset_x, double offset_y, double offset_z)'
|
142
|
+
try_extern 'void gr3_drawtrianglesurface(int n, const float *triangles)'
|
143
|
+
try_extern 'void gr_volume(int nx, int ny, int nz, double *data,' \
|
144
|
+
' int algorithm, double *dmin_ptr, double *dmax_ptr)'
|
143
145
|
try_extern 'void gr3_setorthographicprojection' \
|
144
|
-
|
146
|
+
'(float left, float right, float bottom, float top, float znear, float zfar)'
|
145
147
|
try_extern 'void gr3_setsurfaceoption(int option)'
|
146
148
|
try_extern 'int gr3_getsurfaceoption(void)'
|
147
149
|
try_extern 'int gr3_getlightsources(int max_num_lights, float *positions, float *colors)'
|
data/lib/gr_commons/version.rb
CHANGED
data/lib/grm/ffi.rb
CHANGED
@@ -47,6 +47,7 @@ module GRM
|
|
47
47
|
typealias 'const_int', 'int' # FIXME
|
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)' # FIXME
|
50
|
+
try_extern 'int grm_is3d(const int x, const int y)'
|
50
51
|
try_extern 'grm_tooltip_info_t *grm_get_tooltip(const_int, const_int)' # FIXME
|
51
52
|
|
52
53
|
# https://github.com/sciapp/gr/blob/master/lib/grm/net.h
|
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.66.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fiddle
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: histogram
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: numo-narray
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
94
|
requirements:
|
109
95
|
- - ">="
|
110
96
|
- !ruby/object:Gem::Version
|
111
|
-
version: '2.
|
97
|
+
version: '2.6'
|
112
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
99
|
requirements:
|
114
100
|
- - ">="
|