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:
@@ -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 {
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user