The surface edition extension let you model a surface by grabbing its mesh points with the mouse or trackpad.
Z values of the surface are synchronized with a table.
Table cells can be modified to finely edit surface shape.
Usage
Surface selection
+
=
+
+
=
+
=
Surface edition
+
+
=
+
=
+
=
scroll
Table edition
Top slider changes column width
Code
public void makeUI(MapData data, final float[] zticks, final float zmin, final float zmax) {
// chart
chart = InteractiveChartComponentFactory.chart(Quality.Intermediate, "awt");
chart.openPrimarySurface(data, zmin, zmax, zticks);
chart.getView().setBackgroundColor(Color.BLACK);
chart.getAxeLayout().setMainColor(Color.WHITE);
chart.getMouseController().setTooltipOn(true);
chart.getMouseController().setSelectionMode(SelectionMode.NORMAL);
chart.getMouseController().setUseShiftToMakeRectangle(true);
// table
table = new SurfEditTable();
table.setDefaultRenderer(Object.class, new SurfEditTableRenderer(chart.getPrimarySurface(), layout));
table.setModel(new SurfEditTableModel(data, layout));
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scroll = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setRowHeaderView(makeTableHeaders(layout));
// table column resize
int value = 60;
int minScrollWidth = 15;
int maxScrollWidth = 150;
columnSizeSlider = ColumnSlider.build(table, value, minScrollWidth, maxScrollWidth);
// html usage
htmlPane = HTMLViewer.build(html(), css());
makeLayout();
SurfEditTableSync sync = null;
if (sync != null)
sync.unwire(); // don't forget, if you hold a sync
sync = SurfEditTableSync.wire(chart, table);
}
public void makeLayout() {
// Excel-like table with column width slider
JPanel tablePanel = new JPanel();
String linesP = "[20][300px, grow]";
String columnsP = "[600px, grow]";
tablePanel.setLayout(new MigLayout("insets 0", columnsP, linesP));
tablePanel.add(columnSizeSlider, "cell 0 0, growx"); // column slider
tablePanel.add(scroll, "cell 0 1, grow");
// Bi-Panel layout : table and chart
String lines = "[600px,grow]";
String columns = "[600px,grow][600px,grow]";
setLayout(new MigLayout("", columns, lines));
add(tablePanel, "cell 0 0, grow");
add((java.awt.Component) chart.getCanvas(), "cell 1 0, grow");
((java.awt.Component) chart.getCanvas()).setMinimumSize(new Dimension(0,0));
}
Purchase
Version Lite
Version Full
Package
Code examples
SDK Binaries
Documentation
Package
Code examples
SDK Sources
SDK Binaries
Documentation
Licence 1 (SDK binaries)
Freely distribute SurfEdit SDK binaries inside your product without royaltees
Licence 2 (SDK binaries and sources)
Freely distribute SurfEdit SDK binaries inside your product without royaltees
Lifetime access to SurfEdit SDK source code
1 years access to source code updates
Customize SDK for your needs
Can not distribute source code of SDK to any party, whatever your enclosing
software licence or commercial conditions. However, in case you have to distribute source code
of the API to your clients, please contact us : we remain
open to adapt licence on a per client basis.
Price : 399 euros
Price : 999 euros
In case download did not start immediately after you completed the Paypal payement, please contact us
Hans-Bernhard Friedrich - MBTech
We enjoyed working together with Jzy3D developper team very much.
They're great computer scientists, programmers and expert on the subject.
Jzy3D library is clean, straight forward and therefor easy to integrate and work with. A real masterpiece.
Customer service was perfect. Their communication skills are great and we feld understood and comfortable.
They fulfilled our technical and social requirements beyond the measure.
We are looking foreward to work together with them soon.