|
Minsky: 3.17.0
|
#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 &) |
Public Member Functions inherited from minsky::ItemT< UserFunction, Operation< OperationType::userFunction > > | |
| std::string | classType () const override |
| ItemT * | clone () const override |
| void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) override |
| 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 |
Public Member Functions inherited from minsky::Operation< OperationType::userFunction > | |
| 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 |
Public Member Functions inherited from minsky::ItemT< Operation< T >, OperationBase > | |
| void | RESTProcess (classdesc::RESTProcess_t &rp, const std::string &d) override |
| 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 |
Public Member Functions inherited from minsky::OperationBase | |
| 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... | |
Public Member Functions inherited from minsky::BottomRightResizerItem | |
| 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... | |
Public Member Functions inherited from minsky::Item | |
| Item ()=default | |
| 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... | |
Public Member Functions inherited from minsky::NoteBase | |
| 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 |
Public Member Functions inherited from minsky::NamedOp | |
| virtual std::string | description () const |
| name of the associated data operation More... | |
Static Public Member Functions | |
| static UserFunction * | create (OperationType::Type t) |
Static Public Member Functions inherited from minsky::OperationBase | |
| static OperationBase * | create (Type type) |
| factory method. More... | |
Static Public Member Functions inherited from minsky::Item | |
| static void | drawSelected (cairo_t *cairo) |
Static Public Member Functions inherited from minsky::OperationType | |
| 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 |
Public Attributes inherited from minsky::OperationBase | |
| 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... | |
Public Attributes inherited from minsky::Item | |
| 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... | |
Public Attributes inherited from minsky::NoteBase | |
| 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 Public Attributes inherited from minsky::OperationBase | |
| 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, minsky::group, 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, minsky::group, 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.