Chrysalis - Pattern
Toggle main menu visibility
Loading...
Searching...
No Matches
VectorArgument.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_VECTORARGUMENT_H
2
#define CHRYSALIS_VECTORARGUMENT_H
3
4
#include "
arguments/RayArgument.h
"
5
#include "
arguments/PatternPointArgument.h
"
6
#include "
arguments/BaseArgument.h
"
7
8
namespace
Chrysalis
{
12
class
VectorArgument
:
public
RayArgument
{
13
PROVIDE_SERIALIZATION_ACCESS
(
VectorArgument
)
14
protected
:
15
explicit
VectorArgument
(
const
args::point
*
origin
,
const
args::point
* destination);
16
public
:
17
explicit
VectorArgument
(
args::number
&&
angle
,
args::number
&&
length
);
18
explicit
VectorArgument
(
const
args::point
*
origin
,
args::number
&&
length
);
19
explicit
VectorArgument
(
const
args::point
*
origin
,
args::number
&&
angle
,
args::number
&&
length
);
20
21
[[nodiscard]]
bool
isValid
()
const override
;
22
[[nodiscard]]
const
args::number
&
length
()
const
;
23
24
explicit
operator
CG::Vector
()
const
;
25
explicit
virtual
operator
CG::Segment
()
const
;
26
private
:
28
args::number
length_;
29
};
30
SERIALIZE_DERIVED_CONSTRUCTION
(
VectorArgument
,
RayArgument
, origin_, angle_, length_)
31
namespace
args
{
32
using
vector
=
VectorArgument
;
33
}
34
}
35
36
#endif
//CHRYSALIS_VECTORARGUMENT_H
BaseArgument.h
PatternPointArgument.h
RayArgument.h
Chrysalis::LineArgument::origin
const args::point * origin() const
Definition
LineArgument.cpp:25
Chrysalis::LineArgument::angle
const args::number & angle() const
Definition
LineArgument.cpp:21
Chrysalis::RayArgument
Definition
RayArgument.h:10
Chrysalis::RayArgument::RayArgument
RayArgument(const args::point *origin, const args::point *destination)
Definition
RayArgument.cpp:5
Chrysalis::VectorArgument
Definition
VectorArgument.h:12
Chrysalis::args::vector
VectorArgument vector
Definition
VectorArgument.h:32
Chrysalis::VectorArgument::VectorArgument
VectorArgument(const args::point *origin, const args::point *destination)
Definition
VectorArgument.cpp:15
Chrysalis::VectorArgument::length
const args::number & length() const
Definition
VectorArgument.cpp:22
Chrysalis::VectorArgument::isValid
bool isValid() const override
Definition
VectorArgument.cpp:18
Chrysalis::CG::Vector
CGAL::Vector_2< LinearKernel > Vector
Definition
CGAL.h:25
Chrysalis::CG::Segment
CGAL::Segment_2< LinearKernel > Segment
Definition
CGAL.h:26
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
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
arguments
VectorArgument.h
Generated by
1.17.0