Hide menu
cadex::ModelSimplifier_Simplifier Class Reference

Provides an interface to the pipeline of B-Rep simplification tools. More...

Public Member Functions

 ModelSimplifier_Simplifier ()
 
ModelSimplifier_SimplifierAddTool (const std::shared_ptr< ModelSimplifier_SimplifierTool > &theTool)
 Adds a tool to the simplification pipeline. More...
 
ModelData_Model Perform (const ModelData_Model &theSource) const
 Runs the simplification pipeline. More...
 

Detailed Description

Provides an interface to the pipeline of B-Rep simplification tools.

Warning
This class is a part of Model Simplification add-on, which is licensed separately from the base CAD Exchanger SDK.

Object of this class acts as a container for B-Rep simplification tools (classes derived from ModelSimplifier_SimplifierTool) and provides an interface allowing to run the tools on a model all at once.

By convention, the tools are re-usable, which means that the whole pipeline can process multiple models, one after another.

Examples
advgeom/brepsimplify/main.cxx.

Constructor & Destructor Documentation

◆ ModelSimplifier_Simplifier()

cadex::ModelSimplifier_Simplifier::ModelSimplifier_Simplifier ( )

Constructor.

Exceptions
LicenseManager_LicenseErrorif no Model Simplifier license was activated.

Member Function Documentation

◆ AddTool()

ModelSimplifier_Simplifier & cadex::ModelSimplifier_Simplifier::AddTool ( const std::shared_ptr< ModelSimplifier_SimplifierTool > &  theTool)

Adds a tool to the simplification pipeline.

The tools are currently not ordered by any kind of priority and are kept in the order they were passed to this member function. The responsibility of ordering the tools in a sensible way is delegated to the client of this class.

This behavior is subject to change in the future versions.

◆ Perform()

ModelData_Model cadex::ModelSimplifier_Simplifier::Perform ( const ModelData_Model theSource) const

Runs the simplification pipeline.

Runs the pipeline by invoking the tools in the order of addition.

Examples
advgeom/brepsimplify/main.cxx.