20 # error "simlib2D.h: 20: you must include simlib.h first" 22 #if __SIMLIB__ < 0x0212 23 # error "simlib2D.h: 23: requires SIMLIB version 2.12 and higher" 35 double x()
const {
return _x; }
36 double y()
const {
return _y; }
189 double Value()
override;
204 virtual Value2D Value()
override;
241 #endif // __SIMLIB2D_H Convert 2 scalar inputs to single 2D vector output.
Input2D SetInput(Input2D i)
virtual Value2D Value()=0
Abstract 2D block with single 2D output.
Input ScalarProduct(Input2D x, Input2D y)
dot product: xvec . yvec
Input2D UnitVector(Input2D x)
make unit vector from input (Abs(output_vec)==1)
friend double abs(const Value2D &a)
Value2D(double x, double y)
continuous block with single input and alg.
friend double scalar_product(const Value2D &a, const Value2D &b)
2D vector value that can't be changed
virtual Value2D Value() override
Variable2D(Value2D x=Value2D(0, 0))
Implementation of class CalendarList interface is static - using global functions in SQS namespace...
continuous block vith 2 inputs and alg.
virtual Value2D Value() override
Adaptor2D(Input _x, Input _y)
Input Xpart(Input2D a)
get x part of (x,y) vector value
Value2D operator-(Value2D b)
bool operator==(const ParameterVector &p1, const ParameterVector &p2)
abstract base for continuous blocks with single output suitable for expression-tree building and eval...
Value2D operator+(Value2D b)
Input Ypart(Input2D a)
get y part of (x,y) vector value
virtual Value2D Value() override
Special variable (can't be changed at simulation time)
abstract base class for all blocksblocks/SimObject have not copy semantics (TODO: add move semantics)...
continuous block with 3 inputs and alg.
Reference to 2D vector block-expression.
friend Value2D operator*(const Value2D &a, const double b)
Constant2D(double x, double y)
block for numerical integration input is derivative, output is state
friend Value2D operator/(const Value2D &a, const double b)
Input2D SetInput(Input2D i)
Parameter2D(Value2D x=Value2D(0, 0))