Minsky
minsky::Operation< T > Class Template Reference

#include <operation.h>

Inheritance diagram for minsky::Operation< T >:
Inheritance graph
Collaboration diagram for minsky::Operation< T >:
Collaboration graph

Public Types

typedef OperationType::Type Type
 
- Public Types inherited from minsky::OperationBase
typedef OperationType::Type Type
 
- Public Types inherited from minsky::OperationType
enum  Type {
  constant, time, integrate, differentiate,
  data, ravel, euler, pi,
  zero, one, inf, percent,
  add, subtract, multiply, divide,
  min, max, and_, or_,
  log, pow, polygamma, lt,
  le, eq, userFunction, copy,
  sqrt, exp, ln, sin,
  cos, tan, asin, acos,
  atan, sinh, cosh, tanh,
  abs, floor, frac, not_,
  Gamma, fact, sum, product,
  infimum, supremum, any, all,
  infIndex, supIndex, runningSum, runningProduct,
  difference, differencePlus, innerProduct, outerProduct,
  index, gather, meld, merge,
  slice, size, shape, mean,
  median, stdDev, moment, histogram,
  covariance, correlation, linearRegression, numOps
}
 
enum  Group {
  general, constop, binop, function,
  reduction, scan, tensor, statistics
}
 

Public Member Functions

Type type () const override
 
void iconDraw (cairo_t *) const override
 visual representation of operation on the canvas More...
 
std::size_t numPorts () const override
 
 Operation ()
 
 Operation (const Operation &x)
 
 Operation (Operation &&x)
 
Operationoperator= (const Operation &x)
 
Operationoperator= (Operation &&x)
 
std::string classType () const override
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *cairo) const
 visual representation of operation on the canvas More...
 
template<>
void iconDraw (cairo_t *) const
 visual representation of operation on the canvas More...
 
- Public Member Functions inherited from minsky::ItemT< Operation< T >, OperationBase >
std::string classType () const override
 
ItemTclone () 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
 
ItemToperator= (const ItemT &)=default
 
ItemToperator= (ItemT &&)=delete
 
- Public Member Functions inherited from minsky::OperationBase
const OperationBaseoperationCast () const override
 
OperationBaseoperationCast () 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 draw (cairo_t *) const override
 draw this item into a cairo context More...
 
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...
 
Units units (bool check=false) const override
 compute the dimensional units 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 ()
 
virtual std::weak_ptr< Portports (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< Pointcorners () 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 displayTooltip (cairo_t *, const std::string &) const
 display tooltip text, eg on mouseover More...
 
virtual void updateIcon (double t)
 update display after a step() More...
 
 Item (const Item &)=default
 
Itemoperator= (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< PortclosestOutPort (float x, float y) const
 returns closest output port to x,y More...
 
virtual std::shared_ptr< PortclosestInPort (float x, float y) const
 
virtual std::shared_ptr< Itemselect (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
 

Private Types

typedef ItemT< Operation< T >, OperationBaseSuper
 

Additional Inherited Members

- Static Public Member Functions inherited from minsky::OperationBase
static OperationBasecreate (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 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 inherited from minsky::OperationBase
static constexpr float l =-8
 
static constexpr float h =12
 
static constexpr float r =12
 
- Protected Member Functions inherited from minsky::OperationBase
void setCachedText (cairo_t *, const std::string &, double) const
 check if cachedPango is up to date, and if not recreate More...
 
- Static Protected Member Functions inherited from minsky::Item
static void drawResizeHandle (cairo_t *cairo, double x, double y, double sf, double angle)
 
- Protected Attributes inherited from minsky::OperationBase
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
 
- Protected Attributes inherited from minsky::Item
double m_width =10
 
double m_height =10
 
ItemPortVector m_ports
 
minsky::Item::MemoisedRotator memoisedRotator
 

Detailed Description

template<minsky::OperationType::Type T>
class minsky::Operation< T >

Definition at line 46 of file operation.h.

Member Typedef Documentation

◆ Super

template<minsky::OperationType::Type T>
typedef ItemT<Operation<T>, OperationBase> minsky::Operation< T >::Super
private

Definition at line 49 of file operation.h.

◆ Type

template<minsky::OperationType::Type T>
typedef OperationType::Type minsky::Operation< T >::Type

Definition at line 51 of file operation.h.

Constructor & Destructor Documentation

◆ Operation() [1/3]

template<minsky::OperationType::Type T>
minsky::Operation< T >::Operation ( )
inline

Definition at line 56 of file operation.h.

56  {
57  this->addPorts();
58  // custom arg defaults
59  switch (T) {
61  this->arg=-1;
62  break;
63  default:
64  break;
65  }
66  }
double arg
operation argument. For example, the offset used in a difference operator, or binsize in a binning op...
Definition: operationBase.h:92
virtual void addPorts()
Definition: operation.cc:99

◆ Operation() [2/3]

template<minsky::OperationType::Type T>
minsky::Operation< T >::Operation ( const Operation< T > &  x)
inline

Definition at line 67 of file operation.h.

67 : Super(x) {this->addPorts();}
ItemT< Operation< T >, OperationBase > Super
Definition: operation.h:49
virtual float x() const
Definition: item.cc:107
virtual void addPorts()
Definition: operation.cc:99

◆ Operation() [3/3]

template<minsky::OperationType::Type T>
minsky::Operation< T >::Operation ( Operation< T > &&  x)
inline

Definition at line 68 of file operation.h.

68 : Super(x) {this->addPorts();}
ItemT< Operation< T >, OperationBase > Super
Definition: operation.h:49
virtual float x() const
Definition: item.cc:107
virtual void addPorts()
Definition: operation.cc:99

Member Function Documentation

◆ classType()

template<minsky::OperationType::Type T>
std::string minsky::Operation< T >::classType ( ) const
inlineoverridevirtual

Reimplemented from minsky::Item.

Definition at line 79 of file operation.h.

79 {return "Operation:"+OperationType::typeName(T);}
static std::string typeName(int type)
return the symbolic name of type

◆ iconDraw() [1/77]

template<minsky::OperationType::Type T>
void minsky::Operation< T >::iconDraw ( cairo_t *  ) const
overridevirtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

◆ iconDraw() [2/77]

template<>
void minsky::Operation< OperationType::userFunction >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 71 of file userFunction.cc.

72  {assert(false);}

◆ iconDraw() [3/77]

template<>
void minsky::Operation< OperationType::constant >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 589 of file operation.cc.

590  {
591  assert(false); //shouldn't be here
592  }

◆ iconDraw() [4/77]

template<>
void minsky::Operation< OperationType::ravel >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 594 of file operation.cc.

595  {
596  assert(false); //shouldn't be here
597  }

◆ iconDraw() [5/77]

template<>
void minsky::Operation< OperationType::data >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 599 of file operation.cc.

600  {
601  const double sf = scaleFactor();
602  cairo_translate(cairo,-1,0);
603  cairo_scale(cairo,1.5*sf,0.75*sf);
604  cairo_arc(cairo,0,-3,3,0,2*M_PI);
605  cairo_arc(cairo,0,3,3,0,M_PI);
606  cairo_move_to(cairo,-3,3);
607  cairo_line_to(cairo,-3,-3);
608  cairo_move_to(cairo,3,3);
609  cairo_line_to(cairo,3,-3);
610  cairo_identity_matrix(cairo);
611  cairo_set_line_width(cairo,1.0);
612  cairo_stroke(cairo);
613  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
#define M_PI
Definition: operation.cc:36

◆ iconDraw() [6/77]

template<>
void minsky::Operation< OperationType::time >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 615 of file operation.cc.

616  {
617  const double sf = scaleFactor();
618  cairo_scale(cairo,sf,sf);
619  cairo_move_to(cairo,-4,2);
620  cairo_show_text(cairo,"t");
621  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [7/77]

template<>
void minsky::Operation< OperationType::euler >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 623 of file operation.cc.

624  {
625  const double sf = scaleFactor();
626  cairo_scale(cairo,sf,sf);
627  cairo_move_to(cairo,-4,2);
628  cairo_show_text(cairo,"e");
629  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [8/77]

template<>
void minsky::Operation< OperationType::pi >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 631 of file operation.cc.

632  {
633  const double sf = scaleFactor();
634  cairo_scale(cairo,sf,sf);
635  cairo_move_to(cairo,-4,2);
636  cairo_show_text(cairo,"π");
637  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [9/77]

template<>
void minsky::Operation< OperationType::zero >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 639 of file operation.cc.

640  {
641  const double sf = scaleFactor();
642  cairo_scale(cairo,sf,sf);
643  cairo_move_to(cairo,-4,2);
644  cairo_show_text(cairo,"0");
645  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [10/77]

template<>
void minsky::Operation< OperationType::one >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 647 of file operation.cc.

648  {
649  const double sf = scaleFactor();
650  cairo_scale(cairo,sf,sf);
651  cairo_move_to(cairo,-4,2);
652  cairo_show_text(cairo,"1");
653  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [11/77]

template<>
void minsky::Operation< OperationType::inf >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 655 of file operation.cc.

656  {
657  const double sf = scaleFactor();
658  cairo_move_to(cairo,-4,-10);
659  setCachedText(cairo,"∞",9);
660  cairo_scale(cairo,sf,sf);
661  cachedPango->show();
662  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [12/77]

template<>
void minsky::Operation< OperationType::percent >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 664 of file operation.cc.

665  {
666  const double sf = scaleFactor();
667  cairo_move_to(cairo,-4,-7);
668  setCachedText(cairo,"%",7);
669  cairo_scale(cairo,sf,sf);
670  cachedPango->show();
671  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [13/77]

template<>
void minsky::Operation< OperationType::copy >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 673 of file operation.cc.

674  {
675  const double sf = scaleFactor();
676  cairo_move_to(cairo,-4,-5);
677  setCachedText(cairo, "→",7);
678  cairo_scale(cairo,sf,sf);
679  cachedPango->show();
680  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [14/77]

template<>
void minsky::Operation< OperationType::integrate >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 682 of file operation.cc.

683  {/* moved to IntOp::draw() but needs to be here, and is actually called */}

◆ iconDraw() [15/77]

template<>
void minsky::Operation< OperationType::differentiate >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 685 of file operation.cc.

686  {
687  const CairoSave cs(cairo);
688  const double sf = scaleFactor();
689  cairo_scale(cairo,sf,sf);
690  cairo_move_to(cairo,-7,-1);
691  cairo_set_font_size(cairo,8);
692  cairo_show_text(cairo,"d");
693  cairo_move_to(cairo,-7,0);cairo_line_to(cairo,2,0);
694  cairo_set_line_width(cairo,0.5);cairo_stroke(cairo);
695  cairo_move_to(cairo,-7,7);
696  cairo_show_text(cairo,"dt");
697  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [16/77]

template<>
void minsky::Operation< OperationType::sqrt >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 699 of file operation.cc.

700  {
701  const CairoSave cs(cairo);
702  const double sf = scaleFactor();
703  cairo_scale(cairo,sf,sf);
704  cairo_set_font_size(cairo,10);
705  cairo_move_to(cairo,-7,6);
706  cairo_show_text(cairo,"\xE2\x88\x9a");
707  cairo_set_line_width(cairo,0.5);
708  cairo_rel_move_to(cairo,0,-9);
709  cairo_rel_line_to(cairo,5,0);
710  cairo_set_source_rgb(cairo,0,0,0);
711  cairo_stroke(cairo);
712  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [17/77]

template<>
void minsky::Operation< OperationType::exp >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 714 of file operation.cc.

715  {
716  const double sf = scaleFactor();
717  cairo_scale(cairo,sf,sf);
718  cairo_move_to(cairo,-7,3);
719  cairo_show_text(cairo,"e");
720  cairo_rel_move_to(cairo,0,-4);
721  cairo_set_font_size(cairo,7);
722  cairo_show_text(cairo,"x");
723  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [18/77]

template<>
void minsky::Operation< OperationType::pow >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 725 of file operation.cc.

726  {
727  const double sf = scaleFactor();
728  cairo_scale(cairo,sf,sf);
729  cairo_move_to(cairo,-6,3);
730  cairo_show_text(cairo,"x");
731  cairo_rel_move_to(cairo,0,-4);
732  cairo_set_font_size(cairo,7);
733  cairo_show_text(cairo,"y");
734  DrawBinOp d(cairo);
735 #ifdef DISPLAY_POW_UPSIDE_DOWN
736  d.drawPort([&](){d.drawSymbol("y");}, l, -h, rotation());
737  d.drawPort([&](){d.drawSymbol("x");}, l, h, rotation());
738 #else
739  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
740  d.drawPort([&](){d.drawSymbol("y");}, l, h, rotation());
741 #endif
742  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [19/77]

template<>
void minsky::Operation< OperationType::le >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 744 of file operation.cc.

745  {
746  const double sf = scaleFactor();
747  cairo_scale(cairo,sf,sf);
748  cairo_move_to(cairo,-9,3);
749  cairo_show_text(cairo,"x≤y");
750  DrawBinOp d(cairo);
751  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
752  d.drawPort([&](){d.drawSymbol("y");}, l, h, rotation());
753  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [20/77]

template<>
void minsky::Operation< OperationType::lt >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 755 of file operation.cc.

756  {
757  const double sf = scaleFactor();
758  cairo_scale(cairo,sf,sf);
759  cairo_move_to(cairo,-9,3);
760  cairo_show_text(cairo,"x<y");
761  DrawBinOp d(cairo);
762  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
763  d.drawPort([&](){d.drawSymbol("y");}, l, h, rotation());
764  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [21/77]

template<>
void minsky::Operation< OperationType::eq >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 766 of file operation.cc.

767  {
768  const double sf = scaleFactor();
769  cairo_scale(cairo,sf,sf);
770  cairo_move_to(cairo,-9,3);
771  cairo_show_text(cairo,"x=y");
772  DrawBinOp d(cairo);
773  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
774  d.drawPort([&](){d.drawSymbol("y");}, l, h, rotation());
775  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [22/77]

template<>
void minsky::Operation< OperationType::min >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 777 of file operation.cc.

778  {
779  const double sf = scaleFactor();
780  cairo_scale(cairo,sf,sf);
781  cairo_move_to(cairo,-9,3);
782  cairo_show_text(cairo,"min");
783  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [23/77]

template<>
void minsky::Operation< OperationType::max >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 785 of file operation.cc.

786  {
787  const double sf = scaleFactor();
788  cairo_scale(cairo,sf,sf);
789  cairo_move_to(cairo,-9,3);
790  cairo_show_text(cairo,"max");
791  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [24/77]

template<>
void minsky::Operation< OperationType::and_ >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 793 of file operation.cc.

794  {
795  const CairoSave cs(cairo);
796  const double sf = scaleFactor();
797  cairo_scale(cairo,sf,sf);
798  cairo_set_source_rgb(cairo,0,0,0);
799  cairo_move_to(cairo,-4,3);
800  cairo_line_to(cairo,-1,-3);
801  cairo_line_to(cairo,2,3);
802  cairo_stroke(cairo);
803  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [25/77]

template<>
void minsky::Operation< OperationType::or_ >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 805 of file operation.cc.

806  {
807  const CairoSave cs(cairo);
808  const double sf = scaleFactor();
809  cairo_scale(cairo,sf,sf);
810  cairo_set_source_rgb(cairo,0,0,0);
811  cairo_move_to(cairo,-4,-3);
812  cairo_line_to(cairo,-1,3);
813  cairo_line_to(cairo,2,-3);
814  cairo_stroke(cairo);
815  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [26/77]

template<>
void minsky::Operation< OperationType::not_ >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 817 of file operation.cc.

818  {
819  const double sf = scaleFactor();
820  cairo_scale(cairo,sf,sf);
821  cairo_move_to(cairo,-6,3);
822  cairo_show_text(cairo,"¬");
823  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [27/77]

template<>
void minsky::Operation< OperationType::covariance >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 825 of file operation.cc.

826  {
827  const double sf = scaleFactor();
828  cairo_scale(cairo,sf*.7,sf);
829  cairo_move_to(cairo,-16,3);
830  cairo_show_text(cairo,"<ΔxΔy>");
831  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [28/77]

template<>
void minsky::Operation< OperationType::correlation >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 833 of file operation.cc.

834  {
835  const double sf = scaleFactor();
836  cairo_scale(cairo,sf,sf);
837  cairo_move_to(cairo,-3,3);
838  cairo_show_text(cairo,"ρ");
839  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [29/77]

template<>
void minsky::Operation< OperationType::linearRegression >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 841 of file operation.cc.

842  {
843  const double sf = scaleFactor();
844  cairo_scale(cairo,sf,sf);
845  cairo_move_to(cairo,-7,7);
846  cairo_line_to(cairo,7,-7);
847  cairo_stroke(cairo);
848  cairo_arc(cairo,-4,0,0.2,0,2*M_PI);
849  cairo_stroke(cairo);
850  cairo_arc(cairo,3,3,0.2,0,2*M_PI);
851  cairo_stroke(cairo);
852  cairo_arc(cairo,4,-6,0.2,0,2*M_PI);
853  cairo_stroke(cairo);
854  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
#define M_PI
Definition: operation.cc:36

◆ iconDraw() [30/77]

template<>
void minsky::Operation< OperationType::ln >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 855 of file operation.cc.

856  {
857  const double sf = scaleFactor();
858  cairo_scale(cairo,sf,sf);
859  cairo_move_to(cairo,-9,3);
860  cairo_show_text(cairo," ln");
861  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [31/77]

template<>
void minsky::Operation< OperationType::log >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 863 of file operation.cc.

864  {
865  const double sf = scaleFactor();
866  cairo_scale(cairo,sf,sf);
867  cairo_move_to(cairo,-9,3);
868  cairo_show_text(cairo,"log");
869  DrawBinOp d(cairo);
870  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
871  d.drawPort([&](){d.drawSymbol("b");}, l, h, rotation());
872  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [32/77]

template<>
void minsky::Operation< OperationType::sin >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 874 of file operation.cc.

875  {
876  const double sf = scaleFactor();
877  cairo_scale(cairo,sf,sf);
878  cairo_set_font_size(cairo,10);
879  cairo_move_to(cairo,-9,3);
880  cairo_show_text(cairo,"sin");
881  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [33/77]

template<>
void minsky::Operation< OperationType::cos >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 883 of file operation.cc.

884  {
885  const double sf = scaleFactor();
886  cairo_scale(cairo,sf,sf);
887  cairo_set_font_size(cairo,10);
888  cairo_move_to(cairo,-9,3);
889  cairo_show_text(cairo,"cos");
890  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [34/77]

template<>
void minsky::Operation< OperationType::tan >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 892 of file operation.cc.

893  {
894  const double sf = scaleFactor();
895  cairo_scale(cairo,sf,sf);
896  cairo_set_font_size(cairo,10);
897  cairo_move_to(cairo,-9,3);
898  cairo_show_text(cairo,"tan");
899  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [35/77]

template<>
void minsky::Operation< OperationType::asin >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 901 of file operation.cc.

902  {
903  const double sf = scaleFactor();
904  cairo_scale(cairo,sf,sf);
905  cairo_set_font_size(cairo,9);
906  cairo_move_to(cairo,-9,3);
907  cairo_show_text(cairo,"sin");
908  cairo_rel_move_to(cairo,0,-3);
909  cairo_set_font_size(cairo,7);
910  cairo_show_text(cairo,"-1");
911  cairo_rel_move_to(cairo,0,-2);
912  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [36/77]

template<>
void minsky::Operation< OperationType::acos >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 914 of file operation.cc.

915  {
916  const double sf = scaleFactor();
917  cairo_scale(cairo,sf,sf);
918  cairo_set_font_size(cairo,9);
919  cairo_move_to(cairo,-9,3);
920  cairo_show_text(cairo,"cos");
921  cairo_rel_move_to(cairo,0,-3);
922  cairo_set_font_size(cairo,7);
923  cairo_show_text(cairo,"-1");
924  cairo_rel_move_to(cairo,0,-2);
925  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [37/77]

template<>
void minsky::Operation< OperationType::atan >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 927 of file operation.cc.

928  {
929  const double sf = scaleFactor();
930  cairo_scale(cairo,sf,sf);
931  cairo_set_font_size(cairo,9);
932  cairo_move_to(cairo,-9,3);
933  cairo_show_text(cairo,"tan");
934  cairo_rel_move_to(cairo,0,-3);
935  cairo_set_font_size(cairo,7);
936  cairo_show_text(cairo,"-1");
937  cairo_rel_move_to(cairo,0,-2);
938  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [38/77]

template<>
void minsky::Operation< OperationType::sinh >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 940 of file operation.cc.

941  {
942  const double sf = scaleFactor();
943  cairo_scale(cairo,sf,sf);
944  cairo_set_font_size(cairo,8);
945  cairo_move_to(cairo,-9,3);
946  cairo_show_text(cairo,"sinh");
947  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [39/77]

template<>
void minsky::Operation< OperationType::cosh >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 949 of file operation.cc.

950  {
951  const double sf = scaleFactor();
952  cairo_scale(cairo,sf,sf);
953  cairo_set_font_size(cairo,8);
954  cairo_move_to(cairo,-9,3);
955  cairo_show_text(cairo,"cosh");
956  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [40/77]

template<>
void minsky::Operation< OperationType::tanh >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 958 of file operation.cc.

959  {
960  const double sf = scaleFactor();
961  cairo_scale(cairo,sf,sf);
962  cairo_set_font_size(cairo,8);
963  cairo_move_to(cairo,-9,3);
964  cairo_show_text(cairo,"tanh");
965  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [41/77]

template<>
void minsky::Operation< OperationType::abs >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 967 of file operation.cc.

968  {
969  const double sf = scaleFactor();
970  cairo_scale(cairo,sf,sf);
971  cairo_set_font_size(cairo,9);
972  cairo_move_to(cairo,-6,3);
973  cairo_show_text(cairo,"|x|");
974  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [42/77]

template<>
void minsky::Operation< OperationType::floor >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 975 of file operation.cc.

976  {
977  const double sf = scaleFactor();
978  cairo_move_to(cairo,-5,-5);
979  // what we're trying to draw, but Windows' deficient fontsets don't allow it
980  //setCachedText(cairo, "⌊x⌋",7);
981  setCachedText(cairo, "x",7);
982  cairo_scale(cairo,sf,sf);
983  cachedPango->show();
984  cairo_move_to(cairo,-5,-4);
985  cairo_rel_line_to(cairo,0,cachedPango->height()-2);
986  cairo_rel_line_to(cairo,1,0);
987  cairo_move_to(cairo,-5+cachedPango->width(),-4);
988  cairo_rel_line_to(cairo,0,cachedPango->height()-2);
989  cairo_rel_line_to(cairo,-1,0);
990  cairo_stroke(cairo);
991  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [43/77]

template<>
void minsky::Operation< OperationType::frac >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 992 of file operation.cc.

993  {
994  const double sf = scaleFactor();
995  cairo_scale(cairo,sf,sf);
996  cairo_set_font_size(cairo,8);
997  cairo_move_to(cairo,-9,3);
998  cairo_show_text(cairo,"frac");
999  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [44/77]

template<>
void minsky::Operation< OperationType::Gamma >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1000 of file operation.cc.

1001  {
1002  const double sf = scaleFactor();
1003  cairo_scale(cairo,sf,sf);
1004  cairo_move_to(cairo,-6,3);
1005  cairo_show_text(cairo,"Γ");
1006  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [45/77]

template<>
void minsky::Operation< OperationType::polygamma >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1007 of file operation.cc.

1008  {
1009  const double sf = scaleFactor();
1010  cairo_scale(cairo,sf,sf);
1011  cairo_move_to(cairo,-7,3);
1012  cairo_show_text(cairo,"ψ");
1013  cairo_rel_move_to(cairo,0,-3);
1014  cairo_set_font_size(cairo,7);
1015  // show order of polygamma function. 0 is default.
1016  const std::string order="("+to_string(static_cast<unsigned>(m_ports[2]->value()))+")";
1017  cairo_show_text(cairo,order.c_str());
1018  cairo_rel_move_to(cairo,0,-2);
1019  DrawBinOp d(cairo);
1020  d.drawPort([&](){d.drawSymbol("x");}, l, -h, rotation());
1021  d.drawPort([&](){d.drawSymbol("n");}, l, h, rotation());
1022  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
ItemPortVector m_ports
Definition: item.h:156
string to_string(CONST84 char *x)
Definition: minskyTCLObj.h:33
double value() const override
current value of output port
Definition: operation.cc:329
double rotation() const
Definition: item.h:211

◆ iconDraw() [46/77]

template<>
void minsky::Operation< OperationType::fact >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1023 of file operation.cc.

1024  {
1025  const double sf = scaleFactor();
1026  cairo_scale(cairo,sf,sf);
1027  cairo_move_to(cairo,-3,3);
1028  cairo_show_text(cairo,"!");
1029  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [47/77]

template<>
void minsky::Operation< OperationType::add >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1030 of file operation.cc.

1031  {
1032  const double sf = scaleFactor();
1033  cairo_scale(cairo,sf,sf);
1034  DrawBinOp d(cairo);
1035  d.drawPlus();
1036  d.drawPort([&](){d.drawPlus();}, l, h, rotation());
1037  d.drawPort([&](){d.drawPlus();}, l, -h, rotation());
1038  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [48/77]

template<>
void minsky::Operation< OperationType::subtract >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1040 of file operation.cc.

1041  {
1042  const double sf = scaleFactor();
1043  cairo_scale(cairo,sf,sf);
1044  DrawBinOp d(cairo);
1045  d.drawMinus();
1046  d.drawPort([&](){d.drawPlus();}, l, -h, rotation());
1047  d.drawPort([&](){d.drawMinus();}, l, h, rotation());
1048  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [49/77]

template<>
void minsky::Operation< OperationType::multiply >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1050 of file operation.cc.

1051  {
1052  const double sf = scaleFactor();
1053  cairo_scale(cairo,sf,sf);
1054  DrawBinOp d(cairo);
1055  d.drawMultiply();
1056  d.drawPort([&](){d.drawMultiply();}, l, h, rotation());
1057  d.drawPort([&](){d.drawMultiply();}, l, -h, rotation());
1058  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [50/77]

template<>
void minsky::Operation< OperationType::divide >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1060 of file operation.cc.

1061  {
1062  const double sf = scaleFactor();
1063  cairo_scale(cairo,sf,sf);
1064  DrawBinOp d(cairo);
1065  d.drawDivide();
1066  d.drawPort([&](){d.drawMultiply();}, l, -h, rotation());
1067  d.drawPort([&](){d.drawDivide();}, l, h, rotation());
1068  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [51/77]

template<>
void minsky::Operation< OperationType::sum >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1070 of file operation.cc.

1071  {
1072  const double sf = scaleFactor();
1073  cairo_move_to(cairo,-4,-7);
1074  setCachedText(cairo, "∑", 7);
1075  cairo_scale(cairo,sf,sf);
1076  cachedPango->show();
1077  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [52/77]

template<>
void minsky::Operation< OperationType::product >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1079 of file operation.cc.

1080  {
1081  const double sf = scaleFactor();
1082  cairo_move_to(cairo,-4,-7);
1083  setCachedText(cairo, "∏",7);
1084  cairo_scale(cairo,sf,sf);
1085  cachedPango->show();
1086  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [53/77]

template<>
void minsky::Operation< OperationType::infimum >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1088 of file operation.cc.

1089  {
1090  const double sf = scaleFactor();
1091  cairo_scale(cairo,sf,sf);
1092  cairo_set_font_size(cairo,10);
1093  cairo_move_to(cairo,-9,3);
1094  cairo_show_text(cairo,"inf");
1095  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [54/77]

template<>
void minsky::Operation< OperationType::supremum >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1097 of file operation.cc.

1098  {
1099  const double sf = scaleFactor();
1100  cairo_scale(cairo,sf,sf);
1101  cairo_set_font_size(cairo,10);
1102  cairo_move_to(cairo,-9,3);
1103  cairo_show_text(cairo,"sup");
1104  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [55/77]

template<>
void minsky::Operation< OperationType::infIndex >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1106 of file operation.cc.

1107  {
1108  const double sf = scaleFactor();
1109  cairo_scale(cairo,sf,sf);
1110  cairo_set_font_size(cairo,10);
1111  cairo_move_to(cairo,-9,3);
1112  cairo_show_text(cairo,"infi");
1113  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [56/77]

template<>
void minsky::Operation< OperationType::supIndex >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1115 of file operation.cc.

1116  {
1117  const double sf = scaleFactor();
1118  cairo_scale(cairo,sf,sf);
1119  cairo_set_font_size(cairo,10);
1120  cairo_move_to(cairo,-9,3);
1121  cairo_show_text(cairo,"supi");
1122  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [57/77]

template<>
void minsky::Operation< OperationType::any >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1124 of file operation.cc.

1125  {
1126  const double sf = scaleFactor();
1127  cairo_scale(cairo,sf,sf);
1128  cairo_set_font_size(cairo,10);
1129  cairo_move_to(cairo,-9,3);
1130  cairo_show_text(cairo,"any");
1131  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [58/77]

template<>
void minsky::Operation< OperationType::all >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1133 of file operation.cc.

1134  {
1135  const double sf = scaleFactor();
1136  cairo_scale(cairo,sf,sf);
1137  cairo_set_font_size(cairo,10);
1138  cairo_move_to(cairo,-9,3);
1139  cairo_show_text(cairo,"all");
1140  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [59/77]

template<>
void minsky::Operation< OperationType::size >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1144 of file operation.cc.

1145  {
1146  const double sf = scaleFactor();
1147  cairo_scale(cairo,sf,sf);
1148  cairo_set_font_size(cairo,10);
1149  cairo_move_to(cairo,-9,3);
1150  cairo_show_text(cairo,"nᵢ");
1151  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [60/77]

template<>
void minsky::Operation< OperationType::shape >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1153 of file operation.cc.

1154  {
1155  const double sf = scaleFactor();
1156  cairo_scale(cairo,sf,sf);
1157  cairo_set_font_size(cairo,10);
1158  cairo_move_to(cairo,-9,3);
1159  cairo_show_text(cairo,"{nᵢ}");
1160  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [61/77]

template<>
void minsky::Operation< OperationType::mean >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1162 of file operation.cc.

1163  {
1164  const double sf = scaleFactor();
1165  cairo_scale(cairo,sf,sf);
1166  cairo_set_font_size(cairo,10);
1167  cairo_move_to(cairo,-8,3);
1168  cairo_show_text(cairo,"<x>");
1169  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [62/77]

template<>
void minsky::Operation< OperationType::median >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1171 of file operation.cc.

1172  {
1173  const double sf = scaleFactor();
1174  cairo_scale(cairo,sf,sf);
1175  cairo_set_font_size(cairo,10);
1176  cairo_move_to(cairo,-3,3);
1177  cairo_show_text(cairo,"x");
1178  cairo_move_to(cairo,-4,-1);
1179  cairo_show_text(cairo,"~");
1180  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [63/77]

template<>
void minsky::Operation< OperationType::stdDev >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1182 of file operation.cc.

1183  {
1184  const double sf = scaleFactor();
1185  cairo_scale(cairo,sf,sf);
1186  cairo_set_font_size(cairo,10);
1187  cairo_move_to(cairo,-3,3);
1188  cairo_show_text(cairo,"σ");
1189  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [64/77]

template<>
void minsky::Operation< OperationType::moment >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1191 of file operation.cc.

1192  {
1193  const double sf = scaleFactor();
1194  cairo_scale(cairo,sf*.85,sf);
1195  cairo_set_font_size(cairo,10);
1196  cairo_move_to(cairo,-12,3);
1197  cairo_show_text(cairo,"<Δxᵏ>");
1198  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [65/77]

template<>
void minsky::Operation< OperationType::histogram >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1200 of file operation.cc.

1201  {
1202  const double sf = scaleFactor();
1203  cairo_translate(cairo,-sf*iWidth(), -sf*iHeight());
1204  cairo_scale(cairo,2*sf*iWidth()/cminsky().histogramResource.width(),2*sf*iHeight()/cminsky().histogramResource.height());
1205  cminsky().histogramResource.render(cairo);
1206  }
float iHeight() const
Definition: item.h:224
double height() const
Definition: SVGItem.h:45
float iWidth() const
Definition: item.h:217
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
const Minsky & cminsky()
const version to help in const correctness
Definition: minsky.h:549
SVGRenderer histogramResource
Definition: minsky.h:225
void render(cairo_t *) const
Definition: SVGItem.cc:82

◆ iconDraw() [66/77]

template<>
void minsky::Operation< OperationType::runningSum >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1210 of file operation.cc.

1211  {
1212  const double sf = scaleFactor();
1213  cairo_move_to(cairo,-7,-7);
1214  setCachedText(cairo, "∑+",7);
1215  cairo_scale(cairo,sf,sf);
1216  cachedPango->show();
1217  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [67/77]

template<>
void minsky::Operation< OperationType::runningProduct >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1219 of file operation.cc.

1220  {
1221  const double sf = scaleFactor();
1222  cairo_move_to(cairo,-6,-7);
1223  setCachedText(cairo, "∏×",7);
1224  cairo_scale(cairo,sf,sf);
1225  cachedPango->show();
1226  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [68/77]

template<>
void minsky::Operation< OperationType::difference >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1228 of file operation.cc.

1229  {
1230  const double sf = scaleFactor();
1231  cairo_move_to(cairo,-4,-7);
1232  setCachedText(cairo, "Δ<sup>-</sup>",7);
1233  cairo_scale(cairo,sf,sf);
1234  cachedPango->show();
1235  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [69/77]

template<>
void minsky::Operation< OperationType::differencePlus >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1237 of file operation.cc.

1238  {
1239  const double sf = scaleFactor();
1240  cairo_move_to(cairo,-4,-7);
1241  setCachedText(cairo, "Δ<sup>+</sup>",7);
1242  cairo_scale(cairo,sf,sf);
1243  cachedPango->show();
1244  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [70/77]

template<>
void minsky::Operation< OperationType::innerProduct >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1246 of file operation.cc.

1247  {
1248  const double sf = scaleFactor();
1249  cairo_move_to(cairo,-4,-10);
1250  setCachedText(cairo, "·",14);
1251  cairo_scale(cairo,sf,sf);
1252  cachedPango->show();
1253  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [71/77]

template<>
void minsky::Operation< OperationType::outerProduct >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1255 of file operation.cc.

1256  {
1257  const double sf = scaleFactor();
1258  cairo_move_to(cairo,-4,-10);
1259  // this is the character we want, but draw it explicitly because
1260  //of Windows' deficient fontsets.
1261  // setCachedText(cairo, "⊗",10);
1262  cairo_scale(cairo,sf,sf);
1263  constexpr const double r=6;
1264  static const double d=0.5*r*std::sqrt(2);
1265  cairo_move_to(cairo,d,d);
1266  cairo_line_to(cairo,-d,-d);
1267  cairo_move_to(cairo,-d,d);
1268  cairo_line_to(cairo,d,-d);
1269  cairo_move_to(cairo,r,0);
1270  cairo_arc(cairo,0,0,r,0,2*M_PI);
1271  cairo_stroke(cairo);
1272  }
Expr sqrt(const Expr &x)
Definition: expr.h:154
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
#define M_PI
Definition: operation.cc:36
static constexpr float r
Definition: operationBase.h:58

◆ iconDraw() [72/77]

template<>
void minsky::Operation< OperationType::index >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1274 of file operation.cc.

1275  {
1276  const double sf = scaleFactor();
1277  cairo_scale(cairo,sf,sf);
1278  cairo_set_font_size(cairo,10);
1279  cairo_move_to(cairo,-9,3);
1280  cairo_show_text(cairo,"idx");
1281  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [73/77]

template<>
void minsky::Operation< OperationType::gather >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1283 of file operation.cc.

1284  {
1285  const double sf = scaleFactor();
1286  cairo_scale(cairo,sf,sf);
1287  cairo_set_font_size(cairo,8);
1288  cairo_move_to(cairo,-7,3);
1289  cairo_show_text(cairo,"x[i]");
1290  DrawBinOp drawBinOp(cairo);
1291  drawBinOp.drawPort([&](){drawBinOp.drawSymbol("x");},l,-h,rotation());
1292  drawBinOp.drawPort([&](){drawBinOp.drawSymbol("i");},l,h,rotation());
1293  }
static constexpr float l
Definition: operationBase.h:58
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135
static constexpr float h
Definition: operationBase.h:58
double rotation() const
Definition: item.h:211

◆ iconDraw() [74/77]

template<>
void minsky::Operation< OperationType::meld >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1295 of file operation.cc.

1296  {
1297  const double sf = scaleFactor();
1298  cairo_move_to(cairo,-4,-5);
1299  //setCachedText(cairo, "⭄",10);
1300  cairo_scale(cairo,sf,sf);
1301  cairo_rel_line_to(cairo,4,0);
1302  cairo_rel_line_to(cairo,2,5);
1303  cairo_rel_line_to(cairo,-2,5);
1304  cairo_rel_line_to(cairo,-4,0);
1305  cairo_move_to(cairo,-4,0);
1306  cairo_rel_line_to(cairo,10,0);
1307  cairo_stroke(cairo);
1308  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [75/77]

template<>
void minsky::Operation< OperationType::merge >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1310 of file operation.cc.

1311  {
1312  const double sf = scaleFactor();
1313  cairo_move_to(cairo,-4,-3);
1314  //setCachedText(cairo, "⫤",10);
1315  cairo_scale(cairo,sf,sf);
1316  cairo_rel_line_to(cairo,8,0);
1317  cairo_move_to(cairo,-4,3);
1318  cairo_rel_line_to(cairo,8,0);
1319  cairo_rel_move_to(cairo,0,-10);
1320  cairo_rel_line_to(cairo,0,14);
1321  cairo_stroke(cairo);
1322  }
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [76/77]

template<>
void minsky::Operation< OperationType::slice >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1324 of file operation.cc.

1325  {
1326  const double sf = scaleFactor();
1327  cairo_move_to(cairo,-10,-10);
1328  setCachedText(cairo, "[...",10);
1329  cairo_scale(cairo,sf,sf);
1330  cachedPango->show();
1331  cairo_move_to(cairo,-10+cachedPango->width(),-9);
1332  cairo_rel_line_to(cairo,0,cachedPango->height()-2);
1333  cairo_stroke(cairo);
1334  }
void setCachedText(cairo_t *, const std::string &, double) const
check if cachedPango is up to date, and if not recreate
Definition: operation.cc:221
classdesc::Exclude< std::shared_ptr< ecolab::Pango > > cachedPango
Definition: operationBase.h:54
float scaleFactor() const override
factor by which item has been resized
Definition: operation.cc:135

◆ iconDraw() [77/77]

template<>
void minsky::Operation< OperationType::numOps >::iconDraw ( cairo_t *  ) const
virtual

visual representation of operation on the canvas

Implements minsky::OperationBase.

Definition at line 1338 of file operation.cc.

1339  {/* needs to be here, and is actually called */}

◆ numPorts()

template<minsky::OperationType::Type T>
std::size_t minsky::Operation< T >::numPorts ( ) const
inlineoverridevirtual

Implements minsky::OperationBase.

Definition at line 54 of file operation.h.

55  {return OperationTypeInfo::numArguments<T>()+1;}

◆ operator=() [1/2]

template<minsky::OperationType::Type T>
Operation& minsky::Operation< T >::operator= ( const Operation< T > &  x)
inline

Definition at line 69 of file operation.h.

69  {
71  this->addPorts();
72  return *this;
73  }
virtual float x() const
Definition: item.cc:107
virtual void addPorts()
Definition: operation.cc:99
ItemT & operator=(const ItemT &)=default

◆ operator=() [2/2]

template<minsky::OperationType::Type T>
Operation& minsky::Operation< T >::operator= ( Operation< T > &&  x)
inline

Definition at line 74 of file operation.h.

74  {
76  this->addPorts();
77  return *this;
78  }
virtual float x() const
Definition: item.cc:107
virtual void addPorts()
Definition: operation.cc:99
ItemT & operator=(const ItemT &)=default

◆ type()

template<minsky::OperationType::Type T>
Type minsky::Operation< T >::type ( ) const
inlineoverridevirtual

Implements minsky::OperationBase.

Definition at line 52 of file operation.h.

52 {return T;}

The documentation for this class was generated from the following file: