Chrysalis - Pattern
Loading...
Searching...
No Matches
BasePointArgument.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_BASEPOINTARGUMENT_H
2#define CHRYSALIS_BASEPOINTARGUMENT_H
3
4#include "Point.h"
6
10namespace Chrysalis {
13 protected:
14 explicit BasePointArgument() = default;
15 public:
16 virtual ~BasePointArgument() = default;
17
18 [[nodiscard]] virtual bool isValid() const;
19 [[nodiscard]] virtual const Point* get() const = 0;
20 [[nodiscard]] virtual const args::name& name() const = 0;
21 [[nodiscard]] virtual BasePointArgument* clone() const = 0;
22
23 [[nodiscard]] virtual operator CG::Point() const;
24 };
25 namespace args {
27 }
28}
30
31#endif //CHRYSALIS_BASEPOINTARGUMENT_H
Definition BasePointArgument.h:11
virtual const args::name & name() const =0
virtual ~BasePointArgument()=default
virtual bool isValid() const
Definition BasePointArgument.cpp:5
virtual const Point * get() const =0
virtual BasePointArgument * clone() const =0
virtual operator CG::Point() const
Definition BasePointArgument.cpp:9
CGAL::Point_2< LinearKernel > Point
Definition CGAL.h:24
Definition Argument.h:26
BasePointArgument point
Definition BasePointArgument.h:26
std::unique_ptr< Argument< std::string > > name
Definition Argument.h:27
Definition Argument.h:9
#define SERIALIZED
Definition serialization.h:57