View Issue Details

IDProjectCategoryView StatusLast Update
0029446CommunityOCCT:Modeling Algorithmspublic2018-01-24 15:32
Reportereryar Assigned Tomsv 
PrioritynormalSeverityminor 
Status newResolutionopen 
PlatformWindowsOSVC++ 2013 
Product Version7.2.0 
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 Files

  • CoonsPatch.jpg (9,017 bytes)

Activities

eryar

2018-01-24 15:32

developer  

CoonsPatch.jpg (9,017 bytes)

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