Chrysalis - Pattern
Toggle main menu visibility
Loading...
Searching...
No Matches
LineArgument.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_LINEARGUMENT_H
2
#define CHRYSALIS_LINEARGUMENT_H
3
4
#include "
arguments/PatternPointArgument.h
"
5
9
namespace
Chrysalis
{
10
class
LineArgument
{
11
PROVIDE_SERIALIZATION_ACCESS
(
LineArgument
)
12
protected
:
13
explicit
LineArgument
(
const
args::point
*
origin
,
const
args::point
* destination);
14
public
:
15
explicit
LineArgument
(
const
args::point
*
origin
,
args::number
&&
angle
);
16
virtual
~LineArgument
();
17
18
[[nodiscard]]
virtual
bool
isValid
()
const
;
19
20
[[nodiscard]]
const
args::number
&
angle
()
const
;
21
[[nodiscard]]
const
args::point
*
origin
()
const
;
22
23
explicit
operator
CG::Line
()
const
;
24
protected
:
26
const
args::point
*
origin_
;
28
args::number
angle_
;
29
};
30
SERIALIZE_CONSTRUCTION
(
LineArgument
,
origin_
,
angle_
)
31
namespace
args
{
32
using
line
=
LineArgument
;
33
}
34
}
36
37
#endif
//CHRYSALIS_LINEARGUMENT_H
PatternPointArgument.h
Chrysalis::LineArgument
Definition
LineArgument.h:10
Chrysalis::LineArgument::LineArgument
LineArgument(const args::point *origin, const args::point *destination)
Definition
LineArgument.cpp:10
Chrysalis::LineArgument::origin_
const args::point * origin_
Definition
LineArgument.h:26
Chrysalis::LineArgument::angle_
args::number angle_
Definition
LineArgument.h:28
Chrysalis::LineArgument::origin
const args::point * origin() const
Definition
LineArgument.cpp:25
Chrysalis::LineArgument::~LineArgument
virtual ~LineArgument()
Definition
LineArgument.cpp:13
Chrysalis::LineArgument::angle
const args::number & angle() const
Definition
LineArgument.cpp:21
Chrysalis::LineArgument::isValid
virtual bool isValid() const
Definition
LineArgument.cpp:17
Chrysalis::CG::Line
CGAL::Line_2< LinearKernel > Line
Definition
CGAL.h:23
Chrysalis::args
Definition
Argument.h:26
Chrysalis::args::point
BasePointArgument point
Definition
BasePointArgument.h:26
Chrysalis::args::number
std::unique_ptr< BaseArgument< double > > number
Definition
BaseArgument.h:25
Chrysalis::args::line
LineArgument line
Definition
LineArgument.h:32
Chrysalis
Definition
Argument.h:9
PROVIDE_SERIALIZATION_ACCESS
#define PROVIDE_SERIALIZATION_ACCESS(Class)
Definition
serialization.h:29
SERIALIZE_CONSTRUCTION
#define SERIALIZE_CONSTRUCTION(Class,...)
Definition
serialization.h:119
pattern
include
arguments
LineArgument.h
Generated by
1.17.0