MbMeshProcessor Class – Shell Creation

The MbMeshProcessor class is intended for creating a shell based on a polygonal mesh with user-defined settings. The class provides advanced capabilities for controlling segmentation and surface recognition processes.

class MbMeshProcessor {

public:
    // Create a processor instance by a collection of elements.
    MbMeshProcessor * Create( const MbCollection & collection );

    // Destructor
    ~MbMeshProcessor();

    // Recognition tolerance control
    void   SetRelativeTolerance( double tolerance );
    void   SetTolerance( double tolerance );
    double GetTolerance() const;

    // Mesh "healing".
    void SetUseMeshSmoothing( bool useSmoothing );

    // Mesh segmentation control.
    const MbCollection & GetSegmentedMesh();
    MbResultType         SegmentMesh( bool createSurfaces = true );
    void                 ResetSegmentation();
    void                 UniteSegments( size_t firstSegmentIdx,
                                        size_t secondSegmentIdx );
    MbResultType         SegmentMeshBySeparators( const std::vector<std::vector<uint>> & sep );

    // Surface recognition control.
    void             SetReconstructionMode( MbeSurfReconstructMode mode );
    void             FitSurfaceToSegment( size_t idxSegment );
    void             FitSurfaceToSegment( size_t idxSegment, MbeSpaceType surfaceType );
    const MbSurface * GetSegmentSurface( size_t idxSegment ) const;

    // B-Rep model construction.
    MbResultType CreateBRepShell( MbFaceShell *& pShell );

    ..
};

The class description is located in the action_b_shaper.h file.

More detailed descriptions of the class methods are provided in next subsections.