ruby-gr 0.64.0.0 → 0.66.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89e87b16084dadf1b42355615e60e8b3537179eea0d2bab51a9b482abb060036
4
- data.tar.gz: a645e707451e939abe3d6706bcda2bc49544149c21fe0fb93785ae3162794958
3
+ metadata.gz: 8f62d57c43711e0e23533d38287699d89479a21071c362ff162f2106dfcc550e
4
+ data.tar.gz: 9be23f52f87aa7b61680142bc648049cbfa2c4b683bf082d47679daf430ff9dc
5
5
  SHA512:
6
- metadata.gz: bf43899a660104ac091218d43be18d74f94488f04f44056a8cb09c89ce793aefaa05070dde4bf129b4601f10071b4617bccbcf573818c6d531ed61c8c354c705
7
- data.tar.gz: 868a4a08896bce2ac780eeea5d1ebab82d56262dbc9407fb8eb1ad11bc13a71d18a6b291ac57abc3a78d021eb47b788da4d942df057a7071e191d5afaf588a71
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://rubydoc.info/gems/ruby-gr)
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://rubydoc.info/gems/ruby-gr) - Yard documents.
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 flag)'
184
- try_extern 'void gr_inqresamplemethod(unsigned int *flag)'
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
- # gr_setcallback(char *(*)(const char *));
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 precision
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
- # try_extern 'void gr3_setlogcallback(void (*gr3_log_func)(const char *log_message))'
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
- 'int width, int height, int drawable_type)'
37
- try_extern 'int gr3_createmesh_nocopy(int *mesh, int n, ' \
38
- 'float *vertices, float *normals, float *colors)'
39
- try_extern 'int gr3_createmesh(int *mesh, int n, ' \
40
- 'const float *vertices, const float *normals, const float *colors)'
41
- try_extern 'int gr3_createindexedmesh_nocopy(int *mesh, int number_of_vertices, ' \
42
- 'float *vertices, float *normals, float *colors, int number_of_indices, int *indices)'
43
- try_extern 'int gr3_createindexedmesh(int *mesh, int number_of_vertices, ' \
44
- 'const float *vertices, const float *normals, const float *colors, ' \
45
- 'int number_of_indices, const int *indices)'
46
- try_extern 'void gr3_drawmesh(int mesh, int n, ' \
47
- 'const float *positions, const float *directions, const float *ups, ' \
48
- 'const float *colors, const float *scales)'
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
- 'float center_x, float center_y, float center_z, ' \
52
- 'float up_x, float up_y, float up_z)'
53
- try_extern 'int gr3_setcameraprojectionparameters(float vertical_field_of_view, ' \
54
- 'float zNear, float zFar)'
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
- 'int num_columns, int num_rows, const float *positions, const float *scales)'
61
- try_extern 'void gr3_drawconemesh(int n, const float *positions, const float *directions, ' \
62
- 'const float *colors, const float *radii, const float *lengths)'
63
- try_extern 'void gr3_drawcylindermesh(int n, const float *positions, const float *directions, ' \
64
- 'const float *colors, const float *radii, const float *lengths)'
65
- try_extern 'void gr3_drawspheremesh(int n, const float *positions, ' \
66
- 'const float *colors, const float *radii)'
67
- try_extern 'void gr3_drawcubemesh(int n, ' \
68
- 'const float *positions, const float *directions, const float *ups, ' \
69
- 'const float *colors, const float *scales)'
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
- # try_extern 'unsigned int gr3_triangulate(const unsigned short *data, ' \
77
- # 'unsigned short isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
78
- # 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
79
- # 'double step_x, double step_y, double step_z, double offset_x, double offset_y, double offset_z, ' \
80
- # 'gr3_triangle_t **triangles_p)'
81
- # try_extern 'void gr3_triangulateindexed(const unsigned short *data, ' \
82
- # 'unsigned short isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
83
- # 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
84
- # 'double step_x, double step_y, double step_z, double offset_x, double offset_y, double offset_z, ' \
85
- # 'unsigned int *num_vertices, gr3_coord_t **vertices, gr3_coord_t **normals, ' \
86
- # 'unsigned int *num_indices, unsigned int **indices)'
87
- try_extern 'int gr3_createisosurfacemesh(int *mesh, unsigned short *data, ' \
88
- 'unsigned short isolevel, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
89
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
90
- 'double step_x, double step_y, double step_z, ' \
91
- 'double offset_x, double offset_y, double offset_z)'
92
- try_extern 'int gr3_createsurfacemesh(int *mesh, int nx, int ny, ' \
93
- 'float *px, float *py, float *pz, int option)'
94
- try_extern 'int gr3_createsurface3dmesh(int *mesh, int ncols, int nrows, ' \
95
- 'float *px, float *py, float *pz);'
96
- try_extern 'void gr3_drawmesh_grlike(int mesh, int n, ' \
97
- 'const float *positions, const float *directions, const float *ups, ' \
98
- 'const float *colors, const float *scales)'
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
- 'int num_steps, int num_segments)'
103
- try_extern 'int gr3_createtubemesh(int *mesh, int n, ' \
104
- 'const float *points, const float *colors, const float *radii, ' \
105
- 'int num_steps, int num_segments)'
106
- try_extern 'void gr3_drawspins(int n, const float *positions, const float *directions, const float *colors, ' \
107
- 'float cone_radius, float cylinder_radius, float cone_height, float cylinder_height)'
108
- try_extern 'void gr3_drawmolecule(int n, const float *positions, const float *colors, const float *radii, ' \
109
- 'float bond_radius, const float bond_color[3], float bond_delta)'
110
- try_extern 'void gr3_createxslicemesh(int *mesh, const unsigned short *data, ' \
111
- 'unsigned int ix, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
112
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
113
- 'double step_x, double step_y, double step_z, ' \
114
- 'double offset_x, double offset_y, double offset_z)'
115
- try_extern 'void gr3_createyslicemesh(int *mesh, const unsigned short *data, ' \
116
- 'unsigned int iy, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
117
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
118
- 'double step_x, double step_y, double step_z, ' \
119
- 'double offset_x, double offset_y, double offset_z)'
120
- try_extern 'void gr3_createzslicemesh(int *mesh, const unsigned short *data, ' \
121
- 'unsigned int iz, unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
122
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
123
- 'double step_x, double step_y, double step_z, ' \
124
- 'double offset_x, double offset_y, double offset_z)'
125
- try_extern 'void gr3_drawxslicemesh(const unsigned short *data, unsigned int ix,' \
126
- 'unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
127
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
128
- 'double step_x, double step_y, double step_z, ' \
129
- 'double offset_x, double offset_y, double offset_z)'
130
- try_extern 'void gr3_drawyslicemesh(const unsigned short *data, unsigned int iy, ' \
131
- 'unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
132
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
133
- 'double step_x, double step_y, double step_z, ' \
134
- 'double offset_x, double offset_y, double offset_z)'
135
- try_extern 'void gr3_drawzslicemesh(const unsigned short *data, unsigned int iz, ' \
136
- 'unsigned int dim_x, unsigned int dim_y, unsigned int dim_z, ' \
137
- 'unsigned int stride_x, unsigned int stride_y, unsigned int stride_z, ' \
138
- 'double step_x, double step_y, double step_z, ' \
139
- 'double offset_x, double offset_y, double offset_z)'
140
- # try_extern 'void gr3_drawtrianglesurface(int n, const float *triangles)'
141
- try_extern 'void gr_volume(int nx, int ny, int nz, double *data, ' \
142
- 'int algorithm, double *dmin_ptr, double *dmax_ptr)'
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
- '(float left, float right, float bottom, float top, float znear, float zfar)'
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)'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GRCommons
4
- VERSION = '0.64.0.0'
4
+ VERSION = '0.66.0.0'
5
5
  end
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.64.0.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-03-20 00:00:00.000000000 Z
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.5'
97
+ version: '2.6'
112
98
  required_rubygems_version: !ruby/object:Gem::Requirement
113
99
  requirements:
114
100
  - - ">="