mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0032008: Modeling Algorithms - disallow implicit copy of Extrema algorithms
Extrema_GenExtPS now prefers resizing of Array2 tables instead of managing tables by extra handles. Removed unsafe casts to Adaptor3d_SurfacePtr/Adaptor3d_CurvePtr in Extrema classes. Removed unsafe casts to curve adaptors in Extrema_ExtCC, Extrema_ExtCC2d classes. Extrema_GenExtPS, Extrema_GenExtSS, Extrema_ExtCS - copies by value are now disallowed; several unexpected places copying the object have been fixed. IntTools_Context - maps of void* have been replaced by typed maps.
This commit is contained in:
@@ -53,6 +53,22 @@ public:
|
||||
|
||||
//! It calculates all the distances.
|
||||
Standard_EXPORT Extrema_ExtCC(const Adaptor3d_Curve& C1, const Adaptor3d_Curve& C2, const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Real TolC1 = 1.0e-10, const Standard_Real TolC2 = 1.0e-10);
|
||||
|
||||
//! Initializes but does not perform algorithm.
|
||||
Standard_EXPORT void Initialize (const Adaptor3d_Curve& C1,
|
||||
const Adaptor3d_Curve& C2,
|
||||
const Standard_Real TolC1 = 1.0e-10,
|
||||
const Standard_Real TolC2 = 1.0e-10);
|
||||
|
||||
//! Initializes but does not perform algorithm.
|
||||
Standard_EXPORT void Initialize (const Adaptor3d_Curve& C1,
|
||||
const Adaptor3d_Curve& C2,
|
||||
const Standard_Real U1,
|
||||
const Standard_Real U2,
|
||||
const Standard_Real V1,
|
||||
const Standard_Real V2,
|
||||
const Standard_Real TolC1 = 1.0e-10,
|
||||
const Standard_Real TolC2 = 1.0e-10);
|
||||
|
||||
Standard_EXPORT void SetCurve (const Standard_Integer theRank, const Adaptor3d_Curve& C);
|
||||
|
||||
@@ -126,6 +142,11 @@ protected:
|
||||
|
||||
private:
|
||||
|
||||
// disallow copies
|
||||
Extrema_ExtCC (Extrema_ExtCC& );
|
||||
Extrema_ExtCC& operator= (Extrema_ExtCC& );
|
||||
|
||||
private:
|
||||
|
||||
Standard_Boolean myIsFindSingleSolution; // Default value is false.
|
||||
Extrema_ECC myECC;
|
||||
@@ -133,7 +154,7 @@ private:
|
||||
Standard_Boolean myIsPar;
|
||||
Extrema_SequenceOfPOnCurv mypoints;
|
||||
TColStd_SequenceOfReal mySqDist;
|
||||
Standard_Address myC[2];
|
||||
const Adaptor3d_Curve* myC[2];
|
||||
Standard_Real myInf[2];
|
||||
Standard_Real mySup[2];
|
||||
Standard_Real myTol[2];
|
||||
@@ -146,13 +167,6 @@ private:
|
||||
Standard_Real mydist21;
|
||||
Standard_Real mydist22;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _Extrema_ExtCC_HeaderFile
|
||||
|
Reference in New Issue
Block a user