Chrysalis - Pattern
Loading...
Searching...
No Matches
Arguments
Collaboration diagram for Arguments:

Namespaces

namespace  Chrysalis
namespace  Chrysalis::args

Classes

class  Chrysalis::VectorArgument
class  Chrysalis::VectorFunctionArgument

Macros

#define FORWARD_DECLARE(r, data, Name)
#define DECLARE_VECTOR_FUNCTION(r, data, Name)

Typedefs

using Chrysalis::args::vector = VectorArgument

Functions

 Chrysalis::VectorArgument::VectorArgument (const args::point *origin, const args::point *destination)
 Chrysalis::VectorArgument::VectorArgument (args::number &&angle, args::number &&length)
 Chrysalis::VectorArgument::VectorArgument (const args::point *origin, args::number &&length)
 Chrysalis::VectorArgument::VectorArgument (const args::point *origin, args::number &&angle, args::number &&length)
bool Chrysalis::VectorArgument::isValid () const override
const args::number & Chrysalis::VectorArgument::length () const
 Chrysalis::VectorArgument::operator CG::Vector () const
virtual Chrysalis::VectorArgument::operator CG::Segment () const
 Chrysalis::VectorFunctionArgument::VectorFunctionArgument (const args::point *from, const args::point *to)
 Chrysalis::VectorFunctionArgument::~VectorFunctionArgument () override
std::expected< double, Error > Chrysalis::VectorFunctionArgument::calculate () const override
virtual std::expected< double, Error > Chrysalis::VectorFunctionArgument::evaluate (const CG::Point &from, const CG::Point &to) const =0

Variables

const args::point * Chrysalis::VectorFunctionArgument::from_
const args::point * Chrysalis::VectorFunctionArgument::to_

Detailed Description

Macro Definition Documentation

◆ DECLARE_VECTOR_FUNCTION

#define DECLARE_VECTOR_FUNCTION ( r,
data,
Name )
Value:
class VectorFunctionArgument::Name: public VectorFunctionArgument { \
PROVIDE_SERIALIZATION_ACCESS(VectorFunctionArgument::Name) \
public: \
explicit Name(const args::point* from, const args::point* to): VectorFunctionArgument(from, to) {} \
protected: \
std::expected<double, Error> evaluate(const CG::Point& from, const CG::Point& to) const override; \
}; \
SERIALIZE_DERIVED_CONSTRUCTION(VectorFunctionArgument::Name, VectorFunctionArgument, from_, to_);

◆ FORWARD_DECLARE

#define FORWARD_DECLARE ( r,
data,
Name )
Value:
class Name;

Typedef Documentation

◆ vector

Function Documentation

◆ calculate()

std::expected< double, Error > VectorFunctionArgument::calculate ( ) const
overrideprotectedvirtual

Implements Chrysalis::BaseCalculatedArgument< double >.

Here is the call graph for this function:

◆ evaluate()

virtual std::expected< double, Error > Chrysalis::VectorFunctionArgument::evaluate ( const CG::Point & from,
const CG::Point & to ) const
protectedpure virtual
Here is the caller graph for this function:

◆ isValid()

bool VectorArgument::isValid ( ) const
nodiscardoverridevirtual

Reimplemented from Chrysalis::LineArgument.

Here is the call graph for this function:

◆ length()

const args::number & VectorArgument::length ( ) const
nodiscard
Here is the caller graph for this function:

◆ operator CG::Segment()

VectorArgument::operator CG::Segment ( ) const
explicitvirtual

Reimplemented in Chrysalis::SegmentArgument.

Here is the call graph for this function:

◆ operator CG::Vector()

VectorArgument::operator CG::Vector ( ) const
explicit

◆ VectorArgument() [1/4]

VectorArgument::VectorArgument ( args::number && angle,
args::number && length )
explicit
Here is the call graph for this function:

◆ VectorArgument() [2/4]

VectorArgument::VectorArgument ( const args::point * origin,
args::number && angle,
args::number && length )
explicit
Here is the call graph for this function:

◆ VectorArgument() [3/4]

VectorArgument::VectorArgument ( const args::point * origin,
args::number && length )
explicit
Here is the call graph for this function:

◆ VectorArgument() [4/4]

VectorArgument::VectorArgument ( const args::point * origin,
const args::point * destination )
explicitprotected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ VectorFunctionArgument()

VectorFunctionArgument::VectorFunctionArgument ( const args::point * from,
const args::point * to )
explicitprotected

◆ ~VectorFunctionArgument()

VectorFunctionArgument::~VectorFunctionArgument ( )
override

Variable Documentation

◆ from_

const args::point* Chrysalis::VectorFunctionArgument::from_
protected

◆ to_

const args::point* Chrysalis::VectorFunctionArgument::to_
protected