OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    BlendFunc_CSCircular Class Reference

    #include <BlendFunc_CSCircular.hxx>

    Inheritance diagram for BlendFunc_CSCircular:

    Public Member Functions

     BlendFunc_CSCircular (const occ::handle< Adaptor3d_Surface > &S, const occ::handle< Adaptor3d_Curve > &C, const occ::handle< Adaptor3d_Curve > &CGuide, const occ::handle< Law_Function > &L)
     Creates a function for a circular blending between a curve and a surface . The direction of the planes are given by <CGuide>. The position of the plane is determined on the curve . <L> defines the change of parameter between and <CGuide>. So, the planes are defined as described below: t is the current parameter on the guide line. Pguide = C(L(t)); Nguide = CGuide'(t)/||CGuide'(t)||.
    int NbVariables () const override
     Returns 3 (default value). Can be redefined.
    int NbEquations () const override
     returns the number of equations of the function (3).
    bool 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.
    bool 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.
    bool 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 double Param) override
     Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found.
    void Set (const double First, const double 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 double Tol) const override
     Returns in the vector Tolerance the parametric tolerance for each of the 3 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 3 variables. Returns in the vector SupBound the greatest values allowed for each of the 3 variables.
    bool IsSolution (const math_Vector &Sol, const double Tol) override
     Returns 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_Pnt & PointOnS () const override
     Returns the point on the surface.
    const gp_Pnt & PointOnC () const override
     Returns the point on the curve.
    const gp_Pnt2d & Pnt2d () const override
     Returns U,V coordinates of the point on the surface.
    double ParameterOnC () const override
     Returns parameter of the point on the curve.
    bool IsTangencyPoint () const override
     Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnC.
    const gp_Vec & TangentOnS () const override
     Returns the tangent vector at PointOnS, in 3d space.
    const gp_Vec2d & Tangent2d () const override
     Returns the tangent vector at PointOnS, in the parametric space of the first surface.
    const gp_Vec & TangentOnC () const override
     Returns the tangent vector at PointOnC, in 3d space.
    void Tangent (const double U, const double V, gp_Vec &TgS, gp_Vec &NormS) const override
     Returns the tangent vector at the section, at the beginning and the end of the section, and returns the normal (of the surface) at these points.
    void Set (const double Radius, const int Choix)
    void Set (const BlendFunc_SectionShape TypeSection)
     Sets the type of section generation for the approximations.
    void Section (const double Param, const double U, const double V, const double W, double &Pdeb, double &Pfin, gp_Circ &C)
    bool Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Vec > &D2Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< gp_Vec2d > &D2Poles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths, NCollection_Array1< double > &D2Weigths) override
     Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.
    bool GetSection (const double Param, const double U, const double V, const double W, NCollection_Array1< gp_Pnt > &tabP, NCollection_Array1< gp_Vec > &tabV)
    bool IsRational () const override
     Returns if the section is rational.
    double GetSectionSize () const override
     Returns the length of the maximum section.
    void GetMinimalWeight (NCollection_Array1< double > &Weigths) const override
     Compute the minimal value of weight for each poles of all sections.
    int NbIntervals (const GeomAbs_Shape S) const override
     Returns the number of intervals for continuity . May be one if Continuity(me) >= .
    void Intervals (NCollection_Array1< double > &T, const GeomAbs_Shape S) const override
     Stores in <T> the parameters bounding the intervals of continuity .
    void GetShape (int &NbPoles, int &NbKnots, int &Degree, int &NbPoles2d) override
    void GetTolerance (const double BoundTol, const double SurfTol, const double 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 (NCollection_Array1< double > &TKnots) override
    void Mults (NCollection_Array1< int > &TMults) override
    bool Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths) override
     Used for the first and last section.
    void Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< double > &Weigths) override
    void Resolution (const int IC2d, const double Tol, double &TolU, double &TolV) const override
    Public Member Functions inherited from Blend_CSFunction
    double GetMinimalDistance () const override
     Returns the minimal Distance between two extremities of calculated sections.
    const gp_Pnt & Pnt1 () const override
     Returns the point on the first support.
    const gp_Pnt & Pnt2 () const override
     Returns the point on the second support.
    Public Member Functions inherited from Blend_AppFunction
    double 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_FunctionSet
    virtual int 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 ()

    Constructor & Destructor Documentation

    ◆ BlendFunc_CSCircular()

    BlendFunc_CSCircular::BlendFunc_CSCircular ( const occ::handle< Adaptor3d_Surface > & S,
    const occ::handle< Adaptor3d_Curve > & C,
    const occ::handle< Adaptor3d_Curve > & CGuide,
    const occ::handle< Law_Function > & L )

    Creates a function for a circular blending between a curve and a surface . The direction of the planes are given by <CGuide>. The position of the plane is determined on the curve . <L> defines the change of parameter between and <CGuide>. So, the planes are defined as described below: t is the current parameter on the guide line. Pguide = C(L(t)); Nguide = CGuide'(t)/||CGuide'(t)||.

    Member Function Documentation

    ◆ Derivatives()

    bool BlendFunc_CSCircular::Derivatives ( const math_Vector & X,
    math_Matrix & D )
    overridevirtual

    returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Implements Blend_CSFunction.

    ◆ GetBounds()

    void BlendFunc_CSCircular::GetBounds ( math_Vector & InfBound,
    math_Vector & SupBound ) const
    overridevirtual

    Returns in the vector InfBound the lowest values allowed for each of the 3 variables. Returns in the vector SupBound the greatest values allowed for each of the 3 variables.

    Implements Blend_CSFunction.

    ◆ GetMinimalWeight()

    void BlendFunc_CSCircular::GetMinimalWeight ( NCollection_Array1< double > & Weigths) const
    overridevirtual

    Compute the minimal value of weight for each poles of all sections.

    Implements Blend_AppFunction.

    ◆ GetSection()

    bool BlendFunc_CSCircular::GetSection ( const double Param,
    const double U,
    const double V,
    const double W,
    NCollection_Array1< gp_Pnt > & tabP,
    NCollection_Array1< gp_Vec > & tabV )

    ◆ GetSectionSize()

    double BlendFunc_CSCircular::GetSectionSize ( ) const
    overridevirtual

    Returns the length of the maximum section.

    Implements Blend_AppFunction.

    ◆ GetShape()

    void BlendFunc_CSCircular::GetShape ( int & NbPoles,
    int & NbKnots,
    int & Degree,
    int & NbPoles2d )
    overridevirtual

    Implements Blend_CSFunction.

    ◆ GetTolerance() [1/2]

    void BlendFunc_CSCircular::GetTolerance ( const double BoundTol,
    const double SurfTol,
    const double AngleTol,
    math_Vector & Tol3d,
    math_Vector & Tol1D ) const
    overridevirtual

    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.

    Implements Blend_CSFunction.

    ◆ GetTolerance() [2/2]

    void BlendFunc_CSCircular::GetTolerance ( math_Vector & Tolerance,
    const double Tol ) const
    overridevirtual

    Returns in the vector Tolerance the parametric tolerance for each of the 3 variables; Tol is the tolerance used in 3d space.

    Implements Blend_CSFunction.

    ◆ Intervals()

    void BlendFunc_CSCircular::Intervals ( NCollection_Array1< double > & T,
    const GeomAbs_Shape S ) const
    overridevirtual

    Stores in <T> the parameters bounding the intervals of continuity .

    The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() raises OutOfRange from Standard

    Implements Blend_AppFunction.

    ◆ IsRational()

    bool BlendFunc_CSCircular::IsRational ( ) const
    overridevirtual

    Returns if the section is rational.

    Implements Blend_AppFunction.

    ◆ IsSolution()

    bool BlendFunc_CSCircular::IsSolution ( const math_Vector & Sol,
    const double Tol )
    overridevirtual

    Returns 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.

    Implements Blend_CSFunction.

    ◆ IsTangencyPoint()

    bool BlendFunc_CSCircular::IsTangencyPoint ( ) const
    overridevirtual

    Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnC.

    Implements Blend_CSFunction.

    ◆ Knots()

    void BlendFunc_CSCircular::Knots ( NCollection_Array1< double > & TKnots)
    overridevirtual

    Implements Blend_CSFunction.

    ◆ Mults()

    void BlendFunc_CSCircular::Mults ( NCollection_Array1< int > & TMults)
    overridevirtual

    Implements Blend_CSFunction.

    ◆ NbEquations()

    int BlendFunc_CSCircular::NbEquations ( ) const
    overridevirtual

    returns the number of equations of the function (3).

    Implements Blend_CSFunction.

    ◆ NbIntervals()

    int BlendFunc_CSCircular::NbIntervals ( const GeomAbs_Shape S) const
    overridevirtual

    Returns the number of intervals for continuity . May be one if Continuity(me) >= .

    Implements Blend_AppFunction.

    ◆ NbVariables()

    int BlendFunc_CSCircular::NbVariables ( ) const
    overridevirtual

    Returns 3 (default value). Can be redefined.

    Reimplemented from Blend_CSFunction.

    ◆ ParameterOnC()

    double BlendFunc_CSCircular::ParameterOnC ( ) const
    overridevirtual

    Returns parameter of the point on the curve.

    Implements Blend_CSFunction.

    ◆ Pnt2d()

    const gp_Pnt2d & BlendFunc_CSCircular::Pnt2d ( ) const
    overridevirtual

    Returns U,V coordinates of the point on the surface.

    Implements Blend_CSFunction.

    ◆ PointOnC()

    const gp_Pnt & BlendFunc_CSCircular::PointOnC ( ) const
    overridevirtual

    Returns the point on the curve.

    Implements Blend_CSFunction.

    ◆ PointOnS()

    const gp_Pnt & BlendFunc_CSCircular::PointOnS ( ) const
    overridevirtual

    Returns the point on the surface.

    Implements Blend_CSFunction.

    ◆ Resolution()

    void BlendFunc_CSCircular::Resolution ( const int IC2d,
    const double Tol,
    double & TolU,
    double & TolV ) const
    overridevirtual

    Implements Blend_AppFunction.

    ◆ Section() [1/4]

    void BlendFunc_CSCircular::Section ( const Blend_Point & P,
    NCollection_Array1< gp_Pnt > & Poles,
    NCollection_Array1< gp_Pnt2d > & Poles2d,
    NCollection_Array1< double > & Weigths )
    overridevirtual

    Implements Blend_CSFunction.

    ◆ Section() [2/4]

    bool BlendFunc_CSCircular::Section ( const Blend_Point & P,
    NCollection_Array1< gp_Pnt > & Poles,
    NCollection_Array1< gp_Vec > & DPoles,
    NCollection_Array1< gp_Pnt2d > & Poles2d,
    NCollection_Array1< gp_Vec2d > & DPoles2d,
    NCollection_Array1< double > & Weigths,
    NCollection_Array1< double > & DWeigths )
    overridevirtual

    Used for the first and last section.

    Implements Blend_CSFunction.

    ◆ Section() [3/4]

    bool BlendFunc_CSCircular::Section ( const Blend_Point & P,
    NCollection_Array1< gp_Pnt > & Poles,
    NCollection_Array1< gp_Vec > & DPoles,
    NCollection_Array1< gp_Vec > & D2Poles,
    NCollection_Array1< gp_Pnt2d > & Poles2d,
    NCollection_Array1< gp_Vec2d > & DPoles2d,
    NCollection_Array1< gp_Vec2d > & D2Poles2d,
    NCollection_Array1< double > & Weigths,
    NCollection_Array1< double > & DWeigths,
    NCollection_Array1< double > & D2Weigths )
    overridevirtual

    Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.

    Reimplemented from Blend_CSFunction.

    ◆ Section() [4/4]

    void BlendFunc_CSCircular::Section ( const double Param,
    const double U,
    const double V,
    const double W,
    double & Pdeb,
    double & Pfin,
    gp_Circ & C )

    ◆ Set() [1/4]

    void BlendFunc_CSCircular::Set ( const BlendFunc_SectionShape TypeSection)

    Sets the type of section generation for the approximations.

    ◆ Set() [2/4]

    void BlendFunc_CSCircular::Set ( const double First,
    const double Last )
    overridevirtual

    Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.

    Implements Blend_CSFunction.

    ◆ Set() [3/4]

    void BlendFunc_CSCircular::Set ( const double Param)
    overridevirtual

    Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found.

    Implements Blend_CSFunction.

    ◆ Set() [4/4]

    void BlendFunc_CSCircular::Set ( const double Radius,
    const int Choix )

    ◆ Tangent()

    void BlendFunc_CSCircular::Tangent ( const double U,
    const double V,
    gp_Vec & TgS,
    gp_Vec & NormS ) const
    overridevirtual

    Returns the tangent vector at the section, at the beginning and the end of the section, and returns the normal (of the surface) at these points.

    Implements Blend_CSFunction.

    ◆ Tangent2d()

    const gp_Vec2d & BlendFunc_CSCircular::Tangent2d ( ) const
    overridevirtual

    Returns the tangent vector at PointOnS, in the parametric space of the first surface.

    Implements Blend_CSFunction.

    ◆ TangentOnC()

    const gp_Vec & BlendFunc_CSCircular::TangentOnC ( ) const
    overridevirtual

    Returns the tangent vector at PointOnC, in 3d space.

    Implements Blend_CSFunction.

    ◆ TangentOnS()

    const gp_Vec & BlendFunc_CSCircular::TangentOnS ( ) const
    overridevirtual

    Returns the tangent vector at PointOnS, in 3d space.

    Implements Blend_CSFunction.

    ◆ Value()

    bool BlendFunc_CSCircular::Value ( const math_Vector & X,
    math_Vector & F )
    overridevirtual

    computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.

    Implements Blend_CSFunction.

    ◆ Values()

    bool BlendFunc_CSCircular::Values ( const math_Vector & X,
    math_Vector & F,
    math_Matrix & D )
    overridevirtual

    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.

    Implements Blend_CSFunction.


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