Rumba C++ SDK
Document.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2024
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 
16 #pragma once
17 
18 #include "Export.h"
19 #include "NodePlugin.h"
20 #include "Progress.h"
21 
22 namespace maquina
23 {
24 
27 {
28 public:
29 
30  Document (Node *node) : NodePlugin(node) {}
31 
33  bool is_active() const;
34 
36  virtual bool set_active();
37 
39  std::string path() const;
40 
42  float frame() const;
43 
45 
48  virtual bool save(const std::string_view& filename);
49 
51  virtual void set_path(std::string path) const;
52 
54  virtual void set_clean();
55 
57  void clear_undo_stack();
58 
60  virtual std::string filter() const;
61 
63  void evaluate (const ProgressCallback& progress);
64 
66  virtual int save_order () const;
67 
69  virtual std::vector<std::shared_ptr<maquina::NodeDelegate>> cameras() const;
70 
71 };
72 
73 }
Derive this class to create your own Node type.
Definition: NodePlugin.h:28
Document(Node *node)
Definition: Document.h:30
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
MAQUINA_EXPORT std::vector< std::shared_ptr< maquina::NodeDelegate > > cameras()
Return the available cameras.
#define MAQUINA_EXPORT
Definition: Export.h:31
std::function< bool(float, const char *)> ProgressCallback
Definition: Progress.h:22
The Document node plugin.
Definition: Document.h:26
Base class of all Rumba nodes.
Definition: Node.h:37