Open CASCADE Technology 7.8.2.dev
|
Class for a function used to compute a chamfer with constant throat: the section of chamfer is right-angled triangle, the first of two surfaces (where is the top of the chamfer) is virtually moved inside the solid by offset operation, the apex of the section is on the intersection curve between moved surface and second surface, right angle is at the top of the chamfer, the length of the leg from apex to top is constant - it is throat. More...
#include <BlendFunc_ConstThroatWithPenetration.hxx>
Public Member Functions | |
BlendFunc_ConstThroatWithPenetration (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_Curve > &C) | |
Standard_Boolean | Value (const math_Vector &X, math_Vector &F) override |
computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
Standard_Boolean | Derivatives (const math_Vector &X, math_Matrix &D) override |
returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
Standard_Boolean | IsSolution (const math_Vector &Sol, const Standard_Real Tol) override |
Returns Standard_True if Sol is a zero of the function. Tol is the tolerance used in 3d space. The computation is made at the current value of the parameter on the guide line. | |
const gp_Vec & | TangentOnS1 () const override |
Returns the tangent vector at PointOnS1, in 3d space. | |
const gp_Vec2d & | Tangent2dOnS1 () const override |
Returns the tangent vector at PointOnS1, in the parametric space of the first surface. | |
const gp_Vec & | TangentOnS2 () const override |
Returns the tangent vector at PointOnS2, in 3d space. | |
const gp_Vec2d & | Tangent2dOnS2 () const override |
Returns the tangent vector at PointOnS2, in the parametric space of the second surface. | |
Standard_Real | GetSectionSize () const override |
Returns the tangent vector at the section, at the beginning and the end of the section, and returns the normal (of the surfaces) at these points. | |
Public Member Functions inherited from BlendFunc_ConstThroat | |
BlendFunc_ConstThroat (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_Curve > &C) | |
void | Set (const Standard_Real Param) override |
Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found. | |
const gp_Pnt & | PointOnS1 () const override |
Returns the point on the first surface, at parameter Sol(1),Sol(2) (Sol is the vector used in the call of IsSolution. | |
const gp_Pnt & | PointOnS2 () const override |
Returns the point on the second surface, at parameter Sol(3),Sol(4) (Sol is the vector used in the call of IsSolution. | |
Standard_Boolean | IsTangencyPoint () const override |
Returns True when it is not possible to compute the tangent vectors at PointOnS1 and/or PointOnS2. | |
void | Tangent (const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, gp_Vec &TgFirst, gp_Vec &TgLast, gp_Vec &NormFirst, gp_Vec &NormLast) const override |
Returns the tangent vector at the section, at the beginning and the end of the section, and returns the normal (of the surfaces) at these points. | |
void | Set (const Standard_Real aThroat, const Standard_Real, const Standard_Integer Choix) override |
Sets the throat and the "quadrant". | |
Public Member Functions inherited from BlendFunc_GenChamfer | |
BlendFunc_GenChamfer (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_Curve > &CG) | |
Standard_Integer | NbEquations () const override |
returns the number of equations of the function. | |
Standard_Boolean | Values (const math_Vector &X, math_Vector &F, math_Matrix &D) override |
returns the values <F> of the functions and the derivatives <D> for the variable <X>. Returns True if the computation was done successfully, False otherwise. | |
void | Set (const Standard_Real First, const Standard_Real Last) override |
Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn. | |
void | GetTolerance (math_Vector &Tolerance, const Standard_Real Tol) const override |
Returns in the vector Tolerance the parametric tolerance for each of the 4 variables; Tol is the tolerance used in 3d space. | |
void | GetBounds (math_Vector &InfBound, math_Vector &SupBound) const override |
Returns in the vector InfBound the lowest values allowed for each of the 4 variables. Returns in the vector SupBound the greatest values allowed for each of the 4 variables. | |
Standard_Real | GetMinimalDistance () const override |
Returns the minimal Distance between two extremities of calculated sections. | |
Standard_Boolean | IsRational () const override |
Returns False. | |
void | GetMinimalWeight (TColStd_Array1OfReal &Weigths) const override |
Compute the minimal value of weight for each poles of all sections. | |
Standard_Integer | NbIntervals (const GeomAbs_Shape S) const override |
Returns the number of intervals for continuity | |
void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override |
Stores in <T> the parameters bounding the intervals of continuity | |
void | GetShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree, Standard_Integer &NbPoles2d) override |
void | GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const override |
Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface. | |
void | Knots (TColStd_Array1OfReal &TKnots) override |
void | Mults (TColStd_Array1OfInteger &TMults) override |
void | Section (const Standard_Real Param, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Standard_Real &Pdeb, Standard_Real &Pfin, gp_Lin &C) |
Obsolete method. | |
Standard_Boolean | Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfVec &D2Poles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColgp_Array1OfVec2d &D2Poles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths, TColStd_Array1OfReal &D2Weigths) override |
Used for the first and last section. | |
Standard_Boolean | Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths) override |
Used for the first and last section. | |
void | Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths) override |
void | Resolution (const Standard_Integer IC2d, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const override |
Public Member Functions inherited from Blend_Function | |
Standard_Integer | NbVariables () const override |
Returns 4. | |
const gp_Pnt & | Pnt1 () const override |
Returns the point on the first support. | |
const gp_Pnt & | Pnt2 () const override |
Returns the point on the seconde support. | |
virtual Standard_Boolean | TwistOnS1 () const |
virtual Standard_Boolean | TwistOnS2 () const |
Public Member Functions inherited from Blend_AppFunction | |
Standard_Real | Parameter (const Blend_Point &P) const |
Returns the parameter of the point P. Used to impose the parameters in the approximation. | |
Public Member Functions inherited from math_FunctionSetWithDerivatives | |
Public Member Functions inherited from math_FunctionSet | |
virtual Standard_Integer | GetStateNumber () |
Returns the state of the function corresponding to the latestcall of any methods associated with the function. This function is called by each of the algorithms described later which define the function Integer Algorithm::StateNumber(). The algorithm has the responsibility to call this function when it has found a solution (i.e. a root or a minimum) and has to maintain the association between the solution found and this StateNumber. Byu default, this method returns 0 (which means for the algorithm: no state has been saved). It is the responsibility of the programmer to decide if he needs to save the current state of the function and to return an Integer that allows retrieval of the state. | |
virtual | ~math_FunctionSet () |
Additional Inherited Members | |
Protected Attributes inherited from BlendFunc_ConstThroat | |
gp_Pnt | pts1 |
gp_Pnt | pts2 |
gp_Vec | d1u1 |
gp_Vec | d1v1 |
gp_Vec | d1u2 |
gp_Vec | d1v2 |
Standard_Boolean | istangent |
gp_Vec | tg1 |
gp_Vec2d | tg12d |
gp_Vec | tg2 |
gp_Vec2d | tg22d |
Standard_Real | param |
Standard_Real | Throat |
gp_Pnt | ptgui |
gp_Vec | nplan |
Standard_Real | normtg |
Standard_Real | theD |
gp_Vec | d1gui |
gp_Vec | d2gui |
Protected Attributes inherited from BlendFunc_GenChamfer | |
Handle< Adaptor3d_Surface > | surf1 |
Handle< Adaptor3d_Surface > | surf2 |
Handle< Adaptor3d_Curve > | curv |
Standard_Integer | choix |
Standard_Real | tol |
Standard_Real | distmin |
Class for a function used to compute a chamfer with constant throat: the section of chamfer is right-angled triangle, the first of two surfaces (where is the top of the chamfer) is virtually moved inside the solid by offset operation, the apex of the section is on the intersection curve between moved surface and second surface, right angle is at the top of the chamfer, the length of the leg from apex to top is constant - it is throat.
BlendFunc_ConstThroatWithPenetration::BlendFunc_ConstThroatWithPenetration | ( | const Handle< Adaptor3d_Surface > & | S1, |
const Handle< Adaptor3d_Surface > & | S2, | ||
const Handle< Adaptor3d_Curve > & | C ) |
|
overridevirtual |
returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns the tangent vector at the section, at the beginning and the end of the section, and returns the normal (of the surfaces) at these points.
Sets the throat and the "quadrant". Returns the length of the maximum section
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns Standard_True if Sol is a zero of the function. Tol is the tolerance used in 3d space. The computation is made at the current value of the parameter on the guide line.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns the tangent vector at PointOnS1, in the parametric space of the first surface.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns the tangent vector at PointOnS2, in the parametric space of the second surface.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns the tangent vector at PointOnS1, in 3d space.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
Returns the tangent vector at PointOnS2, in 3d space.
Reimplemented from BlendFunc_ConstThroat.
|
overridevirtual |
computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Reimplemented from BlendFunc_ConstThroat.