
Fri, 09/08/2023 - 16:42
Hi all,
I am trying to get the following workflow to work. I have a geometry of solids imported from step-files to create a scene.
The faces of the solids I need a triangulated representation of.
There are however the following constraints:
- The solids have to be allowed to have shared faces.
- Triangulation must be watertight
- Faces have to be imprinted. In a sense I need to know which solid (if any) is on the other side of a face.
- Shared faces must have exactly identical vertices, meaning I can't really triangulate them separately. I could reuse a single triangulation in two faces but that runs the risk of not ending up with watertight faces.
I am not sure how to handle this situation. It seems to me that applying BrepMesh_IncrementalMesh somehow ought to be able to create what I need, but I am not entirely sure. Does anyone have any general advice here?
I've been searching through the forums etc. but not quite hit the spot.
cheers
Erik
Fri, 09/08/2023 - 17:10
TopoDS_Face is a smart pointer wrapper with unique orientation and location (mesh and geometry are shared). Incremental mesh in this case created one tessellation for each shared object of TopoDS_TShape. If you have single TopoDS_TFace(smart pointer) you will have the same tessellation.
If TopoDS_TFace is different - you will need to update mesh by yourself with you logic. You are free put your Handle(Poly_Triangulation) into any TopoDS_Face.
Best regards, Dmitrii.
Fri, 09/08/2023 - 19:13
Ah - I think I understand now - thank you very much.
cheers
Erik