Open CASCADE Technology 7.8.2.dev
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 -u2,v2 are the parameters of the point on Surf2 -Order is the required continuity: GeomAbs_C0 GeomAbs_C1 GeomAbs_C2 GeomAbs_G1 GeomAbs_G2
 
 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.
 
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() [1/3]

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 -u2,v2 are the parameters of the point on Surf2 -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

-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 meters used to detect null 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=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() [2/3]

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() [3/3]

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

◆ C0Value()

Standard_Real LocalAnalysis_SurfaceContinuity::C0Value ( ) const

◆ C1UAngle()

Standard_Real LocalAnalysis_SurfaceContinuity::C1UAngle ( ) const

◆ C1URatio()

Standard_Real LocalAnalysis_SurfaceContinuity::C1URatio ( ) const

◆ C1VAngle()

Standard_Real LocalAnalysis_SurfaceContinuity::C1VAngle ( ) const

◆ C1VRatio()

Standard_Real LocalAnalysis_SurfaceContinuity::C1VRatio ( ) const

◆ C2UAngle()

Standard_Real LocalAnalysis_SurfaceContinuity::C2UAngle ( ) const

◆ C2URatio()

Standard_Real LocalAnalysis_SurfaceContinuity::C2URatio ( ) const

◆ C2VAngle()

Standard_Real LocalAnalysis_SurfaceContinuity::C2VAngle ( ) const

◆ C2VRatio()

Standard_Real LocalAnalysis_SurfaceContinuity::C2VRatio ( ) const

◆ ComputeAnalysis()

void LocalAnalysis_SurfaceContinuity::ComputeAnalysis ( GeomLProp_SLProps & Surf1,
GeomLProp_SLProps & Surf2,
const GeomAbs_Shape Order )

◆ ContinuityStatus()

GeomAbs_Shape LocalAnalysis_SurfaceContinuity::ContinuityStatus ( ) const

◆ G1Angle()

Standard_Real LocalAnalysis_SurfaceContinuity::G1Angle ( ) const

◆ G2CurvatureGap()

Standard_Real LocalAnalysis_SurfaceContinuity::G2CurvatureGap ( ) const

◆ IsC0()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC0 ( ) const

◆ IsC1()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC1 ( ) const

◆ IsC2()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsC2 ( ) const

◆ IsDone()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsDone ( ) const

◆ IsG1()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsG1 ( ) const

◆ IsG2()

Standard_Boolean LocalAnalysis_SurfaceContinuity::IsG2 ( ) const

◆ StatusError()

LocalAnalysis_StatusErrorType LocalAnalysis_SurfaceContinuity::StatusError ( ) const

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