MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCombinedHistoryAction.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRHistoryAction.h"
4#include <memory>
5
6namespace MR
7{
8
11class MRMESH_CLASS CombinedHistoryAction : public HistoryAction
12{
13public:
15 MRMESH_API CombinedHistoryAction( const std::string& name, const std::vector<std::shared_ptr<HistoryAction>>& actions );
16
17 virtual std::string name() const override
18 {
19 return name_;
20 }
21
22 MRMESH_API virtual void action( HistoryAction::Type type ) override;
23
24 HistoryActionsVector& getStack() { return actions_; }
25 const HistoryActionsVector& getStack() const { return actions_; }
26
29 MRMESH_API bool filter( HistoryStackFilter filteringCondition );
30
31 bool empty() const { return actions_.empty(); };
32
33 [[nodiscard]] MRMESH_API virtual size_t heapBytes() const override;
34
35private:
36 HistoryActionsVector actions_;
37 std::string name_;
38};
39
40}
#define MRMESH_API
Definition MRMeshFwd.h:80
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
std::string name(const T &primitive)
Definition MRFeatures.h:309
Definition MRCameraOrientationPlugin.h:8
HistoryActionsVector
int heapBytes(FloatGrid grid)