Chrysalis - Project Composer
Loading...
Searching...
No Matches
NumberProxy.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_NUMBERPROXY_H
2#define CHRYSALIS_NUMBERPROXY_H
3
4#include "arguments/VectorArgument.h"
5#include "arguments/SegmentArgument.h"
6#include "arguments/PatternPointArgument.h"
7#include "instructions/DartInstruction.h"
8#include "instructions/EdgeDartInstruction.h"
9#include "instructions/UnfoldEdgeDartInstruction.h"
10
11namespace Chrysalis
12{
13 class DartInstruction;
14}
15
19namespace Chrysalis::Proxy {
20 class Number {
21 public:
22 class Point;
23 struct Vector {
24 class Segment;
25 };
26 struct Segment {
27 struct And {
28 class Segment;
29 };
30 };
31 explicit Number(double value);
32 explicit Number(args::number&& number);
33 operator args::number&&();
34 private:
35 args::number number_;
36 };
38 public:
39 class Vector;
40 explicit Point(args::number&& number, const PatternPointArgument* point);
41 operator args::number&&();
42 operator const PatternPointArgument*() const;
43 private:
44 args::number number_;
45 const PatternPointArgument* point_;
46 };
48 public:
49 explicit Vector(args::number&& number, const PatternPointArgument* point, const args::vector* vector);
50 DartInstruction* operator>>(const args::vector* vector);
51 private:
52 args::number number_;
53 const args::vector* vector_;
54 const PatternPointArgument* point_;
55 };
57 public:
58 explicit Segment(args::number&& number, const args::vector* vector, const args::segment* segment);
59 operator EdgeDartInstruction*(); // NOLINT(cppcoreguidelines-explicit-constructor)
60 private:
61 args::number number_;
62 const args::vector* vector_;
63 const args::segment* segment_;
64 };
66 public:
67 explicit Segment(args::number&& number, const args::segment* segment1, const args::segment* segment2);
68 operator UnfoldEdgeDartInstruction*(); // NOLINT(cppcoreguidelines-explicit-constructor)
69 private:
70 args::number number_;
71 const args::segment* segment1_;
72 const args::segment* segment2_;
73 };
74}
76
77#endif //CHRYSALIS_NUMBERPROXY_H
Definition NumberProxy.h:47
DartInstruction * operator>>(const args::vector *vector)
Definition NumberProxy.cpp:40
Vector(args::number &&number, const PatternPointArgument *point, const args::vector *vector)
Definition NumberProxy.cpp:19
Definition NumberProxy.h:37
Point(args::number &&number, const PatternPointArgument *point)
Definition NumberProxy.cpp:16
Segment(args::number &&number, const args::segment *segment1, const args::segment *segment2)
Definition NumberProxy.cpp:25
Segment(args::number &&number, const args::vector *vector, const args::segment *segment)
Definition NumberProxy.cpp:22
Number(double value)
Definition NumberProxy.cpp:12
Definition ConditionProxy.h:9
Definition composer.h:40
Definition NumberProxy.h:27
Definition NumberProxy.h:26
Definition NumberProxy.h:23