/**************************************************************************** ** Copyright (c) 2022, Fougue Ltd. ** All rights reserved. ** See license at https://github.com/fougue/mayo/blob/master/LICENSE.txt ****************************************************************************/ #pragma once // Base #include "occ_handle.h" class DocumentTreeNode; // OpenCascade #include #include class Poly_Triangulation; class TopLoc_Location; // CppStd #include #include namespace Mayo { // Provides an interface to access mesh geometry class IMeshAccess { public: virtual std::optional nodeColor(int i) const = 0; virtual const TopLoc_Location& location() const = 0; virtual const OccHandle& triangulation() const = 0; }; // Iterates over meshes from `treeNode` and call `fnCallback` for each item. void IMeshAccess_visitMeshes( const DocumentTreeNode& treeNode, std::function fnCallback ); } // namespace Mayo