If not:
I know it is possible to get individual facets and their vertices, but is it possible to get the real faces (i.e. one face of a box consists of two facets and therefore 6 vertices) and real 8 corners (not the 24 vertices) of a mesh?
I know it’s easy to get them by myself considering a simple box, but if I have a more complex mesh it gets much harder to calculate them.
Unfortunately, three.js’s geometry classes (which are primarily focused on rendering) are not able to represent such topological information.
Not sure I understand this part. In the video you can clearly see that it’s possible to selected the cylinder component of the left geometry. Without additional information about it’s shape, I think it’s impossible to compute this selection. How would you know which triangles are relevant and which not?
This kind of selection you probably mean can be done with a face normal threshold, such as grouping all connected triangles where the face normals are below 90 degree to each other.
I made a geometry construction library that is made for fast and efficient asynchronous construction with an easier and more extensive API than the deprecated Geometry class, it has this functionality too. It’ll be available within next week in case you’re interested.
You need to define which triangles constitute a face. This needn’t be any more complicated than an array of indices. How to obtain these collections is a completely different issue. Different formats can hold submeshes though, so maybe it could just be exported to something that can describe ngons or submeshes. For example, in 3ds max you can define smoothing groups and assign triangles and faces manually. If you were to split the edges of smoothing groups, you’d have something to select.