Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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

#include <LocalAnalysis_SurfaceContinuity.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC 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


 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

Constructor & Destructor Documentation

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

Member Function Documentation


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