mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-24 13:50:49 +03:00
0026042: OCCT won't work with the latest Xcode
Dereferenced null pointers was eliminated for PLib, BSplCLib and BSplSLib. All affected code was changed accordingly.
This commit is contained in:
@@ -260,9 +260,9 @@ void Geom2d_BSplineCurve::IncreaseDegree
|
||||
|
||||
BSplCLib::IncreaseDegree
|
||||
(deg,Degree, periodic,
|
||||
poles->Array1(),weights->Array1(),
|
||||
poles->Array1(),&weights->Array1(),
|
||||
knots->Array1(),mults->Array1(),
|
||||
npoles->ChangeArray1(),nweights->ChangeArray1(),
|
||||
npoles->ChangeArray1(),&nweights->ChangeArray1(),
|
||||
nknots->ChangeArray1(),nmults->ChangeArray1());
|
||||
}
|
||||
else {
|
||||
@@ -270,10 +270,10 @@ void Geom2d_BSplineCurve::IncreaseDegree
|
||||
BSplCLib::IncreaseDegree
|
||||
(deg,Degree, periodic,
|
||||
poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(),mults->Array1(),
|
||||
npoles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
nknots->ChangeArray1(),nmults->ChangeArray1());
|
||||
}
|
||||
|
||||
@@ -368,7 +368,7 @@ void Geom2d_BSplineCurve::InsertKnots(const TColStd_Array1OfReal& Knots,
|
||||
|
||||
if (!BSplCLib::PrepareInsertKnots(deg,periodic,
|
||||
knots->Array1(),mults->Array1(),
|
||||
Knots,Mults,nbpoles,nbknots,Epsilon,Add))
|
||||
Knots,&Mults,nbpoles,nbknots,Epsilon,Add))
|
||||
Standard_ConstructionError::Raise("Geom2d_BSplineCurve::InsertKnots");
|
||||
|
||||
if (nbpoles == poles->Length()) return;
|
||||
@@ -386,10 +386,10 @@ void Geom2d_BSplineCurve::InsertKnots(const TColStd_Array1OfReal& Knots,
|
||||
Handle(TColStd_HArray1OfReal) nweights =
|
||||
new TColStd_HArray1OfReal(1,nbpoles);
|
||||
BSplCLib::InsertKnots(deg,periodic,
|
||||
poles->Array1(), weights->Array1(),
|
||||
poles->Array1(), &weights->Array1(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
Knots, Mults,
|
||||
npoles->ChangeArray1(), nweights->ChangeArray1(),
|
||||
Knots, &Mults,
|
||||
npoles->ChangeArray1(), &nweights->ChangeArray1(),
|
||||
nknots->ChangeArray1(), nmults->ChangeArray1(),
|
||||
Epsilon,Add);
|
||||
weights = nweights;
|
||||
@@ -397,11 +397,11 @@ void Geom2d_BSplineCurve::InsertKnots(const TColStd_Array1OfReal& Knots,
|
||||
else {
|
||||
BSplCLib::InsertKnots(deg,periodic,
|
||||
poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
Knots, Mults,
|
||||
Knots, &Mults,
|
||||
npoles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
nknots->ChangeArray1(), nmults->ChangeArray1(),
|
||||
Epsilon,Add);
|
||||
}
|
||||
@@ -453,9 +453,9 @@ Standard_Boolean Geom2d_BSplineCurve::RemoveKnot
|
||||
new TColStd_HArray1OfReal(1,npoles->Length());
|
||||
if (!BSplCLib::RemoveKnot
|
||||
(Index, M, deg, periodic,
|
||||
poles->Array1(),weights->Array1(),
|
||||
poles->Array1(),&weights->Array1(),
|
||||
knots->Array1(),mults->Array1(),
|
||||
npoles->ChangeArray1(), nweights->ChangeArray1(),
|
||||
npoles->ChangeArray1(), &nweights->ChangeArray1(),
|
||||
nknots->ChangeArray1(),nmults->ChangeArray1(),
|
||||
Tolerance))
|
||||
return Standard_False;
|
||||
@@ -465,10 +465,10 @@ Standard_Boolean Geom2d_BSplineCurve::RemoveKnot
|
||||
if (!BSplCLib::RemoveKnot
|
||||
(Index, M, deg, periodic,
|
||||
poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(),mults->Array1(),
|
||||
npoles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
nknots->ChangeArray1(),nmults->ChangeArray1(),
|
||||
Tolerance))
|
||||
return Standard_False;
|
||||
@@ -1053,18 +1053,18 @@ void Geom2d_BSplineCurve::SetNotPeriodic ()
|
||||
|
||||
BSplCLib::Unperiodize
|
||||
(deg,mults->Array1(),knots->Array1(),poles->Array1(),
|
||||
weights->Array1(),nmults->ChangeArray1(),
|
||||
&weights->Array1(),nmults->ChangeArray1(),
|
||||
nknots->ChangeArray1(),npoles->ChangeArray1(),
|
||||
nweights->ChangeArray1());
|
||||
&nweights->ChangeArray1());
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
BSplCLib::Unperiodize
|
||||
(deg,mults->Array1(),knots->Array1(),poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),nmults->ChangeArray1(),
|
||||
BSplCLib::NoWeights(),nmults->ChangeArray1(),
|
||||
nknots->ChangeArray1(),npoles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL));
|
||||
BSplCLib::NoWeights());
|
||||
|
||||
}
|
||||
poles = npoles;
|
||||
|
@@ -798,7 +798,7 @@ public:
|
||||
Standard_EXPORT void Weights (TColStd_Array1OfReal& W) const;
|
||||
|
||||
//! Returns the weights of the B-spline curve;
|
||||
Standard_EXPORT const TColStd_Array1OfReal& Weights() const;
|
||||
Standard_EXPORT const TColStd_Array1OfReal* Weights() const;
|
||||
|
||||
//! Applies the transformation T to this BSpline curve.
|
||||
Standard_EXPORT void Transform (const gp_Trsf2d& T);
|
||||
|
@@ -195,21 +195,21 @@ void Geom2d_BSplineCurve::D0(const Standard_Real U,
|
||||
Standard_Integer aSpanIndex = 0;
|
||||
Standard_Real aNewU(U);
|
||||
PeriodicNormalization(aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), &mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
if (aNewU < knots->Value(aSpanIndex))
|
||||
aSpanIndex--;
|
||||
if (rational)
|
||||
{
|
||||
BSplCLib::D0(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
&weights->Array1(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P);
|
||||
}
|
||||
else
|
||||
{
|
||||
BSplCLib::D0(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
knots->Array1(), mults->Array1(),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P);
|
||||
}
|
||||
}
|
||||
@@ -227,21 +227,21 @@ void Geom2d_BSplineCurve::D1(const Standard_Real U,
|
||||
Standard_Integer aSpanIndex = 0;
|
||||
Standard_Real aNewU(U);
|
||||
PeriodicNormalization(aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), &mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
if (aNewU < knots->Value(aSpanIndex))
|
||||
aSpanIndex--;
|
||||
if (rational)
|
||||
{
|
||||
BSplCLib::D1(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
&weights->Array1(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1);
|
||||
}
|
||||
else
|
||||
{
|
||||
BSplCLib::D1(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
knots->Array1(), mults->Array1(),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1);
|
||||
}
|
||||
}
|
||||
@@ -259,21 +259,21 @@ void Geom2d_BSplineCurve::D2(const Standard_Real U,
|
||||
Standard_Integer aSpanIndex = 0;
|
||||
Standard_Real aNewU(U);
|
||||
PeriodicNormalization(aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), &mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
if (aNewU < knots->Value(aSpanIndex))
|
||||
aSpanIndex--;
|
||||
if (rational)
|
||||
{
|
||||
BSplCLib::D2(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
&weights->Array1(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1, V2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BSplCLib::D2(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
knots->Array1(), mults->Array1(),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1, V2);
|
||||
}
|
||||
}
|
||||
@@ -292,21 +292,21 @@ void Geom2d_BSplineCurve::D3(const Standard_Real U,
|
||||
Standard_Integer aSpanIndex = 0;
|
||||
Standard_Real aNewU(U);
|
||||
PeriodicNormalization(aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
BSplCLib::LocateParameter(deg, knots->Array1(), &mults->Array1(), U, periodic, aSpanIndex, aNewU);
|
||||
if (aNewU < knots->Value(aSpanIndex))
|
||||
aSpanIndex--;
|
||||
if (rational)
|
||||
{
|
||||
BSplCLib::D3(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
knots->Array1(), mults->Array1(),
|
||||
&weights->Array1(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1, V2, V3);
|
||||
}
|
||||
else
|
||||
{
|
||||
BSplCLib::D3(aNewU,aSpanIndex,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
knots->Array1(), mults->Array1(),
|
||||
BSplCLib::NoWeights(),
|
||||
knots->Array1(), &mults->Array1(),
|
||||
P, V1, V2, V3);
|
||||
}
|
||||
}
|
||||
@@ -323,12 +323,12 @@ gp_Vec2d Geom2d_BSplineCurve::DN(const Standard_Real U,
|
||||
|
||||
if ( rational ) {
|
||||
BSplCLib::DN(U,N,0,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
FKNOTS,FMULTS,V);
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS, V);
|
||||
}
|
||||
else {
|
||||
BSplCLib::DN(U,N,0,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,V);
|
||||
}
|
||||
return V;
|
||||
@@ -485,12 +485,12 @@ void Geom2d_BSplineCurve::LocalD0
|
||||
|
||||
if ( rational ) {
|
||||
BSplCLib::D0(u,index,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS,P);
|
||||
}
|
||||
else {
|
||||
BSplCLib::D0(u,index,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,P);
|
||||
}
|
||||
}
|
||||
@@ -516,12 +516,12 @@ void Geom2d_BSplineCurve::LocalD1 (const Standard_Real U,
|
||||
|
||||
if (rational) {
|
||||
BSplCLib::D1(u,index,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS,P,V1);
|
||||
}
|
||||
else {
|
||||
BSplCLib::D1(u,index,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,P,V1);
|
||||
}
|
||||
}
|
||||
@@ -549,12 +549,12 @@ void Geom2d_BSplineCurve::LocalD2
|
||||
|
||||
if ( rational ) {
|
||||
BSplCLib::D2(u,index,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS,P,V1,V2);
|
||||
}
|
||||
else {
|
||||
BSplCLib::D2(u,index,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,P,V1,V2);
|
||||
}
|
||||
}
|
||||
@@ -583,12 +583,12 @@ void Geom2d_BSplineCurve::LocalD3
|
||||
|
||||
if ( rational ) {
|
||||
BSplCLib::D3(u,index,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS,P,V1,V2,V3);
|
||||
}
|
||||
else {
|
||||
BSplCLib::D3(u,index,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,P,V1,V2,V3);
|
||||
}
|
||||
}
|
||||
@@ -616,12 +616,12 @@ gp_Vec2d Geom2d_BSplineCurve::LocalDN
|
||||
|
||||
if ( rational ) {
|
||||
BSplCLib::DN(u,N,index,deg,periodic,POLES,
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
FKNOTS,FMULTS,V);
|
||||
}
|
||||
else {
|
||||
BSplCLib::DN(u,N,index,deg,periodic,POLES,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
FKNOTS,FMULTS,V);
|
||||
}
|
||||
return V;
|
||||
@@ -750,10 +750,10 @@ void Geom2d_BSplineCurve::Weights
|
||||
}
|
||||
}
|
||||
|
||||
const TColStd_Array1OfReal& Geom2d_BSplineCurve::Weights() const
|
||||
const TColStd_Array1OfReal* Geom2d_BSplineCurve::Weights() const
|
||||
{
|
||||
if (IsRational())
|
||||
return weights->Array1();
|
||||
return &weights->Array1();
|
||||
return BSplCLib::NoWeights();
|
||||
}
|
||||
|
||||
@@ -856,7 +856,7 @@ void Geom2d_BSplineCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
new_weights(ii) = weights->Array1()(((ii-1) % poles->Length()) + 1) ;
|
||||
}
|
||||
BSplCLib::Resolution(new_poles,
|
||||
new_weights,
|
||||
&new_weights,
|
||||
new_poles.Length(),
|
||||
flatknots->Array1(),
|
||||
deg,
|
||||
@@ -865,7 +865,7 @@ void Geom2d_BSplineCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
}
|
||||
else {
|
||||
BSplCLib::Resolution(new_poles,
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
new_poles.Length(),
|
||||
flatknots->Array1(),
|
||||
deg,
|
||||
@@ -876,7 +876,7 @@ void Geom2d_BSplineCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
else {
|
||||
if (rational) {
|
||||
BSplCLib::Resolution(poles->Array1(),
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
poles->Length(),
|
||||
flatknots->Array1(),
|
||||
deg,
|
||||
@@ -885,7 +885,7 @@ void Geom2d_BSplineCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
}
|
||||
else {
|
||||
BSplCLib::Resolution(poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
poles->Length(),
|
||||
flatknots->Array1(),
|
||||
deg,
|
||||
|
@@ -155,18 +155,18 @@ void Geom2d_BezierCurve::Increase (const Standard_Integer Deg)
|
||||
if (IsRational()) {
|
||||
nweights = new TColStd_HArray1OfReal(1,Deg+1);
|
||||
BSplCLib::IncreaseDegree(Degree(), Deg, 0,
|
||||
poles->Array1(),weights->Array1(),
|
||||
poles->Array1(),&weights->Array1(),
|
||||
bidknots, bidmults,
|
||||
npoles->ChangeArray1(),nweights->ChangeArray1(),
|
||||
npoles->ChangeArray1(),&nweights->ChangeArray1(),
|
||||
bidknots, bidmults);
|
||||
}
|
||||
else {
|
||||
BSplCLib::IncreaseDegree(Degree(), Deg, 0,
|
||||
poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
bidknots, bidmults,
|
||||
npoles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
bidknots, bidmults);
|
||||
}
|
||||
|
||||
@@ -378,17 +378,14 @@ void Geom2d_BezierCurve::Segment
|
||||
//
|
||||
|
||||
if (IsRational()) {
|
||||
PLib::Trimming(U1,U2,coeffs->ChangeArray1(),wcoeffs->ChangeArray1());
|
||||
PLib::CoefficientsPoles(coeffs->Array1(),wcoeffs->Array1(),
|
||||
poles->ChangeArray1(),weights->ChangeArray1());
|
||||
PLib::Trimming(U1,U2,coeffs->ChangeArray1(),&wcoeffs->ChangeArray1());
|
||||
PLib::CoefficientsPoles(coeffs->Array1(),&wcoeffs->Array1(),
|
||||
poles->ChangeArray1(),&weights->ChangeArray1());
|
||||
}
|
||||
else {
|
||||
PLib::Trimming(U1,U2,coeffs->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL));
|
||||
PLib::CoefficientsPoles(coeffs->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
poles->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL));
|
||||
PLib::Trimming(U1,U2,coeffs->ChangeArray1(), PLib::NoWeights());
|
||||
PLib::CoefficientsPoles(coeffs->Array1(), PLib::NoWeights(),
|
||||
poles->ChangeArray1(), PLib::NoWeights());
|
||||
}
|
||||
UpdateCoefficients();
|
||||
}
|
||||
@@ -557,12 +554,10 @@ void Geom2d_BezierCurve::D0 (const Standard_Real U, gp_Pnt2d& P ) const
|
||||
// ((Geom2d_BezierCurve*)(void*)this)->UpdateCoefficients(U);
|
||||
if (IsRational())
|
||||
BSplCLib::CacheD0(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),wcoeffs->Array1(),P);
|
||||
coeffs->Array1(),&wcoeffs->Array1(),P);
|
||||
else
|
||||
BSplCLib::CacheD0(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
P);
|
||||
coeffs->Array1(), BSplCLib::NoWeights(), P);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -580,12 +575,10 @@ void Geom2d_BezierCurve::D1(const Standard_Real U,
|
||||
// ((Geom2d_BezierCurve*)(void*)this)->UpdateCoefficients(U);
|
||||
if (IsRational())
|
||||
BSplCLib::CacheD1(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),wcoeffs->Array1(),P,V1);
|
||||
coeffs->Array1(),&wcoeffs->Array1(),P,V1);
|
||||
else
|
||||
BSplCLib::CacheD1(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
P,V1);
|
||||
coeffs->Array1(), BSplCLib::NoWeights(), P,V1);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -604,12 +597,10 @@ void Geom2d_BezierCurve::D2 (const Standard_Real U,
|
||||
// ((Geom2d_BezierCurve*)(void*)this)->UpdateCoefficients(U);
|
||||
if (IsRational())
|
||||
BSplCLib::CacheD2(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),wcoeffs->Array1(),P,V1,V2);
|
||||
coeffs->Array1(),&wcoeffs->Array1(),P,V1,V2);
|
||||
else
|
||||
BSplCLib::CacheD2(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
P,V1,V2);
|
||||
coeffs->Array1(), BSplCLib::NoWeights(), P,V1,V2);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -629,12 +620,10 @@ void Geom2d_BezierCurve::D3 (const Standard_Real U,
|
||||
// ((Geom2d_BezierCurve*)(void*)this)->UpdateCoefficients(U);
|
||||
if (IsRational())
|
||||
BSplCLib::CacheD3(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),wcoeffs->Array1(),P,V1,V2,V3);
|
||||
coeffs->Array1(),&wcoeffs->Array1(),P,V1,V2,V3);
|
||||
else
|
||||
BSplCLib::CacheD3(U,Degree(),parametercache,spanlenghtcache,
|
||||
coeffs->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
P,V1,V2,V3);
|
||||
coeffs->Array1(), BSplCLib::NoWeights(), P,V1,V2,V3);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -653,13 +642,13 @@ gp_Vec2d Geom2d_BezierCurve::DN (const Standard_Real U,
|
||||
|
||||
if (IsRational())
|
||||
BSplCLib::DN(U,N,0,Degree(),Standard_False,
|
||||
poles->Array1(),weights->Array1(),
|
||||
bidknots,bidmults,V);
|
||||
poles->Array1(),&weights->Array1(),
|
||||
bidknots,&bidmults,V);
|
||||
else
|
||||
BSplCLib::DN(U,N,0,Degree(),Standard_False,
|
||||
poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
bidknots,bidmults,V);
|
||||
BSplCLib::NoWeights(),
|
||||
bidknots,&bidmults,V);
|
||||
return V;
|
||||
}
|
||||
|
||||
@@ -817,7 +806,7 @@ void Geom2d_BezierCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
|
||||
if (IsRational()) {
|
||||
BSplCLib::Resolution(poles->Array1(),
|
||||
weights->Array1(),
|
||||
&weights->Array1(),
|
||||
poles->Length(),
|
||||
bidflatknots,
|
||||
Degree(),
|
||||
@@ -826,7 +815,7 @@ void Geom2d_BezierCurve::Resolution(const Standard_Real ToleranceUV,
|
||||
}
|
||||
else {
|
||||
BSplCLib::Resolution(poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
poles->Length(),
|
||||
bidflatknots,
|
||||
Degree(),
|
||||
@@ -919,14 +908,14 @@ void Geom2d_BezierCurve::UpdateCoefficients(const Standard_Real )
|
||||
1, 2*(Degree()+1));
|
||||
if (IsRational())
|
||||
BSplCLib::BuildCache(parametercache,spanlenghtcache,0,Degree(),
|
||||
bidflatknots,poles->Array1(),weights->Array1(),
|
||||
coeffs->ChangeArray1(),wcoeffs->ChangeArray1());
|
||||
bidflatknots,poles->Array1(),&weights->Array1(),
|
||||
coeffs->ChangeArray1(),&wcoeffs->ChangeArray1());
|
||||
else
|
||||
BSplCLib::BuildCache(parametercache,spanlenghtcache,0,Degree(),
|
||||
bidflatknots,poles->Array1(),
|
||||
*((TColStd_Array1OfReal*) NULL),
|
||||
BSplCLib::NoWeights(),
|
||||
coeffs->ChangeArray1(),
|
||||
*((TColStd_Array1OfReal*) NULL));
|
||||
BSplCLib::NoWeights());
|
||||
validcache = 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user