Minsky
|
#include <userFunction.h>
Classes | |
struct | Impl |
Public Member Functions | |
UserFunction () | |
UserFunction (const std::string &name, const std::string &expression="") | |
std::vector< std::string > | symbolNames () const |
void | compile () |
double | evaluate (double x, double y) |
double | operator() (const std::vector< double > &p) override |
evaluate function on arbitrary number of arguments (exprtk support) More... | |
Units | units (bool check=false) const override |
compute the dimensional units More... | |
void | displayTooltip (cairo_t *cr, const std::string &tt) const override |
display tooltip text, eg on mouseover More... | |
std::string | description (const std::string &) override |
name of the associated data operation More... | |
std::string | name () const override |
function name, shorn of argument decorators More... | |
void | draw (cairo_t *cairo) const override |
draw this item into a cairo context More... | |
virtual std::string | description () const |
name of the associated data operation More... | |
virtual std::string | description (const std::string &) |
![]() | |
std::string | classType () const override |
ItemT * | clone () const override |
void | TCL_obj (classdesc::TCL_obj_t &t, const std::string &d) override |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) override |
dummy template definition for use with gui executable More... | |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) const override |
void | json_pack (classdesc::json_pack_t &j) const override |
ItemT ()=default | |
ItemT (const ItemT &)=default | |
ItemT (ItemT &&)=delete | |
ItemT & | operator= (const ItemT &)=default |
ItemT & | operator= (ItemT &&)=delete |
![]() | |
Type | type () const override |
void | iconDraw (cairo_t *) const override |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *cairo) const |
visual representation of operation on the canvas More... | |
void | iconDraw (cairo_t *) const |
visual representation of operation on the canvas More... | |
std::size_t | numPorts () const override |
Operation () | |
Operation (const Operation &x) | |
Operation (Operation &&x) | |
Operation & | operator= (const Operation &x) |
Operation & | operator= (Operation &&x) |
std::string | classType () const override |
![]() | |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) override |
dummy template definition for use with gui executable More... | |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) const override |
ItemT ()=default | |
ItemT (const ItemT &)=default | |
ItemT (ItemT &&)=delete | |
ItemT & | operator= (const ItemT &)=default |
ItemT & | operator= (ItemT &&)=delete |
![]() | |
const OperationBase * | operationCast () const override |
OperationBase * | operationCast () override |
std::string | portValues () const |
returns a list of values the ports currently have More... | |
bool | multiWire () const |
virtual void | addPorts () |
void | drawUserFunction (cairo_t *cairo) const |
void | resize (const LassoBox &b) override |
resize this item on the canvas More... | |
float | scaleFactor () const override |
factor by which item has been resized More... | |
double | value () const override |
current value of output port More... | |
std::vector< std::string > | dimensions () const |
return dimension names of tensor object attached to input if binary op, then the union of dimension names is returned More... | |
![]() | |
bool | onResizeHandle (float x, float y) const override |
void | drawResizeHandles (cairo_t *cairo) const override |
virtual Point | resizeHandleCoords () const |
returns coordinates of the resizer handle More... | |
![]() | |
Item () | |
virtual std::weak_ptr< Port > | ports (std::size_t i) const |
callback to be run when item deleted from group More... | |
std::size_t | portsSize () const |
number of ports More... | |
float | portX (std::size_t i) |
float | portY (std::size_t i) |
virtual bool | contains (float xx, float yy) const |
bool | contains (const Point &p) const |
void | updateBoundingBox () override |
void | throw_error (const std::string &) const |
mark item on canvas, then throw More... | |
virtual bool | ioVar () const |
indicates this is a group I/O variable More... | |
double | rotation () const |
double | rotation (const double &r) |
std::pair< double, bool > | rotationAsRadians () const |
return the rotation as radians, and whether rotation should have additional straight angle added for text that stays upright. More... | |
float | iWidth () const |
float | iWidth (const float &w) |
float | iHeight () const |
float | iHeight (const float &h) |
virtual void | flip () |
rotate icon though 180∘ More... | |
std::string | id () const |
return an id uniquely identifying this item More... | |
virtual float | x () const |
virtual float | y () const |
virtual float | zoomFactor () const |
void | ensureBBValid () const |
float | width () const |
float | height () const |
virtual std::vector< Point > | corners () const |
float | left () const |
float | right () const |
float | top () const |
float | bottom () const |
std::string | bookmarkId () const |
Id of bookmark associated with this. More... | |
void | adjustBookmark () const override |
adjust bookmark list to reflect current configuration More... | |
float | resizeHandleSize () const |
resize handles should be at least a percentage if the icon size (#1025) More... | |
virtual bool | inItem (float x, float y) const |
virtual bool | onItem (float x, float y) const |
returns true if (x,y) is on the icon More... | |
virtual void | onMouseDown (float x, float y) |
respond to mouse down events More... | |
virtual void | onMouseUp (float x, float y) |
respond to mouse up events More... | |
virtual bool | onMouseMotion (float x, float y) |
respond to mouse motion events with button pressed More... | |
virtual bool | onMouseOver (float x, float y) |
respond to mouse motion events (hover) without button pressed More... | |
virtual void | onMouseLeave () |
respond to mouse leave events (when mouse leaves item) More... | |
virtual bool | onKeyPress (int keySym, const std::string &utf8, int state) |
respond to key press events More... | |
virtual void | deleteAttachedWires () |
delete all attached wires More... | |
virtual bool | visible () const |
whether this item is visible on the canvas. More... | |
void | moveTo (float x, float y) |
virtual float | scaleFactor (const float &sf) |
void | dummyDraw () const |
draw into a dummy cairo context, for purposes of calculating port positions More... | |
virtual void | updateIcon (double t) |
update display after a step() More... | |
Item (const Item &)=default | |
Item & | operator= (const Item &)=default |
virtual | ~Item () |
void | drawPorts (cairo_t *cairo) const |
virtual ClickType::Type | clickType (float x, float y) const |
returns the clicktype given a mouse click at x, y. More... | |
virtual std::shared_ptr< Port > | closestOutPort (float x, float y) const |
returns closest output port to x,y More... | |
virtual std::shared_ptr< Port > | closestInPort (float x, float y) const |
virtual std::shared_ptr< Item > | select (float x, float y) const |
returns the variable if point (x,y) is within a visible variable icon, null otherwise. More... | |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) override |
runs the RESTProcess descriptor suitable for this type More... | |
void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) const override |
virtual void | displayDelayedTooltip (float x, float y) |
enable extended tooltip help message appropriate for mouse at (x,y) More... | |
virtual void | disableDelayedTooltip () |
virtual bool | editorMode () const |
some items have an editor mode attribute More... | |
virtual void | toggleEditorMode () |
Units | checkUnits () const |
perform units consistency checks More... | |
ItemPtr | itemPtrFromThis () const |
return a shared_ptr to this More... | |
virtual void | destroyFrame () |
destroy any popup windows associated with this More... | |
![]() | |
virtual std::string const & | detailedText () const |
virtual std::string const & | detailedText (const std::string &x) |
virtual std::string const & | tooltip () const |
virtual std::string const & | tooltip (const std::string &x) |
virtual | ~NoteBase ()=default |
![]() | |
NamedOp () | |
virtual std::string | description () const |
name of the associated data operation More... | |
Static Public Member Functions | |
static UserFunction * | create (OperationType::Type t) |
![]() | |
static OperationBase * | create (Type type) |
factory method. More... | |
![]() | |
static void | drawSelected (cairo_t *cairo) |
![]() | |
static std::string | typeName (int type) |
return the symbolic name of type More... | |
static Group | classify (Type t) |
Public Attributes | |
std::vector< std::string > | argNames |
std::vector< double > | argVals |
std::string | expression |
![]() | |
double | arg =1 |
operation argument. For example, the offset used in a difference operator, or binsize in a binning op More... | |
std::string | axis |
axis selector in tensor operations More... | |
![]() | |
float | m_x =0 |
float | m_y =0 |
position in canvas, or within group More... | |
float | m_sf =1 |
scale factor of item on canvas, or within group More... | |
bool | onResizeHandles =false |
set to true to indicate mouse is ovcaler resize handles More... | |
bool | onBorder =false |
true to indicate mouse hovering over border More... | |
std::string | deleteCallback |
BoundingBox | bb |
canvas bounding box. More... | |
![]() | |
bool | mouseFocus =false |
true if target of a mouseover More... | |
bool | selected =false |
true if selected for cut, copy or group operation More... | |
bool | bookmark =false |
Is this item also a bookmark? More... | |
Static Public Attributes | |
static int | nextId =0 |
![]() | |
static constexpr float | l =-8 |
static constexpr float | h =12 |
static constexpr float | r =12 |
Private Member Functions | |
void | updateBB () override |
CLASSDESC_ACCESS (UserFunction) | |
Private Attributes | |
std::shared_ptr< Impl > | impl |
Definition at line 27 of file userFunction.h.
|
inline |
Definition at line 38 of file userFunction.h.
Referenced by create().
minsky::UserFunction::UserFunction | ( | const std::string & | name, |
const std::string & | expression = "" |
||
) |
Definition at line 134 of file userFunction.cc.
|
private |
void minsky::UserFunction::compile | ( | ) |
Definition at line 175 of file userFunction.cc.
References minsky::anonymous_namespace{userFunction.cc}::addTimeVariables(), argNames, argVals, minsky::canonicalName(), expression, f, impl, minsky::minsky(), minsky::anonymous_namespace{userFunction.cc}::parser, symbolNames(), minsky::Item::throw_error(), minsky::Minsky::userFunctions, minsky::valueIdFromScope(), and minsky::Minsky::variableValues.
|
inlinestatic |
Definition at line 57 of file userFunction.h.
References UserFunction(), and minsky::OperationType::userFunction.
string minsky::NamedOp::description |
string minsky::NamedOp::description |
Definition at line 578 of file operation.cc.
|
overridevirtual |
name of the associated data operation
Reimplemented from minsky::NamedOp.
Definition at line 231 of file userFunction.cc.
References argNames, and minsky::NamedOp::description().
Referenced by MathDAG::OperationDAG< OperationType::subtract >::render().
|
inlineoverridevirtual |
display tooltip text, eg on mouseover
Reimplemented from minsky::Item.
Definition at line 48 of file userFunction.h.
References minsky::Item::displayTooltip(), and expression.
|
inlineoverridevirtual |
draw this item into a cairo context
Reimplemented from minsky::OperationBase.
Definition at line 60 of file userFunction.h.
References minsky::OperationBase::drawUserFunction().
double minsky::UserFunction::evaluate | ( | double | x, |
double | y | ||
) |
Definition at line 215 of file userFunction.cc.
Referenced by minsky::EvalOp< minsky::OperationType::constant >::evaluate().
|
overridevirtual |
function name, shorn of argument decorators
Implements minsky::CallableFunction.
Definition at line 249 of file userFunction.cc.
References minsky::NamedOp::description().
|
overridevirtual |
evaluate function on arbitrary number of arguments (exprtk support)
Implements minsky::CallableFunction.
Definition at line 223 of file userFunction.cc.
vector< string > minsky::UserFunction::symbolNames | ( | ) | const |
Definition at line 138 of file userFunction.cc.
References expression.
Referenced by compile().
|
overridevirtual |
compute the dimensional units
check | - if true, then perform consistency checks |
if | check=true and dimensions inconsistent |
Reimplemented from minsky::OperationBase.
Definition at line 44 of file userFunction_units.cc.
References minsky::canonicalName(), minsky::cminsky(), f, pyminsky::minsky, minsky::timeUnit, minsky::UnitsExpressionWalker::units, minsky::anonymous_namespace{userFunction_units.cc}::unitsParser, minsky::Minsky::userFunctions, minsky::valueIdFromScope(), and minsky::Minsky::variableValues.
|
inlineoverrideprivatevirtual |
Implements minsky::NamedOp.
Definition at line 31 of file userFunction.h.
References minsky::Item::bb, and minsky::BoundingBox::update().
std::vector<std::string> minsky::UserFunction::argNames |
Definition at line 35 of file userFunction.h.
Referenced by compile(), and description().
std::vector<double> minsky::UserFunction::argVals |
Definition at line 36 of file userFunction.h.
Referenced by compile(), evaluate(), and operator()().
std::string minsky::UserFunction::expression |
Definition at line 37 of file userFunction.h.
Referenced by compile(), displayTooltip(), minsky::Minsky::setDefinition(), and symbolNames().
|
private |
Definition at line 29 of file userFunction.h.
Referenced by compile(), evaluate(), and operator()().
|
static |
Definition at line 34 of file userFunction.h.