|
|
|||
File indexing completed on 2026-09-24 09:15:13
0001 // Created on: 1994-04-01 0002 // Created by: Laurent BUCHARD 0003 // Copyright (c) 1994-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 _BRepClass3d_Intersector3d_HeaderFile 0018 #define _BRepClass3d_Intersector3d_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 0023 #include <gp_Pnt.hxx> 0024 #include <IntCurveSurface_TransitionOnCurve.hxx> 0025 #include <TopAbs_State.hxx> 0026 #include <TopoDS_Face.hxx> 0027 class gp_Lin; 0028 0029 class BRepClass3d_Intersector3d 0030 { 0031 public: 0032 DEFINE_STANDARD_ALLOC 0033 0034 //! Empty constructor. 0035 Standard_EXPORT BRepClass3d_Intersector3d(); 0036 0037 //! Perform the intersection between the 0038 //! segment L(0) ... L(Prm) and the Shape <Sh>. 0039 //! 0040 //! Only the point with the smallest parameter on the 0041 //! line is returned. 0042 //! 0043 //! The Tolerance <Tol> is used to determine if the 0044 //! first point of the segment is near the face. In 0045 //! that case, the parameter of the intersection point 0046 //! on the line can be a negative value (greater than -Tol). 0047 Standard_EXPORT void Perform(const gp_Lin& L, 0048 const double Prm, 0049 const double Tol, 0050 const TopoDS_Face& F); 0051 0052 //! True is returned when the intersection have been computed. 0053 bool IsDone() const; 0054 0055 //! True is returned if a point has been found. 0056 bool HasAPoint() const; 0057 0058 //! Returns the U parameter of the intersection point 0059 //! on the surface. 0060 double UParameter() const; 0061 0062 //! Returns the V parameter of the intersection point 0063 //! on the surface. 0064 double VParameter() const; 0065 0066 //! Returns the parameter of the intersection point 0067 //! on the line. 0068 double WParameter() const; 0069 0070 //! Returns the geometric point of the intersection 0071 //! between the line and the surface. 0072 const gp_Pnt& Pnt() const; 0073 0074 //! Returns the transition of the line on the surface. 0075 IntCurveSurface_TransitionOnCurve Transition() const; 0076 0077 //! Returns the state of the point on the face. 0078 //! The values can be either TopAbs_IN 0079 //! ( the point is in the face) 0080 //! or TopAbs_ON 0081 //! ( the point is on a boundary of the face). 0082 TopAbs_State State() const; 0083 0084 //! Returns the significant face used to determine 0085 //! the intersection. 0086 const TopoDS_Face& Face() const; 0087 0088 private: 0089 gp_Pnt pnt; 0090 double U; 0091 double V; 0092 double W; 0093 IntCurveSurface_TransitionOnCurve transition; 0094 bool done; 0095 bool hasapoint; 0096 TopAbs_State state; 0097 TopoDS_Face face; 0098 }; 0099 0100 #include <BRepClass3d_Intersector3d.lxx> 0101 0102 #endif // _BRepClass3d_Intersector3d_HeaderFile
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|