Revision: 77839
http://sourceforge.net/p/brlcad/code/77839
Author: brlcad
Date: 2020-12-01 09:21:36 +0000 (Tue, 01 Dec 2020)
Log Message:
-----------
rename SIMPLE to LIST. adjust padding to be more minimal. document some
examples.
Modified Paths:
--------------
brlcad/trunk/include/bu/tbl.h
brlcad/trunk/src/libbu/tbl.c
Modified: brlcad/trunk/include/bu/tbl.h
===================================================================
--- brlcad/trunk/include/bu/tbl.h 2020-12-01 02:10:26 UTC (rev 77838)
+++ brlcad/trunk/include/bu/tbl.h 2020-12-01 09:21:36 UTC (rev 77839)
@@ -39,49 +39,73 @@
/** @file bu/tbl.h */
/**
- * this is pulled from num.c where the guts to the table printer
- * currently resides, moved here for easy reference.
- *
+ * Example 1:
@code
- double vals[16] = {-1.123123123123, 0, 0, 1.0/0.0, 0, 123, 0, 0, 0, -2345,
123123.123123123123, 0, 123123123.123123123, 21, 1.0/0.0, 1};
-
-
- bu_num_print(vals, 16, 4, "my matrix\n[\n", "\t[", NULL, ", ", "]\n",
"]\n]\n");
-
-------------------------------------------------------------------------------
my matrix
[
- [-1.1231231231229999, 0, 0, inf]
- [ 0, 123, 0, 0]
- [ 0, -2345, 123123.12312312312, 0]
- [ 123123123.12312312, 21, inf, 1]
+ [ -1.1231231231229999, 0, 0, inf ]
+ [ 0, 123, 0, 0 ]
+ [ 0, -2345, 123123.12312312312, 0 ]
+ [ 123123123.12312312, 21, inf, 1 ]
]
+ @endcode
+ *
+ * generated from this code:
+ *
+ @code
+ double vals[16] = {-1.123123123123, 0, 0, 1.0/0.0, 0, 123, 0, 0, 0, -2345,
123123.123123123123, 0, 123123123.123123123, 21, 1.0/0.0, 1};
- bu_num_print(vals+5, 3, 3, "POINT { ", NULL, NULL, " ", NULL, " }\n");
- ---------------------------------------------------------------------
-POINT { 123 0 0 }
+ struct bu_tbl *t = bu_tbl_create();
- bu_num_print(vals, 16, 4, "MATRIX [", " [", NULL, ", ", "]\n", "] ]\n");
- -----------------------------------------------------------------------
-MATRIX [ [-1.1231231231229999, 0, 0, inf]
- [ 0, 123, 0, 0]
- [ 0, -2345, 123123.12312312312, 0]
- [ 123123123.12312312, 21, inf, 1] ]
+ bu_tbl_style(t, BU_TBL_STYLE_NONE);
+ bu_tbl_printf(t, "my matrix");
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_LEFT);
+ bu_tbl_printf(t, "[");
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_RIGHT);
+ bu_tbl_printf(t, "[|%.17g,|%.17g,|%.17g,|%.17g|]", vals[0], vals[1], vals[2],
vals[3]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_RIGHT);
+ bu_tbl_printf(t, "[|%.17g,|%.17g,|%.17g,|%.17g|]", vals[4], vals[5], vals[6],
vals[7]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_RIGHT);
+ bu_tbl_printf(t, "[|%.17g,|%.17g,|%.17g,|%.17g|]", vals[8], vals[9],
vals[10], vals[11]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_RIGHT);
+ bu_tbl_printf(t, "[|%.17g,|%.17g,|%.17g,|%.17g|]", vals[12], vals[13],
vals[14], vals[15]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_style(t, BU_TBL_ROW_ALIGN_LEFT);
+ bu_tbl_printf(t, "]");
- bu_num_print(vals, 16, 4, NULL, NULL, NULL, " ", " ", "\n");
- --------------------------------------------------------------
--1.1231231231229999 0 0 inf 0 123 0 0 0 -2345 123123.12312312312 0
123123123.12312312 21 inf 1
-
- bu_num_print(vals, 4, 4, NULL, NULL, NULL, NULL, NULL, NULL);
- ------------------------------------------------------------
--1.1231231231229999 0 0 inf
-
- bu_num_print(vals, 16, 4, NULL, NULL, "%017.2lf", " ", "\n", "\n");
- ------------------------------------------------------------------
+ bu_tbl_destroy(t);
+ @endcode
+ *
+ * Example 2:
+ @code
-0000000000001.12 00000000000000.00 00000000000000.00 inf
00000000000000.00 00000000000123.00 00000000000000.00 00000000000000.00
00000000000000.00 -0000000002345.00 00000000123123.12 00000000000000.00
00000123123123.12 00000000000021.00 inf 00000000000001.00
+ @endcode
+ *
+ *
+ *
+ @code
+ double vals[16] = {-1.123123123123, 0, 0, 1.0/0.0, 0, 123, 0, 0, 0, -2345,
123123.123123123123, 0, 123123123.123123123, 21, 1.0/0.0, 1};
+ struct bu_tbl *t = bu_tbl_create();
+
+ bu_tbl_style(t, BU_TBL_STYLE_LIST);
+ bu_tbl_printf(t, "%017.2lf|%017.2lf|%017.2lf|%017.2lf", vals[0], vals[1],
vals[2], vals[3]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_printf(t, "%017.2lf|%017.2lf|%017.2lf|%017.2lf", vals[4], vals[5],
vals[6], vals[7]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_printf(t, "%017.2lf|%017.2lf|%017.2lf|%017.2lf", vals[8], vals[9],
vals[10], vals[11]);
+ bu_tbl_style(t, BU_TBL_ROW_END);
+ bu_tbl_printf(t, "%017.2lf|%017.2lf|%017.2lf|%017.2lf", vals[12], vals[13],
vals[14], vals[15]);
+
+ bu_tbl_destroy(t);
@endcode
*
*/
@@ -116,11 +140,21 @@
bu_tbl_clear(struct bu_tbl *);
+/**
+ * Table styles:
+ *
+ * NONE 1 ------ --- +-------+---+ ╭────────┬───╮ ╔════════╦═══╗
+ * 2 3 LIST 1 | BASIC | 1 | │ SINGLE │ 1 │ ║ DOUBLE ║ 1 ║
+ * 4 5 ------ --- +-------+---+ ├────────┼───┤ ╠════════╬═══╣
+ * 2 3 | 2 | 3 | │ 2 │ 3 │ ║ 2 ║ 3 ║
+ * 4 5 | 4 | 5 | │ 4 │ 5 │ ║ 4 ║ 5 ║
+ * +-------+---+ ╰────────┴───╯ ╚════════╩═══╝
+ */
enum bu_tbl_style {
/* table border style */
BU_TBL_STYLE_NONE,
+ BU_TBL_STYLE_LIST,
BU_TBL_STYLE_BASIC,
- BU_TBL_STYLE_SIMPLE,
BU_TBL_STYLE_SINGLE,
BU_TBL_STYLE_DOUBLE,
@@ -156,17 +190,17 @@
/**
- * set cell position of the current table insertion point.
+ * get cell position for the current table insertion point.
*/
BU_EXPORT extern struct bu_tbl *
-bu_tbl_go_to(struct bu_tbl *, size_t row, size_t col);
+bu_tbl_is_at(struct bu_tbl *, size_t *row, size_t *col);
/**
- * get cell position for the current table insertion point.
+ * set cell position of the current table insertion point.
*/
BU_EXPORT extern struct bu_tbl *
-bu_tbl_is_at(struct bu_tbl *, size_t *row, size_t *col);
+bu_tbl_go_to(struct bu_tbl *, size_t row, size_t col);
/**
Modified: brlcad/trunk/src/libbu/tbl.c
===================================================================
--- brlcad/trunk/src/libbu/tbl.c 2020-12-01 02:10:26 UTC (rev 77838)
+++ brlcad/trunk/src/libbu/tbl.c 2020-12-01 09:21:36 UTC (rev 77839)
@@ -85,13 +85,17 @@
switch (style) {
case BU_TBL_STYLE_NONE:
ft_set_border_style(tbl->t, FT_EMPTY_STYLE);
+ ft_set_cell_prop(tbl->t, FT_ANY_ROW, FT_ANY_COLUMN,
FT_CPROP_LEFT_PADDING, 0);
+ ft_set_cell_prop(tbl->t, FT_ANY_ROW, FT_ANY_COLUMN,
FT_CPROP_RIGHT_PADDING, 1);
break;
+ case BU_TBL_STYLE_LIST:
+ ft_set_border_style(tbl->t, FT_SIMPLE_STYLE);
+ ft_set_cell_prop(tbl->t, FT_ANY_ROW, FT_ANY_COLUMN,
FT_CPROP_LEFT_PADDING, 0);
+ ft_set_cell_prop(tbl->t, FT_ANY_ROW, FT_ANY_COLUMN,
FT_CPROP_RIGHT_PADDING, 0);
+ break;
case BU_TBL_STYLE_BASIC:
ft_set_border_style(tbl->t, FT_BASIC_STYLE);
break;
- case BU_TBL_STYLE_SIMPLE:
- ft_set_border_style(tbl->t, FT_SIMPLE_STYLE);
- break;
case BU_TBL_STYLE_SINGLE:
ft_set_border_style(tbl->t, FT_SOLID_ROUND_STYLE);
break;
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