Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- gp_Pnt ViewCalculations::convert2DPointTo3DPoint(Standard_Real x, Standard_Real y, Handle(V3d_View) aView)
- {
- V3d_Coordinate XEye,YEye,ZEye,XAt,YAt,ZAt;
- aView->Eye(XEye,YEye,ZEye);
- aView->At(XAt,YAt,ZAt);
- gp_Pnt EyePoint(XEye,YEye,ZEye);
- gp_Pnt AtPoint(XAt,YAt,ZAt);
- gp_Vec EyeVector(EyePoint,AtPoint);
- gp_Dir EyeDir(EyeVector);
- gp_Pln PlaneOfTheView = gp_Pln(AtPoint,EyeDir);
- Standard_Real X,Y,Z;
- aView->Convert(int(x),int(y),X,Y,Z);
- gp_Pnt ConvertedPoint(X,Y,Z);
- gp_Pnt2d ConvertedPointOnPlane = ProjLib::Project(PlaneOfTheView,ConvertedPoint);
- gp_Pnt ResultPoint = ElSLib::Value(ConvertedPointOnPlane.X(),
- ConvertedPointOnPlane.Y(),
- PlaneOfTheView);
- return ResultPoint;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement