').addClass ('ov_popup_list_item').appendTo (this.listDiv);
@@ -220,14 +254,4 @@ OV.ListPopup = class
);
}
}
-
- Show ()
- {
- this.modal.Open ();
- }
-
- Hide ()
- {
- this.modal.Close ();
- }
};
diff --git a/website/o3dv/quantitiesdialog.js b/website/o3dv/quantitiesdialog.js
index 09fcc8a..a0d0552 100644
--- a/website/o3dv/quantitiesdialog.js
+++ b/website/o3dv/quantitiesdialog.js
@@ -1,51 +1,29 @@
-OV.ShowQuantitiesDialog = function (model)
+OV.ShowQuantitiesPopup = function (parentItem, element)
{
- function AddTableRow (table, name, value)
- {
- let row = $('
').appendTo (table);
- $('| ').html (name).appendTo (row);
- $(' | ').addClass ('right').html (value).appendTo (row);
- }
+ let popup = new OV.PopupDialog ();
+ let contentDiv = popup.Init (parentItem);
+
+ $('').addClass ('ov_popup_title').html ('Volume').appendTo (contentDiv);
+ let volumeDiv = $(' ').addClass ('ov_popup_text').html ('Calculating...').appendTo (contentDiv);
+ $(' ').addClass ('ov_popup_title').html ('Surface Area').appendTo (contentDiv);
+ let surfaceAreaDiv = $(' ').addClass ('ov_popup_text').html ('Calculating...').appendTo (contentDiv);
- if (model === null) {
- return OV.ShowMessageDialog (
- 'Quantity Calculation Failed',
- 'Please load a model before calculating quantities.',
- null
- );
- }
-
- let dialog = new OV.ButtonDialog ();
- let contentDiv = dialog.Init ('Quantities', [
- {
- name : 'OK',
- onClick () {
- dialog.Hide ();
- }
- }
- ]);
-
- let progressDialog = new OV.ProgressDialog ();
- progressDialog.Show ('Calculating Quantities');
OV.RunTaskAsync (function () {
- progressDialog.Hide ();
-
- const volume = OV.CalculateVolume (model);
- const surfaceArea = OV.CalculateSurfaceArea (model);
+ const volume = OV.CalculateVolume (element);
+ const surfaceArea = OV.CalculateSurfaceArea (element);
let volumeString = '';
if (volume === null) {
- volumeString = 'Model is not closed';
+ volumeString = 'The model is not closed.';
} else {
volumeString = volume.toFixed (5);
}
let surfaceAreaString = surfaceArea.toFixed (5);
- let table = $(' ').addClass ('ov_dialog_table').appendTo (contentDiv);
- AddTableRow (table, 'Volume', volumeString);
- AddTableRow (table, 'Surface Area', surfaceAreaString);
-
- dialog.Show ();
-
+
+ volumeDiv.html (volumeString);
+ surfaceAreaDiv.html (surfaceAreaString);
});
- return dialog;
+
+ popup.Show ();
+ return popup;
};
diff --git a/website/o3dv/website.css b/website/o3dv/website.css
index 0fb7f27..f5946c1 100644
--- a/website/o3dv/website.css
+++ b/website/o3dv/website.css
@@ -628,6 +628,22 @@ div.ov_popup
border-radius: 5px;
}
+div.ov_popup div.ov_popup_title
+{
+ font-weight: bold;
+ margin-top: 15px;
+ margin-bottom: 10px;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+div.ov_popup div.ov_popup_text
+{
+ margin-bottom: 15px;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
div.ov_popup div.ov_popup_list
{
max-height: 200px;
diff --git a/website/o3dv/website.js b/website/o3dv/website.js
index ff0b0da..59689ff 100644
--- a/website/o3dv/website.js
+++ b/website/o3dv/website.js
@@ -305,13 +305,7 @@ OV.Website = class
});
});
}
- if (OV.FeatureSet.ModelQuantities) {
- AddSeparator (this.toolbar, true);
- AddButton (this.toolbar, 'settings', 'Model Quantities', true, function () {
- obj.dialog = OV.ShowQuantitiesDialog (obj.model);
- });
- }
-
+
this.parameters.fileInput.on ('change', function (ev) {
if (ev.target.files.length > 0) {
obj.LoadModelFromFileList (ev.target.files);
@@ -440,17 +434,13 @@ OV.Website = class
function GetMeshInfo (viewer, model, meshIndex)
{
let result = {
- name : null,
- vertexCount : null,
- triangleCount : null,
+ element : null,
usedMaterials : null,
boundingBox : null
};
let mesh = model.GetMesh (meshIndex);
- result.name = mesh.GetName ();
- result.vertexCount = mesh.VertexCount ();
- result.triangleCount = mesh.TriangleCount ();
+ result.element = mesh;
let userData = GetMeshUserData (viewer, meshIndex);
result.usedMaterials = [];
@@ -472,9 +462,7 @@ OV.Website = class
function GetModelInfo (model, viewer)
{
let result = {
- name : null,
- vertexCount : model.VertexCount (),
- triangleCount : model.TriangleCount (),
+ element : model,
usedMaterials : null,
boundingBox : null
};
|