//-------------------------------------------------------------------------------------------------- public bool ScreenToPoint(Pln plane, int screenX, int screenY, out Pnt resultPnt) { try { double xv = 0, yv = 0, zv = 0; double vx = 0, vy = 0, vz = 0; V3dView.Convert(screenX, screenY, ref xv, ref yv, ref zv); V3dView.Proj(ref vx, ref vy, ref vz); gp_Lin line = new gp_Lin(new Pnt(xv, yv, zv), new Dir(vx, vy, vz)); IntAna_IntConicQuad intersection = new IntAna_IntConicQuad(line, plane, Precision.Angular(), 0, 0); if (intersection.IsDone() && !intersection.IsParallel() && intersection.NbPoints() > 0) { resultPnt = intersection.Point(1); return(true); } } catch (Exception) { Debug.Assert(false); } resultPnt = new Pnt(); return(false); }
public void DumpSegment(gp_Pnt P, gp_Lin L, double Par, TopAbs_State S) { throw new NotImplementedException(); }
public void SetValue(int theIndex, gp_Lin theItem) { throw new NotImplementedException(); }
public void Add(gp_Lin L, double P1, double P2, double Tol, Bnd_Box B) { throw new NotImplementedException(); }
public void Get(gp_Lin C, ref double F, ref double L) { throw new NotImplementedException(); }
public Geom_Line(gp_Lin L) : base() { throw new NotImplementedException(); }
public Intf_Array1OfLin(gp_Lin theBegin, int theLower, int theUpper) : base() { throw new NotImplementedException(); }
public ProjLib_Cylinder(gp_Cylinder Cyl, gp_Lin L) : base() { throw new NotImplementedException(); }
public IntAna_IntConicQuad(gp_Lin L, gp_Pln P, double Tolang) : base() { throw new NotImplementedException(); }
public IntAna_IntConicQuad(gp_Lin L, IntAna_Quadric Q) : base() { throw new NotImplementedException(); }
public void Perform(gp_Lin L, gp_Pln P, double Tolang) { throw new NotImplementedException(); }
public void LinBox(gp_Lin theLin, Bnd_Box bounding, Bnd_Box boxLin) { throw new NotImplementedException(); }
public void PerformConicSurf(gp_Lin Line, Adaptor3d_HCurve Curve, Adaptor3d_HSurface Surface, double U1, double V1, double U2, double V2) { throw new NotImplementedException(); }
public void Perform(gp_Lin L, double Prm, double Tol, TopoDS_Face F) { throw new NotImplementedException(); }
public int SegPln(gp_Lin theLin, double theTLin1, double theTLin2, double theTolLin, gp_Pln thePln, double theTolPln, gp_Pnt theP, ref double theT, ref double theTolP, ref double theTmin, ref double theTmax) { throw new NotImplementedException(); }
public BRepLib_MakeEdge(gp_Lin L, TopoDS_Vertex V1, TopoDS_Vertex V2) : base() { throw new NotImplementedException(); }
public GC_MakeLine(gp_Lin Lin, gp_Pnt Point) : base() { throw new NotImplementedException(); }
public void Perform(gp_Lin L, IntAna_Quadric Q) { throw new NotImplementedException(); }
public void Project(gp_Lin L) { throw new NotImplementedException(); }
public ProjLib_Plane(gp_Pln Pl, gp_Lin L) : base() { throw new NotImplementedException(); }
public void Init(gp_Lin theValue) { throw new NotImplementedException(); }
public void OtherSegment(gp_Pnt P, gp_Lin L, ref double Par) { throw new NotImplementedException(); }
public void SetLin(gp_Lin L) { throw new NotImplementedException(); }
public bool RejectFace(gp_Lin L, double Par) { throw new NotImplementedException(); }
public gce_MakeMirror(gp_Lin Line) : base() { throw new NotImplementedException(); }
public gce_MakeCone(gp_Lin Ax_is, gp_Pnt P1, gp_Pnt P2) : base() { throw new NotImplementedException(); }
public void InsertAfter(int theIndex, gp_Lin theItem) { throw new NotImplementedException(); }
public BRepLib_MakeEdge(gp_Lin L, double p1, double p2) : base() { throw new NotImplementedException(); }
public void Append(gp_Lin theItem) { throw new NotImplementedException(); }
public BRepLib_MakeEdge(gp_Lin L, gp_Pnt P1, gp_Pnt P2) : base() { throw new NotImplementedException(); }