[cgma-dev] Fwd: tests on stp geometry in cgm

Hong-Jun Kim hongjun at mcs.anl.gov
Tue Jul 19 14:07:29 CDT 2011


Hi, Jane

As iulian mentioned from the following e-mail, I suspect there are some problems to get sense of edges respect to the parent face geometry in OCC kernel.

When "iGeom_getEgFcSense" function is called, I think it should return a sense of edge respect to the face edge loop, but it returns wrong results for some edges.

I am making a test code to check this problem, but in the mean time, can I check if I think wrong or get any comments about it from you?
Thanks.

-----------------------------
Hong-Jun Kim
Post-doc researcher
MCS, Argonne National Laboratory
9700 S. Cass Ave. B240/R2147
Argonne, IL 60439
630-252-4791
hongjun at mcs.anl.gov
-----------------------------

----- Forwarded Message -----
> From: "Iulian Grindeanu" <iulian at mcs.anl.gov>
> To: "jiangtao ma" <jiangtao_ma at yahoo.com>
> Cc: "Tim Tautges" <tautges at mcs.anl.gov>, "Hong-Jun Kim" <hongjun at mcs.anl.gov>
> Sent: Saturday, March 19, 2011 4:52:38 PM
> Subject: tests on stp geometry in cgm
> Hi Jane,
> There are some problems with the orientation of faces and edges in
> some stp models.
> To show them, I am using a test in itaps folder in cgm
> Please find attached testorient.cc, Makefile.am, brick.stp and
> simpletet.stp
> You should save them to a working version of cgm with occ, in
> cgm/itaps folder.
> 
> There, run first make check
> 
> this should pass
> 
> Then, run
> testorient_occ brick.stp
> and
> testorient_occ simpletet.stp
> 
> these will not pass
> 
> The test is checking if the normal to a face corresponds to
> orientation of each edge within the face.
> (if you go along a boundary edge, in the sense of the edge with
> respect to the face, and normal to the
> face is pointing up, the interior of the face should be to the left)
> 
> For that, it is evaluating the middle of each edge, the normal to the
> face at that point, the tangent to the edge;
> a vector pointing to the interior is computed, and a point at a small
> distance on that vector is projected to the face.
> It should be close to the surface;
> 
> For simpletet.stp, it uncovered another possible error. There, the
> first 2 of those points computed are outside the face, but they are
> reported inside, because the projection distance is 0 (the faces here
> are all planar)
> 
> 
> I introduced another method in our camal drivers, which is trying to
> overcome this orientation problem. If this orientation can be
> corrected in cgm/occ, we can simplify the camal drivers.
> 
> Thanks,
> Iulian


More information about the cgma-dev mailing list