MCPcopy Create free account
hub / github.com/NatLabRockies/SAM / SetData

Method SetData

src/widgets.cpp:3120–3185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3118 }
3119
3120 void SetData(matrix_t<double> &data)
3121 {
3122 mData = data;
3123
3124 if (GridTable) GridTable->SetMatrix(NULL);
3125 Grid->SetTable(NULL);
3126
3127 size_t dataSize = mData.nrows();
3128 if (dataSize < 1)
3129 {
3130 mData.at(1,0) = 0.0;
3131 dataSize = 1;
3132 }
3133 if (dataSize == 1)
3134 mMode = DATA_LIFETIME_MATRIX_SINGLEVALUE;
3135 else if (dataSize == (mAnalysisPeriod))
3136 mMode = DATA_LIFETIME_MATRIX_ANNUAL;
3137 else if (dataSize == (mAnalysisPeriod * 12))
3138 mMode = DATA_LIFETIME_MATRIX_MONTHLY;
3139 else if (dataSize == (mAnalysisPeriod * 52))
3140 mMode = DATA_LIFETIME_MATRIX_WEEKLY;
3141 else if (dataSize == (mAnalysisPeriod * 365))
3142 mMode = DATA_LIFETIME_MATRIX_DAILY;
3143 else if (dataSize == (mAnalysisPeriod * 8760))
3144 mMode = DATA_LIFETIME_MATRIX_HOURLY;
3145 else
3146 {
3147 mMode = DATA_LIFETIME_MATRIX_SUBHOURLY;
3148 size_t stepsPerHour = dataSize / (mAnalysisPeriod * 8760);
3149 switch (stepsPerHour)
3150 {
3151 case 2: // 30 minute
3152 Timesteps->SetSelection(5);
3153 break;
3154 case 3: // 20 minute
3155 Timesteps->SetSelection(4);
3156 break;
3157 case 4: // 15 minute
3158 Timesteps->SetSelection(3);
3159 break;
3160 case 6: // 10 minute
3161 Timesteps->SetSelection(2);
3162 break;
3163 case 12: // 5 minute
3164 Timesteps->SetSelection(1);
3165 break;
3166 default: // 1 minute
3167 Timesteps->SetSelection(0);
3168 break;
3169 }
3170 }
3171
3172 GridTable = new AFDataLifetimeMatrixTable(&mData, mMode, mColumnLabels);
3173 GridTable->SetAttrProvider(new wxExtGridCellAttrProvider);
3174
3175 Grid->SetTable(GridTable, true);
3176 // can use max text width from column labels
3177 for (size_t ic = 0; ic < (size_t)Grid->GetNumberCols(); ic++)

Callers

nothing calls this directly

Calls 4

nrowsMethod · 0.80
SetSelectionMethod · 0.80
SetMatrixMethod · 0.45
GetNumberColsMethod · 0.45

Tested by

no test coverage detected