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 -- downcast (automatic)

Automatic update by command "occt_upgrade . -downcast"

C-style cast of Handle to that of derived type (now illegal) is replaced by call to DownCast()
Const reference local variables of Handle type initialized by result of DownCast are replaced by normal variables.
This commit is contained in:
abv
2015-07-02 16:41:05 +03:00
parent ce8b059af3
commit c5f3a42524
158 changed files with 863 additions and 888 deletions

View File

@@ -79,7 +79,7 @@ BRepOffsetAPI_DraftAngle::BRepOffsetAPI_DraftAngle (const TopoDS_Shape& S)
void BRepOffsetAPI_DraftAngle::Clear ()
{
if (!myModification.IsNull()) {
(*((Handle(Draft_Modification)*)&myModification))->Clear();
Handle(Draft_Modification)::DownCast (myModification)->Clear();
}
}
@@ -94,7 +94,7 @@ void BRepOffsetAPI_DraftAngle::Init (const TopoDS_Shape& S)
myInitialShape = S;
NotDone();
if (!myModification.IsNull()) {
(*((Handle(Draft_Modification)*)&myModification))->Init(S);
Handle(Draft_Modification)::DownCast (myModification)->Init(S);
}
else {
myModification = new Draft_Modification(S);
@@ -117,7 +117,7 @@ void BRepOffsetAPI_DraftAngle::Add(const TopoDS_Face& F,
if ( Abs(Angle) <= 1.e-04 )
return;
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
(*((Handle(Draft_Modification)*)&myModification))->Add(F,D,Angle,Plane, Flag);
Handle(Draft_Modification)::DownCast (myModification)->Add(F,D,Angle,Plane, Flag);
}
@@ -129,7 +129,7 @@ void BRepOffsetAPI_DraftAngle::Add(const TopoDS_Face& F,
Standard_Boolean BRepOffsetAPI_DraftAngle::AddDone () const
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
return (*((Handle(Draft_Modification)*)&myModification))
return Handle(Draft_Modification)::DownCast (myModification)
->ProblematicShape().IsNull();
}
@@ -142,7 +142,7 @@ Standard_Boolean BRepOffsetAPI_DraftAngle::AddDone () const
void BRepOffsetAPI_DraftAngle::Remove(const TopoDS_Face& F)
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
(*((Handle(Draft_Modification)*)&myModification))->Remove(F);
Handle(Draft_Modification)::DownCast (myModification)->Remove(F);
}
@@ -154,7 +154,7 @@ void BRepOffsetAPI_DraftAngle::Remove(const TopoDS_Face& F)
const TopoDS_Shape& BRepOffsetAPI_DraftAngle::ProblematicShape () const
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
return (*((Handle(Draft_Modification)*)&myModification))->ProblematicShape();
return Handle(Draft_Modification)::DownCast (myModification)->ProblematicShape();
}
@@ -166,7 +166,7 @@ const TopoDS_Shape& BRepOffsetAPI_DraftAngle::ProblematicShape () const
Draft_ErrorStatus BRepOffsetAPI_DraftAngle::Status () const
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
return (*((Handle(Draft_Modification)*)&myModification))->Error();
return Handle(Draft_Modification)::DownCast (myModification)->Error();
}
@@ -179,7 +179,7 @@ const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::ConnectedFaces
(const TopoDS_Face& F) const
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
return (*((Handle(Draft_Modification)*)&myModification))->ConnectedFaces(F);
return Handle(Draft_Modification)::DownCast (myModification)->ConnectedFaces(F);
}
@@ -191,7 +191,7 @@ const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::ConnectedFaces
const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::ModifiedFaces() const
{
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
return (*((Handle(Draft_Modification)*)&myModification))->ModifiedFaces();
return Handle(Draft_Modification)::DownCast (myModification)->ModifiedFaces();
}
//=======================================================================
@@ -203,7 +203,7 @@ const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::Generated(const TopoDS_Sha
{
myGenerated.Clear();
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
Handle(Draft_Modification) DMod = (*((Handle(Draft_Modification)*)&myModification));
Handle(Draft_Modification) DMod = Handle(Draft_Modification)::DownCast (myModification);
if (S.ShapeType() == TopAbs_FACE) {
Handle(Geom_Surface) Surf;
@@ -227,7 +227,7 @@ const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::Modified(const TopoDS_Shap
{
myGenerated.Clear();
Standard_NullObject_Raise_if(myInitialShape.IsNull(),"");
Handle(Draft_Modification) DMod = (*((Handle(Draft_Modification)*)&myModification));
Handle(Draft_Modification) DMod = Handle(Draft_Modification)::DownCast (myModification);
if (S.ShapeType() == TopAbs_FACE) {
Handle(Geom_Surface) Surf;
@@ -254,8 +254,8 @@ const TopTools_ListOfShape& BRepOffsetAPI_DraftAngle::Modified(const TopoDS_Shap
void BRepOffsetAPI_DraftAngle::Build()
{
(*((Handle(Draft_Modification)*)&myModification))->Perform();
if (!(*((Handle(Draft_Modification)*)&myModification))->IsDone()) {
Handle(Draft_Modification)::DownCast (myModification)->Perform();
if (!Handle(Draft_Modification)::DownCast (myModification)->IsDone()) {
NotDone();
}
else {

View File

@@ -70,17 +70,17 @@ static Standard_Boolean IsLinear(const TopoDS_Edge& anEdge,
Standard_Real fpar, lpar;
Handle(Geom_Curve) aCurve = BRep_Tool::Curve(anEdge, fpar, lpar);
if (aCurve->IsInstance(STANDARD_TYPE(Geom_TrimmedCurve)))
aCurve = ((Handle(Geom_TrimmedCurve)&) aCurve)->BasisCurve();
aCurve = Handle(Geom_TrimmedCurve)::DownCast (aCurve)->BasisCurve();
gp_Pnt Pnt1, Pnt2;
if (aCurve->IsKind(STANDARD_TYPE(Geom_Line)))
{
aLine = ((Handle(Geom_Line)&) aCurve)->Lin();
aLine = Handle(Geom_Line)::DownCast (aCurve)->Lin();
return Standard_True;
}
else if (aCurve->IsKind(STANDARD_TYPE(Geom_BezierCurve)))
{
Handle(Geom_BezierCurve) theBezier = (Handle(Geom_BezierCurve)&) aCurve;
Handle(Geom_BezierCurve) theBezier = Handle(Geom_BezierCurve)::DownCast (aCurve);
if (theBezier->NbPoles() == 2)
{
Pnt1 = theBezier->Pole(1);
@@ -91,7 +91,7 @@ static Standard_Boolean IsLinear(const TopoDS_Edge& anEdge,
}
else if (aCurve->IsKind(STANDARD_TYPE(Geom_BSplineCurve)))
{
Handle(Geom_BSplineCurve) theBSpline = (Handle(Geom_BSplineCurve)&) aCurve;
Handle(Geom_BSplineCurve) theBSpline = Handle(Geom_BSplineCurve)::DownCast (aCurve);
if (theBSpline->NbPoles() == 2)
{
Pnt1 = theBSpline->Pole(1);
@@ -838,7 +838,7 @@ void BRepOffsetAPI_MiddlePath::Build()
Standard_Real fpar, lpar;
Handle(Geom_Curve) aCurve = BRep_Tool::Curve(anEdge, fpar, lpar);
if (aCurve->IsInstance(STANDARD_TYPE(Geom_TrimmedCurve)))
aCurve = ((Handle(Geom_TrimmedCurve)&) aCurve)->BasisCurve();
aCurve = Handle(Geom_TrimmedCurve)::DownCast (aCurve)->BasisCurve();
Pnt1 = aCurve->Value(fpar);
Pnt2 = aCurve->Value(lpar);
Handle(Geom_Circle) aCircle = Handle(Geom_Circle)::DownCast(aCurve);