MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029446Community[OCCT] OCCT:Modeling Algorithmspublic2018-01-24 15:322018-01-24 15:32
Reportereryar 
Assigned Tomsv 
PrioritynormalSeverityminor 
StatusnewResolutionopen 
PlatformWindowsOSVC++ 2013OS Version64 bit
Product Version[OCCT] 7.2.0 
Target VersionFixed in Version 
Summary0029446: Parameter U should used for GeomFill_CoonsAlgPatch::Value()
DescriptionAccording 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;
      }
    }
  }
}
TagsNo tags attached.
Test case number
Attached Filesjpg file icon CoonsPatch.jpg (9,017 bytes) 2018-01-24 15:32

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
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 - 2019 MantisBT Team
Powered by Mantis Bugtracker