// Created on: 1992-05-27 // Created by: Laurent BUCHARD // Copyright (c) 1992-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #include #include inline Standard_Boolean IntRes2d_Intersection::IsDone() const { return done; } //---------------------------------------------------------------------- inline IntRes2d_Intersection::IntRes2d_Intersection() { done=reverse=Standard_False; } //---------------------------------------------------------------------- inline IntRes2d_Intersection::IntRes2d_Intersection(const IntRes2d_Intersection& Other) { done=reverse=Standard_False; lpnt = Other.lpnt; lseg = Other.lseg; } //---------------------------------------------------------------------- inline Standard_Boolean IntRes2d_Intersection::IsEmpty() const { if (!done) {StdFail_NotDone::Raise();} return ((lpnt.Length() == 0) && (lseg.Length() == 0)); } //---------------------------------------------------------------------- inline Standard_Integer IntRes2d_Intersection::NbPoints() const { if (!done) {StdFail_NotDone::Raise();} return lpnt.Length(); } //---------------------------------------------------------------------- inline const IntRes2d_IntersectionPoint& IntRes2d_Intersection::Point( const Standard_Integer N) const { if (!done) {StdFail_NotDone::Raise();} return lpnt(N); } //---------------------------------------------------------------------- inline Standard_Integer IntRes2d_Intersection::NbSegments() const { if (!done) {StdFail_NotDone::Raise();} return lseg.Length(); } //---------------------------------------------------------------------- inline const IntRes2d_IntersectionSegment& IntRes2d_Intersection::Segment(const Standard_Integer N) const { if (!done) {StdFail_NotDone::Raise();} return lseg(N); } //---------------------------------------------------------------------- inline void IntRes2d_Intersection::Append(const IntRes2d_IntersectionSegment& Seg) { lseg.Append(Seg); } //---------------------------------------------------------------------- inline void IntRes2d_Intersection::Append(const IntRes2d_IntersectionPoint& Pnt) { lpnt.Append(Pnt); } //---------------------------------------------------------------------- inline void IntRes2d_Intersection::ResetFields() { if(done) { lseg.Clear(); lpnt.Clear(); done=Standard_False; } } //---------------------------------------------------------------------- inline void IntRes2d_Intersection::SetReversedParameters(const Standard_Boolean flag) { reverse=flag; } //---------------------------------------------------------------------- inline Standard_Boolean IntRes2d_Intersection::ReversedParameters() const { return(reverse); }