Open CASCADE Technology 6.6.0
Public Member Functions
LocalAnalysis_CurveContinuity Class Reference

This class gives tools to check local continuity C0
C1 C2 G1 G2 between two points situated on two curves

#include <LocalAnalysis_CurveContinuity.hxx>

Public Member Functions

 LocalAnalysis_CurveContinuity (const Handle< Geom_Curve > &Curv1, const Standard_Real u1, const Handle< Geom_Curve > &Curv2, const Standard_Real u2, const GeomAbs_Shape Order, const Standard_Real EpsNul=0.001, const Standard_Real EpsC0=0.001, const Standard_Real EpsC1=0.001, const Standard_Real EpsC2=0.001, const Standard_Real EpsG1=0.001, const Standard_Real EpsG2=0.001, const Standard_Real Percent=0.01, const Standard_Real Maxlen=10000)
 

Standard_Boolean IsDone () const
LocalAnalysis_StatusErrorType StatusError () const
GeomAbs_Shape ContinuityStatus () const
Standard_Real C0Value () const
Standard_Real C1Angle () const
Standard_Real C1Ratio () const
Standard_Real C2Angle () const
Standard_Real C2Ratio () const
Standard_Real G1Angle () const
Standard_Real G2Angle () const
Standard_Real G2CurvatureVariation () const
Standard_Boolean IsC0 () const
Standard_Boolean IsC1 () const
Standard_Boolean IsC2 () const
Standard_Boolean IsG1 () const
Standard_Boolean IsG2 () const

Constructor & Destructor Documentation

LocalAnalysis_CurveContinuity::LocalAnalysis_CurveContinuity ( const Handle< Geom_Curve > &  Curv1,
const Standard_Real  u1,
const Handle< Geom_Curve > &  Curv2,
const Standard_Real  u2,
const GeomAbs_Shape  Order,
const Standard_Real  EpsNul = 0.001,
const Standard_Real  EpsC0 = 0.001,
const Standard_Real  EpsC1 = 0.001,
const Standard_Real  EpsC2 = 0.001,
const Standard_Real  EpsG1 = 0.001,
const Standard_Real  EpsG2 = 0.001,
const Standard_Real  Percent = 0.01,
const Standard_Real  Maxlen = 10000 
)

-u1 is the parameter of the point on Curv1
-u2 is the parameter of the point on Curv2
-Order is the required continuity:
GeomAbs_C0 GeomAbs_C1 GeomAbs_C2
GeomAbs_G1 GeomAbs_G2

-EpsNul is used to detect a a vector with nul
magnitude (in mm)

-EpsC0 is used for C0 continuity to confuse two
points (in mm)

-EpsC1 is an angular tolerance in radians used
for C1 continuity to compare the angle between
the first derivatives

-EpsC2 is an angular tolerance in radians used
for C2 continuity to compare the angle between
the second derivatives

-EpsG1 is an angular tolerance in radians used
for G1 continuity to compare the angle between
the tangents

-EpsG2 is an angular tolerance in radians used
for G2 continuity to compare the angle between
the normals

  • percent : percentage of curvature variation (unitless)
    used for G2 continuity

  • Maxlen is the maximum length of Curv1 or Curv2 in
    meters used to detect nul curvature (in mm)




    the constructor computes the quantities which are
    necessary to check the continuity in the following cases:

    case C0
    --------
  • the distance between P1 and P2 with P1=Curv1 (u1) and
    P2=Curv2(u2)

    case C1
    -------

  • the angle between the first derivatives
    dCurv1(u1) dCurv2(u2)
    -------- and ---------
    du du

  • the ratio between the magnitudes of the first
    derivatives

    the angle value is between 0 and PI/2

    case C2
    -------
  • the angle between the second derivatives
    2 2
    d Curv1(u1) d Curv2(u2)
    ---------- ----------
    2 2
    du du

    the angle value is between 0 and PI/2

  • the ratio between the magnitudes of the second
    derivatives

    case G1
    -------
    the angle between the tangents at each point

    the angle value is between 0 and PI/2

    case G2
    -------
    -the angle between the normals at each point

    the angle value is between 0 and PI/2

  • the relative variation of curvature:
    |curvat1-curvat2|
    ------------------
    1/2
    (curvat1*curvat2)

    where curvat1 is the curvature at the first point
    and curvat2 the curvature at the second point


Member Function Documentation

Standard_Real LocalAnalysis_CurveContinuity::C0Value ( ) const
Standard_Real LocalAnalysis_CurveContinuity::C1Angle ( ) const
Standard_Real LocalAnalysis_CurveContinuity::C1Ratio ( ) const
Standard_Real LocalAnalysis_CurveContinuity::C2Angle ( ) const
Standard_Real LocalAnalysis_CurveContinuity::C2Ratio ( ) const
GeomAbs_Shape LocalAnalysis_CurveContinuity::ContinuityStatus ( ) const
Standard_Real LocalAnalysis_CurveContinuity::G1Angle ( ) const
Standard_Real LocalAnalysis_CurveContinuity::G2Angle ( ) const
Standard_Real LocalAnalysis_CurveContinuity::G2CurvatureVariation ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsC0 ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsC1 ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsC2 ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsDone ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsG1 ( ) const
Standard_Boolean LocalAnalysis_CurveContinuity::IsG2 ( ) const
LocalAnalysis_StatusErrorType LocalAnalysis_CurveContinuity::StatusError ( ) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines