File indexing completed on 2026-07-04 08:31:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _BRepExtrema_SolutionElem_HeaderFile
0015 #define _BRepExtrema_SolutionElem_HeaderFile
0016
0017 #include <gp_Pnt.hxx>
0018 #include <BRepExtrema_SupportType.hxx>
0019 #include <TopoDS_Vertex.hxx>
0020 #include <TopoDS_Edge.hxx>
0021 #include <TopoDS_Face.hxx>
0022
0023
0024 class BRepExtrema_SolutionElem
0025 {
0026 public:
0027 DEFINE_STANDARD_ALLOC
0028
0029
0030 BRepExtrema_SolutionElem()
0031 : myDist(0.0),
0032 myPoint(0.0, 0.0, 0.0),
0033 mySupType(BRepExtrema_IsVertex),
0034 myPar1(0.0),
0035 myPar2(0.0)
0036 {
0037 }
0038
0039
0040
0041
0042
0043
0044
0045 BRepExtrema_SolutionElem(const Standard_Real theDist,
0046 const gp_Pnt& thePoint,
0047 const BRepExtrema_SupportType theSolType,
0048 const TopoDS_Vertex& theVertex)
0049 : myDist(theDist),
0050 myPoint(thePoint),
0051 mySupType(theSolType),
0052 myVertex(theVertex),
0053 myPar1(0.0),
0054 myPar2(0.0)
0055 {
0056 }
0057
0058
0059
0060
0061
0062
0063
0064
0065 BRepExtrema_SolutionElem(const Standard_Real theDist,
0066 const gp_Pnt& thePoint,
0067 const BRepExtrema_SupportType theSolType,
0068 const TopoDS_Edge& theEdge,
0069 const Standard_Real theParam)
0070 : myDist(theDist),
0071 myPoint(thePoint),
0072 mySupType(theSolType),
0073 myEdge(theEdge),
0074 myPar1(theParam),
0075 myPar2(0.0)
0076 {
0077 }
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087 BRepExtrema_SolutionElem(const Standard_Real theDist,
0088 const gp_Pnt& thePoint,
0089 const BRepExtrema_SupportType theSolType,
0090 const TopoDS_Face& theFace,
0091 const Standard_Real theU,
0092 const Standard_Real theV)
0093 : myDist(theDist),
0094 myPoint(thePoint),
0095 mySupType(theSolType),
0096 myFace(theFace),
0097 myPar1(theU),
0098 myPar2(theV)
0099 {
0100 }
0101
0102
0103 Standard_Real Dist() const { return myDist; }
0104
0105
0106 const gp_Pnt& Point() const { return myPoint; }
0107
0108
0109
0110
0111
0112 BRepExtrema_SupportType SupportKind() const { return mySupType; }
0113
0114
0115 const TopoDS_Vertex& Vertex() const { return myVertex; }
0116
0117
0118 const TopoDS_Edge& Edge() const { return myEdge; }
0119
0120
0121 const TopoDS_Face& Face() const { return myFace; }
0122
0123
0124 void EdgeParameter(Standard_Real& theParam) const { theParam = myPar1; }
0125
0126
0127 void FaceParameter(Standard_Real& theU, Standard_Real& theV) const
0128 {
0129 theU = myPar1;
0130 theV = myPar2;
0131 }
0132
0133 private:
0134 Standard_Real myDist;
0135 gp_Pnt myPoint;
0136 BRepExtrema_SupportType mySupType;
0137 TopoDS_Vertex myVertex;
0138 TopoDS_Edge myEdge;
0139 TopoDS_Face myFace;
0140 Standard_Real myPar1;
0141 Standard_Real myPar2;
0142 };
0143
0144 #endif