Minsky: 3.17.0
schema2::Minsky Struct Reference

#include <schema2.h>

Collaboration diagram for schema2::Minsky:
Collaboration graph

Public Member Functions

 Minsky ()
 
 Minsky (const schema1::Minsky &m)
 
 Minsky (classdesc::xml_unpack_t &data)
 populate schema from XML data More...
 

Public Attributes

int schemaVersion =Minsky::version
 
vector< Wirewires
 
vector< Itemitems
 
vector< Groupgroups
 
minsky::Simulation rungeKutta
 
double zoomFactor =1
 
vector< minsky::Bookmarkbookmarks
 
minsky::Dimensions dimensions
 
minsky::ConversionsMap conversions
 

Static Public Attributes

static const int version =2
 

Detailed Description

Definition at line 197 of file schema2.h.

Constructor & Destructor Documentation

◆ Minsky() [1/3]

schema2::Minsky::Minsky ( )
inline

Definition at line 210 of file schema2.h.

210 : schemaVersion(0) {} // schemaVersion defined on read in
int schemaVersion
Definition: schema2.h:200

◆ Minsky() [2/3]

schema2::Minsky::Minsky ( const schema1::Minsky m)

Definition at line 131 of file schema2.cc.

References schema2::Schema1Layout::addItem(), schema1::MinskyModel::godleys, groups, schema1::MinskyModel::groups, items, schema1::Minsky::layout, schema1::Minsky::model, schema1::MinskyModel::notes, schema1::MinskyModel::operations, schema1::MinskyModel::plots, rungeKutta, schema1::MinskyModel::rungeKutta, schema1::MinskyModel::switches, schema1::MinskyModel::variables, wires, schema1::MinskyModel::wires, zoomFactor, and schema1::Minsky::zoomFactor.

132  {
133  // read in layout into a map indexed by id
134  Schema1Layout layout(m.layout);
135 
136  for (auto& i: m.model.wires)
137  layout.addItem(wires,i);
138  for (auto& i: m.model.notes)
139  layout.addItem(items,i);
140  for (auto& i: m.model.operations)
141  layout.addItem(items,i);
142 
143  // save a mapping of ports to variables for later use by group
144  map<int,pair<int,bool>> portToVar;
145  for (auto& i: m.model.variables)
146  {
147  layout.addItem(items,i);
148  for (size_t j=0; j<i.ports.size(); ++j)
149  portToVar[i.ports[j]]=make_pair(i.id,j>0);
150  }
151 
152  for (auto& i: m.model.plots)
153  layout.addItem(items,i);
154  for (auto& i: m.model.switches)
155  layout.addItem(items,i);
156 
157  for (auto& i: m.model.godleys)
158  {
159  layout.addItem(items,i);
160  // override any height specifcation with a legacy iconScale parameter
161  items.back().height.reset();
162  items.back().iconScale=i.zoomFactor/m.zoomFactor;
163  }
164  for (auto& i: m.model.groups)
165  {
166  layout.addItem(groups,i);
167  for (auto p: i.ports)
168  {
169  auto v=portToVar.find(p);
170  if (v!=portToVar.end())
171  {
172  if (v->second.second)
173  groups.back().inVariables->push_back(v->second.first);
174  else
175  groups.back().outVariables->push_back(v->second.first);
176  }
177  }
178  }
179 
182  }
vector< Plot > plots
Definition: schema1.h:330
vector< shared_ptr< Layout > > layout
Definition: schema1.h:342
vector< Group > groups
Definition: schema2.h:203
vector< Wire > wires
Definition: schema2.h:201
minsky::Simulation rungeKutta
Definition: schema1.h:334
vector< Godley > godleys
Definition: schema1.h:333
MinskyModel model
Definition: schema1.h:341
minsky::Simulation rungeKutta
Definition: schema2.h:204
vector< Group > groups
Definition: schema1.h:331
vector< Operation > operations
Definition: schema1.h:328
vector< Item > items
Definition: schema2.h:202
vector< Variable > variables
Definition: schema1.h:329
vector< Item > notes
descriptive notes
Definition: schema1.h:327
vector< Wire > wires
Definition: schema1.h:326
vector< Switch > switches
Definition: schema1.h:332
double zoomFactor
Definition: schema1.h:343
double zoomFactor
Definition: schema2.h:205
Here is the call graph for this function:

◆ Minsky() [3/3]

schema2::Minsky::Minsky ( classdesc::xml_unpack_t &  data)
inline

populate schema from XML data

Definition at line 214 of file schema2.h.

214  : schemaVersion(0)
215  {minsky::loadSchema<schema1::Minsky>(*this,data,"Minsky");}
int schemaVersion
Definition: schema2.h:200

Member Data Documentation

◆ bookmarks

vector<minsky::Bookmark> schema2::Minsky::bookmarks

Definition at line 206 of file schema2.h.

◆ conversions

minsky::ConversionsMap schema2::Minsky::conversions

Definition at line 208 of file schema2.h.

◆ dimensions

minsky::Dimensions schema2::Minsky::dimensions

Definition at line 207 of file schema2.h.

◆ groups

vector<Group> schema2::Minsky::groups

Definition at line 203 of file schema2.h.

Referenced by Minsky().

◆ items

vector<Item> schema2::Minsky::items

Definition at line 202 of file schema2.h.

Referenced by Minsky().

◆ rungeKutta

minsky::Simulation schema2::Minsky::rungeKutta

Definition at line 204 of file schema2.h.

Referenced by Minsky().

◆ schemaVersion

int schema2::Minsky::schemaVersion =Minsky::version

Definition at line 200 of file schema2.h.

◆ version

const int schema2::Minsky::version =2
static

Definition at line 199 of file schema2.h.

◆ wires

vector<Wire> schema2::Minsky::wires

Definition at line 201 of file schema2.h.

Referenced by Minsky().

◆ zoomFactor

double schema2::Minsky::zoomFactor =1

Definition at line 205 of file schema2.h.

Referenced by Minsky().


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