1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0024023: Revamp the OCCT Handle -- general

Missing headers added; includes of headers "Handle_...hxx" removed.

Misuses of macro Handle() and its use in typedefs corrected.

Alias classes Profile and Option are removed from IFSelect; ones defined in MoniTool are used directly.

Removed header files defining only Handle classes (except Image_PixMap_Handle.hxx)

Classes SelectMgr_BaseFrustum and now inherit Standard_Transient and can be manipulated by Handle (not NCollection_Handle)

Fixed reference-type local variable pointing to temporary object

Use of handle in conditional expressions and comparisons to NULL are replaced by call to method IsNull()
This commit is contained in:
abv
2015-06-30 10:25:12 +03:00
parent 35c0599a42
commit c04c30b3ee
311 changed files with 725 additions and 1175 deletions

View File

@@ -1331,7 +1331,7 @@ void GeomConvert::C0BSplineToArrayOfC1BSplineCurve(
U2=BSKnots(j);
j++;
Handle(Geom_BSplineCurve)
BSbis=Handle(Geom_BSplineCurve::DownCast(BS->Copy()));
BSbis=Handle(Geom_BSplineCurve)::DownCast(BS->Copy());
BSbis->Segment(U1,U2);
ArrayOfCurves(i)=BSbis;
}

View File

@@ -68,47 +68,25 @@
#include <gp_Trsf.hxx>
#include <gp_GTrsf.hxx>
typedef Geom_Surface Surface;
typedef Geom_BSplineSurface BSplineSurface;
typedef Handle(Geom_Curve) Handle(Curve);
typedef Handle(Geom_BSplineCurve) Handle(BSplineCurve);
typedef Handle(Geom_BezierSurface) Handle(BezierSurface);
typedef Handle(Geom_Geometry) Handle(Geometry);
typedef Handle(Geom_Surface) Handle(Surface);
typedef Handle(Geom_Plane) Handle(Plane);
typedef Handle(Geom_CylindricalSurface) Handle(CylindricalSurface);
typedef Handle(Geom_ConicalSurface) Handle(ConicalSurface);
typedef Handle(Geom_SphericalSurface) Handle(SphericalSurface);
typedef Handle(Geom_ToroidalSurface) Handle(ToroidalSurface);
typedef Handle(Geom_BSplineSurface) Handle(BSplineSurface);
typedef Handle(Geom_SurfaceOfRevolution) Handle(SurfaceOfRevolution);
typedef Handle(Geom_SurfaceOfLinearExtrusion) Handle(SurfaceOfLinearExtrusion);
typedef Handle(Geom_RectangularTrimmedSurface)
Handle(RectangularTrimmedSurface);
typedef TColStd_Array1OfReal Array1OfReal;
typedef TColStd_Array2OfReal Array2OfReal;
typedef TColStd_Array1OfInteger Array1OfInteger;
typedef TColStd_Array2OfInteger Array2OfInteger;
typedef TColgp_Array2OfPnt Array2OfPnt;
typedef TColgp_Array1OfPnt Array1OfPnt;
typedef gp_Pnt Pnt;
//=======================================================================
//function : BSplineSurfaceBuilder
//purpose :
//=======================================================================
Handle(BSplineSurface) BSplineSurfaceBuilder
Handle(Geom_BSplineSurface) BSplineSurfaceBuilder
(const Convert_ElementarySurfaceToBSplineSurface& Convert)
{
Handle(BSplineSurface) TheSurface;
Handle(Geom_BSplineSurface) TheSurface;
Standard_Integer UDegree = Convert.UDegree ();
Standard_Integer VDegree = Convert.VDegree ();
Standard_Integer NbUPoles = Convert.NbUPoles();
@@ -148,8 +126,8 @@ Handle(BSplineSurface) BSplineSurfaceBuilder
//purpose :
//=======================================================================
Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(BSplineSurface)& S,
Handle(Geom_BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(Geom_BSplineSurface)& S,
const Standard_Integer FromUK1,
const Standard_Integer ToUK2,
const Standard_Integer FromVK1,
@@ -169,7 +147,7 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
if (FirstUK < FirstU || LastUK > LastU ||
FirstVK < FirstV || LastVK > LastV) { Standard_DomainError::Raise(); }
Handle(BSplineSurface) S1= Handle(BSplineSurface)::DownCast(S->Copy());
Handle(Geom_BSplineSurface) S1= Handle(Geom_BSplineSurface)::DownCast(S->Copy());
S1->Segment(S1->UKnot(FirstUK),S1->UKnot(LastUK),
S1->VKnot(FirstVK),S1->VKnot(LastVK));
@@ -195,8 +173,8 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
//purpose :
//=======================================================================
Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(BSplineSurface)& S,
Handle(Geom_BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(Geom_BSplineSurface)& S,
const Standard_Integer FromK1,
const Standard_Integer ToK2,
const Standard_Boolean USplit,
@@ -205,7 +183,7 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
if (FromK1 == ToK2) Standard_DomainError::Raise();
Handle(BSplineSurface) S1 = Handle(BSplineSurface)::DownCast(S->Copy());
Handle(Geom_BSplineSurface) S1 = Handle(Geom_BSplineSurface)::DownCast(S->Copy());
if (USplit) {
@@ -258,8 +236,8 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
//purpose :
//=======================================================================
Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(BSplineSurface)& S,
Handle(Geom_BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(Geom_BSplineSurface)& S,
const Standard_Real FromU1,
const Standard_Real ToU2,
const Standard_Real FromV1,
@@ -300,8 +278,8 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
//purpose :
//=======================================================================
Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(BSplineSurface)& S,
Handle(Geom_BSplineSurface) GeomConvert::SplitBSplineSurface
(const Handle(Geom_BSplineSurface)& S,
const Standard_Real FromParam1,
const Standard_Real ToParam2,
const Standard_Boolean USplit,
@@ -311,7 +289,7 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
if (Abs (FromParam1 - ToParam2) <= Abs(ParametricTolerance)) {
Standard_DomainError::Raise();
}
Handle(BSplineSurface) NewSurface
Handle(Geom_BSplineSurface) NewSurface
= Handle(Geom_BSplineSurface)::DownCast(S->Copy());
if (USplit) {
@@ -356,7 +334,7 @@ Handle(BSplineSurface) GeomConvert::SplitBSplineSurface
//=======================================================================
Handle(Geom_BSplineSurface) GeomConvert::SurfaceToBSplineSurface
(const Handle(Surface)& Sr)
(const Handle(Geom_Surface)& Sr)
{
Standard_Real U1, U2, V1, V2;
Sr->Bounds (U1, U2, V1, V2);
@@ -374,7 +352,7 @@ Handle(Geom_BSplineSurface) GeomConvert::SurfaceToBSplineSurface
}
Handle(Geom_BSplineSurface) TheSurface;
Handle(Surface) S;
Handle(Geom_Surface) S;
Handle(Geom_OffsetSurface) OffsetSur;
if (Sr->IsKind(STANDARD_TYPE(Geom_OffsetSurface))) {
OffsetSur = *((Handle(Geom_OffsetSurface)*)& Sr);

View File

@@ -20,16 +20,12 @@
#include <BSplCLib.hxx>
typedef Handle(Geom_BSplineCurve) Handle(BSplineCurve);
typedef TColStd_Array1OfInteger Array1OfInteger;
typedef TColStd_HArray1OfInteger HArray1OfInteger;
GeomConvert_BSplineCurveKnotSplitting::GeomConvert_BSplineCurveKnotSplitting (
const Handle(BSplineCurve)& BasisCurve,
const Handle(Geom_BSplineCurve)& BasisCurve,
const Standard_Integer ContinuityRange
) {

View File

@@ -21,17 +21,14 @@
#include <Standard_RangeError.hxx>
#include <BSplCLib.hxx>
typedef Handle(Geom_BSplineSurface) Handle(BSplineSurface);
typedef TColStd_Array1OfInteger Array1OfInteger;
typedef TColStd_HArray1OfInteger HArray1OfInteger;
GeomConvert_BSplineSurfaceKnotSplitting::
GeomConvert_BSplineSurfaceKnotSplitting (
const Handle(BSplineSurface)& BasisSurface,
const Handle(Geom_BSplineSurface)& BasisSurface,
const Standard_Integer UContinuityRange,
const Standard_Integer VContinuityRange