[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