
Thu, 05/03/2001 - 15:35
Hi,
I have some questions on the BRepMesh_IncrementalMesh class.
It looks like the real triangulation is performed in the BRepMesh_FastDiscret class through the Add method where you first add the different faces from the shape and then the Add method for the edges forming the faces.
In BRepMesh_FastDiscret::Add(const TopoDS_Face& theface) : - what is the signification of the test on SS.IsNull() ? - what is the signification of the variables mapdefle, myvemap ...
I guess that I will come with more questions in a while but I will terminate by that one : what does prevent this algorithm to genarate ream meshes instead of triangulations if we mesh first the edges ie the edges being part of several faces should be meshed only once !
Yours
Guillaume
Thu, 05/03/2001 - 16:20
Hi
algorithm checks exists triangulation for given edge or not. Since connected faces share the same edges, algorithm builds triangulation for edges only once.
Igor
Thu, 05/03/2001 - 17:12
Hi Igor, The question in then why when I did ask for a STLMesh I did not have this. Is this because the faces are not connected (so is there a way to automatically stich the faces according to some tolerance) or is this because the STL mesh is not generated with this function ?
Is this class (algoritm) describe somewhere ?
Yours
Guillaume
Fri, 05/04/2001 - 07:46
> Is this class (algoritm) describe somewhere
> ?
> Yours
> Guillaume
Hi,
if you have a set of faces that have only geometrical coincidence between some edges with given tolerance, you can use class BRepOffsetAPI_Sewing to get shell that consists of those faces, but faces will share the same edges.
Igor
Fri, 05/04/2001 - 12:28
Hi.
I got a problem about the triangulation. BRep_Tool::Triangulation() does not take in TopoDS_Shell. So, triangulations can be queried by only TopoDS_Face. After all,shared edges have unavoidable redundant nodes. What I realy want is unique nodes on vertices and eges in TopoDS_Shell.
Is there a way to solve it?
Mon, 05/07/2001 - 17:58
Hi
I have also a problem with triangulation
In order to transform a TopoDS_Shape in mesh, I used the method:
void BRepMesh::Mesh(const TopoDS_Shape& S,
const Standard_Real d)
which just call BRepMesh_IncrementalMesh(S,d). I have copied the sample about the triangulation to recover the Poly_Triangulation object. My problem is some Face have moved during the transformation. I guess their new location is their local location but I don't know why the method don't care about their location compared to the Shape. Moreover the BRep_Tool::Triangulation(Face,Location) method seems not to use the Location object.
Is the problem known? and is there a solution?
Thanks for any help
Sun, 05/20/2001 - 09:07
Try this.
TopLoc_Location loc; Handle(Poly_Triangulation) tris=BRep_Tool::Triangulation(face,loc); for(int i=1;i<=tris->NbNodes();i++){
gp_Pnt pnt=tris->Nodes().Value(i);
pnt.Transform(loc); }
Use the nodes transformed by TopLoc_Location.
Tue, 05/22/2001 - 17:22
Thanks for the answer OG