to better understanding

If I move the TopoDS_Edge:
TopoDS_Edge aLocatedEdge = aEdge.Moved(aTopLoc_Location);

Is the Geom_Curve moved (transformed) too ?
Handle_Geom_Curve aCurve = BRep_Tool::Curve(theEdge,aFirst,aLast);

Thank you

Dmitry Khabi's picture

If I move the TopoDS_Edge:
TopoDS_Edge aLocatedEdge = aEdge.Moved(aTopLoc_Location);

Is the Geom_Curve moved (transformed) too ?
Handle_Geom_Curve aCurve = BRep_Tool::Curve(aLocatedEdge ,aFirst,aLast);

Thank you

Roman Lygin's picture

Dmitry,

aLocatedEdge and aEdge will be so called partners. Each TopoDS_Shape::IsPartner() will return true on another.

See my post http://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-ca... and the 2nd diagram in it to understand what will happen. Both will share the same TopoDS_TShape (in this case BRep_TEdge) and orientation. Locations will be different.

BRep_Tool::Curve(aLocatedEdge,...) will return a curve which is a *transformed* (using aTopLoc_Location) *copy* compared to BRep_Tool::Curve(aEdge,...).

Roman

---
opencascade.blogspot.com - blog on Open CASCADE

Dmitry Khabi's picture

Thank you,

I read every topic in your blog.
I hope it become bigger and bigger and deeper and deeper.