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 - gcc and clang

Adaptations for compiling with GCC 4.7 and 4.8:
- Construction semantics is used for Handle objects being initialized by const Handle objects of derived type, to avoid overload resolution error in GCC 4.7.
- Missing includes added.
- Fixed bugs related to misuse of direct casts of handle.
- Eliminate CLang warnings on uninitialized and unused variables, functions, and expressions
This commit is contained in:
abv
2015-07-03 11:31:43 +03:00
parent caaeed1b91
commit 5b111128de
72 changed files with 250 additions and 431 deletions

View File

@@ -27,14 +27,6 @@
#include <TColgp_HArray1OfVec.hxx>
#include <TColgp_HArray1OfVec2d.hxx>
#define tabTang Handle(TColgp_HArray1OfVec)::DownCast (ttabTang)
#define tabCurv Handle(TColgp_HArray1OfVec)::DownCast (ttabCurv)
#define tabTang2d Handle(TColgp_HArray1OfVec2d)::DownCast (ttabTang2d)
#define tabCurv2d Handle(TColgp_HArray1OfVec2d)::DownCast (ttabCurv2d)
AppDef_MultiPointConstraint::AppDef_MultiPointConstraint() {}
@@ -84,14 +76,9 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
(tabCur2d.Length() != tabP2d.Length())) {
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec) T3d =
new TColgp_HArray1OfVec(1, tabVec.Length());
ttabTang = T3d;
Handle(TColgp_HArray1OfVec2d) T2d =
new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
ttabTang2d = T2d;
tabTang = new TColgp_HArray1OfVec(1, tabVec.Length());
tabTang2d = new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
Standard_Integer i, Lower = tabVec.Lower();
for (i = 1; i <= tabVec.Length(); i++) {
@@ -102,13 +89,8 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
tabTang2d->SetValue(i, tabVec2d.Value(Lower+i-1));
}
Handle(TColgp_HArray1OfVec) C3d =
new TColgp_HArray1OfVec(1, tabCur.Length());
ttabCurv = C3d;
Handle(TColgp_HArray1OfVec2d) C2d =
new TColgp_HArray1OfVec2d(1, tabCur2d.Length());
ttabCurv2d = C2d;
tabCurv = new TColgp_HArray1OfVec(1, tabCur.Length());
tabCurv2d = new TColgp_HArray1OfVec2d(1, tabCur2d.Length());
Lower = tabCur.Lower();
for (i = 1; i <= tabVec.Length(); i++) {
@@ -121,27 +103,21 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
}
AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
(const TColgp_Array1OfPnt& tabP,
const TColgp_Array1OfPnt2d& tabP2d,
const TColgp_Array1OfVec& tabVec,
const TColgp_Array1OfVec2d& tabVec2d):
AppParCurves_MultiPoint(tabP, tabP2d) {
AppParCurves_MultiPoint(tabP, tabP2d)
{
if ((tabP.Length() != tabVec.Length()) ||
(tabP2d.Length() != tabVec2d.Length())) {
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec) T3d =
new TColgp_HArray1OfVec(1, tabVec.Length());
ttabTang = T3d;
Handle(TColgp_HArray1OfVec2d) T2d =
new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
ttabTang2d = T2d;
tabTang = new TColgp_HArray1OfVec(1, tabVec.Length());
tabTang2d = new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
Standard_Integer i, Lower = tabVec.Lower();
for (i = 1; i <= tabVec.Length(); i++) {
@@ -163,9 +139,8 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint (
if (tabP.Length() != tabVec.Length()) {
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec) T3d =
new TColgp_HArray1OfVec(1, tabVec.Length());
ttabTang = T3d;
tabTang = new TColgp_HArray1OfVec(1, tabVec.Length());
Standard_Integer i, Lower = tabVec.Lower();
for (i = 1; i <= tabVec.Length(); i++) {
@@ -184,19 +159,14 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
(tabP.Length() != tabCur.Length())) {
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec) T3d =
new TColgp_HArray1OfVec(1, tabVec.Length());
ttabTang = T3d;
tabTang = new TColgp_HArray1OfVec(1, tabVec.Length());
Standard_Integer i, Lower = tabVec.Lower();
for (i = 1; i <= tabVec.Length(); i++) {
tabTang->SetValue(i, tabVec.Value(Lower+i-1));
}
Handle(TColgp_HArray1OfVec) C3d =
new TColgp_HArray1OfVec(1, tabCur.Length());
ttabCurv = C3d;
tabCurv = new TColgp_HArray1OfVec(1, tabCur.Length());
Lower = tabCur.Lower();
for (i = 1; i <= tabCur.Length(); i++) {
tabCurv->SetValue(i, tabCur.Value(Lower+i-1));
@@ -215,10 +185,7 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec2d) T2d =
new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
ttabTang2d = T2d;
tabTang2d = new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
Standard_Integer i, Lower = tabVec2d.Lower();
for (i = 1; i <= tabVec2d.Length(); i++) {
tabTang2d->SetValue(i, tabVec2d.Value(Lower+i-1));
@@ -238,19 +205,14 @@ AppDef_MultiPointConstraint::AppDef_MultiPointConstraint
(tabCur2d.Length() != tabP2d.Length())) {
Standard_ConstructionError::Raise();
}
Handle(TColgp_HArray1OfVec2d) T2d =
new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
ttabTang2d = T2d;
tabTang2d = new TColgp_HArray1OfVec2d(1, tabVec2d.Length());
Standard_Integer i, Lower = tabVec2d.Lower();
for (i = 1; i <= tabVec2d.Length(); i++) {
tabTang2d->SetValue(i, tabVec2d.Value(Lower+i-1));
}
Handle(TColgp_HArray1OfVec2d) C2d =
new TColgp_HArray1OfVec2d(1, tabCur2d.Length());
ttabCurv2d = C2d;
tabCurv2d = new TColgp_HArray1OfVec2d(1, tabCur2d.Length());
Lower = tabCur2d.Lower();
for (i = 1; i <= tabCur2d.Length(); i++) {
tabCurv2d->SetValue(i, tabCur2d.Value(Lower+i-1));