Open CASCADE Technology
6.8.0
|
Tool class intended to obtain parameters based on shape geometry. More...
#include <BRepMesh_GeomTool.hxx>
Public Types | |
enum | IntFlag { NoIntersection, Cross, EndPointTouch, PointOnSegment, Glued, Same } |
Enumerates states of segments intersection check. More... | |
Public Member Functions | |
BRepMesh_GeomTool (const BRepAdaptor_Curve &theCurve, const Standard_Real theFirstParam, const Standard_Real theLastParam, const Standard_Real theLinDeflection, const Standard_Real theAngDeflection, const Standard_Integer theMinPointsNb=2) | |
Constructor. Initiates discretization of the given geometric curve. More... | |
BRepMesh_GeomTool (const Handle< BRepAdaptor_HSurface > &theSurface, const GeomAbs_IsoType theIsoType, const Standard_Real theParamIso, const Standard_Real theFirstParam, const Standard_Real theLastParam, const Standard_Real theLinDeflection, const Standard_Real theAngDeflection, const Standard_Integer theMinPointsNb=2) | |
Constructor. Initiates discretization of geometric curve corresponding to iso curve of the given surface. More... | |
Standard_Integer | AddPoint (const gp_Pnt &thePoint, const Standard_Real theParam, const Standard_Boolean theIsReplace=Standard_True) |
Adds point to already calculated points (or replaces existing). More... | |
Standard_Integer | NbPoints () const |
Returns number of discretization points. More... | |
Standard_Boolean | Value (const Standard_Integer theIndex, const Standard_Real theIsoParam, Standard_Real &theParam, gp_Pnt &thePoint, gp_Pnt2d &theUV) const |
Gets parameters of discretization point with the given index. More... | |
Standard_Boolean | Value (const Standard_Integer theIndex, const Handle< BRepAdaptor_HSurface > &theSurface, Standard_Real &theParam, gp_Pnt &thePoint, gp_Pnt2d &theUV) const |
Gets parameters of discretization point with the given index. More... | |
static API | |
static Standard_Boolean | Normal (const Handle< BRepAdaptor_HSurface > &theSurface, const Standard_Real theParamU, const Standard_Real theParamV, gp_Pnt &thePoint, gp_Dir &theNormal) |
static IntFlag | IntLinLin (const gp_XY &theStartPnt1, const gp_XY &theEndPnt1, const gp_XY &theStartPnt2, const gp_XY &theEndPnt2, gp_XY &theIntPnt, Standard_Real(&theParamOnSegment)[2]) |
Checks intersection between two lines defined by two points. More... | |
static IntFlag | IntSegSeg (const gp_XY &theStartPnt1, const gp_XY &theEndPnt1, const gp_XY &theStartPnt2, const gp_XY &theEndPnt2, const Standard_Boolean isConsiderEndPointTouch, const Standard_Boolean isConsiderPointOnSegment, gp_Pnt2d &theIntPnt) |
Checks intersection between the two segments. Checks that intersection point lies within ranges of both segments. More... | |
Tool class intended to obtain parameters based on shape geometry.
BRepMesh_GeomTool::BRepMesh_GeomTool | ( | const BRepAdaptor_Curve & | theCurve, |
const Standard_Real | theFirstParam, | ||
const Standard_Real | theLastParam, | ||
const Standard_Real | theLinDeflection, | ||
const Standard_Real | theAngDeflection, | ||
const Standard_Integer | theMinPointsNb = 2 |
||
) |
Constructor. Initiates discretization of the given geometric curve.
theCurve | curve to be discretized. |
theFirstParam | first parameter of the curve. |
theLastParam | last parameter of the curve. |
theLinDeflection | linear deflection. |
theAngDeflection | angular deflection. |
theMinPointsNb | minimum nuber of points to be produced. |
BRepMesh_GeomTool::BRepMesh_GeomTool | ( | const Handle< BRepAdaptor_HSurface > & | theSurface, |
const GeomAbs_IsoType | theIsoType, | ||
const Standard_Real | theParamIso, | ||
const Standard_Real | theFirstParam, | ||
const Standard_Real | theLastParam, | ||
const Standard_Real | theLinDeflection, | ||
const Standard_Real | theAngDeflection, | ||
const Standard_Integer | theMinPointsNb = 2 |
||
) |
Constructor. Initiates discretization of geometric curve corresponding to iso curve of the given surface.
theSurface | surface the iso curve to be taken from. |
theIsoType | type of iso curve to be used, U or V. |
theParamIso | parameter on the surface specifying the iso curve. |
theFirstParam | first parameter of the curve. |
theLastParam | last parameter of the curve. |
theLinDeflection | linear deflection. |
theAngDeflection | angular deflection. |
theMinPointsNb | minimum nuber of points to be produced. |
|
inline |
Adds point to already calculated points (or replaces existing).
thePoint | point to be added. |
theParam | parameter on the curve corresponding to the given point. |
theIsReplace | if TRUE replaces existing point lying within parameteric tolerance of the given point. |
|
static |
Checks intersection between two lines defined by two points.
theStartPnt1 | start point of first line. | |
theEndPnt1 | end point of first line. | |
theStartPnt2 | start point of second line. | |
theEndPnt2 | end point of second line. | |
[out] | theIntPnt | point of intersection. |
[out] | theParamOnSegment | parameters of intersection point corresponding to first and second segment. |
|
static |
Checks intersection between the two segments. Checks that intersection point lies within ranges of both segments.
theStartPnt1 | start point of first segment. | |
theEndPnt1 | end point of first segment. | |
theStartPnt2 | start point of second segment. | |
theEndPnt2 | end point of second segment. | |
isConsiderEndPointTouch | if TRUE EndPointTouch status will be returned in case if segments are touching by end points, if FALSE returns NoIntersection flag. | |
isConsiderPointOnSegment | if TRUE PointOnSegment status will be returned in case if end point of one segment lies onto another one, if FALSE returns NoIntersection flag. | |
[out] | theIntPnt | point of intersection. |
|
inline |
Returns number of discretization points.
|
static |
theSurface | surface the nomal should be found for. | |
theParamU | U parameter in parametric space of the surface. | |
theParamV | V parameter in parametric space of the surface. | |
[out] | thePoint | 3d point corresponding to the given parameters. |
[out] | theNormal | normal vector at the point specified by the parameters. |
Standard_Boolean BRepMesh_GeomTool::Value | ( | const Standard_Integer | theIndex, |
const Standard_Real | theIsoParam, | ||
Standard_Real & | theParam, | ||
gp_Pnt & | thePoint, | ||
gp_Pnt2d & | theUV | ||
) | const |
Gets parameters of discretization point with the given index.
theIndex | index of discretization point. |
theIsoParam | parameter on surface to be used as second coordinate of resulting 2d point. |
theParam[out] | parameter of the point on the iso curve. |
thePoint[out] | discretization point. |
theUV[out] | discretization point in parametric space of the surface. |
Standard_Boolean BRepMesh_GeomTool::Value | ( | const Standard_Integer | theIndex, |
const Handle< BRepAdaptor_HSurface > & | theSurface, | ||
Standard_Real & | theParam, | ||
gp_Pnt & | thePoint, | ||
gp_Pnt2d & | theUV | ||
) | const |
Gets parameters of discretization point with the given index.
theIndex | index of discretization point. |
theSurface | surface the curve is lying onto. |
theParam[out] | parameter of the point on the curve. |
thePoint[out] | discretization point. |
theUV[out] | discretization point in parametric space of the surface. |