OpenLexocad  27.1
CmdAddLoftNURBS.h
Go to the documentation of this file.
1 // //
3 // LEXOCAD API //
4 // //
5 // ©2005-2016 Cadwork Informatik. All rights reserved. //
6 // //
7 // ONLY INCLUDE OTHER INTERFACES! //
8 // Lexocad provides API Classes for public use and //
9 // Implementation Classes for private use. //
10 // //
11 // - Do ONLY include and use the LEXOCAD API in this header. //
12 // - Do not change existing interfaces. //
13 // - Document your code! //
14 // //
15 // - All types from Base, Core, Geom, Topo are allowed here. //
16 // - In the Gui modules the use of Qt types is allowed. //
17 // //
19 
20 #pragma once
21 #include <Core/Command.h>
22 #include <OpenLxApp/Element.h>
23 
24 
25 #include <memory>
26 #include <vector>
27 
28 // HANS: Commands als Proxy-Objekte anlegen!
29 
30 namespace OpenLxCmd
31 {
38 class LX_OPENLXCMD_EXPORT CmdAddLoftNURBS : public Core::Command
39 {
40 public:
41  enum class ResultingShape
42  {
43  OPEN,
44  CLOSED
45  };
46 
48  CmdAddLoftNURBS(const std::vector<std::shared_ptr<OpenLxApp::Element>>& uElements,
49  const std::vector<std::shared_ptr<OpenLxApp::Element>>& vElements,
50  ResultingShape aResultingShapeEnum);
51  ~CmdAddLoftNURBS();
52 
53  bool redo();
54  bool undo();
55 
56  std::shared_ptr<OpenLxApp::Element> getLoftedElement() const;
57 
58 private:
59  Core::Command* _cmd = nullptr;
60 };
61 } // namespace OpenLxCmd
ResultingShape
Definition: CmdAddLoftNURBS.h:41
Definition: CmdAddLoftNURBS.h:38
bool undo(int id=0)
Will UNDO one step, returns False if no undo was done (Undos == 0).
bool redo(int id=0)
Will REDO one step, returns False if no redo was done (Redos == 0).
Definition: CmdAddBolt.h:7
Definition: Command.h:34