Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Static Public Member Functions | Static Protected Member Functions
IntPatch_SpecialPoints Class Reference

#include <IntPatch_SpecialPoints.hxx>

Static Public Member Functions

static bool AddCrossUVIsoPoint (const occ::handle< Adaptor3d_Surface > &theQSurf, const occ::handle< Adaptor3d_Surface > &thePSurf, const IntSurf_PntOn2S &theRefPt, const double theTol3d, IntSurf_PntOn2S &theAddedPoint, const bool theIsReversed=false)
 Adds the point defined as intersection of two isolines (U = 0 and V = 0) on theQSurf in theLine. theRefPt is used to correct adjusting parameters. If theIsReversed is TRUE then theQSurf correspond to the second (otherwise, the first) surface while forming intersection point IntSurf_PntOn2S.
 
static bool AddPointOnUorVIso (const occ::handle< Adaptor3d_Surface > &theQSurf, const occ::handle< Adaptor3d_Surface > &thePSurf, const IntSurf_PntOn2S &theRefPt, const bool theIsU, const double theIsoParameter, const math_Vector &theToler, const math_Vector &theInitPoint, const math_Vector &theInfBound, const math_Vector &theSupBound, IntSurf_PntOn2S &theAddedPoint, const bool theIsReversed=false)
 Adds the point lain strictly in the isoline U = 0 or V = 0 of theQSurf, in theLine. theRefPt is used to correct adjusting parameters. If theIsReversed is TRUE then theQSurf corresponds to the second (otherwise, the first) surface while forming intersection point IntSurf_PntOn2S. All math_Vector-objects must be filled as follows: [1] - U-parameter of thePSurf; [2] - V-parameter of thePSurf; [3] - U- (if V-isoline is considered) or V-parameter (if U-isoline is considered) of theQSurf.
 
static bool AddSingularPole (const occ::handle< Adaptor3d_Surface > &theQSurf, const occ::handle< Adaptor3d_Surface > &thePSurf, const IntSurf_PntOn2S &thePtIso, IntPatch_Point &theVertex, IntSurf_PntOn2S &theAddedPoint, const bool theIsReversed=false, const bool theIsReqRefCheck=false)
 Computes the pole of sphere to add it in the intersection line. Stores the result in theAddedPoint variable (does not add in the line). At that, cone and sphere (with singularity) must be set in theQSurf parameter. By default (if theIsReversed == FALSE), theQSurf is the first surface of the Walking line. If it is not, theIsReversed parameter must be set to TRUE. theIsReqRefCheck is TRUE if and only if 3D-point of theRefPt must be pole or apex for check (e.g. if it is vertex). thePtIso is the reference point for obtaining isoline where must be placed the Apex/Pole.
 
static bool ContinueAfterSpecialPoint (const occ::handle< Adaptor3d_Surface > &theQSurf, const occ::handle< Adaptor3d_Surface > &thePSurf, const IntSurf_PntOn2S &theRefPt, const IntPatch_SpecPntType theSPType, const double theTol2D, IntSurf_PntOn2S &theNewPoint, const bool theIsReversed=false)
 Special point has already been added in the line. Now, we need in correct prolongation of the line or in start new line. This function returns new point.
 
static void AdjustPointAndVertex (const IntSurf_PntOn2S &theRefPoint, const double theArrPeriods[4], IntSurf_PntOn2S &theNewPoint, IntPatch_Point *const theVertex=nullptr)
 Sets theNewPoint parameters in 2D-space the closest to theRefPoint with help of adding/subtracting corresponding periods. theArrPeriods must be filled as follows: {<U-period of 1st surface>, <V-period of 1st surface>, <U-period of 2nd surface>, <V-period of 2nd surface>}. If theVertex != 0 then its parameters will be filled as corresponding parameters of theNewPoint.
 

Static Protected Member Functions

static bool ProcessSphere (const IntSurf_PntOn2S &thePtIso, const gp_Vec &theDUofPSurf, const gp_Vec &theDVofPSurf, const bool theIsReversed, const double theVquad, double &theUquad, bool &theIsIsoChoosen)
 Computes "special point" in the sphere The parameter will be found in the range [0, 2*PI]. Therefore it must be adjusted to valid range by the high-level algorithm.
 
static bool ProcessCone (const IntSurf_PntOn2S &thePtIso, const gp_Vec &theDUofPSurf, const gp_Vec &theDVofPSurf, const gp_Cone &theCone, const bool theIsReversed, double &theUquad, bool &theIsIsoChoosen)
 Computes "special point" in the cone. The parameter will be found in the range [0, 2*PI]. Therefore it must be adjusted to valid range by the high-level algorithm.
 
static int GetTangentToIntLineForCone (const double theConeSemiAngle, const gp_XYZ &thePlnNormal, gp_XYZ theResult[2])
 Computes vector tangent to the intersection line in cone apex. There exist not more than 2 tangent. They will be stores in theResult vector. Returns the number of found tangents. thePlnNormal is the normalized vector of the normal to the plane intersected the cone.
 

Member Function Documentation

◆ AddCrossUVIsoPoint()

static bool IntPatch_SpecialPoints::AddCrossUVIsoPoint ( const occ::handle< Adaptor3d_Surface > & theQSurf,
const occ::handle< Adaptor3d_Surface > & thePSurf,
const IntSurf_PntOn2S & theRefPt,
const double theTol3d,
IntSurf_PntOn2S & theAddedPoint,
const bool theIsReversed = false )
static

Adds the point defined as intersection of two isolines (U = 0 and V = 0) on theQSurf in theLine. theRefPt is used to correct adjusting parameters. If theIsReversed is TRUE then theQSurf correspond to the second (otherwise, the first) surface while forming intersection point IntSurf_PntOn2S.

◆ AddPointOnUorVIso()

static bool IntPatch_SpecialPoints::AddPointOnUorVIso ( const occ::handle< Adaptor3d_Surface > & theQSurf,
const occ::handle< Adaptor3d_Surface > & thePSurf,
const IntSurf_PntOn2S & theRefPt,
const bool theIsU,
const double theIsoParameter,
const math_Vector & theToler,
const math_Vector & theInitPoint,
const math_Vector & theInfBound,
const math_Vector & theSupBound,
IntSurf_PntOn2S & theAddedPoint,
const bool theIsReversed = false )
static

Adds the point lain strictly in the isoline U = 0 or V = 0 of theQSurf, in theLine. theRefPt is used to correct adjusting parameters. If theIsReversed is TRUE then theQSurf corresponds to the second (otherwise, the first) surface while forming intersection point IntSurf_PntOn2S. All math_Vector-objects must be filled as follows: [1] - U-parameter of thePSurf; [2] - V-parameter of thePSurf; [3] - U- (if V-isoline is considered) or V-parameter (if U-isoline is considered) of theQSurf.

◆ AddSingularPole()

static bool IntPatch_SpecialPoints::AddSingularPole ( const occ::handle< Adaptor3d_Surface > & theQSurf,
const occ::handle< Adaptor3d_Surface > & thePSurf,
const IntSurf_PntOn2S & thePtIso,
IntPatch_Point & theVertex,
IntSurf_PntOn2S & theAddedPoint,
const bool theIsReversed = false,
const bool theIsReqRefCheck = false )
static

Computes the pole of sphere to add it in the intersection line. Stores the result in theAddedPoint variable (does not add in the line). At that, cone and sphere (with singularity) must be set in theQSurf parameter. By default (if theIsReversed == FALSE), theQSurf is the first surface of the Walking line. If it is not, theIsReversed parameter must be set to TRUE. theIsReqRefCheck is TRUE if and only if 3D-point of theRefPt must be pole or apex for check (e.g. if it is vertex). thePtIso is the reference point for obtaining isoline where must be placed the Apex/Pole.

ATTENTION!!! theVertex must be initialized before calling the method .

◆ AdjustPointAndVertex()

static void IntPatch_SpecialPoints::AdjustPointAndVertex ( const IntSurf_PntOn2S & theRefPoint,
const double theArrPeriods[4],
IntSurf_PntOn2S & theNewPoint,
IntPatch_Point *const theVertex = nullptr )
static

Sets theNewPoint parameters in 2D-space the closest to theRefPoint with help of adding/subtracting corresponding periods. theArrPeriods must be filled as follows: {<U-period of 1st surface>, <V-period of 1st surface>, <U-period of 2nd surface>, <V-period of 2nd surface>}. If theVertex != 0 then its parameters will be filled as corresponding parameters of theNewPoint.

ATTENTION!!! theNewPoint is not only Output parameter. It is Input/Output one. I.e. theNewPoint is reference point together with theRefPt.

◆ ContinueAfterSpecialPoint()

static bool IntPatch_SpecialPoints::ContinueAfterSpecialPoint ( const occ::handle< Adaptor3d_Surface > & theQSurf,
const occ::handle< Adaptor3d_Surface > & thePSurf,
const IntSurf_PntOn2S & theRefPt,
const IntPatch_SpecPntType theSPType,
const double theTol2D,
IntSurf_PntOn2S & theNewPoint,
const bool theIsReversed = false )
static

Special point has already been added in the line. Now, we need in correct prolongation of the line or in start new line. This function returns new point.

ATTENTION!!! theNewPoint is not only Output parameter. It is Input/Output one. I.e. theNewPoint is reference point together with theRefPt.

◆ GetTangentToIntLineForCone()

static int IntPatch_SpecialPoints::GetTangentToIntLineForCone ( const double theConeSemiAngle,
const gp_XYZ & thePlnNormal,
gp_XYZ theResult[2] )
staticprotected

Computes vector tangent to the intersection line in cone apex. There exist not more than 2 tangent. They will be stores in theResult vector. Returns the number of found tangents. thePlnNormal is the normalized vector of the normal to the plane intersected the cone.

◆ ProcessCone()

static bool IntPatch_SpecialPoints::ProcessCone ( const IntSurf_PntOn2S & thePtIso,
const gp_Vec & theDUofPSurf,
const gp_Vec & theDVofPSurf,
const gp_Cone & theCone,
const bool theIsReversed,
double & theUquad,
bool & theIsIsoChoosen )
staticprotected

Computes "special point" in the cone. The parameter will be found in the range [0, 2*PI]. Therefore it must be adjusted to valid range by the high-level algorithm.

◆ ProcessSphere()

static bool IntPatch_SpecialPoints::ProcessSphere ( const IntSurf_PntOn2S & thePtIso,
const gp_Vec & theDUofPSurf,
const gp_Vec & theDVofPSurf,
const bool theIsReversed,
const double theVquad,
double & theUquad,
bool & theIsIsoChoosen )
staticprotected

Computes "special point" in the sphere The parameter will be found in the range [0, 2*PI]. Therefore it must be adjusted to valid range by the high-level algorithm.


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