Anonymous | Login | 2021-01-19 15:30 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0029446 | Community | [OCCT] OCCT:Modeling Algorithms | public | 2018-01-24 15:32 | 2018-01-24 15:32 | ||||||||
Reporter | eryar | ||||||||||||
Assigned To | msv | ||||||||||||
Priority | normal | Severity | minor | ||||||||||
Status | new | Resolution | open | ||||||||||
Platform | Windows | OS | VC++ 2013 | OS Version | 64 bit | ||||||||
Product Version | [OCCT] 7.2.0 | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
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 | |||||||||||||
Attached Files | ![]() | ||||||||||||
![]() |
|||
Date Modified | Username | Field | Change |
2018-01-24 15:32 | eryar | New Issue | |
2018-01-24 15:32 | eryar | Assigned To | => msv |
2018-01-24 15:32 | eryar | File Added: CoonsPatch.jpg |
Copyright © 2000 - 2021 MantisBT Team |