View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0029446 | Community | OCCT:Modeling Algorithms | public | 2018-01-24 15:32 | 2018-01-24 15:32 |
Reporter | eryar | Assigned To | |||
Priority | normal | Severity | minor | ||
Status | new | Resolution | open | ||
Platform | Windows | OS | VC++ 2013 | ||
Product Version | 7.2.0 | ||||
Summary | 0029446: Parameter U should used for GeomFill_CoonsAlgPatch::Value() | ||||
Description | According to the Coons parametric equation(see the attach picture), the parameter U should used to evaluate the point on Coons patch, in the 7.2.0 source code, the parameter U is commented as follows: //gp_Pnt GeomFill_CoonsAlgPatch::Value(const Standard_Real U, gp_Pnt GeomFill_CoonsAlgPatch::Value(const Standard_Real , const Standard_Real V) const { ... } Besides in GeomFill_ConstrainedFilling::Init(B1, B2, B3) function: void GeomFill_ConstrainedFilling::Init(const Handle(GeomFill_Boundary)& B1, const Handle(GeomFill_Boundary)& B2, const Handle(GeomFill_Boundary)& B3, const Standard_Boolean NoCheck) { for (i = 0; i <= 3; i++){ mig[i] = 1.; if(!tgalg[i].IsNull()) { if(!CheckTgte(i)) { Handle(Law_Function) fu1,fu2; ptch->Func(fu1,fu2); fu1 = Law::MixBnd(Handle(Law_Linear)::DownCast (fu1)); fu2 = Law::MixBnd(Handle(Law_Linear)::DownCast (fu2)); ptch->Func(fu1,fu2); break; } } } } The blending function fu1 and fu2 only get not set back. The last ptch->Func() should change to ptch->SetFunc(); whereas in GeomFill_ConstrainedFilling::Init(B1, B2, B3, B4): void GeomFill_ConstrainedFilling::Init(const Handle(GeomFill_Boundary)& B1, const Handle(GeomFill_Boundary)& B2, const Handle(GeomFill_Boundary)& B3, const Handle(GeomFill_Boundary)& B4, const Standard_Boolean NoCheck) { // On verifie les champs tangents ne changent pas de direction. for (i = 0; i <= 3; i++){ mig[i] = 1.; if(!tgalg[i].IsNull()) { if(!CheckTgte(i)) { Handle(Law_Function) fu1,fu2; ptch->Func(fu1,fu2); Handle(Law_Function) ffu1 = Law::MixBnd(Handle(Law_Linear)::DownCast (fu1)); Handle(Law_Function) ffu2 = Law::MixBnd(Handle(Law_Linear)::DownCast (fu2)); ptch->SetFunc(ffu1,ffu2); break; } } } } | ||||
Tags | No tags attached. | ||||
Test case number | |||||