Skip to content

Commit

Permalink
Add maximize-faces command.
Browse files Browse the repository at this point in the history
  • Loading branch information
sslyadnev committed Aug 19, 2020
1 parent 1eb9b57 commit f3b379c
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions src/cmdEngine/cmdEngine_Editing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3057,6 +3057,50 @@ int ENGINE_Sew(const Handle(asiTcl_Interp)& interp,

//-----------------------------------------------------------------------------

int ENGINE_MaximizeFaces(const Handle(asiTcl_Interp)& interp,
int argc,
const char** argv)
{
if ( argc != 1 )
{
return interp->ErrorOnWrongArgs(argv[0]);
}

// Get Part Node.
Handle(asiData_PartNode) partNode = cmdEngine::model->GetPartNode();
//
if ( partNode.IsNull() || !partNode->IsWellFormed() )
{
interp->GetProgress().SendLogMessage(LogErr(Normal) << "Part Node is null or ill-defined.");
return TCL_ERROR;
}
//
TopoDS_Shape shape = partNode->GetShape();

// Modify shape.
cmdEngine::model->OpenCommand();
{
if ( !asiAlgo_Utils::MaximizeFaces(shape) )
{
interp->GetProgress().SendLogMessage(LogErr(Normal) << "Face maximization failed.");
//
cmdEngine::model->AbortCommand();
return TCL_ERROR;
}
//
asiEngine_Part(cmdEngine::model).Update(shape);
}
cmdEngine::model->CommitCommand();

// Update UI.
if ( cmdEngine::cf && cmdEngine::cf->ViewerPart )
cmdEngine::cf->ViewerPart->PrsMgr()->Actualize(partNode);

return TCL_OK;
}

//-----------------------------------------------------------------------------

void cmdEngine::Commands_Editing(const Handle(asiTcl_Interp)& interp,
const Handle(Standard_Transient)& cmdEngine_NotUsed(data))
{
Expand Down Expand Up @@ -3468,4 +3512,12 @@ void cmdEngine::Commands_Editing(const Handle(asiTcl_Interp)& interp,
"\t is passed, the default value 1.e-7 is used.",
//
__FILE__, group, ENGINE_Sew);

//-------------------------------------------------------------------------//
interp->AddCommand("maximize-faces",
//
"maximize-faces\n"
"\t Maximizes canonical faces.",
//
__FILE__, group, ENGINE_MaximizeFaces);
}

0 comments on commit f3b379c

Please sign in to comment.