Open CASCADE Technology 7.8.2.dev
BRepBlend_RstRstLineBuilder Class Reference

This class processes the data resulting from Blend_CSWalking but it takes in consideration the Surface supporting the curve to detect the breakpoint. More...

#include <BRepBlend_RstRstLineBuilder.hxx>

Public Member Functions

 BRepBlend_RstRstLineBuilder (const Handle< Adaptor3d_Surface > &Surf1, const Handle< Adaptor2d_Curve2d > &Rst1, const Handle< Adaptor3d_TopolTool > &Domain1, const Handle< Adaptor3d_Surface > &Surf2, const Handle< Adaptor2d_Curve2d > &Rst2, const Handle< Adaptor3d_TopolTool > &Domain2)
 
void Perform (Blend_RstRstFunction &Func, Blend_SurfCurvFuncInv &Finv1, Blend_CurvPointFuncInv &FinvP1, Blend_SurfCurvFuncInv &Finv2, Blend_CurvPointFuncInv &FinvP2, const Standard_Real Pdep, const Standard_Real Pmax, const Standard_Real MaxStep, const Standard_Real Tol3d, const Standard_Real TolGuide, const math_Vector &Soldep, const Standard_Real Fleche, const Standard_Boolean Appro=Standard_False)
 
Standard_Boolean PerformFirstSection (Blend_RstRstFunction &Func, Blend_SurfCurvFuncInv &Finv1, Blend_CurvPointFuncInv &FinvP1, Blend_SurfCurvFuncInv &Finv2, Blend_CurvPointFuncInv &FinvP2, const Standard_Real Pdep, const Standard_Real Pmax, const math_Vector &Soldep, const Standard_Real Tol3d, const Standard_Real TolGuide, const Standard_Boolean RecRst1, const Standard_Boolean RecP1, const Standard_Boolean RecRst2, const Standard_Boolean RecP2, Standard_Real &Psol, math_Vector &ParSol)
 
Standard_Boolean Complete (Blend_RstRstFunction &Func, Blend_SurfCurvFuncInv &Finv1, Blend_CurvPointFuncInv &FinvP1, Blend_SurfCurvFuncInv &Finv2, Blend_CurvPointFuncInv &FinvP2, const Standard_Real Pmin)
 
Standard_Boolean IsDone () const
 
const Handle< BRepBlend_Line > & Line () const
 
Standard_Boolean Decroch1Start () const
 
Standard_Boolean Decroch1End () const
 
Standard_Boolean Decroch2Start () const
 
Standard_Boolean Decroch2End () const
 

Detailed Description

This class processes the data resulting from Blend_CSWalking but it takes in consideration the Surface supporting the curve to detect the breakpoint.

As a result, the criteria of distribution of points on the line become more flexible because it should calculate values approached by an approximation of continued functions based on the Blend_RstRstFunction.

Thus this pseudo path necessitates 3 criteria of regrouping :

1) exit of the domain of the curve

2) exit of the domain of the surface

3) stall as there is a solution of problem surf/surf within the domain of the surface of support of the restriction.

Construction of a BRepBlend_Line between two pcurves from an approached starting solution. The output entries of this builder are of the same nature as of a traditional walking, but the requirements to the Line are not the same. If the determination of validity range is always guaranteed, the criteria of correct repartition of sections before smoothing are not respected. The resulting Line is f(t) oriented.

Constructor & Destructor Documentation

◆ BRepBlend_RstRstLineBuilder()

BRepBlend_RstRstLineBuilder::BRepBlend_RstRstLineBuilder ( const Handle< Adaptor3d_Surface > & Surf1,
const Handle< Adaptor2d_Curve2d > & Rst1,
const Handle< Adaptor3d_TopolTool > & Domain1,
const Handle< Adaptor3d_Surface > & Surf2,
const Handle< Adaptor2d_Curve2d > & Rst2,
const Handle< Adaptor3d_TopolTool > & Domain2 )

Member Function Documentation

◆ Complete()

Standard_Boolean BRepBlend_RstRstLineBuilder::Complete ( Blend_RstRstFunction & Func,
Blend_SurfCurvFuncInv & Finv1,
Blend_CurvPointFuncInv & FinvP1,
Blend_SurfCurvFuncInv & Finv2,
Blend_CurvPointFuncInv & FinvP2,
const Standard_Real Pmin )

◆ Decroch1End()

Standard_Boolean BRepBlend_RstRstLineBuilder::Decroch1End ( ) const

◆ Decroch1Start()

Standard_Boolean BRepBlend_RstRstLineBuilder::Decroch1Start ( ) const

◆ Decroch2End()

Standard_Boolean BRepBlend_RstRstLineBuilder::Decroch2End ( ) const

◆ Decroch2Start()

Standard_Boolean BRepBlend_RstRstLineBuilder::Decroch2Start ( ) const

◆ IsDone()

Standard_Boolean BRepBlend_RstRstLineBuilder::IsDone ( ) const

◆ Line()

const Handle< BRepBlend_Line > & BRepBlend_RstRstLineBuilder::Line ( ) const

◆ Perform()

void BRepBlend_RstRstLineBuilder::Perform ( Blend_RstRstFunction & Func,
Blend_SurfCurvFuncInv & Finv1,
Blend_CurvPointFuncInv & FinvP1,
Blend_SurfCurvFuncInv & Finv2,
Blend_CurvPointFuncInv & FinvP2,
const Standard_Real Pdep,
const Standard_Real Pmax,
const Standard_Real MaxStep,
const Standard_Real Tol3d,
const Standard_Real TolGuide,
const math_Vector & Soldep,
const Standard_Real Fleche,
const Standard_Boolean Appro = Standard_False )

◆ PerformFirstSection()

Standard_Boolean BRepBlend_RstRstLineBuilder::PerformFirstSection ( Blend_RstRstFunction & Func,
Blend_SurfCurvFuncInv & Finv1,
Blend_CurvPointFuncInv & FinvP1,
Blend_SurfCurvFuncInv & Finv2,
Blend_CurvPointFuncInv & FinvP2,
const Standard_Real Pdep,
const Standard_Real Pmax,
const math_Vector & Soldep,
const Standard_Real Tol3d,
const Standard_Real TolGuide,
const Standard_Boolean RecRst1,
const Standard_Boolean RecP1,
const Standard_Boolean RecRst2,
const Standard_Boolean RecP2,
Standard_Real & Psol,
math_Vector & ParSol )

The documentation for this class was generated from the following file: