// File: IntPatch_GLine.lxx // Created: Mon Apr 6 11:17:45 1992 // Author: Jacques GOUSSARD // Copyright: OPEN CASCADE 1992 #include #include #include #include #include #include #include inline void IntPatch_GLine::SetFirstPoint (const Standard_Integer IndFirst) { fipt = Standard_True; indf = IndFirst; } inline void IntPatch_GLine::SetLastPoint (const Standard_Integer IndLast) { lapt = Standard_True; indl = IndLast; } inline gp_Lin IntPatch_GLine::Line () const { if (typ != IntPatch_Lin) {Standard_DomainError::Raise();} return gp_Lin(pos.Axis()); } inline gp_Circ IntPatch_GLine::Circle () const { if (typ != IntPatch_Circle) {Standard_DomainError::Raise();} return gp_Circ(pos,par1); } inline gp_Elips IntPatch_GLine::Ellipse () const { if (typ != IntPatch_Ellipse) {Standard_DomainError::Raise();} return gp_Elips(pos,par1,par2); } inline gp_Parab IntPatch_GLine::Parabola () const { if (typ != IntPatch_Parabola) {Standard_DomainError::Raise();} return gp_Parab(pos,par1); } inline gp_Hypr IntPatch_GLine::Hyperbola () const { if (typ != IntPatch_Hyperbola) {Standard_DomainError::Raise();} return gp_Hypr(pos,par1,par2); } inline Standard_Boolean IntPatch_GLine::HasFirstPoint () const { return fipt; } inline Standard_Boolean IntPatch_GLine::HasLastPoint () const { return lapt; } inline const IntPatch_Point& IntPatch_GLine::FirstPoint () const { if (!fipt) {Standard_DomainError::Raise();} return svtx(indf); } inline const IntPatch_Point& IntPatch_GLine::LastPoint () const { if (!lapt) {Standard_DomainError::Raise();} return svtx(indl); } inline Standard_Integer IntPatch_GLine::NbVertex () const { return svtx.Length(); } inline const IntPatch_Point& IntPatch_GLine::Vertex (const Standard_Integer Index) const { return svtx(Index); }