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 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
  - - ">="