|
SIMLIB/C++
3.07
|
abstract base for continuous blocks with single output suitable for expression-tree building and evaluation More...
#include <simlib.h>


Public Member Functions | |
| aContiBlock () | |
| virtual void | _Eval () |
| evaluate block (with loop detection) More... | |
| virtual double | Value ()=0 |
| get block output value this method should be defined in classes derived from aContiBlock More... | |
Public Member Functions inherited from simlib3::SimObject | |
| bool | TestAndSetFlag (bool new_value, unsigned n) |
| internal method for flag manipulation is used for algebraic loop checking in continuous blocks More... | |
| SimObject () | |
| constructor More... | |
| virtual | ~SimObject () |
| virtual destructor More... | |
| void * | operator new (size_t size) |
| allocate object, set _flags More... | |
| void | operator delete (void *ptr) |
| deallocate object More... | |
| void * | operator new[] (size_t size)=delete |
| void | operator delete[] (void *ptr)=delete |
| bool | isAllocated () const |
| virtual std::string | Name () const |
| get object name More... | |
| bool | HasName () const |
| void | SetName (const std::string &name) |
| assign the name More... | |
| virtual void | Output () const |
| print object to default output More... | |
Protected Attributes | |
| bool | isEvaluated |
Protected Attributes inherited from simlib3::SimObject | |
| unsigned | _flags |
| bool flags for internal use (TODO bitfield?) More... | |
Private Member Functions | |
| virtual void | Eval () |
| evaluate without loop detection More... | |
Additional Inherited Members | |
Public Types inherited from simlib3::SimObject | |
| enum | _Flags { _CLEAR_ALL_FLAGS = 0, _ALLOCATED_FLAG = 1<<0, _EVAL_FLAG = 1<<1, _HAS_NAME_FLAG = 1<<2 } |
abstract base for continuous blocks with single output suitable for expression-tree building and evaluation
|
virtual |
evaluate block (with loop detection)
evaluation with algebraic loop detection
Reimplemented in simlib3::Rline, simlib3::Frict, simlib3::Qntzr, simlib3::Insv, simlib3::Lim, simlib3::_XYZpart, simlib3::_XYpart, simlib3::_ScalarProduct3D, simlib3::_ScalarProduct2D, simlib3::_Abs3D, simlib3::_Abs2D, simlib3::_UMinus, simlib3::_Div, simlib3::_Mul, simlib3::_Sub, and simlib3::_Add.
Definition at line 48 of file continuous.cc.
References simlib3::AlgLoopDetected, Eval(), isEvaluated, and simlib3::SIMLIB_error().
Referenced by simlib3::Status::Value().
|
inlineprivatevirtual |
evaluate without loop detection
Reimplemented in simlib3::Relay, simlib3::Blash, simlib3::Hyst, simlib3::Status, simlib3::Integrator, simlib3::_UMinus, simlib3::_Div, simlib3::_Mul, simlib3::_Sub, and simlib3::_Add.
Definition at line 834 of file simlib.h.
Referenced by _Eval().
|
pure virtual |
get block output value
this method should be defined in classes derived from aContiBlock
Implemented in simlib3::Newton, simlib3::RegulaFalsi, simlib3::Bisect, simlib3::Iterations, simlib3::Rline, simlib3::Frict, simlib3::Qntzr, simlib3::Insv, simlib3::Lim, simlib3::Function2, simlib3::Function1, simlib3::Status, simlib3::Integrator, simlib3::Expression, simlib3::Parameter, simlib3::Variable, simlib3::Constant, simlib3::_XYZpart, simlib3::_XYpart, simlib3::_ScalarProduct3D, simlib3::_ScalarProduct2D, simlib3::_Abs3D, simlib3::_Abs2D, simlib3::_Time, simlib3::_UMinus, simlib3::_Div, simlib3::Integrator3D::special_input, simlib3::Integrator2D::special_input, simlib3::_Mul, simlib3::_Sub, simlib3::_Add, simlib3::ZDelay, and simlib3::Delay.
Referenced by Sample(), and simlib3::Input::Value().
|
protected |
1.8.13