Commit Graph

496 Commits

Author SHA1 Message Date
kovacsv
df5ad1e6be Hack in case of invalid color component range. 2021-12-29 09:40:09 +01:00
kovacsv
c6b2dbb95a Do not show default material popup when there are vertex colors. 2021-12-29 09:39:50 +01:00
kovacsv
f57d31eca8 Add test for exporting vertex colors to glTF. 2021-12-29 08:41:36 +01:00
kovacsv
10f7df63bc Export vertex colors to glTF. 2021-12-28 21:55:53 +01:00
kovacsv
0eee801446 Store vertex colors for triangles. 2021-12-28 21:15:33 +01:00
kovacsv
53d30d0b64 Add helper function for color conversion. 2021-12-28 17:25:25 +01:00
kovacsv
5c40815a7d Add helper function for color conversion. 2021-12-28 17:22:38 +01:00
kovacsv
1213bbee22 Add helper function for color conversion. 2021-12-28 17:19:26 +01:00
kovacsv
53a7193d4c Import vertex colors with three.js importers. 2021-12-28 17:12:20 +01:00
kovacsv
e5a2839c18 Minor modification. 2021-12-28 17:00:27 +01:00
kovacsv
28b1edbfad Function to convert between gltf and internal colors. 2021-12-28 16:51:38 +01:00
kovacsv
3a5c65bdc8 Store vertex colors in mesh. 2021-12-28 16:44:00 +01:00
kovacsv
f46ae4b88b Add transformation option for exporter model. 2021-12-28 09:18:29 +01:00
kovacsv
0a1f158e01 Separate file for exporter model tests. 2021-12-28 08:23:25 +01:00
kovacsv
3143fb0c09 Remove unnecessary log. 2021-12-27 20:37:02 +01:00
kovacsv
9237262ebd Process model on the loader callback, but wait while all files are loaded. 2021-12-27 20:26:52 +01:00
kovacsv
93358e2cd0 Export only the visible meshes #169 2021-12-26 14:08:58 +01:00
kovacsv
4e7d10b3b7 Use model filter from export dialog. 2021-12-26 01:11:19 +01:00
kovacsv
5eca9dade5 Add model filter to exporter model. 2021-12-26 00:59:57 +01:00
kovacsv
fe8012e657 Use a separate model class for export. 2021-12-26 00:40:06 +01:00
kovacsv
233cc2c2d7 Store instance id in mesh instances. 2021-12-25 10:49:59 +01:00
kovacsv
b4f10e2ca1 Use full file format names in export dialog. 2021-12-25 10:21:23 +01:00
kovacsv
69a97d6bd0 Move viewer geometry objects to a separate file. 2021-12-23 18:47:23 +01:00
kovacsv
759e9e7efe Store grid next to the geometry. 2021-12-23 17:48:40 +01:00
kovacsv
e611e50e2f Minor modifications. 2021-12-23 16:24:17 +01:00
kovacsv
aaf6a242c0 Feature toggle for grid display. 2021-12-23 15:18:47 +01:00
kovacsv
876cfc399b Always orbit around the center point of the camera. 2021-12-23 09:12:03 +01:00
kovacsv
3a2b344bc5 Simplify orbit center handling. 2021-12-22 23:35:59 +01:00
kovacsv
bee095ba74 Remove orbit center modifier code. 2021-12-22 23:05:27 +01:00
kovacsv
7891817b3e Fix crash when material type doesn't match with the preferred shading type. 2021-12-22 22:58:23 +01:00
kovacsv
1a0b473345 Rename axis to grid. 2021-12-22 20:36:48 +01:00
kovacsv
9e4aa58de2 Adjust orbit center after panning #194 2021-12-21 20:47:25 +01:00
kovacsv
27c308e308 Update external libraries. 2021-12-20 23:14:23 +01:00
kovacsv
e9f989ffea Clear previous model before loading the next one. 2021-12-20 22:58:32 +01:00
kovacsv
18e35701be Access the core viewer instance from the embedded viewer. 2021-12-20 16:31:26 +01:00
kovacsv
9c3e6fa3ec Object oriented embedding. 2021-12-20 16:10:45 +01:00
kovacsv
1cf59b750f Remove solidity check from volume calculation. 2021-12-18 10:31:40 +01:00
kovacsv
d5976ec8db Do url transformations in the loading code instead of the dialog #188 2021-12-18 10:09:30 +01:00
kovacsv
aec0d4adc7 Remove unused functions. 2021-12-17 17:03:55 +01:00
kovacsv
b59f52ae77 Add toggle button for edge settings and dark mode. 2021-12-15 18:15:48 +01:00
kovacsv
b42f8a3ec3 Slider for edge threshold. 2021-12-15 15:22:56 +01:00
kovacsv
295ac89a5d Fix error message. 2021-12-13 11:30:22 +01:00
kovacsv
c698117302 Better error message in case of the file is found, but failed to load. 2021-12-13 11:09:33 +01:00
kovacsv
6fd498d4a8 Minor modification. 2021-12-13 08:41:48 +01:00
kovacsv
6e9eea126a Detect single tap on mobile as mouse click. 2021-12-13 00:01:08 +01:00
kovacsv
712b75e208 End event should handled for iOS. 2021-12-12 21:36:41 +01:00
kovacsv
ce57dff028 Handle touchcancel, because touchend doesn't work on android. 2021-12-12 21:24:42 +01:00
kovacsv
bcf0c588fe No need to handle mouse button in click detector. 2021-12-12 21:24:08 +01:00
kovacsv
a003210666 No need to handle end event, because on touchend no relevant information arrives in the event. 2021-12-12 21:10:17 +01:00
kovacsv
a0ef9de5cb Rename functions in navigation. 2021-12-12 20:28:12 +01:00
kovacsv
f722723bca Minor modifications. 2021-12-12 08:43:21 +01:00
kovacsv
d152b64903 Reset measure ui when a new model is loaded. 2021-12-11 12:07:12 +01:00
kovacsv
9b3fc02357 Measure tool experiment. 2021-12-11 11:59:41 +01:00
kovacsv
9371abf56f Add the possibility to add extra model parts to the viewer. 2021-12-11 08:42:38 +01:00
kovacsv
f63c3d074a Fix progress bar after file selector dialog. 2021-12-09 12:50:30 +01:00
kovacsv
abd183cafc Update third-party libraries. 2021-12-09 12:41:20 +01:00
kovacsv
d3d3b720a5 Inherit edges visibility from the mesh. 2021-12-08 18:30:43 +01:00
kovacsv
c3eb21b185 Add edge threshold popup. 2021-12-08 18:26:39 +01:00
kovacsv
bb3bef4134 Add edge color to embedding codes. 2021-12-08 13:13:31 +01:00
kovacsv
619afebd55 Add edge display to settings. 2021-12-08 10:50:08 +01:00
kovacsv
65ab4aa9f5 Create separate material classes for phong and physical materials. 2021-12-04 18:26:58 +01:00
kovacsv
b901a9ab30 Pass preferred shading type to three.js conversion instead of preferred material type. 2021-12-04 16:59:24 +01:00
kovacsv
a689614e52 Remove unused clone functions. 2021-12-04 16:18:26 +01:00
kovacsv
0efcff6d30 Create a new class for model loader user interface handling. 2021-12-03 16:19:44 +01:00
kovacsv
9c5f208297 Minor modification. 2021-12-03 15:31:16 +01:00
kovacsv
fc08a25f69 Replace array with map in gltf exporter. 2021-12-03 15:29:50 +01:00
kovacsv
1ddd43c0b1 Remove svg importer. 2021-12-02 15:11:01 +01:00
kovacsv
c3b18803ac Store the current model in importer. 2021-12-02 15:10:00 +01:00
kovacsv
07fe1d5509 Send only file names to the file selector callback. 2021-11-30 10:29:01 +01:00
kovacsv
db57efeaf1 Select file to import when there are more importable files #176 2021-11-29 19:48:12 +01:00
kovacsv
2ac86e2a65 Support for drag&dropping an entire folder with model files #175 2021-11-29 10:51:48 +01:00
kovacsv
9024b71751 Rename dom functions. 2021-11-27 20:23:22 +01:00
kovacsv
cb25414dd2 Fix panels visibility. 2021-11-27 13:19:50 +01:00
kovacsv
02e1ed850f Lower the jquery dependency of website. 2021-11-27 12:14:04 +01:00
kovacsv
289e7cfff7 Lower the jquery dependency of navigator. 2021-11-27 10:37:02 +01:00
kovacsv
86b86f09e6 Lower the jquery dependency of treeview. 2021-11-27 09:03:07 +01:00
kovacsv
a89681757a Lower the jquery dependency of dialogs. 2021-11-26 23:02:41 +01:00
kovacsv
694aa9d839 Remove jquery usage from the embedding code. 2021-11-26 20:45:38 +01:00
kovacsv
b4b899dd28 Simplify mesh instance counting. 2021-11-26 20:11:28 +01:00
kovacsv
e8e6108dfe Node list instead of hierarchy in o3dv files. 2021-11-22 16:52:45 +01:00
kovacsv
583ab14e34 Create mesh nodes during o3dv import. 2021-11-22 14:25:56 +01:00
kovacsv
31d472aa9a Clean up generator parameters interface. 2021-11-22 14:02:02 +01:00
kovacsv
6efbe02e61 Refactor obj importer. 2021-11-22 11:13:32 +01:00
kovacsv
5f2adffe9e Access files through importer callback so they will appear among missing files. 2021-11-22 08:59:30 +01:00
kovacsv
6c57e785ca Do not use feature set in the viewer. 2021-11-20 17:20:55 +01:00
kovacsv
06a20bffd2 Add grid display experiment. 2021-11-20 17:00:28 +01:00
kovacsv
5e078b2e66 Rename EnumerateTransformedMeshInstances to EnumerateTransformedMeshes. 2021-11-19 08:05:13 +01:00
kovacsv
8fa45a8b95 Rename ImportBuffers to ImporterFileAccessor. 2021-11-19 08:00:32 +01:00
kovacsv
33a8464321 Simplify importer interface. 2021-11-17 12:01:21 +01:00
kovacsv
afc741203a Minor modification. 2021-11-16 18:06:46 +01:00
kovacsv
b50abe77ba Minor modification. 2021-11-16 08:34:52 +01:00
kovacsv
19d49f3832 Use materials in svg importer. 2021-11-15 18:16:05 +01:00
kovacsv
2ccc67fe1a Separate file for svg loader. 2021-11-14 15:02:48 +01:00
kovacsv
d2039f97e6 Fix three.js import when a mesh node has children. 2021-11-14 09:37:43 +01:00
kovacsv
608d6b896d Fix glTF import when a mesh node has children. 2021-11-13 21:29:35 +01:00
kovacsv
ca3fd182b0 Introduce node types. GroupNode is a node that contains child nodes and optionally some meshes. MeshNode is a node that contains only one mesh. MeshNodes are not visible in the tree. 2021-11-13 20:56:35 +01:00
kovacsv
79cd5189dc Revert "Add transformation for mesh objects."
This reverts commit d75ff6464c.
2021-11-13 20:43:54 +01:00
kovacsv
d75ff6464c Add transformation for mesh objects. 2021-11-13 20:06:19 +01:00
kovacsv
60b13a9572 Add svg loader experiment. 2021-11-13 19:45:34 +01:00
kovacsv
c504d74b5d Add solids example as o3dv file. 2021-11-12 16:30:25 +01:00
kovacsv
57c7c216db Remove unused functions. 2021-11-08 17:54:34 +01:00
kovacsv
1fe87962bb Set node name only if it's not empty in the 3ds file. 2021-11-03 18:42:37 +01:00
kovacsv
1fbd4feea0 Hierarchical 3ds import. 2021-11-03 18:08:36 +01:00
kovacsv
b90425e247 Set texture name based on three map name. 2021-11-03 08:19:44 +01:00
kovacsv
16daacadac Minor modification. 2021-11-02 19:07:47 +01:00
kovacsv
a053ea07b4 Hierarchical three.js import. 2021-11-02 18:00:26 +01:00
kovacsv
3423baa2b2 Hierarchical glTF import. 2021-11-02 08:40:27 +01:00
kovacsv
71cfe70c71 Improve conversion speed in case of high number of nodes. 2021-11-02 08:40:06 +01:00
kovacsv
c1e7deb2c4 Make three.js importers inherit from a three.js importer base class. 2021-11-01 07:47:45 +01:00
kovacsv
1b936f21b2 Replace environment map. 2021-10-31 09:30:37 +01:00
kovacsv
00daf22067 Modify physical lighting model. 2021-10-30 09:31:11 +02:00
kovacsv
69430fd8f2 Update three.js to the latest version #160 2021-10-30 08:43:25 +02:00
kovacsv
a1c77ea263 Set material type and shading model based on the most used material type in the model. 2021-10-29 18:33:46 +02:00
kovacsv
494ef4697b Move shading parameters to a separate class. 2021-10-29 18:19:36 +02:00
kovacsv
281d49c750 Move open/close arrow to the left of navigator group items. 2021-10-28 14:08:58 +02:00
kovacsv
94e8f15a24 Check if the model is empty based on the node hierarchy. 2021-10-27 10:04:50 +02:00
kovacsv
fc2dd12aa0 Always return arraybuffer during export. 2021-10-27 09:55:01 +02:00
kovacsv
d78feaceee Remove empty nodes recursively. 2021-10-27 09:54:40 +02:00
kovacsv
7abc6efc93 Import all models as hierarchical model, but put all the meshes under the root node. 2021-10-27 08:25:47 +02:00
kovacsv
e6eff40543 Remove empty nodes during model finalization. 2021-10-26 19:45:26 +02:00
kovacsv
ad132b2eed Calculate geometric values based on mesh instances. 2021-10-26 18:54:51 +02:00
kovacsv
7eac7dee43 Treat models with no node hierarchy as one flat hierarchy under the root node. 2021-10-26 18:40:20 +02:00
kovacsv
c1e3a33107 Mesh instance is not needed in mesh. 2021-10-26 14:47:03 +02:00
kovacsv
6f9801010b Use mesh instance id to identify meshes. 2021-10-26 13:15:56 +02:00
kovacsv
af5a0fef13 Add node to mesh instance instead of transformation. 2021-10-26 08:50:20 +02:00
kovacsv
92eac095e1 Calculate world transformation from node. 2021-10-26 07:53:25 +02:00
kovacsv
034c4079c9 Create quaternion from axis and angle. 2021-10-26 07:37:06 +02:00
kovacsv
504c38848d Automatically remove trailing whitespaces in Visual Studio Code. 2021-10-25 16:30:25 +02:00
kovacsv
44460d0597 Enumerate mesh instances. 2021-10-25 16:22:49 +02:00
kovacsv
0143d29a9d Add multiple instances of the same mesh in tests. 2021-10-25 08:32:11 +02:00
kovacsv
f5cedf6842 Add key generator to mesh instance id. 2021-10-24 21:22:14 +02:00
kovacsv
90539cc15d Move MeshInstanceId to a separate file. 2021-10-24 18:08:50 +02:00
kovacsv
0afce83a49 Fix conversion when a node has multiple meshes. 2021-10-24 17:30:48 +02:00
kovacsv
bd6a66a781 Move mesh instance id to model utils. 2021-10-24 16:48:43 +02:00
kovacsv
4250ab3b58 Add mesh instance object that represents a mesh with transformation. 2021-10-24 16:46:49 +02:00
kovacsv
f045d214c7 Add mesh instance id to identify a mesh in the node hierarchy. 2021-10-24 09:43:24 +02:00
kovacsv
24e53e242a Generate unique id for nodes. 2021-10-23 11:16:32 +02:00
kovacsv
d3c5a1436b Experimental conversion based on node hierarchy. 2021-10-23 10:01:36 +02:00
kovacsv
7875457785 Add is empty function to node. 2021-10-23 09:05:42 +02:00
kovacsv
19ca7a697b Add helper functions for async task running. 2021-10-23 08:36:01 +02:00
kovacsv
654ffd0acc Use one main object in viewer instead of an array of meshes. 2021-10-22 17:25:16 +02:00
kovacsv
67ca415a72 Remove unused variable. 2021-10-22 16:02:53 +02:00
kovacsv
cd2adbeab3 Store transformation in node. 2021-10-22 15:55:38 +02:00
kovacsv
055e817097 Minor modification. 2021-10-22 15:13:51 +02:00
kovacsv
dd7a0ed14f Add node hierarchy to model. 2021-10-22 11:17:36 +02:00
kovacsv
ccfe303f93 Add enumerate function for node. 2021-10-21 12:17:26 +02:00
kovacsv
bb9724578d Add mesh enumeration function to model. 2021-10-17 11:42:58 +02:00
kovacsv
16614d81e1 Enumerate mesh indices recursively. 2021-10-16 16:02:33 +02:00
kovacsv
97312fe080 Enumerate children only. 2021-10-16 11:59:36 +02:00
kovacsv
9dcf49b548 Add node class. 2021-10-16 11:53:19 +02:00