Revision: 76006
http://sourceforge.net/p/brlcad/code/76006
Author: starseeker
Date: 2020-06-03 13:43:19 +0000 (Wed, 03 Jun 2020)
Log Message:
-----------
Placement isn't correct yet, but get icv data showing up in the MGED fb
Modified Paths:
--------------
brlcad/branches/dm-fb-merge/include/dm.h
brlcad/branches/dm-fb-merge/include/ged/framebuffer.h
brlcad/branches/dm-fb-merge/include/icv/io.h
brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c
brlcad/branches/dm-fb-merge/src/libged/CMakeLists.txt
brlcad/branches/dm-fb-merge/src/libged/icvfb.c
brlcad/branches/dm-fb-merge/src/libicv/bw.c
brlcad/branches/dm-fb-merge/src/libicv/encoding.c
brlcad/branches/dm-fb-merge/src/libicv/pix.c
brlcad/branches/dm-fb-merge/src/libicv/png.c
brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c
brlcad/branches/dm-fb-merge/src/mged/setup.c
Modified: brlcad/branches/dm-fb-merge/include/dm.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/dm.h 2020-06-02 20:11:44 UTC (rev
76005)
+++ brlcad/branches/dm-fb-merge/include/dm.h 2020-06-03 13:43:19 UTC (rev
76006)
@@ -31,6 +31,7 @@
#include "vmath.h"
#include "bu/vls.h"
#include "bn.h"
+#include "icv.h"
#include "raytrace.h"
#include "./dm/defines.h"
@@ -408,7 +409,7 @@
DM_EXPORT extern int fb_common_name_size(size_t *widthp, size_t *heightp,
const char *name);
DM_EXPORT extern int fb_write_fp(struct fb *ifp, FILE *fp, int req_width, int
req_height, int crunch, int inverse, struct bu_vls *result);
DM_EXPORT extern int fb_read_fd(struct fb *ifp, int fd, int file_width, int
file_height, int file_xoff, int file_yoff, int scr_width, int scr_height, int
scr_xoff, int scr_yoff, int fileinput, char *file_name, int one_line_only, int
multiple_lines, int autosize, int inverse, int clear, int zoom, struct bu_vls
*result);
-DM_EXPORT extern int fb_read_png(struct fb *ifp, FILE *fp, int file_xoff, int
file_yoff, int scr_xoff, int scr_yoff, int clear, int zoom, int inverse, int
one_line_only, int multiple_lines, int verbose, int header_only, double
def_screen_gamma, struct bu_vls *result);
+DM_EXPORT extern int fb_read_icv(struct fb *ifp, icv_image_t *img, int
file_xoff, int file_yoff, int scr_xoff, int scr_yoff, int clear, int zoom, int
inverse, int one_line_only, int multiple_lines, struct bu_vls *result);
DM_EXPORT extern void fb_set_interface(struct fb *ifp, const char
*interface_type);
DM_EXPORT extern void fb_set_name(struct fb *ifp, const char *name);
Modified: brlcad/branches/dm-fb-merge/include/ged/framebuffer.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/ged/framebuffer.h 2020-06-02
20:11:44 UTC (rev 76005)
+++ brlcad/branches/dm-fb-merge/include/ged/framebuffer.h 2020-06-03
13:43:19 UTC (rev 76006)
@@ -49,12 +49,13 @@
*/
GED_EXPORT extern int ged_pix2fb(struct ged *gedp, int argc, const char
*argv[]);
+#if 0
/**
* Png2fb reads a png file into a framebuffer.
*/
GED_EXPORT extern int ged_png2fb(struct ged *gedp, int argc, const char
*argv[]);
+#endif
-
GED_EXPORT extern int ged_icv2fb(struct ged *gedp, int argc, const char
*argv[]);
__END_DECLS
Modified: brlcad/branches/dm-fb-merge/include/icv/io.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/icv/io.h 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/include/icv/io.h 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -146,6 +146,18 @@
*/
ICV_EXPORT int icv_writepixel(icv_image_t *bif, size_t x, size_t y, double
*data);
+/**
+ * Converts double data of icv_image to unsigned char data.
+ * This function also does gamma correction using the gamma_corr
+ * parameter of the image structure.
+ *
+ * Gamma correction prevents bad color aliasing.
+ *
+ * @param bif ICV struct where data is to be read from
+ * @return array of unsigned char converted data, or NULL on failure
+ */
+ICV_EXPORT unsigned char *icv_data2uchar(const icv_image_t *bif);
+
/** @} */
__END_DECLS
Modified: brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt 2020-06-02
20:11:44 UTC (rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt 2020-06-03
13:43:19 UTC (rev 76006)
@@ -4,6 +4,7 @@
${BRLCAD_SOURCE_DIR}/include
${BU_INCLUDE_DIRS}
${BN_INCLUDE_DIRS}
+ ${ICV_INCLUDE_DIRS}
${RT_INCLUDE_DIRS}
${X11_INCLUDE_DIR}
${PNG_INCLUDE_DIRS}
@@ -79,7 +80,7 @@
)
set_property(SOURCE dm_obj.c APPEND PROPERTY COMPILE_DEFINITIONS
FB_USE_INTERNAL_API)
set_property(SOURCE dm_init.cpp APPEND PROPERTY COMPILE_DEFINITIONS
"DM_PLUGIN_SUFFIX=\"${CMAKE_SHARED_LIBRARY_SUFFIX}\"")
-BRLCAD_ADDLIB(libdm "${LIBDM_SRCS}"
"librt;libbu;libpkg;${OPENGL_LIBRARIES};${PNG_LIBRARIES}")
+BRLCAD_ADDLIB(libdm "${LIBDM_SRCS}"
"librt;libicv;libbu;libpkg;${OPENGL_LIBRARIES};${PNG_LIBRARIES}")
set_target_properties(libdm PROPERTIES VERSION 20.0.1 SOVERSION 20)
#if(BRLCAD_ENABLE_OSG)
Modified: brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -33,7 +33,6 @@
#include <stdlib.h>
#include <string.h>
-#include "png.h"
#ifdef HAVE_STRINGS_H
# include <strings.h>
@@ -51,6 +50,7 @@
#include "vmath.h"
#include "./include/private.h"
+#include "icv.h"
#include "dm.h"
struct fb *fb_get()
@@ -637,23 +637,11 @@
}
-static png_color_16 def_backgrd={ 0, 0, 0, 0, 0 };
-
int
-fb_read_png(struct fb *ifp, FILE *fp_in, int file_xoff, int file_yoff, int
scr_xoff, int scr_yoff, int clear, int zoom, int inverse, int one_line_only,
int multiple_lines, int verbose, int header_only, double def_screen_gamma,
struct bu_vls *result)
+fb_read_icv(struct fb *ifp, icv_image_t *img, int file_xoff, int file_yoff,
int scr_xoff, int scr_yoff, int clear, int zoom, int inverse, int
one_line_only, int multiple_lines, struct bu_vls *result)
{
int y;
- int i;
int xout, yout, m, xstart;
- png_structp png_p;
- png_infop info_p;
- char header[8];
- int bit_depth;
- int color_type;
- png_color_16p input_backgrd;
- double gammaval=1.0;
- int file_width, file_height;
- unsigned char *image;
unsigned char **scanline; /* 1 scanline pixel buffer */
int scanbytes; /* # of bytes of scanline */
int scanpix; /* # of pixels of scanline */
@@ -660,126 +648,13 @@
int scr_width;
int scr_height;
- if (fread(header, 8, 1, fp_in) != 1) {
- bu_vls_printf(result, "png-fb: ERROR: Failed while reading file
header!!!\n");
- return BRLCAD_ERROR;
+ unsigned char *data = icv_data2uchar(img);
+ /* create rows array */
+ scanline = (unsigned char **)bu_calloc(img->height, sizeof(unsigned char
*), "scanline");
+ for (unsigned int i=0; i<img->height; i++) {
+ scanline[i] = data+(i*img->width*3);
}
- if (png_sig_cmp((png_bytep)header, 0, 8)) {
- bu_vls_printf(result, "png-fb: This is not a PNG file!!!\n");
- return BRLCAD_ERROR;
- }
-
- png_p = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
- if (!png_p) {
- bu_vls_printf(result, "png-fb: png_create_read_struct() failed!!\n");
- return BRLCAD_ERROR;
- }
-
- info_p = png_create_info_struct(png_p);
- if (!info_p) {
- bu_vls_printf(result, "png-fb: png_create_info_struct() failed!!\n");
- return BRLCAD_ERROR;
- }
-
- png_init_io(png_p, fp_in);
-
- png_set_sig_bytes(png_p, 8);
-
- png_read_info(png_p, info_p);
-
- color_type = png_get_color_type(png_p, info_p);
-
- png_set_expand(png_p);
- bit_depth = png_get_bit_depth(png_p, info_p);
- if (bit_depth == 16)
- png_set_strip_16(png_p);
-
- if (color_type == PNG_COLOR_TYPE_GRAY ||
- color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
- png_set_gray_to_rgb(png_p);
-
- file_width = png_get_image_width(png_p, info_p);
- file_height = png_get_image_height(png_p, info_p);
-
- if (verbose) {
- switch (color_type) {
- case PNG_COLOR_TYPE_GRAY:
- bu_vls_printf(result, "color type: b/w (bit depth=%d)\n",
bit_depth);
- break;
- case PNG_COLOR_TYPE_GRAY_ALPHA:
- bu_vls_printf(result, "color type: b/w with alpha channel (bit
depth=%d)\n", bit_depth);
- break;
- case PNG_COLOR_TYPE_PALETTE:
- bu_vls_printf(result, "color type: color palette (bit
depth=%d)\n", bit_depth);
- break;
- case PNG_COLOR_TYPE_RGB:
- bu_vls_printf(result, "color type: RGB (bit depth=%d)\n",
bit_depth);
- break;
- case PNG_COLOR_TYPE_RGB_ALPHA:
- bu_vls_printf(result, "color type: RGB with alpha channel (bit
depth=%d)\n", bit_depth);
- break;
- default:
- bu_vls_printf(result, "Unrecognized color type (bit
depth=%d)\n", bit_depth);
- break;
- }
- bu_vls_printf(result, "Image size: %d X %d\n", file_width, file_height);
- }
-
- if (header_only) {
- bu_vls_printf(result, "WIDTH=%d HEIGHT=%d\n", file_width, file_height);
- return BRLCAD_OK;
- }
-
- if (png_get_bKGD(png_p, info_p, &input_backgrd)) {
- if (verbose && (color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
- color_type == PNG_COLOR_TYPE_RGB_ALPHA))
- bu_vls_printf(result, "background color: %d %d %d\n",
input_backgrd->red, input_backgrd->green, input_backgrd->blue);
- png_set_background(png_p, input_backgrd, PNG_BACKGROUND_GAMMA_FILE, 1,
1.0);
- } else
- png_set_background(png_p, &def_backgrd, PNG_BACKGROUND_GAMMA_FILE, 0,
1.0);
-
- if (!png_get_gAMA(png_p, info_p, &gammaval))
- gammaval = 0.5;
- png_set_gamma(png_p, def_screen_gamma, gammaval);
- if (verbose)
- bu_vls_printf(result, "file gamma: %f, additional screen gamma: %f\n",
- gammaval, def_screen_gamma);
-
- if (verbose) {
- if (png_get_interlace_type(png_p, info_p) == PNG_INTERLACE_NONE)
- bu_vls_printf(result, "not interlaced\n");
- else
- bu_vls_printf(result, "interlaced\n");
- }
-
- png_read_update_info(png_p, info_p);
-
- /* allocate memory for image */
- image = (unsigned char *)bu_calloc(1, file_width*file_height*3, "image");
-
- /* create rows array */
- scanline = (unsigned char **)bu_calloc(file_height, sizeof(unsigned char
*), "scanline");
- for (i=0; i<file_height; i++)
- scanline[i] = image+(i*file_width*3);
-
- png_read_image(png_p, scanline);
-
- if (verbose) {
- png_timep mod_time;
- png_textp text;
- int num_text;
-
- png_read_end(png_p, info_p);
- if (png_get_text(png_p, info_p, &text, &num_text)) {
- for (i=0; i<num_text; i++)
- bu_vls_printf(result, "%s: %s\n", text[i].key, text[i].text);
- }
- if (png_get_tIME(png_p, info_p, &mod_time))
- bu_vls_printf(result, "Last modified: %d/%d/%d %d:%d:%d\n",
mod_time->month, mod_time->day,
- mod_time->year, mod_time->hour, mod_time->minute,
mod_time->second);
- }
-
/* Get the screen size we were given */
scr_width = fb_getwidth(ifp);
scr_height = fb_getheight(ifp);
@@ -794,11 +669,11 @@
}
if (xout < 0) {
- bu_free(image, "image");
+ bu_free(data, "unsigned char image data");
bu_free(scanline, "scanline");
return BRLCAD_OK;
}
- V_MIN(xout, (file_width-file_xoff));
+ V_MIN(xout, (((int)img->width)-file_xoff));
scanpix = xout; /* # pixels on scanline */
if (inverse)
@@ -806,16 +681,16 @@
yout = scr_height - scr_yoff;
if (yout < 0) {
- bu_free(image, "image");
+ bu_free(data, "unsigned char image data");
bu_free(scanline, "scanline");
return BRLCAD_OK;
}
- V_MIN(yout, (file_height-file_yoff));
+ V_MIN(yout, (((int)img->height)-file_yoff));
/* Only in the simplest case use multi-line writes */
if (!one_line_only && multiple_lines > 0 && !inverse && !zoom &&
- xout == file_width && file_xoff == 0 &&
- file_width <= scr_width) {
+ xout == (int)img->width && file_xoff == 0 &&
+ (int)img->width <= scr_width) {
scanpix *= multiple_lines;
}
@@ -843,7 +718,7 @@
if (multiple_lines) {
/* Bottom to top with multi-line reads & writes */
- int height=file_height;
+ int height=img->height;
for (y = scr_yoff; y < scr_yoff + yout; y += multiple_lines) {
/* Don't over-write */
if (y + height > scr_yoff + yout)
@@ -850,18 +725,18 @@
height = scr_yoff + yout - y;
if (height <= 0) break;
m = fb_writerect(ifp, scr_xoff, y,
- file_width, height,
+ img->width, height,
scanline[file_yoff++]);
- if (m != file_width*height) {
+ if (m != (int)img->width*height) {
bu_vls_printf(result,
"png-fb: fb_writerect(x=%d, y=%d, w=%d, h=%d)
failure, ret=%d, s/b=%d\n",
scr_xoff, y,
- file_width, height, m, scanbytes);
+ (int)img->width, height, m, scanbytes);
}
}
} else if (!inverse) {
/* Normal way -- bottom to top */
- int line=file_height-file_yoff-1;
+ int line=img->height-file_yoff-1;
for (y = scr_yoff; y < scr_yoff + yout; y++) {
m = fb_write(ifp, xstart, y, scanline[line--]+(3*file_xoff), xout);
if (m != xout) {
@@ -873,7 +748,7 @@
}
} else {
/* Inverse -- top to bottom */
- int line=file_height-file_yoff-1;
+ int line=img->height-file_yoff-1;
for (y = scr_height-1-scr_yoff; y >= scr_height-scr_yoff-yout; y--) {
m = fb_write(ifp, xstart, y, scanline[line--]+(3*file_xoff), xout);
if (m != xout) {
@@ -885,7 +760,7 @@
}
}
- bu_free(image, "image");
+ bu_free(data, "unsigned char image data");
bu_free(scanline, "scanline");
return BRLCAD_OK;
}
Modified: brlcad/branches/dm-fb-merge/src/libged/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libged/CMakeLists.txt 2020-06-02
20:11:44 UTC (rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libged/CMakeLists.txt 2020-06-03
13:43:19 UTC (rev 76006)
@@ -245,7 +245,6 @@
pmat.c
pmodel2view.c
png.c
- png2fb.c
pnts_util.c
pnts.cpp
polyclip.cpp
Modified: brlcad/branches/dm-fb-merge/src/libged/icvfb.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libged/icvfb.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libged/icvfb.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -157,8 +157,7 @@
bu_vls_printf(gedp->ged_result_str, ": reading from stdin, but no
format specified");
return GED_ERROR;
}
- file_name = "-";
- setmode(fileno(stdin), O_BINARY);
+ file_name = NULL;
} else {
if (argc > 1) {
@@ -203,26 +202,31 @@
height = (int)lheight;
}
}
+ }
- icv_image_t *img = icv_read(file_name, type, width, height);
+ icv_image_t *img = icv_read(file_name, type, width, height);
- if (!img) {
+ if (!img) {
+ if (!argc) {
+ bu_vls_printf(gedp->ged_result_str, ": icv_read failed to read
from stdin.\n");
+ } else {
bu_vls_printf(gedp->ged_result_str, ": icv_read failed to read
%s.\n", file_name);
- return GED_ERROR;
}
+ return GED_ERROR;
}
-#if 0
- ret = fb_read_png(fbp, fp_in,
+ ret = fb_read_icv(fbp, img,
file_xoff, file_yoff,
scr_xoff, scr_yoff,
clear, zoom, inverse,
one_line_only, multiple_lines,
- verbose, header_only,
- def_screen_gamma,
gedp->ged_result_str);
-#endif
+
+ (void)dm_draw_begin(dmp);
+ fb_refresh(fbp, 0, 0, fb_getwidth(fbp), fb_getheight(fbp));
+ (void)dm_draw_end(dmp);
+
return ret;
}
Modified: brlcad/branches/dm-fb-merge/src/libicv/bw.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libicv/bw.c 2020-06-02 20:11:44 UTC (rev
76005)
+++ brlcad/branches/dm-fb-merge/src/libicv/bw.c 2020-06-03 13:43:19 UTC (rev
76006)
@@ -29,7 +29,6 @@
/* defined in encoding.c */
extern double *uchar2double(unsigned char *data, size_t size);
-extern unsigned char *data2uchar(const icv_image_t *bif);
int
bw_write(icv_image_t *bif, const char *filename)
@@ -45,7 +44,7 @@
bu_log("bw_write : Color Space conflict");
return -1;
}
- data = data2uchar(bif);
+ data = icv_data2uchar(bif);
size = bif->height*bif->width;
if (filename == NULL) {
Modified: brlcad/branches/dm-fb-merge/src/libicv/encoding.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libicv/encoding.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libicv/encoding.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -65,27 +65,26 @@
}
-/**
- * Converts double data of icv_image to unsigned char data.
- * This function also does gamma correction using the gamma_corr
- * parameter of the image structure.
- *
- * This is mainly used for saving pix, bw and ppm type images.
- * Gamma correction prevents bad color aliasing.
- *
- */
unsigned char *
-data2uchar(const icv_image_t *bif)
+icv_data2uchar(const icv_image_t *bif)
{
size_t size;
unsigned char *uchar_data, *char_p;
double *double_p;
+ if (!bif) {
+ return NULL;
+ }
+
ICV_IMAGE_VAL_PTR(bif);
size = bif->height*bif->width*bif->channels;
char_p = uchar_data = (unsigned char *) bu_malloc((size_t)size,
"data2uchar : unsigned char data");
+ if (!char_p) {
+ return NULL;
+ }
+
double_p = bif->data;
if (ZERO(bif->gamma_corr)) {
Modified: brlcad/branches/dm-fb-merge/src/libicv/pix.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libicv/pix.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libicv/pix.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -29,7 +29,6 @@
/* defined in encoding.c */
extern double *uchar2double(unsigned char *data, size_t size);
-extern unsigned char *data2uchar(const icv_image_t *bif);
int
pix_write(icv_image_t *bif, const char *filename)
@@ -52,7 +51,7 @@
return -1;
}
- data = data2uchar(bif);
+ data = icv_data2uchar(bif);
size = (size_t) bif->width*bif->height*3;
ret = fwrite(data, 1, size, fp);
fclose(fp);
Modified: brlcad/branches/dm-fb-merge/src/libicv/png.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libicv/png.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libicv/png.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -34,7 +34,6 @@
/* defined in encoding.c */
extern double *uchar2double(unsigned char *data, size_t size);
-extern unsigned char *data2uchar(const icv_image_t *bif);
int
png_write(icv_image_t *bif, const char *filename)
@@ -61,7 +60,7 @@
return 0;
}
- data = data2uchar(bif);
+ data = icv_data2uchar(bif);
png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if (UNLIKELY(png_ptr == NULL)) {
Modified: brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c 2020-06-02
20:11:44 UTC (rev 76005)
+++ brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c 2020-06-03
13:43:19 UTC (rev 76006)
@@ -1323,7 +1323,7 @@
{"pix", "file", TO_UNLIMITED, to_pix, GED_FUNC_PTR_NULL},
{"png", "file", TO_UNLIMITED, to_png, GED_FUNC_PTR_NULL},
#endif
- {"png2fb", "[options] [file.png]", TO_UNLIMITED, to_view_func,
ged_png2fb},
+ {"icv2fb", "[options] [file.png]", TO_UNLIMITED, to_view_func,
ged_icv2fb},
{"pngwf", "[options] file.png", 16, to_view_func, ged_png},
{"poly_circ_mode", "x y", TO_UNLIMITED, to_poly_circ_mode,
GED_FUNC_PTR_NULL},
{"poly_cont_build", "x y", TO_UNLIMITED, to_poly_cont_build,
GED_FUNC_PTR_NULL},
Modified: brlcad/branches/dm-fb-merge/src/mged/setup.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/mged/setup.c 2020-06-02 20:11:44 UTC
(rev 76005)
+++ brlcad/branches/dm-fb-merge/src/mged/setup.c 2020-06-03 13:43:19 UTC
(rev 76006)
@@ -263,7 +263,7 @@
{"pix2fb", cmd_ged_dm_wrapper, ged_pix2fb},
{"plot", cmd_ged_plain_wrapper, ged_plot},
{"png", cmd_ged_plain_wrapper, ged_png},
- {"png2fb", cmd_ged_dm_wrapper, ged_png2fb},
+ {"icv2fb", cmd_ged_dm_wrapper, ged_icv2fb},
{"pnts", cmd_ged_plain_wrapper, ged_pnts},
{"prcolor", cmd_ged_plain_wrapper, ged_prcolor},
{"prefix", cmd_ged_plain_wrapper, ged_prefix},
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits