Warning, /include/opencascade/HLRBRep_EdgeInterferenceTool.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1997-04-17
0002 // Created by: Christophe MARION
0003 // Copyright (c) 1997-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016
0017 #include <HLRAlgo_Interference.hxx>
0018
0019 //=======================================================================
0020 //function : InitVertices
0021 //purpose :
0022 //=======================================================================
0023
0024 inline void HLRBRep_EdgeInterferenceTool::InitVertices()
0025 { cur = 0; }
0026
0027 //=======================================================================
0028 //function : MoreVertices
0029 //purpose :
0030 //=======================================================================
0031
0032 inline Standard_Boolean
0033 HLRBRep_EdgeInterferenceTool::MoreVertices() const
0034 { return cur < 2; }
0035
0036 //=======================================================================
0037 //function : NextVertex
0038 //purpose :
0039 //=======================================================================
0040
0041 inline void HLRBRep_EdgeInterferenceTool::NextVertex()
0042 { cur++; }
0043
0044 //=======================================================================
0045 //function : CurrentVertex
0046 //purpose :
0047 //=======================================================================
0048
0049 inline const HLRAlgo_Intersection&
0050 HLRBRep_EdgeInterferenceTool::CurrentVertex
0051 () const
0052 { return inter[cur]; }
0053
0054 //=======================================================================
0055 //function : CurrentOrientation
0056 //purpose :
0057 //=======================================================================
0058
0059 inline TopAbs_Orientation
0060 HLRBRep_EdgeInterferenceTool::CurrentOrientation
0061 () const
0062 {
0063 if (cur == 0) return TopAbs_FORWARD;
0064 else return TopAbs_REVERSED;
0065 }
0066
0067 //=======================================================================
0068 //function : CurrentParameter
0069 //purpose :
0070 //=======================================================================
0071
0072 inline Standard_Real
0073 HLRBRep_EdgeInterferenceTool::CurrentParameter() const
0074 { return inter[cur].Parameter(); }
0075
0076 //=======================================================================
0077 //function : IsPeriodic
0078 //purpose :
0079 //=======================================================================
0080
0081 inline Standard_Boolean
0082 HLRBRep_EdgeInterferenceTool::IsPeriodic() const
0083 { return Standard_False; }
0084
0085 //=======================================================================
0086 //function : ParameterOfInterference
0087 //purpose :
0088 //=======================================================================
0089
0090 inline Standard_Real
0091 HLRBRep_EdgeInterferenceTool::ParameterOfInterference
0092 (const HLRAlgo_Interference& I) const
0093 { return I.Intersection().Parameter(); }