Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
LocalAnalysis_SurfaceContinuity Class Reference

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

#include <LocalAnalysis_SurfaceContinuity.hxx>

Public Member Functions

 LocalAnalysis_SurfaceContinuity (const Handle< Geom_Surface > &Surf1, const Standard_Real u1, const Standard_Real v1, const Handle< Geom_Surface > &Surf2, const Standard_Real u2, const Standard_Real v2, 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 Percent=0.01, const Standard_Real Maxlen=10000)
 
         -u1,v1 are  the parameters of the point on Surf1 <br>
      -u2,v2  are  the  parameters of the point on Surf2 <br>
      -Order  is the required continuity: <br>
       GeomAbs_C0    GeomAbs_C1  GeomAbs_C2 <br>
       GeomAbs_G1 GeomAbs_G2 <br>


-EpsNul is used to detect a a vector with nul
magnitude

-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 normals


-Percent : percentage of curvature variation (unitless)
used for G2 continuity

More...

 
 LocalAnalysis_SurfaceContinuity (const Handle< Geom2d_Curve > &curv1, const Handle< Geom2d_Curve > &curv2, const Standard_Real U, const Handle< Geom_Surface > &Surf1, const Handle< Geom_Surface > &Surf2, 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 Percent=0.01, const Standard_Real Maxlen=10000)
 
 LocalAnalysis_SurfaceContinuity (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 Percent=0.01, const Standard_Real Maxlen=10000)
 This constructor is used when we want to compute many analysis.
After we use the method ComputeAnalysis
More...
 
void ComputeAnalysis (GeomLProp_SLProps &Surf1, GeomLProp_SLProps &Surf2, const GeomAbs_Shape Order)
 
Standard_Boolean IsDone () const
 
GeomAbs_Shape ContinuityStatus () const
 
LocalAnalysis_StatusErrorType StatusError () const
 
Standard_Real C0Value () const
 
Standard_Real C1UAngle () const
 
Standard_Real C1URatio () const
 
Standard_Real C1VAngle () const
 
Standard_Real C1VRatio () const
 
Standard_Real C2UAngle () const
 
Standard_Real C2URatio () const
 
Standard_Real C2VAngle () const
 
Standard_Real C2VRatio () const
 
Standard_Real G1Angle () const
 
Standard_Real G2CurvatureGap () const
 
Standard_Boolean IsC0 () const
 
Standard_Boolean IsC1 () const
 
Standard_Boolean IsC2 () const
 
Standard_Boolean IsG1 () const
 
Standard_Boolean IsG2 () const
 

Detailed Description

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

Constructor & Destructor Documentation

LocalAnalysis_SurfaceContinuity::LocalAnalysis_SurfaceContinuity ( const Handle< Geom_Surface > &  Surf1,
const Standard_Real  u1,
const Standard_Real  v1,
const Handle< Geom_Surface > &  Surf2,
const Standard_Real  u2,
const Standard_Real  v2,
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  Percent = 0.01,
const Standard_Real  Maxlen = 10000 
)

         -u1,v1 are  the parameters of the point on Surf1 <br>
      -u2,v2  are  the  parameters of the point on Surf2 <br>
      -Order  is the required continuity: <br>
       GeomAbs_C0    GeomAbs_C1  GeomAbs_C2 <br>
       GeomAbs_G1 GeomAbs_G2 <br>


-EpsNul is used to detect a a vector with nul
magnitude

-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 normals


-Percent : percentage of curvature variation (unitless)
used for G2 continuity

      - Maxlen is the maximum length of Surf1 or Surf2  in <br>
      meters used to detect null curvature (in mm) <br>




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=Surf (u1,v1) and
    P2=Surfv2(u2,v2)


    case C1
    ----—

  • the angle between the first derivatives in u :

    dSurf1(u1,v1) dSurf2(u2,v2)
    --------— and ------—
    du du

    the angle value is between 0 and PI/2

  • the angle between the first derivatives in v :

    dSurf1(u1,v1) dSurf2(u2,v2)
    -----— and ------—
    dv dv

  • the ratio between the magnitudes of the first derivatives in u
  • the ratio between the magnitudes of the first derivatives in v

    the angle value is between 0 and pi/2

    case C2
    ----—
  • the angle between the second derivatives in u
    2 2
    d Surf1(u1,v1) d Surf2(u2,v2)
    -------— -------—
    2 2
    d u d u

the ratio between the magnitudes of the second derivatives in u

  • the ratio between the magnitudes of the second derivatives in v

    the angle value is between 0 and PI/2

    case G1
    ----—
    -the angle between the normals at each point
    the angle value is between 0 and PI/2

    case G2
    ----—
    • the maximum normal curvature gap between the two
      points

LocalAnalysis_SurfaceContinuity::LocalAnalysis_SurfaceContinuity ( const Handle< Geom2d_Curve > &  curv1,
const Handle< Geom2d_Curve > &  curv2,
const Standard_Real  U,
const Handle< Geom_Surface > &  Surf1,
const Handle< Geom_Surface > &  Surf2,
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  Percent = 0.01,
const Standard_Real  Maxlen = 10000 
)
LocalAnalysis_SurfaceContinuity::LocalAnalysis_SurfaceContinuity ( 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  Percent = 0.01,
const Standard_Real  Maxlen = 10000 
)

This constructor is used when we want to compute many analysis.
After we use the method ComputeAnalysis

Member Function Documentation

Standard_Real LocalAnalysis_SurfaceContinuity::C0Value ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C1UAngle ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C1URatio ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C1VAngle ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C1VRatio ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C2UAngle ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C2URatio ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C2VAngle ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::C2VRatio ( ) const
void LocalAnalysis_SurfaceContinuity::ComputeAnalysis ( GeomLProp_SLProps Surf1,
GeomLProp_SLProps Surf2,
const GeomAbs_Shape  Order 
)
GeomAbs_Shape LocalAnalysis_SurfaceContinuity::ContinuityStatus ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::G1Angle ( ) const
Standard_Real LocalAnalysis_SurfaceContinuity::G2CurvatureGap ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC0 ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC1 ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC2 ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsDone ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsG1 ( ) const
Standard_Boolean LocalAnalysis_SurfaceContinuity::IsG2 ( ) const
LocalAnalysis_StatusErrorType LocalAnalysis_SurfaceContinuity::StatusError ( ) const

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