Chrysalis - Project Composer
Loading...
Searching...
No Matches
VectorProxy.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_VECTORARGUMENTPROXY_H
2#define CHRYSALIS_VECTORARGUMENTPROXY_H
3
4#include <vector>
5
6#include "proxies/NameProxy.h"
8#include "arguments/SegmentArgument.h"
9#include "instructions/CurveInstruction.h"
10
14namespace Chrysalis::Proxy {
15 class Vector {
16 public:
17 class And {
18 public:
19 class Vector;
20 explicit And(const args::vector* vector);
21 Name::Vector name(args::name&& name) const;
22 And* operator->();
23 private:
24 const args::vector* vector_;
25 };
26 class Segment;
27
28 explicit Vector(const args::point* origin, args::number&& angle, args::number&& length);
29 explicit Vector(const args::point* origin, args::number&& angle, double length);
30 explicit Vector(const args::point* origin, double angle, args::number&& length);
31 explicit Vector(const args::point* origin, double angle, double length);
32
33 explicit Vector(args::number&& angle, args::number&& length);
34 explicit Vector(double angle, args::number&& length);
35 explicit Vector(double angle, double length);
36
37 operator const args::vector*() const;
39
40 And operator->() const;
41 Point::Vector operator>>(const PatternPointArgument* point) const;
42 private:
43 args::vector* vector_;
44 };
46 public:
47 explicit Vector(const args::vector* vector1, const args::vector* vector2);
48 operator CurveInstruction*() const;
49 private:
50 const args::vector* vector1_;
51 const args::vector* vector2_;
52 };
54 public:
55 explicit Segment(const args::vector* vector, const args::segment* segment);
56 Number::Vector::Segment operator()(double number) const;
57 private:
58 const args::vector* vector_;
59 const args::segment* segment_;
60 };
61}
63
64#endif //CHRYSALIS_VECTORARGUMENTPROXY_H
#define name(arg)
Definition Project1Composer.cpp:92
Definition NameProxy.h:40
Definition NumberProxy.h:47
Definition NumberProxy.h:37
Definition PointProxy.h:21
Definition VectorProxy.h:45
Vector(const args::vector *vector1, const args::vector *vector2)
Definition VectorProxy.cpp:33
Definition VectorProxy.h:17
And(const args::vector *vector)
Definition VectorProxy.cpp:31
And * operator->()
Definition VectorProxy.cpp:51
Name::Vector name(args::name &&name) const
Definition VectorProxy.cpp:47
Definition VectorProxy.h:53
Number::Vector::Segment operator()(double number) const
Definition VectorProxy.cpp:63
Segment(const args::vector *vector, const args::segment *segment)
Definition VectorProxy.cpp:36
Number::Point::Vector operator<<(Number::Point &&args) const
Definition VectorProxy.cpp:55
And operator->() const
Definition VectorProxy.cpp:43
Point::Vector operator>>(const PatternPointArgument *point) const
Definition VectorProxy.cpp:59
Vector(const args::point *origin, args::number &&angle, args::number &&length)
Definition VectorProxy.cpp:10
Definition ConditionProxy.h:9