Chrysalis - Pattern
Toggle main menu visibility
Loading...
Searching...
No Matches
RelativePointInstruction.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_ADDPOINTINSTRUCTION_H
2
#define CHRYSALIS_ADDPOINTINSTRUCTION_H
3
4
#include <boost/serialization/export.hpp>
5
6
#include "
arguments/VectorArgument.h
"
7
#include "
arguments/OptionalArgument.h
"
8
#include "
arguments/PatternPointArgument.h
"
9
#include "
arguments/PatternsContainerArgument.h
"
10
#include "
instructions/BasePatternInstruction.h
"
11
15
namespace
Chrysalis
{
19
* "A 1" ("Back") -> "B 2" 1 / 2 * 3 param("Short alias")
20
* A -> B (1 * 2 * 3 * 4) (1 / 2 / param("Circumference of something"))
21
* }
22
*/
23
class
RelativePointInstruction
:
public
BasePatternInstruction
{
24
PROVIDE_SERIALIZATION_ACCESS
(
RelativePointInstruction
)
25
public
:
26
explicit
RelativePointInstruction
(
ProjectSpace
*
space
,
args::patterns
* selectedPatterns,
27
args::name
&& name,
const
args::vector
* vector);
28
explicit
RelativePointInstruction
(
ProjectSpace
*
space
,
args::patterns
* selectedPatterns,
29
args::name
&& name,
const
args::vector
* vector,
30
const
args::optional<args::line>
* line);
31
~RelativePointInstruction
()
override
;
32
33
void
execute
()
override
;
34
private
:
35
args::name
name_;
36
const
args::vector
* vector_;
37
const
args::optional<args::line>
* line_;
38
};
39
SERIALIZE_DERIVED_CONSTRUCTION
(
RelativePointInstruction
,
BasePatternInstruction
, space_, patterns_, name_, vector_, line_)
40
}
42
43
#endif
//CHRYSALIS_ADDPOINTINSTRUCTION_H
BasePatternInstruction.h
OptionalArgument.h
PatternPointArgument.h
PatternsContainerArgument.h
VectorArgument.h
Chrysalis::BasePatternInstruction
Definition
BasePatternInstruction.h:14
Chrysalis::BasePatternInstruction::space
ProjectSpace & space() const
Definition
BasePatternInstruction.h:21
Chrysalis::BasePatternInstruction::BasePatternInstruction
BasePatternInstruction(ProjectSpace *space, args::patterns *patterns)
Definition
BasePatternInstruction.cpp:5
Chrysalis::ProjectSpace
Definition
ProjectSpace.h:12
Chrysalis::RelativePointInstruction
Definition
RelativePointInstruction.h:19
Chrysalis::RelativePointInstruction::RelativePointInstruction
RelativePointInstruction(ProjectSpace *space, args::patterns *selectedPatterns, args::name &&name, const args::vector *vector)
Definition
RelativePointInstruction.cpp:5
Chrysalis::RelativePointInstruction::execute
void execute() override
Definition
RelativePointInstruction.cpp:19
Chrysalis::RelativePointInstruction::~RelativePointInstruction
~RelativePointInstruction() override
Definition
RelativePointInstruction.cpp:14
Chrysalis::args::vector
VectorArgument vector
Definition
VectorArgument.h:32
Chrysalis::args::optional
OptionalArgument< T > optional
Definition
OptionalArgument.h:30
Chrysalis::args::name
std::unique_ptr< Argument< std::string > > name
Definition
Argument.h:27
Chrysalis::args::patterns
PatternsContainerArgument patterns
Definition
PatternsContainerArgument.h:31
Chrysalis
Definition
Argument.h:9
PROVIDE_SERIALIZATION_ACCESS
#define PROVIDE_SERIALIZATION_ACCESS(Class)
Definition
serialization.h:29
SERIALIZE_DERIVED_CONSTRUCTION
#define SERIALIZE_DERIVED_CONSTRUCTION(Class, Base,...)
Definition
serialization.h:124
pattern
include
instructions
RelativePointInstruction.h
Generated by
1.17.0