|
||||
File indexing completed on 2025-01-18 10:04:10
0001 // Created on: 1992-04-03 0002 // Created by: Laurent BUCHARD 0003 // Copyright (c) 1992-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 #ifndef _IntRes2d_IntersectionSegment_HeaderFile 0018 #define _IntRes2d_IntersectionSegment_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 #include <Standard_Handle.hxx> 0023 0024 #include <Standard_Boolean.hxx> 0025 #include <IntRes2d_IntersectionPoint.hxx> 0026 0027 0028 //! Definition of an intersection curve between 0029 //! two 2D curves. 0030 class IntRes2d_IntersectionSegment 0031 { 0032 public: 0033 0034 DEFINE_STANDARD_ALLOC 0035 0036 0037 //! Empty constructor. 0038 Standard_EXPORT IntRes2d_IntersectionSegment(); 0039 0040 IntRes2d_IntersectionSegment(const IntRes2d_IntersectionPoint& P1, const IntRes2d_IntersectionPoint& P2, const Standard_Boolean Oppos, const Standard_Boolean ReverseFlag); 0041 0042 IntRes2d_IntersectionSegment(const IntRes2d_IntersectionPoint& P, const Standard_Boolean First, const Standard_Boolean Oppos, const Standard_Boolean ReverseFlag); 0043 0044 //! Creates an infinite segment of intersection. 0045 IntRes2d_IntersectionSegment(const Standard_Boolean Oppos); 0046 0047 //! Returns FALSE if the intersection segment has got 0048 //! the same orientation on both curves. 0049 Standard_Boolean IsOpposite() const; 0050 0051 //! Returns True if the segment is limited by a first 0052 //! point. This point defines the lowest parameter 0053 //! admitted on the first curve for the segment. If 0054 //! IsOpposite returns False, it defines the lowest 0055 //! parameter on the second curve, otherwise, it is 0056 //! the highest parameter on the second curve. 0057 Standard_Boolean HasFirstPoint() const; 0058 0059 //! Returns the first point of the segment as an 0060 //! IntersectionPoint (with a transition). The 0061 //! exception DomainError is raised if HasFirstPoint 0062 //! returns False. 0063 const IntRes2d_IntersectionPoint& FirstPoint() const; 0064 0065 //! Returns True if the segment is limited by a last 0066 //! point. This point defines the highest parameter 0067 //! admitted on the first curve for the segment. If 0068 //! IsOpposite returns False, it defines the highest 0069 //! parameter on the second curve, otherwise, it is 0070 //! the lowest parameter on the second curve. 0071 Standard_Boolean HasLastPoint() const; 0072 0073 //! Returns the last point of the segment as an 0074 //! IntersectionPoint (with a transition). The 0075 //! exception DomainError is raised if 0076 //! HasLastExtremity returns False. 0077 const IntRes2d_IntersectionPoint& LastPoint() const; 0078 0079 0080 0081 0082 protected: 0083 0084 0085 0086 0087 0088 private: 0089 0090 0091 0092 Standard_Boolean oppos; 0093 Standard_Boolean first; 0094 Standard_Boolean last; 0095 IntRes2d_IntersectionPoint ptfirst; 0096 IntRes2d_IntersectionPoint ptlast; 0097 0098 0099 }; 0100 0101 0102 #include <IntRes2d_IntersectionSegment.lxx> 0103 0104 0105 0106 0107 0108 #endif // _IntRes2d_IntersectionSegment_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |