Hide menu
No Matches
cadex::ModelSimplifier_SimplifierTool Class Referenceabstract

Describes an interface that B-Rep simplification tools should implement. More...

#include <cadex/ModelSimplifier_SimplifierTool.hxx>

Inheritance diagram for cadex::ModelSimplifier_SimplifierTool:
cadex::ModelSimplifier_HoleRemoverTool cadex::ModelSimplifier_InternalFacesRemoverTool cadex::ModelSimplifier_MeshSimplifierTool cadex::ModelSimplifier_SmallBodiesRemoverTool

Public Member Functions

 ModelSimplifier_SimplifierTool (const std::shared_ptr< internal::ModelSimplifierImpl_SimplifierTool > &theImpl)
void SetShapePredicate (const std::shared_ptr< ModelSimplifier_ShapePredicate > &theShapePredicate)
 Sets what shapes can be split during simplification and what shapes can be simplified.
virtual ModelData_Model Perform (const ModelData_Model &theSource) const =0
 Performs the simplification algorithm.

Protected Member Functions

template<typename T >
T * Impl () const

Detailed Description

Describes an interface that B-Rep simplification tools should implement.

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

Member Function Documentation

◆ Perform()

ModelData_Model ModelSimplifier_SimplifierTool::Perform ( const ModelData_Model theSource) const
pure virtual

Performs the simplification algorithm.

Returns a copy of the source model with some scene graph elements simplified or removed.

Derived tools must be implemented in a way that allows Perform() to be invoked multiple times by the same instance for different models.

Implemented in cadex::ModelSimplifier_HoleRemoverTool, cadex::ModelSimplifier_InternalFacesRemoverTool, cadex::ModelSimplifier_MeshSimplifierTool, and cadex::ModelSimplifier_SmallBodiesRemoverTool.