I can construct a sub shape of TopoDS_Shape like followings:
Standard_Real x_length=5;
Standard_Real y_length=5;
gp_Pnt aPnt1(0, 0 , 0);
gp_Pnt aPnt2(x_length , 0 , 0);
gp_Pnt aPnt3(x_length, y_length , 0);
gp_Pnt aPnt4(0, y_length , 0);
Handle(Geom_TrimmedCurve) aSegment1 = GC_MakeSegment(aPnt1 , aPnt2);
Handle(Geom_TrimmedCurve) aSegment2 = GC_MakeSegment(aPnt2 , aPnt3);
Handle(Geom_TrimmedCurve) aSegment3 = GC_MakeSegment(aPnt3 , aPnt4);
Handle(Geom_TrimmedCurve) aSegment4 = GC_MakeSegment(aPnt4 , aPnt1);
TopoDS_Edge aEdge1 = BRepBuilderAPI_MakeEdge(aSegment1);
TopoDS_Edge aEdge2 = BRepBuilderAPI_MakeEdge(aSegment2);
TopoDS_Edge aEdge3 = BRepBuilderAPI_MakeEdge(aSegment3);
TopoDS_Edge aEdge4 = BRepBuilderAPI_MakeEdge(aSegment4);
TopoDS_Wire aWire = BRepBuilderAPI_MakeWire(aEdge1 , aEdge2 , aEdge3 , aEdge4);
TopoDS_Face myFaceProfile = BRepBuilderAPI_MakeFace(aWire);
The question is, if I just have the object of the TopoDS_Face like 'myFaceProfile', how can I get the positions of that four points?
Another question is, Can I cast the TopoDS_Shape to the Geom_***?
i.e, casting the TopoDS_Vertex to Geom_CartesianPoint.
Thank you in advance!!