Minsky
schema3::Item Struct Reference

#include <schema3.h>

Inheritance diagram for schema3::Item:
Inheritance graph
Collaboration diagram for schema3::Item:
Collaboration graph

Public Member Functions

void packTensorInit (const minsky::VariableBase &)
 
 Item ()
 
 Item (int id, const minsky::Item &it, const std::vector< int > &ports)
 
 Item (int id, const minsky::VariableBase &v, const std::vector< int > &ports)
 
 Item (int id, const minsky::OperationBase &o, const std::vector< int > &ports)
 
 Item (int id, const minsky::GodleyIcon &g, const std::vector< int > &ports)
 
 Item (int id, const minsky::PlotWidget &p, const std::vector< int > &ports)
 
 Item (int id, const minsky::SwitchIcon &s, const std::vector< int > &ports)
 
 Item (int id, const minsky::Group &g, const std::vector< int > &ports)
 
 Item (const schema2::Item &it)
 
- Public Member Functions inherited from schema3::ItemBase
 ItemBase ()
 
 ItemBase (int id, const minsky::Item &it, const std::vector< int > &ports)
 
 ItemBase (const schema2::Item &it, const std::string &type="Item")
 
- Public Member Functions inherited from minsky::PlotOptions< Note >
 PlotOptions ()=default
 
 PlotOptions (const Note &x)
 
PlotOptionsoperator= (const PlotWidget &plot)
 
void applyPlotOptions (PlotWidget &plot) const
 

Static Public Member Functions

static Optional< classdesc::CDATA > convertTensorDataFromSchema2 (const Optional< classdesc::CDATA > &)
 

Public Attributes

Optional< std::string > init
 
Optional< std::string > units
 
Optional< Sliderslider
 
bool miniPlot =false
 
Optional< int > intVar
 
Optional< std::string > url
 
Optional< minsky::DataSpecSchemacsvDataSpec
 
Optional< std::map< double, double > > dataOpData
 
Optional< std::string > expression
 
Optional< std::string > filename
 
Optional< schema2::RavelStateravelState
 
Optional< int > lockGroup
 
Optional< std::set< std::string > > lockGroupHandles
 
Optional< minsky::Dimensions > dimensions
 
Optional< std::string > axis
 
Optional< double > arg
 
Optional< std::vector< std::vector< std::string > > > data
 
Optional< std::vector< minsky::GodleyAssetClass::AssetClass > > assetClasses
 
Optional< bool > editorMode
 
Optional< bool > buttonDisplay
 
Optional< bool > variableDisplay
 
Optional< string > currency
 
Optional< minsky::ShowSliceshowSlice
 
Optional< minsky::ShowSliceshowColSlice
 
Optional< std::vector< minsky::Bookmark > > bookmarks
 
Optional< classdesc::CDATA > tensorData
 
Optional< std::vector< ecolab::Plot::LineStyle > > palette
 
- Public Attributes inherited from schema3::ItemBase
int id =-1
 
std::string type
 
float x =0
 
float y =0
 position in canvas, or within group More...
 
float itemTabX =nan("")
 
float itemTabY =nan("")
 
float scaleFactor =1
 scale factor of item on canvas, or within group More...
 
double rotation =0
 rotation of icon, in degrees More...
 
float width =10
 
float height =10
 
std::vector< int > ports
 
bool bookmark =false
 
- Public Attributes inherited from minsky::PlotOptions< Note >
Optional< std::string > name
 
Optional< bool > logx
 
Optional< bool > logy
 
Optional< bool > ypercent
 
Optional< bool > grid
 
Optional< bool > subgrid
 
Optional< minsky::PlotWidget::PlotType > plotType
 
Optional< std::string > xlabel
 
Optional< std::string > ylabel
 
Optional< std::string > y1label
 
Optional< int > nxTicks
 
Optional< int > nyTicks
 
Optional< double > xtickAngle
 
Optional< double > exp_threshold
 
double xmin
 
double xmax
 
double ymin
 
double ymax
 
double y1min
 
double y1max
 
unsigned symbolEvery
 
Optional< ecolab::Plot::Side > legend
 
Optional< LegendGeometrylegendGeometry
 
Optional< std::vector< ecolab::Plot::LineStyle > > palette
 
Optional< std::vector< std::string > > horizontalMarkers
 
Optional< std::vector< std::string > > verticalMarkers
 

Detailed Description

Definition at line 105 of file schema3.h.

Constructor & Destructor Documentation

◆ Item() [1/9]

schema3::Item::Item ( )
inline

Definition at line 139 of file schema3.h.

139 {}

◆ Item() [2/9]

schema3::Item::Item ( int  id,
const minsky::Item it,
const std::vector< int > &  ports 
)
inline

Definition at line 140 of file schema3.h.

140 : ItemBase(id,it,ports) {}
std::vector< int > ports
Definition: schema3.h:75

◆ Item() [3/9]

schema3::Item::Item ( int  id,
const minsky::VariableBase v,
const std::vector< int > &  ports 
)
inline

Definition at line 142 of file schema3.h.

References minsky::VariableBase::enableSlider(), minsky::VariableBase::rawName(), minsky::VariableBase::sliderMax(), minsky::VariableBase::sliderMin(), minsky::VariableBase::sliderStep(), minsky::VariableBase::sliderStepRel(), and minsky::VariableBase::vValue().

142  :
143  ItemBase(id,static_cast<const minsky::Item&>(v),ports),
144  init(v.init()), miniPlot(v.miniPlotEnabled()) {
145  name=v.rawName();
146  slider.reset(new Slider(v.sliderStepRel(),v.enableSlider(),v.sliderMin(),v.sliderMax(),v.sliderStep()));
147  if (auto vv=v.vValue())
148  {
149  units=vv->units.str();
150  if (!vv->csvDialog.url.empty())
151  csvDataSpec=vv->csvDialog.spec.toSchema();
152  url=vv->csvDialog.url;
153  }
154  }
bool miniPlotEnabled() const
Definition: variable.h:242
const std::string & rawName() const
accessor for the name member (may differ from name() with top level variables)
Definition: variable.h:150
Optional< std::string > name
Definition: plotOptions.h:49
Optional< std::string > init
Definition: schema3.h:107
std::vector< int > ports
Definition: schema3.h:75
Optional< std::string > url
Definition: schema3.h:112
Optional< Slider > slider
Definition: schema3.h:109
double sliderMax() const
slider parameters
Definition: variable.cc:647
Optional< minsky::DataSpecSchema > csvDataSpec
Definition: schema3.h:113
std::string init() const
the initial value of this variable
Definition: variable.cc:285
bool enableSlider() const
slider parameters
Definition: variable.cc:689
bool sliderStepRel() const
slider parameters
Definition: variable.cc:675
double sliderStep() const
slider parameters
Definition: variable.cc:661
bool miniPlot
Definition: schema3.h:110
std::shared_ptr< VariableValue > vValue() const
variableValue associated with this. nullptr if not associated with a variableValue ...
Definition: variable.cc:161
double sliderMin() const
slider parameters
Definition: variable.cc:632
Optional< std::string > units
Definition: schema3.h:108
Here is the call graph for this function:

◆ Item() [4/9]

schema3::Item::Item ( int  id,
const minsky::OperationBase o,
const std::vector< int > &  ports 
)
inline

Definition at line 155 of file schema3.h.

155  :
156  ItemBase(id,static_cast<const minsky::Item&>(o),ports),
157  axis(o.axis), arg(o.arg) {}
Optional< std::string > axis
Definition: schema3.h:122
double arg
operation argument. For example, the offset used in a difference operator, or binsize in a binning op...
Definition: operationBase.h:92
std::vector< int > ports
Definition: schema3.h:75
std::string axis
axis selector in tensor operations
Definition: operationBase.h:95
Optional< double > arg
Definition: schema3.h:123

◆ Item() [5/9]

schema3::Item::Item ( int  id,
const minsky::GodleyIcon g,
const std::vector< int > &  ports 
)
inline

Definition at line 158 of file schema3.h.

References minsky::GodleyIcon::table, and minsky::GodleyTable::title.

158  :
159  ItemBase(id,static_cast<const minsky::Item&>(g),ports),
163  {name=g.table.title;}
bool editorMode() const override
indicate whether icon is in editor mode or icon mode
Definition: godleyIcon.h:69
const Data & getData() const
accessor for schema access
Definition: godleyTable.h:192
Optional< std::string > name
Definition: plotOptions.h:49
bool buttonDisplay() const
enable/disable drawing buttons in table on canvas display
Definition: godleyIcon.cc:161
std::vector< int > ports
Definition: schema3.h:75
Optional< bool > editorMode
Definition: schema3.h:127
Optional< string > currency
Definition: schema3.h:128
GodleyTable table
table data. Must be declared before editor
Definition: godleyIcon.h:80
bool variableDisplay() const
Definition: godleyIcon.h:76
Optional< std::vector< std::vector< std::string > > > data
Definition: schema3.h:125
Optional< bool > variableDisplay
Definition: schema3.h:127
Optional< std::vector< minsky::GodleyAssetClass::AssetClass > > assetClasses
Definition: schema3.h:126
std::string title
Definition: godleyTable.h:60
const vector< AssetClass > & _assetClass() const
class of each column (used in DE compliant mode)
Definition: godleyTable.h:78
Optional< bool > buttonDisplay
Definition: schema3.h:127
std::string currency
Definition: godleyIcon.h:147

◆ Item() [6/9]

schema3::Item::Item ( int  id,
const minsky::PlotWidget p,
const std::vector< int > &  ports 
)
inline

Definition at line 164 of file schema3.h.

164  :
165  ItemBase(id,static_cast<const minsky::Item&>(p),ports),
166  palette(p.palette)
167  {
168  static_cast<PlotOptions&>(*this)=p;
169  }
std::vector< int > ports
Definition: schema3.h:75
Optional< std::vector< ecolab::Plot::LineStyle > > palette
Definition: schema3.h:135

◆ Item() [7/9]

schema3::Item::Item ( int  id,
const minsky::SwitchIcon s,
const std::vector< int > &  ports 
)
inline

Definition at line 170 of file schema3.h.

170  :
171  ItemBase(id, static_cast<const minsky::Item&>(s),ports)
172  {if (s.flipped) rotation=180;}
std::vector< int > ports
Definition: schema3.h:75
double rotation
rotation of icon, in degrees
Definition: schema3.h:73

◆ Item() [8/9]

schema3::Item::Item ( int  id,
const minsky::Group g,
const std::vector< int > &  ports 
)
inline

Definition at line 173 of file schema3.h.

References minsky::Group::title.

173  :
174  ItemBase(id, static_cast<const minsky::Item&>(g),ports),
175  bookmarks(std::vector<minsky::Bookmark>(g.bookmarks.begin(), g.bookmarks.end()))
176  {name=g.title;}
Optional< std::string > name
Definition: plotOptions.h:49
std::vector< int > ports
Definition: schema3.h:75
std::set< Bookmark > bookmarks
Definition: group.h:81
Optional< std::vector< minsky::Bookmark > > bookmarks
Definition: schema3.h:133
std::string title
Definition: group.h:240

◆ Item() [9/9]

schema3::Item::Item ( const schema2::Item it)
inline

Definition at line 180 of file schema3.h.

References schema2::Item::name.

180  :
181  ItemBase(it,it.type), init(it.init), units(it.units),
184  axis(it.axis), arg(it.arg), data(it.data), assetClasses(it.assetClasses),
186  palette(it.palette)
187  {name=it.name;}
Optional< std::map< double, double > > dataOpData
Definition: schema3.h:114
Optional< classdesc::CDATA > tensorData
Definition: schema2.h:116
Optional< int > lockGroup
Definition: schema2.h:105
Optional< std::string > name
Definition: plotOptions.h:49
Optional< std::map< double, double > > dataOpData
Definition: schema2.h:102
Optional< std::string > axis
Definition: schema3.h:122
Optional< std::string > init
Definition: schema3.h:107
Optional< std::vector< minsky::Bookmark > > bookmarks
Definition: schema2.h:115
Optional< std::string > axis
Definition: schema2.h:108
Optional< Slider > slider
Definition: schema2.h:100
std::string type
Definition: schema2.h:71
Optional< int > lockGroup
Definition: schema3.h:118
Optional< std::string > units
Definition: schema2.h:99
Optional< Slider > slider
Definition: schema3.h:109
Optional< std::vector< ecolab::Plot::LineStyle > > palette
Definition: schema3.h:135
Optional< double > arg
Definition: schema2.h:109
Optional< std::vector< minsky::GodleyAssetClass::AssetClass > > assetClasses
Definition: schema2.h:112
Optional< schema2::RavelState > ravelState
Definition: schema3.h:117
Optional< std::vector< minsky::Bookmark > > bookmarks
Definition: schema3.h:133
Optional< std::vector< std::vector< std::string > > > data
Definition: schema3.h:125
static Optional< classdesc::CDATA > convertTensorDataFromSchema2(const Optional< classdesc::CDATA > &)
Definition: schema3.cc:110
Optional< std::string > filename
Definition: schema2.h:103
Optional< RavelState > ravelState
Definition: schema2.h:104
Optional< std::string > init
Definition: schema2.h:98
Optional< classdesc::CDATA > tensorData
Definition: schema3.h:134
Optional< std::vector< minsky::GodleyAssetClass::AssetClass > > assetClasses
Definition: schema3.h:126
Optional< minsky::Dimensions > dimensions
Definition: schema3.h:120
Optional< minsky::Dimensions > dimensions
Definition: schema2.h:106
Optional< std::string > filename
Definition: schema3.h:116
Optional< std::vector< ecolab::Plot::LineStyle > > palette
Definition: schema2.h:117
Optional< std::string > name
Definition: schema2.h:97
Optional< double > arg
Definition: schema3.h:123
Optional< std::vector< std::vector< std::string > > > data
Definition: schema2.h:111
Optional< int > intVar
Definition: schema2.h:101
Optional< int > intVar
Definition: schema3.h:111
Optional< std::string > units
Definition: schema3.h:108

Member Function Documentation

◆ convertTensorDataFromSchema2()

Optional< classdesc::CDATA > schema3::Item::convertTensorDataFromSchema2 ( const Optional< classdesc::CDATA > &  x)
static

Definition at line 110 of file schema3.cc.

References minsky::decode(), minsky::encode(), pack(), and schema2::unpack().

111  {
112  Optional<classdesc::CDATA> r;
113  if (x)
114  {
115  auto buf=minsky::decode(*x);
116  civita::TensorVal tmp;
117  schema2::unpack(buf,tmp);
118  buf.reseti();
119  pack(buf,tmp);
120  r=minsky::encode(buf);
121  }
122  return r;
123  }
classdesc::pack_t decode(const classdesc::CDATA &data)
decode ascii-encoded representation to binary data
Definition: schemaHelper.cc:34
void pack(classdesc::pack_t &b, const civita::XVector &a)
Definition: schema3.cc:40
CDATA encode(const pack_t &buf)
Definition: schemaHelper.cc:51
void unpack(classdesc::pack_t &b, civita::XVector &a)
Definition: schema2.cc:26
Here is the call graph for this function:

◆ packTensorInit()

void schema3::Item::packTensorInit ( const minsky::VariableBase v)

Definition at line 285 of file schema3.cc.

References minsky::encode(), pack(), and minsky::VariableBase::vValue().

286  {
287  if (auto val=v.vValue())
288  if (val->tensorInit.rank())
289  {
290  pack_t buf;
291  pack(buf,val->tensorInit);
293  }
294  }
void pack(classdesc::pack_t &b, const civita::XVector &a)
Definition: schema3.cc:40
CDATA encode(const pack_t &buf)
Definition: schemaHelper.cc:51
Optional< classdesc::CDATA > tensorData
Definition: schema3.h:134
std::shared_ptr< VariableValue > vValue() const
variableValue associated with this. nullptr if not associated with a variableValue ...
Definition: variable.cc:161
Here is the call graph for this function:

Member Data Documentation

◆ arg

Optional<double> schema3::Item::arg

Definition at line 123 of file schema3.h.

Referenced by schema3::populateItem().

◆ assetClasses

Optional<std::vector<minsky::GodleyAssetClass::AssetClass> > schema3::Item::assetClasses

Definition at line 126 of file schema3.h.

Referenced by schema3::populateItem().

◆ axis

Optional<std::string> schema3::Item::axis

Definition at line 122 of file schema3.h.

Referenced by schema3::populateItem().

◆ bookmarks

Optional<std::vector<minsky::Bookmark> > schema3::Item::bookmarks

Definition at line 133 of file schema3.h.

Referenced by schema3::populateItem().

◆ buttonDisplay

Optional<bool> schema3::Item::buttonDisplay

Definition at line 127 of file schema3.h.

Referenced by schema3::populateItem().

◆ csvDataSpec

Optional<minsky::DataSpecSchema> schema3::Item::csvDataSpec

Definition at line 113 of file schema3.h.

◆ currency

Optional<string> schema3::Item::currency

Definition at line 128 of file schema3.h.

Referenced by schema3::populateItem().

◆ data

Optional<std::vector<std::vector<std::string> > > schema3::Item::data

Definition at line 125 of file schema3.h.

Referenced by schema3::populateItem().

◆ dataOpData

Optional<std::map<double,double> > schema3::Item::dataOpData

Definition at line 114 of file schema3.h.

Referenced by schema3::populateItem().

◆ dimensions

Optional<minsky::Dimensions> schema3::Item::dimensions

Definition at line 120 of file schema3.h.

Referenced by schema3::populateItem().

◆ editorMode

Optional<bool> schema3::Item::editorMode

Definition at line 127 of file schema3.h.

Referenced by schema3::populateItem().

◆ expression

Optional<std::string> schema3::Item::expression

Definition at line 115 of file schema3.h.

Referenced by schema3::populateItem().

◆ filename

Optional<std::string> schema3::Item::filename

Definition at line 116 of file schema3.h.

◆ init

Optional<std::string> schema3::Item::init

Definition at line 107 of file schema3.h.

◆ intVar

Optional<int> schema3::Item::intVar

Definition at line 111 of file schema3.h.

◆ lockGroup

Optional<int> schema3::Item::lockGroup

Definition at line 118 of file schema3.h.

◆ lockGroupHandles

Optional<std::set<std::string> > schema3::Item::lockGroupHandles

Definition at line 119 of file schema3.h.

◆ miniPlot

bool schema3::Item::miniPlot =false

Definition at line 110 of file schema3.h.

Referenced by schema3::populateItem().

◆ palette

Optional<std::vector<ecolab::Plot::LineStyle> > schema3::Item::palette

Definition at line 135 of file schema3.h.

Referenced by schema3::populateItem().

◆ ravelState

Optional<schema2::RavelState> schema3::Item::ravelState

Definition at line 117 of file schema3.h.

Referenced by schema3::populateItem().

◆ showColSlice

Optional<minsky::ShowSlice> schema3::Item::showColSlice

Definition at line 131 of file schema3.h.

Referenced by schema3::populateItem().

◆ showSlice

Optional<minsky::ShowSlice> schema3::Item::showSlice

Definition at line 130 of file schema3.h.

Referenced by schema3::populateItem().

◆ slider

Optional<Slider> schema3::Item::slider

Definition at line 109 of file schema3.h.

Referenced by schema3::populateItem().

◆ tensorData

Optional<classdesc::CDATA> schema3::Item::tensorData

Definition at line 134 of file schema3.h.

◆ units

Optional<std::string> schema3::Item::units

Definition at line 108 of file schema3.h.

◆ url

Optional<std::string> schema3::Item::url

Definition at line 112 of file schema3.h.

◆ variableDisplay

Optional<bool> schema3::Item::variableDisplay

Definition at line 127 of file schema3.h.

Referenced by schema3::populateItem().


The documentation for this struct was generated from the following files: