DSS C-API and dss.hpp
DSS C-API and dss.hpp expose a customized and extended implementation of OpenDSS to C and C++.
dss_obj.hpp
1
12#pragma once
13#ifndef DSS_CPP_OBJ_API
14#define DSS_CPP_OBJ_API
15#include "dss_common.hpp"
16
17namespace dss { namespace obj {
18
19#ifdef DSS_CAPI_NAMESPACE
20using namespace dss::capi;
21#endif
22
23namespace detail {
24 void obj_set_val(void *ptr, int32_t idx, int32_t value)
25 {
26 Obj_SetInt32(ptr, idx, value);
27 }
28
29 void obj_set_val(void *ptr, int32_t idx, double value)
30 {
31 Obj_SetFloat64(ptr, idx, value);
32 }
33
34 void obj_set_val(void *ptr, int32_t idx, bool value)
35 {
36 Obj_SetInt32(ptr, idx, value);
37 }
38
39 void obj_set_val(void *ptr, int32_t idx, const string &value)
40 {
41 Obj_SetString(ptr, idx, value.c_str());
42 }
43
44 void obj_set_val(void *ptr, int32_t idx, const char* value)
45 {
46 Obj_SetString(ptr, idx, value);
47 }
48
49 void obj_get_array(double** ResultPtr, int32_t* ResultCount, void *obj, int32_t Index)
50 {
51 Obj_GetFloat64Array(ResultPtr, ResultCount, obj, Index);
52 }
53
54 void obj_get_array(int32_t** ResultPtr, int32_t* ResultCount, void *obj, int32_t Index)
55 {
56 Obj_GetInt32Array(ResultPtr, ResultCount, obj, Index);
57 }
58
59 void obj_get_array(char*** ResultPtr, int32_t* ResultCount, void *obj, int32_t Index)
60 {
61 Obj_GetStringArray(ResultPtr, ResultCount, obj, Index);
62 }
63
64 void obj_get_array(void*** ResultPtr, int32_t* ResultCount, void *obj, int32_t Index)
65 {
66 Obj_GetObjectArray(ResultPtr, ResultCount, obj, Index);
67 }
68
69 void dispose_array(double** ptr, int32_t)
70 {
71 DSS_Dispose_PDouble(ptr);
72 }
73
74 void dispose_array(int32_t** ptr, int32_t)
75 {
76 DSS_Dispose_PInteger(ptr);
77 }
78
79 void dispose_array(char*** ptr, int32_t cnt)
80 {
81 DSS_Dispose_PPAnsiChar(ptr, cnt);
82 }
83
84 void dispose_array(void*** ptr, int32_t)
85 {
86 DSS_Dispose_PPointer(ptr);
87 }
88
89 void obj_set_array(void *obj, int32_t Index, double* Value, int32_t ValueCount)
90 {
91 Obj_SetFloat64Array(obj, Index, Value, ValueCount);
92 }
93
94 void obj_set_array(void *obj, int32_t Index, int32_t* Value, int32_t ValueCount)
95 {
96 Obj_SetInt32Array(obj, Index, Value, ValueCount);
97 }
98
99 void obj_set_array(void *obj, int32_t Index, const char** Value, int32_t ValueCount)
100 {
101 Obj_SetStringArray(obj, Index, Value, ValueCount);
102 }
103
104 void obj_set_array(void *obj, int32_t Index, void **Value, int32_t ValueCount)
105 {
106 Obj_SetObjectArray(obj, Index, Value, ValueCount);
107 }
108
109 void obj_set_val(void *obj, int32_t Index, complex Value)
110 {
111 Obj_SetFloat64Array(obj, Index, (double*)&Value, 2);
112 }
113
114
115 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, int32_t value)
116 {
117 Batch_Int32(ptr, cnt, idx, BatchOperation_Set, value);
118 }
119
120 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, double value)
121 {
122 Batch_Float64(ptr, cnt, idx, BatchOperation_Set, value);
123 }
124
125 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, bool value)
126 {
127 Batch_Int32(ptr, cnt, idx, BatchOperation_Set, value);
128 }
129
130 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, const string &value)
131 {
132 Batch_SetString(ptr, cnt, idx, value.c_str());
133 }
134
135 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, const char* value)
136 {
137 Batch_SetString(ptr, cnt, idx, value);
138 }
139
140 void batch_set_val(void **ptr, int32_t cnt, int32_t idx, complex value)
141 {
142 void **ptr_end = ptr + cnt;
143 while (ptr != ptr_end)
144 {
145 obj_set_val(*ptr, idx, value);
146 ++ptr;
147 }
148 }
149
150 void batch_op(void **ptr, int32_t cnt, int32_t idx, int32_t op, double value)
151 {
152 Batch_Float64(ptr, cnt, idx, op, value);
153 }
154
155 void batch_op(void **ptr, int32_t cnt, int32_t idx, int32_t op, int32_t value)
156 {
157 Batch_Int32(ptr, cnt, idx, op, value);
158 }
159
160 void batch_get_val(double** ResultPtr, int32_t* ResultCount, void **batch, int32_t batchSize, int32_t Index)
161 {
162 Batch_GetFloat64(ResultPtr, ResultCount, batch, batchSize, Index);
163 }
164
165 void batch_get_val(int32_t** ResultPtr, int32_t* ResultCount, void **batch, int32_t batchSize, int32_t Index)
166 {
167 Batch_GetInt32(ResultPtr, ResultCount, batch, batchSize, Index);
168 }
169
170 void batch_get_val(char*** ResultPtr, int32_t* ResultCount, void **batch, int32_t batchSize, int32_t Index)
171 {
172 Batch_GetString(ResultPtr, ResultCount, batch, batchSize, Index);
173 }
174
175 void batch_get_val(void*** ResultPtr, int32_t* ResultCount, void **batch, int32_t batchSize, int32_t Index)
176 {
177 Batch_GetObject(ResultPtr, ResultCount, batch, batchSize, Index);
178 }
179} // namespace detail
180
182{
183public:
184 APIUtil *api_util;
185 void *ptr;
186
187 DSSObj(APIUtil *util=nullptr, void *ptr_=nullptr): api_util(util), ptr(ptr_)
188 {
189 }
190
191 // virtual ~DSSObj()
192 // {
193 // }
194
195protected:
196 void check_for_error()
197 {
198 api_util->check_for_error();
199 }
200
201 void set_string(int32_t index, const string &value)
202 {
203 Obj_SetString(ptr, index, value.c_str());
204 }
205
206 void set_string(int32_t index, const char *value)
207 {
208 Obj_SetString(ptr, index, value);
209 }
210
211 string get_prop_string(int32_t index)
212 {
213 char* sc = Obj_GetString(ptr, index);
214 string res(sc);
215 DSS_Dispose_String(sc);
216 return res;
217 }
218
219 complex get_complex(int32_t index)
220 {
221 complex cres;
222 double *res = (double*) &cres;
223 int32_t cnt[2] = {2, 2};
224 Obj_GetFloat64Array(&res, cnt, ptr, index);
225 if (cnt[0] != 2)
226 {
227 throw std::runtime_error("Unexpected number of elements return for complex value!");
228 }
229 return cres;
230 }
231
232 void set_complex(int32_t index, complex value)
233 {
234 Obj_SetFloat64Array(ptr, index, (double*)(&value), 2);
235 }
236
237 void set_string_array(int32_t index, strings &value)
238 {
239 std::vector<const char*> ptrs(value.size(), nullptr);
240 for (size_t i = 0; i < value.size(); ++i)
241 {
242 ptrs[i] = value[i].c_str();
243 }
244 Obj_SetStringArray(ptr, index, &ptrs[0], int32_t(value.size()));
245 check_for_error();
246 }
247
248 void set_obj(int32_t index, DSSObj &value)
249 {
250 Obj_SetObject(ptr, index, value.ptr);
251 }
252
253 template <typename T>
254 T get_obj(int32_t index)
255 {
256 T o{api_util};
257 o.ptr = Obj_GetObject(ptr, index);
258 return o;
259 }
260
261 template <typename T = VectorXd>
262 T get_array(int32_t index)
263 {
264 T res;
265 int32_t data_cnt[2] = {0, 0};
266
267 if constexpr (std::is_same<string, typename T::value_type>::value)
268 {
269 char **data_ptr = nullptr;
270 detail::obj_get_array(&data_ptr, data_cnt, ptr, index);
271 res.resize(data_cnt[0]);
272 for (size_t j = 0; j < data_cnt[0]; ++j)
273 {
274 res[j] = data_ptr[j];
275 }
276 detail::dispose_array(&data_ptr, data_cnt[0]);
277 }
278 else if constexpr (std::is_convertible<typename T::value_type*, DSSObj*>::value)
279 {
280 void **data_ptr = nullptr;
281 detail::obj_get_array(&data_ptr, data_cnt, ptr, index);
282 res.reserve(data_cnt[0]);
283 for (size_t j = 0; j < data_cnt[0]; ++j)
284 {
285 res.emplace_back(api_util, data_ptr[j]);
286 }
287 detail::dispose_array(&data_ptr, data_cnt[0]);
288 }
289 else
290 {
291 typename T::value_type *data_ptr = nullptr;
292 if constexpr(std::is_enum<typename T::value_type>::value)
293 {
294 detail::obj_get_array((int32_t**)&data_ptr, data_cnt, ptr, index);
295 }
296 else
297 {
298 detail::obj_get_array(&data_ptr, data_cnt, ptr, index);
299 }
300 res.resize(data_cnt[0]);
301 memcpy(&res[0], data_ptr, sizeof(typename T::value_type) * data_cnt[0]);
302 if constexpr(std::is_enum<typename T::value_type>::value)
303 {
304 detail::dispose_array((int32_t**)&data_ptr, data_cnt[0]);
305 }
306 else
307 {
308 detail::dispose_array(&data_ptr, data_cnt[0]);
309 }
310 }
311 check_for_error();
312 return res;
313 }
314
315 template <typename T = VectorXd>
316 static void set_array(void* ptr, int32_t index, T value)
317 {
318 if constexpr (std::is_same<string, typename T::value_type>::value)
319 {
320 std::vector<const char*> prepvalue(value.size());
321 for (size_t i = 0; i < value.size(); ++i)
322 {
323 prepvalue[i] = value[i].c_str();
324 }
325 detail::obj_set_array(ptr, index, &prepvalue[0], value.size());
326 }
327 else if constexpr (std::is_convertible<typename T::value_type*, DSSObj*>::value)
328 {
329 std::vector<void*> prepvalue(value.size());
330 for (size_t i = 0; i < value.size(); ++i)
331 {
332 prepvalue[i] = value[i].ptr;
333 }
334 detail::obj_set_array(ptr, index, &prepvalue[0], value.size());
335 }
336 else if constexpr (std::is_enum<typename T::value_type>::value)
337 {
338 detail::obj_set_array(ptr, index, (int32_t*)&value[0], value.size());
339 }
340 else
341 {
342 detail::obj_set_array(ptr, index, &value[0], value.size());
343 }
344 }
345
346 template <typename T = VectorXd>
347 void set_array(int32_t index, T value)
348 {
349 set_array<T>(ptr, index, value);
350 check_for_error();
351 }
352
353 friend DSSBatch;
354};
355
356template<typename T>
357class BatchArrayProxy;
358
360{
361public:
362 APIUtil *api_util;
363 void **pointer;
364 int32_t count[2];
365
369 DSSBatch(APIUtil *util, int32_t cls_idx): api_util(util), count{0, 0}, pointer(nullptr)
370 {
371 Batch_CreateByClass(api_util->ctx, &pointer, count, cls_idx);
372 check_for_error();
373 }
374
378 DSSBatch(APIUtil *util, int32_t cls_idx, int32_t prop_idx, int32_t prop_value): api_util(util), count{0, 0}, pointer(nullptr)
379 {
380 Batch_CreateByInt32Property(api_util->ctx, &pointer, count, cls_idx, prop_idx, prop_value);
381 check_for_error();
382 }
383
387 DSSBatch(APIUtil *util, int32_t cls_idx, const char* regexp): api_util(util), count{0, 0}, pointer(nullptr)
388 {
389 Batch_CreateByRegExp(api_util->ctx, &pointer, count, cls_idx, regexp);
390 check_for_error();
391 }
392
396 DSSBatch(APIUtil *util): api_util(util), count{0, 0}, pointer(nullptr)
397 {
398 }
399
400 ~DSSBatch()
401 {
402 Batch_Dispose(pointer);
403 }
404
405 strings name()
406 {
407 strings result;
408 result.reserve(count[0]);
409 for (size_t i = 0; i < count[0]; ++i)
410 {
411 result.emplace_back(Obj_GetName(pointer[i]));
412 }
413 return result;
414 }
415protected:
416 inline void check_for_error()
417 {
418 api_util->check_for_error();
419 }
420
421 bools get_batch_bool(int32_t index)
422 {
423 bools res;
424 int32_t res_cnt[2] = {count[0], count[0]};
425 res.resize(count[0]);
426 int32_t *pres = &res[0];
427 Batch_GetInt32(&pres, res_cnt, pointer, count[0], index);
428 return res;
429 }
430
431 std::vector<complex> get_batch_complex(int32_t index)
432 {
433 void** it = pointer;
434 void** it_end = pointer + count[0];
435 std::vector<complex> res;
436 res.resize(count[0]);
437 std::vector<complex>::iterator res_it = res.begin();
438 int32_t res_cnt[2] = {2, 2};
439 while (it != it_end)
440 {
441 double *pres_it = (double*)&(*res_it);
442 Obj_GetFloat64Array(&pres_it, res_cnt, *it, index);
443 ++it;
444 ++res_it;
445 }
446 return res;
447 }
448
449 template <typename T = VectorXd>
450 std::vector<T> get_batch_valarray(int32_t index)
451 {
452 std::vector<T> res;
453 res.resize(count[0]);
454 int32_t data_cnt[2] = {0, 0};
455
456 if constexpr (std::is_same<string, typename T::value_type>::value)
457 {
458 char **data_ptr = nullptr;
459 for (size_t i = 0; i < count[0]; ++i)
460 {
461 detail::obj_get_array(&data_ptr, data_cnt, pointer[i], index);
462 res[i].resize(data_cnt[0]);
463 auto &resi = res[i];
464 for (size_t j = 0; j < data_cnt[0]; ++j)
465 {
466 resi[j] = data_ptr[j];
467 }
468 }
469 detail::dispose_array(&data_ptr, data_cnt[0]);
470 }
471 else if constexpr (std::is_convertible<typename T::value_type*, DSSObj*>::value)
472 {
473 char **data_ptr = nullptr;
474 for (size_t i = 0; i < count[0]; ++i)
475 {
476 detail::obj_get_array(&data_ptr, data_cnt, pointer[i], index);
477 res[i].reserve(data_cnt[0]);
478 auto &resi = res[i];
479 for (size_t j = 0; j < data_cnt[0]; ++j)
480 {
481 resi.emplace_back(api_util, data_ptr[j]);
482 }
483 }
484 detail::dispose_array(&data_ptr, data_cnt[0]);
485 }
486 else
487 {
488 typename T::value_type *data_ptr = nullptr;
489 for (size_t i = 0; i < count[0]; ++i)
490 {
491 detail::obj_get_array(&data_ptr, data_cnt, pointer[i], index);
492 res[i].resize(data_cnt[0]);
493 memcpy(&res[i][0], data_ptr, sizeof(typename T::value_type) * data_cnt[0]);
494 }
495 detail::dispose_array(&data_ptr, data_cnt[0]);
496 }
497
498 return res;
499 }
500
501 void set_batch_complex_for_each(int32_t index, std::vector<complex> &values)
502 {
503 if (values.size() != count[0])
504 {
505 throw std::runtime_error("Number of elements provided must match the number of objects in the batch.");
506 }
507 for (size_t i = 0; i < values.size(); ++i)
508 {
509 Obj_SetFloat64Array(*(pointer + i), index, (double*)(&values[i]), 2);
510 }
511 check_for_error();
512 }
513
514 template <typename T>
515 void set_batch_val(int32_t index, const T& value)
516 {
517 if constexpr (std::is_enum<T>::value)
518 {
519 detail::batch_set_val(pointer, count[0], index, int32_t(value));
520 }
521 else if constexpr (std::is_scalar<T>::value || std::is_same<complex, T>::value)
522 {
523 detail::batch_set_val(pointer, count[0], index, value);
524 }
525 else
526 {
527 void** it = pointer;
528 void** it_end = pointer + count[0];
529
530 while (it != it_end)
531 {
532 if constexpr (std::is_same<string, T>::value)
533 {
534 detail::obj_set_val(*it, index, value.c_str());
535 }
536 else if constexpr (std::is_convertible<T*, DSSObj*>::value)
537 {
538 detail::obj_set_val(*it, index, value.ptr);
539 }
540 else
541 {
542 DSSObj::set_array<T>(*it, index, value);
543 }
544 ++it;
545 }
546 }
547 check_for_error();
548 }
549
550protected:
551
552 template <typename T = VectorXd>
553 static T get_batch_val(int32_t index, DSSBatch &batch) //TODO: reuse code
554 {
555 T res;
556 int32_t data_cnt[2] = {0, 0};
557
558 if constexpr (std::is_same<string, typename T::value_type>::value)
559 {
560 char **data_ptr = nullptr;
561 detail::batch_get_val(&data_ptr, data_cnt, batch.pointer, batch.count[0], index);
562 res.resize(data_cnt[0]);
563 for (size_t j = 0; j < data_cnt[0]; ++j)
564 {
565 res[j] = data_ptr[j];
566 }
567 detail::dispose_array(&data_ptr, data_cnt[0]);
568 }
569 else if constexpr (std::is_convertible<typename T::value_type*, DSSObj*>::value)
570 {
571 void **data_ptr = nullptr;
572 detail::batch_get_val(&data_ptr, data_cnt, batch.pointer, batch.count[0], index);
573 res.reserve(data_cnt[0]);
574 for (size_t j = 0; j < data_cnt[0]; ++j)
575 {
576 res.emplace_back(batch.api_util, data_ptr[j]);
577 }
578 detail::dispose_array(&data_ptr, data_cnt[0]);
579 }
580 else
581 {
582 typename T::value_type *data_ptr = nullptr;
583 if constexpr(std::is_enum<typename T::value_type>::value)
584 {
585 detail::batch_get_val((int32_t**)&data_ptr, data_cnt, batch.pointer, batch.count[0], index);
586 }
587 else
588 {
589 detail::batch_get_val(&data_ptr, data_cnt, batch.pointer, batch.count[0], index);
590 }
591 res.resize(data_cnt[0]);
592 memcpy(&res[0], data_ptr, sizeof(typename T::value_type) * data_cnt[0]);
593 if constexpr(std::is_enum<typename T::value_type>::value)
594 {
595 detail::dispose_array((int32_t**)&data_ptr, data_cnt[0]);
596 }
597 else
598 {
599 detail::dispose_array(&data_ptr, data_cnt[0]);
600 }
601 }
602 batch.check_for_error();
603 return res;
604 }
605
606 template <typename T = VectorXd>
607 T get_batch_val(int32_t index) //TODO: reuse code
608 {
609 return get_batch_val<T>(index, *this);
610 }
611
612 template <typename T>
613 void set_batch_val_for_each(int32_t index, typename T::iterator v, typename T::iterator v_end)
614 {
615 const int32_t cnt = v_end - v;
616 void** it = pointer;
617 void** it_end = pointer + count[0];
618 if (cnt != count[0])
619 {
620 throw std::runtime_error("Number of elements provided must match the number of objects in the batch.");
621 }
622
623 while (it != it_end)
624 {
625 if constexpr (std::is_same<string, typename T::value_type>::value)
626 {
627 detail::obj_set_val(*it, index, (*v).c_str());
628 }
629 else if constexpr (std::is_convertible<typename T::value_type*, DSSObj*>::value)
630 {
631 detail::obj_set_val(*it, index, (*v).ptr());
632 }
633 else if constexpr (std::is_enum<typename T::value_type>::value)
634 {
635 detail::obj_set_val(*it, index, int32_t(*v));
636 }
637 else if constexpr (std::is_scalar<typename T::value_type>::value || std::is_same<complex, typename T::value_type>::value)
638 {
639 detail::obj_set_val(*it, index, *v);
640 }
641 else
642 {
643 DSSObj::set_array<typename T::value_type>(*it, index, *v);
644 }
645 ++it;
646 ++v;
647 }
648 check_for_error();
649 }
650 template<typename T>
651 friend class BatchArrayProxy;
652};
653
654template<typename T>
656{
657public:
658 DSSBatch &batch;
659 int32_t idx;
660
661 BatchArrayProxy(DSSBatch &batch_, int32_t prop_idx): batch(batch_), idx(prop_idx)
662 {
663 }
664
665 template<typename VectorT>
666 VectorT to_array()
667 {
668 return DSSBatch::get_batch_val<VectorT>(idx, batch);
669 }
670
671 template<typename VectorT>
672 operator VectorT()
673 {
674 return to_array<VectorT>();
675 }
676
677 BatchArrayProxy<T>& operator+(T other)
678 {
679 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Increment, other);
680 return *this;
681 }
682
683 BatchArrayProxy<T>& operator-(T other)
684 {
685 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Increment, -other);
686 return *this;
687 }
688
689 BatchArrayProxy<T>& operator*(T other)
690 {
691 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Multiply, other);
692 return *this;
693 }
694
695 BatchArrayProxy<T>& operator/(T other)
696 {
697 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Multiply, 1 / other);
698 return *this;
699 }
700
701 BatchArrayProxy<T>& operator=(T other)
702 {
703 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Set, other);
704 return *this;
705 }
706
707 BatchArrayProxy<T>& operator+=(T other)
708 {
709 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Increment, other);
710 return *this;
711 }
712
713 BatchArrayProxy<T>& operator-=(T other)
714 {
715 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Increment, -other);
716 return *this;
717 }
718
719 BatchArrayProxy<T>& operator*=(T other)
720 {
721 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Multiply, other);
722 return *this;
723 }
724
725 BatchArrayProxy<T>& operator/=(T other)
726 {
727 batch_op(batch.pointer, batch.count[0], idx, BatchOperation_Multiply, 1 / other);
728 return *this;
729 }
730};
731
732
735
736
737// Global enumerations
738
742enum class EarthModel: int32_t
743{
744 Carson = 1,
745 FullCarson = 2,
746 Deri = 3
747};
748
749
753enum class LineType: int32_t
754{
755 oh = 1,
756 ug = 2,
757 ug_ts = 3,
758 ug_cn = 4,
759 swt_ldbrk = 5,
760 swt_fuse = 6,
761 swt_sect = 7,
762 swt_rec = 8,
763 swt_disc = 9,
764 swt_brk = 10,
765 swt_elbow = 11
766};
767
768
772enum class DimensionUnits: int32_t
773{
774 none = 0,
775 mi = 1,
776 kft = 2,
777 km = 3,
778 m = 4,
779 ft = 5,
780 inch = 6,
781 cm = 7,
782 mm = 8,
783 meter = 4,
784 miles = 1
785};
786
787
791enum class ScanType: int32_t
792{
793 none = -1,
794 Zero = 0,
795 Positive = 1
796};
797
798
802enum class SequenceType: int32_t
803{
804 Negative = -1,
805 Zero = 0,
806 Positive = 1
807};
808
809
813enum class Connection: int32_t
814{
815 wye = 0,
816 delta = 1,
817 y = 0,
818 ln = 0,
819 ll = 1
820};
821
822
826enum class CoreType: int32_t
827{
828 shell = 0,
829 one_phase = 1,
830 three_leg = 3,
831 four_leg = 4,
832 five_leg = 5,
833 core_1_phase = 9
834};
835
836
840enum class PhaseSequence: int32_t
841{
842 Lag = 0,
843 Lead = 1,
844 ANSI = 0,
845 Euro = 1
846};
847
848
852enum class LoadSolutionModel: int32_t
853{
854 PowerFlow = 1,
855 Admittance = 2
856};
857
858
862enum class RandomType: int32_t
863{
864 none = 0,
865 Gaussian = 1,
866 Uniform = 2,
867 LogNormal = 3
868};
869
870
874enum class ControlMode: int32_t
875{
876 Off = -1,
877 Static = 0,
878 Event = 1,
879 Time = 2,
880 MultiRate = 3
881};
882
883
887enum class SolutionMode: int32_t
888{
889 Snap = 0,
890 Daily = 1,
891 Yearly = 2,
892 M1 = 3,
893 LD1 = 4,
894 PeakDay = 5,
895 DutyCycle = 6,
896 Direct = 7,
897 MF = 8,
898 FaultStudy = 9,
899 M2 = 10,
900 M3 = 11,
901 LD2 = 12,
902 AutoAdd = 13,
903 Dynamic = 14,
904 Harmonic = 15,
905 Time = 16,
906 HarmonicT = 17,
907 Snapshot = 0
908};
909
910
914enum class SolutionAlgorithm: int32_t
915{
916 Normal = 0,
917 Newton = 1
918};
919
920
924enum class CircuitModel: int32_t
925{
926 Multiphase = 0,
927 Positive = 1
928};
929
930
934enum class AutoAddDeviceType: int32_t
935{
936 Generator = 1,
937 Capacitor = 2
938};
939
940
944enum class LoadShapeClass: int32_t
945{
946 none = -1,
947 Daily = 0,
948 Yearly = 1,
949 Duty = 2
950};
951
952
956enum class MonitoredPhase: int32_t
957{
958 min = -3,
959 max = -2,
960 avg = -1
961};
962
963
964class LineCode: public DSSObj
965{
966public:
967 const static char dss_cls_name[];
968 const static int32_t dss_cls_idx = 1;
970 {
971 enum {
972 nphases = 1,
973 r1 = 2,
974 x1 = 3,
975 r0 = 4,
976 x0 = 5,
977 C1 = 6,
978 C0 = 7,
979 units = 8,
980 rmatrix = 9,
981 xmatrix = 10,
982 cmatrix = 11,
983 baseFreq = 12,
984 normamps = 13,
985 emergamps = 14,
986 faultrate = 15,
987 pctperm = 16,
988 repair = 17,
989 Kron = 18,
990 Rg = 19,
991 Xg = 20,
992 rho = 21,
993 neutral = 22,
994 B1 = 23,
995 B0 = 24,
996 Seasons = 25,
997 Ratings = 26,
998 LineType = 27,
999 like = 28,
1000 };
1001 };
1002
1006 LineCode(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
1007 {
1008 }
1009
1013 LineCode(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
1014 {
1015 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
1016 check_for_error();
1017 if (ptr == nullptr)
1018 {
1019 throw std::runtime_error("Could not find the LineCode element by the given index");
1020 }
1021 }
1022
1026 LineCode(APIUtil *util, char *name): DSSObj(util, nullptr)
1027 {
1028 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
1029 check_for_error();
1030 if (ptr == nullptr)
1031 {
1032 throw std::runtime_error("Could not find the LineCode element by the given name");
1033 }
1034 }
1035
1039 const char* name()
1040 {
1041 return Obj_GetName(ptr);
1042 }
1043
1048 {
1049 Obj_BeginEdit(ptr);
1050 return *this;
1051 }
1052
1057 LineCode& end_edit(int32_t num_edits=1)
1058 {
1059 Obj_EndEdit(ptr, num_edits);
1060 return *this;
1061 }
1062
1067 int32_t nphases()
1068 {
1069 return Obj_GetInt32(ptr, Properties::nphases);
1070 }
1071
1072 LineCode& nphases(int32_t value)
1073 {
1074 Obj_SetInt32(ptr, Properties::nphases, value);
1075 return *this;
1076 }
1077
1082 double r1()
1083 {
1084 return Obj_GetFloat64(ptr, Properties::r1);
1085 }
1086
1087 LineCode& r1(double value)
1088 {
1089 Obj_SetFloat64(ptr, Properties::r1, value);
1090 return *this;
1091 }
1092
1097 double x1()
1098 {
1099 return Obj_GetFloat64(ptr, Properties::x1);
1100 }
1101
1102 LineCode& x1(double value)
1103 {
1104 Obj_SetFloat64(ptr, Properties::x1, value);
1105 return *this;
1106 }
1107
1112 double r0()
1113 {
1114 return Obj_GetFloat64(ptr, Properties::r0);
1115 }
1116
1117 LineCode& r0(double value)
1118 {
1119 Obj_SetFloat64(ptr, Properties::r0, value);
1120 return *this;
1121 }
1122
1127 double x0()
1128 {
1129 return Obj_GetFloat64(ptr, Properties::x0);
1130 }
1131
1132 LineCode& x0(double value)
1133 {
1134 Obj_SetFloat64(ptr, Properties::x0, value);
1135 return *this;
1136 }
1137
1142 double C1()
1143 {
1144 return Obj_GetFloat64(ptr, Properties::C1);
1145 }
1146
1147 LineCode& C1(double value)
1148 {
1149 Obj_SetFloat64(ptr, Properties::C1, value);
1150 return *this;
1151 }
1152
1157 double C0()
1158 {
1159 return Obj_GetFloat64(ptr, Properties::C0);
1160 }
1161
1162 LineCode& C0(double value)
1163 {
1164 Obj_SetFloat64(ptr, Properties::C0, value);
1165 return *this;
1166 }
1167
1172 DimensionUnits units()
1173 {
1174 return DimensionUnits(Obj_GetInt32(ptr, Properties::units));
1175 }
1176
1177 LineCode& units(int32_t value)
1178 {
1179 Obj_SetInt32(ptr, Properties::units, value);
1180 return *this;
1181 }
1182
1183 LineCode& units(DimensionUnits value)
1184 {
1185 Obj_SetInt32(ptr, Properties::units, int32_t(value));
1186 return *this;
1187 }
1188
1189 LineCode& units(const string &value)
1190 {
1191 set_string(Properties::units, value);
1192 return *this;
1193 }
1194
1195 LineCode& units(const char *value)
1196 {
1197 set_string(Properties::units, value);
1198 return *this;
1199 }
1200
1205 string units_str()
1206 {
1207 return get_prop_string(Properties::units);
1208 }
1209
1214 LineCode& units_str(const string &value)
1215 {
1216 set_string(Properties::units, value);
1217 return *this;
1218 }
1219
1224 VectorXd rmatrix()
1225 {
1226 return get_array<VectorXd>(Properties::rmatrix);
1227 }
1228
1229 LineCode& rmatrix(VectorXd &value)
1230 {
1231 set_array<VectorXd>(Properties::rmatrix, value);
1232 return *this;
1233 }
1234
1239 VectorXd xmatrix()
1240 {
1241 return get_array<VectorXd>(Properties::xmatrix);
1242 }
1243
1244 LineCode& xmatrix(VectorXd &value)
1245 {
1246 set_array<VectorXd>(Properties::xmatrix, value);
1247 return *this;
1248 }
1249
1254 VectorXd cmatrix()
1255 {
1256 return get_array<VectorXd>(Properties::cmatrix);
1257 }
1258
1259 LineCode& cmatrix(VectorXd &value)
1260 {
1261 set_array<VectorXd>(Properties::cmatrix, value);
1262 return *this;
1263 }
1264
1269 double baseFreq()
1270 {
1271 return Obj_GetFloat64(ptr, Properties::baseFreq);
1272 }
1273
1274 LineCode& baseFreq(double value)
1275 {
1276 Obj_SetFloat64(ptr, Properties::baseFreq, value);
1277 return *this;
1278 }
1279
1284 double normamps()
1285 {
1286 return Obj_GetFloat64(ptr, Properties::normamps);
1287 }
1288
1289 LineCode& normamps(double value)
1290 {
1291 Obj_SetFloat64(ptr, Properties::normamps, value);
1292 return *this;
1293 }
1294
1299 double emergamps()
1300 {
1301 return Obj_GetFloat64(ptr, Properties::emergamps);
1302 }
1303
1304 LineCode& emergamps(double value)
1305 {
1306 Obj_SetFloat64(ptr, Properties::emergamps, value);
1307 return *this;
1308 }
1309
1314 double faultrate()
1315 {
1316 return Obj_GetFloat64(ptr, Properties::faultrate);
1317 }
1318
1319 LineCode& faultrate(double value)
1320 {
1321 Obj_SetFloat64(ptr, Properties::faultrate, value);
1322 return *this;
1323 }
1324
1329 double pctperm()
1330 {
1331 return Obj_GetFloat64(ptr, Properties::pctperm);
1332 }
1333
1334 LineCode& pctperm(double value)
1335 {
1336 Obj_SetFloat64(ptr, Properties::pctperm, value);
1337 return *this;
1338 }
1339
1344 double repair()
1345 {
1346 return Obj_GetFloat64(ptr, Properties::repair);
1347 }
1348
1349 LineCode& repair(double value)
1350 {
1351 Obj_SetFloat64(ptr, Properties::repair, value);
1352 return *this;
1353 }
1354
1359 LineCode& Kron(bool value)
1360 {
1361 Obj_SetInt32(ptr, Properties::Kron, value);
1362 return *this;
1363 }
1364
1369 double Rg()
1370 {
1371 return Obj_GetFloat64(ptr, Properties::Rg);
1372 }
1373
1374 LineCode& Rg(double value)
1375 {
1376 Obj_SetFloat64(ptr, Properties::Rg, value);
1377 return *this;
1378 }
1379
1384 double Xg()
1385 {
1386 return Obj_GetFloat64(ptr, Properties::Xg);
1387 }
1388
1389 LineCode& Xg(double value)
1390 {
1391 Obj_SetFloat64(ptr, Properties::Xg, value);
1392 return *this;
1393 }
1394
1399 double rho()
1400 {
1401 return Obj_GetFloat64(ptr, Properties::rho);
1402 }
1403
1404 LineCode& rho(double value)
1405 {
1406 Obj_SetFloat64(ptr, Properties::rho, value);
1407 return *this;
1408 }
1409
1414 int32_t neutral()
1415 {
1416 return Obj_GetInt32(ptr, Properties::neutral);
1417 }
1418
1419 LineCode& neutral(int32_t value)
1420 {
1421 Obj_SetInt32(ptr, Properties::neutral, value);
1422 return *this;
1423 }
1424
1429 double B1()
1430 {
1431 return Obj_GetFloat64(ptr, Properties::B1);
1432 }
1433
1434 LineCode& B1(double value)
1435 {
1436 Obj_SetFloat64(ptr, Properties::B1, value);
1437 return *this;
1438 }
1439
1444 double B0()
1445 {
1446 return Obj_GetFloat64(ptr, Properties::B0);
1447 }
1448
1449 LineCode& B0(double value)
1450 {
1451 Obj_SetFloat64(ptr, Properties::B0, value);
1452 return *this;
1453 }
1454
1459 int32_t Seasons()
1460 {
1461 return Obj_GetInt32(ptr, Properties::Seasons);
1462 }
1463
1464 LineCode& Seasons(int32_t value)
1465 {
1466 Obj_SetInt32(ptr, Properties::Seasons, value);
1467 return *this;
1468 }
1469
1475 VectorXd Ratings()
1476 {
1477 return get_array<VectorXd>(Properties::Ratings);
1478 }
1479
1480 LineCode& Ratings(VectorXd &value)
1481 {
1482 set_array<VectorXd>(Properties::Ratings, value);
1483 return *this;
1484 }
1485
1493 LineType linetype()
1494 {
1495 return LineType(Obj_GetInt32(ptr, Properties::LineType));
1496 }
1497
1498 LineCode& linetype(int32_t value)
1499 {
1500 Obj_SetInt32(ptr, Properties::LineType, value);
1501 return *this;
1502 }
1503
1504 LineCode& linetype(LineType value)
1505 {
1506 Obj_SetInt32(ptr, Properties::LineType, int32_t(value));
1507 return *this;
1508 }
1509
1510 LineCode& linetype(const string &value)
1511 {
1512 set_string(Properties::LineType, value);
1513 return *this;
1514 }
1515
1516 LineCode& linetype(const char *value)
1517 {
1518 set_string(Properties::LineType, value);
1519 return *this;
1520 }
1521
1530 {
1531 return get_prop_string(Properties::LineType);
1532 }
1533
1541 LineCode& linetype_str(const string &value)
1542 {
1543 set_string(Properties::LineType, value);
1544 return *this;
1545 }
1546
1553 LineCode& like(const string &value)
1554 {
1555 set_string(Properties::like, value);
1556 return *this;
1557 }
1558
1565 LineCode& like(const char *value)
1566 {
1567 set_string(Properties::like, value);
1568 return *this;
1569 }
1570};
1571
1572
1573class LoadShape: public DSSObj
1574{
1575public:
1576 const static char dss_cls_name[];
1577 const static int32_t dss_cls_idx = 2;
1579 {
1580 enum {
1581 npts = 1,
1582 interval = 2,
1583 mult = 3,
1584 hour = 4,
1585 mean = 5,
1586 stddev = 6,
1587 csvfile = 7,
1588 sngfile = 8,
1589 dblfile = 9,
1590 action = 10,
1591 qmult = 11,
1592 UseActual = 12,
1593 Pmax = 13,
1594 Qmax = 14,
1595 sinterval = 15,
1596 minterval = 16,
1597 Pbase = 17,
1598 Qbase = 18,
1599 Pmult = 19,
1600 PQCSVFile = 20,
1601 MemoryMapping = 21,
1602 like = 22,
1603 };
1604 };
1605
1606 // Class-specific enumerations
1607
1611 enum class LoadShapeAction: int32_t
1612 {
1613 Normalize = 0,
1614 DblSave = 1,
1615 SngSave = 2
1616 };
1617
1618
1619
1623 LoadShape(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
1624 {
1625 }
1626
1630 LoadShape(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
1631 {
1632 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
1633 check_for_error();
1634 if (ptr == nullptr)
1635 {
1636 throw std::runtime_error("Could not find the LoadShape element by the given index");
1637 }
1638 }
1639
1643 LoadShape(APIUtil *util, char *name): DSSObj(util, nullptr)
1644 {
1645 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
1646 check_for_error();
1647 if (ptr == nullptr)
1648 {
1649 throw std::runtime_error("Could not find the LoadShape element by the given name");
1650 }
1651 }
1652
1656 const char* name()
1657 {
1658 return Obj_GetName(ptr);
1659 }
1660
1665 {
1666 Obj_BeginEdit(ptr);
1667 return *this;
1668 }
1669
1674 LoadShape& end_edit(int32_t num_edits=1)
1675 {
1676 Obj_EndEdit(ptr, num_edits);
1677 return *this;
1678 }
1679
1684 int32_t npts()
1685 {
1686 return Obj_GetInt32(ptr, Properties::npts);
1687 }
1688
1689 LoadShape& npts(int32_t value)
1690 {
1691 Obj_SetInt32(ptr, Properties::npts, value);
1692 return *this;
1693 }
1694
1701 double interval()
1702 {
1703 return Obj_GetFloat64(ptr, Properties::interval);
1704 }
1705
1706 LoadShape& interval(double value)
1707 {
1708 Obj_SetFloat64(ptr, Properties::interval, value);
1709 return *this;
1710 }
1711
1727 VectorXd mult()
1728 {
1729 return get_array<VectorXd>(Properties::mult);
1730 }
1731
1732 LoadShape& mult(VectorXd &value)
1733 {
1734 set_array<VectorXd>(Properties::mult, value);
1735 return *this;
1736 }
1737
1745 VectorXd hour()
1746 {
1747 return get_array<VectorXd>(Properties::hour);
1748 }
1749
1750 LoadShape& hour(VectorXd &value)
1751 {
1752 set_array<VectorXd>(Properties::hour, value);
1753 return *this;
1754 }
1755
1760 double mean()
1761 {
1762 return Obj_GetFloat64(ptr, Properties::mean);
1763 }
1764
1765 LoadShape& mean(double value)
1766 {
1767 Obj_SetFloat64(ptr, Properties::mean, value);
1768 return *this;
1769 }
1770
1777 double stddev()
1778 {
1779 return Obj_GetFloat64(ptr, Properties::stddev);
1780 }
1781
1782 LoadShape& stddev(double value)
1783 {
1784 Obj_SetFloat64(ptr, Properties::stddev, value);
1785 return *this;
1786 }
1787
1792 string csvfile()
1793 {
1794 return get_prop_string(Properties::csvfile);
1795 }
1796
1797 LoadShape& csvfile(const string &value)
1798 {
1799 set_string(Properties::csvfile, value);
1800 return *this;
1801 }
1802
1803 LoadShape& csvfile(const char* value)
1804 {
1805 set_string(Properties::csvfile, value);
1806 return *this;
1807 }
1808
1813 string sngfile()
1814 {
1815 return get_prop_string(Properties::sngfile);
1816 }
1817
1818 LoadShape& sngfile(const string &value)
1819 {
1820 set_string(Properties::sngfile, value);
1821 return *this;
1822 }
1823
1824 LoadShape& sngfile(const char* value)
1825 {
1826 set_string(Properties::sngfile, value);
1827 return *this;
1828 }
1829
1834 string dblfile()
1835 {
1836 return get_prop_string(Properties::dblfile);
1837 }
1838
1839 LoadShape& dblfile(const string &value)
1840 {
1841 set_string(Properties::dblfile, value);
1842 return *this;
1843 }
1844
1845 LoadShape& dblfile(const char* value)
1846 {
1847 set_string(Properties::dblfile, value);
1848 return *this;
1849 }
1850
1857 LoadShape& action(int32_t value)
1858 {
1859 Obj_SetInt32(ptr, Properties::action, value);
1860 return *this;
1861 }
1862
1870 {
1871 Obj_SetInt32(ptr, Properties::action, int32_t(value));
1872 return *this;
1873 }
1874
1881 LoadShape& action(const string &value)
1882 {
1883 set_string(Properties::action, value);
1884 return *this;
1885 }
1886
1893 LoadShape& action(const char *value)
1894 {
1895 set_string(Properties::action, value);
1896 return *this;
1897 }
1898
1907 VectorXd qmult()
1908 {
1909 return get_array<VectorXd>(Properties::qmult);
1910 }
1911
1912 LoadShape& qmult(VectorXd &value)
1913 {
1914 set_array<VectorXd>(Properties::qmult, value);
1915 return *this;
1916 }
1917
1923 {
1924 return Obj_GetInt32(ptr, Properties::UseActual) != 0;
1925 }
1926
1927 LoadShape& UseActual(bool value)
1928 {
1929 Obj_SetInt32(ptr, Properties::UseActual, value);
1930 return *this;
1931 }
1932
1937 double Pmax()
1938 {
1939 return Obj_GetFloat64(ptr, Properties::Pmax);
1940 }
1941
1942 LoadShape& Pmax(double value)
1943 {
1944 Obj_SetFloat64(ptr, Properties::Pmax, value);
1945 return *this;
1946 }
1947
1952 double Qmax()
1953 {
1954 return Obj_GetFloat64(ptr, Properties::Qmax);
1955 }
1956
1957 LoadShape& Qmax(double value)
1958 {
1959 Obj_SetFloat64(ptr, Properties::Qmax, value);
1960 return *this;
1961 }
1962
1967 double sinterval()
1968 {
1969 return Obj_GetFloat64(ptr, Properties::sinterval);
1970 }
1971
1972 LoadShape& sinterval(double value)
1973 {
1974 Obj_SetFloat64(ptr, Properties::sinterval, value);
1975 return *this;
1976 }
1977
1982 double minterval()
1983 {
1984 return Obj_GetFloat64(ptr, Properties::minterval);
1985 }
1986
1987 LoadShape& minterval(double value)
1988 {
1989 Obj_SetFloat64(ptr, Properties::minterval, value);
1990 return *this;
1991 }
1992
1997 double Pbase()
1998 {
1999 return Obj_GetFloat64(ptr, Properties::Pbase);
2000 }
2001
2002 LoadShape& Pbase(double value)
2003 {
2004 Obj_SetFloat64(ptr, Properties::Pbase, value);
2005 return *this;
2006 }
2007
2012 double Qbase()
2013 {
2014 return Obj_GetFloat64(ptr, Properties::Qbase);
2015 }
2016
2017 LoadShape& Qbase(double value)
2018 {
2019 Obj_SetFloat64(ptr, Properties::Qbase, value);
2020 return *this;
2021 }
2022
2027 VectorXd Pmult()
2028 {
2029 return get_array<VectorXd>(Properties::Pmult);
2030 }
2031
2032 LoadShape& Pmult(VectorXd &value)
2033 {
2034 set_array<VectorXd>(Properties::Pmult, value);
2035 return *this;
2036 }
2037
2043 string PQCSVFile()
2044 {
2045 return get_prop_string(Properties::PQCSVFile);
2046 }
2047
2048 LoadShape& PQCSVFile(const string &value)
2049 {
2050 set_string(Properties::PQCSVFile, value);
2051 return *this;
2052 }
2053
2054 LoadShape& PQCSVFile(const char* value)
2055 {
2056 set_string(Properties::PQCSVFile, value);
2057 return *this;
2058 }
2059
2066 {
2067 return Obj_GetInt32(ptr, Properties::MemoryMapping) != 0;
2068 }
2069
2070 LoadShape& MemoryMapping(bool value)
2071 {
2072 Obj_SetInt32(ptr, Properties::MemoryMapping, value);
2073 return *this;
2074 }
2075
2082 LoadShape& like(const string &value)
2083 {
2084 set_string(Properties::like, value);
2085 return *this;
2086 }
2087
2094 LoadShape& like(const char *value)
2095 {
2096 set_string(Properties::like, value);
2097 return *this;
2098 }
2099};
2100
2101
2102class TShape: public DSSObj
2103{
2104public:
2105 const static char dss_cls_name[];
2106 const static int32_t dss_cls_idx = 3;
2108 {
2109 enum {
2110 npts = 1,
2111 interval = 2,
2112 temp = 3,
2113 hour = 4,
2114 mean = 5,
2115 stddev = 6,
2116 csvfile = 7,
2117 sngfile = 8,
2118 dblfile = 9,
2119 sinterval = 10,
2120 minterval = 11,
2121 action = 12,
2122 like = 13,
2123 };
2124 };
2125
2126 // Class-specific enumerations
2127
2131 enum class TShapeAction: int32_t
2132 {
2133 DblSave = 0,
2134 SngSave = 1
2135 };
2136
2137
2138
2142 TShape(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
2143 {
2144 }
2145
2149 TShape(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
2150 {
2151 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
2152 check_for_error();
2153 if (ptr == nullptr)
2154 {
2155 throw std::runtime_error("Could not find the TShape element by the given index");
2156 }
2157 }
2158
2162 TShape(APIUtil *util, char *name): DSSObj(util, nullptr)
2163 {
2164 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
2165 check_for_error();
2166 if (ptr == nullptr)
2167 {
2168 throw std::runtime_error("Could not find the TShape element by the given name");
2169 }
2170 }
2171
2175 const char* name()
2176 {
2177 return Obj_GetName(ptr);
2178 }
2179
2184 {
2185 Obj_BeginEdit(ptr);
2186 return *this;
2187 }
2188
2193 TShape& end_edit(int32_t num_edits=1)
2194 {
2195 Obj_EndEdit(ptr, num_edits);
2196 return *this;
2197 }
2198
2203 int32_t npts()
2204 {
2205 return Obj_GetInt32(ptr, Properties::npts);
2206 }
2207
2208 TShape& npts(int32_t value)
2209 {
2210 Obj_SetInt32(ptr, Properties::npts, value);
2211 return *this;
2212 }
2213
2220 double interval()
2221 {
2222 return Obj_GetFloat64(ptr, Properties::interval);
2223 }
2224
2225 TShape& interval(double value)
2226 {
2227 Obj_SetFloat64(ptr, Properties::interval, value);
2228 return *this;
2229 }
2230
2240 VectorXd temp()
2241 {
2242 return get_array<VectorXd>(Properties::temp);
2243 }
2244
2245 TShape& temp(VectorXd &value)
2246 {
2247 set_array<VectorXd>(Properties::temp, value);
2248 return *this;
2249 }
2250
2258 VectorXd hour()
2259 {
2260 return get_array<VectorXd>(Properties::hour);
2261 }
2262
2263 TShape& hour(VectorXd &value)
2264 {
2265 set_array<VectorXd>(Properties::hour, value);
2266 return *this;
2267 }
2268
2273 double mean()
2274 {
2275 return Obj_GetFloat64(ptr, Properties::mean);
2276 }
2277
2278 TShape& mean(double value)
2279 {
2280 Obj_SetFloat64(ptr, Properties::mean, value);
2281 return *this;
2282 }
2283
2290 double stddev()
2291 {
2292 return Obj_GetFloat64(ptr, Properties::stddev);
2293 }
2294
2295 TShape& stddev(double value)
2296 {
2297 Obj_SetFloat64(ptr, Properties::stddev, value);
2298 return *this;
2299 }
2300
2305 string csvfile()
2306 {
2307 return get_prop_string(Properties::csvfile);
2308 }
2309
2310 TShape& csvfile(const string &value)
2311 {
2312 set_string(Properties::csvfile, value);
2313 return *this;
2314 }
2315
2316 TShape& csvfile(const char* value)
2317 {
2318 set_string(Properties::csvfile, value);
2319 return *this;
2320 }
2321
2326 string sngfile()
2327 {
2328 return get_prop_string(Properties::sngfile);
2329 }
2330
2331 TShape& sngfile(const string &value)
2332 {
2333 set_string(Properties::sngfile, value);
2334 return *this;
2335 }
2336
2337 TShape& sngfile(const char* value)
2338 {
2339 set_string(Properties::sngfile, value);
2340 return *this;
2341 }
2342
2347 string dblfile()
2348 {
2349 return get_prop_string(Properties::dblfile);
2350 }
2351
2352 TShape& dblfile(const string &value)
2353 {
2354 set_string(Properties::dblfile, value);
2355 return *this;
2356 }
2357
2358 TShape& dblfile(const char* value)
2359 {
2360 set_string(Properties::dblfile, value);
2361 return *this;
2362 }
2363
2368 double sinterval()
2369 {
2370 return Obj_GetFloat64(ptr, Properties::sinterval);
2371 }
2372
2373 TShape& sinterval(double value)
2374 {
2375 Obj_SetFloat64(ptr, Properties::sinterval, value);
2376 return *this;
2377 }
2378
2383 double minterval()
2384 {
2385 return Obj_GetFloat64(ptr, Properties::minterval);
2386 }
2387
2388 TShape& minterval(double value)
2389 {
2390 Obj_SetFloat64(ptr, Properties::minterval, value);
2391 return *this;
2392 }
2393
2398 TShape& action(int32_t value)
2399 {
2400 Obj_SetInt32(ptr, Properties::action, value);
2401 return *this;
2402 }
2403
2409 {
2410 Obj_SetInt32(ptr, Properties::action, int32_t(value));
2411 return *this;
2412 }
2413
2418 TShape& action(const string &value)
2419 {
2420 set_string(Properties::action, value);
2421 return *this;
2422 }
2423
2428 TShape& action(const char *value)
2429 {
2430 set_string(Properties::action, value);
2431 return *this;
2432 }
2433
2440 TShape& like(const string &value)
2441 {
2442 set_string(Properties::like, value);
2443 return *this;
2444 }
2445
2452 TShape& like(const char *value)
2453 {
2454 set_string(Properties::like, value);
2455 return *this;
2456 }
2457};
2458
2459
2460class PriceShape: public DSSObj
2461{
2462public:
2463 const static char dss_cls_name[];
2464 const static int32_t dss_cls_idx = 4;
2466 {
2467 enum {
2468 npts = 1,
2469 interval = 2,
2470 price = 3,
2471 hour = 4,
2472 mean = 5,
2473 stddev = 6,
2474 csvfile = 7,
2475 sngfile = 8,
2476 dblfile = 9,
2477 sinterval = 10,
2478 minterval = 11,
2479 action = 12,
2480 like = 13,
2481 };
2482 };
2483
2484 // Class-specific enumerations
2485
2489 enum class PriceShapeAction: int32_t
2490 {
2491 DblSave = 0,
2492 SngSave = 1
2493 };
2494
2495
2496
2500 PriceShape(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
2501 {
2502 }
2503
2507 PriceShape(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
2508 {
2509 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
2510 check_for_error();
2511 if (ptr == nullptr)
2512 {
2513 throw std::runtime_error("Could not find the PriceShape element by the given index");
2514 }
2515 }
2516
2520 PriceShape(APIUtil *util, char *name): DSSObj(util, nullptr)
2521 {
2522 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
2523 check_for_error();
2524 if (ptr == nullptr)
2525 {
2526 throw std::runtime_error("Could not find the PriceShape element by the given name");
2527 }
2528 }
2529
2533 const char* name()
2534 {
2535 return Obj_GetName(ptr);
2536 }
2537
2542 {
2543 Obj_BeginEdit(ptr);
2544 return *this;
2545 }
2546
2551 PriceShape& end_edit(int32_t num_edits=1)
2552 {
2553 Obj_EndEdit(ptr, num_edits);
2554 return *this;
2555 }
2556
2561 int32_t npts()
2562 {
2563 return Obj_GetInt32(ptr, Properties::npts);
2564 }
2565
2566 PriceShape& npts(int32_t value)
2567 {
2568 Obj_SetInt32(ptr, Properties::npts, value);
2569 return *this;
2570 }
2571
2578 double interval()
2579 {
2580 return Obj_GetFloat64(ptr, Properties::interval);
2581 }
2582
2583 PriceShape& interval(double value)
2584 {
2585 Obj_SetFloat64(ptr, Properties::interval, value);
2586 return *this;
2587 }
2588
2598 VectorXd price()
2599 {
2600 return get_array<VectorXd>(Properties::price);
2601 }
2602
2603 PriceShape& price(VectorXd &value)
2604 {
2605 set_array<VectorXd>(Properties::price, value);
2606 return *this;
2607 }
2608
2616 VectorXd hour()
2617 {
2618 return get_array<VectorXd>(Properties::hour);
2619 }
2620
2621 PriceShape& hour(VectorXd &value)
2622 {
2623 set_array<VectorXd>(Properties::hour, value);
2624 return *this;
2625 }
2626
2631 double mean()
2632 {
2633 return Obj_GetFloat64(ptr, Properties::mean);
2634 }
2635
2636 PriceShape& mean(double value)
2637 {
2638 Obj_SetFloat64(ptr, Properties::mean, value);
2639 return *this;
2640 }
2641
2648 double stddev()
2649 {
2650 return Obj_GetFloat64(ptr, Properties::stddev);
2651 }
2652
2653 PriceShape& stddev(double value)
2654 {
2655 Obj_SetFloat64(ptr, Properties::stddev, value);
2656 return *this;
2657 }
2658
2663 string csvfile()
2664 {
2665 return get_prop_string(Properties::csvfile);
2666 }
2667
2668 PriceShape& csvfile(const string &value)
2669 {
2670 set_string(Properties::csvfile, value);
2671 return *this;
2672 }
2673
2674 PriceShape& csvfile(const char* value)
2675 {
2676 set_string(Properties::csvfile, value);
2677 return *this;
2678 }
2679
2684 string sngfile()
2685 {
2686 return get_prop_string(Properties::sngfile);
2687 }
2688
2689 PriceShape& sngfile(const string &value)
2690 {
2691 set_string(Properties::sngfile, value);
2692 return *this;
2693 }
2694
2695 PriceShape& sngfile(const char* value)
2696 {
2697 set_string(Properties::sngfile, value);
2698 return *this;
2699 }
2700
2705 string dblfile()
2706 {
2707 return get_prop_string(Properties::dblfile);
2708 }
2709
2710 PriceShape& dblfile(const string &value)
2711 {
2712 set_string(Properties::dblfile, value);
2713 return *this;
2714 }
2715
2716 PriceShape& dblfile(const char* value)
2717 {
2718 set_string(Properties::dblfile, value);
2719 return *this;
2720 }
2721
2726 double sinterval()
2727 {
2728 return Obj_GetFloat64(ptr, Properties::sinterval);
2729 }
2730
2731 PriceShape& sinterval(double value)
2732 {
2733 Obj_SetFloat64(ptr, Properties::sinterval, value);
2734 return *this;
2735 }
2736
2741 double minterval()
2742 {
2743 return Obj_GetFloat64(ptr, Properties::minterval);
2744 }
2745
2746 PriceShape& minterval(double value)
2747 {
2748 Obj_SetFloat64(ptr, Properties::minterval, value);
2749 return *this;
2750 }
2751
2756 PriceShape& action(int32_t value)
2757 {
2758 Obj_SetInt32(ptr, Properties::action, value);
2759 return *this;
2760 }
2761
2767 {
2768 Obj_SetInt32(ptr, Properties::action, int32_t(value));
2769 return *this;
2770 }
2771
2776 PriceShape& action(const string &value)
2777 {
2778 set_string(Properties::action, value);
2779 return *this;
2780 }
2781
2786 PriceShape& action(const char *value)
2787 {
2788 set_string(Properties::action, value);
2789 return *this;
2790 }
2791
2798 PriceShape& like(const string &value)
2799 {
2800 set_string(Properties::like, value);
2801 return *this;
2802 }
2803
2810 PriceShape& like(const char *value)
2811 {
2812 set_string(Properties::like, value);
2813 return *this;
2814 }
2815};
2816
2817
2818class XYcurve: public DSSObj
2819{
2820public:
2821 const static char dss_cls_name[];
2822 const static int32_t dss_cls_idx = 5;
2824 {
2825 enum {
2826 npts = 1,
2827 Points = 2,
2828 Yarray = 3,
2829 Xarray = 4,
2830 csvfile = 5,
2831 sngfile = 6,
2832 dblfile = 7,
2833 x = 8,
2834 y = 9,
2835 Xshift = 10,
2836 Yshift = 11,
2837 Xscale = 12,
2838 Yscale = 13,
2839 like = 14,
2840 };
2841 };
2842
2846 XYcurve(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
2847 {
2848 }
2849
2853 XYcurve(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
2854 {
2855 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
2856 check_for_error();
2857 if (ptr == nullptr)
2858 {
2859 throw std::runtime_error("Could not find the XYcurve element by the given index");
2860 }
2861 }
2862
2866 XYcurve(APIUtil *util, char *name): DSSObj(util, nullptr)
2867 {
2868 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
2869 check_for_error();
2870 if (ptr == nullptr)
2871 {
2872 throw std::runtime_error("Could not find the XYcurve element by the given name");
2873 }
2874 }
2875
2879 const char* name()
2880 {
2881 return Obj_GetName(ptr);
2882 }
2883
2888 {
2889 Obj_BeginEdit(ptr);
2890 return *this;
2891 }
2892
2897 XYcurve& end_edit(int32_t num_edits=1)
2898 {
2899 Obj_EndEdit(ptr, num_edits);
2900 return *this;
2901 }
2902
2907 int32_t npts()
2908 {
2909 return Obj_GetInt32(ptr, Properties::npts);
2910 }
2911
2912 XYcurve& npts(int32_t value)
2913 {
2914 Obj_SetInt32(ptr, Properties::npts, value);
2915 return *this;
2916 }
2917
2926 VectorXd Points()
2927 {
2928 return get_array<VectorXd>(Properties::Points);
2929 }
2930
2931 XYcurve& Points(VectorXd &value)
2932 {
2933 set_array<VectorXd>(Properties::Points, value);
2934 return *this;
2935 }
2936
2946 VectorXd Yarray()
2947 {
2948 return get_array<VectorXd>(Properties::Yarray);
2949 }
2950
2951 XYcurve& Yarray(VectorXd &value)
2952 {
2953 set_array<VectorXd>(Properties::Yarray, value);
2954 return *this;
2955 }
2956
2966 VectorXd Xarray()
2967 {
2968 return get_array<VectorXd>(Properties::Xarray);
2969 }
2970
2971 XYcurve& Xarray(VectorXd &value)
2972 {
2973 set_array<VectorXd>(Properties::Xarray, value);
2974 return *this;
2975 }
2976
2981 string csvfile()
2982 {
2983 return get_prop_string(Properties::csvfile);
2984 }
2985
2986 XYcurve& csvfile(const string &value)
2987 {
2988 set_string(Properties::csvfile, value);
2989 return *this;
2990 }
2991
2992 XYcurve& csvfile(const char* value)
2993 {
2994 set_string(Properties::csvfile, value);
2995 return *this;
2996 }
2997
3002 string sngfile()
3003 {
3004 return get_prop_string(Properties::sngfile);
3005 }
3006
3007 XYcurve& sngfile(const string &value)
3008 {
3009 set_string(Properties::sngfile, value);
3010 return *this;
3011 }
3012
3013 XYcurve& sngfile(const char* value)
3014 {
3015 set_string(Properties::sngfile, value);
3016 return *this;
3017 }
3018
3023 string dblfile()
3024 {
3025 return get_prop_string(Properties::dblfile);
3026 }
3027
3028 XYcurve& dblfile(const string &value)
3029 {
3030 set_string(Properties::dblfile, value);
3031 return *this;
3032 }
3033
3034 XYcurve& dblfile(const char* value)
3035 {
3036 set_string(Properties::dblfile, value);
3037 return *this;
3038 }
3039
3044 double x()
3045 {
3046 return Obj_GetFloat64(ptr, Properties::x);
3047 }
3048
3049 XYcurve& x(double value)
3050 {
3051 Obj_SetFloat64(ptr, Properties::x, value);
3052 return *this;
3053 }
3054
3059 double y()
3060 {
3061 return Obj_GetFloat64(ptr, Properties::y);
3062 }
3063
3064 XYcurve& y(double value)
3065 {
3066 Obj_SetFloat64(ptr, Properties::y, value);
3067 return *this;
3068 }
3069
3074 double Xshift()
3075 {
3076 return Obj_GetFloat64(ptr, Properties::Xshift);
3077 }
3078
3079 XYcurve& Xshift(double value)
3080 {
3081 Obj_SetFloat64(ptr, Properties::Xshift, value);
3082 return *this;
3083 }
3084
3089 double Yshift()
3090 {
3091 return Obj_GetFloat64(ptr, Properties::Yshift);
3092 }
3093
3094 XYcurve& Yshift(double value)
3095 {
3096 Obj_SetFloat64(ptr, Properties::Yshift, value);
3097 return *this;
3098 }
3099
3104 double Xscale()
3105 {
3106 return Obj_GetFloat64(ptr, Properties::Xscale);
3107 }
3108
3109 XYcurve& Xscale(double value)
3110 {
3111 Obj_SetFloat64(ptr, Properties::Xscale, value);
3112 return *this;
3113 }
3114
3119 double Yscale()
3120 {
3121 return Obj_GetFloat64(ptr, Properties::Yscale);
3122 }
3123
3124 XYcurve& Yscale(double value)
3125 {
3126 Obj_SetFloat64(ptr, Properties::Yscale, value);
3127 return *this;
3128 }
3129
3136 XYcurve& like(const string &value)
3137 {
3138 set_string(Properties::like, value);
3139 return *this;
3140 }
3141
3148 XYcurve& like(const char *value)
3149 {
3150 set_string(Properties::like, value);
3151 return *this;
3152 }
3153};
3154
3155
3156class GrowthShape: public DSSObj
3157{
3158public:
3159 const static char dss_cls_name[];
3160 const static int32_t dss_cls_idx = 6;
3162 {
3163 enum {
3164 npts = 1,
3165 year = 2,
3166 mult = 3,
3167 csvfile = 4,
3168 sngfile = 5,
3169 dblfile = 6,
3170 like = 7,
3171 };
3172 };
3173
3177 GrowthShape(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
3178 {
3179 }
3180
3184 GrowthShape(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
3185 {
3186 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
3187 check_for_error();
3188 if (ptr == nullptr)
3189 {
3190 throw std::runtime_error("Could not find the GrowthShape element by the given index");
3191 }
3192 }
3193
3197 GrowthShape(APIUtil *util, char *name): DSSObj(util, nullptr)
3198 {
3199 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
3200 check_for_error();
3201 if (ptr == nullptr)
3202 {
3203 throw std::runtime_error("Could not find the GrowthShape element by the given name");
3204 }
3205 }
3206
3210 const char* name()
3211 {
3212 return Obj_GetName(ptr);
3213 }
3214
3219 {
3220 Obj_BeginEdit(ptr);
3221 return *this;
3222 }
3223
3228 GrowthShape& end_edit(int32_t num_edits=1)
3229 {
3230 Obj_EndEdit(ptr, num_edits);
3231 return *this;
3232 }
3233
3238 int32_t npts()
3239 {
3240 return Obj_GetInt32(ptr, Properties::npts);
3241 }
3242
3243 GrowthShape& npts(int32_t value)
3244 {
3245 Obj_SetInt32(ptr, Properties::npts, value);
3246 return *this;
3247 }
3248
3253 VectorXd year()
3254 {
3255 return get_array<VectorXd>(Properties::year);
3256 }
3257
3258 GrowthShape& year(VectorXd &value)
3259 {
3260 set_array<VectorXd>(Properties::year, value);
3261 return *this;
3262 }
3263
3275 VectorXd mult()
3276 {
3277 return get_array<VectorXd>(Properties::mult);
3278 }
3279
3280 GrowthShape& mult(VectorXd &value)
3281 {
3282 set_array<VectorXd>(Properties::mult, value);
3283 return *this;
3284 }
3285
3290 string csvfile()
3291 {
3292 return get_prop_string(Properties::csvfile);
3293 }
3294
3295 GrowthShape& csvfile(const string &value)
3296 {
3297 set_string(Properties::csvfile, value);
3298 return *this;
3299 }
3300
3301 GrowthShape& csvfile(const char* value)
3302 {
3303 set_string(Properties::csvfile, value);
3304 return *this;
3305 }
3306
3311 string sngfile()
3312 {
3313 return get_prop_string(Properties::sngfile);
3314 }
3315
3316 GrowthShape& sngfile(const string &value)
3317 {
3318 set_string(Properties::sngfile, value);
3319 return *this;
3320 }
3321
3322 GrowthShape& sngfile(const char* value)
3323 {
3324 set_string(Properties::sngfile, value);
3325 return *this;
3326 }
3327
3332 string dblfile()
3333 {
3334 return get_prop_string(Properties::dblfile);
3335 }
3336
3337 GrowthShape& dblfile(const string &value)
3338 {
3339 set_string(Properties::dblfile, value);
3340 return *this;
3341 }
3342
3343 GrowthShape& dblfile(const char* value)
3344 {
3345 set_string(Properties::dblfile, value);
3346 return *this;
3347 }
3348
3355 GrowthShape& like(const string &value)
3356 {
3357 set_string(Properties::like, value);
3358 return *this;
3359 }
3360
3367 GrowthShape& like(const char *value)
3368 {
3369 set_string(Properties::like, value);
3370 return *this;
3371 }
3372};
3373
3374
3375class TCC_Curve: public DSSObj
3376{
3377public:
3378 const static char dss_cls_name[];
3379 const static int32_t dss_cls_idx = 7;
3381 {
3382 enum {
3383 npts = 1,
3384 C_array = 2,
3385 T_array = 3,
3386 like = 4,
3387 };
3388 };
3389
3393 TCC_Curve(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
3394 {
3395 }
3396
3400 TCC_Curve(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
3401 {
3402 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
3403 check_for_error();
3404 if (ptr == nullptr)
3405 {
3406 throw std::runtime_error("Could not find the TCC_Curve element by the given index");
3407 }
3408 }
3409
3413 TCC_Curve(APIUtil *util, char *name): DSSObj(util, nullptr)
3414 {
3415 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
3416 check_for_error();
3417 if (ptr == nullptr)
3418 {
3419 throw std::runtime_error("Could not find the TCC_Curve element by the given name");
3420 }
3421 }
3422
3426 const char* name()
3427 {
3428 return Obj_GetName(ptr);
3429 }
3430
3435 {
3436 Obj_BeginEdit(ptr);
3437 return *this;
3438 }
3439
3444 TCC_Curve& end_edit(int32_t num_edits=1)
3445 {
3446 Obj_EndEdit(ptr, num_edits);
3447 return *this;
3448 }
3449
3454 int32_t npts()
3455 {
3456 return Obj_GetInt32(ptr, Properties::npts);
3457 }
3458
3459 TCC_Curve& npts(int32_t value)
3460 {
3461 Obj_SetInt32(ptr, Properties::npts, value);
3462 return *this;
3463 }
3464
3469 VectorXd C_array()
3470 {
3471 return get_array<VectorXd>(Properties::C_array);
3472 }
3473
3474 TCC_Curve& C_array(VectorXd &value)
3475 {
3476 set_array<VectorXd>(Properties::C_array, value);
3477 return *this;
3478 }
3479
3490 VectorXd T_array()
3491 {
3492 return get_array<VectorXd>(Properties::T_array);
3493 }
3494
3495 TCC_Curve& T_array(VectorXd &value)
3496 {
3497 set_array<VectorXd>(Properties::T_array, value);
3498 return *this;
3499 }
3500
3507 TCC_Curve& like(const string &value)
3508 {
3509 set_string(Properties::like, value);
3510 return *this;
3511 }
3512
3519 TCC_Curve& like(const char *value)
3520 {
3521 set_string(Properties::like, value);
3522 return *this;
3523 }
3524};
3525
3526
3527class Spectrum: public DSSObj
3528{
3529public:
3530 const static char dss_cls_name[];
3531 const static int32_t dss_cls_idx = 8;
3533 {
3534 enum {
3535 NumHarm = 1,
3536 harmonic = 2,
3537 pctmag = 3,
3538 angle = 4,
3539 CSVFile = 5,
3540 like = 6,
3541 };
3542 };
3543
3547 Spectrum(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
3548 {
3549 }
3550
3554 Spectrum(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
3555 {
3556 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
3557 check_for_error();
3558 if (ptr == nullptr)
3559 {
3560 throw std::runtime_error("Could not find the Spectrum element by the given index");
3561 }
3562 }
3563
3567 Spectrum(APIUtil *util, char *name): DSSObj(util, nullptr)
3568 {
3569 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
3570 check_for_error();
3571 if (ptr == nullptr)
3572 {
3573 throw std::runtime_error("Could not find the Spectrum element by the given name");
3574 }
3575 }
3576
3580 const char* name()
3581 {
3582 return Obj_GetName(ptr);
3583 }
3584
3589 {
3590 Obj_BeginEdit(ptr);
3591 return *this;
3592 }
3593
3598 Spectrum& end_edit(int32_t num_edits=1)
3599 {
3600 Obj_EndEdit(ptr, num_edits);
3601 return *this;
3602 }
3603
3608 int32_t NumHarm()
3609 {
3610 return Obj_GetInt32(ptr, Properties::NumHarm);
3611 }
3612
3613 Spectrum& NumHarm(int32_t value)
3614 {
3615 Obj_SetInt32(ptr, Properties::NumHarm, value);
3616 return *this;
3617 }
3618
3626 VectorXd harmonic()
3627 {
3628 return get_array<VectorXd>(Properties::harmonic);
3629 }
3630
3631 Spectrum& harmonic(VectorXd &value)
3632 {
3633 set_array<VectorXd>(Properties::harmonic, value);
3634 return *this;
3635 }
3636
3644 VectorXd pctmag()
3645 {
3646 return get_array<VectorXd>(Properties::pctmag);
3647 }
3648
3649 Spectrum& pctmag(VectorXd &value)
3650 {
3651 set_array<VectorXd>(Properties::pctmag, value);
3652 return *this;
3653 }
3654
3662 VectorXd angle()
3663 {
3664 return get_array<VectorXd>(Properties::angle);
3665 }
3666
3667 Spectrum& angle(VectorXd &value)
3668 {
3669 set_array<VectorXd>(Properties::angle, value);
3670 return *this;
3671 }
3672
3677 string CSVFile()
3678 {
3679 return get_prop_string(Properties::CSVFile);
3680 }
3681
3682 Spectrum& CSVFile(const string &value)
3683 {
3684 set_string(Properties::CSVFile, value);
3685 return *this;
3686 }
3687
3688 Spectrum& CSVFile(const char* value)
3689 {
3690 set_string(Properties::CSVFile, value);
3691 return *this;
3692 }
3693
3700 Spectrum& like(const string &value)
3701 {
3702 set_string(Properties::like, value);
3703 return *this;
3704 }
3705
3712 Spectrum& like(const char *value)
3713 {
3714 set_string(Properties::like, value);
3715 return *this;
3716 }
3717};
3718
3719
3720class WireData: public DSSObj
3721{
3722public:
3723 const static char dss_cls_name[];
3724 const static int32_t dss_cls_idx = 9;
3726 {
3727 enum {
3728 Rdc = 1,
3729 Rac = 2,
3730 Runits = 3,
3731 GMRac = 4,
3732 GMRunits = 5,
3733 radius = 6,
3734 radunits = 7,
3735 normamps = 8,
3736 emergamps = 9,
3737 diam = 10,
3738 Seasons = 11,
3739 Ratings = 12,
3740 Capradius = 13,
3741 like = 14,
3742 };
3743 };
3744
3748 WireData(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
3749 {
3750 }
3751
3755 WireData(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
3756 {
3757 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
3758 check_for_error();
3759 if (ptr == nullptr)
3760 {
3761 throw std::runtime_error("Could not find the WireData element by the given index");
3762 }
3763 }
3764
3768 WireData(APIUtil *util, char *name): DSSObj(util, nullptr)
3769 {
3770 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
3771 check_for_error();
3772 if (ptr == nullptr)
3773 {
3774 throw std::runtime_error("Could not find the WireData element by the given name");
3775 }
3776 }
3777
3781 const char* name()
3782 {
3783 return Obj_GetName(ptr);
3784 }
3785
3790 {
3791 Obj_BeginEdit(ptr);
3792 return *this;
3793 }
3794
3799 WireData& end_edit(int32_t num_edits=1)
3800 {
3801 Obj_EndEdit(ptr, num_edits);
3802 return *this;
3803 }
3804
3809 double Rdc()
3810 {
3811 return Obj_GetFloat64(ptr, Properties::Rdc);
3812 }
3813
3814 WireData& Rdc(double value)
3815 {
3816 Obj_SetFloat64(ptr, Properties::Rdc, value);
3817 return *this;
3818 }
3819
3824 double Rac()
3825 {
3826 return Obj_GetFloat64(ptr, Properties::Rac);
3827 }
3828
3829 WireData& Rac(double value)
3830 {
3831 Obj_SetFloat64(ptr, Properties::Rac, value);
3832 return *this;
3833 }
3834
3839 DimensionUnits Runits()
3840 {
3841 return DimensionUnits(Obj_GetInt32(ptr, Properties::Runits));
3842 }
3843
3844 WireData& Runits(int32_t value)
3845 {
3846 Obj_SetInt32(ptr, Properties::Runits, value);
3847 return *this;
3848 }
3849
3850 WireData& Runits(DimensionUnits value)
3851 {
3852 Obj_SetInt32(ptr, Properties::Runits, int32_t(value));
3853 return *this;
3854 }
3855
3856 WireData& Runits(const string &value)
3857 {
3858 set_string(Properties::Runits, value);
3859 return *this;
3860 }
3861
3862 WireData& Runits(const char *value)
3863 {
3864 set_string(Properties::Runits, value);
3865 return *this;
3866 }
3867
3872 string Runits_str()
3873 {
3874 return get_prop_string(Properties::Runits);
3875 }
3876
3881 WireData& Runits_str(const string &value)
3882 {
3883 set_string(Properties::Runits, value);
3884 return *this;
3885 }
3886
3891 double GMRac()
3892 {
3893 return Obj_GetFloat64(ptr, Properties::GMRac);
3894 }
3895
3896 WireData& GMRac(double value)
3897 {
3898 Obj_SetFloat64(ptr, Properties::GMRac, value);
3899 return *this;
3900 }
3901
3906 DimensionUnits GMRunits()
3907 {
3908 return DimensionUnits(Obj_GetInt32(ptr, Properties::GMRunits));
3909 }
3910
3911 WireData& GMRunits(int32_t value)
3912 {
3913 Obj_SetInt32(ptr, Properties::GMRunits, value);
3914 return *this;
3915 }
3916
3917 WireData& GMRunits(DimensionUnits value)
3918 {
3919 Obj_SetInt32(ptr, Properties::GMRunits, int32_t(value));
3920 return *this;
3921 }
3922
3923 WireData& GMRunits(const string &value)
3924 {
3925 set_string(Properties::GMRunits, value);
3926 return *this;
3927 }
3928
3929 WireData& GMRunits(const char *value)
3930 {
3931 set_string(Properties::GMRunits, value);
3932 return *this;
3933 }
3934
3940 {
3941 return get_prop_string(Properties::GMRunits);
3942 }
3943
3948 WireData& GMRunits_str(const string &value)
3949 {
3950 set_string(Properties::GMRunits, value);
3951 return *this;
3952 }
3953
3958 double radius()
3959 {
3960 return Obj_GetFloat64(ptr, Properties::radius);
3961 }
3962
3963 WireData& radius(double value)
3964 {
3965 Obj_SetFloat64(ptr, Properties::radius, value);
3966 return *this;
3967 }
3968
3973 DimensionUnits radunits()
3974 {
3975 return DimensionUnits(Obj_GetInt32(ptr, Properties::radunits));
3976 }
3977
3978 WireData& radunits(int32_t value)
3979 {
3980 Obj_SetInt32(ptr, Properties::radunits, value);
3981 return *this;
3982 }
3983
3984 WireData& radunits(DimensionUnits value)
3985 {
3986 Obj_SetInt32(ptr, Properties::radunits, int32_t(value));
3987 return *this;
3988 }
3989
3990 WireData& radunits(const string &value)
3991 {
3992 set_string(Properties::radunits, value);
3993 return *this;
3994 }
3995
3996 WireData& radunits(const char *value)
3997 {
3998 set_string(Properties::radunits, value);
3999 return *this;
4000 }
4001
4007 {
4008 return get_prop_string(Properties::radunits);
4009 }
4010
4015 WireData& radunits_str(const string &value)
4016 {
4017 set_string(Properties::radunits, value);
4018 return *this;
4019 }
4020
4025 double normamps()
4026 {
4027 return Obj_GetFloat64(ptr, Properties::normamps);
4028 }
4029
4030 WireData& normamps(double value)
4031 {
4032 Obj_SetFloat64(ptr, Properties::normamps, value);
4033 return *this;
4034 }
4035
4040 double emergamps()
4041 {
4042 return Obj_GetFloat64(ptr, Properties::emergamps);
4043 }
4044
4045 WireData& emergamps(double value)
4046 {
4047 Obj_SetFloat64(ptr, Properties::emergamps, value);
4048 return *this;
4049 }
4050
4055 double diam()
4056 {
4057 return Obj_GetFloat64(ptr, Properties::diam);
4058 }
4059
4060 WireData& diam(double value)
4061 {
4062 Obj_SetFloat64(ptr, Properties::diam, value);
4063 return *this;
4064 }
4065
4070 int32_t Seasons()
4071 {
4072 return Obj_GetInt32(ptr, Properties::Seasons);
4073 }
4074
4075 WireData& Seasons(int32_t value)
4076 {
4077 Obj_SetInt32(ptr, Properties::Seasons, value);
4078 return *this;
4079 }
4080
4086 VectorXd Ratings()
4087 {
4088 return get_array<VectorXd>(Properties::Ratings);
4089 }
4090
4091 WireData& Ratings(VectorXd &value)
4092 {
4093 set_array<VectorXd>(Properties::Ratings, value);
4094 return *this;
4095 }
4096
4101 double Capradius()
4102 {
4103 return Obj_GetFloat64(ptr, Properties::Capradius);
4104 }
4105
4106 WireData& Capradius(double value)
4107 {
4108 Obj_SetFloat64(ptr, Properties::Capradius, value);
4109 return *this;
4110 }
4111
4118 WireData& like(const string &value)
4119 {
4120 set_string(Properties::like, value);
4121 return *this;
4122 }
4123
4130 WireData& like(const char *value)
4131 {
4132 set_string(Properties::like, value);
4133 return *this;
4134 }
4135};
4136
4137
4138class CNData: public DSSObj
4139{
4140public:
4141 const static char dss_cls_name[];
4142 const static int32_t dss_cls_idx = 10;
4144 {
4145 enum {
4146 k = 1,
4147 DiaStrand = 2,
4148 GmrStrand = 3,
4149 Rstrand = 4,
4150 EpsR = 5,
4151 InsLayer = 6,
4152 DiaIns = 7,
4153 DiaCable = 8,
4154 Rdc = 9,
4155 Rac = 10,
4156 Runits = 11,
4157 GMRac = 12,
4158 GMRunits = 13,
4159 radius = 14,
4160 radunits = 15,
4161 normamps = 16,
4162 emergamps = 17,
4163 diam = 18,
4164 Seasons = 19,
4165 Ratings = 20,
4166 Capradius = 21,
4167 like = 22,
4168 };
4169 };
4170
4174 CNData(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
4175 {
4176 }
4177
4181 CNData(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
4182 {
4183 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
4184 check_for_error();
4185 if (ptr == nullptr)
4186 {
4187 throw std::runtime_error("Could not find the CNData element by the given index");
4188 }
4189 }
4190
4194 CNData(APIUtil *util, char *name): DSSObj(util, nullptr)
4195 {
4196 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
4197 check_for_error();
4198 if (ptr == nullptr)
4199 {
4200 throw std::runtime_error("Could not find the CNData element by the given name");
4201 }
4202 }
4203
4207 const char* name()
4208 {
4209 return Obj_GetName(ptr);
4210 }
4211
4216 {
4217 Obj_BeginEdit(ptr);
4218 return *this;
4219 }
4220
4225 CNData& end_edit(int32_t num_edits=1)
4226 {
4227 Obj_EndEdit(ptr, num_edits);
4228 return *this;
4229 }
4230
4235 int32_t k()
4236 {
4237 return Obj_GetInt32(ptr, Properties::k);
4238 }
4239
4240 CNData& k(int32_t value)
4241 {
4242 Obj_SetInt32(ptr, Properties::k, value);
4243 return *this;
4244 }
4245
4250 double DiaStrand()
4251 {
4252 return Obj_GetFloat64(ptr, Properties::DiaStrand);
4253 }
4254
4255 CNData& DiaStrand(double value)
4256 {
4257 Obj_SetFloat64(ptr, Properties::DiaStrand, value);
4258 return *this;
4259 }
4260
4265 double GmrStrand()
4266 {
4267 return Obj_GetFloat64(ptr, Properties::GmrStrand);
4268 }
4269
4270 CNData& GmrStrand(double value)
4271 {
4272 Obj_SetFloat64(ptr, Properties::GmrStrand, value);
4273 return *this;
4274 }
4275
4280 double Rstrand()
4281 {
4282 return Obj_GetFloat64(ptr, Properties::Rstrand);
4283 }
4284
4285 CNData& Rstrand(double value)
4286 {
4287 Obj_SetFloat64(ptr, Properties::Rstrand, value);
4288 return *this;
4289 }
4290
4295 double EpsR()
4296 {
4297 return Obj_GetFloat64(ptr, Properties::EpsR);
4298 }
4299
4300 CNData& EpsR(double value)
4301 {
4302 Obj_SetFloat64(ptr, Properties::EpsR, value);
4303 return *this;
4304 }
4305
4310 double InsLayer()
4311 {
4312 return Obj_GetFloat64(ptr, Properties::InsLayer);
4313 }
4314
4315 CNData& InsLayer(double value)
4316 {
4317 Obj_SetFloat64(ptr, Properties::InsLayer, value);
4318 return *this;
4319 }
4320
4325 double DiaIns()
4326 {
4327 return Obj_GetFloat64(ptr, Properties::DiaIns);
4328 }
4329
4330 CNData& DiaIns(double value)
4331 {
4332 Obj_SetFloat64(ptr, Properties::DiaIns, value);
4333 return *this;
4334 }
4335
4340 double DiaCable()
4341 {
4342 return Obj_GetFloat64(ptr, Properties::DiaCable);
4343 }
4344
4345 CNData& DiaCable(double value)
4346 {
4347 Obj_SetFloat64(ptr, Properties::DiaCable, value);
4348 return *this;
4349 }
4350
4355 double Rdc()
4356 {
4357 return Obj_GetFloat64(ptr, Properties::Rdc);
4358 }
4359
4360 CNData& Rdc(double value)
4361 {
4362 Obj_SetFloat64(ptr, Properties::Rdc, value);
4363 return *this;
4364 }
4365
4370 double Rac()
4371 {
4372 return Obj_GetFloat64(ptr, Properties::Rac);
4373 }
4374
4375 CNData& Rac(double value)
4376 {
4377 Obj_SetFloat64(ptr, Properties::Rac, value);
4378 return *this;
4379 }
4380
4385 DimensionUnits Runits()
4386 {
4387 return DimensionUnits(Obj_GetInt32(ptr, Properties::Runits));
4388 }
4389
4390 CNData& Runits(int32_t value)
4391 {
4392 Obj_SetInt32(ptr, Properties::Runits, value);
4393 return *this;
4394 }
4395
4396 CNData& Runits(DimensionUnits value)
4397 {
4398 Obj_SetInt32(ptr, Properties::Runits, int32_t(value));
4399 return *this;
4400 }
4401
4402 CNData& Runits(const string &value)
4403 {
4404 set_string(Properties::Runits, value);
4405 return *this;
4406 }
4407
4408 CNData& Runits(const char *value)
4409 {
4410 set_string(Properties::Runits, value);
4411 return *this;
4412 }
4413
4418 string Runits_str()
4419 {
4420 return get_prop_string(Properties::Runits);
4421 }
4422
4427 CNData& Runits_str(const string &value)
4428 {
4429 set_string(Properties::Runits, value);
4430 return *this;
4431 }
4432
4437 double GMRac()
4438 {
4439 return Obj_GetFloat64(ptr, Properties::GMRac);
4440 }
4441
4442 CNData& GMRac(double value)
4443 {
4444 Obj_SetFloat64(ptr, Properties::GMRac, value);
4445 return *this;
4446 }
4447
4452 DimensionUnits GMRunits()
4453 {
4454 return DimensionUnits(Obj_GetInt32(ptr, Properties::GMRunits));
4455 }
4456
4457 CNData& GMRunits(int32_t value)
4458 {
4459 Obj_SetInt32(ptr, Properties::GMRunits, value);
4460 return *this;
4461 }
4462
4463 CNData& GMRunits(DimensionUnits value)
4464 {
4465 Obj_SetInt32(ptr, Properties::GMRunits, int32_t(value));
4466 return *this;
4467 }
4468
4469 CNData& GMRunits(const string &value)
4470 {
4471 set_string(Properties::GMRunits, value);
4472 return *this;
4473 }
4474
4475 CNData& GMRunits(const char *value)
4476 {
4477 set_string(Properties::GMRunits, value);
4478 return *this;
4479 }
4480
4486 {
4487 return get_prop_string(Properties::GMRunits);
4488 }
4489
4494 CNData& GMRunits_str(const string &value)
4495 {
4496 set_string(Properties::GMRunits, value);
4497 return *this;
4498 }
4499
4504 double radius()
4505 {
4506 return Obj_GetFloat64(ptr, Properties::radius);
4507 }
4508
4509 CNData& radius(double value)
4510 {
4511 Obj_SetFloat64(ptr, Properties::radius, value);
4512 return *this;
4513 }
4514
4519 DimensionUnits radunits()
4520 {
4521 return DimensionUnits(Obj_GetInt32(ptr, Properties::radunits));
4522 }
4523
4524 CNData& radunits(int32_t value)
4525 {
4526 Obj_SetInt32(ptr, Properties::radunits, value);
4527 return *this;
4528 }
4529
4530 CNData& radunits(DimensionUnits value)
4531 {
4532 Obj_SetInt32(ptr, Properties::radunits, int32_t(value));
4533 return *this;
4534 }
4535
4536 CNData& radunits(const string &value)
4537 {
4538 set_string(Properties::radunits, value);
4539 return *this;
4540 }
4541
4542 CNData& radunits(const char *value)
4543 {
4544 set_string(Properties::radunits, value);
4545 return *this;
4546 }
4547
4553 {
4554 return get_prop_string(Properties::radunits);
4555 }
4556
4561 CNData& radunits_str(const string &value)
4562 {
4563 set_string(Properties::radunits, value);
4564 return *this;
4565 }
4566
4571 double normamps()
4572 {
4573 return Obj_GetFloat64(ptr, Properties::normamps);
4574 }
4575
4576 CNData& normamps(double value)
4577 {
4578 Obj_SetFloat64(ptr, Properties::normamps, value);
4579 return *this;
4580 }
4581
4586 double emergamps()
4587 {
4588 return Obj_GetFloat64(ptr, Properties::emergamps);
4589 }
4590
4591 CNData& emergamps(double value)
4592 {
4593 Obj_SetFloat64(ptr, Properties::emergamps, value);
4594 return *this;
4595 }
4596
4601 double diam()
4602 {
4603 return Obj_GetFloat64(ptr, Properties::diam);
4604 }
4605
4606 CNData& diam(double value)
4607 {
4608 Obj_SetFloat64(ptr, Properties::diam, value);
4609 return *this;
4610 }
4611
4616 int32_t Seasons()
4617 {
4618 return Obj_GetInt32(ptr, Properties::Seasons);
4619 }
4620
4621 CNData& Seasons(int32_t value)
4622 {
4623 Obj_SetInt32(ptr, Properties::Seasons, value);
4624 return *this;
4625 }
4626
4632 VectorXd Ratings()
4633 {
4634 return get_array<VectorXd>(Properties::Ratings);
4635 }
4636
4637 CNData& Ratings(VectorXd &value)
4638 {
4639 set_array<VectorXd>(Properties::Ratings, value);
4640 return *this;
4641 }
4642
4647 double Capradius()
4648 {
4649 return Obj_GetFloat64(ptr, Properties::Capradius);
4650 }
4651
4652 CNData& Capradius(double value)
4653 {
4654 Obj_SetFloat64(ptr, Properties::Capradius, value);
4655 return *this;
4656 }
4657
4664 CNData& like(const string &value)
4665 {
4666 set_string(Properties::like, value);
4667 return *this;
4668 }
4669
4676 CNData& like(const char *value)
4677 {
4678 set_string(Properties::like, value);
4679 return *this;
4680 }
4681};
4682
4683
4684class TSData: public DSSObj
4685{
4686public:
4687 const static char dss_cls_name[];
4688 const static int32_t dss_cls_idx = 11;
4690 {
4691 enum {
4692 DiaShield = 1,
4693 TapeLayer = 2,
4694 TapeLap = 3,
4695 EpsR = 4,
4696 InsLayer = 5,
4697 DiaIns = 6,
4698 DiaCable = 7,
4699 Rdc = 8,
4700 Rac = 9,
4701 Runits = 10,
4702 GMRac = 11,
4703 GMRunits = 12,
4704 radius = 13,
4705 radunits = 14,
4706 normamps = 15,
4707 emergamps = 16,
4708 diam = 17,
4709 Seasons = 18,
4710 Ratings = 19,
4711 Capradius = 20,
4712 like = 21,
4713 };
4714 };
4715
4719 TSData(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
4720 {
4721 }
4722
4726 TSData(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
4727 {
4728 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
4729 check_for_error();
4730 if (ptr == nullptr)
4731 {
4732 throw std::runtime_error("Could not find the TSData element by the given index");
4733 }
4734 }
4735
4739 TSData(APIUtil *util, char *name): DSSObj(util, nullptr)
4740 {
4741 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
4742 check_for_error();
4743 if (ptr == nullptr)
4744 {
4745 throw std::runtime_error("Could not find the TSData element by the given name");
4746 }
4747 }
4748
4752 const char* name()
4753 {
4754 return Obj_GetName(ptr);
4755 }
4756
4761 {
4762 Obj_BeginEdit(ptr);
4763 return *this;
4764 }
4765
4770 TSData& end_edit(int32_t num_edits=1)
4771 {
4772 Obj_EndEdit(ptr, num_edits);
4773 return *this;
4774 }
4775
4780 double DiaShield()
4781 {
4782 return Obj_GetFloat64(ptr, Properties::DiaShield);
4783 }
4784
4785 TSData& DiaShield(double value)
4786 {
4787 Obj_SetFloat64(ptr, Properties::DiaShield, value);
4788 return *this;
4789 }
4790
4795 double TapeLayer()
4796 {
4797 return Obj_GetFloat64(ptr, Properties::TapeLayer);
4798 }
4799
4800 TSData& TapeLayer(double value)
4801 {
4802 Obj_SetFloat64(ptr, Properties::TapeLayer, value);
4803 return *this;
4804 }
4805
4810 double TapeLap()
4811 {
4812 return Obj_GetFloat64(ptr, Properties::TapeLap);
4813 }
4814
4815 TSData& TapeLap(double value)
4816 {
4817 Obj_SetFloat64(ptr, Properties::TapeLap, value);
4818 return *this;
4819 }
4820
4825 double EpsR()
4826 {
4827 return Obj_GetFloat64(ptr, Properties::EpsR);
4828 }
4829
4830 TSData& EpsR(double value)
4831 {
4832 Obj_SetFloat64(ptr, Properties::EpsR, value);
4833 return *this;
4834 }
4835
4840 double InsLayer()
4841 {
4842 return Obj_GetFloat64(ptr, Properties::InsLayer);
4843 }
4844
4845 TSData& InsLayer(double value)
4846 {
4847 Obj_SetFloat64(ptr, Properties::InsLayer, value);
4848 return *this;
4849 }
4850
4855 double DiaIns()
4856 {
4857 return Obj_GetFloat64(ptr, Properties::DiaIns);
4858 }
4859
4860 TSData& DiaIns(double value)
4861 {
4862 Obj_SetFloat64(ptr, Properties::DiaIns, value);
4863 return *this;
4864 }
4865
4870 double DiaCable()
4871 {
4872 return Obj_GetFloat64(ptr, Properties::DiaCable);
4873 }
4874
4875 TSData& DiaCable(double value)
4876 {
4877 Obj_SetFloat64(ptr, Properties::DiaCable, value);
4878 return *this;
4879 }
4880
4885 double Rdc()
4886 {
4887 return Obj_GetFloat64(ptr, Properties::Rdc);
4888 }
4889
4890 TSData& Rdc(double value)
4891 {
4892 Obj_SetFloat64(ptr, Properties::Rdc, value);
4893 return *this;
4894 }
4895
4900 double Rac()
4901 {
4902 return Obj_GetFloat64(ptr, Properties::Rac);
4903 }
4904
4905 TSData& Rac(double value)
4906 {
4907 Obj_SetFloat64(ptr, Properties::Rac, value);
4908 return *this;
4909 }
4910
4915 DimensionUnits Runits()
4916 {
4917 return DimensionUnits(Obj_GetInt32(ptr, Properties::Runits));
4918 }
4919
4920 TSData& Runits(int32_t value)
4921 {
4922 Obj_SetInt32(ptr, Properties::Runits, value);
4923 return *this;
4924 }
4925
4926 TSData& Runits(DimensionUnits value)
4927 {
4928 Obj_SetInt32(ptr, Properties::Runits, int32_t(value));
4929 return *this;
4930 }
4931
4932 TSData& Runits(const string &value)
4933 {
4934 set_string(Properties::Runits, value);
4935 return *this;
4936 }
4937
4938 TSData& Runits(const char *value)
4939 {
4940 set_string(Properties::Runits, value);
4941 return *this;
4942 }
4943
4948 string Runits_str()
4949 {
4950 return get_prop_string(Properties::Runits);
4951 }
4952
4957 TSData& Runits_str(const string &value)
4958 {
4959 set_string(Properties::Runits, value);
4960 return *this;
4961 }
4962
4967 double GMRac()
4968 {
4969 return Obj_GetFloat64(ptr, Properties::GMRac);
4970 }
4971
4972 TSData& GMRac(double value)
4973 {
4974 Obj_SetFloat64(ptr, Properties::GMRac, value);
4975 return *this;
4976 }
4977
4982 DimensionUnits GMRunits()
4983 {
4984 return DimensionUnits(Obj_GetInt32(ptr, Properties::GMRunits));
4985 }
4986
4987 TSData& GMRunits(int32_t value)
4988 {
4989 Obj_SetInt32(ptr, Properties::GMRunits, value);
4990 return *this;
4991 }
4992
4993 TSData& GMRunits(DimensionUnits value)
4994 {
4995 Obj_SetInt32(ptr, Properties::GMRunits, int32_t(value));
4996 return *this;
4997 }
4998
4999 TSData& GMRunits(const string &value)
5000 {
5001 set_string(Properties::GMRunits, value);
5002 return *this;
5003 }
5004
5005 TSData& GMRunits(const char *value)
5006 {
5007 set_string(Properties::GMRunits, value);
5008 return *this;
5009 }
5010
5016 {
5017 return get_prop_string(Properties::GMRunits);
5018 }
5019
5024 TSData& GMRunits_str(const string &value)
5025 {
5026 set_string(Properties::GMRunits, value);
5027 return *this;
5028 }
5029
5034 double radius()
5035 {
5036 return Obj_GetFloat64(ptr, Properties::radius);
5037 }
5038
5039 TSData& radius(double value)
5040 {
5041 Obj_SetFloat64(ptr, Properties::radius, value);
5042 return *this;
5043 }
5044
5049 DimensionUnits radunits()
5050 {
5051 return DimensionUnits(Obj_GetInt32(ptr, Properties::radunits));
5052 }
5053
5054 TSData& radunits(int32_t value)
5055 {
5056 Obj_SetInt32(ptr, Properties::radunits, value);
5057 return *this;
5058 }
5059
5060 TSData& radunits(DimensionUnits value)
5061 {
5062 Obj_SetInt32(ptr, Properties::radunits, int32_t(value));
5063 return *this;
5064 }
5065
5066 TSData& radunits(const string &value)
5067 {
5068 set_string(Properties::radunits, value);
5069 return *this;
5070 }
5071
5072 TSData& radunits(const char *value)
5073 {
5074 set_string(Properties::radunits, value);
5075 return *this;
5076 }
5077
5083 {
5084 return get_prop_string(Properties::radunits);
5085 }
5086
5091 TSData& radunits_str(const string &value)
5092 {
5093 set_string(Properties::radunits, value);
5094 return *this;
5095 }
5096
5101 double normamps()
5102 {
5103 return Obj_GetFloat64(ptr, Properties::normamps);
5104 }
5105
5106 TSData& normamps(double value)
5107 {
5108 Obj_SetFloat64(ptr, Properties::normamps, value);
5109 return *this;
5110 }
5111
5116 double emergamps()
5117 {
5118 return Obj_GetFloat64(ptr, Properties::emergamps);
5119 }
5120
5121 TSData& emergamps(double value)
5122 {
5123 Obj_SetFloat64(ptr, Properties::emergamps, value);
5124 return *this;
5125 }
5126
5131 double diam()
5132 {
5133 return Obj_GetFloat64(ptr, Properties::diam);
5134 }
5135
5136 TSData& diam(double value)
5137 {
5138 Obj_SetFloat64(ptr, Properties::diam, value);
5139 return *this;
5140 }
5141
5146 int32_t Seasons()
5147 {
5148 return Obj_GetInt32(ptr, Properties::Seasons);
5149 }
5150
5151 TSData& Seasons(int32_t value)
5152 {
5153 Obj_SetInt32(ptr, Properties::Seasons, value);
5154 return *this;
5155 }
5156
5162 VectorXd Ratings()
5163 {
5164 return get_array<VectorXd>(Properties::Ratings);
5165 }
5166
5167 TSData& Ratings(VectorXd &value)
5168 {
5169 set_array<VectorXd>(Properties::Ratings, value);
5170 return *this;
5171 }
5172
5177 double Capradius()
5178 {
5179 return Obj_GetFloat64(ptr, Properties::Capradius);
5180 }
5181
5182 TSData& Capradius(double value)
5183 {
5184 Obj_SetFloat64(ptr, Properties::Capradius, value);
5185 return *this;
5186 }
5187
5194 TSData& like(const string &value)
5195 {
5196 set_string(Properties::like, value);
5197 return *this;
5198 }
5199
5206 TSData& like(const char *value)
5207 {
5208 set_string(Properties::like, value);
5209 return *this;
5210 }
5211};
5212
5213
5214class LineSpacing: public DSSObj
5215{
5216public:
5217 const static char dss_cls_name[];
5218 const static int32_t dss_cls_idx = 12;
5220 {
5221 enum {
5222 nconds = 1,
5223 nphases = 2,
5224 x = 3,
5225 h = 4,
5226 units = 5,
5227 like = 6,
5228 };
5229 };
5230
5234 LineSpacing(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
5235 {
5236 }
5237
5241 LineSpacing(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
5242 {
5243 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
5244 check_for_error();
5245 if (ptr == nullptr)
5246 {
5247 throw std::runtime_error("Could not find the LineSpacing element by the given index");
5248 }
5249 }
5250
5254 LineSpacing(APIUtil *util, char *name): DSSObj(util, nullptr)
5255 {
5256 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
5257 check_for_error();
5258 if (ptr == nullptr)
5259 {
5260 throw std::runtime_error("Could not find the LineSpacing element by the given name");
5261 }
5262 }
5263
5267 const char* name()
5268 {
5269 return Obj_GetName(ptr);
5270 }
5271
5276 {
5277 Obj_BeginEdit(ptr);
5278 return *this;
5279 }
5280
5285 LineSpacing& end_edit(int32_t num_edits=1)
5286 {
5287 Obj_EndEdit(ptr, num_edits);
5288 return *this;
5289 }
5290
5295 int32_t nconds()
5296 {
5297 return Obj_GetInt32(ptr, Properties::nconds);
5298 }
5299
5300 LineSpacing& nconds(int32_t value)
5301 {
5302 Obj_SetInt32(ptr, Properties::nconds, value);
5303 return *this;
5304 }
5305
5310 int32_t nphases()
5311 {
5312 return Obj_GetInt32(ptr, Properties::nphases);
5313 }
5314
5315 LineSpacing& nphases(int32_t value)
5316 {
5317 Obj_SetInt32(ptr, Properties::nphases, value);
5318 return *this;
5319 }
5320
5325 VectorXd x()
5326 {
5327 return get_array<VectorXd>(Properties::x);
5328 }
5329
5330 LineSpacing& x(VectorXd &value)
5331 {
5332 set_array<VectorXd>(Properties::x, value);
5333 return *this;
5334 }
5335
5340 VectorXd h()
5341 {
5342 return get_array<VectorXd>(Properties::h);
5343 }
5344
5345 LineSpacing& h(VectorXd &value)
5346 {
5347 set_array<VectorXd>(Properties::h, value);
5348 return *this;
5349 }
5350
5355 DimensionUnits units()
5356 {
5357 return DimensionUnits(Obj_GetInt32(ptr, Properties::units));
5358 }
5359
5360 LineSpacing& units(int32_t value)
5361 {
5362 Obj_SetInt32(ptr, Properties::units, value);
5363 return *this;
5364 }
5365
5366 LineSpacing& units(DimensionUnits value)
5367 {
5368 Obj_SetInt32(ptr, Properties::units, int32_t(value));
5369 return *this;
5370 }
5371
5372 LineSpacing& units(const string &value)
5373 {
5374 set_string(Properties::units, value);
5375 return *this;
5376 }
5377
5378 LineSpacing& units(const char *value)
5379 {
5380 set_string(Properties::units, value);
5381 return *this;
5382 }
5383
5388 string units_str()
5389 {
5390 return get_prop_string(Properties::units);
5391 }
5392
5397 LineSpacing& units_str(const string &value)
5398 {
5399 set_string(Properties::units, value);
5400 return *this;
5401 }
5402
5409 LineSpacing& like(const string &value)
5410 {
5411 set_string(Properties::like, value);
5412 return *this;
5413 }
5414
5421 LineSpacing& like(const char *value)
5422 {
5423 set_string(Properties::like, value);
5424 return *this;
5425 }
5426};
5427
5428
5430{
5431public:
5432 const static char dss_cls_name[];
5433 const static int32_t dss_cls_idx = 13;
5435 {
5436 enum {
5437 nconds = 1,
5438 nphases = 2,
5439 cond = 3,
5440 wire = 4,
5441 x = 5,
5442 h = 6,
5443 units = 7,
5444 normamps = 8,
5445 emergamps = 9,
5446 reduce = 10,
5447 spacing = 11,
5448 wires = 12,
5449 cncable = 13,
5450 tscable = 14,
5451 cncables = 15,
5452 tscables = 16,
5453 Seasons = 17,
5454 Ratings = 18,
5455 LineType = 19,
5456 like = 20,
5457 };
5458 };
5459
5463 LineGeometry(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
5464 {
5465 }
5466
5470 LineGeometry(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
5471 {
5472 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
5473 check_for_error();
5474 if (ptr == nullptr)
5475 {
5476 throw std::runtime_error("Could not find the LineGeometry element by the given index");
5477 }
5478 }
5479
5483 LineGeometry(APIUtil *util, char *name): DSSObj(util, nullptr)
5484 {
5485 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
5486 check_for_error();
5487 if (ptr == nullptr)
5488 {
5489 throw std::runtime_error("Could not find the LineGeometry element by the given name");
5490 }
5491 }
5492
5496 const char* name()
5497 {
5498 return Obj_GetName(ptr);
5499 }
5500
5505 {
5506 Obj_BeginEdit(ptr);
5507 return *this;
5508 }
5509
5514 LineGeometry& end_edit(int32_t num_edits=1)
5515 {
5516 Obj_EndEdit(ptr, num_edits);
5517 return *this;
5518 }
5519
5524 int32_t nconds()
5525 {
5526 return Obj_GetInt32(ptr, Properties::nconds);
5527 }
5528
5529 LineGeometry& nconds(int32_t value)
5530 {
5531 Obj_SetInt32(ptr, Properties::nconds, value);
5532 return *this;
5533 }
5534
5539 int32_t nphases()
5540 {
5541 return Obj_GetInt32(ptr, Properties::nphases);
5542 }
5543
5544 LineGeometry& nphases(int32_t value)
5545 {
5546 Obj_SetInt32(ptr, Properties::nphases, value);
5547 return *this;
5548 }
5549
5554 int32_t cond()
5555 {
5556 return Obj_GetInt32(ptr, Properties::cond);
5557 }
5558
5559 LineGeometry& cond(int32_t value)
5560 {
5561 Obj_SetInt32(ptr, Properties::cond, value);
5562 return *this;
5563 }
5564
5571 strings wire()
5572 {
5573 return get_array<strings>(Properties::wire);
5574 }
5575
5576 LineGeometry& wire(strings &value)
5577 {
5578 set_array<strings>(Properties::wire, value);
5579 return *this;
5580 }
5581
5582 LineGeometry& wire(std::vector<dss::obj::WireData> &value)
5583 {
5584 set_array<std::vector<dss::obj::WireData>>(Properties::wire, value);
5585 return *this;
5586 }
5587
5594 std::vector<dss::obj::WireData> wire_obj()
5595 {
5596 return get_array<std::vector<dss::obj::WireData>>(Properties::wire);
5597 }
5598
5599 LineGeometry& wire_obj(std::vector<dss::obj::WireData> &value)
5600 {
5601 set_array<std::vector<dss::obj::WireData>>(Properties::wire, value);
5602 return *this;
5603 }
5604
5609 VectorXd x()
5610 {
5611 return get_array<VectorXd>(Properties::x);
5612 }
5613
5614 LineGeometry& x(VectorXd &value)
5615 {
5616 set_array<VectorXd>(Properties::x, value);
5617 return *this;
5618 }
5619
5624 VectorXd h()
5625 {
5626 return get_array<VectorXd>(Properties::h);
5627 }
5628
5629 LineGeometry& h(VectorXd &value)
5630 {
5631 set_array<VectorXd>(Properties::h, value);
5632 return *this;
5633 }
5634
5639 DimensionUnits units()
5640 {
5641 return DimensionUnits(Obj_GetInt32(ptr, Properties::units));
5642 }
5643
5644 LineGeometry& units(int32_t value)
5645 {
5646 Obj_SetInt32(ptr, Properties::units, value);
5647 return *this;
5648 }
5649
5650 LineGeometry& units(DimensionUnits value)
5651 {
5652 Obj_SetInt32(ptr, Properties::units, int32_t(value));
5653 return *this;
5654 }
5655
5656 LineGeometry& units(const string &value)
5657 {
5658 set_string(Properties::units, value);
5659 return *this;
5660 }
5661
5662 LineGeometry& units(const char *value)
5663 {
5664 set_string(Properties::units, value);
5665 return *this;
5666 }
5667
5672 string units_str()
5673 {
5674 return get_prop_string(Properties::units);
5675 }
5676
5681 LineGeometry& units_str(const string &value)
5682 {
5683 set_string(Properties::units, value);
5684 return *this;
5685 }
5686
5691 double normamps()
5692 {
5693 return Obj_GetFloat64(ptr, Properties::normamps);
5694 }
5695
5696 LineGeometry& normamps(double value)
5697 {
5698 Obj_SetFloat64(ptr, Properties::normamps, value);
5699 return *this;
5700 }
5701
5706 double emergamps()
5707 {
5708 return Obj_GetFloat64(ptr, Properties::emergamps);
5709 }
5710
5711 LineGeometry& emergamps(double value)
5712 {
5713 Obj_SetFloat64(ptr, Properties::emergamps, value);
5714 return *this;
5715 }
5716
5721 bool reduce()
5722 {
5723 return Obj_GetInt32(ptr, Properties::reduce) != 0;
5724 }
5725
5726 LineGeometry& reduce(bool value)
5727 {
5728 Obj_SetInt32(ptr, Properties::reduce, value);
5729 return *this;
5730 }
5731
5739 string spacing()
5740 {
5741 return get_prop_string(Properties::spacing);
5742 }
5743
5744 LineGeometry& spacing(const string &value)
5745 {
5746 set_string(Properties::spacing, value);
5747 return *this;
5748 }
5749
5751 {
5752 set_obj(Properties::spacing, value);
5753 return *this;
5754 }
5755
5764 {
5765 return get_obj<dss::obj::LineSpacing>(Properties::spacing);
5766 }
5767
5769 {
5770 set_obj(Properties::spacing, value);
5771 return *this;
5772 }
5773
5782 strings wires()
5783 {
5784 return get_array<strings>(Properties::wires);
5785 }
5786
5787 LineGeometry& wires(strings &value)
5788 {
5789 set_array<strings>(Properties::wires, value);
5790 return *this;
5791 }
5792
5793 LineGeometry& wires(std::vector<dss::obj::WireData> &value)
5794 {
5795 set_array<std::vector<dss::obj::WireData>>(Properties::wires, value);
5796 return *this;
5797 }
5798
5807 std::vector<dss::obj::WireData> wires_obj()
5808 {
5809 return get_array<std::vector<dss::obj::WireData>>(Properties::wires);
5810 }
5811
5812 LineGeometry& wires_obj(std::vector<dss::obj::WireData> &value)
5813 {
5814 set_array<std::vector<dss::obj::WireData>>(Properties::wires, value);
5815 return *this;
5816 }
5817
5823 strings cncable()
5824 {
5825 return get_array<strings>(Properties::cncable);
5826 }
5827
5828 LineGeometry& cncable(strings &value)
5829 {
5830 set_array<strings>(Properties::cncable, value);
5831 return *this;
5832 }
5833
5834 LineGeometry& cncable(std::vector<dss::obj::CNData> &value)
5835 {
5836 set_array<std::vector<dss::obj::CNData>>(Properties::cncable, value);
5837 return *this;
5838 }
5839
5845 std::vector<dss::obj::CNData> cncable_obj()
5846 {
5847 return get_array<std::vector<dss::obj::CNData>>(Properties::cncable);
5848 }
5849
5850 LineGeometry& cncable_obj(std::vector<dss::obj::CNData> &value)
5851 {
5852 set_array<std::vector<dss::obj::CNData>>(Properties::cncable, value);
5853 return *this;
5854 }
5855
5861 strings tscable()
5862 {
5863 return get_array<strings>(Properties::tscable);
5864 }
5865
5866 LineGeometry& tscable(strings &value)
5867 {
5868 set_array<strings>(Properties::tscable, value);
5869 return *this;
5870 }
5871
5872 LineGeometry& tscable(std::vector<dss::obj::TSData> &value)
5873 {
5874 set_array<std::vector<dss::obj::TSData>>(Properties::tscable, value);
5875 return *this;
5876 }
5877
5883 std::vector<dss::obj::TSData> tscable_obj()
5884 {
5885 return get_array<std::vector<dss::obj::TSData>>(Properties::tscable);
5886 }
5887
5888 LineGeometry& tscable_obj(std::vector<dss::obj::TSData> &value)
5889 {
5890 set_array<std::vector<dss::obj::TSData>>(Properties::tscable, value);
5891 return *this;
5892 }
5893
5900 strings cncables()
5901 {
5902 return get_array<strings>(Properties::cncables);
5903 }
5904
5905 LineGeometry& cncables(strings &value)
5906 {
5907 set_array<strings>(Properties::cncables, value);
5908 return *this;
5909 }
5910
5911 LineGeometry& cncables(std::vector<dss::obj::CNData> &value)
5912 {
5913 set_array<std::vector<dss::obj::CNData>>(Properties::cncables, value);
5914 return *this;
5915 }
5916
5923 std::vector<dss::obj::CNData> cncables_obj()
5924 {
5925 return get_array<std::vector<dss::obj::CNData>>(Properties::cncables);
5926 }
5927
5928 LineGeometry& cncables_obj(std::vector<dss::obj::CNData> &value)
5929 {
5930 set_array<std::vector<dss::obj::CNData>>(Properties::cncables, value);
5931 return *this;
5932 }
5933
5940 strings tscables()
5941 {
5942 return get_array<strings>(Properties::tscables);
5943 }
5944
5945 LineGeometry& tscables(strings &value)
5946 {
5947 set_array<strings>(Properties::tscables, value);
5948 return *this;
5949 }
5950
5951 LineGeometry& tscables(std::vector<dss::obj::TSData> &value)
5952 {
5953 set_array<std::vector<dss::obj::TSData>>(Properties::tscables, value);
5954 return *this;
5955 }
5956
5963 std::vector<dss::obj::TSData> tscables_obj()
5964 {
5965 return get_array<std::vector<dss::obj::TSData>>(Properties::tscables);
5966 }
5967
5968 LineGeometry& tscables_obj(std::vector<dss::obj::TSData> &value)
5969 {
5970 set_array<std::vector<dss::obj::TSData>>(Properties::tscables, value);
5971 return *this;
5972 }
5973
5978 int32_t Seasons()
5979 {
5980 return Obj_GetInt32(ptr, Properties::Seasons);
5981 }
5982
5983 LineGeometry& Seasons(int32_t value)
5984 {
5985 Obj_SetInt32(ptr, Properties::Seasons, value);
5986 return *this;
5987 }
5988
5994 VectorXd Ratings()
5995 {
5996 return get_array<VectorXd>(Properties::Ratings);
5997 }
5998
5999 LineGeometry& Ratings(VectorXd &value)
6000 {
6001 set_array<VectorXd>(Properties::Ratings, value);
6002 return *this;
6003 }
6004
6012 LineType linetype()
6013 {
6014 return LineType(Obj_GetInt32(ptr, Properties::LineType));
6015 }
6016
6017 LineGeometry& linetype(int32_t value)
6018 {
6019 Obj_SetInt32(ptr, Properties::LineType, value);
6020 return *this;
6021 }
6022
6023 LineGeometry& linetype(LineType value)
6024 {
6025 Obj_SetInt32(ptr, Properties::LineType, int32_t(value));
6026 return *this;
6027 }
6028
6029 LineGeometry& linetype(const string &value)
6030 {
6031 set_string(Properties::LineType, value);
6032 return *this;
6033 }
6034
6035 LineGeometry& linetype(const char *value)
6036 {
6037 set_string(Properties::LineType, value);
6038 return *this;
6039 }
6040
6049 {
6050 return get_prop_string(Properties::LineType);
6051 }
6052
6060 LineGeometry& linetype_str(const string &value)
6061 {
6062 set_string(Properties::LineType, value);
6063 return *this;
6064 }
6065
6072 LineGeometry& like(const string &value)
6073 {
6074 set_string(Properties::like, value);
6075 return *this;
6076 }
6077
6084 LineGeometry& like(const char *value)
6085 {
6086 set_string(Properties::like, value);
6087 return *this;
6088 }
6089};
6090
6091
6092class XfmrCode: public DSSObj
6093{
6094public:
6095 const static char dss_cls_name[];
6096 const static int32_t dss_cls_idx = 14;
6098 {
6099 enum {
6100 phases = 1,
6101 windings = 2,
6102 wdg = 3,
6103 conn = 4,
6104 kV = 5,
6105 kVA = 6,
6106 tap = 7,
6107 pctR = 8,
6108 Rneut = 9,
6109 Xneut = 10,
6110 conns = 11,
6111 kVs = 12,
6112 kVAs = 13,
6113 taps = 14,
6114 Xhl = 15,
6115 Xht = 16,
6116 Xlt = 17,
6117 Xscarray = 18,
6118 thermal = 19,
6119 n = 20,
6120 m = 21,
6121 flrise = 22,
6122 hsrise = 23,
6123 pctloadloss = 24,
6124 pctnoloadloss = 25,
6125 normhkVA = 26,
6126 emerghkVA = 27,
6127 MaxTap = 28,
6128 MinTap = 29,
6129 NumTaps = 30,
6130 pctimag = 31,
6131 ppm_antifloat = 32,
6132 pctRs = 33,
6133 X12 = 34,
6134 X13 = 35,
6135 X23 = 36,
6136 RdcOhms = 37,
6137 Seasons = 38,
6138 Ratings = 39,
6139 like = 40,
6140 };
6141 };
6142
6146 XfmrCode(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
6147 {
6148 }
6149
6153 XfmrCode(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
6154 {
6155 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
6156 check_for_error();
6157 if (ptr == nullptr)
6158 {
6159 throw std::runtime_error("Could not find the XfmrCode element by the given index");
6160 }
6161 }
6162
6166 XfmrCode(APIUtil *util, char *name): DSSObj(util, nullptr)
6167 {
6168 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
6169 check_for_error();
6170 if (ptr == nullptr)
6171 {
6172 throw std::runtime_error("Could not find the XfmrCode element by the given name");
6173 }
6174 }
6175
6179 const char* name()
6180 {
6181 return Obj_GetName(ptr);
6182 }
6183
6188 {
6189 Obj_BeginEdit(ptr);
6190 return *this;
6191 }
6192
6197 XfmrCode& end_edit(int32_t num_edits=1)
6198 {
6199 Obj_EndEdit(ptr, num_edits);
6200 return *this;
6201 }
6202
6207 int32_t phases()
6208 {
6209 return Obj_GetInt32(ptr, Properties::phases);
6210 }
6211
6212 XfmrCode& phases(int32_t value)
6213 {
6214 Obj_SetInt32(ptr, Properties::phases, value);
6215 return *this;
6216 }
6217
6222 int32_t windings()
6223 {
6224 return Obj_GetInt32(ptr, Properties::windings);
6225 }
6226
6227 XfmrCode& windings(int32_t value)
6228 {
6229 Obj_SetInt32(ptr, Properties::windings, value);
6230 return *this;
6231 }
6232
6237 int32_t wdg()
6238 {
6239 return Obj_GetInt32(ptr, Properties::wdg);
6240 }
6241
6242 XfmrCode& wdg(int32_t value)
6243 {
6244 Obj_SetInt32(ptr, Properties::wdg, value);
6245 return *this;
6246 }
6247
6252 std::vector<Connection> conn()
6253 {
6254 return get_array<std::vector<Connection>>(Properties::conn);
6255 }
6256
6257 XfmrCode& conn(std::vector<int32_t> &value)
6258 {
6259 set_array<std::vector<int32_t>>(Properties::conn, value);
6260 return *this;
6261 }
6262
6263 XfmrCode& conn(strings &value)
6264 {
6265 set_array<strings>(Properties::conn, value);
6266 return *this;
6267 }
6268
6273 strings conn_str()
6274 {
6275 return get_array<strings>(Properties::conn);
6276 }
6277
6278 XfmrCode& conn_str(strings &value)
6279 {
6280 conn(value);
6281 return *this;
6282 }
6283
6288 VectorXd kV()
6289 {
6290 return get_array<VectorXd>(Properties::kV);
6291 }
6292
6293 XfmrCode& kV(VectorXd &value)
6294 {
6295 set_array<VectorXd>(Properties::kV, value);
6296 return *this;
6297 }
6298
6303 VectorXd kVA()
6304 {
6305 return get_array<VectorXd>(Properties::kVA);
6306 }
6307
6308 XfmrCode& kVA(VectorXd &value)
6309 {
6310 set_array<VectorXd>(Properties::kVA, value);
6311 return *this;
6312 }
6313
6318 VectorXd tap()
6319 {
6320 return get_array<VectorXd>(Properties::tap);
6321 }
6322
6323 XfmrCode& tap(VectorXd &value)
6324 {
6325 set_array<VectorXd>(Properties::tap, value);
6326 return *this;
6327 }
6328
6333 VectorXd pctR()
6334 {
6335 return get_array<VectorXd>(Properties::pctR);
6336 }
6337
6338 XfmrCode& pctR(VectorXd &value)
6339 {
6340 set_array<VectorXd>(Properties::pctR, value);
6341 return *this;
6342 }
6343
6348 VectorXd Rneut()
6349 {
6350 return get_array<VectorXd>(Properties::Rneut);
6351 }
6352
6353 XfmrCode& Rneut(VectorXd &value)
6354 {
6355 set_array<VectorXd>(Properties::Rneut, value);
6356 return *this;
6357 }
6358
6363 VectorXd Xneut()
6364 {
6365 return get_array<VectorXd>(Properties::Xneut);
6366 }
6367
6368 XfmrCode& Xneut(VectorXd &value)
6369 {
6370 set_array<VectorXd>(Properties::Xneut, value);
6371 return *this;
6372 }
6373
6380 std::vector<Connection> conns()
6381 {
6382 return get_array<std::vector<Connection>>(Properties::conns);
6383 }
6384
6385 XfmrCode& conns(std::vector<int32_t> &value)
6386 {
6387 set_array<std::vector<int32_t>>(Properties::conns, value);
6388 return *this;
6389 }
6390
6391 XfmrCode& conns(strings &value)
6392 {
6393 set_array<strings>(Properties::conns, value);
6394 return *this;
6395 }
6396
6403 strings conns_str()
6404 {
6405 return get_array<strings>(Properties::conns);
6406 }
6407
6408 XfmrCode& conns_str(strings &value)
6409 {
6410 conns(value);
6411 return *this;
6412 }
6413
6424 VectorXd kVs()
6425 {
6426 return get_array<VectorXd>(Properties::kVs);
6427 }
6428
6429 XfmrCode& kVs(VectorXd &value)
6430 {
6431 set_array<VectorXd>(Properties::kVs, value);
6432 return *this;
6433 }
6434
6439 VectorXd kVAs()
6440 {
6441 return get_array<VectorXd>(Properties::kVAs);
6442 }
6443
6444 XfmrCode& kVAs(VectorXd &value)
6445 {
6446 set_array<VectorXd>(Properties::kVAs, value);
6447 return *this;
6448 }
6449
6454 VectorXd taps()
6455 {
6456 return get_array<VectorXd>(Properties::taps);
6457 }
6458
6459 XfmrCode& taps(VectorXd &value)
6460 {
6461 set_array<VectorXd>(Properties::taps, value);
6462 return *this;
6463 }
6464
6469 double Xhl()
6470 {
6471 return Obj_GetFloat64(ptr, Properties::Xhl);
6472 }
6473
6474 XfmrCode& Xhl(double value)
6475 {
6476 Obj_SetFloat64(ptr, Properties::Xhl, value);
6477 return *this;
6478 }
6479
6484 double Xht()
6485 {
6486 return Obj_GetFloat64(ptr, Properties::Xht);
6487 }
6488
6489 XfmrCode& Xht(double value)
6490 {
6491 Obj_SetFloat64(ptr, Properties::Xht, value);
6492 return *this;
6493 }
6494
6499 double Xlt()
6500 {
6501 return Obj_GetFloat64(ptr, Properties::Xlt);
6502 }
6503
6504 XfmrCode& Xlt(double value)
6505 {
6506 Obj_SetFloat64(ptr, Properties::Xlt, value);
6507 return *this;
6508 }
6509
6518 VectorXd Xscarray()
6519 {
6520 return get_array<VectorXd>(Properties::Xscarray);
6521 }
6522
6523 XfmrCode& Xscarray(VectorXd &value)
6524 {
6525 set_array<VectorXd>(Properties::Xscarray, value);
6526 return *this;
6527 }
6528
6533 double thermal()
6534 {
6535 return Obj_GetFloat64(ptr, Properties::thermal);
6536 }
6537
6538 XfmrCode& thermal(double value)
6539 {
6540 Obj_SetFloat64(ptr, Properties::thermal, value);
6541 return *this;
6542 }
6543
6548 double n()
6549 {
6550 return Obj_GetFloat64(ptr, Properties::n);
6551 }
6552
6553 XfmrCode& n(double value)
6554 {
6555 Obj_SetFloat64(ptr, Properties::n, value);
6556 return *this;
6557 }
6558
6563 double m()
6564 {
6565 return Obj_GetFloat64(ptr, Properties::m);
6566 }
6567
6568 XfmrCode& m(double value)
6569 {
6570 Obj_SetFloat64(ptr, Properties::m, value);
6571 return *this;
6572 }
6573
6578 double flrise()
6579 {
6580 return Obj_GetFloat64(ptr, Properties::flrise);
6581 }
6582
6583 XfmrCode& flrise(double value)
6584 {
6585 Obj_SetFloat64(ptr, Properties::flrise, value);
6586 return *this;
6587 }
6588
6593 double hsrise()
6594 {
6595 return Obj_GetFloat64(ptr, Properties::hsrise);
6596 }
6597
6598 XfmrCode& hsrise(double value)
6599 {
6600 Obj_SetFloat64(ptr, Properties::hsrise, value);
6601 return *this;
6602 }
6603
6609 {
6610 return Obj_GetFloat64(ptr, Properties::pctloadloss);
6611 }
6612
6613 XfmrCode& pctloadloss(double value)
6614 {
6615 Obj_SetFloat64(ptr, Properties::pctloadloss, value);
6616 return *this;
6617 }
6618
6624 {
6625 return Obj_GetFloat64(ptr, Properties::pctnoloadloss);
6626 }
6627
6628 XfmrCode& pctnoloadloss(double value)
6629 {
6630 Obj_SetFloat64(ptr, Properties::pctnoloadloss, value);
6631 return *this;
6632 }
6633
6638 double normhkVA()
6639 {
6640 return Obj_GetFloat64(ptr, Properties::normhkVA);
6641 }
6642
6643 XfmrCode& normhkVA(double value)
6644 {
6645 Obj_SetFloat64(ptr, Properties::normhkVA, value);
6646 return *this;
6647 }
6648
6653 double emerghkVA()
6654 {
6655 return Obj_GetFloat64(ptr, Properties::emerghkVA);
6656 }
6657
6658 XfmrCode& emerghkVA(double value)
6659 {
6660 Obj_SetFloat64(ptr, Properties::emerghkVA, value);
6661 return *this;
6662 }
6663
6668 VectorXd MaxTap()
6669 {
6670 return get_array<VectorXd>(Properties::MaxTap);
6671 }
6672
6673 XfmrCode& MaxTap(VectorXd &value)
6674 {
6675 set_array<VectorXd>(Properties::MaxTap, value);
6676 return *this;
6677 }
6678
6683 VectorXd MinTap()
6684 {
6685 return get_array<VectorXd>(Properties::MinTap);
6686 }
6687
6688 XfmrCode& MinTap(VectorXd &value)
6689 {
6690 set_array<VectorXd>(Properties::MinTap, value);
6691 return *this;
6692 }
6693
6698 VectorXi NumTaps()
6699 {
6700 return get_array<VectorXi>(Properties::NumTaps);
6701 }
6702
6703 XfmrCode& NumTaps(VectorXi &value)
6704 {
6705 set_array<VectorXi>(Properties::NumTaps, value);
6706 return *this;
6707 }
6708
6713 double pctimag()
6714 {
6715 return Obj_GetFloat64(ptr, Properties::pctimag);
6716 }
6717
6718 XfmrCode& pctimag(double value)
6719 {
6720 Obj_SetFloat64(ptr, Properties::pctimag, value);
6721 return *this;
6722 }
6723
6729 {
6730 return Obj_GetFloat64(ptr, Properties::ppm_antifloat);
6731 }
6732
6733 XfmrCode& ppm_antifloat(double value)
6734 {
6735 Obj_SetFloat64(ptr, Properties::ppm_antifloat, value);
6736 return *this;
6737 }
6738
6745 VectorXd pctRs()
6746 {
6747 return get_array<VectorXd>(Properties::pctRs);
6748 }
6749
6750 XfmrCode& pctRs(VectorXd &value)
6751 {
6752 set_array<VectorXd>(Properties::pctRs, value);
6753 return *this;
6754 }
6755
6760 double X12()
6761 {
6762 return Obj_GetFloat64(ptr, Properties::X12);
6763 }
6764
6765 XfmrCode& X12(double value)
6766 {
6767 Obj_SetFloat64(ptr, Properties::X12, value);
6768 return *this;
6769 }
6770
6775 double X13()
6776 {
6777 return Obj_GetFloat64(ptr, Properties::X13);
6778 }
6779
6780 XfmrCode& X13(double value)
6781 {
6782 Obj_SetFloat64(ptr, Properties::X13, value);
6783 return *this;
6784 }
6785
6790 double X23()
6791 {
6792 return Obj_GetFloat64(ptr, Properties::X23);
6793 }
6794
6795 XfmrCode& X23(double value)
6796 {
6797 Obj_SetFloat64(ptr, Properties::X23, value);
6798 return *this;
6799 }
6800
6805 VectorXd RdcOhms()
6806 {
6807 return get_array<VectorXd>(Properties::RdcOhms);
6808 }
6809
6810 XfmrCode& RdcOhms(VectorXd &value)
6811 {
6812 set_array<VectorXd>(Properties::RdcOhms, value);
6813 return *this;
6814 }
6815
6820 int32_t Seasons()
6821 {
6822 return Obj_GetInt32(ptr, Properties::Seasons);
6823 }
6824
6825 XfmrCode& Seasons(int32_t value)
6826 {
6827 Obj_SetInt32(ptr, Properties::Seasons, value);
6828 return *this;
6829 }
6830
6836 VectorXd Ratings()
6837 {
6838 return get_array<VectorXd>(Properties::Ratings);
6839 }
6840
6841 XfmrCode& Ratings(VectorXd &value)
6842 {
6843 set_array<VectorXd>(Properties::Ratings, value);
6844 return *this;
6845 }
6846
6853 XfmrCode& like(const string &value)
6854 {
6855 set_string(Properties::like, value);
6856 return *this;
6857 }
6858
6865 XfmrCode& like(const char *value)
6866 {
6867 set_string(Properties::like, value);
6868 return *this;
6869 }
6870};
6871
6872
6873class Line: public DSSObj
6874{
6875public:
6876 const static char dss_cls_name[];
6877 const static int32_t dss_cls_idx = 15;
6879 {
6880 enum {
6881 bus1 = 1,
6882 bus2 = 2,
6883 linecode = 3,
6884 length = 4,
6885 phases = 5,
6886 r1 = 6,
6887 x1 = 7,
6888 r0 = 8,
6889 x0 = 9,
6890 C1 = 10,
6891 C0 = 11,
6892 rmatrix = 12,
6893 xmatrix = 13,
6894 cmatrix = 14,
6895 Switch = 15,
6896 Rg = 16,
6897 Xg = 17,
6898 rho = 18,
6899 geometry = 19,
6900 units = 20,
6901 spacing = 21,
6902 wires = 22,
6903 EarthModel = 23,
6904 cncables = 24,
6905 tscables = 25,
6906 B1 = 26,
6907 B0 = 27,
6908 Seasons = 28,
6909 Ratings = 29,
6910 LineType = 30,
6911 normamps = 31,
6912 emergamps = 32,
6913 faultrate = 33,
6914 pctperm = 34,
6915 repair = 35,
6916 basefreq = 36,
6917 enabled = 37,
6918 like = 38,
6919 };
6920 };
6921
6925 Line(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
6926 {
6927 }
6928
6932 Line(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
6933 {
6934 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
6935 check_for_error();
6936 if (ptr == nullptr)
6937 {
6938 throw std::runtime_error("Could not find the Line element by the given index");
6939 }
6940 }
6941
6945 Line(APIUtil *util, char *name): DSSObj(util, nullptr)
6946 {
6947 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
6948 check_for_error();
6949 if (ptr == nullptr)
6950 {
6951 throw std::runtime_error("Could not find the Line element by the given name");
6952 }
6953 }
6954
6958 const char* name()
6959 {
6960 return Obj_GetName(ptr);
6961 }
6962
6967 {
6968 Obj_BeginEdit(ptr);
6969 return *this;
6970 }
6971
6976 Line& end_edit(int32_t num_edits=1)
6977 {
6978 Obj_EndEdit(ptr, num_edits);
6979 return *this;
6980 }
6981
6989 string bus1()
6990 {
6991 return get_prop_string(Properties::bus1);
6992 }
6993
6994 Line& bus1(const string &value)
6995 {
6996 set_string(Properties::bus1, value);
6997 return *this;
6998 }
6999
7000 Line& bus1(const char* value)
7001 {
7002 set_string(Properties::bus1, value);
7003 return *this;
7004 }
7005
7010 string bus2()
7011 {
7012 return get_prop_string(Properties::bus2);
7013 }
7014
7015 Line& bus2(const string &value)
7016 {
7017 set_string(Properties::bus2, value);
7018 return *this;
7019 }
7020
7021 Line& bus2(const char* value)
7022 {
7023 set_string(Properties::bus2, value);
7024 return *this;
7025 }
7026
7032 string linecode()
7033 {
7034 return get_prop_string(Properties::linecode);
7035 }
7036
7037 Line& linecode(const string &value)
7038 {
7039 set_string(Properties::linecode, value);
7040 return *this;
7041 }
7042
7044 {
7045 set_obj(Properties::linecode, value);
7046 return *this;
7047 }
7048
7055 {
7056 return get_obj<dss::obj::LineCode>(Properties::linecode);
7057 }
7058
7060 {
7061 set_obj(Properties::linecode, value);
7062 return *this;
7063 }
7064
7069 double length()
7070 {
7071 return Obj_GetFloat64(ptr, Properties::length);
7072 }
7073
7074 Line& length(double value)
7075 {
7076 Obj_SetFloat64(ptr, Properties::length, value);
7077 return *this;
7078 }
7079
7084 int32_t phases()
7085 {
7086 return Obj_GetInt32(ptr, Properties::phases);
7087 }
7088
7089 Line& phases(int32_t value)
7090 {
7091 Obj_SetInt32(ptr, Properties::phases, value);
7092 return *this;
7093 }
7094
7099 double r1()
7100 {
7101 return Obj_GetFloat64(ptr, Properties::r1);
7102 }
7103
7104 Line& r1(double value)
7105 {
7106 Obj_SetFloat64(ptr, Properties::r1, value);
7107 return *this;
7108 }
7109
7114 double x1()
7115 {
7116 return Obj_GetFloat64(ptr, Properties::x1);
7117 }
7118
7119 Line& x1(double value)
7120 {
7121 Obj_SetFloat64(ptr, Properties::x1, value);
7122 return *this;
7123 }
7124
7129 double r0()
7130 {
7131 return Obj_GetFloat64(ptr, Properties::r0);
7132 }
7133
7134 Line& r0(double value)
7135 {
7136 Obj_SetFloat64(ptr, Properties::r0, value);
7137 return *this;
7138 }
7139
7144 double x0()
7145 {
7146 return Obj_GetFloat64(ptr, Properties::x0);
7147 }
7148
7149 Line& x0(double value)
7150 {
7151 Obj_SetFloat64(ptr, Properties::x0, value);
7152 return *this;
7153 }
7154
7159 double C1()
7160 {
7161 return Obj_GetFloat64(ptr, Properties::C1);
7162 }
7163
7164 Line& C1(double value)
7165 {
7166 Obj_SetFloat64(ptr, Properties::C1, value);
7167 return *this;
7168 }
7169
7174 double C0()
7175 {
7176 return Obj_GetFloat64(ptr, Properties::C0);
7177 }
7178
7179 Line& C0(double value)
7180 {
7181 Obj_SetFloat64(ptr, Properties::C0, value);
7182 return *this;
7183 }
7184
7189 VectorXd rmatrix()
7190 {
7191 return get_array<VectorXd>(Properties::rmatrix);
7192 }
7193
7194 Line& rmatrix(VectorXd &value)
7195 {
7196 set_array<VectorXd>(Properties::rmatrix, value);
7197 return *this;
7198 }
7199
7204 VectorXd xmatrix()
7205 {
7206 return get_array<VectorXd>(Properties::xmatrix);
7207 }
7208
7209 Line& xmatrix(VectorXd &value)
7210 {
7211 set_array<VectorXd>(Properties::xmatrix, value);
7212 return *this;
7213 }
7214
7219 VectorXd cmatrix()
7220 {
7221 return get_array<VectorXd>(Properties::cmatrix);
7222 }
7223
7224 Line& cmatrix(VectorXd &value)
7225 {
7226 set_array<VectorXd>(Properties::cmatrix, value);
7227 return *this;
7228 }
7229
7235 bool Switch()
7236 {
7237 return Obj_GetInt32(ptr, Properties::Switch) != 0;
7238 }
7239
7240 Line& Switch(bool value)
7241 {
7242 Obj_SetInt32(ptr, Properties::Switch, value);
7243 return *this;
7244 }
7245
7250 double Rg()
7251 {
7252 return Obj_GetFloat64(ptr, Properties::Rg);
7253 }
7254
7255 Line& Rg(double value)
7256 {
7257 Obj_SetFloat64(ptr, Properties::Rg, value);
7258 return *this;
7259 }
7260
7265 double Xg()
7266 {
7267 return Obj_GetFloat64(ptr, Properties::Xg);
7268 }
7269
7270 Line& Xg(double value)
7271 {
7272 Obj_SetFloat64(ptr, Properties::Xg, value);
7273 return *this;
7274 }
7275
7280 double rho()
7281 {
7282 return Obj_GetFloat64(ptr, Properties::rho);
7283 }
7284
7285 Line& rho(double value)
7286 {
7287 Obj_SetFloat64(ptr, Properties::rho, value);
7288 return *this;
7289 }
7290
7295 string geometry()
7296 {
7297 return get_prop_string(Properties::geometry);
7298 }
7299
7300 Line& geometry(const string &value)
7301 {
7302 set_string(Properties::geometry, value);
7303 return *this;
7304 }
7305
7307 {
7308 set_obj(Properties::geometry, value);
7309 return *this;
7310 }
7311
7317 {
7318 return get_obj<dss::obj::LineGeometry>(Properties::geometry);
7319 }
7320
7322 {
7323 set_obj(Properties::geometry, value);
7324 return *this;
7325 }
7326
7331 DimensionUnits units()
7332 {
7333 return DimensionUnits(Obj_GetInt32(ptr, Properties::units));
7334 }
7335
7336 Line& units(int32_t value)
7337 {
7338 Obj_SetInt32(ptr, Properties::units, value);
7339 return *this;
7340 }
7341
7342 Line& units(DimensionUnits value)
7343 {
7344 Obj_SetInt32(ptr, Properties::units, int32_t(value));
7345 return *this;
7346 }
7347
7348 Line& units(const string &value)
7349 {
7350 set_string(Properties::units, value);
7351 return *this;
7352 }
7353
7354 Line& units(const char *value)
7355 {
7356 set_string(Properties::units, value);
7357 return *this;
7358 }
7359
7364 string units_str()
7365 {
7366 return get_prop_string(Properties::units);
7367 }
7368
7373 Line& units_str(const string &value)
7374 {
7375 set_string(Properties::units, value);
7376 return *this;
7377 }
7378
7385 string spacing()
7386 {
7387 return get_prop_string(Properties::spacing);
7388 }
7389
7390 Line& spacing(const string &value)
7391 {
7392 set_string(Properties::spacing, value);
7393 return *this;
7394 }
7395
7397 {
7398 set_obj(Properties::spacing, value);
7399 return *this;
7400 }
7401
7409 {
7410 return get_obj<dss::obj::LineSpacing>(Properties::spacing);
7411 }
7412
7414 {
7415 set_obj(Properties::spacing, value);
7416 return *this;
7417 }
7418
7426 strings wires()
7427 {
7428 return get_array<strings>(Properties::wires);
7429 }
7430
7431 Line& wires(strings &value)
7432 {
7433 set_array<strings>(Properties::wires, value);
7434 return *this;
7435 }
7436
7437 Line& wires(std::vector<dss::obj::WireData> &value)
7438 {
7439 set_array<std::vector<dss::obj::WireData>>(Properties::wires, value);
7440 return *this;
7441 }
7442
7450 std::vector<dss::obj::WireData> wires_obj()
7451 {
7452 return get_array<std::vector<dss::obj::WireData>>(Properties::wires);
7453 }
7454
7455 Line& wires_obj(std::vector<dss::obj::WireData> &value)
7456 {
7457 set_array<std::vector<dss::obj::WireData>>(Properties::wires, value);
7458 return *this;
7459 }
7460
7465 EarthModel earthmodel()
7466 {
7467 return EarthModel(Obj_GetInt32(ptr, Properties::EarthModel));
7468 }
7469
7470 Line& earthmodel(int32_t value)
7471 {
7472 Obj_SetInt32(ptr, Properties::EarthModel, value);
7473 return *this;
7474 }
7475
7476 Line& earthmodel(EarthModel value)
7477 {
7478 Obj_SetInt32(ptr, Properties::EarthModel, int32_t(value));
7479 return *this;
7480 }
7481
7482 Line& earthmodel(const string &value)
7483 {
7484 set_string(Properties::EarthModel, value);
7485 return *this;
7486 }
7487
7488 Line& earthmodel(const char *value)
7489 {
7490 set_string(Properties::EarthModel, value);
7491 return *this;
7492 }
7493
7499 {
7500 return get_prop_string(Properties::EarthModel);
7501 }
7502
7507 Line& earthmodel_str(const string &value)
7508 {
7509 set_string(Properties::EarthModel, value);
7510 return *this;
7511 }
7512
7520 strings cncables()
7521 {
7522 return get_array<strings>(Properties::cncables);
7523 }
7524
7525 Line& cncables(strings &value)
7526 {
7527 set_array<strings>(Properties::cncables, value);
7528 return *this;
7529 }
7530
7531 Line& cncables(std::vector<dss::obj::CNData> &value)
7532 {
7533 set_array<std::vector<dss::obj::CNData>>(Properties::cncables, value);
7534 return *this;
7535 }
7536
7544 std::vector<dss::obj::CNData> cncables_obj()
7545 {
7546 return get_array<std::vector<dss::obj::CNData>>(Properties::cncables);
7547 }
7548
7549 Line& cncables_obj(std::vector<dss::obj::CNData> &value)
7550 {
7551 set_array<std::vector<dss::obj::CNData>>(Properties::cncables, value);
7552 return *this;
7553 }
7554
7562 strings tscables()
7563 {
7564 return get_array<strings>(Properties::tscables);
7565 }
7566
7567 Line& tscables(strings &value)
7568 {
7569 set_array<strings>(Properties::tscables, value);
7570 return *this;
7571 }
7572
7573 Line& tscables(std::vector<dss::obj::TSData> &value)
7574 {
7575 set_array<std::vector<dss::obj::TSData>>(Properties::tscables, value);
7576 return *this;
7577 }
7578
7586 std::vector<dss::obj::TSData> tscables_obj()
7587 {
7588 return get_array<std::vector<dss::obj::TSData>>(Properties::tscables);
7589 }
7590
7591 Line& tscables_obj(std::vector<dss::obj::TSData> &value)
7592 {
7593 set_array<std::vector<dss::obj::TSData>>(Properties::tscables, value);
7594 return *this;
7595 }
7596
7601 double B1()
7602 {
7603 return Obj_GetFloat64(ptr, Properties::B1);
7604 }
7605
7606 Line& B1(double value)
7607 {
7608 Obj_SetFloat64(ptr, Properties::B1, value);
7609 return *this;
7610 }
7611
7616 double B0()
7617 {
7618 return Obj_GetFloat64(ptr, Properties::B0);
7619 }
7620
7621 Line& B0(double value)
7622 {
7623 Obj_SetFloat64(ptr, Properties::B0, value);
7624 return *this;
7625 }
7626
7631 int32_t Seasons()
7632 {
7633 return Obj_GetInt32(ptr, Properties::Seasons);
7634 }
7635
7636 Line& Seasons(int32_t value)
7637 {
7638 Obj_SetInt32(ptr, Properties::Seasons, value);
7639 return *this;
7640 }
7641
7647 VectorXd Ratings()
7648 {
7649 return get_array<VectorXd>(Properties::Ratings);
7650 }
7651
7652 Line& Ratings(VectorXd &value)
7653 {
7654 set_array<VectorXd>(Properties::Ratings, value);
7655 return *this;
7656 }
7657
7665 LineType linetype()
7666 {
7667 return LineType(Obj_GetInt32(ptr, Properties::LineType));
7668 }
7669
7670 Line& linetype(int32_t value)
7671 {
7672 Obj_SetInt32(ptr, Properties::LineType, value);
7673 return *this;
7674 }
7675
7676 Line& linetype(LineType value)
7677 {
7678 Obj_SetInt32(ptr, Properties::LineType, int32_t(value));
7679 return *this;
7680 }
7681
7682 Line& linetype(const string &value)
7683 {
7684 set_string(Properties::LineType, value);
7685 return *this;
7686 }
7687
7688 Line& linetype(const char *value)
7689 {
7690 set_string(Properties::LineType, value);
7691 return *this;
7692 }
7693
7702 {
7703 return get_prop_string(Properties::LineType);
7704 }
7705
7713 Line& linetype_str(const string &value)
7714 {
7715 set_string(Properties::LineType, value);
7716 return *this;
7717 }
7718
7723 double normamps()
7724 {
7725 return Obj_GetFloat64(ptr, Properties::normamps);
7726 }
7727
7728 Line& normamps(double value)
7729 {
7730 Obj_SetFloat64(ptr, Properties::normamps, value);
7731 return *this;
7732 }
7733
7738 double emergamps()
7739 {
7740 return Obj_GetFloat64(ptr, Properties::emergamps);
7741 }
7742
7743 Line& emergamps(double value)
7744 {
7745 Obj_SetFloat64(ptr, Properties::emergamps, value);
7746 return *this;
7747 }
7748
7753 double faultrate()
7754 {
7755 return Obj_GetFloat64(ptr, Properties::faultrate);
7756 }
7757
7758 Line& faultrate(double value)
7759 {
7760 Obj_SetFloat64(ptr, Properties::faultrate, value);
7761 return *this;
7762 }
7763
7768 double pctperm()
7769 {
7770 return Obj_GetFloat64(ptr, Properties::pctperm);
7771 }
7772
7773 Line& pctperm(double value)
7774 {
7775 Obj_SetFloat64(ptr, Properties::pctperm, value);
7776 return *this;
7777 }
7778
7783 double repair()
7784 {
7785 return Obj_GetFloat64(ptr, Properties::repair);
7786 }
7787
7788 Line& repair(double value)
7789 {
7790 Obj_SetFloat64(ptr, Properties::repair, value);
7791 return *this;
7792 }
7793
7798 double basefreq()
7799 {
7800 return Obj_GetFloat64(ptr, Properties::basefreq);
7801 }
7802
7803 Line& basefreq(double value)
7804 {
7805 Obj_SetFloat64(ptr, Properties::basefreq, value);
7806 return *this;
7807 }
7808
7813 bool enabled()
7814 {
7815 return Obj_GetInt32(ptr, Properties::enabled) != 0;
7816 }
7817
7818 Line& enabled(bool value)
7819 {
7820 Obj_SetInt32(ptr, Properties::enabled, value);
7821 return *this;
7822 }
7823
7830 Line& like(const string &value)
7831 {
7832 set_string(Properties::like, value);
7833 return *this;
7834 }
7835
7842 Line& like(const char *value)
7843 {
7844 set_string(Properties::like, value);
7845 return *this;
7846 }
7847};
7848
7849
7850class Vsource: public DSSObj
7851{
7852public:
7853 const static char dss_cls_name[];
7854 const static int32_t dss_cls_idx = 16;
7856 {
7857 enum {
7858 bus1 = 1,
7859 basekv = 2,
7860 pu = 3,
7861 angle = 4,
7862 frequency = 5,
7863 phases = 6,
7864 MVAsc3 = 7,
7865 MVAsc1 = 8,
7866 x1r1 = 9,
7867 x0r0 = 10,
7868 Isc3 = 11,
7869 Isc1 = 12,
7870 R1 = 13,
7871 X1 = 14,
7872 R0 = 15,
7873 X0 = 16,
7874 ScanType = 17,
7875 Sequence = 18,
7876 bus2 = 19,
7877 Z1 = 20,
7878 Z0 = 21,
7879 Z2 = 22,
7880 puZ1 = 23,
7881 puZ0 = 24,
7882 puZ2 = 25,
7883 baseMVA = 26,
7884 Yearly = 27,
7885 Daily = 28,
7886 Duty = 29,
7887 Model = 30,
7888 puZideal = 31,
7889 spectrum = 32,
7890 basefreq = 33,
7891 enabled = 34,
7892 like = 35,
7893 };
7894 };
7895
7896 // Class-specific enumerations
7897
7901 enum class VSourceModel: int32_t
7902 {
7903 Thevenin = 0,
7904 Ideal = 1
7905 };
7906
7907
7908
7912 Vsource(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
7913 {
7914 }
7915
7919 Vsource(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
7920 {
7921 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
7922 check_for_error();
7923 if (ptr == nullptr)
7924 {
7925 throw std::runtime_error("Could not find the Vsource element by the given index");
7926 }
7927 }
7928
7932 Vsource(APIUtil *util, char *name): DSSObj(util, nullptr)
7933 {
7934 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
7935 check_for_error();
7936 if (ptr == nullptr)
7937 {
7938 throw std::runtime_error("Could not find the Vsource element by the given name");
7939 }
7940 }
7941
7945 const char* name()
7946 {
7947 return Obj_GetName(ptr);
7948 }
7949
7954 {
7955 Obj_BeginEdit(ptr);
7956 return *this;
7957 }
7958
7963 Vsource& end_edit(int32_t num_edits=1)
7964 {
7965 Obj_EndEdit(ptr, num_edits);
7966 return *this;
7967 }
7968
7977 string bus1()
7978 {
7979 return get_prop_string(Properties::bus1);
7980 }
7981
7982 Vsource& bus1(const string &value)
7983 {
7984 set_string(Properties::bus1, value);
7985 return *this;
7986 }
7987
7988 Vsource& bus1(const char* value)
7989 {
7990 set_string(Properties::bus1, value);
7991 return *this;
7992 }
7993
7998 double basekv()
7999 {
8000 return Obj_GetFloat64(ptr, Properties::basekv);
8001 }
8002
8003 Vsource& basekv(double value)
8004 {
8005 Obj_SetFloat64(ptr, Properties::basekv, value);
8006 return *this;
8007 }
8008
8014 double pu()
8015 {
8016 return Obj_GetFloat64(ptr, Properties::pu);
8017 }
8018
8019 Vsource& pu(double value)
8020 {
8021 Obj_SetFloat64(ptr, Properties::pu, value);
8022 return *this;
8023 }
8024
8029 double angle()
8030 {
8031 return Obj_GetFloat64(ptr, Properties::angle);
8032 }
8033
8034 Vsource& angle(double value)
8035 {
8036 Obj_SetFloat64(ptr, Properties::angle, value);
8037 return *this;
8038 }
8039
8044 double frequency()
8045 {
8046 return Obj_GetFloat64(ptr, Properties::frequency);
8047 }
8048
8049 Vsource& frequency(double value)
8050 {
8051 Obj_SetFloat64(ptr, Properties::frequency, value);
8052 return *this;
8053 }
8054
8059 int32_t phases()
8060 {
8061 return Obj_GetInt32(ptr, Properties::phases);
8062 }
8063
8064 Vsource& phases(int32_t value)
8065 {
8066 Obj_SetInt32(ptr, Properties::phases, value);
8067 return *this;
8068 }
8069
8074 double MVAsc3()
8075 {
8076 return Obj_GetFloat64(ptr, Properties::MVAsc3);
8077 }
8078
8079 Vsource& MVAsc3(double value)
8080 {
8081 Obj_SetFloat64(ptr, Properties::MVAsc3, value);
8082 return *this;
8083 }
8084
8089 double MVAsc1()
8090 {
8091 return Obj_GetFloat64(ptr, Properties::MVAsc1);
8092 }
8093
8094 Vsource& MVAsc1(double value)
8095 {
8096 Obj_SetFloat64(ptr, Properties::MVAsc1, value);
8097 return *this;
8098 }
8099
8104 double x1r1()
8105 {
8106 return Obj_GetFloat64(ptr, Properties::x1r1);
8107 }
8108
8109 Vsource& x1r1(double value)
8110 {
8111 Obj_SetFloat64(ptr, Properties::x1r1, value);
8112 return *this;
8113 }
8114
8119 double x0r0()
8120 {
8121 return Obj_GetFloat64(ptr, Properties::x0r0);
8122 }
8123
8124 Vsource& x0r0(double value)
8125 {
8126 Obj_SetFloat64(ptr, Properties::x0r0, value);
8127 return *this;
8128 }
8129
8135 double Isc3()
8136 {
8137 return Obj_GetFloat64(ptr, Properties::Isc3);
8138 }
8139
8140 Vsource& Isc3(double value)
8141 {
8142 Obj_SetFloat64(ptr, Properties::Isc3, value);
8143 return *this;
8144 }
8145
8151 double Isc1()
8152 {
8153 return Obj_GetFloat64(ptr, Properties::Isc1);
8154 }
8155
8156 Vsource& Isc1(double value)
8157 {
8158 Obj_SetFloat64(ptr, Properties::Isc1, value);
8159 return *this;
8160 }
8161
8167 double R1()
8168 {
8169 return Obj_GetFloat64(ptr, Properties::R1);
8170 }
8171
8172 Vsource& R1(double value)
8173 {
8174 Obj_SetFloat64(ptr, Properties::R1, value);
8175 return *this;
8176 }
8177
8183 double X1()
8184 {
8185 return Obj_GetFloat64(ptr, Properties::X1);
8186 }
8187
8188 Vsource& X1(double value)
8189 {
8190 Obj_SetFloat64(ptr, Properties::X1, value);
8191 return *this;
8192 }
8193
8199 double R0()
8200 {
8201 return Obj_GetFloat64(ptr, Properties::R0);
8202 }
8203
8204 Vsource& R0(double value)
8205 {
8206 Obj_SetFloat64(ptr, Properties::R0, value);
8207 return *this;
8208 }
8209
8215 double X0()
8216 {
8217 return Obj_GetFloat64(ptr, Properties::X0);
8218 }
8219
8220 Vsource& X0(double value)
8221 {
8222 Obj_SetFloat64(ptr, Properties::X0, value);
8223 return *this;
8224 }
8225
8230 ScanType scantype()
8231 {
8232 return ScanType(Obj_GetInt32(ptr, Properties::ScanType));
8233 }
8234
8235 Vsource& scantype(int32_t value)
8236 {
8237 Obj_SetInt32(ptr, Properties::ScanType, value);
8238 return *this;
8239 }
8240
8241 Vsource& scantype(ScanType value)
8242 {
8243 Obj_SetInt32(ptr, Properties::ScanType, int32_t(value));
8244 return *this;
8245 }
8246
8247 Vsource& scantype(const string &value)
8248 {
8249 set_string(Properties::ScanType, value);
8250 return *this;
8251 }
8252
8253 Vsource& scantype(const char *value)
8254 {
8255 set_string(Properties::ScanType, value);
8256 return *this;
8257 }
8258
8264 {
8265 return get_prop_string(Properties::ScanType);
8266 }
8267
8272 Vsource& scantype_str(const string &value)
8273 {
8274 set_string(Properties::ScanType, value);
8275 return *this;
8276 }
8277
8282 SequenceType Sequence()
8283 {
8284 return SequenceType(Obj_GetInt32(ptr, Properties::Sequence));
8285 }
8286
8287 Vsource& Sequence(int32_t value)
8288 {
8289 Obj_SetInt32(ptr, Properties::Sequence, value);
8290 return *this;
8291 }
8292
8293 Vsource& Sequence(SequenceType value)
8294 {
8295 Obj_SetInt32(ptr, Properties::Sequence, int32_t(value));
8296 return *this;
8297 }
8298
8299 Vsource& Sequence(const string &value)
8300 {
8301 set_string(Properties::Sequence, value);
8302 return *this;
8303 }
8304
8305 Vsource& Sequence(const char *value)
8306 {
8307 set_string(Properties::Sequence, value);
8308 return *this;
8309 }
8310
8316 {
8317 return get_prop_string(Properties::Sequence);
8318 }
8319
8324 Vsource& Sequence_str(const string &value)
8325 {
8326 set_string(Properties::Sequence, value);
8327 return *this;
8328 }
8329
8338 string bus2()
8339 {
8340 return get_prop_string(Properties::bus2);
8341 }
8342
8343 Vsource& bus2(const string &value)
8344 {
8345 set_string(Properties::bus2, value);
8346 return *this;
8347 }
8348
8349 Vsource& bus2(const char* value)
8350 {
8351 set_string(Properties::bus2, value);
8352 return *this;
8353 }
8354
8365 complex Z1()
8366 {
8367 return get_complex(Properties::Z1);
8368 }
8369 Vsource& Z1(complex value)
8370 {
8371 set_complex(Properties::Z1, value);
8372 return *this;
8373 }
8374
8385 complex Z0()
8386 {
8387 return get_complex(Properties::Z0);
8388 }
8389 Vsource& Z0(complex value)
8390 {
8391 set_complex(Properties::Z0, value);
8392 return *this;
8393 }
8394
8405 complex Z2()
8406 {
8407 return get_complex(Properties::Z2);
8408 }
8409 Vsource& Z2(complex value)
8410 {
8411 set_complex(Properties::Z2, value);
8412 return *this;
8413 }
8414
8419 complex puZ1()
8420 {
8421 return get_complex(Properties::puZ1);
8422 }
8423 Vsource& puZ1(complex value)
8424 {
8425 set_complex(Properties::puZ1, value);
8426 return *this;
8427 }
8428
8433 complex puZ0()
8434 {
8435 return get_complex(Properties::puZ0);
8436 }
8437 Vsource& puZ0(complex value)
8438 {
8439 set_complex(Properties::puZ0, value);
8440 return *this;
8441 }
8442
8447 complex puZ2()
8448 {
8449 return get_complex(Properties::puZ2);
8450 }
8451 Vsource& puZ2(complex value)
8452 {
8453 set_complex(Properties::puZ2, value);
8454 return *this;
8455 }
8456
8461 double baseMVA()
8462 {
8463 return Obj_GetFloat64(ptr, Properties::baseMVA);
8464 }
8465
8466 Vsource& baseMVA(double value)
8467 {
8468 Obj_SetFloat64(ptr, Properties::baseMVA, value);
8469 return *this;
8470 }
8471
8480 string Yearly()
8481 {
8482 return get_prop_string(Properties::Yearly);
8483 }
8484
8485 Vsource& Yearly(const string &value)
8486 {
8487 set_string(Properties::Yearly, value);
8488 return *this;
8489 }
8490
8492 {
8493 set_obj(Properties::Yearly, value);
8494 return *this;
8495 }
8496
8506 {
8507 return get_obj<dss::obj::LoadShape>(Properties::Yearly);
8508 }
8509
8511 {
8512 set_obj(Properties::Yearly, value);
8513 return *this;
8514 }
8515
8524 string Daily()
8525 {
8526 return get_prop_string(Properties::Daily);
8527 }
8528
8529 Vsource& Daily(const string &value)
8530 {
8531 set_string(Properties::Daily, value);
8532 return *this;
8533 }
8534
8536 {
8537 set_obj(Properties::Daily, value);
8538 return *this;
8539 }
8540
8550 {
8551 return get_obj<dss::obj::LoadShape>(Properties::Daily);
8552 }
8553
8555 {
8556 set_obj(Properties::Daily, value);
8557 return *this;
8558 }
8559
8568 string Duty()
8569 {
8570 return get_prop_string(Properties::Duty);
8571 }
8572
8573 Vsource& Duty(const string &value)
8574 {
8575 set_string(Properties::Duty, value);
8576 return *this;
8577 }
8578
8580 {
8581 set_obj(Properties::Duty, value);
8582 return *this;
8583 }
8584
8594 {
8595 return get_obj<dss::obj::LoadShape>(Properties::Duty);
8596 }
8597
8599 {
8600 set_obj(Properties::Duty, value);
8601 return *this;
8602 }
8603
8609 {
8610 return VSourceModel(Obj_GetInt32(ptr, Properties::Model));
8611 }
8612
8613 Vsource& Model(int32_t value)
8614 {
8615 Obj_SetInt32(ptr, Properties::Model, value);
8616 return *this;
8617 }
8618
8619 Vsource& Model(VSourceModel value)
8620 {
8621 Obj_SetInt32(ptr, Properties::Model, int32_t(value));
8622 return *this;
8623 }
8624
8625 Vsource& Model(const string &value)
8626 {
8627 set_string(Properties::Model, value);
8628 return *this;
8629 }
8630
8631 Vsource& Model(const char *value)
8632 {
8633 set_string(Properties::Model, value);
8634 return *this;
8635 }
8636
8641 string Model_str()
8642 {
8643 return get_prop_string(Properties::Model);
8644 }
8645
8650 Vsource& Model_str(const string &value)
8651 {
8652 set_string(Properties::Model, value);
8653 return *this;
8654 }
8655
8660 complex puZideal()
8661 {
8662 return get_complex(Properties::puZideal);
8663 }
8664 Vsource& puZideal(complex value)
8665 {
8666 set_complex(Properties::puZideal, value);
8667 return *this;
8668 }
8669
8674 string spectrum()
8675 {
8676 return get_prop_string(Properties::spectrum);
8677 }
8678
8679 Vsource& spectrum(const string &value)
8680 {
8681 set_string(Properties::spectrum, value);
8682 return *this;
8683 }
8684
8686 {
8687 set_obj(Properties::spectrum, value);
8688 return *this;
8689 }
8690
8696 {
8697 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
8698 }
8699
8701 {
8702 set_obj(Properties::spectrum, value);
8703 return *this;
8704 }
8705
8710 double basefreq()
8711 {
8712 return Obj_GetFloat64(ptr, Properties::basefreq);
8713 }
8714
8715 Vsource& basefreq(double value)
8716 {
8717 Obj_SetFloat64(ptr, Properties::basefreq, value);
8718 return *this;
8719 }
8720
8725 bool enabled()
8726 {
8727 return Obj_GetInt32(ptr, Properties::enabled) != 0;
8728 }
8729
8730 Vsource& enabled(bool value)
8731 {
8732 Obj_SetInt32(ptr, Properties::enabled, value);
8733 return *this;
8734 }
8735
8742 Vsource& like(const string &value)
8743 {
8744 set_string(Properties::like, value);
8745 return *this;
8746 }
8747
8754 Vsource& like(const char *value)
8755 {
8756 set_string(Properties::like, value);
8757 return *this;
8758 }
8759};
8760
8761
8762class Isource: public DSSObj
8763{
8764public:
8765 const static char dss_cls_name[];
8766 const static int32_t dss_cls_idx = 17;
8768 {
8769 enum {
8770 bus1 = 1,
8771 amps = 2,
8772 angle = 3,
8773 frequency = 4,
8774 phases = 5,
8775 scantype = 6,
8776 sequence = 7,
8777 Yearly = 8,
8778 Daily = 9,
8779 Duty = 10,
8780 Bus2 = 11,
8781 spectrum = 12,
8782 basefreq = 13,
8783 enabled = 14,
8784 like = 15,
8785 };
8786 };
8787
8791 Isource(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
8792 {
8793 }
8794
8798 Isource(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
8799 {
8800 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
8801 check_for_error();
8802 if (ptr == nullptr)
8803 {
8804 throw std::runtime_error("Could not find the Isource element by the given index");
8805 }
8806 }
8807
8811 Isource(APIUtil *util, char *name): DSSObj(util, nullptr)
8812 {
8813 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
8814 check_for_error();
8815 if (ptr == nullptr)
8816 {
8817 throw std::runtime_error("Could not find the Isource element by the given name");
8818 }
8819 }
8820
8824 const char* name()
8825 {
8826 return Obj_GetName(ptr);
8827 }
8828
8833 {
8834 Obj_BeginEdit(ptr);
8835 return *this;
8836 }
8837
8842 Isource& end_edit(int32_t num_edits=1)
8843 {
8844 Obj_EndEdit(ptr, num_edits);
8845 return *this;
8846 }
8847
8854 string bus1()
8855 {
8856 return get_prop_string(Properties::bus1);
8857 }
8858
8859 Isource& bus1(const string &value)
8860 {
8861 set_string(Properties::bus1, value);
8862 return *this;
8863 }
8864
8865 Isource& bus1(const char* value)
8866 {
8867 set_string(Properties::bus1, value);
8868 return *this;
8869 }
8870
8875 double amps()
8876 {
8877 return Obj_GetFloat64(ptr, Properties::amps);
8878 }
8879
8880 Isource& amps(double value)
8881 {
8882 Obj_SetFloat64(ptr, Properties::amps, value);
8883 return *this;
8884 }
8885
8891 double angle()
8892 {
8893 return Obj_GetFloat64(ptr, Properties::angle);
8894 }
8895
8896 Isource& angle(double value)
8897 {
8898 Obj_SetFloat64(ptr, Properties::angle, value);
8899 return *this;
8900 }
8901
8906 double frequency()
8907 {
8908 return Obj_GetFloat64(ptr, Properties::frequency);
8909 }
8910
8911 Isource& frequency(double value)
8912 {
8913 Obj_SetFloat64(ptr, Properties::frequency, value);
8914 return *this;
8915 }
8916
8921 int32_t phases()
8922 {
8923 return Obj_GetInt32(ptr, Properties::phases);
8924 }
8925
8926 Isource& phases(int32_t value)
8927 {
8928 Obj_SetInt32(ptr, Properties::phases, value);
8929 return *this;
8930 }
8931
8936 ScanType scantype()
8937 {
8938 return ScanType(Obj_GetInt32(ptr, Properties::scantype));
8939 }
8940
8941 Isource& scantype(int32_t value)
8942 {
8943 Obj_SetInt32(ptr, Properties::scantype, value);
8944 return *this;
8945 }
8946
8947 Isource& scantype(ScanType value)
8948 {
8949 Obj_SetInt32(ptr, Properties::scantype, int32_t(value));
8950 return *this;
8951 }
8952
8953 Isource& scantype(const string &value)
8954 {
8955 set_string(Properties::scantype, value);
8956 return *this;
8957 }
8958
8959 Isource& scantype(const char *value)
8960 {
8961 set_string(Properties::scantype, value);
8962 return *this;
8963 }
8964
8970 {
8971 return get_prop_string(Properties::scantype);
8972 }
8973
8978 Isource& scantype_str(const string &value)
8979 {
8980 set_string(Properties::scantype, value);
8981 return *this;
8982 }
8983
8988 SequenceType sequence()
8989 {
8990 return SequenceType(Obj_GetInt32(ptr, Properties::sequence));
8991 }
8992
8993 Isource& sequence(int32_t value)
8994 {
8995 Obj_SetInt32(ptr, Properties::sequence, value);
8996 return *this;
8997 }
8998
8999 Isource& sequence(SequenceType value)
9000 {
9001 Obj_SetInt32(ptr, Properties::sequence, int32_t(value));
9002 return *this;
9003 }
9004
9005 Isource& sequence(const string &value)
9006 {
9007 set_string(Properties::sequence, value);
9008 return *this;
9009 }
9010
9011 Isource& sequence(const char *value)
9012 {
9013 set_string(Properties::sequence, value);
9014 return *this;
9015 }
9016
9022 {
9023 return get_prop_string(Properties::sequence);
9024 }
9025
9030 Isource& sequence_str(const string &value)
9031 {
9032 set_string(Properties::sequence, value);
9033 return *this;
9034 }
9035
9044 string Yearly()
9045 {
9046 return get_prop_string(Properties::Yearly);
9047 }
9048
9049 Isource& Yearly(const string &value)
9050 {
9051 set_string(Properties::Yearly, value);
9052 return *this;
9053 }
9054
9056 {
9057 set_obj(Properties::Yearly, value);
9058 return *this;
9059 }
9060
9070 {
9071 return get_obj<dss::obj::LoadShape>(Properties::Yearly);
9072 }
9073
9075 {
9076 set_obj(Properties::Yearly, value);
9077 return *this;
9078 }
9079
9088 string Daily()
9089 {
9090 return get_prop_string(Properties::Daily);
9091 }
9092
9093 Isource& Daily(const string &value)
9094 {
9095 set_string(Properties::Daily, value);
9096 return *this;
9097 }
9098
9100 {
9101 set_obj(Properties::Daily, value);
9102 return *this;
9103 }
9104
9114 {
9115 return get_obj<dss::obj::LoadShape>(Properties::Daily);
9116 }
9117
9119 {
9120 set_obj(Properties::Daily, value);
9121 return *this;
9122 }
9123
9132 string Duty()
9133 {
9134 return get_prop_string(Properties::Duty);
9135 }
9136
9137 Isource& Duty(const string &value)
9138 {
9139 set_string(Properties::Duty, value);
9140 return *this;
9141 }
9142
9144 {
9145 set_obj(Properties::Duty, value);
9146 return *this;
9147 }
9148
9158 {
9159 return get_obj<dss::obj::LoadShape>(Properties::Duty);
9160 }
9161
9163 {
9164 set_obj(Properties::Duty, value);
9165 return *this;
9166 }
9167
9176 string Bus2()
9177 {
9178 return get_prop_string(Properties::Bus2);
9179 }
9180
9181 Isource& Bus2(const string &value)
9182 {
9183 set_string(Properties::Bus2, value);
9184 return *this;
9185 }
9186
9187 Isource& Bus2(const char* value)
9188 {
9189 set_string(Properties::Bus2, value);
9190 return *this;
9191 }
9192
9197 string spectrum()
9198 {
9199 return get_prop_string(Properties::spectrum);
9200 }
9201
9202 Isource& spectrum(const string &value)
9203 {
9204 set_string(Properties::spectrum, value);
9205 return *this;
9206 }
9207
9209 {
9210 set_obj(Properties::spectrum, value);
9211 return *this;
9212 }
9213
9219 {
9220 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
9221 }
9222
9224 {
9225 set_obj(Properties::spectrum, value);
9226 return *this;
9227 }
9228
9233 double basefreq()
9234 {
9235 return Obj_GetFloat64(ptr, Properties::basefreq);
9236 }
9237
9238 Isource& basefreq(double value)
9239 {
9240 Obj_SetFloat64(ptr, Properties::basefreq, value);
9241 return *this;
9242 }
9243
9248 bool enabled()
9249 {
9250 return Obj_GetInt32(ptr, Properties::enabled) != 0;
9251 }
9252
9253 Isource& enabled(bool value)
9254 {
9255 Obj_SetInt32(ptr, Properties::enabled, value);
9256 return *this;
9257 }
9258
9265 Isource& like(const string &value)
9266 {
9267 set_string(Properties::like, value);
9268 return *this;
9269 }
9270
9277 Isource& like(const char *value)
9278 {
9279 set_string(Properties::like, value);
9280 return *this;
9281 }
9282};
9283
9284
9285class VCCS: public DSSObj
9286{
9287public:
9288 const static char dss_cls_name[];
9289 const static int32_t dss_cls_idx = 18;
9291 {
9292 enum {
9293 bus1 = 1,
9294 phases = 2,
9295 prated = 3,
9296 vrated = 4,
9297 ppct = 5,
9298 bp1 = 6,
9299 bp2 = 7,
9300 filter = 8,
9301 fsample = 9,
9302 rmsmode = 10,
9303 imaxpu = 11,
9304 vrmstau = 12,
9305 irmstau = 13,
9306 spectrum = 14,
9307 basefreq = 15,
9308 enabled = 16,
9309 like = 17,
9310 };
9311 };
9312
9316 VCCS(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
9317 {
9318 }
9319
9323 VCCS(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
9324 {
9325 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
9326 check_for_error();
9327 if (ptr == nullptr)
9328 {
9329 throw std::runtime_error("Could not find the VCCS element by the given index");
9330 }
9331 }
9332
9336 VCCS(APIUtil *util, char *name): DSSObj(util, nullptr)
9337 {
9338 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
9339 check_for_error();
9340 if (ptr == nullptr)
9341 {
9342 throw std::runtime_error("Could not find the VCCS element by the given name");
9343 }
9344 }
9345
9349 const char* name()
9350 {
9351 return Obj_GetName(ptr);
9352 }
9353
9358 {
9359 Obj_BeginEdit(ptr);
9360 return *this;
9361 }
9362
9367 VCCS& end_edit(int32_t num_edits=1)
9368 {
9369 Obj_EndEdit(ptr, num_edits);
9370 return *this;
9371 }
9372
9379 string bus1()
9380 {
9381 return get_prop_string(Properties::bus1);
9382 }
9383
9384 VCCS& bus1(const string &value)
9385 {
9386 set_string(Properties::bus1, value);
9387 return *this;
9388 }
9389
9390 VCCS& bus1(const char* value)
9391 {
9392 set_string(Properties::bus1, value);
9393 return *this;
9394 }
9395
9400 int32_t phases()
9401 {
9402 return Obj_GetInt32(ptr, Properties::phases);
9403 }
9404
9405 VCCS& phases(int32_t value)
9406 {
9407 Obj_SetInt32(ptr, Properties::phases, value);
9408 return *this;
9409 }
9410
9415 double prated()
9416 {
9417 return Obj_GetFloat64(ptr, Properties::prated);
9418 }
9419
9420 VCCS& prated(double value)
9421 {
9422 Obj_SetFloat64(ptr, Properties::prated, value);
9423 return *this;
9424 }
9425
9430 double vrated()
9431 {
9432 return Obj_GetFloat64(ptr, Properties::vrated);
9433 }
9434
9435 VCCS& vrated(double value)
9436 {
9437 Obj_SetFloat64(ptr, Properties::vrated, value);
9438 return *this;
9439 }
9440
9445 double ppct()
9446 {
9447 return Obj_GetFloat64(ptr, Properties::ppct);
9448 }
9449
9450 VCCS& ppct(double value)
9451 {
9452 Obj_SetFloat64(ptr, Properties::ppct, value);
9453 return *this;
9454 }
9455
9460 string bp1()
9461 {
9462 return get_prop_string(Properties::bp1);
9463 }
9464
9465 VCCS& bp1(const string &value)
9466 {
9467 set_string(Properties::bp1, value);
9468 return *this;
9469 }
9470
9471 VCCS& bp1(dss::obj::XYcurve &value)
9472 {
9473 set_obj(Properties::bp1, value);
9474 return *this;
9475 }
9476
9482 {
9483 return get_obj<dss::obj::XYcurve>(Properties::bp1);
9484 }
9485
9487 {
9488 set_obj(Properties::bp1, value);
9489 return *this;
9490 }
9491
9496 string bp2()
9497 {
9498 return get_prop_string(Properties::bp2);
9499 }
9500
9501 VCCS& bp2(const string &value)
9502 {
9503 set_string(Properties::bp2, value);
9504 return *this;
9505 }
9506
9507 VCCS& bp2(dss::obj::XYcurve &value)
9508 {
9509 set_obj(Properties::bp2, value);
9510 return *this;
9511 }
9512
9518 {
9519 return get_obj<dss::obj::XYcurve>(Properties::bp2);
9520 }
9521
9523 {
9524 set_obj(Properties::bp2, value);
9525 return *this;
9526 }
9527
9532 string filter()
9533 {
9534 return get_prop_string(Properties::filter);
9535 }
9536
9537 VCCS& filter(const string &value)
9538 {
9539 set_string(Properties::filter, value);
9540 return *this;
9541 }
9542
9544 {
9545 set_obj(Properties::filter, value);
9546 return *this;
9547 }
9548
9554 {
9555 return get_obj<dss::obj::XYcurve>(Properties::filter);
9556 }
9557
9559 {
9560 set_obj(Properties::filter, value);
9561 return *this;
9562 }
9563
9568 double fsample()
9569 {
9570 return Obj_GetFloat64(ptr, Properties::fsample);
9571 }
9572
9573 VCCS& fsample(double value)
9574 {
9575 Obj_SetFloat64(ptr, Properties::fsample, value);
9576 return *this;
9577 }
9578
9583 bool rmsmode()
9584 {
9585 return Obj_GetInt32(ptr, Properties::rmsmode) != 0;
9586 }
9587
9588 VCCS& rmsmode(bool value)
9589 {
9590 Obj_SetInt32(ptr, Properties::rmsmode, value);
9591 return *this;
9592 }
9593
9598 double imaxpu()
9599 {
9600 return Obj_GetFloat64(ptr, Properties::imaxpu);
9601 }
9602
9603 VCCS& imaxpu(double value)
9604 {
9605 Obj_SetFloat64(ptr, Properties::imaxpu, value);
9606 return *this;
9607 }
9608
9613 double vrmstau()
9614 {
9615 return Obj_GetFloat64(ptr, Properties::vrmstau);
9616 }
9617
9618 VCCS& vrmstau(double value)
9619 {
9620 Obj_SetFloat64(ptr, Properties::vrmstau, value);
9621 return *this;
9622 }
9623
9628 double irmstau()
9629 {
9630 return Obj_GetFloat64(ptr, Properties::irmstau);
9631 }
9632
9633 VCCS& irmstau(double value)
9634 {
9635 Obj_SetFloat64(ptr, Properties::irmstau, value);
9636 return *this;
9637 }
9638
9643 string spectrum()
9644 {
9645 return get_prop_string(Properties::spectrum);
9646 }
9647
9648 VCCS& spectrum(const string &value)
9649 {
9650 set_string(Properties::spectrum, value);
9651 return *this;
9652 }
9653
9655 {
9656 set_obj(Properties::spectrum, value);
9657 return *this;
9658 }
9659
9665 {
9666 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
9667 }
9668
9670 {
9671 set_obj(Properties::spectrum, value);
9672 return *this;
9673 }
9674
9679 double basefreq()
9680 {
9681 return Obj_GetFloat64(ptr, Properties::basefreq);
9682 }
9683
9684 VCCS& basefreq(double value)
9685 {
9686 Obj_SetFloat64(ptr, Properties::basefreq, value);
9687 return *this;
9688 }
9689
9694 bool enabled()
9695 {
9696 return Obj_GetInt32(ptr, Properties::enabled) != 0;
9697 }
9698
9699 VCCS& enabled(bool value)
9700 {
9701 Obj_SetInt32(ptr, Properties::enabled, value);
9702 return *this;
9703 }
9704
9711 VCCS& like(const string &value)
9712 {
9713 set_string(Properties::like, value);
9714 return *this;
9715 }
9716
9723 VCCS& like(const char *value)
9724 {
9725 set_string(Properties::like, value);
9726 return *this;
9727 }
9728};
9729
9730
9731class Load: public DSSObj
9732{
9733public:
9734 const static char dss_cls_name[];
9735 const static int32_t dss_cls_idx = 19;
9737 {
9738 enum {
9739 phases = 1,
9740 bus1 = 2,
9741 kV = 3,
9742 kW = 4,
9743 pf = 5,
9744 model = 6,
9745 yearly = 7,
9746 daily = 8,
9747 duty = 9,
9748 growth = 10,
9749 conn = 11,
9750 kvar = 12,
9751 Rneut = 13,
9752 Xneut = 14,
9753 status = 15,
9754 cls = 16,
9755 Vminpu = 17,
9756 Vmaxpu = 18,
9757 Vminnorm = 19,
9758 Vminemerg = 20,
9759 xfkVA = 21,
9760 allocationfactor = 22,
9761 kVA = 23,
9762 pctmean = 24,
9763 pctstddev = 25,
9764 CVRwatts = 26,
9765 CVRvars = 27,
9766 kwh = 28,
9767 kwhdays = 29,
9768 Cfactor = 30,
9769 CVRcurve = 31,
9770 NumCust = 32,
9771 ZIPV = 33,
9772 pctSeriesRL = 34,
9773 RelWeight = 35,
9774 Vlowpu = 36,
9775 puXharm = 37,
9776 XRharm = 38,
9777 spectrum = 39,
9778 basefreq = 40,
9779 enabled = 41,
9780 like = 42,
9781 };
9782 };
9783
9784 // Class-specific enumerations
9785
9789 enum class LoadModel: int32_t
9790 {
9791 ConstantPQ = 1,
9792 ConstantZ = 2,
9793 Motor = 3,
9794 CVR = 4,
9795 ConstantI = 5,
9796 ConstantP_fixedQ = 6,
9797 ConstantP_fixedX = 7,
9798 ZIPV = 8
9799 };
9800
9801
9805 enum class LoadStatus: int32_t
9806 {
9807 Variable = 0,
9808 Fixed = 1,
9809 Exempt = 2
9810 };
9811
9812
9813
9817 Load(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
9818 {
9819 }
9820
9824 Load(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
9825 {
9826 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
9827 check_for_error();
9828 if (ptr == nullptr)
9829 {
9830 throw std::runtime_error("Could not find the Load element by the given index");
9831 }
9832 }
9833
9837 Load(APIUtil *util, char *name): DSSObj(util, nullptr)
9838 {
9839 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
9840 check_for_error();
9841 if (ptr == nullptr)
9842 {
9843 throw std::runtime_error("Could not find the Load element by the given name");
9844 }
9845 }
9846
9850 const char* name()
9851 {
9852 return Obj_GetName(ptr);
9853 }
9854
9859 {
9860 Obj_BeginEdit(ptr);
9861 return *this;
9862 }
9863
9868 Load& end_edit(int32_t num_edits=1)
9869 {
9870 Obj_EndEdit(ptr, num_edits);
9871 return *this;
9872 }
9873
9878 int32_t phases()
9879 {
9880 return Obj_GetInt32(ptr, Properties::phases);
9881 }
9882
9883 Load& phases(int32_t value)
9884 {
9885 Obj_SetInt32(ptr, Properties::phases, value);
9886 return *this;
9887 }
9888
9893 string bus1()
9894 {
9895 return get_prop_string(Properties::bus1);
9896 }
9897
9898 Load& bus1(const string &value)
9899 {
9900 set_string(Properties::bus1, value);
9901 return *this;
9902 }
9903
9904 Load& bus1(const char* value)
9905 {
9906 set_string(Properties::bus1, value);
9907 return *this;
9908 }
9909
9914 double kV()
9915 {
9916 return Obj_GetFloat64(ptr, Properties::kV);
9917 }
9918
9919 Load& kV(double value)
9920 {
9921 Obj_SetFloat64(ptr, Properties::kV, value);
9922 return *this;
9923 }
9924
9936 double kW()
9937 {
9938 return Obj_GetFloat64(ptr, Properties::kW);
9939 }
9940
9941 Load& kW(double value)
9942 {
9943 Obj_SetFloat64(ptr, Properties::kW, value);
9944 return *this;
9945 }
9946
9951 double pf()
9952 {
9953 return Obj_GetFloat64(ptr, Properties::pf);
9954 }
9955
9956 Load& pf(double value)
9957 {
9958 Obj_SetFloat64(ptr, Properties::pf, value);
9959 return *this;
9960 }
9961
9978 {
9979 return LoadModel(Obj_GetInt32(ptr, Properties::model));
9980 }
9981
9982 Load& model(int32_t value)
9983 {
9984 Obj_SetInt32(ptr, Properties::model, value);
9985 return *this;
9986 }
9987
9988 Load& model(LoadModel value)
9989 {
9990 Obj_SetInt32(ptr, Properties::model, int32_t(value));
9991 return *this;
9992 }
9993
9998 string yearly()
9999 {
10000 return get_prop_string(Properties::yearly);
10001 }
10002
10003 Load& yearly(const string &value)
10004 {
10005 set_string(Properties::yearly, value);
10006 return *this;
10007 }
10008
10010 {
10011 set_obj(Properties::yearly, value);
10012 return *this;
10013 }
10014
10020 {
10021 return get_obj<dss::obj::LoadShape>(Properties::yearly);
10022 }
10023
10025 {
10026 set_obj(Properties::yearly, value);
10027 return *this;
10028 }
10029
10034 string daily()
10035 {
10036 return get_prop_string(Properties::daily);
10037 }
10038
10039 Load& daily(const string &value)
10040 {
10041 set_string(Properties::daily, value);
10042 return *this;
10043 }
10044
10046 {
10047 set_obj(Properties::daily, value);
10048 return *this;
10049 }
10050
10056 {
10057 return get_obj<dss::obj::LoadShape>(Properties::daily);
10058 }
10059
10061 {
10062 set_obj(Properties::daily, value);
10063 return *this;
10064 }
10065
10070 string duty()
10071 {
10072 return get_prop_string(Properties::duty);
10073 }
10074
10075 Load& duty(const string &value)
10076 {
10077 set_string(Properties::duty, value);
10078 return *this;
10079 }
10080
10082 {
10083 set_obj(Properties::duty, value);
10084 return *this;
10085 }
10086
10092 {
10093 return get_obj<dss::obj::LoadShape>(Properties::duty);
10094 }
10095
10097 {
10098 set_obj(Properties::duty, value);
10099 return *this;
10100 }
10101
10106 string growth()
10107 {
10108 return get_prop_string(Properties::growth);
10109 }
10110
10111 Load& growth(const string &value)
10112 {
10113 set_string(Properties::growth, value);
10114 return *this;
10115 }
10116
10118 {
10119 set_obj(Properties::growth, value);
10120 return *this;
10121 }
10122
10128 {
10129 return get_obj<dss::obj::GrowthShape>(Properties::growth);
10130 }
10131
10133 {
10134 set_obj(Properties::growth, value);
10135 return *this;
10136 }
10137
10142 Connection conn()
10143 {
10144 return Connection(Obj_GetInt32(ptr, Properties::conn));
10145 }
10146
10147 Load& conn(int32_t value)
10148 {
10149 Obj_SetInt32(ptr, Properties::conn, value);
10150 return *this;
10151 }
10152
10153 Load& conn(Connection value)
10154 {
10155 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
10156 return *this;
10157 }
10158
10159 Load& conn(const string &value)
10160 {
10161 set_string(Properties::conn, value);
10162 return *this;
10163 }
10164
10165 Load& conn(const char *value)
10166 {
10167 set_string(Properties::conn, value);
10168 return *this;
10169 }
10170
10175 string conn_str()
10176 {
10177 return get_prop_string(Properties::conn);
10178 }
10179
10184 Load& conn_str(const string &value)
10185 {
10186 set_string(Properties::conn, value);
10187 return *this;
10188 }
10189
10194 double kvar()
10195 {
10196 return Obj_GetFloat64(ptr, Properties::kvar);
10197 }
10198
10199 Load& kvar(double value)
10200 {
10201 Obj_SetFloat64(ptr, Properties::kvar, value);
10202 return *this;
10203 }
10204
10209 double Rneut()
10210 {
10211 return Obj_GetFloat64(ptr, Properties::Rneut);
10212 }
10213
10214 Load& Rneut(double value)
10215 {
10216 Obj_SetFloat64(ptr, Properties::Rneut, value);
10217 return *this;
10218 }
10219
10224 double Xneut()
10225 {
10226 return Obj_GetFloat64(ptr, Properties::Xneut);
10227 }
10228
10229 Load& Xneut(double value)
10230 {
10231 Obj_SetFloat64(ptr, Properties::Xneut, value);
10232 return *this;
10233 }
10234
10240 {
10241 return LoadStatus(Obj_GetInt32(ptr, Properties::status));
10242 }
10243
10244 Load& status(int32_t value)
10245 {
10246 Obj_SetInt32(ptr, Properties::status, value);
10247 return *this;
10248 }
10249
10250 Load& status(LoadStatus value)
10251 {
10252 Obj_SetInt32(ptr, Properties::status, int32_t(value));
10253 return *this;
10254 }
10255
10256 Load& status(const string &value)
10257 {
10258 set_string(Properties::status, value);
10259 return *this;
10260 }
10261
10262 Load& status(const char *value)
10263 {
10264 set_string(Properties::status, value);
10265 return *this;
10266 }
10267
10272 string status_str()
10273 {
10274 return get_prop_string(Properties::status);
10275 }
10276
10281 Load& status_str(const string &value)
10282 {
10283 set_string(Properties::status, value);
10284 return *this;
10285 }
10286
10291 int32_t cls()
10292 {
10293 return Obj_GetInt32(ptr, Properties::cls);
10294 }
10295
10296 Load& cls(int32_t value)
10297 {
10298 Obj_SetInt32(ptr, Properties::cls, value);
10299 return *this;
10300 }
10301
10306 double Vminpu()
10307 {
10308 return Obj_GetFloat64(ptr, Properties::Vminpu);
10309 }
10310
10311 Load& Vminpu(double value)
10312 {
10313 Obj_SetFloat64(ptr, Properties::Vminpu, value);
10314 return *this;
10315 }
10316
10321 double Vmaxpu()
10322 {
10323 return Obj_GetFloat64(ptr, Properties::Vmaxpu);
10324 }
10325
10326 Load& Vmaxpu(double value)
10327 {
10328 Obj_SetFloat64(ptr, Properties::Vmaxpu, value);
10329 return *this;
10330 }
10331
10336 double Vminnorm()
10337 {
10338 return Obj_GetFloat64(ptr, Properties::Vminnorm);
10339 }
10340
10341 Load& Vminnorm(double value)
10342 {
10343 Obj_SetFloat64(ptr, Properties::Vminnorm, value);
10344 return *this;
10345 }
10346
10351 double Vminemerg()
10352 {
10353 return Obj_GetFloat64(ptr, Properties::Vminemerg);
10354 }
10355
10356 Load& Vminemerg(double value)
10357 {
10358 Obj_SetFloat64(ptr, Properties::Vminemerg, value);
10359 return *this;
10360 }
10361
10366 double xfkVA()
10367 {
10368 return Obj_GetFloat64(ptr, Properties::xfkVA);
10369 }
10370
10371 Load& xfkVA(double value)
10372 {
10373 Obj_SetFloat64(ptr, Properties::xfkVA, value);
10374 return *this;
10375 }
10376
10382 {
10383 return Obj_GetFloat64(ptr, Properties::allocationfactor);
10384 }
10385
10386 Load& allocationfactor(double value)
10387 {
10388 Obj_SetFloat64(ptr, Properties::allocationfactor, value);
10389 return *this;
10390 }
10391
10403 double kVA()
10404 {
10405 return Obj_GetFloat64(ptr, Properties::kVA);
10406 }
10407
10408 Load& kVA(double value)
10409 {
10410 Obj_SetFloat64(ptr, Properties::kVA, value);
10411 return *this;
10412 }
10413
10418 double pctmean()
10419 {
10420 return Obj_GetFloat64(ptr, Properties::pctmean);
10421 }
10422
10423 Load& pctmean(double value)
10424 {
10425 Obj_SetFloat64(ptr, Properties::pctmean, value);
10426 return *this;
10427 }
10428
10433 double pctstddev()
10434 {
10435 return Obj_GetFloat64(ptr, Properties::pctstddev);
10436 }
10437
10438 Load& pctstddev(double value)
10439 {
10440 Obj_SetFloat64(ptr, Properties::pctstddev, value);
10441 return *this;
10442 }
10443
10450 double CVRwatts()
10451 {
10452 return Obj_GetFloat64(ptr, Properties::CVRwatts);
10453 }
10454
10455 Load& CVRwatts(double value)
10456 {
10457 Obj_SetFloat64(ptr, Properties::CVRwatts, value);
10458 return *this;
10459 }
10460
10467 double CVRvars()
10468 {
10469 return Obj_GetFloat64(ptr, Properties::CVRvars);
10470 }
10471
10472 Load& CVRvars(double value)
10473 {
10474 Obj_SetFloat64(ptr, Properties::CVRvars, value);
10475 return *this;
10476 }
10477
10482 double kwh()
10483 {
10484 return Obj_GetFloat64(ptr, Properties::kwh);
10485 }
10486
10487 Load& kwh(double value)
10488 {
10489 Obj_SetFloat64(ptr, Properties::kwh, value);
10490 return *this;
10491 }
10492
10497 double kwhdays()
10498 {
10499 return Obj_GetFloat64(ptr, Properties::kwhdays);
10500 }
10501
10502 Load& kwhdays(double value)
10503 {
10504 Obj_SetFloat64(ptr, Properties::kwhdays, value);
10505 return *this;
10506 }
10507
10512 double Cfactor()
10513 {
10514 return Obj_GetFloat64(ptr, Properties::Cfactor);
10515 }
10516
10517 Load& Cfactor(double value)
10518 {
10519 Obj_SetFloat64(ptr, Properties::Cfactor, value);
10520 return *this;
10521 }
10522
10527 string CVRcurve()
10528 {
10529 return get_prop_string(Properties::CVRcurve);
10530 }
10531
10532 Load& CVRcurve(const string &value)
10533 {
10534 set_string(Properties::CVRcurve, value);
10535 return *this;
10536 }
10537
10539 {
10540 set_obj(Properties::CVRcurve, value);
10541 return *this;
10542 }
10543
10549 {
10550 return get_obj<dss::obj::LoadShape>(Properties::CVRcurve);
10551 }
10552
10554 {
10555 set_obj(Properties::CVRcurve, value);
10556 return *this;
10557 }
10558
10563 int32_t NumCust()
10564 {
10565 return Obj_GetInt32(ptr, Properties::NumCust);
10566 }
10567
10568 Load& NumCust(int32_t value)
10569 {
10570 Obj_SetInt32(ptr, Properties::NumCust, value);
10571 return *this;
10572 }
10573
10583 VectorXd ZIPV()
10584 {
10585 return get_array<VectorXd>(Properties::ZIPV);
10586 }
10587
10588 Load& ZIPV(VectorXd &value)
10589 {
10590 set_array<VectorXd>(Properties::ZIPV, value);
10591 return *this;
10592 }
10593
10599 {
10600 return Obj_GetFloat64(ptr, Properties::pctSeriesRL);
10601 }
10602
10603 Load& pctSeriesRL(double value)
10604 {
10605 Obj_SetFloat64(ptr, Properties::pctSeriesRL, value);
10606 return *this;
10607 }
10608
10615 double RelWeight()
10616 {
10617 return Obj_GetFloat64(ptr, Properties::RelWeight);
10618 }
10619
10620 Load& RelWeight(double value)
10621 {
10622 Obj_SetFloat64(ptr, Properties::RelWeight, value);
10623 return *this;
10624 }
10625
10630 double Vlowpu()
10631 {
10632 return Obj_GetFloat64(ptr, Properties::Vlowpu);
10633 }
10634
10635 Load& Vlowpu(double value)
10636 {
10637 Obj_SetFloat64(ptr, Properties::Vlowpu, value);
10638 return *this;
10639 }
10640
10649 double puXharm()
10650 {
10651 return Obj_GetFloat64(ptr, Properties::puXharm);
10652 }
10653
10654 Load& puXharm(double value)
10655 {
10656 Obj_SetFloat64(ptr, Properties::puXharm, value);
10657 return *this;
10658 }
10659
10664 double XRharm()
10665 {
10666 return Obj_GetFloat64(ptr, Properties::XRharm);
10667 }
10668
10669 Load& XRharm(double value)
10670 {
10671 Obj_SetFloat64(ptr, Properties::XRharm, value);
10672 return *this;
10673 }
10674
10679 string spectrum()
10680 {
10681 return get_prop_string(Properties::spectrum);
10682 }
10683
10684 Load& spectrum(const string &value)
10685 {
10686 set_string(Properties::spectrum, value);
10687 return *this;
10688 }
10689
10691 {
10692 set_obj(Properties::spectrum, value);
10693 return *this;
10694 }
10695
10701 {
10702 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
10703 }
10704
10706 {
10707 set_obj(Properties::spectrum, value);
10708 return *this;
10709 }
10710
10715 double basefreq()
10716 {
10717 return Obj_GetFloat64(ptr, Properties::basefreq);
10718 }
10719
10720 Load& basefreq(double value)
10721 {
10722 Obj_SetFloat64(ptr, Properties::basefreq, value);
10723 return *this;
10724 }
10725
10730 bool enabled()
10731 {
10732 return Obj_GetInt32(ptr, Properties::enabled) != 0;
10733 }
10734
10735 Load& enabled(bool value)
10736 {
10737 Obj_SetInt32(ptr, Properties::enabled, value);
10738 return *this;
10739 }
10740
10747 Load& like(const string &value)
10748 {
10749 set_string(Properties::like, value);
10750 return *this;
10751 }
10752
10759 Load& like(const char *value)
10760 {
10761 set_string(Properties::like, value);
10762 return *this;
10763 }
10764};
10765
10766
10767class Transformer: public DSSObj
10768{
10769public:
10770 const static char dss_cls_name[];
10771 const static int32_t dss_cls_idx = 20;
10773 {
10774 enum {
10775 phases = 1,
10776 windings = 2,
10777 wdg = 3,
10778 bus = 4,
10779 conn = 5,
10780 kV = 6,
10781 kVA = 7,
10782 tap = 8,
10783 pctR = 9,
10784 Rneut = 10,
10785 Xneut = 11,
10786 buses = 12,
10787 conns = 13,
10788 kVs = 14,
10789 kVAs = 15,
10790 taps = 16,
10791 XHL = 17,
10792 XHT = 18,
10793 XLT = 19,
10794 Xscarray = 20,
10795 thermal = 21,
10796 n = 22,
10797 m = 23,
10798 flrise = 24,
10799 hsrise = 25,
10800 pctloadloss = 26,
10801 pctnoloadloss = 27,
10802 normhkVA = 28,
10803 emerghkVA = 29,
10804 sub = 30,
10805 MaxTap = 31,
10806 MinTap = 32,
10807 NumTaps = 33,
10808 subname = 34,
10809 pctimag = 35,
10810 ppm_antifloat = 36,
10811 pctRs = 37,
10812 bank = 38,
10813 XfmrCode = 39,
10814 XRConst = 40,
10815 X12 = 41,
10816 X13 = 42,
10817 X23 = 43,
10818 LeadLag = 44,
10819 WdgCurrents = 45,
10820 Core = 46,
10821 RdcOhms = 47,
10822 Seasons = 48,
10823 Ratings = 49,
10824 normamps = 50,
10825 emergamps = 51,
10826 faultrate = 52,
10827 pctperm = 53,
10828 repair = 54,
10829 basefreq = 55,
10830 enabled = 56,
10831 like = 57,
10832 };
10833 };
10834
10838 Transformer(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
10839 {
10840 }
10841
10845 Transformer(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
10846 {
10847 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
10848 check_for_error();
10849 if (ptr == nullptr)
10850 {
10851 throw std::runtime_error("Could not find the Transformer element by the given index");
10852 }
10853 }
10854
10858 Transformer(APIUtil *util, char *name): DSSObj(util, nullptr)
10859 {
10860 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
10861 check_for_error();
10862 if (ptr == nullptr)
10863 {
10864 throw std::runtime_error("Could not find the Transformer element by the given name");
10865 }
10866 }
10867
10871 const char* name()
10872 {
10873 return Obj_GetName(ptr);
10874 }
10875
10880 {
10881 Obj_BeginEdit(ptr);
10882 return *this;
10883 }
10884
10889 Transformer& end_edit(int32_t num_edits=1)
10890 {
10891 Obj_EndEdit(ptr, num_edits);
10892 return *this;
10893 }
10894
10899 int32_t phases()
10900 {
10901 return Obj_GetInt32(ptr, Properties::phases);
10902 }
10903
10904 Transformer& phases(int32_t value)
10905 {
10906 Obj_SetInt32(ptr, Properties::phases, value);
10907 return *this;
10908 }
10909
10914 int32_t windings()
10915 {
10916 return Obj_GetInt32(ptr, Properties::windings);
10917 }
10918
10919 Transformer& windings(int32_t value)
10920 {
10921 Obj_SetInt32(ptr, Properties::windings, value);
10922 return *this;
10923 }
10924
10929 int32_t wdg()
10930 {
10931 return Obj_GetInt32(ptr, Properties::wdg);
10932 }
10933
10934 Transformer& wdg(int32_t value)
10935 {
10936 Obj_SetInt32(ptr, Properties::wdg, value);
10937 return *this;
10938 }
10939
10944 strings bus()
10945 {
10946 return get_array<strings>(Properties::bus);
10947 }
10948
10949 Transformer& bus(strings &value)
10950 {
10951 set_array<strings>(Properties::bus, value);
10952 return *this;
10953 }
10954
10959 std::vector<Connection> conn()
10960 {
10961 return get_array<std::vector<Connection>>(Properties::conn);
10962 }
10963
10964 Transformer& conn(std::vector<int32_t> &value)
10965 {
10966 set_array<std::vector<int32_t>>(Properties::conn, value);
10967 return *this;
10968 }
10969
10970 Transformer& conn(strings &value)
10971 {
10972 set_array<strings>(Properties::conn, value);
10973 return *this;
10974 }
10975
10980 strings conn_str()
10981 {
10982 return get_array<strings>(Properties::conn);
10983 }
10984
10985 Transformer& conn_str(strings &value)
10986 {
10987 conn(value);
10988 return *this;
10989 }
10990
10995 VectorXd kV()
10996 {
10997 return get_array<VectorXd>(Properties::kV);
10998 }
10999
11000 Transformer& kV(VectorXd &value)
11001 {
11002 set_array<VectorXd>(Properties::kV, value);
11003 return *this;
11004 }
11005
11010 VectorXd kVA()
11011 {
11012 return get_array<VectorXd>(Properties::kVA);
11013 }
11014
11015 Transformer& kVA(VectorXd &value)
11016 {
11017 set_array<VectorXd>(Properties::kVA, value);
11018 return *this;
11019 }
11020
11025 VectorXd tap()
11026 {
11027 return get_array<VectorXd>(Properties::tap);
11028 }
11029
11030 Transformer& tap(VectorXd &value)
11031 {
11032 set_array<VectorXd>(Properties::tap, value);
11033 return *this;
11034 }
11035
11040 VectorXd pctR()
11041 {
11042 return get_array<VectorXd>(Properties::pctR);
11043 }
11044
11045 Transformer& pctR(VectorXd &value)
11046 {
11047 set_array<VectorXd>(Properties::pctR, value);
11048 return *this;
11049 }
11050
11055 VectorXd Rneut()
11056 {
11057 return get_array<VectorXd>(Properties::Rneut);
11058 }
11059
11060 Transformer& Rneut(VectorXd &value)
11061 {
11062 set_array<VectorXd>(Properties::Rneut, value);
11063 return *this;
11064 }
11065
11070 VectorXd Xneut()
11071 {
11072 return get_array<VectorXd>(Properties::Xneut);
11073 }
11074
11075 Transformer& Xneut(VectorXd &value)
11076 {
11077 set_array<VectorXd>(Properties::Xneut, value);
11078 return *this;
11079 }
11080
11087 strings buses()
11088 {
11089 return get_array<strings>(Properties::buses);
11090 }
11091
11092 Transformer& buses(strings &value)
11093 {
11094 set_array<strings>(Properties::buses, value);
11095 return *this;
11096 }
11097
11104 std::vector<Connection> conns()
11105 {
11106 return get_array<std::vector<Connection>>(Properties::conns);
11107 }
11108
11109 Transformer& conns(std::vector<int32_t> &value)
11110 {
11111 set_array<std::vector<int32_t>>(Properties::conns, value);
11112 return *this;
11113 }
11114
11115 Transformer& conns(strings &value)
11116 {
11117 set_array<strings>(Properties::conns, value);
11118 return *this;
11119 }
11120
11127 strings conns_str()
11128 {
11129 return get_array<strings>(Properties::conns);
11130 }
11131
11132 Transformer& conns_str(strings &value)
11133 {
11134 conns(value);
11135 return *this;
11136 }
11137
11148 VectorXd kVs()
11149 {
11150 return get_array<VectorXd>(Properties::kVs);
11151 }
11152
11153 Transformer& kVs(VectorXd &value)
11154 {
11155 set_array<VectorXd>(Properties::kVs, value);
11156 return *this;
11157 }
11158
11163 VectorXd kVAs()
11164 {
11165 return get_array<VectorXd>(Properties::kVAs);
11166 }
11167
11168 Transformer& kVAs(VectorXd &value)
11169 {
11170 set_array<VectorXd>(Properties::kVAs, value);
11171 return *this;
11172 }
11173
11178 VectorXd taps()
11179 {
11180 return get_array<VectorXd>(Properties::taps);
11181 }
11182
11183 Transformer& taps(VectorXd &value)
11184 {
11185 set_array<VectorXd>(Properties::taps, value);
11186 return *this;
11187 }
11188
11193 double XHL()
11194 {
11195 return Obj_GetFloat64(ptr, Properties::XHL);
11196 }
11197
11198 Transformer& XHL(double value)
11199 {
11200 Obj_SetFloat64(ptr, Properties::XHL, value);
11201 return *this;
11202 }
11203
11208 double XHT()
11209 {
11210 return Obj_GetFloat64(ptr, Properties::XHT);
11211 }
11212
11213 Transformer& XHT(double value)
11214 {
11215 Obj_SetFloat64(ptr, Properties::XHT, value);
11216 return *this;
11217 }
11218
11223 double XLT()
11224 {
11225 return Obj_GetFloat64(ptr, Properties::XLT);
11226 }
11227
11228 Transformer& XLT(double value)
11229 {
11230 Obj_SetFloat64(ptr, Properties::XLT, value);
11231 return *this;
11232 }
11233
11242 VectorXd Xscarray()
11243 {
11244 return get_array<VectorXd>(Properties::Xscarray);
11245 }
11246
11247 Transformer& Xscarray(VectorXd &value)
11248 {
11249 set_array<VectorXd>(Properties::Xscarray, value);
11250 return *this;
11251 }
11252
11257 double thermal()
11258 {
11259 return Obj_GetFloat64(ptr, Properties::thermal);
11260 }
11261
11262 Transformer& thermal(double value)
11263 {
11264 Obj_SetFloat64(ptr, Properties::thermal, value);
11265 return *this;
11266 }
11267
11272 double n()
11273 {
11274 return Obj_GetFloat64(ptr, Properties::n);
11275 }
11276
11277 Transformer& n(double value)
11278 {
11279 Obj_SetFloat64(ptr, Properties::n, value);
11280 return *this;
11281 }
11282
11287 double m()
11288 {
11289 return Obj_GetFloat64(ptr, Properties::m);
11290 }
11291
11292 Transformer& m(double value)
11293 {
11294 Obj_SetFloat64(ptr, Properties::m, value);
11295 return *this;
11296 }
11297
11302 double flrise()
11303 {
11304 return Obj_GetFloat64(ptr, Properties::flrise);
11305 }
11306
11307 Transformer& flrise(double value)
11308 {
11309 Obj_SetFloat64(ptr, Properties::flrise, value);
11310 return *this;
11311 }
11312
11317 double hsrise()
11318 {
11319 return Obj_GetFloat64(ptr, Properties::hsrise);
11320 }
11321
11322 Transformer& hsrise(double value)
11323 {
11324 Obj_SetFloat64(ptr, Properties::hsrise, value);
11325 return *this;
11326 }
11327
11333 {
11334 return Obj_GetFloat64(ptr, Properties::pctloadloss);
11335 }
11336
11337 Transformer& pctloadloss(double value)
11338 {
11339 Obj_SetFloat64(ptr, Properties::pctloadloss, value);
11340 return *this;
11341 }
11342
11348 {
11349 return Obj_GetFloat64(ptr, Properties::pctnoloadloss);
11350 }
11351
11352 Transformer& pctnoloadloss(double value)
11353 {
11354 Obj_SetFloat64(ptr, Properties::pctnoloadloss, value);
11355 return *this;
11356 }
11357
11362 double normhkVA()
11363 {
11364 return Obj_GetFloat64(ptr, Properties::normhkVA);
11365 }
11366
11367 Transformer& normhkVA(double value)
11368 {
11369 Obj_SetFloat64(ptr, Properties::normhkVA, value);
11370 return *this;
11371 }
11372
11377 double emerghkVA()
11378 {
11379 return Obj_GetFloat64(ptr, Properties::emerghkVA);
11380 }
11381
11382 Transformer& emerghkVA(double value)
11383 {
11384 Obj_SetFloat64(ptr, Properties::emerghkVA, value);
11385 return *this;
11386 }
11387
11392 bool sub()
11393 {
11394 return Obj_GetInt32(ptr, Properties::sub) != 0;
11395 }
11396
11397 Transformer& sub(bool value)
11398 {
11399 Obj_SetInt32(ptr, Properties::sub, value);
11400 return *this;
11401 }
11402
11407 VectorXd MaxTap()
11408 {
11409 return get_array<VectorXd>(Properties::MaxTap);
11410 }
11411
11412 Transformer& MaxTap(VectorXd &value)
11413 {
11414 set_array<VectorXd>(Properties::MaxTap, value);
11415 return *this;
11416 }
11417
11422 VectorXd MinTap()
11423 {
11424 return get_array<VectorXd>(Properties::MinTap);
11425 }
11426
11427 Transformer& MinTap(VectorXd &value)
11428 {
11429 set_array<VectorXd>(Properties::MinTap, value);
11430 return *this;
11431 }
11432
11437 VectorXi NumTaps()
11438 {
11439 return get_array<VectorXi>(Properties::NumTaps);
11440 }
11441
11442 Transformer& NumTaps(VectorXi &value)
11443 {
11444 set_array<VectorXi>(Properties::NumTaps, value);
11445 return *this;
11446 }
11447
11452 string subname()
11453 {
11454 return get_prop_string(Properties::subname);
11455 }
11456
11457 Transformer& subname(const string &value)
11458 {
11459 set_string(Properties::subname, value);
11460 return *this;
11461 }
11462
11463 Transformer& subname(const char* value)
11464 {
11465 set_string(Properties::subname, value);
11466 return *this;
11467 }
11468
11473 double pctimag()
11474 {
11475 return Obj_GetFloat64(ptr, Properties::pctimag);
11476 }
11477
11478 Transformer& pctimag(double value)
11479 {
11480 Obj_SetFloat64(ptr, Properties::pctimag, value);
11481 return *this;
11482 }
11483
11489 {
11490 return Obj_GetFloat64(ptr, Properties::ppm_antifloat);
11491 }
11492
11493 Transformer& ppm_antifloat(double value)
11494 {
11495 Obj_SetFloat64(ptr, Properties::ppm_antifloat, value);
11496 return *this;
11497 }
11498
11505 VectorXd pctRs()
11506 {
11507 return get_array<VectorXd>(Properties::pctRs);
11508 }
11509
11510 Transformer& pctRs(VectorXd &value)
11511 {
11512 set_array<VectorXd>(Properties::pctRs, value);
11513 return *this;
11514 }
11515
11520 string bank()
11521 {
11522 return get_prop_string(Properties::bank);
11523 }
11524
11525 Transformer& bank(const string &value)
11526 {
11527 set_string(Properties::bank, value);
11528 return *this;
11529 }
11530
11531 Transformer& bank(const char* value)
11532 {
11533 set_string(Properties::bank, value);
11534 return *this;
11535 }
11536
11541 string XfmrCode()
11542 {
11543 return get_prop_string(Properties::XfmrCode);
11544 }
11545
11546 Transformer& XfmrCode(const string &value)
11547 {
11548 set_string(Properties::XfmrCode, value);
11549 return *this;
11550 }
11551
11553 {
11554 set_obj(Properties::XfmrCode, value);
11555 return *this;
11556 }
11557
11563 {
11564 return get_obj<dss::obj::XfmrCode>(Properties::XfmrCode);
11565 }
11566
11568 {
11569 set_obj(Properties::XfmrCode, value);
11570 return *this;
11571 }
11572
11577 bool XRConst()
11578 {
11579 return Obj_GetInt32(ptr, Properties::XRConst) != 0;
11580 }
11581
11582 Transformer& XRConst(bool value)
11583 {
11584 Obj_SetInt32(ptr, Properties::XRConst, value);
11585 return *this;
11586 }
11587
11592 double X12()
11593 {
11594 return Obj_GetFloat64(ptr, Properties::X12);
11595 }
11596
11597 Transformer& X12(double value)
11598 {
11599 Obj_SetFloat64(ptr, Properties::X12, value);
11600 return *this;
11601 }
11602
11607 double X13()
11608 {
11609 return Obj_GetFloat64(ptr, Properties::X13);
11610 }
11611
11612 Transformer& X13(double value)
11613 {
11614 Obj_SetFloat64(ptr, Properties::X13, value);
11615 return *this;
11616 }
11617
11622 double X23()
11623 {
11624 return Obj_GetFloat64(ptr, Properties::X23);
11625 }
11626
11627 Transformer& X23(double value)
11628 {
11629 Obj_SetFloat64(ptr, Properties::X23, value);
11630 return *this;
11631 }
11632
11637 PhaseSequence LeadLag()
11638 {
11639 return PhaseSequence(Obj_GetInt32(ptr, Properties::LeadLag));
11640 }
11641
11642 Transformer& LeadLag(int32_t value)
11643 {
11644 Obj_SetInt32(ptr, Properties::LeadLag, value);
11645 return *this;
11646 }
11647
11648 Transformer& LeadLag(PhaseSequence value)
11649 {
11650 Obj_SetInt32(ptr, Properties::LeadLag, int32_t(value));
11651 return *this;
11652 }
11653
11654 Transformer& LeadLag(const string &value)
11655 {
11656 set_string(Properties::LeadLag, value);
11657 return *this;
11658 }
11659
11660 Transformer& LeadLag(const char *value)
11661 {
11662 set_string(Properties::LeadLag, value);
11663 return *this;
11664 }
11665
11671 {
11672 return get_prop_string(Properties::LeadLag);
11673 }
11674
11679 Transformer& LeadLag_str(const string &value)
11680 {
11681 set_string(Properties::LeadLag, value);
11682 return *this;
11683 }
11684
11690 {
11691 // []
11692 // StringSilentROFunction
11693 return get_prop_string(Properties::WdgCurrents);
11694 }
11695
11700 CoreType Core()
11701 {
11702 return CoreType(Obj_GetInt32(ptr, Properties::Core));
11703 }
11704
11705 Transformer& Core(int32_t value)
11706 {
11707 Obj_SetInt32(ptr, Properties::Core, value);
11708 return *this;
11709 }
11710
11711 Transformer& Core(CoreType value)
11712 {
11713 Obj_SetInt32(ptr, Properties::Core, int32_t(value));
11714 return *this;
11715 }
11716
11717 Transformer& Core(const string &value)
11718 {
11719 set_string(Properties::Core, value);
11720 return *this;
11721 }
11722
11723 Transformer& Core(const char *value)
11724 {
11725 set_string(Properties::Core, value);
11726 return *this;
11727 }
11728
11733 string Core_str()
11734 {
11735 return get_prop_string(Properties::Core);
11736 }
11737
11742 Transformer& Core_str(const string &value)
11743 {
11744 set_string(Properties::Core, value);
11745 return *this;
11746 }
11747
11752 VectorXd RdcOhms()
11753 {
11754 return get_array<VectorXd>(Properties::RdcOhms);
11755 }
11756
11757 Transformer& RdcOhms(VectorXd &value)
11758 {
11759 set_array<VectorXd>(Properties::RdcOhms, value);
11760 return *this;
11761 }
11762
11767 int32_t Seasons()
11768 {
11769 return Obj_GetInt32(ptr, Properties::Seasons);
11770 }
11771
11772 Transformer& Seasons(int32_t value)
11773 {
11774 Obj_SetInt32(ptr, Properties::Seasons, value);
11775 return *this;
11776 }
11777
11783 VectorXd Ratings()
11784 {
11785 return get_array<VectorXd>(Properties::Ratings);
11786 }
11787
11788 Transformer& Ratings(VectorXd &value)
11789 {
11790 set_array<VectorXd>(Properties::Ratings, value);
11791 return *this;
11792 }
11793
11798 double normamps()
11799 {
11800 return Obj_GetFloat64(ptr, Properties::normamps);
11801 }
11802
11803 Transformer& normamps(double value)
11804 {
11805 Obj_SetFloat64(ptr, Properties::normamps, value);
11806 return *this;
11807 }
11808
11813 double emergamps()
11814 {
11815 return Obj_GetFloat64(ptr, Properties::emergamps);
11816 }
11817
11818 Transformer& emergamps(double value)
11819 {
11820 Obj_SetFloat64(ptr, Properties::emergamps, value);
11821 return *this;
11822 }
11823
11828 double faultrate()
11829 {
11830 return Obj_GetFloat64(ptr, Properties::faultrate);
11831 }
11832
11833 Transformer& faultrate(double value)
11834 {
11835 Obj_SetFloat64(ptr, Properties::faultrate, value);
11836 return *this;
11837 }
11838
11843 double pctperm()
11844 {
11845 return Obj_GetFloat64(ptr, Properties::pctperm);
11846 }
11847
11848 Transformer& pctperm(double value)
11849 {
11850 Obj_SetFloat64(ptr, Properties::pctperm, value);
11851 return *this;
11852 }
11853
11858 double repair()
11859 {
11860 return Obj_GetFloat64(ptr, Properties::repair);
11861 }
11862
11863 Transformer& repair(double value)
11864 {
11865 Obj_SetFloat64(ptr, Properties::repair, value);
11866 return *this;
11867 }
11868
11873 double basefreq()
11874 {
11875 return Obj_GetFloat64(ptr, Properties::basefreq);
11876 }
11877
11878 Transformer& basefreq(double value)
11879 {
11880 Obj_SetFloat64(ptr, Properties::basefreq, value);
11881 return *this;
11882 }
11883
11888 bool enabled()
11889 {
11890 return Obj_GetInt32(ptr, Properties::enabled) != 0;
11891 }
11892
11893 Transformer& enabled(bool value)
11894 {
11895 Obj_SetInt32(ptr, Properties::enabled, value);
11896 return *this;
11897 }
11898
11905 Transformer& like(const string &value)
11906 {
11907 set_string(Properties::like, value);
11908 return *this;
11909 }
11910
11917 Transformer& like(const char *value)
11918 {
11919 set_string(Properties::like, value);
11920 return *this;
11921 }
11922};
11923
11924
11925class Capacitor: public DSSObj
11926{
11927public:
11928 const static char dss_cls_name[];
11929 const static int32_t dss_cls_idx = 22;
11931 {
11932 enum {
11933 bus1 = 1,
11934 bus2 = 2,
11935 phases = 3,
11936 kvar = 4,
11937 kv = 5,
11938 conn = 6,
11939 cmatrix = 7,
11940 cuf = 8,
11941 R = 9,
11942 XL = 10,
11943 Harm = 11,
11944 Numsteps = 12,
11945 states = 13,
11946 normamps = 14,
11947 emergamps = 15,
11948 faultrate = 16,
11949 pctperm = 17,
11950 repair = 18,
11951 basefreq = 19,
11952 enabled = 20,
11953 like = 21,
11954 };
11955 };
11956
11960 Capacitor(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
11961 {
11962 }
11963
11967 Capacitor(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
11968 {
11969 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
11970 check_for_error();
11971 if (ptr == nullptr)
11972 {
11973 throw std::runtime_error("Could not find the Capacitor element by the given index");
11974 }
11975 }
11976
11980 Capacitor(APIUtil *util, char *name): DSSObj(util, nullptr)
11981 {
11982 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
11983 check_for_error();
11984 if (ptr == nullptr)
11985 {
11986 throw std::runtime_error("Could not find the Capacitor element by the given name");
11987 }
11988 }
11989
11993 const char* name()
11994 {
11995 return Obj_GetName(ptr);
11996 }
11997
12002 {
12003 Obj_BeginEdit(ptr);
12004 return *this;
12005 }
12006
12011 Capacitor& end_edit(int32_t num_edits=1)
12012 {
12013 Obj_EndEdit(ptr, num_edits);
12014 return *this;
12015 }
12016
12025 string bus1()
12026 {
12027 return get_prop_string(Properties::bus1);
12028 }
12029
12030 Capacitor& bus1(const string &value)
12031 {
12032 set_string(Properties::bus1, value);
12033 return *this;
12034 }
12035
12036 Capacitor& bus1(const char* value)
12037 {
12038 set_string(Properties::bus1, value);
12039 return *this;
12040 }
12041
12048 string bus2()
12049 {
12050 return get_prop_string(Properties::bus2);
12051 }
12052
12053 Capacitor& bus2(const string &value)
12054 {
12055 set_string(Properties::bus2, value);
12056 return *this;
12057 }
12058
12059 Capacitor& bus2(const char* value)
12060 {
12061 set_string(Properties::bus2, value);
12062 return *this;
12063 }
12064
12069 int32_t phases()
12070 {
12071 return Obj_GetInt32(ptr, Properties::phases);
12072 }
12073
12074 Capacitor& phases(int32_t value)
12075 {
12076 Obj_SetInt32(ptr, Properties::phases, value);
12077 return *this;
12078 }
12079
12084 VectorXd kvar()
12085 {
12086 return get_array<VectorXd>(Properties::kvar);
12087 }
12088
12089 Capacitor& kvar(VectorXd &value)
12090 {
12091 set_array<VectorXd>(Properties::kvar, value);
12092 return *this;
12093 }
12094
12099 double kv()
12100 {
12101 return Obj_GetFloat64(ptr, Properties::kv);
12102 }
12103
12104 Capacitor& kv(double value)
12105 {
12106 Obj_SetFloat64(ptr, Properties::kv, value);
12107 return *this;
12108 }
12109
12114 Connection conn()
12115 {
12116 return Connection(Obj_GetInt32(ptr, Properties::conn));
12117 }
12118
12119 Capacitor& conn(int32_t value)
12120 {
12121 Obj_SetInt32(ptr, Properties::conn, value);
12122 return *this;
12123 }
12124
12125 Capacitor& conn(Connection value)
12126 {
12127 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
12128 return *this;
12129 }
12130
12131 Capacitor& conn(const string &value)
12132 {
12133 set_string(Properties::conn, value);
12134 return *this;
12135 }
12136
12137 Capacitor& conn(const char *value)
12138 {
12139 set_string(Properties::conn, value);
12140 return *this;
12141 }
12142
12147 string conn_str()
12148 {
12149 return get_prop_string(Properties::conn);
12150 }
12151
12156 Capacitor& conn_str(const string &value)
12157 {
12158 set_string(Properties::conn, value);
12159 return *this;
12160 }
12161
12170 VectorXd cmatrix()
12171 {
12172 return get_array<VectorXd>(Properties::cmatrix);
12173 }
12174
12175 Capacitor& cmatrix(VectorXd &value)
12176 {
12177 set_array<VectorXd>(Properties::cmatrix, value);
12178 return *this;
12179 }
12180
12186 VectorXd cuf()
12187 {
12188 return get_array<VectorXd>(Properties::cuf);
12189 }
12190
12191 Capacitor& cuf(VectorXd &value)
12192 {
12193 set_array<VectorXd>(Properties::cuf, value);
12194 return *this;
12195 }
12196
12201 VectorXd R()
12202 {
12203 return get_array<VectorXd>(Properties::R);
12204 }
12205
12206 Capacitor& R(VectorXd &value)
12207 {
12208 set_array<VectorXd>(Properties::R, value);
12209 return *this;
12210 }
12211
12216 VectorXd XL()
12217 {
12218 return get_array<VectorXd>(Properties::XL);
12219 }
12220
12221 Capacitor& XL(VectorXd &value)
12222 {
12223 set_array<VectorXd>(Properties::XL, value);
12224 return *this;
12225 }
12226
12231 VectorXd Harm()
12232 {
12233 return get_array<VectorXd>(Properties::Harm);
12234 }
12235
12236 Capacitor& Harm(VectorXd &value)
12237 {
12238 set_array<VectorXd>(Properties::Harm, value);
12239 return *this;
12240 }
12241
12246 int32_t Numsteps()
12247 {
12248 return Obj_GetInt32(ptr, Properties::Numsteps);
12249 }
12250
12251 Capacitor& Numsteps(int32_t value)
12252 {
12253 Obj_SetInt32(ptr, Properties::Numsteps, value);
12254 return *this;
12255 }
12256
12261 VectorXi states()
12262 {
12263 return get_array<VectorXi>(Properties::states);
12264 }
12265
12266 Capacitor& states(VectorXi &value)
12267 {
12268 set_array<VectorXi>(Properties::states, value);
12269 return *this;
12270 }
12271
12276 double normamps()
12277 {
12278 return Obj_GetFloat64(ptr, Properties::normamps);
12279 }
12280
12281 Capacitor& normamps(double value)
12282 {
12283 Obj_SetFloat64(ptr, Properties::normamps, value);
12284 return *this;
12285 }
12286
12291 double emergamps()
12292 {
12293 return Obj_GetFloat64(ptr, Properties::emergamps);
12294 }
12295
12296 Capacitor& emergamps(double value)
12297 {
12298 Obj_SetFloat64(ptr, Properties::emergamps, value);
12299 return *this;
12300 }
12301
12306 double faultrate()
12307 {
12308 return Obj_GetFloat64(ptr, Properties::faultrate);
12309 }
12310
12311 Capacitor& faultrate(double value)
12312 {
12313 Obj_SetFloat64(ptr, Properties::faultrate, value);
12314 return *this;
12315 }
12316
12321 double pctperm()
12322 {
12323 return Obj_GetFloat64(ptr, Properties::pctperm);
12324 }
12325
12326 Capacitor& pctperm(double value)
12327 {
12328 Obj_SetFloat64(ptr, Properties::pctperm, value);
12329 return *this;
12330 }
12331
12336 double repair()
12337 {
12338 return Obj_GetFloat64(ptr, Properties::repair);
12339 }
12340
12341 Capacitor& repair(double value)
12342 {
12343 Obj_SetFloat64(ptr, Properties::repair, value);
12344 return *this;
12345 }
12346
12351 double basefreq()
12352 {
12353 return Obj_GetFloat64(ptr, Properties::basefreq);
12354 }
12355
12356 Capacitor& basefreq(double value)
12357 {
12358 Obj_SetFloat64(ptr, Properties::basefreq, value);
12359 return *this;
12360 }
12361
12366 bool enabled()
12367 {
12368 return Obj_GetInt32(ptr, Properties::enabled) != 0;
12369 }
12370
12371 Capacitor& enabled(bool value)
12372 {
12373 Obj_SetInt32(ptr, Properties::enabled, value);
12374 return *this;
12375 }
12376
12383 Capacitor& like(const string &value)
12384 {
12385 set_string(Properties::like, value);
12386 return *this;
12387 }
12388
12395 Capacitor& like(const char *value)
12396 {
12397 set_string(Properties::like, value);
12398 return *this;
12399 }
12400};
12401
12402
12403class Reactor: public DSSObj
12404{
12405public:
12406 const static char dss_cls_name[];
12407 const static int32_t dss_cls_idx = 23;
12409 {
12410 enum {
12411 bus1 = 1,
12412 bus2 = 2,
12413 phases = 3,
12414 kvar = 4,
12415 kv = 5,
12416 conn = 6,
12417 Rmatrix = 7,
12418 Xmatrix = 8,
12419 Parallel = 9,
12420 R = 10,
12421 X = 11,
12422 Rp = 12,
12423 Z1 = 13,
12424 Z2 = 14,
12425 Z0 = 15,
12426 Z = 16,
12427 RCurve = 17,
12428 LCurve = 18,
12429 LmH = 19,
12430 normamps = 20,
12431 emergamps = 21,
12432 faultrate = 22,
12433 pctperm = 23,
12434 repair = 24,
12435 basefreq = 25,
12436 enabled = 26,
12437 like = 27,
12438 };
12439 };
12440
12444 Reactor(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
12445 {
12446 }
12447
12451 Reactor(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
12452 {
12453 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
12454 check_for_error();
12455 if (ptr == nullptr)
12456 {
12457 throw std::runtime_error("Could not find the Reactor element by the given index");
12458 }
12459 }
12460
12464 Reactor(APIUtil *util, char *name): DSSObj(util, nullptr)
12465 {
12466 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
12467 check_for_error();
12468 if (ptr == nullptr)
12469 {
12470 throw std::runtime_error("Could not find the Reactor element by the given name");
12471 }
12472 }
12473
12477 const char* name()
12478 {
12479 return Obj_GetName(ptr);
12480 }
12481
12486 {
12487 Obj_BeginEdit(ptr);
12488 return *this;
12489 }
12490
12495 Reactor& end_edit(int32_t num_edits=1)
12496 {
12497 Obj_EndEdit(ptr, num_edits);
12498 return *this;
12499 }
12500
12509 string bus1()
12510 {
12511 return get_prop_string(Properties::bus1);
12512 }
12513
12514 Reactor& bus1(const string &value)
12515 {
12516 set_string(Properties::bus1, value);
12517 return *this;
12518 }
12519
12520 Reactor& bus1(const char* value)
12521 {
12522 set_string(Properties::bus1, value);
12523 return *this;
12524 }
12525
12532 string bus2()
12533 {
12534 return get_prop_string(Properties::bus2);
12535 }
12536
12537 Reactor& bus2(const string &value)
12538 {
12539 set_string(Properties::bus2, value);
12540 return *this;
12541 }
12542
12543 Reactor& bus2(const char* value)
12544 {
12545 set_string(Properties::bus2, value);
12546 return *this;
12547 }
12548
12553 int32_t phases()
12554 {
12555 return Obj_GetInt32(ptr, Properties::phases);
12556 }
12557
12558 Reactor& phases(int32_t value)
12559 {
12560 Obj_SetInt32(ptr, Properties::phases, value);
12561 return *this;
12562 }
12563
12568 double kvar()
12569 {
12570 return Obj_GetFloat64(ptr, Properties::kvar);
12571 }
12572
12573 Reactor& kvar(double value)
12574 {
12575 Obj_SetFloat64(ptr, Properties::kvar, value);
12576 return *this;
12577 }
12578
12583 double kv()
12584 {
12585 return Obj_GetFloat64(ptr, Properties::kv);
12586 }
12587
12588 Reactor& kv(double value)
12589 {
12590 Obj_SetFloat64(ptr, Properties::kv, value);
12591 return *this;
12592 }
12593
12598 Connection conn()
12599 {
12600 return Connection(Obj_GetInt32(ptr, Properties::conn));
12601 }
12602
12603 Reactor& conn(int32_t value)
12604 {
12605 Obj_SetInt32(ptr, Properties::conn, value);
12606 return *this;
12607 }
12608
12609 Reactor& conn(Connection value)
12610 {
12611 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
12612 return *this;
12613 }
12614
12615 Reactor& conn(const string &value)
12616 {
12617 set_string(Properties::conn, value);
12618 return *this;
12619 }
12620
12621 Reactor& conn(const char *value)
12622 {
12623 set_string(Properties::conn, value);
12624 return *this;
12625 }
12626
12631 string conn_str()
12632 {
12633 return get_prop_string(Properties::conn);
12634 }
12635
12640 Reactor& conn_str(const string &value)
12641 {
12642 set_string(Properties::conn, value);
12643 return *this;
12644 }
12645
12650 VectorXd Rmatrix()
12651 {
12652 return get_array<VectorXd>(Properties::Rmatrix);
12653 }
12654
12655 Reactor& Rmatrix(VectorXd &value)
12656 {
12657 set_array<VectorXd>(Properties::Rmatrix, value);
12658 return *this;
12659 }
12660
12665 VectorXd Xmatrix()
12666 {
12667 return get_array<VectorXd>(Properties::Xmatrix);
12668 }
12669
12670 Reactor& Xmatrix(VectorXd &value)
12671 {
12672 set_array<VectorXd>(Properties::Xmatrix, value);
12673 return *this;
12674 }
12675
12681 {
12682 return Obj_GetInt32(ptr, Properties::Parallel) != 0;
12683 }
12684
12685 Reactor& Parallel(bool value)
12686 {
12687 Obj_SetInt32(ptr, Properties::Parallel, value);
12688 return *this;
12689 }
12690
12695 double R()
12696 {
12697 return Obj_GetFloat64(ptr, Properties::R);
12698 }
12699
12700 Reactor& R(double value)
12701 {
12702 Obj_SetFloat64(ptr, Properties::R, value);
12703 return *this;
12704 }
12705
12710 double X()
12711 {
12712 return Obj_GetFloat64(ptr, Properties::X);
12713 }
12714
12715 Reactor& X(double value)
12716 {
12717 Obj_SetFloat64(ptr, Properties::X, value);
12718 return *this;
12719 }
12720
12725 double Rp()
12726 {
12727 return Obj_GetFloat64(ptr, Properties::Rp);
12728 }
12729
12730 Reactor& Rp(double value)
12731 {
12732 Obj_SetFloat64(ptr, Properties::Rp, value);
12733 return *this;
12734 }
12735
12746 complex Z1()
12747 {
12748 return get_complex(Properties::Z1);
12749 }
12750 Reactor& Z1(complex value)
12751 {
12752 set_complex(Properties::Z1, value);
12753 return *this;
12754 }
12755
12766 complex Z2()
12767 {
12768 return get_complex(Properties::Z2);
12769 }
12770 Reactor& Z2(complex value)
12771 {
12772 set_complex(Properties::Z2, value);
12773 return *this;
12774 }
12775
12786 complex Z0()
12787 {
12788 return get_complex(Properties::Z0);
12789 }
12790 Reactor& Z0(complex value)
12791 {
12792 set_complex(Properties::Z0, value);
12793 return *this;
12794 }
12795
12802 complex Z()
12803 {
12804 return get_complex(Properties::Z);
12805 }
12806 Reactor& Z(complex value)
12807 {
12808 set_complex(Properties::Z, value);
12809 return *this;
12810 }
12811
12816 string RCurve()
12817 {
12818 return get_prop_string(Properties::RCurve);
12819 }
12820
12821 Reactor& RCurve(const string &value)
12822 {
12823 set_string(Properties::RCurve, value);
12824 return *this;
12825 }
12826
12828 {
12829 set_obj(Properties::RCurve, value);
12830 return *this;
12831 }
12832
12838 {
12839 return get_obj<dss::obj::XYcurve>(Properties::RCurve);
12840 }
12841
12843 {
12844 set_obj(Properties::RCurve, value);
12845 return *this;
12846 }
12847
12852 string LCurve()
12853 {
12854 return get_prop_string(Properties::LCurve);
12855 }
12856
12857 Reactor& LCurve(const string &value)
12858 {
12859 set_string(Properties::LCurve, value);
12860 return *this;
12861 }
12862
12864 {
12865 set_obj(Properties::LCurve, value);
12866 return *this;
12867 }
12868
12874 {
12875 return get_obj<dss::obj::XYcurve>(Properties::LCurve);
12876 }
12877
12879 {
12880 set_obj(Properties::LCurve, value);
12881 return *this;
12882 }
12883
12888 double LmH()
12889 {
12890 return Obj_GetFloat64(ptr, Properties::LmH);
12891 }
12892
12893 Reactor& LmH(double value)
12894 {
12895 Obj_SetFloat64(ptr, Properties::LmH, value);
12896 return *this;
12897 }
12898
12903 double normamps()
12904 {
12905 return Obj_GetFloat64(ptr, Properties::normamps);
12906 }
12907
12908 Reactor& normamps(double value)
12909 {
12910 Obj_SetFloat64(ptr, Properties::normamps, value);
12911 return *this;
12912 }
12913
12918 double emergamps()
12919 {
12920 return Obj_GetFloat64(ptr, Properties::emergamps);
12921 }
12922
12923 Reactor& emergamps(double value)
12924 {
12925 Obj_SetFloat64(ptr, Properties::emergamps, value);
12926 return *this;
12927 }
12928
12933 double faultrate()
12934 {
12935 return Obj_GetFloat64(ptr, Properties::faultrate);
12936 }
12937
12938 Reactor& faultrate(double value)
12939 {
12940 Obj_SetFloat64(ptr, Properties::faultrate, value);
12941 return *this;
12942 }
12943
12948 double pctperm()
12949 {
12950 return Obj_GetFloat64(ptr, Properties::pctperm);
12951 }
12952
12953 Reactor& pctperm(double value)
12954 {
12955 Obj_SetFloat64(ptr, Properties::pctperm, value);
12956 return *this;
12957 }
12958
12963 double repair()
12964 {
12965 return Obj_GetFloat64(ptr, Properties::repair);
12966 }
12967
12968 Reactor& repair(double value)
12969 {
12970 Obj_SetFloat64(ptr, Properties::repair, value);
12971 return *this;
12972 }
12973
12978 double basefreq()
12979 {
12980 return Obj_GetFloat64(ptr, Properties::basefreq);
12981 }
12982
12983 Reactor& basefreq(double value)
12984 {
12985 Obj_SetFloat64(ptr, Properties::basefreq, value);
12986 return *this;
12987 }
12988
12993 bool enabled()
12994 {
12995 return Obj_GetInt32(ptr, Properties::enabled) != 0;
12996 }
12997
12998 Reactor& enabled(bool value)
12999 {
13000 Obj_SetInt32(ptr, Properties::enabled, value);
13001 return *this;
13002 }
13003
13010 Reactor& like(const string &value)
13011 {
13012 set_string(Properties::like, value);
13013 return *this;
13014 }
13015
13022 Reactor& like(const char *value)
13023 {
13024 set_string(Properties::like, value);
13025 return *this;
13026 }
13027};
13028
13029
13030class CapControl: public DSSObj
13031{
13032public:
13033 const static char dss_cls_name[];
13034 const static int32_t dss_cls_idx = 24;
13036 {
13037 enum {
13038 element = 1,
13039 terminal = 2,
13040 capacitor = 3,
13041 type = 4,
13042 PTratio = 5,
13043 CTratio = 6,
13044 ONsetting = 7,
13045 OFFsetting = 8,
13046 Delay = 9,
13047 VoltOverride = 10,
13048 Vmax = 11,
13049 Vmin = 12,
13050 DelayOFF = 13,
13051 DeadTime = 14,
13052 CTPhase = 15,
13053 PTPhase = 16,
13054 VBus = 17,
13055 EventLog = 18,
13056 UserModel = 19,
13057 UserData = 20,
13058 pctMinkvar = 21,
13059 Reset = 22,
13060 basefreq = 23,
13061 enabled = 24,
13062 like = 25,
13063 };
13064 };
13065
13066 // Class-specific enumerations
13067
13071 enum class CapControlType: int32_t
13072 {
13073 Current = 0,
13074 Voltage = 1,
13075 kvar = 2,
13076 Time = 3,
13077 PowerFactor = 4
13078 };
13079
13080
13081
13085 CapControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
13086 {
13087 }
13088
13092 CapControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
13093 {
13094 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
13095 check_for_error();
13096 if (ptr == nullptr)
13097 {
13098 throw std::runtime_error("Could not find the CapControl element by the given index");
13099 }
13100 }
13101
13105 CapControl(APIUtil *util, char *name): DSSObj(util, nullptr)
13106 {
13107 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
13108 check_for_error();
13109 if (ptr == nullptr)
13110 {
13111 throw std::runtime_error("Could not find the CapControl element by the given name");
13112 }
13113 }
13114
13118 const char* name()
13119 {
13120 return Obj_GetName(ptr);
13121 }
13122
13127 {
13128 Obj_BeginEdit(ptr);
13129 return *this;
13130 }
13131
13136 CapControl& end_edit(int32_t num_edits=1)
13137 {
13138 Obj_EndEdit(ptr, num_edits);
13139 return *this;
13140 }
13141
13146 string element()
13147 {
13148 return get_prop_string(Properties::element);
13149 }
13150
13151 CapControl& element(const string &value)
13152 {
13153 set_string(Properties::element, value);
13154 return *this;
13155 }
13156
13158 {
13159 set_obj(Properties::element, value);
13160 return *this;
13161 }
13162
13168 {
13169 return get_obj<dss::obj::DSSObj>(Properties::element);
13170 }
13171
13173 {
13174 set_obj(Properties::element, value);
13175 return *this;
13176 }
13177
13182 int32_t terminal()
13183 {
13184 return Obj_GetInt32(ptr, Properties::terminal);
13185 }
13186
13187 CapControl& terminal(int32_t value)
13188 {
13189 Obj_SetInt32(ptr, Properties::terminal, value);
13190 return *this;
13191 }
13192
13199 string capacitor()
13200 {
13201 return get_prop_string(Properties::capacitor);
13202 }
13203
13204 CapControl& capacitor(const string &value)
13205 {
13206 set_string(Properties::capacitor, value);
13207 return *this;
13208 }
13209
13211 {
13212 set_obj(Properties::capacitor, value);
13213 return *this;
13214 }
13215
13223 {
13224 return get_obj<dss::obj::Capacitor>(Properties::capacitor);
13225 }
13226
13228 {
13229 set_obj(Properties::capacitor, value);
13230 return *this;
13231 }
13232
13238 {
13239 return CapControlType(Obj_GetInt32(ptr, Properties::type));
13240 }
13241
13242 CapControl& type(int32_t value)
13243 {
13244 Obj_SetInt32(ptr, Properties::type, value);
13245 return *this;
13246 }
13247
13249 {
13250 Obj_SetInt32(ptr, Properties::type, int32_t(value));
13251 return *this;
13252 }
13253
13254 CapControl& type(const string &value)
13255 {
13256 set_string(Properties::type, value);
13257 return *this;
13258 }
13259
13260 CapControl& type(const char *value)
13261 {
13262 set_string(Properties::type, value);
13263 return *this;
13264 }
13265
13270 string type_str()
13271 {
13272 return get_prop_string(Properties::type);
13273 }
13274
13279 CapControl& type_str(const string &value)
13280 {
13281 set_string(Properties::type, value);
13282 return *this;
13283 }
13284
13289 double PTratio()
13290 {
13291 return Obj_GetFloat64(ptr, Properties::PTratio);
13292 }
13293
13294 CapControl& PTratio(double value)
13295 {
13296 Obj_SetFloat64(ptr, Properties::PTratio, value);
13297 return *this;
13298 }
13299
13304 double CTratio()
13305 {
13306 return Obj_GetFloat64(ptr, Properties::CTratio);
13307 }
13308
13309 CapControl& CTratio(double value)
13310 {
13311 Obj_SetFloat64(ptr, Properties::CTratio, value);
13312 return *this;
13313 }
13314
13327 double ONsetting()
13328 {
13329 return Obj_GetFloat64(ptr, Properties::ONsetting);
13330 }
13331
13332 CapControl& ONsetting(double value)
13333 {
13334 Obj_SetFloat64(ptr, Properties::ONsetting, value);
13335 return *this;
13336 }
13337
13342 double OFFsetting()
13343 {
13344 return Obj_GetFloat64(ptr, Properties::OFFsetting);
13345 }
13346
13347 CapControl& OFFsetting(double value)
13348 {
13349 Obj_SetFloat64(ptr, Properties::OFFsetting, value);
13350 return *this;
13351 }
13352
13357 double Delay()
13358 {
13359 return Obj_GetFloat64(ptr, Properties::Delay);
13360 }
13361
13362 CapControl& Delay(double value)
13363 {
13364 Obj_SetFloat64(ptr, Properties::Delay, value);
13365 return *this;
13366 }
13367
13373 {
13374 return Obj_GetInt32(ptr, Properties::VoltOverride) != 0;
13375 }
13376
13377 CapControl& VoltOverride(bool value)
13378 {
13379 Obj_SetInt32(ptr, Properties::VoltOverride, value);
13380 return *this;
13381 }
13382
13387 double Vmax()
13388 {
13389 return Obj_GetFloat64(ptr, Properties::Vmax);
13390 }
13391
13392 CapControl& Vmax(double value)
13393 {
13394 Obj_SetFloat64(ptr, Properties::Vmax, value);
13395 return *this;
13396 }
13397
13402 double Vmin()
13403 {
13404 return Obj_GetFloat64(ptr, Properties::Vmin);
13405 }
13406
13407 CapControl& Vmin(double value)
13408 {
13409 Obj_SetFloat64(ptr, Properties::Vmin, value);
13410 return *this;
13411 }
13412
13417 double DelayOFF()
13418 {
13419 return Obj_GetFloat64(ptr, Properties::DelayOFF);
13420 }
13421
13422 CapControl& DelayOFF(double value)
13423 {
13424 Obj_SetFloat64(ptr, Properties::DelayOFF, value);
13425 return *this;
13426 }
13427
13432 double DeadTime()
13433 {
13434 return Obj_GetFloat64(ptr, Properties::DeadTime);
13435 }
13436
13437 CapControl& DeadTime(double value)
13438 {
13439 Obj_SetFloat64(ptr, Properties::DeadTime, value);
13440 return *this;
13441 }
13442
13447 int32_t CTPhase()
13448 {
13449 return Obj_GetInt32(ptr, Properties::CTPhase);
13450 }
13451
13452 CapControl& CTPhase(int32_t value)
13453 {
13454 Obj_SetInt32(ptr, Properties::CTPhase, value);
13455 return *this;
13456 }
13457
13458 CapControl& CTPhase(MonitoredPhase value)
13459 {
13460 Obj_SetInt32(ptr, Properties::CTPhase, int32_t(value));
13461 return *this;
13462 }
13463
13464 CapControl& CTPhase(const string &value)
13465 {
13466 set_string(Properties::CTPhase, value);
13467 return *this;
13468 }
13469
13470 CapControl& CTPhase(const char *value)
13471 {
13472 set_string(Properties::CTPhase, value);
13473 return *this;
13474 }
13475
13481 {
13482 return get_prop_string(Properties::CTPhase);
13483 }
13484
13489 CapControl& CTPhase_str(const string &value)
13490 {
13491 set_string(Properties::CTPhase, value);
13492 return *this;
13493 }
13494
13499 int32_t PTPhase()
13500 {
13501 return Obj_GetInt32(ptr, Properties::PTPhase);
13502 }
13503
13504 CapControl& PTPhase(int32_t value)
13505 {
13506 Obj_SetInt32(ptr, Properties::PTPhase, value);
13507 return *this;
13508 }
13509
13510 CapControl& PTPhase(MonitoredPhase value)
13511 {
13512 Obj_SetInt32(ptr, Properties::PTPhase, int32_t(value));
13513 return *this;
13514 }
13515
13516 CapControl& PTPhase(const string &value)
13517 {
13518 set_string(Properties::PTPhase, value);
13519 return *this;
13520 }
13521
13522 CapControl& PTPhase(const char *value)
13523 {
13524 set_string(Properties::PTPhase, value);
13525 return *this;
13526 }
13527
13533 {
13534 return get_prop_string(Properties::PTPhase);
13535 }
13536
13541 CapControl& PTPhase_str(const string &value)
13542 {
13543 set_string(Properties::PTPhase, value);
13544 return *this;
13545 }
13546
13551 string VBus()
13552 {
13553 return get_prop_string(Properties::VBus);
13554 }
13555
13556 CapControl& VBus(const string &value)
13557 {
13558 set_string(Properties::VBus, value);
13559 return *this;
13560 }
13561
13562 CapControl& VBus(const char* value)
13563 {
13564 set_string(Properties::VBus, value);
13565 return *this;
13566 }
13567
13573 {
13574 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
13575 }
13576
13577 CapControl& EventLog(bool value)
13578 {
13579 Obj_SetInt32(ptr, Properties::EventLog, value);
13580 return *this;
13581 }
13582
13587 string UserModel()
13588 {
13589 return get_prop_string(Properties::UserModel);
13590 }
13591
13592 CapControl& UserModel(const string &value)
13593 {
13594 set_string(Properties::UserModel, value);
13595 return *this;
13596 }
13597
13598 CapControl& UserModel(const char* value)
13599 {
13600 set_string(Properties::UserModel, value);
13601 return *this;
13602 }
13603
13608 string UserData()
13609 {
13610 return get_prop_string(Properties::UserData);
13611 }
13612
13613 CapControl& UserData(const string &value)
13614 {
13615 set_string(Properties::UserData, value);
13616 return *this;
13617 }
13618
13619 CapControl& UserData(const char* value)
13620 {
13621 set_string(Properties::UserData, value);
13622 return *this;
13623 }
13624
13629 double pctMinkvar()
13630 {
13631 return Obj_GetFloat64(ptr, Properties::pctMinkvar);
13632 }
13633
13634 CapControl& pctMinkvar(double value)
13635 {
13636 Obj_SetFloat64(ptr, Properties::pctMinkvar, value);
13637 return *this;
13638 }
13639
13644 CapControl& Reset(bool value)
13645 {
13646 Obj_SetInt32(ptr, Properties::Reset, value);
13647 return *this;
13648 }
13649
13654 double basefreq()
13655 {
13656 return Obj_GetFloat64(ptr, Properties::basefreq);
13657 }
13658
13659 CapControl& basefreq(double value)
13660 {
13661 Obj_SetFloat64(ptr, Properties::basefreq, value);
13662 return *this;
13663 }
13664
13669 bool enabled()
13670 {
13671 return Obj_GetInt32(ptr, Properties::enabled) != 0;
13672 }
13673
13674 CapControl& enabled(bool value)
13675 {
13676 Obj_SetInt32(ptr, Properties::enabled, value);
13677 return *this;
13678 }
13679
13686 CapControl& like(const string &value)
13687 {
13688 set_string(Properties::like, value);
13689 return *this;
13690 }
13691
13698 CapControl& like(const char *value)
13699 {
13700 set_string(Properties::like, value);
13701 return *this;
13702 }
13703};
13704
13705
13706class Fault: public DSSObj
13707{
13708public:
13709 const static char dss_cls_name[];
13710 const static int32_t dss_cls_idx = 25;
13712 {
13713 enum {
13714 bus1 = 1,
13715 bus2 = 2,
13716 phases = 3,
13717 r = 4,
13718 pctstddev = 5,
13719 Gmatrix = 6,
13720 ONtime = 7,
13721 temporary = 8,
13722 MinAmps = 9,
13723 normamps = 10,
13724 emergamps = 11,
13725 faultrate = 12,
13726 pctperm = 13,
13727 repair = 14,
13728 basefreq = 15,
13729 enabled = 16,
13730 like = 17,
13731 };
13732 };
13733
13737 Fault(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
13738 {
13739 }
13740
13744 Fault(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
13745 {
13746 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
13747 check_for_error();
13748 if (ptr == nullptr)
13749 {
13750 throw std::runtime_error("Could not find the Fault element by the given index");
13751 }
13752 }
13753
13757 Fault(APIUtil *util, char *name): DSSObj(util, nullptr)
13758 {
13759 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
13760 check_for_error();
13761 if (ptr == nullptr)
13762 {
13763 throw std::runtime_error("Could not find the Fault element by the given name");
13764 }
13765 }
13766
13770 const char* name()
13771 {
13772 return Obj_GetName(ptr);
13773 }
13774
13779 {
13780 Obj_BeginEdit(ptr);
13781 return *this;
13782 }
13783
13788 Fault& end_edit(int32_t num_edits=1)
13789 {
13790 Obj_EndEdit(ptr, num_edits);
13791 return *this;
13792 }
13793
13803 string bus1()
13804 {
13805 return get_prop_string(Properties::bus1);
13806 }
13807
13808 Fault& bus1(const string &value)
13809 {
13810 set_string(Properties::bus1, value);
13811 return *this;
13812 }
13813
13814 Fault& bus1(const char* value)
13815 {
13816 set_string(Properties::bus1, value);
13817 return *this;
13818 }
13819
13826 string bus2()
13827 {
13828 return get_prop_string(Properties::bus2);
13829 }
13830
13831 Fault& bus2(const string &value)
13832 {
13833 set_string(Properties::bus2, value);
13834 return *this;
13835 }
13836
13837 Fault& bus2(const char* value)
13838 {
13839 set_string(Properties::bus2, value);
13840 return *this;
13841 }
13842
13847 int32_t phases()
13848 {
13849 return Obj_GetInt32(ptr, Properties::phases);
13850 }
13851
13852 Fault& phases(int32_t value)
13853 {
13854 Obj_SetInt32(ptr, Properties::phases, value);
13855 return *this;
13856 }
13857
13862 double r()
13863 {
13864 return Obj_GetFloat64(ptr, Properties::r);
13865 }
13866
13867 Fault& r(double value)
13868 {
13869 Obj_SetFloat64(ptr, Properties::r, value);
13870 return *this;
13871 }
13872
13877 double pctstddev()
13878 {
13879 return Obj_GetFloat64(ptr, Properties::pctstddev);
13880 }
13881
13882 Fault& pctstddev(double value)
13883 {
13884 Obj_SetFloat64(ptr, Properties::pctstddev, value);
13885 return *this;
13886 }
13887
13892 VectorXd Gmatrix()
13893 {
13894 return get_array<VectorXd>(Properties::Gmatrix);
13895 }
13896
13897 Fault& Gmatrix(VectorXd &value)
13898 {
13899 set_array<VectorXd>(Properties::Gmatrix, value);
13900 return *this;
13901 }
13902
13907 double ONtime()
13908 {
13909 return Obj_GetFloat64(ptr, Properties::ONtime);
13910 }
13911
13912 Fault& ONtime(double value)
13913 {
13914 Obj_SetFloat64(ptr, Properties::ONtime, value);
13915 return *this;
13916 }
13917
13923 {
13924 return Obj_GetInt32(ptr, Properties::temporary) != 0;
13925 }
13926
13927 Fault& temporary(bool value)
13928 {
13929 Obj_SetInt32(ptr, Properties::temporary, value);
13930 return *this;
13931 }
13932
13937 double MinAmps()
13938 {
13939 return Obj_GetFloat64(ptr, Properties::MinAmps);
13940 }
13941
13942 Fault& MinAmps(double value)
13943 {
13944 Obj_SetFloat64(ptr, Properties::MinAmps, value);
13945 return *this;
13946 }
13947
13952 double normamps()
13953 {
13954 return Obj_GetFloat64(ptr, Properties::normamps);
13955 }
13956
13957 Fault& normamps(double value)
13958 {
13959 Obj_SetFloat64(ptr, Properties::normamps, value);
13960 return *this;
13961 }
13962
13967 double emergamps()
13968 {
13969 return Obj_GetFloat64(ptr, Properties::emergamps);
13970 }
13971
13972 Fault& emergamps(double value)
13973 {
13974 Obj_SetFloat64(ptr, Properties::emergamps, value);
13975 return *this;
13976 }
13977
13982 double faultrate()
13983 {
13984 return Obj_GetFloat64(ptr, Properties::faultrate);
13985 }
13986
13987 Fault& faultrate(double value)
13988 {
13989 Obj_SetFloat64(ptr, Properties::faultrate, value);
13990 return *this;
13991 }
13992
13997 double pctperm()
13998 {
13999 return Obj_GetFloat64(ptr, Properties::pctperm);
14000 }
14001
14002 Fault& pctperm(double value)
14003 {
14004 Obj_SetFloat64(ptr, Properties::pctperm, value);
14005 return *this;
14006 }
14007
14012 double repair()
14013 {
14014 return Obj_GetFloat64(ptr, Properties::repair);
14015 }
14016
14017 Fault& repair(double value)
14018 {
14019 Obj_SetFloat64(ptr, Properties::repair, value);
14020 return *this;
14021 }
14022
14027 double basefreq()
14028 {
14029 return Obj_GetFloat64(ptr, Properties::basefreq);
14030 }
14031
14032 Fault& basefreq(double value)
14033 {
14034 Obj_SetFloat64(ptr, Properties::basefreq, value);
14035 return *this;
14036 }
14037
14042 bool enabled()
14043 {
14044 return Obj_GetInt32(ptr, Properties::enabled) != 0;
14045 }
14046
14047 Fault& enabled(bool value)
14048 {
14049 Obj_SetInt32(ptr, Properties::enabled, value);
14050 return *this;
14051 }
14052
14059 Fault& like(const string &value)
14060 {
14061 set_string(Properties::like, value);
14062 return *this;
14063 }
14064
14071 Fault& like(const char *value)
14072 {
14073 set_string(Properties::like, value);
14074 return *this;
14075 }
14076};
14077
14078
14079class Generator: public DSSObj
14080{
14081public:
14082 const static char dss_cls_name[];
14083 const static int32_t dss_cls_idx = 26;
14085 {
14086 enum {
14087 phases = 1,
14088 bus1 = 2,
14089 kv = 3,
14090 kW = 4,
14091 pf = 5,
14092 kvar = 6,
14093 model = 7,
14094 Vminpu = 8,
14095 Vmaxpu = 9,
14096 yearly = 10,
14097 daily = 11,
14098 duty = 12,
14099 dispmode = 13,
14100 dispvalue = 14,
14101 conn = 15,
14102 status = 16,
14103 cls = 17,
14104 Vpu = 18,
14105 maxkvar = 19,
14106 minkvar = 20,
14107 pvfactor = 21,
14108 forceon = 22,
14109 kVA = 23,
14110 MVA = 24,
14111 Xd = 25,
14112 Xdp = 26,
14113 Xdpp = 27,
14114 H = 28,
14115 D = 29,
14116 UserModel = 30,
14117 UserData = 31,
14118 ShaftModel = 32,
14119 ShaftData = 33,
14120 DutyStart = 34,
14121 debugtrace = 35,
14122 Balanced = 36,
14123 XRdp = 37,
14124 UseFuel = 38,
14125 FuelkWh = 39,
14126 pctFuel = 40,
14127 pctReserve = 41,
14128 Refuel = 42,
14129 spectrum = 43,
14130 basefreq = 44,
14131 enabled = 45,
14132 like = 46,
14133 };
14134 };
14135
14136 // Class-specific enumerations
14137
14141 enum class GeneratorDispatchMode: int32_t
14142 {
14143 Default = 0,
14144 LoadLevel = 1,
14145 Price = 2
14146 };
14147
14148
14152 enum class GeneratorStatus: int32_t
14153 {
14154 Variable = 0,
14155 Fixed = 1
14156 };
14157
14158
14159
14163 Generator(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
14164 {
14165 }
14166
14170 Generator(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
14171 {
14172 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
14173 check_for_error();
14174 if (ptr == nullptr)
14175 {
14176 throw std::runtime_error("Could not find the Generator element by the given index");
14177 }
14178 }
14179
14183 Generator(APIUtil *util, char *name): DSSObj(util, nullptr)
14184 {
14185 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
14186 check_for_error();
14187 if (ptr == nullptr)
14188 {
14189 throw std::runtime_error("Could not find the Generator element by the given name");
14190 }
14191 }
14192
14196 const char* name()
14197 {
14198 return Obj_GetName(ptr);
14199 }
14200
14205 {
14206 Obj_BeginEdit(ptr);
14207 return *this;
14208 }
14209
14214 Generator& end_edit(int32_t num_edits=1)
14215 {
14216 Obj_EndEdit(ptr, num_edits);
14217 return *this;
14218 }
14219
14224 int32_t phases()
14225 {
14226 return Obj_GetInt32(ptr, Properties::phases);
14227 }
14228
14229 Generator& phases(int32_t value)
14230 {
14231 Obj_SetInt32(ptr, Properties::phases, value);
14232 return *this;
14233 }
14234
14239 string bus1()
14240 {
14241 return get_prop_string(Properties::bus1);
14242 }
14243
14244 Generator& bus1(const string &value)
14245 {
14246 set_string(Properties::bus1, value);
14247 return *this;
14248 }
14249
14250 Generator& bus1(const char* value)
14251 {
14252 set_string(Properties::bus1, value);
14253 return *this;
14254 }
14255
14260 double kv()
14261 {
14262 return Obj_GetFloat64(ptr, Properties::kv);
14263 }
14264
14265 Generator& kv(double value)
14266 {
14267 Obj_SetFloat64(ptr, Properties::kv, value);
14268 return *this;
14269 }
14270
14276 double kW()
14277 {
14278 return Obj_GetFloat64(ptr, Properties::kW);
14279 }
14280
14281 Generator& kW(double value)
14282 {
14283 Obj_SetFloat64(ptr, Properties::kW, value);
14284 return *this;
14285 }
14286
14294 double pf()
14295 {
14296 return Obj_GetFloat64(ptr, Properties::pf);
14297 }
14298
14299 Generator& pf(double value)
14300 {
14301 Obj_SetFloat64(ptr, Properties::pf, value);
14302 return *this;
14303 }
14304
14309 double kvar()
14310 {
14311 return Obj_GetFloat64(ptr, Properties::kvar);
14312 }
14313
14314 Generator& kvar(double value)
14315 {
14316 Obj_SetFloat64(ptr, Properties::kvar, value);
14317 return *this;
14318 }
14319
14332 int32_t model()
14333 {
14334 return Obj_GetInt32(ptr, Properties::model);
14335 }
14336
14337 Generator& model(int32_t value)
14338 {
14339 Obj_SetInt32(ptr, Properties::model, value);
14340 return *this;
14341 }
14342
14347 double Vminpu()
14348 {
14349 return Obj_GetFloat64(ptr, Properties::Vminpu);
14350 }
14351
14352 Generator& Vminpu(double value)
14353 {
14354 Obj_SetFloat64(ptr, Properties::Vminpu, value);
14355 return *this;
14356 }
14357
14362 double Vmaxpu()
14363 {
14364 return Obj_GetFloat64(ptr, Properties::Vmaxpu);
14365 }
14366
14367 Generator& Vmaxpu(double value)
14368 {
14369 Obj_SetFloat64(ptr, Properties::Vmaxpu, value);
14370 return *this;
14371 }
14372
14377 string yearly()
14378 {
14379 return get_prop_string(Properties::yearly);
14380 }
14381
14382 Generator& yearly(const string &value)
14383 {
14384 set_string(Properties::yearly, value);
14385 return *this;
14386 }
14387
14389 {
14390 set_obj(Properties::yearly, value);
14391 return *this;
14392 }
14393
14399 {
14400 return get_obj<dss::obj::LoadShape>(Properties::yearly);
14401 }
14402
14404 {
14405 set_obj(Properties::yearly, value);
14406 return *this;
14407 }
14408
14413 string daily()
14414 {
14415 return get_prop_string(Properties::daily);
14416 }
14417
14418 Generator& daily(const string &value)
14419 {
14420 set_string(Properties::daily, value);
14421 return *this;
14422 }
14423
14425 {
14426 set_obj(Properties::daily, value);
14427 return *this;
14428 }
14429
14435 {
14436 return get_obj<dss::obj::LoadShape>(Properties::daily);
14437 }
14438
14440 {
14441 set_obj(Properties::daily, value);
14442 return *this;
14443 }
14444
14449 string duty()
14450 {
14451 return get_prop_string(Properties::duty);
14452 }
14453
14454 Generator& duty(const string &value)
14455 {
14456 set_string(Properties::duty, value);
14457 return *this;
14458 }
14459
14461 {
14462 set_obj(Properties::duty, value);
14463 return *this;
14464 }
14465
14471 {
14472 return get_obj<dss::obj::LoadShape>(Properties::duty);
14473 }
14474
14476 {
14477 set_obj(Properties::duty, value);
14478 return *this;
14479 }
14480
14486 {
14487 return GeneratorDispatchMode(Obj_GetInt32(ptr, Properties::dispmode));
14488 }
14489
14490 Generator& dispmode(int32_t value)
14491 {
14492 Obj_SetInt32(ptr, Properties::dispmode, value);
14493 return *this;
14494 }
14495
14497 {
14498 Obj_SetInt32(ptr, Properties::dispmode, int32_t(value));
14499 return *this;
14500 }
14501
14502 Generator& dispmode(const string &value)
14503 {
14504 set_string(Properties::dispmode, value);
14505 return *this;
14506 }
14507
14508 Generator& dispmode(const char *value)
14509 {
14510 set_string(Properties::dispmode, value);
14511 return *this;
14512 }
14513
14519 {
14520 return get_prop_string(Properties::dispmode);
14521 }
14522
14527 Generator& dispmode_str(const string &value)
14528 {
14529 set_string(Properties::dispmode, value);
14530 return *this;
14531 }
14532
14539 double dispvalue()
14540 {
14541 return Obj_GetFloat64(ptr, Properties::dispvalue);
14542 }
14543
14544 Generator& dispvalue(double value)
14545 {
14546 Obj_SetFloat64(ptr, Properties::dispvalue, value);
14547 return *this;
14548 }
14549
14554 Connection conn()
14555 {
14556 return Connection(Obj_GetInt32(ptr, Properties::conn));
14557 }
14558
14559 Generator& conn(int32_t value)
14560 {
14561 Obj_SetInt32(ptr, Properties::conn, value);
14562 return *this;
14563 }
14564
14565 Generator& conn(Connection value)
14566 {
14567 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
14568 return *this;
14569 }
14570
14571 Generator& conn(const string &value)
14572 {
14573 set_string(Properties::conn, value);
14574 return *this;
14575 }
14576
14577 Generator& conn(const char *value)
14578 {
14579 set_string(Properties::conn, value);
14580 return *this;
14581 }
14582
14587 string conn_str()
14588 {
14589 return get_prop_string(Properties::conn);
14590 }
14591
14596 Generator& conn_str(const string &value)
14597 {
14598 set_string(Properties::conn, value);
14599 return *this;
14600 }
14601
14607 {
14608 return GeneratorStatus(Obj_GetInt32(ptr, Properties::status));
14609 }
14610
14611 Generator& status(int32_t value)
14612 {
14613 Obj_SetInt32(ptr, Properties::status, value);
14614 return *this;
14615 }
14616
14617 Generator& status(GeneratorStatus value)
14618 {
14619 Obj_SetInt32(ptr, Properties::status, int32_t(value));
14620 return *this;
14621 }
14622
14623 Generator& status(const string &value)
14624 {
14625 set_string(Properties::status, value);
14626 return *this;
14627 }
14628
14629 Generator& status(const char *value)
14630 {
14631 set_string(Properties::status, value);
14632 return *this;
14633 }
14634
14639 string status_str()
14640 {
14641 return get_prop_string(Properties::status);
14642 }
14643
14648 Generator& status_str(const string &value)
14649 {
14650 set_string(Properties::status, value);
14651 return *this;
14652 }
14653
14658 int32_t cls()
14659 {
14660 return Obj_GetInt32(ptr, Properties::cls);
14661 }
14662
14663 Generator& cls(int32_t value)
14664 {
14665 Obj_SetInt32(ptr, Properties::cls, value);
14666 return *this;
14667 }
14668
14673 double Vpu()
14674 {
14675 return Obj_GetFloat64(ptr, Properties::Vpu);
14676 }
14677
14678 Generator& Vpu(double value)
14679 {
14680 Obj_SetFloat64(ptr, Properties::Vpu, value);
14681 return *this;
14682 }
14683
14688 double maxkvar()
14689 {
14690 return Obj_GetFloat64(ptr, Properties::maxkvar);
14691 }
14692
14693 Generator& maxkvar(double value)
14694 {
14695 Obj_SetFloat64(ptr, Properties::maxkvar, value);
14696 return *this;
14697 }
14698
14703 double minkvar()
14704 {
14705 return Obj_GetFloat64(ptr, Properties::minkvar);
14706 }
14707
14708 Generator& minkvar(double value)
14709 {
14710 Obj_SetFloat64(ptr, Properties::minkvar, value);
14711 return *this;
14712 }
14713
14718 double pvfactor()
14719 {
14720 return Obj_GetFloat64(ptr, Properties::pvfactor);
14721 }
14722
14723 Generator& pvfactor(double value)
14724 {
14725 Obj_SetFloat64(ptr, Properties::pvfactor, value);
14726 return *this;
14727 }
14728
14733 bool forceon()
14734 {
14735 return Obj_GetInt32(ptr, Properties::forceon) != 0;
14736 }
14737
14738 Generator& forceon(bool value)
14739 {
14740 Obj_SetInt32(ptr, Properties::forceon, value);
14741 return *this;
14742 }
14743
14748 double kVA()
14749 {
14750 return Obj_GetFloat64(ptr, Properties::kVA);
14751 }
14752
14753 Generator& kVA(double value)
14754 {
14755 Obj_SetFloat64(ptr, Properties::kVA, value);
14756 return *this;
14757 }
14758
14763 double MVA()
14764 {
14765 return Obj_GetFloat64(ptr, Properties::MVA);
14766 }
14767
14768 Generator& MVA(double value)
14769 {
14770 Obj_SetFloat64(ptr, Properties::MVA, value);
14771 return *this;
14772 }
14773
14778 double Xd()
14779 {
14780 return Obj_GetFloat64(ptr, Properties::Xd);
14781 }
14782
14783 Generator& Xd(double value)
14784 {
14785 Obj_SetFloat64(ptr, Properties::Xd, value);
14786 return *this;
14787 }
14788
14793 double Xdp()
14794 {
14795 return Obj_GetFloat64(ptr, Properties::Xdp);
14796 }
14797
14798 Generator& Xdp(double value)
14799 {
14800 Obj_SetFloat64(ptr, Properties::Xdp, value);
14801 return *this;
14802 }
14803
14808 double Xdpp()
14809 {
14810 return Obj_GetFloat64(ptr, Properties::Xdpp);
14811 }
14812
14813 Generator& Xdpp(double value)
14814 {
14815 Obj_SetFloat64(ptr, Properties::Xdpp, value);
14816 return *this;
14817 }
14818
14823 double H()
14824 {
14825 return Obj_GetFloat64(ptr, Properties::H);
14826 }
14827
14828 Generator& H(double value)
14829 {
14830 Obj_SetFloat64(ptr, Properties::H, value);
14831 return *this;
14832 }
14833
14838 double D()
14839 {
14840 return Obj_GetFloat64(ptr, Properties::D);
14841 }
14842
14843 Generator& D(double value)
14844 {
14845 Obj_SetFloat64(ptr, Properties::D, value);
14846 return *this;
14847 }
14848
14853 string UserModel()
14854 {
14855 return get_prop_string(Properties::UserModel);
14856 }
14857
14858 Generator& UserModel(const string &value)
14859 {
14860 set_string(Properties::UserModel, value);
14861 return *this;
14862 }
14863
14864 Generator& UserModel(const char* value)
14865 {
14866 set_string(Properties::UserModel, value);
14867 return *this;
14868 }
14869
14874 string UserData()
14875 {
14876 return get_prop_string(Properties::UserData);
14877 }
14878
14879 Generator& UserData(const string &value)
14880 {
14881 set_string(Properties::UserData, value);
14882 return *this;
14883 }
14884
14885 Generator& UserData(const char* value)
14886 {
14887 set_string(Properties::UserData, value);
14888 return *this;
14889 }
14890
14895 string ShaftModel()
14896 {
14897 return get_prop_string(Properties::ShaftModel);
14898 }
14899
14900 Generator& ShaftModel(const string &value)
14901 {
14902 set_string(Properties::ShaftModel, value);
14903 return *this;
14904 }
14905
14906 Generator& ShaftModel(const char* value)
14907 {
14908 set_string(Properties::ShaftModel, value);
14909 return *this;
14910 }
14911
14916 string ShaftData()
14917 {
14918 return get_prop_string(Properties::ShaftData);
14919 }
14920
14921 Generator& ShaftData(const string &value)
14922 {
14923 set_string(Properties::ShaftData, value);
14924 return *this;
14925 }
14926
14927 Generator& ShaftData(const char* value)
14928 {
14929 set_string(Properties::ShaftData, value);
14930 return *this;
14931 }
14932
14937 double DutyStart()
14938 {
14939 return Obj_GetFloat64(ptr, Properties::DutyStart);
14940 }
14941
14942 Generator& DutyStart(double value)
14943 {
14944 Obj_SetFloat64(ptr, Properties::DutyStart, value);
14945 return *this;
14946 }
14947
14953 {
14954 return Obj_GetInt32(ptr, Properties::debugtrace) != 0;
14955 }
14956
14957 Generator& debugtrace(bool value)
14958 {
14959 Obj_SetInt32(ptr, Properties::debugtrace, value);
14960 return *this;
14961 }
14962
14968 {
14969 return Obj_GetInt32(ptr, Properties::Balanced) != 0;
14970 }
14971
14972 Generator& Balanced(bool value)
14973 {
14974 Obj_SetInt32(ptr, Properties::Balanced, value);
14975 return *this;
14976 }
14977
14982 double XRdp()
14983 {
14984 return Obj_GetFloat64(ptr, Properties::XRdp);
14985 }
14986
14987 Generator& XRdp(double value)
14988 {
14989 Obj_SetFloat64(ptr, Properties::XRdp, value);
14990 return *this;
14991 }
14992
14997 bool UseFuel()
14998 {
14999 return Obj_GetInt32(ptr, Properties::UseFuel) != 0;
15000 }
15001
15002 Generator& UseFuel(bool value)
15003 {
15004 Obj_SetInt32(ptr, Properties::UseFuel, value);
15005 return *this;
15006 }
15007
15012 double FuelkWh()
15013 {
15014 return Obj_GetFloat64(ptr, Properties::FuelkWh);
15015 }
15016
15017 Generator& FuelkWh(double value)
15018 {
15019 Obj_SetFloat64(ptr, Properties::FuelkWh, value);
15020 return *this;
15021 }
15022
15027 double pctFuel()
15028 {
15029 return Obj_GetFloat64(ptr, Properties::pctFuel);
15030 }
15031
15032 Generator& pctFuel(double value)
15033 {
15034 Obj_SetFloat64(ptr, Properties::pctFuel, value);
15035 return *this;
15036 }
15037
15042 double pctReserve()
15043 {
15044 return Obj_GetFloat64(ptr, Properties::pctReserve);
15045 }
15046
15047 Generator& pctReserve(double value)
15048 {
15049 Obj_SetFloat64(ptr, Properties::pctReserve, value);
15050 return *this;
15051 }
15052
15057 Generator& Refuel(bool value)
15058 {
15059 Obj_SetInt32(ptr, Properties::Refuel, value);
15060 return *this;
15061 }
15062
15067 string spectrum()
15068 {
15069 return get_prop_string(Properties::spectrum);
15070 }
15071
15072 Generator& spectrum(const string &value)
15073 {
15074 set_string(Properties::spectrum, value);
15075 return *this;
15076 }
15077
15079 {
15080 set_obj(Properties::spectrum, value);
15081 return *this;
15082 }
15083
15089 {
15090 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
15091 }
15092
15094 {
15095 set_obj(Properties::spectrum, value);
15096 return *this;
15097 }
15098
15103 double basefreq()
15104 {
15105 return Obj_GetFloat64(ptr, Properties::basefreq);
15106 }
15107
15108 Generator& basefreq(double value)
15109 {
15110 Obj_SetFloat64(ptr, Properties::basefreq, value);
15111 return *this;
15112 }
15113
15118 bool enabled()
15119 {
15120 return Obj_GetInt32(ptr, Properties::enabled) != 0;
15121 }
15122
15123 Generator& enabled(bool value)
15124 {
15125 Obj_SetInt32(ptr, Properties::enabled, value);
15126 return *this;
15127 }
15128
15135 Generator& like(const string &value)
15136 {
15137 set_string(Properties::like, value);
15138 return *this;
15139 }
15140
15147 Generator& like(const char *value)
15148 {
15149 set_string(Properties::like, value);
15150 return *this;
15151 }
15152};
15153
15154
15156{
15157public:
15158 const static char dss_cls_name[];
15159 const static int32_t dss_cls_idx = 27;
15161 {
15162 enum {
15163 Element = 1,
15164 Terminal = 2,
15165 kWLimit = 3,
15166 kWBand = 4,
15167 kvarlimit = 5,
15168 GenList = 6,
15169 Weights = 7,
15170 basefreq = 8,
15171 enabled = 9,
15172 like = 10,
15173 };
15174 };
15175
15179 GenDispatcher(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
15180 {
15181 }
15182
15186 GenDispatcher(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
15187 {
15188 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
15189 check_for_error();
15190 if (ptr == nullptr)
15191 {
15192 throw std::runtime_error("Could not find the GenDispatcher element by the given index");
15193 }
15194 }
15195
15199 GenDispatcher(APIUtil *util, char *name): DSSObj(util, nullptr)
15200 {
15201 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
15202 check_for_error();
15203 if (ptr == nullptr)
15204 {
15205 throw std::runtime_error("Could not find the GenDispatcher element by the given name");
15206 }
15207 }
15208
15212 const char* name()
15213 {
15214 return Obj_GetName(ptr);
15215 }
15216
15221 {
15222 Obj_BeginEdit(ptr);
15223 return *this;
15224 }
15225
15230 GenDispatcher& end_edit(int32_t num_edits=1)
15231 {
15232 Obj_EndEdit(ptr, num_edits);
15233 return *this;
15234 }
15235
15240 string Element()
15241 {
15242 return get_prop_string(Properties::Element);
15243 }
15244
15245 GenDispatcher& Element(const string &value)
15246 {
15247 set_string(Properties::Element, value);
15248 return *this;
15249 }
15250
15252 {
15253 set_obj(Properties::Element, value);
15254 return *this;
15255 }
15256
15262 {
15263 return get_obj<dss::obj::DSSObj>(Properties::Element);
15264 }
15265
15267 {
15268 set_obj(Properties::Element, value);
15269 return *this;
15270 }
15271
15276 int32_t Terminal()
15277 {
15278 return Obj_GetInt32(ptr, Properties::Terminal);
15279 }
15280
15281 GenDispatcher& Terminal(int32_t value)
15282 {
15283 Obj_SetInt32(ptr, Properties::Terminal, value);
15284 return *this;
15285 }
15286
15291 double kWLimit()
15292 {
15293 return Obj_GetFloat64(ptr, Properties::kWLimit);
15294 }
15295
15296 GenDispatcher& kWLimit(double value)
15297 {
15298 Obj_SetFloat64(ptr, Properties::kWLimit, value);
15299 return *this;
15300 }
15301
15306 double kWBand()
15307 {
15308 return Obj_GetFloat64(ptr, Properties::kWBand);
15309 }
15310
15311 GenDispatcher& kWBand(double value)
15312 {
15313 Obj_SetFloat64(ptr, Properties::kWBand, value);
15314 return *this;
15315 }
15316
15321 double kvarlimit()
15322 {
15323 return Obj_GetFloat64(ptr, Properties::kvarlimit);
15324 }
15325
15326 GenDispatcher& kvarlimit(double value)
15327 {
15328 Obj_SetFloat64(ptr, Properties::kvarlimit, value);
15329 return *this;
15330 }
15331
15336 strings GenList()
15337 {
15338 return get_array<strings>(Properties::GenList);
15339 }
15340
15341 GenDispatcher& GenList(strings &value)
15342 {
15343 set_array<strings>(Properties::GenList, value);
15344 return *this;
15345 }
15346
15351 VectorXd Weights()
15352 {
15353 return get_array<VectorXd>(Properties::Weights);
15354 }
15355
15356 GenDispatcher& Weights(VectorXd &value)
15357 {
15358 set_array<VectorXd>(Properties::Weights, value);
15359 return *this;
15360 }
15361
15366 double basefreq()
15367 {
15368 return Obj_GetFloat64(ptr, Properties::basefreq);
15369 }
15370
15371 GenDispatcher& basefreq(double value)
15372 {
15373 Obj_SetFloat64(ptr, Properties::basefreq, value);
15374 return *this;
15375 }
15376
15381 bool enabled()
15382 {
15383 return Obj_GetInt32(ptr, Properties::enabled) != 0;
15384 }
15385
15386 GenDispatcher& enabled(bool value)
15387 {
15388 Obj_SetInt32(ptr, Properties::enabled, value);
15389 return *this;
15390 }
15391
15398 GenDispatcher& like(const string &value)
15399 {
15400 set_string(Properties::like, value);
15401 return *this;
15402 }
15403
15410 GenDispatcher& like(const char *value)
15411 {
15412 set_string(Properties::like, value);
15413 return *this;
15414 }
15415};
15416
15417
15418class Storage: public DSSObj
15419{
15420public:
15421 const static char dss_cls_name[];
15422 const static int32_t dss_cls_idx = 28;
15424 {
15425 enum {
15426 phases = 1,
15427 bus1 = 2,
15428 kv = 3,
15429 conn = 4,
15430 kW = 5,
15431 kvar = 6,
15432 pf = 7,
15433 kVA = 8,
15434 pctCutin = 9,
15435 pctCutout = 10,
15436 EffCurve = 11,
15437 VarFollowInverter = 12,
15438 kvarMax = 13,
15439 kvarMaxAbs = 14,
15440 WattPriority = 15,
15441 PFPriority = 16,
15442 pctPminNoVars = 17,
15443 pctPminkvarMax = 18,
15444 kWrated = 19,
15445 pctkWrated = 20,
15446 kWhrated = 21,
15447 kWhstored = 22,
15448 pctstored = 23,
15449 pctreserve = 24,
15450 State = 25,
15451 pctDischarge = 26,
15452 pctCharge = 27,
15453 pctEffCharge = 28,
15454 pctEffDischarge = 29,
15455 pctIdlingkW = 30,
15456 pctR = 31,
15457 pctX = 32,
15458 model = 33,
15459 Vminpu = 34,
15460 Vmaxpu = 35,
15461 Balanced = 36,
15462 LimitCurrent = 37,
15463 yearly = 38,
15464 daily = 39,
15465 duty = 40,
15466 DispMode = 41,
15467 DischargeTrigger = 42,
15468 ChargeTrigger = 43,
15469 TimeChargeTrig = 44,
15470 cls = 45,
15471 DynaDLL = 46,
15472 DynaData = 47,
15473 UserModel = 48,
15474 UserData = 49,
15475 debugtrace = 50,
15476 spectrum = 51,
15477 basefreq = 52,
15478 enabled = 53,
15479 like = 54,
15480 };
15481 };
15482
15483 // Class-specific enumerations
15484
15488 enum class StorageState: int32_t
15489 {
15490 Charging = -1,
15491 Idling = 0,
15492 Discharging = 1
15493 };
15494
15495
15499 enum class StorageDispatchMode: int32_t
15500 {
15501 Default = 0,
15502 LoadLevel = 1,
15503 Price = 2,
15504 External = 3,
15505 Follow = 4
15506 };
15507
15508
15509
15513 Storage(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
15514 {
15515 }
15516
15520 Storage(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
15521 {
15522 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
15523 check_for_error();
15524 if (ptr == nullptr)
15525 {
15526 throw std::runtime_error("Could not find the Storage element by the given index");
15527 }
15528 }
15529
15533 Storage(APIUtil *util, char *name): DSSObj(util, nullptr)
15534 {
15535 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
15536 check_for_error();
15537 if (ptr == nullptr)
15538 {
15539 throw std::runtime_error("Could not find the Storage element by the given name");
15540 }
15541 }
15542
15546 const char* name()
15547 {
15548 return Obj_GetName(ptr);
15549 }
15550
15555 {
15556 Obj_BeginEdit(ptr);
15557 return *this;
15558 }
15559
15564 Storage& end_edit(int32_t num_edits=1)
15565 {
15566 Obj_EndEdit(ptr, num_edits);
15567 return *this;
15568 }
15569
15574 int32_t phases()
15575 {
15576 return Obj_GetInt32(ptr, Properties::phases);
15577 }
15578
15579 Storage& phases(int32_t value)
15580 {
15581 Obj_SetInt32(ptr, Properties::phases, value);
15582 return *this;
15583 }
15584
15589 string bus1()
15590 {
15591 return get_prop_string(Properties::bus1);
15592 }
15593
15594 Storage& bus1(const string &value)
15595 {
15596 set_string(Properties::bus1, value);
15597 return *this;
15598 }
15599
15600 Storage& bus1(const char* value)
15601 {
15602 set_string(Properties::bus1, value);
15603 return *this;
15604 }
15605
15614 double kv()
15615 {
15616 return Obj_GetFloat64(ptr, Properties::kv);
15617 }
15618
15619 Storage& kv(double value)
15620 {
15621 Obj_SetFloat64(ptr, Properties::kv, value);
15622 return *this;
15623 }
15624
15629 Connection conn()
15630 {
15631 return Connection(Obj_GetInt32(ptr, Properties::conn));
15632 }
15633
15634 Storage& conn(int32_t value)
15635 {
15636 Obj_SetInt32(ptr, Properties::conn, value);
15637 return *this;
15638 }
15639
15640 Storage& conn(Connection value)
15641 {
15642 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
15643 return *this;
15644 }
15645
15646 Storage& conn(const string &value)
15647 {
15648 set_string(Properties::conn, value);
15649 return *this;
15650 }
15651
15652 Storage& conn(const char *value)
15653 {
15654 set_string(Properties::conn, value);
15655 return *this;
15656 }
15657
15662 string conn_str()
15663 {
15664 return get_prop_string(Properties::conn);
15665 }
15666
15671 Storage& conn_str(const string &value)
15672 {
15673 set_string(Properties::conn, value);
15674 return *this;
15675 }
15676
15681 double kW()
15682 {
15683 return Obj_GetFloat64(ptr, Properties::kW);
15684 }
15685
15686 Storage& kW(double value)
15687 {
15688 Obj_SetFloat64(ptr, Properties::kW, value);
15689 return *this;
15690 }
15691
15696 double kvar()
15697 {
15698 return Obj_GetFloat64(ptr, Properties::kvar);
15699 }
15700
15701 Storage& kvar(double value)
15702 {
15703 Obj_SetFloat64(ptr, Properties::kvar, value);
15704 return *this;
15705 }
15706
15715 double pf()
15716 {
15717 return Obj_GetFloat64(ptr, Properties::pf);
15718 }
15719
15720 Storage& pf(double value)
15721 {
15722 Obj_SetFloat64(ptr, Properties::pf, value);
15723 return *this;
15724 }
15725
15730 double kVA()
15731 {
15732 return Obj_GetFloat64(ptr, Properties::kVA);
15733 }
15734
15735 Storage& kVA(double value)
15736 {
15737 Obj_SetFloat64(ptr, Properties::kVA, value);
15738 return *this;
15739 }
15740
15745 double pctCutin()
15746 {
15747 return Obj_GetFloat64(ptr, Properties::pctCutin);
15748 }
15749
15750 Storage& pctCutin(double value)
15751 {
15752 Obj_SetFloat64(ptr, Properties::pctCutin, value);
15753 return *this;
15754 }
15755
15760 double pctCutout()
15761 {
15762 return Obj_GetFloat64(ptr, Properties::pctCutout);
15763 }
15764
15765 Storage& pctCutout(double value)
15766 {
15767 Obj_SetFloat64(ptr, Properties::pctCutout, value);
15768 return *this;
15769 }
15770
15775 string EffCurve()
15776 {
15777 return get_prop_string(Properties::EffCurve);
15778 }
15779
15780 Storage& EffCurve(const string &value)
15781 {
15782 set_string(Properties::EffCurve, value);
15783 return *this;
15784 }
15785
15787 {
15788 set_obj(Properties::EffCurve, value);
15789 return *this;
15790 }
15791
15797 {
15798 return get_obj<dss::obj::XYcurve>(Properties::EffCurve);
15799 }
15800
15802 {
15803 set_obj(Properties::EffCurve, value);
15804 return *this;
15805 }
15806
15812 {
15813 return Obj_GetInt32(ptr, Properties::VarFollowInverter) != 0;
15814 }
15815
15816 Storage& VarFollowInverter(bool value)
15817 {
15818 Obj_SetInt32(ptr, Properties::VarFollowInverter, value);
15819 return *this;
15820 }
15821
15826 double kvarMax()
15827 {
15828 return Obj_GetFloat64(ptr, Properties::kvarMax);
15829 }
15830
15831 Storage& kvarMax(double value)
15832 {
15833 Obj_SetFloat64(ptr, Properties::kvarMax, value);
15834 return *this;
15835 }
15836
15841 double kvarMaxAbs()
15842 {
15843 return Obj_GetFloat64(ptr, Properties::kvarMaxAbs);
15844 }
15845
15846 Storage& kvarMaxAbs(double value)
15847 {
15848 Obj_SetFloat64(ptr, Properties::kvarMaxAbs, value);
15849 return *this;
15850 }
15851
15857 {
15858 return Obj_GetInt32(ptr, Properties::WattPriority) != 0;
15859 }
15860
15861 Storage& WattPriority(bool value)
15862 {
15863 Obj_SetInt32(ptr, Properties::WattPriority, value);
15864 return *this;
15865 }
15866
15872 {
15873 return Obj_GetInt32(ptr, Properties::PFPriority) != 0;
15874 }
15875
15876 Storage& PFPriority(bool value)
15877 {
15878 Obj_SetInt32(ptr, Properties::PFPriority, value);
15879 return *this;
15880 }
15881
15887 {
15888 return Obj_GetFloat64(ptr, Properties::pctPminNoVars);
15889 }
15890
15891 Storage& pctPminNoVars(double value)
15892 {
15893 Obj_SetFloat64(ptr, Properties::pctPminNoVars, value);
15894 return *this;
15895 }
15896
15902 {
15903 return Obj_GetFloat64(ptr, Properties::pctPminkvarMax);
15904 }
15905
15906 Storage& pctPminkvarMax(double value)
15907 {
15908 Obj_SetFloat64(ptr, Properties::pctPminkvarMax, value);
15909 return *this;
15910 }
15911
15916 double kWrated()
15917 {
15918 return Obj_GetFloat64(ptr, Properties::kWrated);
15919 }
15920
15921 Storage& kWrated(double value)
15922 {
15923 Obj_SetFloat64(ptr, Properties::kWrated, value);
15924 return *this;
15925 }
15926
15931 double pctkWrated()
15932 {
15933 return Obj_GetFloat64(ptr, Properties::pctkWrated);
15934 }
15935
15936 Storage& pctkWrated(double value)
15937 {
15938 Obj_SetFloat64(ptr, Properties::pctkWrated, value);
15939 return *this;
15940 }
15941
15946 double kWhrated()
15947 {
15948 return Obj_GetFloat64(ptr, Properties::kWhrated);
15949 }
15950
15951 Storage& kWhrated(double value)
15952 {
15953 Obj_SetFloat64(ptr, Properties::kWhrated, value);
15954 return *this;
15955 }
15956
15961 double kWhstored()
15962 {
15963 return Obj_GetFloat64(ptr, Properties::kWhstored);
15964 }
15965
15966 Storage& kWhstored(double value)
15967 {
15968 Obj_SetFloat64(ptr, Properties::kWhstored, value);
15969 return *this;
15970 }
15971
15976 double pctstored()
15977 {
15978 return Obj_GetFloat64(ptr, Properties::pctstored);
15979 }
15980
15981 Storage& pctstored(double value)
15982 {
15983 Obj_SetFloat64(ptr, Properties::pctstored, value);
15984 return *this;
15985 }
15986
15992 double pctreserve()
15993 {
15994 return Obj_GetFloat64(ptr, Properties::pctreserve);
15995 }
15996
15997 Storage& pctreserve(double value)
15998 {
15999 Obj_SetFloat64(ptr, Properties::pctreserve, value);
16000 return *this;
16001 }
16002
16008 {
16009 return StorageState(Obj_GetInt32(ptr, Properties::State));
16010 }
16011
16012 Storage& State(int32_t value)
16013 {
16014 Obj_SetInt32(ptr, Properties::State, value);
16015 return *this;
16016 }
16017
16018 Storage& State(StorageState value)
16019 {
16020 Obj_SetInt32(ptr, Properties::State, int32_t(value));
16021 return *this;
16022 }
16023
16024 Storage& State(const string &value)
16025 {
16026 set_string(Properties::State, value);
16027 return *this;
16028 }
16029
16030 Storage& State(const char *value)
16031 {
16032 set_string(Properties::State, value);
16033 return *this;
16034 }
16035
16040 string State_str()
16041 {
16042 return get_prop_string(Properties::State);
16043 }
16044
16049 Storage& State_str(const string &value)
16050 {
16051 set_string(Properties::State, value);
16052 return *this;
16053 }
16054
16060 {
16061 return Obj_GetFloat64(ptr, Properties::pctDischarge);
16062 }
16063
16064 Storage& pctDischarge(double value)
16065 {
16066 Obj_SetFloat64(ptr, Properties::pctDischarge, value);
16067 return *this;
16068 }
16069
16074 double pctCharge()
16075 {
16076 return Obj_GetFloat64(ptr, Properties::pctCharge);
16077 }
16078
16079 Storage& pctCharge(double value)
16080 {
16081 Obj_SetFloat64(ptr, Properties::pctCharge, value);
16082 return *this;
16083 }
16084
16090 {
16091 return Obj_GetFloat64(ptr, Properties::pctEffCharge);
16092 }
16093
16094 Storage& pctEffCharge(double value)
16095 {
16096 Obj_SetFloat64(ptr, Properties::pctEffCharge, value);
16097 return *this;
16098 }
16099
16105 {
16106 return Obj_GetFloat64(ptr, Properties::pctEffDischarge);
16107 }
16108
16109 Storage& pctEffDischarge(double value)
16110 {
16111 Obj_SetFloat64(ptr, Properties::pctEffDischarge, value);
16112 return *this;
16113 }
16114
16120 {
16121 return Obj_GetFloat64(ptr, Properties::pctIdlingkW);
16122 }
16123
16124 Storage& pctIdlingkW(double value)
16125 {
16126 Obj_SetFloat64(ptr, Properties::pctIdlingkW, value);
16127 return *this;
16128 }
16129
16134 double pctR()
16135 {
16136 return Obj_GetFloat64(ptr, Properties::pctR);
16137 }
16138
16139 Storage& pctR(double value)
16140 {
16141 Obj_SetFloat64(ptr, Properties::pctR, value);
16142 return *this;
16143 }
16144
16149 double pctX()
16150 {
16151 return Obj_GetFloat64(ptr, Properties::pctX);
16152 }
16153
16154 Storage& pctX(double value)
16155 {
16156 Obj_SetFloat64(ptr, Properties::pctX, value);
16157 return *this;
16158 }
16159
16168 int32_t model()
16169 {
16170 return Obj_GetInt32(ptr, Properties::model);
16171 }
16172
16173 Storage& model(int32_t value)
16174 {
16175 Obj_SetInt32(ptr, Properties::model, value);
16176 return *this;
16177 }
16178
16183 double Vminpu()
16184 {
16185 return Obj_GetFloat64(ptr, Properties::Vminpu);
16186 }
16187
16188 Storage& Vminpu(double value)
16189 {
16190 Obj_SetFloat64(ptr, Properties::Vminpu, value);
16191 return *this;
16192 }
16193
16198 double Vmaxpu()
16199 {
16200 return Obj_GetFloat64(ptr, Properties::Vmaxpu);
16201 }
16202
16203 Storage& Vmaxpu(double value)
16204 {
16205 Obj_SetFloat64(ptr, Properties::Vmaxpu, value);
16206 return *this;
16207 }
16208
16214 {
16215 return Obj_GetInt32(ptr, Properties::Balanced) != 0;
16216 }
16217
16218 Storage& Balanced(bool value)
16219 {
16220 Obj_SetInt32(ptr, Properties::Balanced, value);
16221 return *this;
16222 }
16223
16229 {
16230 return Obj_GetInt32(ptr, Properties::LimitCurrent) != 0;
16231 }
16232
16233 Storage& LimitCurrent(bool value)
16234 {
16235 Obj_SetInt32(ptr, Properties::LimitCurrent, value);
16236 return *this;
16237 }
16238
16243 string yearly()
16244 {
16245 return get_prop_string(Properties::yearly);
16246 }
16247
16248 Storage& yearly(const string &value)
16249 {
16250 set_string(Properties::yearly, value);
16251 return *this;
16252 }
16253
16255 {
16256 set_obj(Properties::yearly, value);
16257 return *this;
16258 }
16259
16265 {
16266 return get_obj<dss::obj::LoadShape>(Properties::yearly);
16267 }
16268
16270 {
16271 set_obj(Properties::yearly, value);
16272 return *this;
16273 }
16274
16279 string daily()
16280 {
16281 return get_prop_string(Properties::daily);
16282 }
16283
16284 Storage& daily(const string &value)
16285 {
16286 set_string(Properties::daily, value);
16287 return *this;
16288 }
16289
16291 {
16292 set_obj(Properties::daily, value);
16293 return *this;
16294 }
16295
16301 {
16302 return get_obj<dss::obj::LoadShape>(Properties::daily);
16303 }
16304
16306 {
16307 set_obj(Properties::daily, value);
16308 return *this;
16309 }
16310
16319 string duty()
16320 {
16321 return get_prop_string(Properties::duty);
16322 }
16323
16324 Storage& duty(const string &value)
16325 {
16326 set_string(Properties::duty, value);
16327 return *this;
16328 }
16329
16331 {
16332 set_obj(Properties::duty, value);
16333 return *this;
16334 }
16335
16345 {
16346 return get_obj<dss::obj::LoadShape>(Properties::duty);
16347 }
16348
16350 {
16351 set_obj(Properties::duty, value);
16352 return *this;
16353 }
16354
16368 {
16369 return StorageDispatchMode(Obj_GetInt32(ptr, Properties::DispMode));
16370 }
16371
16372 Storage& DispMode(int32_t value)
16373 {
16374 Obj_SetInt32(ptr, Properties::DispMode, value);
16375 return *this;
16376 }
16377
16379 {
16380 Obj_SetInt32(ptr, Properties::DispMode, int32_t(value));
16381 return *this;
16382 }
16383
16384 Storage& DispMode(const string &value)
16385 {
16386 set_string(Properties::DispMode, value);
16387 return *this;
16388 }
16389
16390 Storage& DispMode(const char *value)
16391 {
16392 set_string(Properties::DispMode, value);
16393 return *this;
16394 }
16395
16409 {
16410 return get_prop_string(Properties::DispMode);
16411 }
16412
16425 Storage& DispMode_str(const string &value)
16426 {
16427 set_string(Properties::DispMode, value);
16428 return *this;
16429 }
16430
16438 {
16439 return Obj_GetFloat64(ptr, Properties::DischargeTrigger);
16440 }
16441
16442 Storage& DischargeTrigger(double value)
16443 {
16444 Obj_SetFloat64(ptr, Properties::DischargeTrigger, value);
16445 return *this;
16446 }
16447
16457 {
16458 return Obj_GetFloat64(ptr, Properties::ChargeTrigger);
16459 }
16460
16461 Storage& ChargeTrigger(double value)
16462 {
16463 Obj_SetFloat64(ptr, Properties::ChargeTrigger, value);
16464 return *this;
16465 }
16466
16472 {
16473 return Obj_GetFloat64(ptr, Properties::TimeChargeTrig);
16474 }
16475
16476 Storage& TimeChargeTrig(double value)
16477 {
16478 Obj_SetFloat64(ptr, Properties::TimeChargeTrig, value);
16479 return *this;
16480 }
16481
16486 int32_t cls()
16487 {
16488 return Obj_GetInt32(ptr, Properties::cls);
16489 }
16490
16491 Storage& cls(int32_t value)
16492 {
16493 Obj_SetInt32(ptr, Properties::cls, value);
16494 return *this;
16495 }
16496
16501 string DynaDLL()
16502 {
16503 return get_prop_string(Properties::DynaDLL);
16504 }
16505
16506 Storage& DynaDLL(const string &value)
16507 {
16508 set_string(Properties::DynaDLL, value);
16509 return *this;
16510 }
16511
16512 Storage& DynaDLL(const char* value)
16513 {
16514 set_string(Properties::DynaDLL, value);
16515 return *this;
16516 }
16517
16522 string DynaData()
16523 {
16524 return get_prop_string(Properties::DynaData);
16525 }
16526
16527 Storage& DynaData(const string &value)
16528 {
16529 set_string(Properties::DynaData, value);
16530 return *this;
16531 }
16532
16533 Storage& DynaData(const char* value)
16534 {
16535 set_string(Properties::DynaData, value);
16536 return *this;
16537 }
16538
16543 string UserModel()
16544 {
16545 return get_prop_string(Properties::UserModel);
16546 }
16547
16548 Storage& UserModel(const string &value)
16549 {
16550 set_string(Properties::UserModel, value);
16551 return *this;
16552 }
16553
16554 Storage& UserModel(const char* value)
16555 {
16556 set_string(Properties::UserModel, value);
16557 return *this;
16558 }
16559
16564 string UserData()
16565 {
16566 return get_prop_string(Properties::UserData);
16567 }
16568
16569 Storage& UserData(const string &value)
16570 {
16571 set_string(Properties::UserData, value);
16572 return *this;
16573 }
16574
16575 Storage& UserData(const char* value)
16576 {
16577 set_string(Properties::UserData, value);
16578 return *this;
16579 }
16580
16586 {
16587 return Obj_GetInt32(ptr, Properties::debugtrace) != 0;
16588 }
16589
16590 Storage& debugtrace(bool value)
16591 {
16592 Obj_SetInt32(ptr, Properties::debugtrace, value);
16593 return *this;
16594 }
16595
16600 string spectrum()
16601 {
16602 return get_prop_string(Properties::spectrum);
16603 }
16604
16605 Storage& spectrum(const string &value)
16606 {
16607 set_string(Properties::spectrum, value);
16608 return *this;
16609 }
16610
16612 {
16613 set_obj(Properties::spectrum, value);
16614 return *this;
16615 }
16616
16622 {
16623 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
16624 }
16625
16627 {
16628 set_obj(Properties::spectrum, value);
16629 return *this;
16630 }
16631
16636 double basefreq()
16637 {
16638 return Obj_GetFloat64(ptr, Properties::basefreq);
16639 }
16640
16641 Storage& basefreq(double value)
16642 {
16643 Obj_SetFloat64(ptr, Properties::basefreq, value);
16644 return *this;
16645 }
16646
16651 bool enabled()
16652 {
16653 return Obj_GetInt32(ptr, Properties::enabled) != 0;
16654 }
16655
16656 Storage& enabled(bool value)
16657 {
16658 Obj_SetInt32(ptr, Properties::enabled, value);
16659 return *this;
16660 }
16661
16668 Storage& like(const string &value)
16669 {
16670 set_string(Properties::like, value);
16671 return *this;
16672 }
16673
16680 Storage& like(const char *value)
16681 {
16682 set_string(Properties::like, value);
16683 return *this;
16684 }
16685};
16686
16687
16689{
16690public:
16691 const static char dss_cls_name[];
16692 const static int32_t dss_cls_idx = 29;
16694 {
16695 enum {
16696 Element = 1,
16697 Terminal = 2,
16698 MonPhase = 3,
16699 kWTarget = 4,
16700 kWTargetLow = 5,
16701 pctkWBand = 6,
16702 kWBand = 7,
16703 pctkWBandLow = 8,
16704 kWBandLow = 9,
16705 ElementList = 10,
16706 Weights = 11,
16707 ModeDischarge = 12,
16708 ModeCharge = 13,
16709 TimeDischargeTrigger = 14,
16710 TimeChargeTrigger = 15,
16711 pctRatekW = 16,
16712 pctRateCharge = 17,
16713 pctReserve = 18,
16714 kWhTotal = 19,
16715 kWTotal = 20,
16716 kWhActual = 21,
16717 kWActual = 22,
16718 kWneed = 23,
16719 Yearly = 24,
16720 Daily = 25,
16721 Duty = 26,
16722 EventLog = 27,
16723 InhibitTime = 28,
16724 Tup = 29,
16725 TFlat = 30,
16726 Tdn = 31,
16727 kWThreshold = 32,
16728 DispFactor = 33,
16729 ResetLevel = 34,
16730 Seasons = 35,
16731 SeasonTargets = 36,
16732 SeasonTargetsLow = 37,
16733 basefreq = 38,
16734 enabled = 39,
16735 like = 40,
16736 };
16737 };
16738
16739 // Class-specific enumerations
16740
16745 {
16746 Peakshave = 5,
16747 Follow = 1,
16748 Support = 3,
16749 Loadshape = 2,
16750 Time = 4,
16751 Schedule = 6,
16752 I_Peakshave = 8
16753 };
16754
16755
16760 {
16761 Loadshape = 2,
16762 Time = 4,
16763 PeakshaveLow = 7,
16764 I_PeakshaveLow = 9
16765 };
16766
16767
16768
16772 StorageController(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
16773 {
16774 }
16775
16779 StorageController(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
16780 {
16781 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
16782 check_for_error();
16783 if (ptr == nullptr)
16784 {
16785 throw std::runtime_error("Could not find the StorageController element by the given index");
16786 }
16787 }
16788
16792 StorageController(APIUtil *util, char *name): DSSObj(util, nullptr)
16793 {
16794 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
16795 check_for_error();
16796 if (ptr == nullptr)
16797 {
16798 throw std::runtime_error("Could not find the StorageController element by the given name");
16799 }
16800 }
16801
16805 const char* name()
16806 {
16807 return Obj_GetName(ptr);
16808 }
16809
16814 {
16815 Obj_BeginEdit(ptr);
16816 return *this;
16817 }
16818
16823 StorageController& end_edit(int32_t num_edits=1)
16824 {
16825 Obj_EndEdit(ptr, num_edits);
16826 return *this;
16827 }
16828
16833 string Element()
16834 {
16835 return get_prop_string(Properties::Element);
16836 }
16837
16838 StorageController& Element(const string &value)
16839 {
16840 set_string(Properties::Element, value);
16841 return *this;
16842 }
16843
16845 {
16846 set_obj(Properties::Element, value);
16847 return *this;
16848 }
16849
16855 {
16856 return get_obj<dss::obj::DSSObj>(Properties::Element);
16857 }
16858
16860 {
16861 set_obj(Properties::Element, value);
16862 return *this;
16863 }
16864
16869 int32_t Terminal()
16870 {
16871 return Obj_GetInt32(ptr, Properties::Terminal);
16872 }
16873
16874 StorageController& Terminal(int32_t value)
16875 {
16876 Obj_SetInt32(ptr, Properties::Terminal, value);
16877 return *this;
16878 }
16879
16884 int32_t MonPhase()
16885 {
16886 return Obj_GetInt32(ptr, Properties::MonPhase);
16887 }
16888
16889 StorageController& MonPhase(int32_t value)
16890 {
16891 Obj_SetInt32(ptr, Properties::MonPhase, value);
16892 return *this;
16893 }
16894
16895 StorageController& MonPhase(MonitoredPhase value)
16896 {
16897 Obj_SetInt32(ptr, Properties::MonPhase, int32_t(value));
16898 return *this;
16899 }
16900
16901 StorageController& MonPhase(const string &value)
16902 {
16903 set_string(Properties::MonPhase, value);
16904 return *this;
16905 }
16906
16907 StorageController& MonPhase(const char *value)
16908 {
16909 set_string(Properties::MonPhase, value);
16910 return *this;
16911 }
16912
16918 {
16919 return get_prop_string(Properties::MonPhase);
16920 }
16921
16926 StorageController& MonPhase_str(const string &value)
16927 {
16928 set_string(Properties::MonPhase, value);
16929 return *this;
16930 }
16931
16936 double kWTarget()
16937 {
16938 return Obj_GetFloat64(ptr, Properties::kWTarget);
16939 }
16940
16941 StorageController& kWTarget(double value)
16942 {
16943 Obj_SetFloat64(ptr, Properties::kWTarget, value);
16944 return *this;
16945 }
16946
16952 {
16953 return Obj_GetFloat64(ptr, Properties::kWTargetLow);
16954 }
16955
16956 StorageController& kWTargetLow(double value)
16957 {
16958 Obj_SetFloat64(ptr, Properties::kWTargetLow, value);
16959 return *this;
16960 }
16961
16966 double pctkWBand()
16967 {
16968 return Obj_GetFloat64(ptr, Properties::pctkWBand);
16969 }
16970
16971 StorageController& pctkWBand(double value)
16972 {
16973 Obj_SetFloat64(ptr, Properties::pctkWBand, value);
16974 return *this;
16975 }
16976
16981 double kWBand()
16982 {
16983 return Obj_GetFloat64(ptr, Properties::kWBand);
16984 }
16985
16986 StorageController& kWBand(double value)
16987 {
16988 Obj_SetFloat64(ptr, Properties::kWBand, value);
16989 return *this;
16990 }
16991
16997 {
16998 return Obj_GetFloat64(ptr, Properties::pctkWBandLow);
16999 }
17000
17001 StorageController& pctkWBandLow(double value)
17002 {
17003 Obj_SetFloat64(ptr, Properties::pctkWBandLow, value);
17004 return *this;
17005 }
17006
17011 double kWBandLow()
17012 {
17013 return Obj_GetFloat64(ptr, Properties::kWBandLow);
17014 }
17015
17016 StorageController& kWBandLow(double value)
17017 {
17018 Obj_SetFloat64(ptr, Properties::kWBandLow, value);
17019 return *this;
17020 }
17021
17026 strings ElementList()
17027 {
17028 return get_array<strings>(Properties::ElementList);
17029 }
17030
17031 StorageController& ElementList(strings &value)
17032 {
17033 set_array<strings>(Properties::ElementList, value);
17034 return *this;
17035 }
17036
17041 VectorXd Weights()
17042 {
17043 return get_array<VectorXd>(Properties::Weights);
17044 }
17045
17046 StorageController& Weights(VectorXd &value)
17047 {
17048 set_array<VectorXd>(Properties::Weights, value);
17049 return *this;
17050 }
17051
17071 {
17072 return StorageControllerDischargemode(Obj_GetInt32(ptr, Properties::ModeDischarge));
17073 }
17074
17075 StorageController& ModeDischarge(int32_t value)
17076 {
17077 Obj_SetInt32(ptr, Properties::ModeDischarge, value);
17078 return *this;
17079 }
17080
17082 {
17083 Obj_SetInt32(ptr, Properties::ModeDischarge, int32_t(value));
17084 return *this;
17085 }
17086
17087 StorageController& ModeDischarge(const string &value)
17088 {
17089 set_string(Properties::ModeDischarge, value);
17090 return *this;
17091 }
17092
17093 StorageController& ModeDischarge(const char *value)
17094 {
17095 set_string(Properties::ModeDischarge, value);
17096 return *this;
17097 }
17098
17118 {
17119 return get_prop_string(Properties::ModeDischarge);
17120 }
17121
17141 {
17142 set_string(Properties::ModeDischarge, value);
17143 return *this;
17144 }
17145
17159 {
17160 return StorageControllerChargemode(Obj_GetInt32(ptr, Properties::ModeCharge));
17161 }
17162
17163 StorageController& ModeCharge(int32_t value)
17164 {
17165 Obj_SetInt32(ptr, Properties::ModeCharge, value);
17166 return *this;
17167 }
17168
17170 {
17171 Obj_SetInt32(ptr, Properties::ModeCharge, int32_t(value));
17172 return *this;
17173 }
17174
17175 StorageController& ModeCharge(const string &value)
17176 {
17177 set_string(Properties::ModeCharge, value);
17178 return *this;
17179 }
17180
17181 StorageController& ModeCharge(const char *value)
17182 {
17183 set_string(Properties::ModeCharge, value);
17184 return *this;
17185 }
17186
17200 {
17201 return get_prop_string(Properties::ModeCharge);
17202 }
17203
17216 StorageController& ModeCharge_str(const string &value)
17217 {
17218 set_string(Properties::ModeCharge, value);
17219 return *this;
17220 }
17221
17227 {
17228 return Obj_GetFloat64(ptr, Properties::TimeDischargeTrigger);
17229 }
17230
17232 {
17233 Obj_SetFloat64(ptr, Properties::TimeDischargeTrigger, value);
17234 return *this;
17235 }
17236
17242 {
17243 return Obj_GetFloat64(ptr, Properties::TimeChargeTrigger);
17244 }
17245
17247 {
17248 Obj_SetFloat64(ptr, Properties::TimeChargeTrigger, value);
17249 return *this;
17250 }
17251
17256 double pctRatekW()
17257 {
17258 return Obj_GetFloat64(ptr, Properties::pctRatekW);
17259 }
17260
17261 StorageController& pctRatekW(double value)
17262 {
17263 Obj_SetFloat64(ptr, Properties::pctRatekW, value);
17264 return *this;
17265 }
17266
17272 {
17273 return Obj_GetFloat64(ptr, Properties::pctRateCharge);
17274 }
17275
17276 StorageController& pctRateCharge(double value)
17277 {
17278 Obj_SetFloat64(ptr, Properties::pctRateCharge, value);
17279 return *this;
17280 }
17281
17286 double pctReserve()
17287 {
17288 return Obj_GetFloat64(ptr, Properties::pctReserve);
17289 }
17290
17291 StorageController& pctReserve(double value)
17292 {
17293 Obj_SetFloat64(ptr, Properties::pctReserve, value);
17294 return *this;
17295 }
17296
17301 double kWhTotal()
17302 {
17303 return Obj_GetFloat64(ptr, Properties::kWhTotal);
17304 }
17305
17306 StorageController& kWhTotal(double value)
17307 {
17308 Obj_SetFloat64(ptr, Properties::kWhTotal, value);
17309 return *this;
17310 }
17311
17316 double kWTotal()
17317 {
17318 return Obj_GetFloat64(ptr, Properties::kWTotal);
17319 }
17320
17321 StorageController& kWTotal(double value)
17322 {
17323 Obj_SetFloat64(ptr, Properties::kWTotal, value);
17324 return *this;
17325 }
17326
17331 double kWhActual()
17332 {
17333 return Obj_GetFloat64(ptr, Properties::kWhActual);
17334 }
17335
17336 StorageController& kWhActual(double value)
17337 {
17338 Obj_SetFloat64(ptr, Properties::kWhActual, value);
17339 return *this;
17340 }
17341
17346 double kWActual()
17347 {
17348 return Obj_GetFloat64(ptr, Properties::kWActual);
17349 }
17350
17351 StorageController& kWActual(double value)
17352 {
17353 Obj_SetFloat64(ptr, Properties::kWActual, value);
17354 return *this;
17355 }
17356
17361 double kWneed()
17362 {
17363 return Obj_GetFloat64(ptr, Properties::kWneed);
17364 }
17365
17366 StorageController& kWneed(double value)
17367 {
17368 Obj_SetFloat64(ptr, Properties::kWneed, value);
17369 return *this;
17370 }
17371
17376 string Yearly()
17377 {
17378 return get_prop_string(Properties::Yearly);
17379 }
17380
17381 StorageController& Yearly(const string &value)
17382 {
17383 set_string(Properties::Yearly, value);
17384 return *this;
17385 }
17386
17388 {
17389 set_obj(Properties::Yearly, value);
17390 return *this;
17391 }
17392
17398 {
17399 return get_obj<dss::obj::LoadShape>(Properties::Yearly);
17400 }
17401
17403 {
17404 set_obj(Properties::Yearly, value);
17405 return *this;
17406 }
17407
17412 string Daily()
17413 {
17414 return get_prop_string(Properties::Daily);
17415 }
17416
17417 StorageController& Daily(const string &value)
17418 {
17419 set_string(Properties::Daily, value);
17420 return *this;
17421 }
17422
17424 {
17425 set_obj(Properties::Daily, value);
17426 return *this;
17427 }
17428
17434 {
17435 return get_obj<dss::obj::LoadShape>(Properties::Daily);
17436 }
17437
17439 {
17440 set_obj(Properties::Daily, value);
17441 return *this;
17442 }
17443
17448 string Duty()
17449 {
17450 return get_prop_string(Properties::Duty);
17451 }
17452
17453 StorageController& Duty(const string &value)
17454 {
17455 set_string(Properties::Duty, value);
17456 return *this;
17457 }
17458
17460 {
17461 set_obj(Properties::Duty, value);
17462 return *this;
17463 }
17464
17470 {
17471 return get_obj<dss::obj::LoadShape>(Properties::Duty);
17472 }
17473
17475 {
17476 set_obj(Properties::Duty, value);
17477 return *this;
17478 }
17479
17485 {
17486 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
17487 }
17488
17489 StorageController& EventLog(bool value)
17490 {
17491 Obj_SetInt32(ptr, Properties::EventLog, value);
17492 return *this;
17493 }
17494
17499 int32_t InhibitTime()
17500 {
17501 return Obj_GetInt32(ptr, Properties::InhibitTime);
17502 }
17503
17504 StorageController& InhibitTime(int32_t value)
17505 {
17506 Obj_SetInt32(ptr, Properties::InhibitTime, value);
17507 return *this;
17508 }
17509
17514 double Tup()
17515 {
17516 return Obj_GetFloat64(ptr, Properties::Tup);
17517 }
17518
17519 StorageController& Tup(double value)
17520 {
17521 Obj_SetFloat64(ptr, Properties::Tup, value);
17522 return *this;
17523 }
17524
17529 double TFlat()
17530 {
17531 return Obj_GetFloat64(ptr, Properties::TFlat);
17532 }
17533
17534 StorageController& TFlat(double value)
17535 {
17536 Obj_SetFloat64(ptr, Properties::TFlat, value);
17537 return *this;
17538 }
17539
17544 double Tdn()
17545 {
17546 return Obj_GetFloat64(ptr, Properties::Tdn);
17547 }
17548
17549 StorageController& Tdn(double value)
17550 {
17551 Obj_SetFloat64(ptr, Properties::Tdn, value);
17552 return *this;
17553 }
17554
17560 {
17561 return Obj_GetFloat64(ptr, Properties::kWThreshold);
17562 }
17563
17564 StorageController& kWThreshold(double value)
17565 {
17566 Obj_SetFloat64(ptr, Properties::kWThreshold, value);
17567 return *this;
17568 }
17569
17576 double DispFactor()
17577 {
17578 return Obj_GetFloat64(ptr, Properties::DispFactor);
17579 }
17580
17581 StorageController& DispFactor(double value)
17582 {
17583 Obj_SetFloat64(ptr, Properties::DispFactor, value);
17584 return *this;
17585 }
17586
17591 double ResetLevel()
17592 {
17593 return Obj_GetFloat64(ptr, Properties::ResetLevel);
17594 }
17595
17596 StorageController& ResetLevel(double value)
17597 {
17598 Obj_SetFloat64(ptr, Properties::ResetLevel, value);
17599 return *this;
17600 }
17601
17606 int32_t Seasons()
17607 {
17608 return Obj_GetInt32(ptr, Properties::Seasons);
17609 }
17610
17611 StorageController& Seasons(int32_t value)
17612 {
17613 Obj_SetInt32(ptr, Properties::Seasons, value);
17614 return *this;
17615 }
17616
17621 VectorXd SeasonTargets()
17622 {
17623 return get_array<VectorXd>(Properties::SeasonTargets);
17624 }
17625
17626 StorageController& SeasonTargets(VectorXd &value)
17627 {
17628 set_array<VectorXd>(Properties::SeasonTargets, value);
17629 return *this;
17630 }
17631
17637 {
17638 return get_array<VectorXd>(Properties::SeasonTargetsLow);
17639 }
17640
17641 StorageController& SeasonTargetsLow(VectorXd &value)
17642 {
17643 set_array<VectorXd>(Properties::SeasonTargetsLow, value);
17644 return *this;
17645 }
17646
17651 double basefreq()
17652 {
17653 return Obj_GetFloat64(ptr, Properties::basefreq);
17654 }
17655
17656 StorageController& basefreq(double value)
17657 {
17658 Obj_SetFloat64(ptr, Properties::basefreq, value);
17659 return *this;
17660 }
17661
17666 bool enabled()
17667 {
17668 return Obj_GetInt32(ptr, Properties::enabled) != 0;
17669 }
17670
17671 StorageController& enabled(bool value)
17672 {
17673 Obj_SetInt32(ptr, Properties::enabled, value);
17674 return *this;
17675 }
17676
17683 StorageController& like(const string &value)
17684 {
17685 set_string(Properties::like, value);
17686 return *this;
17687 }
17688
17695 StorageController& like(const char *value)
17696 {
17697 set_string(Properties::like, value);
17698 return *this;
17699 }
17700};
17701
17702
17703class Relay: public DSSObj
17704{
17705public:
17706 const static char dss_cls_name[];
17707 const static int32_t dss_cls_idx = 30;
17709 {
17710 enum {
17711 MonitoredObj = 1,
17712 MonitoredTerm = 2,
17713 SwitchedObj = 3,
17714 SwitchedTerm = 4,
17715 type = 5,
17716 Phasecurve = 6,
17717 Groundcurve = 7,
17718 PhaseTrip = 8,
17719 GroundTrip = 9,
17720 TDPhase = 10,
17721 TDGround = 11,
17722 PhaseInst = 12,
17723 GroundInst = 13,
17724 Reset = 14,
17725 Shots = 15,
17726 RecloseIntervals = 16,
17727 Delay = 17,
17728 Overvoltcurve = 18,
17729 Undervoltcurve = 19,
17730 kvbase = 20,
17731 pctPickup47 = 21,
17732 BaseAmps46 = 22,
17733 pctPickup46 = 23,
17734 isqt46 = 24,
17735 Variable = 25,
17736 overtrip = 26,
17737 undertrip = 27,
17738 Breakertime = 28,
17739 action = 29,
17740 Z1mag = 30,
17741 Z1ang = 31,
17742 Z0mag = 32,
17743 Z0ang = 33,
17744 Mphase = 34,
17745 Mground = 35,
17746 EventLog = 36,
17747 DebugTrace = 37,
17748 DistReverse = 38,
17749 Normal = 39,
17750 State = 40,
17751 DOC_TiltAngleLow = 41,
17752 DOC_TiltAngleHigh = 42,
17753 DOC_TripSettingLow = 43,
17754 DOC_TripSettingHigh = 44,
17755 DOC_TripSettingMag = 45,
17756 DOC_DelayInner = 46,
17757 DOC_PhaseCurveInner = 47,
17758 DOC_PhaseTripInner = 48,
17759 DOC_TDPhaseInner = 49,
17760 basefreq = 50,
17761 enabled = 51,
17762 like = 52,
17763 };
17764 };
17765
17766 // Class-specific enumerations
17767
17771 enum class RelayType: int32_t
17772 {
17773 Current = 0,
17774 Voltage = 1,
17775 ReversePower = 3,
17776 relay46 = 4,
17777 relay47 = 5,
17778 Generic = 6,
17779 Distance = 7,
17780 TD21 = 8,
17781 DOC = 9
17782 };
17783
17784
17788 enum class RelayAction: int32_t
17789 {
17790 close = 2,
17791 open = 1,
17792 trip = 1
17793 };
17794
17795
17799 enum class RelayState: int32_t
17800 {
17801 closed = 2,
17802 open = 1,
17803 trip = 1
17804 };
17805
17806
17807
17811 Relay(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
17812 {
17813 }
17814
17818 Relay(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
17819 {
17820 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
17821 check_for_error();
17822 if (ptr == nullptr)
17823 {
17824 throw std::runtime_error("Could not find the Relay element by the given index");
17825 }
17826 }
17827
17831 Relay(APIUtil *util, char *name): DSSObj(util, nullptr)
17832 {
17833 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
17834 check_for_error();
17835 if (ptr == nullptr)
17836 {
17837 throw std::runtime_error("Could not find the Relay element by the given name");
17838 }
17839 }
17840
17844 const char* name()
17845 {
17846 return Obj_GetName(ptr);
17847 }
17848
17853 {
17854 Obj_BeginEdit(ptr);
17855 return *this;
17856 }
17857
17862 Relay& end_edit(int32_t num_edits=1)
17863 {
17864 Obj_EndEdit(ptr, num_edits);
17865 return *this;
17866 }
17867
17873 {
17874 return get_prop_string(Properties::MonitoredObj);
17875 }
17876
17877 Relay& MonitoredObj(const string &value)
17878 {
17879 set_string(Properties::MonitoredObj, value);
17880 return *this;
17881 }
17882
17884 {
17885 set_obj(Properties::MonitoredObj, value);
17886 return *this;
17887 }
17888
17894 {
17895 return get_obj<dss::obj::DSSObj>(Properties::MonitoredObj);
17896 }
17897
17899 {
17900 set_obj(Properties::MonitoredObj, value);
17901 return *this;
17902 }
17903
17909 {
17910 return Obj_GetInt32(ptr, Properties::MonitoredTerm);
17911 }
17912
17913 Relay& MonitoredTerm(int32_t value)
17914 {
17915 Obj_SetInt32(ptr, Properties::MonitoredTerm, value);
17916 return *this;
17917 }
17918
17924 {
17925 return get_prop_string(Properties::SwitchedObj);
17926 }
17927
17928 Relay& SwitchedObj(const string &value)
17929 {
17930 set_string(Properties::SwitchedObj, value);
17931 return *this;
17932 }
17933
17935 {
17936 set_obj(Properties::SwitchedObj, value);
17937 return *this;
17938 }
17939
17945 {
17946 return get_obj<dss::obj::DSSObj>(Properties::SwitchedObj);
17947 }
17948
17950 {
17951 set_obj(Properties::SwitchedObj, value);
17952 return *this;
17953 }
17954
17960 {
17961 return Obj_GetInt32(ptr, Properties::SwitchedTerm);
17962 }
17963
17964 Relay& SwitchedTerm(int32_t value)
17965 {
17966 Obj_SetInt32(ptr, Properties::SwitchedTerm, value);
17967 return *this;
17968 }
17969
17986 {
17987 return RelayType(Obj_GetInt32(ptr, Properties::type));
17988 }
17989
17990 Relay& type(int32_t value)
17991 {
17992 Obj_SetInt32(ptr, Properties::type, value);
17993 return *this;
17994 }
17995
17996 Relay& type(RelayType value)
17997 {
17998 Obj_SetInt32(ptr, Properties::type, int32_t(value));
17999 return *this;
18000 }
18001
18002 Relay& type(const string &value)
18003 {
18004 set_string(Properties::type, value);
18005 return *this;
18006 }
18007
18008 Relay& type(const char *value)
18009 {
18010 set_string(Properties::type, value);
18011 return *this;
18012 }
18013
18029 string type_str()
18030 {
18031 return get_prop_string(Properties::type);
18032 }
18033
18049 Relay& type_str(const string &value)
18050 {
18051 set_string(Properties::type, value);
18052 return *this;
18053 }
18054
18059 string Phasecurve()
18060 {
18061 return get_prop_string(Properties::Phasecurve);
18062 }
18063
18064 Relay& Phasecurve(const string &value)
18065 {
18066 set_string(Properties::Phasecurve, value);
18067 return *this;
18068 }
18069
18071 {
18072 set_obj(Properties::Phasecurve, value);
18073 return *this;
18074 }
18075
18081 {
18082 return get_obj<dss::obj::TCC_Curve>(Properties::Phasecurve);
18083 }
18084
18086 {
18087 set_obj(Properties::Phasecurve, value);
18088 return *this;
18089 }
18090
18096 {
18097 return get_prop_string(Properties::Groundcurve);
18098 }
18099
18100 Relay& Groundcurve(const string &value)
18101 {
18102 set_string(Properties::Groundcurve, value);
18103 return *this;
18104 }
18105
18107 {
18108 set_obj(Properties::Groundcurve, value);
18109 return *this;
18110 }
18111
18117 {
18118 return get_obj<dss::obj::TCC_Curve>(Properties::Groundcurve);
18119 }
18120
18122 {
18123 set_obj(Properties::Groundcurve, value);
18124 return *this;
18125 }
18126
18131 double PhaseTrip()
18132 {
18133 return Obj_GetFloat64(ptr, Properties::PhaseTrip);
18134 }
18135
18136 Relay& PhaseTrip(double value)
18137 {
18138 Obj_SetFloat64(ptr, Properties::PhaseTrip, value);
18139 return *this;
18140 }
18141
18146 double GroundTrip()
18147 {
18148 return Obj_GetFloat64(ptr, Properties::GroundTrip);
18149 }
18150
18151 Relay& GroundTrip(double value)
18152 {
18153 Obj_SetFloat64(ptr, Properties::GroundTrip, value);
18154 return *this;
18155 }
18156
18161 double TDPhase()
18162 {
18163 return Obj_GetFloat64(ptr, Properties::TDPhase);
18164 }
18165
18166 Relay& TDPhase(double value)
18167 {
18168 Obj_SetFloat64(ptr, Properties::TDPhase, value);
18169 return *this;
18170 }
18171
18176 double TDGround()
18177 {
18178 return Obj_GetFloat64(ptr, Properties::TDGround);
18179 }
18180
18181 Relay& TDGround(double value)
18182 {
18183 Obj_SetFloat64(ptr, Properties::TDGround, value);
18184 return *this;
18185 }
18186
18191 double PhaseInst()
18192 {
18193 return Obj_GetFloat64(ptr, Properties::PhaseInst);
18194 }
18195
18196 Relay& PhaseInst(double value)
18197 {
18198 Obj_SetFloat64(ptr, Properties::PhaseInst, value);
18199 return *this;
18200 }
18201
18206 double GroundInst()
18207 {
18208 return Obj_GetFloat64(ptr, Properties::GroundInst);
18209 }
18210
18211 Relay& GroundInst(double value)
18212 {
18213 Obj_SetFloat64(ptr, Properties::GroundInst, value);
18214 return *this;
18215 }
18216
18221 double Reset()
18222 {
18223 return Obj_GetFloat64(ptr, Properties::Reset);
18224 }
18225
18226 Relay& Reset(double value)
18227 {
18228 Obj_SetFloat64(ptr, Properties::Reset, value);
18229 return *this;
18230 }
18231
18236 int32_t Shots()
18237 {
18238 return Obj_GetInt32(ptr, Properties::Shots);
18239 }
18240
18241 Relay& Shots(int32_t value)
18242 {
18243 Obj_SetInt32(ptr, Properties::Shots, value);
18244 return *this;
18245 }
18246
18252 {
18253 return get_array<VectorXd>(Properties::RecloseIntervals);
18254 }
18255
18256 Relay& RecloseIntervals(VectorXd &value)
18257 {
18258 set_array<VectorXd>(Properties::RecloseIntervals, value);
18259 return *this;
18260 }
18261
18266 double Delay()
18267 {
18268 return Obj_GetFloat64(ptr, Properties::Delay);
18269 }
18270
18271 Relay& Delay(double value)
18272 {
18273 Obj_SetFloat64(ptr, Properties::Delay, value);
18274 return *this;
18275 }
18276
18282 {
18283 return get_prop_string(Properties::Overvoltcurve);
18284 }
18285
18286 Relay& Overvoltcurve(const string &value)
18287 {
18288 set_string(Properties::Overvoltcurve, value);
18289 return *this;
18290 }
18291
18293 {
18294 set_obj(Properties::Overvoltcurve, value);
18295 return *this;
18296 }
18297
18303 {
18304 return get_obj<dss::obj::TCC_Curve>(Properties::Overvoltcurve);
18305 }
18306
18308 {
18309 set_obj(Properties::Overvoltcurve, value);
18310 return *this;
18311 }
18312
18318 {
18319 return get_prop_string(Properties::Undervoltcurve);
18320 }
18321
18322 Relay& Undervoltcurve(const string &value)
18323 {
18324 set_string(Properties::Undervoltcurve, value);
18325 return *this;
18326 }
18327
18329 {
18330 set_obj(Properties::Undervoltcurve, value);
18331 return *this;
18332 }
18333
18339 {
18340 return get_obj<dss::obj::TCC_Curve>(Properties::Undervoltcurve);
18341 }
18342
18344 {
18345 set_obj(Properties::Undervoltcurve, value);
18346 return *this;
18347 }
18348
18353 double kvbase()
18354 {
18355 return Obj_GetFloat64(ptr, Properties::kvbase);
18356 }
18357
18358 Relay& kvbase(double value)
18359 {
18360 Obj_SetFloat64(ptr, Properties::kvbase, value);
18361 return *this;
18362 }
18363
18369 {
18370 return Obj_GetFloat64(ptr, Properties::pctPickup47);
18371 }
18372
18373 Relay& pctPickup47(double value)
18374 {
18375 Obj_SetFloat64(ptr, Properties::pctPickup47, value);
18376 return *this;
18377 }
18378
18383 double BaseAmps46()
18384 {
18385 return Obj_GetFloat64(ptr, Properties::BaseAmps46);
18386 }
18387
18388 Relay& BaseAmps46(double value)
18389 {
18390 Obj_SetFloat64(ptr, Properties::BaseAmps46, value);
18391 return *this;
18392 }
18393
18399 {
18400 return Obj_GetFloat64(ptr, Properties::pctPickup46);
18401 }
18402
18403 Relay& pctPickup46(double value)
18404 {
18405 Obj_SetFloat64(ptr, Properties::pctPickup46, value);
18406 return *this;
18407 }
18408
18413 double isqt46()
18414 {
18415 return Obj_GetFloat64(ptr, Properties::isqt46);
18416 }
18417
18418 Relay& isqt46(double value)
18419 {
18420 Obj_SetFloat64(ptr, Properties::isqt46, value);
18421 return *this;
18422 }
18423
18428 string Variable()
18429 {
18430 return get_prop_string(Properties::Variable);
18431 }
18432
18433 Relay& Variable(const string &value)
18434 {
18435 set_string(Properties::Variable, value);
18436 return *this;
18437 }
18438
18439 Relay& Variable(const char* value)
18440 {
18441 set_string(Properties::Variable, value);
18442 return *this;
18443 }
18444
18449 double overtrip()
18450 {
18451 return Obj_GetFloat64(ptr, Properties::overtrip);
18452 }
18453
18454 Relay& overtrip(double value)
18455 {
18456 Obj_SetFloat64(ptr, Properties::overtrip, value);
18457 return *this;
18458 }
18459
18464 double undertrip()
18465 {
18466 return Obj_GetFloat64(ptr, Properties::undertrip);
18467 }
18468
18469 Relay& undertrip(double value)
18470 {
18471 Obj_SetFloat64(ptr, Properties::undertrip, value);
18472 return *this;
18473 }
18474
18480 {
18481 return Obj_GetFloat64(ptr, Properties::Breakertime);
18482 }
18483
18484 Relay& Breakertime(double value)
18485 {
18486 Obj_SetFloat64(ptr, Properties::Breakertime, value);
18487 return *this;
18488 }
18489
18495 {
18496 return RelayAction(Obj_GetInt32(ptr, Properties::action));
18497 }
18498
18499 Relay& action(int32_t value)
18500 {
18501 Obj_SetInt32(ptr, Properties::action, value);
18502 return *this;
18503 }
18504
18505 Relay& action(RelayAction value)
18506 {
18507 Obj_SetInt32(ptr, Properties::action, int32_t(value));
18508 return *this;
18509 }
18510
18511 Relay& action(const string &value)
18512 {
18513 set_string(Properties::action, value);
18514 return *this;
18515 }
18516
18517 Relay& action(const char *value)
18518 {
18519 set_string(Properties::action, value);
18520 return *this;
18521 }
18522
18527 string action_str()
18528 {
18529 return get_prop_string(Properties::action);
18530 }
18531
18536 Relay& action_str(const string &value)
18537 {
18538 set_string(Properties::action, value);
18539 return *this;
18540 }
18541
18546 double Z1mag()
18547 {
18548 return Obj_GetFloat64(ptr, Properties::Z1mag);
18549 }
18550
18551 Relay& Z1mag(double value)
18552 {
18553 Obj_SetFloat64(ptr, Properties::Z1mag, value);
18554 return *this;
18555 }
18556
18561 double Z1ang()
18562 {
18563 return Obj_GetFloat64(ptr, Properties::Z1ang);
18564 }
18565
18566 Relay& Z1ang(double value)
18567 {
18568 Obj_SetFloat64(ptr, Properties::Z1ang, value);
18569 return *this;
18570 }
18571
18576 double Z0mag()
18577 {
18578 return Obj_GetFloat64(ptr, Properties::Z0mag);
18579 }
18580
18581 Relay& Z0mag(double value)
18582 {
18583 Obj_SetFloat64(ptr, Properties::Z0mag, value);
18584 return *this;
18585 }
18586
18591 double Z0ang()
18592 {
18593 return Obj_GetFloat64(ptr, Properties::Z0ang);
18594 }
18595
18596 Relay& Z0ang(double value)
18597 {
18598 Obj_SetFloat64(ptr, Properties::Z0ang, value);
18599 return *this;
18600 }
18601
18606 double Mphase()
18607 {
18608 return Obj_GetFloat64(ptr, Properties::Mphase);
18609 }
18610
18611 Relay& Mphase(double value)
18612 {
18613 Obj_SetFloat64(ptr, Properties::Mphase, value);
18614 return *this;
18615 }
18616
18621 double Mground()
18622 {
18623 return Obj_GetFloat64(ptr, Properties::Mground);
18624 }
18625
18626 Relay& Mground(double value)
18627 {
18628 Obj_SetFloat64(ptr, Properties::Mground, value);
18629 return *this;
18630 }
18631
18637 {
18638 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
18639 }
18640
18641 Relay& EventLog(bool value)
18642 {
18643 Obj_SetInt32(ptr, Properties::EventLog, value);
18644 return *this;
18645 }
18646
18652 {
18653 return Obj_GetInt32(ptr, Properties::DebugTrace) != 0;
18654 }
18655
18656 Relay& DebugTrace(bool value)
18657 {
18658 Obj_SetInt32(ptr, Properties::DebugTrace, value);
18659 return *this;
18660 }
18661
18667 {
18668 return Obj_GetInt32(ptr, Properties::DistReverse) != 0;
18669 }
18670
18671 Relay& DistReverse(bool value)
18672 {
18673 Obj_SetInt32(ptr, Properties::DistReverse, value);
18674 return *this;
18675 }
18676
18682 {
18683 return RelayState(Obj_GetInt32(ptr, Properties::Normal));
18684 }
18685
18686 Relay& Normal(int32_t value)
18687 {
18688 Obj_SetInt32(ptr, Properties::Normal, value);
18689 return *this;
18690 }
18691
18692 Relay& Normal(RelayState value)
18693 {
18694 Obj_SetInt32(ptr, Properties::Normal, int32_t(value));
18695 return *this;
18696 }
18697
18698 Relay& Normal(const string &value)
18699 {
18700 set_string(Properties::Normal, value);
18701 return *this;
18702 }
18703
18704 Relay& Normal(const char *value)
18705 {
18706 set_string(Properties::Normal, value);
18707 return *this;
18708 }
18709
18714 string Normal_str()
18715 {
18716 return get_prop_string(Properties::Normal);
18717 }
18718
18723 Relay& Normal_str(const string &value)
18724 {
18725 set_string(Properties::Normal, value);
18726 return *this;
18727 }
18728
18734 {
18735 return RelayState(Obj_GetInt32(ptr, Properties::State));
18736 }
18737
18738 Relay& State(int32_t value)
18739 {
18740 Obj_SetInt32(ptr, Properties::State, value);
18741 return *this;
18742 }
18743
18744 Relay& State(RelayState value)
18745 {
18746 Obj_SetInt32(ptr, Properties::State, int32_t(value));
18747 return *this;
18748 }
18749
18750 Relay& State(const string &value)
18751 {
18752 set_string(Properties::State, value);
18753 return *this;
18754 }
18755
18756 Relay& State(const char *value)
18757 {
18758 set_string(Properties::State, value);
18759 return *this;
18760 }
18761
18766 string State_str()
18767 {
18768 return get_prop_string(Properties::State);
18769 }
18770
18775 Relay& State_str(const string &value)
18776 {
18777 set_string(Properties::State, value);
18778 return *this;
18779 }
18780
18786 {
18787 return Obj_GetFloat64(ptr, Properties::DOC_TiltAngleLow);
18788 }
18789
18790 Relay& DOC_TiltAngleLow(double value)
18791 {
18792 Obj_SetFloat64(ptr, Properties::DOC_TiltAngleLow, value);
18793 return *this;
18794 }
18795
18801 {
18802 return Obj_GetFloat64(ptr, Properties::DOC_TiltAngleHigh);
18803 }
18804
18805 Relay& DOC_TiltAngleHigh(double value)
18806 {
18807 Obj_SetFloat64(ptr, Properties::DOC_TiltAngleHigh, value);
18808 return *this;
18809 }
18810
18816 {
18817 return Obj_GetFloat64(ptr, Properties::DOC_TripSettingLow);
18818 }
18819
18820 Relay& DOC_TripSettingLow(double value)
18821 {
18822 Obj_SetFloat64(ptr, Properties::DOC_TripSettingLow, value);
18823 return *this;
18824 }
18825
18831 {
18832 return Obj_GetFloat64(ptr, Properties::DOC_TripSettingHigh);
18833 }
18834
18835 Relay& DOC_TripSettingHigh(double value)
18836 {
18837 Obj_SetFloat64(ptr, Properties::DOC_TripSettingHigh, value);
18838 return *this;
18839 }
18840
18846 {
18847 return Obj_GetFloat64(ptr, Properties::DOC_TripSettingMag);
18848 }
18849
18850 Relay& DOC_TripSettingMag(double value)
18851 {
18852 Obj_SetFloat64(ptr, Properties::DOC_TripSettingMag, value);
18853 return *this;
18854 }
18855
18861 {
18862 return Obj_GetFloat64(ptr, Properties::DOC_DelayInner);
18863 }
18864
18865 Relay& DOC_DelayInner(double value)
18866 {
18867 Obj_SetFloat64(ptr, Properties::DOC_DelayInner, value);
18868 return *this;
18869 }
18870
18876 {
18877 return Obj_GetFloat64(ptr, Properties::DOC_PhaseCurveInner);
18878 }
18879
18880 Relay& DOC_PhaseCurveInner(double value)
18881 {
18882 Obj_SetFloat64(ptr, Properties::DOC_PhaseCurveInner, value);
18883 return *this;
18884 }
18885
18891 {
18892 return Obj_GetFloat64(ptr, Properties::DOC_PhaseTripInner);
18893 }
18894
18895 Relay& DOC_PhaseTripInner(double value)
18896 {
18897 Obj_SetFloat64(ptr, Properties::DOC_PhaseTripInner, value);
18898 return *this;
18899 }
18900
18906 {
18907 return get_prop_string(Properties::DOC_TDPhaseInner);
18908 }
18909
18910 Relay& DOC_TDPhaseInner(const string &value)
18911 {
18912 set_string(Properties::DOC_TDPhaseInner, value);
18913 return *this;
18914 }
18915
18917 {
18918 set_obj(Properties::DOC_TDPhaseInner, value);
18919 return *this;
18920 }
18921
18927 {
18928 return get_obj<dss::obj::TCC_Curve>(Properties::DOC_TDPhaseInner);
18929 }
18930
18932 {
18933 set_obj(Properties::DOC_TDPhaseInner, value);
18934 return *this;
18935 }
18936
18941 double basefreq()
18942 {
18943 return Obj_GetFloat64(ptr, Properties::basefreq);
18944 }
18945
18946 Relay& basefreq(double value)
18947 {
18948 Obj_SetFloat64(ptr, Properties::basefreq, value);
18949 return *this;
18950 }
18951
18956 bool enabled()
18957 {
18958 return Obj_GetInt32(ptr, Properties::enabled) != 0;
18959 }
18960
18961 Relay& enabled(bool value)
18962 {
18963 Obj_SetInt32(ptr, Properties::enabled, value);
18964 return *this;
18965 }
18966
18973 Relay& like(const string &value)
18974 {
18975 set_string(Properties::like, value);
18976 return *this;
18977 }
18978
18985 Relay& like(const char *value)
18986 {
18987 set_string(Properties::like, value);
18988 return *this;
18989 }
18990};
18991
18992
18993class Recloser: public DSSObj
18994{
18995public:
18996 const static char dss_cls_name[];
18997 const static int32_t dss_cls_idx = 31;
18999 {
19000 enum {
19001 MonitoredObj = 1,
19002 MonitoredTerm = 2,
19003 SwitchedObj = 3,
19004 SwitchedTerm = 4,
19005 NumFast = 5,
19006 PhaseFast = 6,
19007 PhaseDelayed = 7,
19008 GroundFast = 8,
19009 GroundDelayed = 9,
19010 PhaseTrip = 10,
19011 GroundTrip = 11,
19012 PhaseInst = 12,
19013 GroundInst = 13,
19014 Reset = 14,
19015 Shots = 15,
19016 RecloseIntervals = 16,
19017 Delay = 17,
19018 Action = 18,
19019 TDPhFast = 19,
19020 TDGrFast = 20,
19021 TDPhDelayed = 21,
19022 TDGrDelayed = 22,
19023 Normal = 23,
19024 State = 24,
19025 basefreq = 25,
19026 enabled = 26,
19027 like = 27,
19028 };
19029 };
19030
19031 // Class-specific enumerations
19032
19036 enum class RecloserAction: int32_t
19037 {
19038 close = 2,
19039 open = 1,
19040 trip = 1
19041 };
19042
19043
19047 enum class RecloserState: int32_t
19048 {
19049 closed = 2,
19050 open = 1,
19051 trip = 1
19052 };
19053
19054
19055
19059 Recloser(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
19060 {
19061 }
19062
19066 Recloser(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
19067 {
19068 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
19069 check_for_error();
19070 if (ptr == nullptr)
19071 {
19072 throw std::runtime_error("Could not find the Recloser element by the given index");
19073 }
19074 }
19075
19079 Recloser(APIUtil *util, char *name): DSSObj(util, nullptr)
19080 {
19081 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
19082 check_for_error();
19083 if (ptr == nullptr)
19084 {
19085 throw std::runtime_error("Could not find the Recloser element by the given name");
19086 }
19087 }
19088
19092 const char* name()
19093 {
19094 return Obj_GetName(ptr);
19095 }
19096
19101 {
19102 Obj_BeginEdit(ptr);
19103 return *this;
19104 }
19105
19110 Recloser& end_edit(int32_t num_edits=1)
19111 {
19112 Obj_EndEdit(ptr, num_edits);
19113 return *this;
19114 }
19115
19121 {
19122 return get_prop_string(Properties::MonitoredObj);
19123 }
19124
19125 Recloser& MonitoredObj(const string &value)
19126 {
19127 set_string(Properties::MonitoredObj, value);
19128 return *this;
19129 }
19130
19132 {
19133 set_obj(Properties::MonitoredObj, value);
19134 return *this;
19135 }
19136
19142 {
19143 return get_obj<dss::obj::DSSObj>(Properties::MonitoredObj);
19144 }
19145
19147 {
19148 set_obj(Properties::MonitoredObj, value);
19149 return *this;
19150 }
19151
19157 {
19158 return Obj_GetInt32(ptr, Properties::MonitoredTerm);
19159 }
19160
19161 Recloser& MonitoredTerm(int32_t value)
19162 {
19163 Obj_SetInt32(ptr, Properties::MonitoredTerm, value);
19164 return *this;
19165 }
19166
19172 {
19173 return get_prop_string(Properties::SwitchedObj);
19174 }
19175
19176 Recloser& SwitchedObj(const string &value)
19177 {
19178 set_string(Properties::SwitchedObj, value);
19179 return *this;
19180 }
19181
19183 {
19184 set_obj(Properties::SwitchedObj, value);
19185 return *this;
19186 }
19187
19193 {
19194 return get_obj<dss::obj::DSSObj>(Properties::SwitchedObj);
19195 }
19196
19198 {
19199 set_obj(Properties::SwitchedObj, value);
19200 return *this;
19201 }
19202
19208 {
19209 return Obj_GetInt32(ptr, Properties::SwitchedTerm);
19210 }
19211
19212 Recloser& SwitchedTerm(int32_t value)
19213 {
19214 Obj_SetInt32(ptr, Properties::SwitchedTerm, value);
19215 return *this;
19216 }
19217
19222 int32_t NumFast()
19223 {
19224 return Obj_GetInt32(ptr, Properties::NumFast);
19225 }
19226
19227 Recloser& NumFast(int32_t value)
19228 {
19229 Obj_SetInt32(ptr, Properties::NumFast, value);
19230 return *this;
19231 }
19232
19237 string PhaseFast()
19238 {
19239 return get_prop_string(Properties::PhaseFast);
19240 }
19241
19242 Recloser& PhaseFast(const string &value)
19243 {
19244 set_string(Properties::PhaseFast, value);
19245 return *this;
19246 }
19247
19249 {
19250 set_obj(Properties::PhaseFast, value);
19251 return *this;
19252 }
19253
19259 {
19260 return get_obj<dss::obj::TCC_Curve>(Properties::PhaseFast);
19261 }
19262
19264 {
19265 set_obj(Properties::PhaseFast, value);
19266 return *this;
19267 }
19268
19274 {
19275 return get_prop_string(Properties::PhaseDelayed);
19276 }
19277
19278 Recloser& PhaseDelayed(const string &value)
19279 {
19280 set_string(Properties::PhaseDelayed, value);
19281 return *this;
19282 }
19283
19285 {
19286 set_obj(Properties::PhaseDelayed, value);
19287 return *this;
19288 }
19289
19295 {
19296 return get_obj<dss::obj::TCC_Curve>(Properties::PhaseDelayed);
19297 }
19298
19300 {
19301 set_obj(Properties::PhaseDelayed, value);
19302 return *this;
19303 }
19304
19309 string GroundFast()
19310 {
19311 return get_prop_string(Properties::GroundFast);
19312 }
19313
19314 Recloser& GroundFast(const string &value)
19315 {
19316 set_string(Properties::GroundFast, value);
19317 return *this;
19318 }
19319
19321 {
19322 set_obj(Properties::GroundFast, value);
19323 return *this;
19324 }
19325
19331 {
19332 return get_obj<dss::obj::TCC_Curve>(Properties::GroundFast);
19333 }
19334
19336 {
19337 set_obj(Properties::GroundFast, value);
19338 return *this;
19339 }
19340
19346 {
19347 return get_prop_string(Properties::GroundDelayed);
19348 }
19349
19350 Recloser& GroundDelayed(const string &value)
19351 {
19352 set_string(Properties::GroundDelayed, value);
19353 return *this;
19354 }
19355
19357 {
19358 set_obj(Properties::GroundDelayed, value);
19359 return *this;
19360 }
19361
19367 {
19368 return get_obj<dss::obj::TCC_Curve>(Properties::GroundDelayed);
19369 }
19370
19372 {
19373 set_obj(Properties::GroundDelayed, value);
19374 return *this;
19375 }
19376
19381 double PhaseTrip()
19382 {
19383 return Obj_GetFloat64(ptr, Properties::PhaseTrip);
19384 }
19385
19386 Recloser& PhaseTrip(double value)
19387 {
19388 Obj_SetFloat64(ptr, Properties::PhaseTrip, value);
19389 return *this;
19390 }
19391
19396 double GroundTrip()
19397 {
19398 return Obj_GetFloat64(ptr, Properties::GroundTrip);
19399 }
19400
19401 Recloser& GroundTrip(double value)
19402 {
19403 Obj_SetFloat64(ptr, Properties::GroundTrip, value);
19404 return *this;
19405 }
19406
19411 double PhaseInst()
19412 {
19413 return Obj_GetFloat64(ptr, Properties::PhaseInst);
19414 }
19415
19416 Recloser& PhaseInst(double value)
19417 {
19418 Obj_SetFloat64(ptr, Properties::PhaseInst, value);
19419 return *this;
19420 }
19421
19426 double GroundInst()
19427 {
19428 return Obj_GetFloat64(ptr, Properties::GroundInst);
19429 }
19430
19431 Recloser& GroundInst(double value)
19432 {
19433 Obj_SetFloat64(ptr, Properties::GroundInst, value);
19434 return *this;
19435 }
19436
19441 double Reset()
19442 {
19443 return Obj_GetFloat64(ptr, Properties::Reset);
19444 }
19445
19446 Recloser& Reset(double value)
19447 {
19448 Obj_SetFloat64(ptr, Properties::Reset, value);
19449 return *this;
19450 }
19451
19456 int32_t Shots()
19457 {
19458 return Obj_GetInt32(ptr, Properties::Shots);
19459 }
19460
19461 Recloser& Shots(int32_t value)
19462 {
19463 Obj_SetInt32(ptr, Properties::Shots, value);
19464 return *this;
19465 }
19466
19472 {
19473 return get_array<VectorXd>(Properties::RecloseIntervals);
19474 }
19475
19476 Recloser& RecloseIntervals(VectorXd &value)
19477 {
19478 set_array<VectorXd>(Properties::RecloseIntervals, value);
19479 return *this;
19480 }
19481
19486 double Delay()
19487 {
19488 return Obj_GetFloat64(ptr, Properties::Delay);
19489 }
19490
19491 Recloser& Delay(double value)
19492 {
19493 Obj_SetFloat64(ptr, Properties::Delay, value);
19494 return *this;
19495 }
19496
19502 {
19503 return RecloserAction(Obj_GetInt32(ptr, Properties::Action));
19504 }
19505
19506 Recloser& Action(int32_t value)
19507 {
19508 Obj_SetInt32(ptr, Properties::Action, value);
19509 return *this;
19510 }
19511
19513 {
19514 Obj_SetInt32(ptr, Properties::Action, int32_t(value));
19515 return *this;
19516 }
19517
19518 Recloser& Action(const string &value)
19519 {
19520 set_string(Properties::Action, value);
19521 return *this;
19522 }
19523
19524 Recloser& Action(const char *value)
19525 {
19526 set_string(Properties::Action, value);
19527 return *this;
19528 }
19529
19534 string Action_str()
19535 {
19536 return get_prop_string(Properties::Action);
19537 }
19538
19543 Recloser& Action_str(const string &value)
19544 {
19545 set_string(Properties::Action, value);
19546 return *this;
19547 }
19548
19553 double TDPhFast()
19554 {
19555 return Obj_GetFloat64(ptr, Properties::TDPhFast);
19556 }
19557
19558 Recloser& TDPhFast(double value)
19559 {
19560 Obj_SetFloat64(ptr, Properties::TDPhFast, value);
19561 return *this;
19562 }
19563
19568 double TDGrFast()
19569 {
19570 return Obj_GetFloat64(ptr, Properties::TDGrFast);
19571 }
19572
19573 Recloser& TDGrFast(double value)
19574 {
19575 Obj_SetFloat64(ptr, Properties::TDGrFast, value);
19576 return *this;
19577 }
19578
19584 {
19585 return Obj_GetFloat64(ptr, Properties::TDPhDelayed);
19586 }
19587
19588 Recloser& TDPhDelayed(double value)
19589 {
19590 Obj_SetFloat64(ptr, Properties::TDPhDelayed, value);
19591 return *this;
19592 }
19593
19599 {
19600 return Obj_GetFloat64(ptr, Properties::TDGrDelayed);
19601 }
19602
19603 Recloser& TDGrDelayed(double value)
19604 {
19605 Obj_SetFloat64(ptr, Properties::TDGrDelayed, value);
19606 return *this;
19607 }
19608
19614 {
19615 return RecloserState(Obj_GetInt32(ptr, Properties::Normal));
19616 }
19617
19618 Recloser& Normal(int32_t value)
19619 {
19620 Obj_SetInt32(ptr, Properties::Normal, value);
19621 return *this;
19622 }
19623
19625 {
19626 Obj_SetInt32(ptr, Properties::Normal, int32_t(value));
19627 return *this;
19628 }
19629
19630 Recloser& Normal(const string &value)
19631 {
19632 set_string(Properties::Normal, value);
19633 return *this;
19634 }
19635
19636 Recloser& Normal(const char *value)
19637 {
19638 set_string(Properties::Normal, value);
19639 return *this;
19640 }
19641
19646 string Normal_str()
19647 {
19648 return get_prop_string(Properties::Normal);
19649 }
19650
19655 Recloser& Normal_str(const string &value)
19656 {
19657 set_string(Properties::Normal, value);
19658 return *this;
19659 }
19660
19666 {
19667 return RecloserState(Obj_GetInt32(ptr, Properties::State));
19668 }
19669
19670 Recloser& State(int32_t value)
19671 {
19672 Obj_SetInt32(ptr, Properties::State, value);
19673 return *this;
19674 }
19675
19677 {
19678 Obj_SetInt32(ptr, Properties::State, int32_t(value));
19679 return *this;
19680 }
19681
19682 Recloser& State(const string &value)
19683 {
19684 set_string(Properties::State, value);
19685 return *this;
19686 }
19687
19688 Recloser& State(const char *value)
19689 {
19690 set_string(Properties::State, value);
19691 return *this;
19692 }
19693
19698 string State_str()
19699 {
19700 return get_prop_string(Properties::State);
19701 }
19702
19707 Recloser& State_str(const string &value)
19708 {
19709 set_string(Properties::State, value);
19710 return *this;
19711 }
19712
19717 double basefreq()
19718 {
19719 return Obj_GetFloat64(ptr, Properties::basefreq);
19720 }
19721
19722 Recloser& basefreq(double value)
19723 {
19724 Obj_SetFloat64(ptr, Properties::basefreq, value);
19725 return *this;
19726 }
19727
19732 bool enabled()
19733 {
19734 return Obj_GetInt32(ptr, Properties::enabled) != 0;
19735 }
19736
19737 Recloser& enabled(bool value)
19738 {
19739 Obj_SetInt32(ptr, Properties::enabled, value);
19740 return *this;
19741 }
19742
19749 Recloser& like(const string &value)
19750 {
19751 set_string(Properties::like, value);
19752 return *this;
19753 }
19754
19761 Recloser& like(const char *value)
19762 {
19763 set_string(Properties::like, value);
19764 return *this;
19765 }
19766};
19767
19768
19769class Fuse: public DSSObj
19770{
19771public:
19772 const static char dss_cls_name[];
19773 const static int32_t dss_cls_idx = 32;
19775 {
19776 enum {
19777 MonitoredObj = 1,
19778 MonitoredTerm = 2,
19779 SwitchedObj = 3,
19780 SwitchedTerm = 4,
19781 FuseCurve = 5,
19782 RatedCurrent = 6,
19783 Delay = 7,
19784 Action = 8,
19785 Normal = 9,
19786 State = 10,
19787 basefreq = 11,
19788 enabled = 12,
19789 like = 13,
19790 };
19791 };
19792
19793 // Class-specific enumerations
19794
19798 enum class FuseAction: int32_t
19799 {
19800 close = 2,
19801 open = 1
19802 };
19803
19804
19808 enum class FuseState: int32_t
19809 {
19810 closed = 2,
19811 open = 1
19812 };
19813
19814
19815
19819 Fuse(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
19820 {
19821 }
19822
19826 Fuse(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
19827 {
19828 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
19829 check_for_error();
19830 if (ptr == nullptr)
19831 {
19832 throw std::runtime_error("Could not find the Fuse element by the given index");
19833 }
19834 }
19835
19839 Fuse(APIUtil *util, char *name): DSSObj(util, nullptr)
19840 {
19841 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
19842 check_for_error();
19843 if (ptr == nullptr)
19844 {
19845 throw std::runtime_error("Could not find the Fuse element by the given name");
19846 }
19847 }
19848
19852 const char* name()
19853 {
19854 return Obj_GetName(ptr);
19855 }
19856
19861 {
19862 Obj_BeginEdit(ptr);
19863 return *this;
19864 }
19865
19870 Fuse& end_edit(int32_t num_edits=1)
19871 {
19872 Obj_EndEdit(ptr, num_edits);
19873 return *this;
19874 }
19875
19881 {
19882 return get_prop_string(Properties::MonitoredObj);
19883 }
19884
19885 Fuse& MonitoredObj(const string &value)
19886 {
19887 set_string(Properties::MonitoredObj, value);
19888 return *this;
19889 }
19890
19892 {
19893 set_obj(Properties::MonitoredObj, value);
19894 return *this;
19895 }
19896
19902 {
19903 return get_obj<dss::obj::DSSObj>(Properties::MonitoredObj);
19904 }
19905
19907 {
19908 set_obj(Properties::MonitoredObj, value);
19909 return *this;
19910 }
19911
19917 {
19918 return Obj_GetInt32(ptr, Properties::MonitoredTerm);
19919 }
19920
19921 Fuse& MonitoredTerm(int32_t value)
19922 {
19923 Obj_SetInt32(ptr, Properties::MonitoredTerm, value);
19924 return *this;
19925 }
19926
19932 {
19933 return get_prop_string(Properties::SwitchedObj);
19934 }
19935
19936 Fuse& SwitchedObj(const string &value)
19937 {
19938 set_string(Properties::SwitchedObj, value);
19939 return *this;
19940 }
19941
19943 {
19944 set_obj(Properties::SwitchedObj, value);
19945 return *this;
19946 }
19947
19953 {
19954 return get_obj<dss::obj::DSSObj>(Properties::SwitchedObj);
19955 }
19956
19958 {
19959 set_obj(Properties::SwitchedObj, value);
19960 return *this;
19961 }
19962
19968 {
19969 return Obj_GetInt32(ptr, Properties::SwitchedTerm);
19970 }
19971
19972 Fuse& SwitchedTerm(int32_t value)
19973 {
19974 Obj_SetInt32(ptr, Properties::SwitchedTerm, value);
19975 return *this;
19976 }
19977
19982 string FuseCurve()
19983 {
19984 return get_prop_string(Properties::FuseCurve);
19985 }
19986
19987 Fuse& FuseCurve(const string &value)
19988 {
19989 set_string(Properties::FuseCurve, value);
19990 return *this;
19991 }
19992
19994 {
19995 set_obj(Properties::FuseCurve, value);
19996 return *this;
19997 }
19998
20004 {
20005 return get_obj<dss::obj::TCC_Curve>(Properties::FuseCurve);
20006 }
20007
20009 {
20010 set_obj(Properties::FuseCurve, value);
20011 return *this;
20012 }
20013
20019 {
20020 return Obj_GetFloat64(ptr, Properties::RatedCurrent);
20021 }
20022
20023 Fuse& RatedCurrent(double value)
20024 {
20025 Obj_SetFloat64(ptr, Properties::RatedCurrent, value);
20026 return *this;
20027 }
20028
20033 double Delay()
20034 {
20035 return Obj_GetFloat64(ptr, Properties::Delay);
20036 }
20037
20038 Fuse& Delay(double value)
20039 {
20040 Obj_SetFloat64(ptr, Properties::Delay, value);
20041 return *this;
20042 }
20043
20048 Fuse& Action(int32_t value)
20049 {
20050 Obj_SetInt32(ptr, Properties::Action, value);
20051 return *this;
20052 }
20053
20059 {
20060 Obj_SetInt32(ptr, Properties::Action, int32_t(value));
20061 return *this;
20062 }
20063
20068 Fuse& Action(const string &value)
20069 {
20070 set_string(Properties::Action, value);
20071 return *this;
20072 }
20073
20078 Fuse& Action(const char *value)
20079 {
20080 set_string(Properties::Action, value);
20081 return *this;
20082 }
20083
20088 std::vector<FuseState> Normal()
20089 {
20090 return get_array<std::vector<FuseState>>(Properties::Normal);
20091 }
20092
20093 Fuse& Normal(std::vector<int32_t> &value)
20094 {
20095 set_array<std::vector<int32_t>>(Properties::Normal, value);
20096 return *this;
20097 }
20098
20099 Fuse& Normal(strings &value)
20100 {
20101 set_array<strings>(Properties::Normal, value);
20102 return *this;
20103 }
20104
20109 strings Normal_str()
20110 {
20111 return get_array<strings>(Properties::Normal);
20112 }
20113
20114 Fuse& Normal_str(strings &value)
20115 {
20116 Normal(value);
20117 return *this;
20118 }
20119
20124 std::vector<FuseState> State()
20125 {
20126 return get_array<std::vector<FuseState>>(Properties::State);
20127 }
20128
20129 Fuse& State(std::vector<int32_t> &value)
20130 {
20131 set_array<std::vector<int32_t>>(Properties::State, value);
20132 return *this;
20133 }
20134
20135 Fuse& State(strings &value)
20136 {
20137 set_array<strings>(Properties::State, value);
20138 return *this;
20139 }
20140
20145 strings State_str()
20146 {
20147 return get_array<strings>(Properties::State);
20148 }
20149
20150 Fuse& State_str(strings &value)
20151 {
20152 State(value);
20153 return *this;
20154 }
20155
20160 double basefreq()
20161 {
20162 return Obj_GetFloat64(ptr, Properties::basefreq);
20163 }
20164
20165 Fuse& basefreq(double value)
20166 {
20167 Obj_SetFloat64(ptr, Properties::basefreq, value);
20168 return *this;
20169 }
20170
20175 bool enabled()
20176 {
20177 return Obj_GetInt32(ptr, Properties::enabled) != 0;
20178 }
20179
20180 Fuse& enabled(bool value)
20181 {
20182 Obj_SetInt32(ptr, Properties::enabled, value);
20183 return *this;
20184 }
20185
20192 Fuse& like(const string &value)
20193 {
20194 set_string(Properties::like, value);
20195 return *this;
20196 }
20197
20204 Fuse& like(const char *value)
20205 {
20206 set_string(Properties::like, value);
20207 return *this;
20208 }
20209};
20210
20211
20212class SwtControl: public DSSObj
20213{
20214public:
20215 const static char dss_cls_name[];
20216 const static int32_t dss_cls_idx = 33;
20218 {
20219 enum {
20220 SwitchedObj = 1,
20221 SwitchedTerm = 2,
20222 Action = 3,
20223 Lock = 4,
20224 Delay = 5,
20225 Normal = 6,
20226 State = 7,
20227 Reset = 8,
20228 basefreq = 9,
20229 enabled = 10,
20230 like = 11,
20231 };
20232 };
20233
20234 // Class-specific enumerations
20235
20239 enum class SwtControlAction: int32_t
20240 {
20241 close = 2,
20242 open = 1
20243 };
20244
20245
20249 enum class SwtControlState: int32_t
20250 {
20251 closed = 2,
20252 open = 1
20253 };
20254
20255
20256
20260 SwtControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
20261 {
20262 }
20263
20267 SwtControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
20268 {
20269 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
20270 check_for_error();
20271 if (ptr == nullptr)
20272 {
20273 throw std::runtime_error("Could not find the SwtControl element by the given index");
20274 }
20275 }
20276
20280 SwtControl(APIUtil *util, char *name): DSSObj(util, nullptr)
20281 {
20282 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
20283 check_for_error();
20284 if (ptr == nullptr)
20285 {
20286 throw std::runtime_error("Could not find the SwtControl element by the given name");
20287 }
20288 }
20289
20293 const char* name()
20294 {
20295 return Obj_GetName(ptr);
20296 }
20297
20302 {
20303 Obj_BeginEdit(ptr);
20304 return *this;
20305 }
20306
20311 SwtControl& end_edit(int32_t num_edits=1)
20312 {
20313 Obj_EndEdit(ptr, num_edits);
20314 return *this;
20315 }
20316
20322 {
20323 return get_prop_string(Properties::SwitchedObj);
20324 }
20325
20326 SwtControl& SwitchedObj(const string &value)
20327 {
20328 set_string(Properties::SwitchedObj, value);
20329 return *this;
20330 }
20331
20333 {
20334 set_obj(Properties::SwitchedObj, value);
20335 return *this;
20336 }
20337
20343 {
20344 return get_obj<dss::obj::DSSObj>(Properties::SwitchedObj);
20345 }
20346
20348 {
20349 set_obj(Properties::SwitchedObj, value);
20350 return *this;
20351 }
20352
20358 {
20359 return Obj_GetInt32(ptr, Properties::SwitchedTerm);
20360 }
20361
20362 SwtControl& SwitchedTerm(int32_t value)
20363 {
20364 Obj_SetInt32(ptr, Properties::SwitchedTerm, value);
20365 return *this;
20366 }
20367
20373 {
20374 return SwtControlAction(Obj_GetInt32(ptr, Properties::Action));
20375 }
20376
20377 SwtControl& Action(int32_t value)
20378 {
20379 Obj_SetInt32(ptr, Properties::Action, value);
20380 return *this;
20381 }
20382
20384 {
20385 Obj_SetInt32(ptr, Properties::Action, int32_t(value));
20386 return *this;
20387 }
20388
20389 SwtControl& Action(const string &value)
20390 {
20391 set_string(Properties::Action, value);
20392 return *this;
20393 }
20394
20395 SwtControl& Action(const char *value)
20396 {
20397 set_string(Properties::Action, value);
20398 return *this;
20399 }
20400
20405 string Action_str()
20406 {
20407 return get_prop_string(Properties::Action);
20408 }
20409
20414 SwtControl& Action_str(const string &value)
20415 {
20416 set_string(Properties::Action, value);
20417 return *this;
20418 }
20419
20424 bool Lock()
20425 {
20426 return Obj_GetInt32(ptr, Properties::Lock) != 0;
20427 }
20428
20429 SwtControl& Lock(bool value)
20430 {
20431 Obj_SetInt32(ptr, Properties::Lock, value);
20432 return *this;
20433 }
20434
20439 double Delay()
20440 {
20441 return Obj_GetFloat64(ptr, Properties::Delay);
20442 }
20443
20444 SwtControl& Delay(double value)
20445 {
20446 Obj_SetFloat64(ptr, Properties::Delay, value);
20447 return *this;
20448 }
20449
20455 {
20456 return SwtControlState(Obj_GetInt32(ptr, Properties::Normal));
20457 }
20458
20459 SwtControl& Normal(int32_t value)
20460 {
20461 Obj_SetInt32(ptr, Properties::Normal, value);
20462 return *this;
20463 }
20464
20466 {
20467 Obj_SetInt32(ptr, Properties::Normal, int32_t(value));
20468 return *this;
20469 }
20470
20471 SwtControl& Normal(const string &value)
20472 {
20473 set_string(Properties::Normal, value);
20474 return *this;
20475 }
20476
20477 SwtControl& Normal(const char *value)
20478 {
20479 set_string(Properties::Normal, value);
20480 return *this;
20481 }
20482
20487 string Normal_str()
20488 {
20489 return get_prop_string(Properties::Normal);
20490 }
20491
20496 SwtControl& Normal_str(const string &value)
20497 {
20498 set_string(Properties::Normal, value);
20499 return *this;
20500 }
20501
20507 {
20508 return SwtControlState(Obj_GetInt32(ptr, Properties::State));
20509 }
20510
20511 SwtControl& State(int32_t value)
20512 {
20513 Obj_SetInt32(ptr, Properties::State, value);
20514 return *this;
20515 }
20516
20518 {
20519 Obj_SetInt32(ptr, Properties::State, int32_t(value));
20520 return *this;
20521 }
20522
20523 SwtControl& State(const string &value)
20524 {
20525 set_string(Properties::State, value);
20526 return *this;
20527 }
20528
20529 SwtControl& State(const char *value)
20530 {
20531 set_string(Properties::State, value);
20532 return *this;
20533 }
20534
20539 string State_str()
20540 {
20541 return get_prop_string(Properties::State);
20542 }
20543
20548 SwtControl& State_str(const string &value)
20549 {
20550 set_string(Properties::State, value);
20551 return *this;
20552 }
20553
20558 SwtControl& Reset(bool value)
20559 {
20560 Obj_SetInt32(ptr, Properties::Reset, value);
20561 return *this;
20562 }
20563
20568 double basefreq()
20569 {
20570 return Obj_GetFloat64(ptr, Properties::basefreq);
20571 }
20572
20573 SwtControl& basefreq(double value)
20574 {
20575 Obj_SetFloat64(ptr, Properties::basefreq, value);
20576 return *this;
20577 }
20578
20583 bool enabled()
20584 {
20585 return Obj_GetInt32(ptr, Properties::enabled) != 0;
20586 }
20587
20588 SwtControl& enabled(bool value)
20589 {
20590 Obj_SetInt32(ptr, Properties::enabled, value);
20591 return *this;
20592 }
20593
20600 SwtControl& like(const string &value)
20601 {
20602 set_string(Properties::like, value);
20603 return *this;
20604 }
20605
20612 SwtControl& like(const char *value)
20613 {
20614 set_string(Properties::like, value);
20615 return *this;
20616 }
20617};
20618
20619
20620class PVSystem: public DSSObj
20621{
20622public:
20623 const static char dss_cls_name[];
20624 const static int32_t dss_cls_idx = 34;
20626 {
20627 enum {
20628 phases = 1,
20629 bus1 = 2,
20630 kv = 3,
20631 irradiance = 4,
20632 Pmpp = 5,
20633 pctPmpp = 6,
20634 Temperature = 7,
20635 pf = 8,
20636 conn = 9,
20637 kvar = 10,
20638 kVA = 11,
20639 pctCutin = 12,
20640 pctCutout = 13,
20641 EffCurve = 14,
20642 PTCurve = 15,
20643 pctR = 16,
20644 pctX = 17,
20645 model = 18,
20646 Vminpu = 19,
20647 Vmaxpu = 20,
20648 Balanced = 21,
20649 LimitCurrent = 22,
20650 yearly = 23,
20651 daily = 24,
20652 duty = 25,
20653 Tyearly = 26,
20654 Tdaily = 27,
20655 Tduty = 28,
20656 cls = 29,
20657 UserModel = 30,
20658 UserData = 31,
20659 debugtrace = 32,
20660 VarFollowInverter = 33,
20661 DutyStart = 34,
20662 WattPriority = 35,
20663 PFPriority = 36,
20664 pctPminNoVars = 37,
20665 pctPminkvarMax = 38,
20666 kvarMax = 39,
20667 kvarMaxAbs = 40,
20668 spectrum = 41,
20669 basefreq = 42,
20670 enabled = 43,
20671 like = 44,
20672 };
20673 };
20674
20678 PVSystem(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
20679 {
20680 }
20681
20685 PVSystem(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
20686 {
20687 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
20688 check_for_error();
20689 if (ptr == nullptr)
20690 {
20691 throw std::runtime_error("Could not find the PVSystem element by the given index");
20692 }
20693 }
20694
20698 PVSystem(APIUtil *util, char *name): DSSObj(util, nullptr)
20699 {
20700 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
20701 check_for_error();
20702 if (ptr == nullptr)
20703 {
20704 throw std::runtime_error("Could not find the PVSystem element by the given name");
20705 }
20706 }
20707
20711 const char* name()
20712 {
20713 return Obj_GetName(ptr);
20714 }
20715
20720 {
20721 Obj_BeginEdit(ptr);
20722 return *this;
20723 }
20724
20729 PVSystem& end_edit(int32_t num_edits=1)
20730 {
20731 Obj_EndEdit(ptr, num_edits);
20732 return *this;
20733 }
20734
20739 int32_t phases()
20740 {
20741 return Obj_GetInt32(ptr, Properties::phases);
20742 }
20743
20744 PVSystem& phases(int32_t value)
20745 {
20746 Obj_SetInt32(ptr, Properties::phases, value);
20747 return *this;
20748 }
20749
20754 string bus1()
20755 {
20756 return get_prop_string(Properties::bus1);
20757 }
20758
20759 PVSystem& bus1(const string &value)
20760 {
20761 set_string(Properties::bus1, value);
20762 return *this;
20763 }
20764
20765 PVSystem& bus1(const char* value)
20766 {
20767 set_string(Properties::bus1, value);
20768 return *this;
20769 }
20770
20775 double kv()
20776 {
20777 return Obj_GetFloat64(ptr, Properties::kv);
20778 }
20779
20780 PVSystem& kv(double value)
20781 {
20782 Obj_SetFloat64(ptr, Properties::kv, value);
20783 return *this;
20784 }
20785
20790 double irradiance()
20791 {
20792 return Obj_GetFloat64(ptr, Properties::irradiance);
20793 }
20794
20795 PVSystem& irradiance(double value)
20796 {
20797 Obj_SetFloat64(ptr, Properties::irradiance, value);
20798 return *this;
20799 }
20800
20805 double Pmpp()
20806 {
20807 return Obj_GetFloat64(ptr, Properties::Pmpp);
20808 }
20809
20810 PVSystem& Pmpp(double value)
20811 {
20812 Obj_SetFloat64(ptr, Properties::Pmpp, value);
20813 return *this;
20814 }
20815
20820 double pctPmpp()
20821 {
20822 return Obj_GetFloat64(ptr, Properties::pctPmpp);
20823 }
20824
20825 PVSystem& pctPmpp(double value)
20826 {
20827 Obj_SetFloat64(ptr, Properties::pctPmpp, value);
20828 return *this;
20829 }
20830
20836 {
20837 return Obj_GetFloat64(ptr, Properties::Temperature);
20838 }
20839
20840 PVSystem& Temperature(double value)
20841 {
20842 Obj_SetFloat64(ptr, Properties::Temperature, value);
20843 return *this;
20844 }
20845
20852 double pf()
20853 {
20854 return Obj_GetFloat64(ptr, Properties::pf);
20855 }
20856
20857 PVSystem& pf(double value)
20858 {
20859 Obj_SetFloat64(ptr, Properties::pf, value);
20860 return *this;
20861 }
20862
20867 Connection conn()
20868 {
20869 return Connection(Obj_GetInt32(ptr, Properties::conn));
20870 }
20871
20872 PVSystem& conn(int32_t value)
20873 {
20874 Obj_SetInt32(ptr, Properties::conn, value);
20875 return *this;
20876 }
20877
20878 PVSystem& conn(Connection value)
20879 {
20880 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
20881 return *this;
20882 }
20883
20884 PVSystem& conn(const string &value)
20885 {
20886 set_string(Properties::conn, value);
20887 return *this;
20888 }
20889
20890 PVSystem& conn(const char *value)
20891 {
20892 set_string(Properties::conn, value);
20893 return *this;
20894 }
20895
20900 string conn_str()
20901 {
20902 return get_prop_string(Properties::conn);
20903 }
20904
20909 PVSystem& conn_str(const string &value)
20910 {
20911 set_string(Properties::conn, value);
20912 return *this;
20913 }
20914
20919 double kvar()
20920 {
20921 return Obj_GetFloat64(ptr, Properties::kvar);
20922 }
20923
20924 PVSystem& kvar(double value)
20925 {
20926 Obj_SetFloat64(ptr, Properties::kvar, value);
20927 return *this;
20928 }
20929
20934 double kVA()
20935 {
20936 return Obj_GetFloat64(ptr, Properties::kVA);
20937 }
20938
20939 PVSystem& kVA(double value)
20940 {
20941 Obj_SetFloat64(ptr, Properties::kVA, value);
20942 return *this;
20943 }
20944
20949 double pctCutin()
20950 {
20951 return Obj_GetFloat64(ptr, Properties::pctCutin);
20952 }
20953
20954 PVSystem& pctCutin(double value)
20955 {
20956 Obj_SetFloat64(ptr, Properties::pctCutin, value);
20957 return *this;
20958 }
20959
20964 double pctCutout()
20965 {
20966 return Obj_GetFloat64(ptr, Properties::pctCutout);
20967 }
20968
20969 PVSystem& pctCutout(double value)
20970 {
20971 Obj_SetFloat64(ptr, Properties::pctCutout, value);
20972 return *this;
20973 }
20974
20979 string EffCurve()
20980 {
20981 return get_prop_string(Properties::EffCurve);
20982 }
20983
20984 PVSystem& EffCurve(const string &value)
20985 {
20986 set_string(Properties::EffCurve, value);
20987 return *this;
20988 }
20989
20991 {
20992 set_obj(Properties::EffCurve, value);
20993 return *this;
20994 }
20995
21001 {
21002 return get_obj<dss::obj::XYcurve>(Properties::EffCurve);
21003 }
21004
21006 {
21007 set_obj(Properties::EffCurve, value);
21008 return *this;
21009 }
21010
21015 string PTCurve()
21016 {
21017 return get_prop_string(Properties::PTCurve);
21018 }
21019
21020 PVSystem& PTCurve(const string &value)
21021 {
21022 set_string(Properties::PTCurve, value);
21023 return *this;
21024 }
21025
21027 {
21028 set_obj(Properties::PTCurve, value);
21029 return *this;
21030 }
21031
21037 {
21038 return get_obj<dss::obj::XYcurve>(Properties::PTCurve);
21039 }
21040
21042 {
21043 set_obj(Properties::PTCurve, value);
21044 return *this;
21045 }
21046
21051 double pctR()
21052 {
21053 return Obj_GetFloat64(ptr, Properties::pctR);
21054 }
21055
21056 PVSystem& pctR(double value)
21057 {
21058 Obj_SetFloat64(ptr, Properties::pctR, value);
21059 return *this;
21060 }
21061
21066 double pctX()
21067 {
21068 return Obj_GetFloat64(ptr, Properties::pctX);
21069 }
21070
21071 PVSystem& pctX(double value)
21072 {
21073 Obj_SetFloat64(ptr, Properties::pctX, value);
21074 return *this;
21075 }
21076
21085 int32_t model()
21086 {
21087 return Obj_GetInt32(ptr, Properties::model);
21088 }
21089
21090 PVSystem& model(int32_t value)
21091 {
21092 Obj_SetInt32(ptr, Properties::model, value);
21093 return *this;
21094 }
21095
21100 double Vminpu()
21101 {
21102 return Obj_GetFloat64(ptr, Properties::Vminpu);
21103 }
21104
21105 PVSystem& Vminpu(double value)
21106 {
21107 Obj_SetFloat64(ptr, Properties::Vminpu, value);
21108 return *this;
21109 }
21110
21115 double Vmaxpu()
21116 {
21117 return Obj_GetFloat64(ptr, Properties::Vmaxpu);
21118 }
21119
21120 PVSystem& Vmaxpu(double value)
21121 {
21122 Obj_SetFloat64(ptr, Properties::Vmaxpu, value);
21123 return *this;
21124 }
21125
21131 {
21132 return Obj_GetInt32(ptr, Properties::Balanced) != 0;
21133 }
21134
21135 PVSystem& Balanced(bool value)
21136 {
21137 Obj_SetInt32(ptr, Properties::Balanced, value);
21138 return *this;
21139 }
21140
21146 {
21147 return Obj_GetInt32(ptr, Properties::LimitCurrent) != 0;
21148 }
21149
21150 PVSystem& LimitCurrent(bool value)
21151 {
21152 Obj_SetInt32(ptr, Properties::LimitCurrent, value);
21153 return *this;
21154 }
21155
21160 string yearly()
21161 {
21162 return get_prop_string(Properties::yearly);
21163 }
21164
21165 PVSystem& yearly(const string &value)
21166 {
21167 set_string(Properties::yearly, value);
21168 return *this;
21169 }
21170
21172 {
21173 set_obj(Properties::yearly, value);
21174 return *this;
21175 }
21176
21182 {
21183 return get_obj<dss::obj::LoadShape>(Properties::yearly);
21184 }
21185
21187 {
21188 set_obj(Properties::yearly, value);
21189 return *this;
21190 }
21191
21196 string daily()
21197 {
21198 return get_prop_string(Properties::daily);
21199 }
21200
21201 PVSystem& daily(const string &value)
21202 {
21203 set_string(Properties::daily, value);
21204 return *this;
21205 }
21206
21208 {
21209 set_obj(Properties::daily, value);
21210 return *this;
21211 }
21212
21218 {
21219 return get_obj<dss::obj::LoadShape>(Properties::daily);
21220 }
21221
21223 {
21224 set_obj(Properties::daily, value);
21225 return *this;
21226 }
21227
21232 string duty()
21233 {
21234 return get_prop_string(Properties::duty);
21235 }
21236
21237 PVSystem& duty(const string &value)
21238 {
21239 set_string(Properties::duty, value);
21240 return *this;
21241 }
21242
21244 {
21245 set_obj(Properties::duty, value);
21246 return *this;
21247 }
21248
21254 {
21255 return get_obj<dss::obj::LoadShape>(Properties::duty);
21256 }
21257
21259 {
21260 set_obj(Properties::duty, value);
21261 return *this;
21262 }
21263
21268 string Tyearly()
21269 {
21270 return get_prop_string(Properties::Tyearly);
21271 }
21272
21273 PVSystem& Tyearly(const string &value)
21274 {
21275 set_string(Properties::Tyearly, value);
21276 return *this;
21277 }
21278
21280 {
21281 set_obj(Properties::Tyearly, value);
21282 return *this;
21283 }
21284
21290 {
21291 return get_obj<dss::obj::TShape>(Properties::Tyearly);
21292 }
21293
21295 {
21296 set_obj(Properties::Tyearly, value);
21297 return *this;
21298 }
21299
21304 string Tdaily()
21305 {
21306 return get_prop_string(Properties::Tdaily);
21307 }
21308
21309 PVSystem& Tdaily(const string &value)
21310 {
21311 set_string(Properties::Tdaily, value);
21312 return *this;
21313 }
21314
21316 {
21317 set_obj(Properties::Tdaily, value);
21318 return *this;
21319 }
21320
21326 {
21327 return get_obj<dss::obj::TShape>(Properties::Tdaily);
21328 }
21329
21331 {
21332 set_obj(Properties::Tdaily, value);
21333 return *this;
21334 }
21335
21340 string Tduty()
21341 {
21342 return get_prop_string(Properties::Tduty);
21343 }
21344
21345 PVSystem& Tduty(const string &value)
21346 {
21347 set_string(Properties::Tduty, value);
21348 return *this;
21349 }
21350
21352 {
21353 set_obj(Properties::Tduty, value);
21354 return *this;
21355 }
21356
21362 {
21363 return get_obj<dss::obj::TShape>(Properties::Tduty);
21364 }
21365
21367 {
21368 set_obj(Properties::Tduty, value);
21369 return *this;
21370 }
21371
21376 int32_t cls()
21377 {
21378 return Obj_GetInt32(ptr, Properties::cls);
21379 }
21380
21381 PVSystem& cls(int32_t value)
21382 {
21383 Obj_SetInt32(ptr, Properties::cls, value);
21384 return *this;
21385 }
21386
21391 string UserModel()
21392 {
21393 return get_prop_string(Properties::UserModel);
21394 }
21395
21396 PVSystem& UserModel(const string &value)
21397 {
21398 set_string(Properties::UserModel, value);
21399 return *this;
21400 }
21401
21402 PVSystem& UserModel(const char* value)
21403 {
21404 set_string(Properties::UserModel, value);
21405 return *this;
21406 }
21407
21412 string UserData()
21413 {
21414 return get_prop_string(Properties::UserData);
21415 }
21416
21417 PVSystem& UserData(const string &value)
21418 {
21419 set_string(Properties::UserData, value);
21420 return *this;
21421 }
21422
21423 PVSystem& UserData(const char* value)
21424 {
21425 set_string(Properties::UserData, value);
21426 return *this;
21427 }
21428
21434 {
21435 return Obj_GetInt32(ptr, Properties::debugtrace) != 0;
21436 }
21437
21438 PVSystem& debugtrace(bool value)
21439 {
21440 Obj_SetInt32(ptr, Properties::debugtrace, value);
21441 return *this;
21442 }
21443
21449 {
21450 return Obj_GetInt32(ptr, Properties::VarFollowInverter) != 0;
21451 }
21452
21453 PVSystem& VarFollowInverter(bool value)
21454 {
21455 Obj_SetInt32(ptr, Properties::VarFollowInverter, value);
21456 return *this;
21457 }
21458
21463 double DutyStart()
21464 {
21465 return Obj_GetFloat64(ptr, Properties::DutyStart);
21466 }
21467
21468 PVSystem& DutyStart(double value)
21469 {
21470 Obj_SetFloat64(ptr, Properties::DutyStart, value);
21471 return *this;
21472 }
21473
21479 {
21480 return Obj_GetInt32(ptr, Properties::WattPriority) != 0;
21481 }
21482
21483 PVSystem& WattPriority(bool value)
21484 {
21485 Obj_SetInt32(ptr, Properties::WattPriority, value);
21486 return *this;
21487 }
21488
21494 {
21495 return Obj_GetInt32(ptr, Properties::PFPriority) != 0;
21496 }
21497
21498 PVSystem& PFPriority(bool value)
21499 {
21500 Obj_SetInt32(ptr, Properties::PFPriority, value);
21501 return *this;
21502 }
21503
21509 {
21510 return Obj_GetFloat64(ptr, Properties::pctPminNoVars);
21511 }
21512
21513 PVSystem& pctPminNoVars(double value)
21514 {
21515 Obj_SetFloat64(ptr, Properties::pctPminNoVars, value);
21516 return *this;
21517 }
21518
21524 {
21525 return Obj_GetFloat64(ptr, Properties::pctPminkvarMax);
21526 }
21527
21528 PVSystem& pctPminkvarMax(double value)
21529 {
21530 Obj_SetFloat64(ptr, Properties::pctPminkvarMax, value);
21531 return *this;
21532 }
21533
21538 double kvarMax()
21539 {
21540 return Obj_GetFloat64(ptr, Properties::kvarMax);
21541 }
21542
21543 PVSystem& kvarMax(double value)
21544 {
21545 Obj_SetFloat64(ptr, Properties::kvarMax, value);
21546 return *this;
21547 }
21548
21553 double kvarMaxAbs()
21554 {
21555 return Obj_GetFloat64(ptr, Properties::kvarMaxAbs);
21556 }
21557
21558 PVSystem& kvarMaxAbs(double value)
21559 {
21560 Obj_SetFloat64(ptr, Properties::kvarMaxAbs, value);
21561 return *this;
21562 }
21563
21568 string spectrum()
21569 {
21570 return get_prop_string(Properties::spectrum);
21571 }
21572
21573 PVSystem& spectrum(const string &value)
21574 {
21575 set_string(Properties::spectrum, value);
21576 return *this;
21577 }
21578
21580 {
21581 set_obj(Properties::spectrum, value);
21582 return *this;
21583 }
21584
21590 {
21591 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
21592 }
21593
21595 {
21596 set_obj(Properties::spectrum, value);
21597 return *this;
21598 }
21599
21604 double basefreq()
21605 {
21606 return Obj_GetFloat64(ptr, Properties::basefreq);
21607 }
21608
21609 PVSystem& basefreq(double value)
21610 {
21611 Obj_SetFloat64(ptr, Properties::basefreq, value);
21612 return *this;
21613 }
21614
21619 bool enabled()
21620 {
21621 return Obj_GetInt32(ptr, Properties::enabled) != 0;
21622 }
21623
21624 PVSystem& enabled(bool value)
21625 {
21626 Obj_SetInt32(ptr, Properties::enabled, value);
21627 return *this;
21628 }
21629
21636 PVSystem& like(const string &value)
21637 {
21638 set_string(Properties::like, value);
21639 return *this;
21640 }
21641
21648 PVSystem& like(const char *value)
21649 {
21650 set_string(Properties::like, value);
21651 return *this;
21652 }
21653};
21654
21655
21656class UPFC: public DSSObj
21657{
21658public:
21659 const static char dss_cls_name[];
21660 const static int32_t dss_cls_idx = 35;
21662 {
21663 enum {
21664 bus1 = 1,
21665 bus2 = 2,
21666 refkv = 3,
21667 pf = 4,
21668 frequency = 5,
21669 phases = 6,
21670 Xs = 7,
21671 Tol1 = 8,
21672 Mode = 9,
21673 VpqMax = 10,
21674 LossCurve = 11,
21675 VHLimit = 12,
21676 VLLimit = 13,
21677 CLimit = 14,
21678 refkv2 = 15,
21679 kvarLimit = 16,
21680 spectrum = 17,
21681 basefreq = 18,
21682 enabled = 19,
21683 like = 20,
21684 };
21685 };
21686
21690 UPFC(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
21691 {
21692 }
21693
21697 UPFC(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
21698 {
21699 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
21700 check_for_error();
21701 if (ptr == nullptr)
21702 {
21703 throw std::runtime_error("Could not find the UPFC element by the given index");
21704 }
21705 }
21706
21710 UPFC(APIUtil *util, char *name): DSSObj(util, nullptr)
21711 {
21712 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
21713 check_for_error();
21714 if (ptr == nullptr)
21715 {
21716 throw std::runtime_error("Could not find the UPFC element by the given name");
21717 }
21718 }
21719
21723 const char* name()
21724 {
21725 return Obj_GetName(ptr);
21726 }
21727
21732 {
21733 Obj_BeginEdit(ptr);
21734 return *this;
21735 }
21736
21741 UPFC& end_edit(int32_t num_edits=1)
21742 {
21743 Obj_EndEdit(ptr, num_edits);
21744 return *this;
21745 }
21746
21753 string bus1()
21754 {
21755 return get_prop_string(Properties::bus1);
21756 }
21757
21758 UPFC& bus1(const string &value)
21759 {
21760 set_string(Properties::bus1, value);
21761 return *this;
21762 }
21763
21764 UPFC& bus1(const char* value)
21765 {
21766 set_string(Properties::bus1, value);
21767 return *this;
21768 }
21769
21776 string bus2()
21777 {
21778 return get_prop_string(Properties::bus2);
21779 }
21780
21781 UPFC& bus2(const string &value)
21782 {
21783 set_string(Properties::bus2, value);
21784 return *this;
21785 }
21786
21787 UPFC& bus2(const char* value)
21788 {
21789 set_string(Properties::bus2, value);
21790 return *this;
21791 }
21792
21799 double refkv()
21800 {
21801 return Obj_GetFloat64(ptr, Properties::refkv);
21802 }
21803
21804 UPFC& refkv(double value)
21805 {
21806 Obj_SetFloat64(ptr, Properties::refkv, value);
21807 return *this;
21808 }
21809
21814 double pf()
21815 {
21816 return Obj_GetFloat64(ptr, Properties::pf);
21817 }
21818
21819 UPFC& pf(double value)
21820 {
21821 Obj_SetFloat64(ptr, Properties::pf, value);
21822 return *this;
21823 }
21824
21829 double frequency()
21830 {
21831 return Obj_GetFloat64(ptr, Properties::frequency);
21832 }
21833
21834 UPFC& frequency(double value)
21835 {
21836 Obj_SetFloat64(ptr, Properties::frequency, value);
21837 return *this;
21838 }
21839
21844 int32_t phases()
21845 {
21846 return Obj_GetInt32(ptr, Properties::phases);
21847 }
21848
21849 UPFC& phases(int32_t value)
21850 {
21851 Obj_SetInt32(ptr, Properties::phases, value);
21852 return *this;
21853 }
21854
21859 double Xs()
21860 {
21861 return Obj_GetFloat64(ptr, Properties::Xs);
21862 }
21863
21864 UPFC& Xs(double value)
21865 {
21866 Obj_SetFloat64(ptr, Properties::Xs, value);
21867 return *this;
21868 }
21869
21875 double Tol1()
21876 {
21877 return Obj_GetFloat64(ptr, Properties::Tol1);
21878 }
21879
21880 UPFC& Tol1(double value)
21881 {
21882 Obj_SetFloat64(ptr, Properties::Tol1, value);
21883 return *this;
21884 }
21885
21897 int32_t Mode()
21898 {
21899 return Obj_GetInt32(ptr, Properties::Mode);
21900 }
21901
21902 UPFC& Mode(int32_t value)
21903 {
21904 Obj_SetInt32(ptr, Properties::Mode, value);
21905 return *this;
21906 }
21907
21912 double VpqMax()
21913 {
21914 return Obj_GetFloat64(ptr, Properties::VpqMax);
21915 }
21916
21917 UPFC& VpqMax(double value)
21918 {
21919 Obj_SetFloat64(ptr, Properties::VpqMax, value);
21920 return *this;
21921 }
21922
21927 string LossCurve()
21928 {
21929 return get_prop_string(Properties::LossCurve);
21930 }
21931
21932 UPFC& LossCurve(const string &value)
21933 {
21934 set_string(Properties::LossCurve, value);
21935 return *this;
21936 }
21937
21939 {
21940 set_obj(Properties::LossCurve, value);
21941 return *this;
21942 }
21943
21949 {
21950 return get_obj<dss::obj::XYcurve>(Properties::LossCurve);
21951 }
21952
21954 {
21955 set_obj(Properties::LossCurve, value);
21956 return *this;
21957 }
21958
21963 double VHLimit()
21964 {
21965 return Obj_GetFloat64(ptr, Properties::VHLimit);
21966 }
21967
21968 UPFC& VHLimit(double value)
21969 {
21970 Obj_SetFloat64(ptr, Properties::VHLimit, value);
21971 return *this;
21972 }
21973
21978 double VLLimit()
21979 {
21980 return Obj_GetFloat64(ptr, Properties::VLLimit);
21981 }
21982
21983 UPFC& VLLimit(double value)
21984 {
21985 Obj_SetFloat64(ptr, Properties::VLLimit, value);
21986 return *this;
21987 }
21988
21993 double CLimit()
21994 {
21995 return Obj_GetFloat64(ptr, Properties::CLimit);
21996 }
21997
21998 UPFC& CLimit(double value)
21999 {
22000 Obj_SetFloat64(ptr, Properties::CLimit, value);
22001 return *this;
22002 }
22003
22010 double refkv2()
22011 {
22012 return Obj_GetFloat64(ptr, Properties::refkv2);
22013 }
22014
22015 UPFC& refkv2(double value)
22016 {
22017 Obj_SetFloat64(ptr, Properties::refkv2, value);
22018 return *this;
22019 }
22020
22025 double kvarLimit()
22026 {
22027 return Obj_GetFloat64(ptr, Properties::kvarLimit);
22028 }
22029
22030 UPFC& kvarLimit(double value)
22031 {
22032 Obj_SetFloat64(ptr, Properties::kvarLimit, value);
22033 return *this;
22034 }
22035
22040 string spectrum()
22041 {
22042 return get_prop_string(Properties::spectrum);
22043 }
22044
22045 UPFC& spectrum(const string &value)
22046 {
22047 set_string(Properties::spectrum, value);
22048 return *this;
22049 }
22050
22052 {
22053 set_obj(Properties::spectrum, value);
22054 return *this;
22055 }
22056
22062 {
22063 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
22064 }
22065
22067 {
22068 set_obj(Properties::spectrum, value);
22069 return *this;
22070 }
22071
22076 double basefreq()
22077 {
22078 return Obj_GetFloat64(ptr, Properties::basefreq);
22079 }
22080
22081 UPFC& basefreq(double value)
22082 {
22083 Obj_SetFloat64(ptr, Properties::basefreq, value);
22084 return *this;
22085 }
22086
22091 bool enabled()
22092 {
22093 return Obj_GetInt32(ptr, Properties::enabled) != 0;
22094 }
22095
22096 UPFC& enabled(bool value)
22097 {
22098 Obj_SetInt32(ptr, Properties::enabled, value);
22099 return *this;
22100 }
22101
22108 UPFC& like(const string &value)
22109 {
22110 set_string(Properties::like, value);
22111 return *this;
22112 }
22113
22120 UPFC& like(const char *value)
22121 {
22122 set_string(Properties::like, value);
22123 return *this;
22124 }
22125};
22126
22127
22128class UPFCControl: public DSSObj
22129{
22130public:
22131 const static char dss_cls_name[];
22132 const static int32_t dss_cls_idx = 36;
22134 {
22135 enum {
22136 UPFCList = 1,
22137 basefreq = 2,
22138 enabled = 3,
22139 like = 4,
22140 };
22141 };
22142
22146 UPFCControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
22147 {
22148 }
22149
22153 UPFCControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
22154 {
22155 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
22156 check_for_error();
22157 if (ptr == nullptr)
22158 {
22159 throw std::runtime_error("Could not find the UPFCControl element by the given index");
22160 }
22161 }
22162
22166 UPFCControl(APIUtil *util, char *name): DSSObj(util, nullptr)
22167 {
22168 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
22169 check_for_error();
22170 if (ptr == nullptr)
22171 {
22172 throw std::runtime_error("Could not find the UPFCControl element by the given name");
22173 }
22174 }
22175
22179 const char* name()
22180 {
22181 return Obj_GetName(ptr);
22182 }
22183
22188 {
22189 Obj_BeginEdit(ptr);
22190 return *this;
22191 }
22192
22197 UPFCControl& end_edit(int32_t num_edits=1)
22198 {
22199 Obj_EndEdit(ptr, num_edits);
22200 return *this;
22201 }
22202
22207 strings UPFCList()
22208 {
22209 return get_array<strings>(Properties::UPFCList);
22210 }
22211
22212 UPFCControl& UPFCList(strings &value)
22213 {
22214 set_array<strings>(Properties::UPFCList, value);
22215 return *this;
22216 }
22217
22222 double basefreq()
22223 {
22224 return Obj_GetFloat64(ptr, Properties::basefreq);
22225 }
22226
22227 UPFCControl& basefreq(double value)
22228 {
22229 Obj_SetFloat64(ptr, Properties::basefreq, value);
22230 return *this;
22231 }
22232
22237 bool enabled()
22238 {
22239 return Obj_GetInt32(ptr, Properties::enabled) != 0;
22240 }
22241
22242 UPFCControl& enabled(bool value)
22243 {
22244 Obj_SetInt32(ptr, Properties::enabled, value);
22245 return *this;
22246 }
22247
22254 UPFCControl& like(const string &value)
22255 {
22256 set_string(Properties::like, value);
22257 return *this;
22258 }
22259
22266 UPFCControl& like(const char *value)
22267 {
22268 set_string(Properties::like, value);
22269 return *this;
22270 }
22271};
22272
22273
22275{
22276public:
22277 const static char dss_cls_name[];
22278 const static int32_t dss_cls_idx = 37;
22280 {
22281 enum {
22282 Element = 1,
22283 Terminal = 2,
22284 Type = 3,
22285 kWBand = 4,
22286 kvarlimit = 5,
22287 LocalControlList = 6,
22288 LocalControlWeights = 7,
22289 PVSystemList = 8,
22290 PVSystemWeights = 9,
22291 StorageList = 10,
22292 StorageWeights = 11,
22293 basefreq = 12,
22294 enabled = 13,
22295 like = 14,
22296 };
22297 };
22298
22299 // Class-specific enumerations
22300
22304 enum class ESPVLControlType: int32_t
22305 {
22306 SystemController = 1,
22307 LocalController = 2
22308 };
22309
22310
22311
22315 ESPVLControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
22316 {
22317 }
22318
22322 ESPVLControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
22323 {
22324 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
22325 check_for_error();
22326 if (ptr == nullptr)
22327 {
22328 throw std::runtime_error("Could not find the ESPVLControl element by the given index");
22329 }
22330 }
22331
22335 ESPVLControl(APIUtil *util, char *name): DSSObj(util, nullptr)
22336 {
22337 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
22338 check_for_error();
22339 if (ptr == nullptr)
22340 {
22341 throw std::runtime_error("Could not find the ESPVLControl element by the given name");
22342 }
22343 }
22344
22348 const char* name()
22349 {
22350 return Obj_GetName(ptr);
22351 }
22352
22357 {
22358 Obj_BeginEdit(ptr);
22359 return *this;
22360 }
22361
22366 ESPVLControl& end_edit(int32_t num_edits=1)
22367 {
22368 Obj_EndEdit(ptr, num_edits);
22369 return *this;
22370 }
22371
22376 string Element()
22377 {
22378 return get_prop_string(Properties::Element);
22379 }
22380
22381 ESPVLControl& Element(const string &value)
22382 {
22383 set_string(Properties::Element, value);
22384 return *this;
22385 }
22386
22388 {
22389 set_obj(Properties::Element, value);
22390 return *this;
22391 }
22392
22398 {
22399 return get_obj<dss::obj::DSSObj>(Properties::Element);
22400 }
22401
22403 {
22404 set_obj(Properties::Element, value);
22405 return *this;
22406 }
22407
22412 int32_t Terminal()
22413 {
22414 return Obj_GetInt32(ptr, Properties::Terminal);
22415 }
22416
22417 ESPVLControl& Terminal(int32_t value)
22418 {
22419 Obj_SetInt32(ptr, Properties::Terminal, value);
22420 return *this;
22421 }
22422
22428 {
22429 return ESPVLControlType(Obj_GetInt32(ptr, Properties::Type));
22430 }
22431
22432 ESPVLControl& Type(int32_t value)
22433 {
22434 Obj_SetInt32(ptr, Properties::Type, value);
22435 return *this;
22436 }
22437
22439 {
22440 Obj_SetInt32(ptr, Properties::Type, int32_t(value));
22441 return *this;
22442 }
22443
22444 ESPVLControl& Type(const string &value)
22445 {
22446 set_string(Properties::Type, value);
22447 return *this;
22448 }
22449
22450 ESPVLControl& Type(const char *value)
22451 {
22452 set_string(Properties::Type, value);
22453 return *this;
22454 }
22455
22460 string Type_str()
22461 {
22462 return get_prop_string(Properties::Type);
22463 }
22464
22469 ESPVLControl& Type_str(const string &value)
22470 {
22471 set_string(Properties::Type, value);
22472 return *this;
22473 }
22474
22479 double kWBand()
22480 {
22481 return Obj_GetFloat64(ptr, Properties::kWBand);
22482 }
22483
22484 ESPVLControl& kWBand(double value)
22485 {
22486 Obj_SetFloat64(ptr, Properties::kWBand, value);
22487 return *this;
22488 }
22489
22494 double kvarlimit()
22495 {
22496 return Obj_GetFloat64(ptr, Properties::kvarlimit);
22497 }
22498
22499 ESPVLControl& kvarlimit(double value)
22500 {
22501 Obj_SetFloat64(ptr, Properties::kvarlimit, value);
22502 return *this;
22503 }
22504
22510 {
22511 return get_array<strings>(Properties::LocalControlList);
22512 }
22513
22514 ESPVLControl& LocalControlList(strings &value)
22515 {
22516 set_array<strings>(Properties::LocalControlList, value);
22517 return *this;
22518 }
22519
22525 {
22526 return get_array<VectorXd>(Properties::LocalControlWeights);
22527 }
22528
22529 ESPVLControl& LocalControlWeights(VectorXd &value)
22530 {
22531 set_array<VectorXd>(Properties::LocalControlWeights, value);
22532 return *this;
22533 }
22534
22540 {
22541 return get_array<strings>(Properties::PVSystemList);
22542 }
22543
22544 ESPVLControl& PVSystemList(strings &value)
22545 {
22546 set_array<strings>(Properties::PVSystemList, value);
22547 return *this;
22548 }
22549
22555 {
22556 return get_array<VectorXd>(Properties::PVSystemWeights);
22557 }
22558
22559 ESPVLControl& PVSystemWeights(VectorXd &value)
22560 {
22561 set_array<VectorXd>(Properties::PVSystemWeights, value);
22562 return *this;
22563 }
22564
22569 strings StorageList()
22570 {
22571 return get_array<strings>(Properties::StorageList);
22572 }
22573
22574 ESPVLControl& StorageList(strings &value)
22575 {
22576 set_array<strings>(Properties::StorageList, value);
22577 return *this;
22578 }
22579
22585 {
22586 return get_array<VectorXd>(Properties::StorageWeights);
22587 }
22588
22589 ESPVLControl& StorageWeights(VectorXd &value)
22590 {
22591 set_array<VectorXd>(Properties::StorageWeights, value);
22592 return *this;
22593 }
22594
22599 double basefreq()
22600 {
22601 return Obj_GetFloat64(ptr, Properties::basefreq);
22602 }
22603
22604 ESPVLControl& basefreq(double value)
22605 {
22606 Obj_SetFloat64(ptr, Properties::basefreq, value);
22607 return *this;
22608 }
22609
22614 bool enabled()
22615 {
22616 return Obj_GetInt32(ptr, Properties::enabled) != 0;
22617 }
22618
22619 ESPVLControl& enabled(bool value)
22620 {
22621 Obj_SetInt32(ptr, Properties::enabled, value);
22622 return *this;
22623 }
22624
22631 ESPVLControl& like(const string &value)
22632 {
22633 set_string(Properties::like, value);
22634 return *this;
22635 }
22636
22643 ESPVLControl& like(const char *value)
22644 {
22645 set_string(Properties::like, value);
22646 return *this;
22647 }
22648};
22649
22650
22651class IndMach012: public DSSObj
22652{
22653public:
22654 const static char dss_cls_name[];
22655 const static int32_t dss_cls_idx = 38;
22657 {
22658 enum {
22659 phases = 1,
22660 bus1 = 2,
22661 kv = 3,
22662 kW = 4,
22663 pf = 5,
22664 conn = 6,
22665 kVA = 7,
22666 H = 8,
22667 D = 9,
22668 puRs = 10,
22669 puXs = 11,
22670 puRr = 12,
22671 puXr = 13,
22672 puXm = 14,
22673 Slip = 15,
22674 MaxSlip = 16,
22675 SlipOption = 17,
22676 Yearly = 18,
22677 Daily = 19,
22678 Duty = 20,
22679 Debugtrace = 21,
22680 spectrum = 22,
22681 basefreq = 23,
22682 enabled = 24,
22683 like = 25,
22684 };
22685 };
22686
22687 // Class-specific enumerations
22688
22692 enum class IndMach012SlipOption: int32_t
22693 {
22694 VariableSlip = 0,
22695 FixedSlip = 1
22696 };
22697
22698
22699
22703 IndMach012(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
22704 {
22705 }
22706
22710 IndMach012(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
22711 {
22712 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
22713 check_for_error();
22714 if (ptr == nullptr)
22715 {
22716 throw std::runtime_error("Could not find the IndMach012 element by the given index");
22717 }
22718 }
22719
22723 IndMach012(APIUtil *util, char *name): DSSObj(util, nullptr)
22724 {
22725 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
22726 check_for_error();
22727 if (ptr == nullptr)
22728 {
22729 throw std::runtime_error("Could not find the IndMach012 element by the given name");
22730 }
22731 }
22732
22736 const char* name()
22737 {
22738 return Obj_GetName(ptr);
22739 }
22740
22745 {
22746 Obj_BeginEdit(ptr);
22747 return *this;
22748 }
22749
22754 IndMach012& end_edit(int32_t num_edits=1)
22755 {
22756 Obj_EndEdit(ptr, num_edits);
22757 return *this;
22758 }
22759
22764 int32_t phases()
22765 {
22766 return Obj_GetInt32(ptr, Properties::phases);
22767 }
22768
22769 IndMach012& phases(int32_t value)
22770 {
22771 Obj_SetInt32(ptr, Properties::phases, value);
22772 return *this;
22773 }
22774
22779 string bus1()
22780 {
22781 return get_prop_string(Properties::bus1);
22782 }
22783
22784 IndMach012& bus1(const string &value)
22785 {
22786 set_string(Properties::bus1, value);
22787 return *this;
22788 }
22789
22790 IndMach012& bus1(const char* value)
22791 {
22792 set_string(Properties::bus1, value);
22793 return *this;
22794 }
22795
22800 double kv()
22801 {
22802 return Obj_GetFloat64(ptr, Properties::kv);
22803 }
22804
22805 IndMach012& kv(double value)
22806 {
22807 Obj_SetFloat64(ptr, Properties::kv, value);
22808 return *this;
22809 }
22810
22816 double kW()
22817 {
22818 return Obj_GetFloat64(ptr, Properties::kW);
22819 }
22820
22821 IndMach012& kW(double value)
22822 {
22823 Obj_SetFloat64(ptr, Properties::kW, value);
22824 return *this;
22825 }
22826
22831 double pf()
22832 {
22833 return Obj_GetFloat64(ptr, Properties::pf);
22834 }
22835
22836 IndMach012& pf(double value)
22837 {
22838 Obj_SetFloat64(ptr, Properties::pf, value);
22839 return *this;
22840 }
22841
22846 Connection conn()
22847 {
22848 return Connection(Obj_GetInt32(ptr, Properties::conn));
22849 }
22850
22851 IndMach012& conn(int32_t value)
22852 {
22853 Obj_SetInt32(ptr, Properties::conn, value);
22854 return *this;
22855 }
22856
22857 IndMach012& conn(Connection value)
22858 {
22859 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
22860 return *this;
22861 }
22862
22863 IndMach012& conn(const string &value)
22864 {
22865 set_string(Properties::conn, value);
22866 return *this;
22867 }
22868
22869 IndMach012& conn(const char *value)
22870 {
22871 set_string(Properties::conn, value);
22872 return *this;
22873 }
22874
22879 string conn_str()
22880 {
22881 return get_prop_string(Properties::conn);
22882 }
22883
22888 IndMach012& conn_str(const string &value)
22889 {
22890 set_string(Properties::conn, value);
22891 return *this;
22892 }
22893
22898 double kVA()
22899 {
22900 return Obj_GetFloat64(ptr, Properties::kVA);
22901 }
22902
22903 IndMach012& kVA(double value)
22904 {
22905 Obj_SetFloat64(ptr, Properties::kVA, value);
22906 return *this;
22907 }
22908
22913 double H()
22914 {
22915 return Obj_GetFloat64(ptr, Properties::H);
22916 }
22917
22918 IndMach012& H(double value)
22919 {
22920 Obj_SetFloat64(ptr, Properties::H, value);
22921 return *this;
22922 }
22923
22928 double D()
22929 {
22930 return Obj_GetFloat64(ptr, Properties::D);
22931 }
22932
22933 IndMach012& D(double value)
22934 {
22935 Obj_SetFloat64(ptr, Properties::D, value);
22936 return *this;
22937 }
22938
22943 double puRs()
22944 {
22945 return Obj_GetFloat64(ptr, Properties::puRs);
22946 }
22947
22948 IndMach012& puRs(double value)
22949 {
22950 Obj_SetFloat64(ptr, Properties::puRs, value);
22951 return *this;
22952 }
22953
22958 double puXs()
22959 {
22960 return Obj_GetFloat64(ptr, Properties::puXs);
22961 }
22962
22963 IndMach012& puXs(double value)
22964 {
22965 Obj_SetFloat64(ptr, Properties::puXs, value);
22966 return *this;
22967 }
22968
22973 double puRr()
22974 {
22975 return Obj_GetFloat64(ptr, Properties::puRr);
22976 }
22977
22978 IndMach012& puRr(double value)
22979 {
22980 Obj_SetFloat64(ptr, Properties::puRr, value);
22981 return *this;
22982 }
22983
22988 double puXr()
22989 {
22990 return Obj_GetFloat64(ptr, Properties::puXr);
22991 }
22992
22993 IndMach012& puXr(double value)
22994 {
22995 Obj_SetFloat64(ptr, Properties::puXr, value);
22996 return *this;
22997 }
22998
23003 double puXm()
23004 {
23005 return Obj_GetFloat64(ptr, Properties::puXm);
23006 }
23007
23008 IndMach012& puXm(double value)
23009 {
23010 Obj_SetFloat64(ptr, Properties::puXm, value);
23011 return *this;
23012 }
23013
23018 double Slip()
23019 {
23020 return Obj_GetFloat64(ptr, Properties::Slip);
23021 }
23022
23023 IndMach012& Slip(double value)
23024 {
23025 Obj_SetFloat64(ptr, Properties::Slip, value);
23026 return *this;
23027 }
23028
23033 double MaxSlip()
23034 {
23035 return Obj_GetFloat64(ptr, Properties::MaxSlip);
23036 }
23037
23038 IndMach012& MaxSlip(double value)
23039 {
23040 Obj_SetFloat64(ptr, Properties::MaxSlip, value);
23041 return *this;
23042 }
23043
23049 {
23050 return IndMach012SlipOption(Obj_GetInt32(ptr, Properties::SlipOption));
23051 }
23052
23053 IndMach012& SlipOption(int32_t value)
23054 {
23055 Obj_SetInt32(ptr, Properties::SlipOption, value);
23056 return *this;
23057 }
23058
23060 {
23061 Obj_SetInt32(ptr, Properties::SlipOption, int32_t(value));
23062 return *this;
23063 }
23064
23065 IndMach012& SlipOption(const string &value)
23066 {
23067 set_string(Properties::SlipOption, value);
23068 return *this;
23069 }
23070
23071 IndMach012& SlipOption(const char *value)
23072 {
23073 set_string(Properties::SlipOption, value);
23074 return *this;
23075 }
23076
23082 {
23083 return get_prop_string(Properties::SlipOption);
23084 }
23085
23090 IndMach012& SlipOption_str(const string &value)
23091 {
23092 set_string(Properties::SlipOption, value);
23093 return *this;
23094 }
23095
23100 string Yearly()
23101 {
23102 return get_prop_string(Properties::Yearly);
23103 }
23104
23105 IndMach012& Yearly(const string &value)
23106 {
23107 set_string(Properties::Yearly, value);
23108 return *this;
23109 }
23110
23112 {
23113 set_obj(Properties::Yearly, value);
23114 return *this;
23115 }
23116
23122 {
23123 return get_obj<dss::obj::LoadShape>(Properties::Yearly);
23124 }
23125
23127 {
23128 set_obj(Properties::Yearly, value);
23129 return *this;
23130 }
23131
23136 string Daily()
23137 {
23138 return get_prop_string(Properties::Daily);
23139 }
23140
23141 IndMach012& Daily(const string &value)
23142 {
23143 set_string(Properties::Daily, value);
23144 return *this;
23145 }
23146
23148 {
23149 set_obj(Properties::Daily, value);
23150 return *this;
23151 }
23152
23158 {
23159 return get_obj<dss::obj::LoadShape>(Properties::Daily);
23160 }
23161
23163 {
23164 set_obj(Properties::Daily, value);
23165 return *this;
23166 }
23167
23172 string Duty()
23173 {
23174 return get_prop_string(Properties::Duty);
23175 }
23176
23177 IndMach012& Duty(const string &value)
23178 {
23179 set_string(Properties::Duty, value);
23180 return *this;
23181 }
23182
23184 {
23185 set_obj(Properties::Duty, value);
23186 return *this;
23187 }
23188
23194 {
23195 return get_obj<dss::obj::LoadShape>(Properties::Duty);
23196 }
23197
23199 {
23200 set_obj(Properties::Duty, value);
23201 return *this;
23202 }
23203
23209 {
23210 return Obj_GetInt32(ptr, Properties::Debugtrace) != 0;
23211 }
23212
23213 IndMach012& Debugtrace(bool value)
23214 {
23215 Obj_SetInt32(ptr, Properties::Debugtrace, value);
23216 return *this;
23217 }
23218
23223 string spectrum()
23224 {
23225 return get_prop_string(Properties::spectrum);
23226 }
23227
23228 IndMach012& spectrum(const string &value)
23229 {
23230 set_string(Properties::spectrum, value);
23231 return *this;
23232 }
23233
23235 {
23236 set_obj(Properties::spectrum, value);
23237 return *this;
23238 }
23239
23245 {
23246 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
23247 }
23248
23250 {
23251 set_obj(Properties::spectrum, value);
23252 return *this;
23253 }
23254
23259 double basefreq()
23260 {
23261 return Obj_GetFloat64(ptr, Properties::basefreq);
23262 }
23263
23264 IndMach012& basefreq(double value)
23265 {
23266 Obj_SetFloat64(ptr, Properties::basefreq, value);
23267 return *this;
23268 }
23269
23274 bool enabled()
23275 {
23276 return Obj_GetInt32(ptr, Properties::enabled) != 0;
23277 }
23278
23279 IndMach012& enabled(bool value)
23280 {
23281 Obj_SetInt32(ptr, Properties::enabled, value);
23282 return *this;
23283 }
23284
23291 IndMach012& like(const string &value)
23292 {
23293 set_string(Properties::like, value);
23294 return *this;
23295 }
23296
23303 IndMach012& like(const char *value)
23304 {
23305 set_string(Properties::like, value);
23306 return *this;
23307 }
23308};
23309
23310
23311class GICsource: public DSSObj
23312{
23313public:
23314 const static char dss_cls_name[];
23315 const static int32_t dss_cls_idx = 39;
23317 {
23318 enum {
23319 Volts = 1,
23320 angle = 2,
23321 frequency = 3,
23322 phases = 4,
23323 EN = 5,
23324 EE = 6,
23325 Lat1 = 7,
23326 Lon1 = 8,
23327 Lat2 = 9,
23328 Lon2 = 10,
23329 spectrum = 11,
23330 basefreq = 12,
23331 enabled = 13,
23332 like = 14,
23333 };
23334 };
23335
23339 GICsource(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
23340 {
23341 }
23342
23346 GICsource(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
23347 {
23348 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
23349 check_for_error();
23350 if (ptr == nullptr)
23351 {
23352 throw std::runtime_error("Could not find the GICsource element by the given index");
23353 }
23354 }
23355
23359 GICsource(APIUtil *util, char *name): DSSObj(util, nullptr)
23360 {
23361 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
23362 check_for_error();
23363 if (ptr == nullptr)
23364 {
23365 throw std::runtime_error("Could not find the GICsource element by the given name");
23366 }
23367 }
23368
23372 const char* name()
23373 {
23374 return Obj_GetName(ptr);
23375 }
23376
23381 {
23382 Obj_BeginEdit(ptr);
23383 return *this;
23384 }
23385
23390 GICsource& end_edit(int32_t num_edits=1)
23391 {
23392 Obj_EndEdit(ptr, num_edits);
23393 return *this;
23394 }
23395
23408 double Volts()
23409 {
23410 return Obj_GetFloat64(ptr, Properties::Volts);
23411 }
23412
23413 GICsource& Volts(double value)
23414 {
23415 Obj_SetFloat64(ptr, Properties::Volts, value);
23416 return *this;
23417 }
23418
23423 double angle()
23424 {
23425 return Obj_GetFloat64(ptr, Properties::angle);
23426 }
23427
23428 GICsource& angle(double value)
23429 {
23430 Obj_SetFloat64(ptr, Properties::angle, value);
23431 return *this;
23432 }
23433
23438 double frequency()
23439 {
23440 return Obj_GetFloat64(ptr, Properties::frequency);
23441 }
23442
23443 GICsource& frequency(double value)
23444 {
23445 Obj_SetFloat64(ptr, Properties::frequency, value);
23446 return *this;
23447 }
23448
23453 int32_t phases()
23454 {
23455 return Obj_GetInt32(ptr, Properties::phases);
23456 }
23457
23458 GICsource& phases(int32_t value)
23459 {
23460 Obj_SetInt32(ptr, Properties::phases, value);
23461 return *this;
23462 }
23463
23468 double EN()
23469 {
23470 return Obj_GetFloat64(ptr, Properties::EN);
23471 }
23472
23473 GICsource& EN(double value)
23474 {
23475 Obj_SetFloat64(ptr, Properties::EN, value);
23476 return *this;
23477 }
23478
23483 double EE()
23484 {
23485 return Obj_GetFloat64(ptr, Properties::EE);
23486 }
23487
23488 GICsource& EE(double value)
23489 {
23490 Obj_SetFloat64(ptr, Properties::EE, value);
23491 return *this;
23492 }
23493
23498 double Lat1()
23499 {
23500 return Obj_GetFloat64(ptr, Properties::Lat1);
23501 }
23502
23503 GICsource& Lat1(double value)
23504 {
23505 Obj_SetFloat64(ptr, Properties::Lat1, value);
23506 return *this;
23507 }
23508
23513 double Lon1()
23514 {
23515 return Obj_GetFloat64(ptr, Properties::Lon1);
23516 }
23517
23518 GICsource& Lon1(double value)
23519 {
23520 Obj_SetFloat64(ptr, Properties::Lon1, value);
23521 return *this;
23522 }
23523
23528 double Lat2()
23529 {
23530 return Obj_GetFloat64(ptr, Properties::Lat2);
23531 }
23532
23533 GICsource& Lat2(double value)
23534 {
23535 Obj_SetFloat64(ptr, Properties::Lat2, value);
23536 return *this;
23537 }
23538
23543 double Lon2()
23544 {
23545 return Obj_GetFloat64(ptr, Properties::Lon2);
23546 }
23547
23548 GICsource& Lon2(double value)
23549 {
23550 Obj_SetFloat64(ptr, Properties::Lon2, value);
23551 return *this;
23552 }
23553
23558 string spectrum()
23559 {
23560 return get_prop_string(Properties::spectrum);
23561 }
23562
23563 GICsource& spectrum(const string &value)
23564 {
23565 set_string(Properties::spectrum, value);
23566 return *this;
23567 }
23568
23570 {
23571 set_obj(Properties::spectrum, value);
23572 return *this;
23573 }
23574
23580 {
23581 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
23582 }
23583
23585 {
23586 set_obj(Properties::spectrum, value);
23587 return *this;
23588 }
23589
23594 double basefreq()
23595 {
23596 return Obj_GetFloat64(ptr, Properties::basefreq);
23597 }
23598
23599 GICsource& basefreq(double value)
23600 {
23601 Obj_SetFloat64(ptr, Properties::basefreq, value);
23602 return *this;
23603 }
23604
23609 bool enabled()
23610 {
23611 return Obj_GetInt32(ptr, Properties::enabled) != 0;
23612 }
23613
23614 GICsource& enabled(bool value)
23615 {
23616 Obj_SetInt32(ptr, Properties::enabled, value);
23617 return *this;
23618 }
23619
23626 GICsource& like(const string &value)
23627 {
23628 set_string(Properties::like, value);
23629 return *this;
23630 }
23631
23638 GICsource& like(const char *value)
23639 {
23640 set_string(Properties::like, value);
23641 return *this;
23642 }
23643};
23644
23645
23646class AutoTrans: public DSSObj
23647{
23648public:
23649 const static char dss_cls_name[];
23650 const static int32_t dss_cls_idx = 40;
23652 {
23653 enum {
23654 phases = 1,
23655 windings = 2,
23656 wdg = 3,
23657 bus = 4,
23658 conn = 5,
23659 kV = 6,
23660 kVA = 7,
23661 tap = 8,
23662 pctR = 9,
23663 Rdcohms = 10,
23664 Core = 11,
23665 buses = 12,
23666 conns = 13,
23667 kVs = 14,
23668 kVAs = 15,
23669 taps = 16,
23670 XHX = 17,
23671 XHT = 18,
23672 XXT = 19,
23673 XSCarray = 20,
23674 thermal = 21,
23675 n = 22,
23676 m = 23,
23677 flrise = 24,
23678 hsrise = 25,
23679 pctloadloss = 26,
23680 pctnoloadloss = 27,
23681 normhkVA = 28,
23682 emerghkVA = 29,
23683 sub = 30,
23684 MaxTap = 31,
23685 MinTap = 32,
23686 NumTaps = 33,
23687 subname = 34,
23688 pctimag = 35,
23689 ppm_antifloat = 36,
23690 pctRs = 37,
23691 XRConst = 38,
23692 LeadLag = 39,
23693 WdgCurrents = 40,
23694 normamps = 41,
23695 emergamps = 42,
23696 faultrate = 43,
23697 pctperm = 44,
23698 repair = 45,
23699 basefreq = 46,
23700 enabled = 47,
23701 like = 48,
23702 };
23703 };
23704
23705 // Class-specific enumerations
23706
23710 enum class AutoTransConnection: int32_t
23711 {
23712 wye = 0,
23713 delta = 1,
23714 series = 2,
23715 y = 0,
23716 ln = 0,
23717 ll = 1
23718 };
23719
23720
23721
23725 AutoTrans(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
23726 {
23727 }
23728
23732 AutoTrans(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
23733 {
23734 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
23735 check_for_error();
23736 if (ptr == nullptr)
23737 {
23738 throw std::runtime_error("Could not find the AutoTrans element by the given index");
23739 }
23740 }
23741
23745 AutoTrans(APIUtil *util, char *name): DSSObj(util, nullptr)
23746 {
23747 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
23748 check_for_error();
23749 if (ptr == nullptr)
23750 {
23751 throw std::runtime_error("Could not find the AutoTrans element by the given name");
23752 }
23753 }
23754
23758 const char* name()
23759 {
23760 return Obj_GetName(ptr);
23761 }
23762
23767 {
23768 Obj_BeginEdit(ptr);
23769 return *this;
23770 }
23771
23776 AutoTrans& end_edit(int32_t num_edits=1)
23777 {
23778 Obj_EndEdit(ptr, num_edits);
23779 return *this;
23780 }
23781
23786 int32_t phases()
23787 {
23788 return Obj_GetInt32(ptr, Properties::phases);
23789 }
23790
23791 AutoTrans& phases(int32_t value)
23792 {
23793 Obj_SetInt32(ptr, Properties::phases, value);
23794 return *this;
23795 }
23796
23801 int32_t windings()
23802 {
23803 return Obj_GetInt32(ptr, Properties::windings);
23804 }
23805
23806 AutoTrans& windings(int32_t value)
23807 {
23808 Obj_SetInt32(ptr, Properties::windings, value);
23809 return *this;
23810 }
23811
23816 int32_t wdg()
23817 {
23818 return Obj_GetInt32(ptr, Properties::wdg);
23819 }
23820
23821 AutoTrans& wdg(int32_t value)
23822 {
23823 Obj_SetInt32(ptr, Properties::wdg, value);
23824 return *this;
23825 }
23826
23831 strings bus()
23832 {
23833 return get_array<strings>(Properties::bus);
23834 }
23835
23836 AutoTrans& bus(strings &value)
23837 {
23838 set_array<strings>(Properties::bus, value);
23839 return *this;
23840 }
23841
23848 std::vector<AutoTransConnection> conn()
23849 {
23850 return get_array<std::vector<AutoTransConnection>>(Properties::conn);
23851 }
23852
23853 AutoTrans& conn(std::vector<int32_t> &value)
23854 {
23855 set_array<std::vector<int32_t>>(Properties::conn, value);
23856 return *this;
23857 }
23858
23859 AutoTrans& conn(strings &value)
23860 {
23861 set_array<strings>(Properties::conn, value);
23862 return *this;
23863 }
23864
23871 strings conn_str()
23872 {
23873 return get_array<strings>(Properties::conn);
23874 }
23875
23876 AutoTrans& conn_str(strings &value)
23877 {
23878 conn(value);
23879 return *this;
23880 }
23881
23886 VectorXd kV()
23887 {
23888 return get_array<VectorXd>(Properties::kV);
23889 }
23890
23891 AutoTrans& kV(VectorXd &value)
23892 {
23893 set_array<VectorXd>(Properties::kV, value);
23894 return *this;
23895 }
23896
23901 VectorXd kVA()
23902 {
23903 return get_array<VectorXd>(Properties::kVA);
23904 }
23905
23906 AutoTrans& kVA(VectorXd &value)
23907 {
23908 set_array<VectorXd>(Properties::kVA, value);
23909 return *this;
23910 }
23911
23916 VectorXd tap()
23917 {
23918 return get_array<VectorXd>(Properties::tap);
23919 }
23920
23921 AutoTrans& tap(VectorXd &value)
23922 {
23923 set_array<VectorXd>(Properties::tap, value);
23924 return *this;
23925 }
23926
23931 VectorXd pctR()
23932 {
23933 return get_array<VectorXd>(Properties::pctR);
23934 }
23935
23936 AutoTrans& pctR(VectorXd &value)
23937 {
23938 set_array<VectorXd>(Properties::pctR, value);
23939 return *this;
23940 }
23941
23946 VectorXd Rdcohms()
23947 {
23948 return get_array<VectorXd>(Properties::Rdcohms);
23949 }
23950
23951 AutoTrans& Rdcohms(VectorXd &value)
23952 {
23953 set_array<VectorXd>(Properties::Rdcohms, value);
23954 return *this;
23955 }
23956
23961 CoreType Core()
23962 {
23963 return CoreType(Obj_GetInt32(ptr, Properties::Core));
23964 }
23965
23966 AutoTrans& Core(int32_t value)
23967 {
23968 Obj_SetInt32(ptr, Properties::Core, value);
23969 return *this;
23970 }
23971
23972 AutoTrans& Core(CoreType value)
23973 {
23974 Obj_SetInt32(ptr, Properties::Core, int32_t(value));
23975 return *this;
23976 }
23977
23978 AutoTrans& Core(const string &value)
23979 {
23980 set_string(Properties::Core, value);
23981 return *this;
23982 }
23983
23984 AutoTrans& Core(const char *value)
23985 {
23986 set_string(Properties::Core, value);
23987 return *this;
23988 }
23989
23994 string Core_str()
23995 {
23996 return get_prop_string(Properties::Core);
23997 }
23998
24003 AutoTrans& Core_str(const string &value)
24004 {
24005 set_string(Properties::Core, value);
24006 return *this;
24007 }
24008
24015 strings buses()
24016 {
24017 return get_array<strings>(Properties::buses);
24018 }
24019
24020 AutoTrans& buses(strings &value)
24021 {
24022 set_array<strings>(Properties::buses, value);
24023 return *this;
24024 }
24025
24032 std::vector<AutoTransConnection> conns()
24033 {
24034 return get_array<std::vector<AutoTransConnection>>(Properties::conns);
24035 }
24036
24037 AutoTrans& conns(std::vector<int32_t> &value)
24038 {
24039 set_array<std::vector<int32_t>>(Properties::conns, value);
24040 return *this;
24041 }
24042
24043 AutoTrans& conns(strings &value)
24044 {
24045 set_array<strings>(Properties::conns, value);
24046 return *this;
24047 }
24048
24055 strings conns_str()
24056 {
24057 return get_array<strings>(Properties::conns);
24058 }
24059
24060 AutoTrans& conns_str(strings &value)
24061 {
24062 conns(value);
24063 return *this;
24064 }
24065
24076 VectorXd kVs()
24077 {
24078 return get_array<VectorXd>(Properties::kVs);
24079 }
24080
24081 AutoTrans& kVs(VectorXd &value)
24082 {
24083 set_array<VectorXd>(Properties::kVs, value);
24084 return *this;
24085 }
24086
24091 VectorXd kVAs()
24092 {
24093 return get_array<VectorXd>(Properties::kVAs);
24094 }
24095
24096 AutoTrans& kVAs(VectorXd &value)
24097 {
24098 set_array<VectorXd>(Properties::kVAs, value);
24099 return *this;
24100 }
24101
24106 VectorXd taps()
24107 {
24108 return get_array<VectorXd>(Properties::taps);
24109 }
24110
24111 AutoTrans& taps(VectorXd &value)
24112 {
24113 set_array<VectorXd>(Properties::taps, value);
24114 return *this;
24115 }
24116
24121 double XHX()
24122 {
24123 return Obj_GetFloat64(ptr, Properties::XHX);
24124 }
24125
24126 AutoTrans& XHX(double value)
24127 {
24128 Obj_SetFloat64(ptr, Properties::XHX, value);
24129 return *this;
24130 }
24131
24136 double XHT()
24137 {
24138 return Obj_GetFloat64(ptr, Properties::XHT);
24139 }
24140
24141 AutoTrans& XHT(double value)
24142 {
24143 Obj_SetFloat64(ptr, Properties::XHT, value);
24144 return *this;
24145 }
24146
24151 double XXT()
24152 {
24153 return Obj_GetFloat64(ptr, Properties::XXT);
24154 }
24155
24156 AutoTrans& XXT(double value)
24157 {
24158 Obj_SetFloat64(ptr, Properties::XXT, value);
24159 return *this;
24160 }
24161
24170 VectorXd XSCarray()
24171 {
24172 return get_array<VectorXd>(Properties::XSCarray);
24173 }
24174
24175 AutoTrans& XSCarray(VectorXd &value)
24176 {
24177 set_array<VectorXd>(Properties::XSCarray, value);
24178 return *this;
24179 }
24180
24185 double thermal()
24186 {
24187 return Obj_GetFloat64(ptr, Properties::thermal);
24188 }
24189
24190 AutoTrans& thermal(double value)
24191 {
24192 Obj_SetFloat64(ptr, Properties::thermal, value);
24193 return *this;
24194 }
24195
24200 double n()
24201 {
24202 return Obj_GetFloat64(ptr, Properties::n);
24203 }
24204
24205 AutoTrans& n(double value)
24206 {
24207 Obj_SetFloat64(ptr, Properties::n, value);
24208 return *this;
24209 }
24210
24215 double m()
24216 {
24217 return Obj_GetFloat64(ptr, Properties::m);
24218 }
24219
24220 AutoTrans& m(double value)
24221 {
24222 Obj_SetFloat64(ptr, Properties::m, value);
24223 return *this;
24224 }
24225
24230 double flrise()
24231 {
24232 return Obj_GetFloat64(ptr, Properties::flrise);
24233 }
24234
24235 AutoTrans& flrise(double value)
24236 {
24237 Obj_SetFloat64(ptr, Properties::flrise, value);
24238 return *this;
24239 }
24240
24245 double hsrise()
24246 {
24247 return Obj_GetFloat64(ptr, Properties::hsrise);
24248 }
24249
24250 AutoTrans& hsrise(double value)
24251 {
24252 Obj_SetFloat64(ptr, Properties::hsrise, value);
24253 return *this;
24254 }
24255
24261 {
24262 return Obj_GetFloat64(ptr, Properties::pctloadloss);
24263 }
24264
24265 AutoTrans& pctloadloss(double value)
24266 {
24267 Obj_SetFloat64(ptr, Properties::pctloadloss, value);
24268 return *this;
24269 }
24270
24276 {
24277 return Obj_GetFloat64(ptr, Properties::pctnoloadloss);
24278 }
24279
24280 AutoTrans& pctnoloadloss(double value)
24281 {
24282 Obj_SetFloat64(ptr, Properties::pctnoloadloss, value);
24283 return *this;
24284 }
24285
24290 double normhkVA()
24291 {
24292 return Obj_GetFloat64(ptr, Properties::normhkVA);
24293 }
24294
24295 AutoTrans& normhkVA(double value)
24296 {
24297 Obj_SetFloat64(ptr, Properties::normhkVA, value);
24298 return *this;
24299 }
24300
24305 double emerghkVA()
24306 {
24307 return Obj_GetFloat64(ptr, Properties::emerghkVA);
24308 }
24309
24310 AutoTrans& emerghkVA(double value)
24311 {
24312 Obj_SetFloat64(ptr, Properties::emerghkVA, value);
24313 return *this;
24314 }
24315
24320 bool sub()
24321 {
24322 return Obj_GetInt32(ptr, Properties::sub) != 0;
24323 }
24324
24325 AutoTrans& sub(bool value)
24326 {
24327 Obj_SetInt32(ptr, Properties::sub, value);
24328 return *this;
24329 }
24330
24335 VectorXd MaxTap()
24336 {
24337 return get_array<VectorXd>(Properties::MaxTap);
24338 }
24339
24340 AutoTrans& MaxTap(VectorXd &value)
24341 {
24342 set_array<VectorXd>(Properties::MaxTap, value);
24343 return *this;
24344 }
24345
24350 VectorXd MinTap()
24351 {
24352 return get_array<VectorXd>(Properties::MinTap);
24353 }
24354
24355 AutoTrans& MinTap(VectorXd &value)
24356 {
24357 set_array<VectorXd>(Properties::MinTap, value);
24358 return *this;
24359 }
24360
24365 VectorXi NumTaps()
24366 {
24367 return get_array<VectorXi>(Properties::NumTaps);
24368 }
24369
24370 AutoTrans& NumTaps(VectorXi &value)
24371 {
24372 set_array<VectorXi>(Properties::NumTaps, value);
24373 return *this;
24374 }
24375
24380 string subname()
24381 {
24382 return get_prop_string(Properties::subname);
24383 }
24384
24385 AutoTrans& subname(const string &value)
24386 {
24387 set_string(Properties::subname, value);
24388 return *this;
24389 }
24390
24391 AutoTrans& subname(const char* value)
24392 {
24393 set_string(Properties::subname, value);
24394 return *this;
24395 }
24396
24401 double pctimag()
24402 {
24403 return Obj_GetFloat64(ptr, Properties::pctimag);
24404 }
24405
24406 AutoTrans& pctimag(double value)
24407 {
24408 Obj_SetFloat64(ptr, Properties::pctimag, value);
24409 return *this;
24410 }
24411
24417 {
24418 return Obj_GetFloat64(ptr, Properties::ppm_antifloat);
24419 }
24420
24421 AutoTrans& ppm_antifloat(double value)
24422 {
24423 Obj_SetFloat64(ptr, Properties::ppm_antifloat, value);
24424 return *this;
24425 }
24426
24433 VectorXd pctRs()
24434 {
24435 return get_array<VectorXd>(Properties::pctRs);
24436 }
24437
24438 AutoTrans& pctRs(VectorXd &value)
24439 {
24440 set_array<VectorXd>(Properties::pctRs, value);
24441 return *this;
24442 }
24443
24448 bool XRConst()
24449 {
24450 return Obj_GetInt32(ptr, Properties::XRConst) != 0;
24451 }
24452
24453 AutoTrans& XRConst(bool value)
24454 {
24455 Obj_SetInt32(ptr, Properties::XRConst, value);
24456 return *this;
24457 }
24458
24463 PhaseSequence LeadLag()
24464 {
24465 return PhaseSequence(Obj_GetInt32(ptr, Properties::LeadLag));
24466 }
24467
24468 AutoTrans& LeadLag(int32_t value)
24469 {
24470 Obj_SetInt32(ptr, Properties::LeadLag, value);
24471 return *this;
24472 }
24473
24474 AutoTrans& LeadLag(PhaseSequence value)
24475 {
24476 Obj_SetInt32(ptr, Properties::LeadLag, int32_t(value));
24477 return *this;
24478 }
24479
24480 AutoTrans& LeadLag(const string &value)
24481 {
24482 set_string(Properties::LeadLag, value);
24483 return *this;
24484 }
24485
24486 AutoTrans& LeadLag(const char *value)
24487 {
24488 set_string(Properties::LeadLag, value);
24489 return *this;
24490 }
24491
24497 {
24498 return get_prop_string(Properties::LeadLag);
24499 }
24500
24505 AutoTrans& LeadLag_str(const string &value)
24506 {
24507 set_string(Properties::LeadLag, value);
24508 return *this;
24509 }
24510
24516 {
24517 // []
24518 // StringSilentROFunction
24519 return get_prop_string(Properties::WdgCurrents);
24520 }
24521
24526 double normamps()
24527 {
24528 return Obj_GetFloat64(ptr, Properties::normamps);
24529 }
24530
24531 AutoTrans& normamps(double value)
24532 {
24533 Obj_SetFloat64(ptr, Properties::normamps, value);
24534 return *this;
24535 }
24536
24541 double emergamps()
24542 {
24543 return Obj_GetFloat64(ptr, Properties::emergamps);
24544 }
24545
24546 AutoTrans& emergamps(double value)
24547 {
24548 Obj_SetFloat64(ptr, Properties::emergamps, value);
24549 return *this;
24550 }
24551
24556 double faultrate()
24557 {
24558 return Obj_GetFloat64(ptr, Properties::faultrate);
24559 }
24560
24561 AutoTrans& faultrate(double value)
24562 {
24563 Obj_SetFloat64(ptr, Properties::faultrate, value);
24564 return *this;
24565 }
24566
24571 double pctperm()
24572 {
24573 return Obj_GetFloat64(ptr, Properties::pctperm);
24574 }
24575
24576 AutoTrans& pctperm(double value)
24577 {
24578 Obj_SetFloat64(ptr, Properties::pctperm, value);
24579 return *this;
24580 }
24581
24586 double repair()
24587 {
24588 return Obj_GetFloat64(ptr, Properties::repair);
24589 }
24590
24591 AutoTrans& repair(double value)
24592 {
24593 Obj_SetFloat64(ptr, Properties::repair, value);
24594 return *this;
24595 }
24596
24601 double basefreq()
24602 {
24603 return Obj_GetFloat64(ptr, Properties::basefreq);
24604 }
24605
24606 AutoTrans& basefreq(double value)
24607 {
24608 Obj_SetFloat64(ptr, Properties::basefreq, value);
24609 return *this;
24610 }
24611
24616 bool enabled()
24617 {
24618 return Obj_GetInt32(ptr, Properties::enabled) != 0;
24619 }
24620
24621 AutoTrans& enabled(bool value)
24622 {
24623 Obj_SetInt32(ptr, Properties::enabled, value);
24624 return *this;
24625 }
24626
24633 AutoTrans& like(const string &value)
24634 {
24635 set_string(Properties::like, value);
24636 return *this;
24637 }
24638
24645 AutoTrans& like(const char *value)
24646 {
24647 set_string(Properties::like, value);
24648 return *this;
24649 }
24650};
24651
24652
24653class RegControl: public DSSObj
24654{
24655public:
24656 const static char dss_cls_name[];
24657 const static int32_t dss_cls_idx = 21;
24659 {
24660 enum {
24661 transformer = 1,
24662 winding = 2,
24663 vreg = 3,
24664 band = 4,
24665 ptratio = 5,
24666 CTprim = 6,
24667 R = 7,
24668 X = 8,
24669 bus = 9,
24670 delay = 10,
24671 reversible = 11,
24672 revvreg = 12,
24673 revband = 13,
24674 revR = 14,
24675 revX = 15,
24676 tapdelay = 16,
24677 debugtrace = 17,
24678 maxtapchange = 18,
24679 inversetime = 19,
24680 tapwinding = 20,
24681 vlimit = 21,
24682 PTphase = 22,
24683 revThreshold = 23,
24684 revDelay = 24,
24685 revNeutral = 25,
24686 EventLog = 26,
24687 RemotePTRatio = 27,
24688 TapNum = 28,
24689 Reset = 29,
24690 LDC_Z = 30,
24691 rev_Z = 31,
24692 Cogen = 32,
24693 basefreq = 33,
24694 enabled = 34,
24695 like = 35,
24696 };
24697 };
24698
24699 // Class-specific enumerations
24700
24704 enum class RegControlPhaseSelection: int32_t
24705 {
24706 min = -3,
24707 max = -2
24708 };
24709
24710
24711
24715 RegControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
24716 {
24717 }
24718
24722 RegControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
24723 {
24724 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
24725 check_for_error();
24726 if (ptr == nullptr)
24727 {
24728 throw std::runtime_error("Could not find the RegControl element by the given index");
24729 }
24730 }
24731
24735 RegControl(APIUtil *util, char *name): DSSObj(util, nullptr)
24736 {
24737 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
24738 check_for_error();
24739 if (ptr == nullptr)
24740 {
24741 throw std::runtime_error("Could not find the RegControl element by the given name");
24742 }
24743 }
24744
24748 const char* name()
24749 {
24750 return Obj_GetName(ptr);
24751 }
24752
24757 {
24758 Obj_BeginEdit(ptr);
24759 return *this;
24760 }
24761
24766 RegControl& end_edit(int32_t num_edits=1)
24767 {
24768 Obj_EndEdit(ptr, num_edits);
24769 return *this;
24770 }
24771
24779 {
24780 return get_prop_string(Properties::transformer);
24781 }
24782
24783 RegControl& transformer(const string &value)
24784 {
24785 set_string(Properties::transformer, value);
24786 return *this;
24787 }
24788
24790 {
24791 set_obj(Properties::transformer, value);
24792 return *this;
24793 }
24794
24802 {
24803 return get_obj<dss::obj::DSSObj>(Properties::transformer);
24804 }
24805
24807 {
24808 set_obj(Properties::transformer, value);
24809 return *this;
24810 }
24811
24816 int32_t winding()
24817 {
24818 return Obj_GetInt32(ptr, Properties::winding);
24819 }
24820
24821 RegControl& winding(int32_t value)
24822 {
24823 Obj_SetInt32(ptr, Properties::winding, value);
24824 return *this;
24825 }
24826
24831 double vreg()
24832 {
24833 return Obj_GetFloat64(ptr, Properties::vreg);
24834 }
24835
24836 RegControl& vreg(double value)
24837 {
24838 Obj_SetFloat64(ptr, Properties::vreg, value);
24839 return *this;
24840 }
24841
24846 double band()
24847 {
24848 return Obj_GetFloat64(ptr, Properties::band);
24849 }
24850
24851 RegControl& band(double value)
24852 {
24853 Obj_SetFloat64(ptr, Properties::band, value);
24854 return *this;
24855 }
24856
24861 double ptratio()
24862 {
24863 return Obj_GetFloat64(ptr, Properties::ptratio);
24864 }
24865
24866 RegControl& ptratio(double value)
24867 {
24868 Obj_SetFloat64(ptr, Properties::ptratio, value);
24869 return *this;
24870 }
24871
24876 double CTprim()
24877 {
24878 return Obj_GetFloat64(ptr, Properties::CTprim);
24879 }
24880
24881 RegControl& CTprim(double value)
24882 {
24883 Obj_SetFloat64(ptr, Properties::CTprim, value);
24884 return *this;
24885 }
24886
24891 double R()
24892 {
24893 return Obj_GetFloat64(ptr, Properties::R);
24894 }
24895
24896 RegControl& R(double value)
24897 {
24898 Obj_SetFloat64(ptr, Properties::R, value);
24899 return *this;
24900 }
24901
24906 double X()
24907 {
24908 return Obj_GetFloat64(ptr, Properties::X);
24909 }
24910
24911 RegControl& X(double value)
24912 {
24913 Obj_SetFloat64(ptr, Properties::X, value);
24914 return *this;
24915 }
24916
24921 string bus()
24922 {
24923 return get_prop_string(Properties::bus);
24924 }
24925
24926 RegControl& bus(const string &value)
24927 {
24928 set_string(Properties::bus, value);
24929 return *this;
24930 }
24931
24932 RegControl& bus(const char* value)
24933 {
24934 set_string(Properties::bus, value);
24935 return *this;
24936 }
24937
24942 double delay()
24943 {
24944 return Obj_GetFloat64(ptr, Properties::delay);
24945 }
24946
24947 RegControl& delay(double value)
24948 {
24949 Obj_SetFloat64(ptr, Properties::delay, value);
24950 return *this;
24951 }
24952
24958 {
24959 return Obj_GetInt32(ptr, Properties::reversible) != 0;
24960 }
24961
24962 RegControl& reversible(bool value)
24963 {
24964 Obj_SetInt32(ptr, Properties::reversible, value);
24965 return *this;
24966 }
24967
24972 double revvreg()
24973 {
24974 return Obj_GetFloat64(ptr, Properties::revvreg);
24975 }
24976
24977 RegControl& revvreg(double value)
24978 {
24979 Obj_SetFloat64(ptr, Properties::revvreg, value);
24980 return *this;
24981 }
24982
24987 double revband()
24988 {
24989 return Obj_GetFloat64(ptr, Properties::revband);
24990 }
24991
24992 RegControl& revband(double value)
24993 {
24994 Obj_SetFloat64(ptr, Properties::revband, value);
24995 return *this;
24996 }
24997
25002 double revR()
25003 {
25004 return Obj_GetFloat64(ptr, Properties::revR);
25005 }
25006
25007 RegControl& revR(double value)
25008 {
25009 Obj_SetFloat64(ptr, Properties::revR, value);
25010 return *this;
25011 }
25012
25017 double revX()
25018 {
25019 return Obj_GetFloat64(ptr, Properties::revX);
25020 }
25021
25022 RegControl& revX(double value)
25023 {
25024 Obj_SetFloat64(ptr, Properties::revX, value);
25025 return *this;
25026 }
25027
25032 double tapdelay()
25033 {
25034 return Obj_GetFloat64(ptr, Properties::tapdelay);
25035 }
25036
25037 RegControl& tapdelay(double value)
25038 {
25039 Obj_SetFloat64(ptr, Properties::tapdelay, value);
25040 return *this;
25041 }
25042
25048 {
25049 return Obj_GetInt32(ptr, Properties::debugtrace) != 0;
25050 }
25051
25052 RegControl& debugtrace(bool value)
25053 {
25054 Obj_SetInt32(ptr, Properties::debugtrace, value);
25055 return *this;
25056 }
25057
25067 {
25068 return Obj_GetInt32(ptr, Properties::maxtapchange);
25069 }
25070
25071 RegControl& maxtapchange(int32_t value)
25072 {
25073 Obj_SetInt32(ptr, Properties::maxtapchange, value);
25074 return *this;
25075 }
25076
25082 {
25083 return Obj_GetInt32(ptr, Properties::inversetime) != 0;
25084 }
25085
25086 RegControl& inversetime(bool value)
25087 {
25088 Obj_SetInt32(ptr, Properties::inversetime, value);
25089 return *this;
25090 }
25091
25096 int32_t tapwinding()
25097 {
25098 return Obj_GetInt32(ptr, Properties::tapwinding);
25099 }
25100
25101 RegControl& tapwinding(int32_t value)
25102 {
25103 Obj_SetInt32(ptr, Properties::tapwinding, value);
25104 return *this;
25105 }
25106
25111 double vlimit()
25112 {
25113 return Obj_GetFloat64(ptr, Properties::vlimit);
25114 }
25115
25116 RegControl& vlimit(double value)
25117 {
25118 Obj_SetFloat64(ptr, Properties::vlimit, value);
25119 return *this;
25120 }
25121
25126 int32_t PTphase()
25127 {
25128 return Obj_GetInt32(ptr, Properties::PTphase);
25129 }
25130
25131 RegControl& PTphase(int32_t value)
25132 {
25133 Obj_SetInt32(ptr, Properties::PTphase, value);
25134 return *this;
25135 }
25136
25138 {
25139 Obj_SetInt32(ptr, Properties::PTphase, int32_t(value));
25140 return *this;
25141 }
25142
25143 RegControl& PTphase(const string &value)
25144 {
25145 set_string(Properties::PTphase, value);
25146 return *this;
25147 }
25148
25149 RegControl& PTphase(const char *value)
25150 {
25151 set_string(Properties::PTphase, value);
25152 return *this;
25153 }
25154
25160 {
25161 return get_prop_string(Properties::PTphase);
25162 }
25163
25168 RegControl& PTphase_str(const string &value)
25169 {
25170 set_string(Properties::PTphase, value);
25171 return *this;
25172 }
25173
25179 {
25180 return Obj_GetFloat64(ptr, Properties::revThreshold);
25181 }
25182
25183 RegControl& revThreshold(double value)
25184 {
25185 Obj_SetFloat64(ptr, Properties::revThreshold, value);
25186 return *this;
25187 }
25188
25193 double revDelay()
25194 {
25195 return Obj_GetFloat64(ptr, Properties::revDelay);
25196 }
25197
25198 RegControl& revDelay(double value)
25199 {
25200 Obj_SetFloat64(ptr, Properties::revDelay, value);
25201 return *this;
25202 }
25203
25209 {
25210 return Obj_GetInt32(ptr, Properties::revNeutral) != 0;
25211 }
25212
25213 RegControl& revNeutral(bool value)
25214 {
25215 Obj_SetInt32(ptr, Properties::revNeutral, value);
25216 return *this;
25217 }
25218
25224 {
25225 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
25226 }
25227
25228 RegControl& EventLog(bool value)
25229 {
25230 Obj_SetInt32(ptr, Properties::EventLog, value);
25231 return *this;
25232 }
25233
25239 {
25240 return Obj_GetFloat64(ptr, Properties::RemotePTRatio);
25241 }
25242
25243 RegControl& RemotePTRatio(double value)
25244 {
25245 Obj_SetFloat64(ptr, Properties::RemotePTRatio, value);
25246 return *this;
25247 }
25248
25253 int32_t TapNum()
25254 {
25255 return Obj_GetInt32(ptr, Properties::TapNum);
25256 }
25257
25258 RegControl& TapNum(int32_t value)
25259 {
25260 Obj_SetInt32(ptr, Properties::TapNum, value);
25261 return *this;
25262 }
25263
25268 RegControl& Reset(bool value)
25269 {
25270 Obj_SetInt32(ptr, Properties::Reset, value);
25271 return *this;
25272 }
25273
25278 double LDC_Z()
25279 {
25280 return Obj_GetFloat64(ptr, Properties::LDC_Z);
25281 }
25282
25283 RegControl& LDC_Z(double value)
25284 {
25285 Obj_SetFloat64(ptr, Properties::LDC_Z, value);
25286 return *this;
25287 }
25288
25293 double rev_Z()
25294 {
25295 return Obj_GetFloat64(ptr, Properties::rev_Z);
25296 }
25297
25298 RegControl& rev_Z(double value)
25299 {
25300 Obj_SetFloat64(ptr, Properties::rev_Z, value);
25301 return *this;
25302 }
25303
25308 bool Cogen()
25309 {
25310 return Obj_GetInt32(ptr, Properties::Cogen) != 0;
25311 }
25312
25313 RegControl& Cogen(bool value)
25314 {
25315 Obj_SetInt32(ptr, Properties::Cogen, value);
25316 return *this;
25317 }
25318
25323 double basefreq()
25324 {
25325 return Obj_GetFloat64(ptr, Properties::basefreq);
25326 }
25327
25328 RegControl& basefreq(double value)
25329 {
25330 Obj_SetFloat64(ptr, Properties::basefreq, value);
25331 return *this;
25332 }
25333
25338 bool enabled()
25339 {
25340 return Obj_GetInt32(ptr, Properties::enabled) != 0;
25341 }
25342
25343 RegControl& enabled(bool value)
25344 {
25345 Obj_SetInt32(ptr, Properties::enabled, value);
25346 return *this;
25347 }
25348
25355 RegControl& like(const string &value)
25356 {
25357 set_string(Properties::like, value);
25358 return *this;
25359 }
25360
25367 RegControl& like(const char *value)
25368 {
25369 set_string(Properties::like, value);
25370 return *this;
25371 }
25372};
25373
25374
25375class InvControl: public DSSObj
25376{
25377public:
25378 const static char dss_cls_name[];
25379 const static int32_t dss_cls_idx = 41;
25381 {
25382 enum {
25383 DERList = 1,
25384 Mode = 2,
25385 CombiMode = 3,
25386 vvc_curve1 = 4,
25387 hysteresis_offset = 5,
25388 voltage_curvex_ref = 6,
25389 avgwindowlen = 7,
25390 voltwatt_curve = 8,
25391 DbVMin = 9,
25392 DbVMax = 10,
25393 ArGraLowV = 11,
25394 ArGraHiV = 12,
25395 DynReacavgwindowlen = 13,
25396 deltaQ_Factor = 14,
25397 VoltageChangeTolerance = 15,
25398 VarChangeTolerance = 16,
25399 VoltwattYAxis = 17,
25400 RateofChangeMode = 18,
25401 LPFTau = 19,
25402 RiseFallLimit = 20,
25403 deltaP_Factor = 21,
25404 EventLog = 22,
25405 RefReactivePower = 23,
25406 ActivePChangeTolerance = 24,
25407 monVoltageCalc = 25,
25408 monBus = 26,
25409 MonBusesVbase = 27,
25410 voltwattCH_curve = 28,
25411 wattpf_curve = 29,
25412 wattvar_curve = 30,
25413 PVSystemList = 31,
25414 Vsetpoint = 32,
25415 basefreq = 33,
25416 enabled = 34,
25417 like = 35,
25418 };
25419 };
25420
25421 // Class-specific enumerations
25422
25426 enum class InvControlControlMode: int32_t
25427 {
25428 Voltvar = 1,
25429 VoltWatt = 2,
25430 DynamicReaccurr = 3,
25431 WattPF = 4,
25432 Wattvar = 5,
25433 AVR = 6
25434 };
25435
25436
25440 enum class InvControlCombiMode: int32_t
25441 {
25442 VV_VW = 1,
25443 VV_DRC = 2
25444 };
25445
25446
25450 enum class InvControlVoltageCurveXRef: int32_t
25451 {
25452 Rated = 0,
25453 Avg = 1,
25454 RAvg = 2
25455 };
25456
25457
25461 enum class InvControlVoltWattYAxis: int32_t
25462 {
25463 PAvailablePU = 0,
25464 PMPPPU = 1,
25465 PctPMPPPU = 2,
25466 KVARatingPU = 3
25467 };
25468
25469
25473 enum class InvControlRateOfChangeMode: int32_t
25474 {
25475 Inactive = 0,
25476 LPF = 1,
25477 RiseFall = 2
25478 };
25479
25480
25485 {
25486 VARAVAL = 0,
25487 VARMAX = 1
25488 };
25489
25490
25491
25495 InvControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
25496 {
25497 }
25498
25502 InvControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
25503 {
25504 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
25505 check_for_error();
25506 if (ptr == nullptr)
25507 {
25508 throw std::runtime_error("Could not find the InvControl element by the given index");
25509 }
25510 }
25511
25515 InvControl(APIUtil *util, char *name): DSSObj(util, nullptr)
25516 {
25517 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
25518 check_for_error();
25519 if (ptr == nullptr)
25520 {
25521 throw std::runtime_error("Could not find the InvControl element by the given name");
25522 }
25523 }
25524
25528 const char* name()
25529 {
25530 return Obj_GetName(ptr);
25531 }
25532
25537 {
25538 Obj_BeginEdit(ptr);
25539 return *this;
25540 }
25541
25546 InvControl& end_edit(int32_t num_edits=1)
25547 {
25548 Obj_EndEdit(ptr, num_edits);
25549 return *this;
25550 }
25551
25558 strings DERList()
25559 {
25560 return get_array<strings>(Properties::DERList);
25561 }
25562
25563 InvControl& DERList(strings &value)
25564 {
25565 set_array<strings>(Properties::DERList, value);
25566 return *this;
25567 }
25568
25587 {
25588 return InvControlControlMode(Obj_GetInt32(ptr, Properties::Mode));
25589 }
25590
25591 InvControl& Mode(int32_t value)
25592 {
25593 Obj_SetInt32(ptr, Properties::Mode, value);
25594 return *this;
25595 }
25596
25598 {
25599 Obj_SetInt32(ptr, Properties::Mode, int32_t(value));
25600 return *this;
25601 }
25602
25603 InvControl& Mode(const string &value)
25604 {
25605 set_string(Properties::Mode, value);
25606 return *this;
25607 }
25608
25609 InvControl& Mode(const char *value)
25610 {
25611 set_string(Properties::Mode, value);
25612 return *this;
25613 }
25614
25632 string Mode_str()
25633 {
25634 return get_prop_string(Properties::Mode);
25635 }
25636
25654 InvControl& Mode_str(const string &value)
25655 {
25656 set_string(Properties::Mode, value);
25657 return *this;
25658 }
25659
25672 {
25673 return InvControlCombiMode(Obj_GetInt32(ptr, Properties::CombiMode));
25674 }
25675
25676 InvControl& CombiMode(int32_t value)
25677 {
25678 Obj_SetInt32(ptr, Properties::CombiMode, value);
25679 return *this;
25680 }
25681
25683 {
25684 Obj_SetInt32(ptr, Properties::CombiMode, int32_t(value));
25685 return *this;
25686 }
25687
25688 InvControl& CombiMode(const string &value)
25689 {
25690 set_string(Properties::CombiMode, value);
25691 return *this;
25692 }
25693
25694 InvControl& CombiMode(const char *value)
25695 {
25696 set_string(Properties::CombiMode, value);
25697 return *this;
25698 }
25699
25712 {
25713 return get_prop_string(Properties::CombiMode);
25714 }
25715
25727 InvControl& CombiMode_str(const string &value)
25728 {
25729 set_string(Properties::CombiMode, value);
25730 return *this;
25731 }
25732
25742 string vvc_curve1()
25743 {
25744 return get_prop_string(Properties::vvc_curve1);
25745 }
25746
25747 InvControl& vvc_curve1(const string &value)
25748 {
25749 set_string(Properties::vvc_curve1, value);
25750 return *this;
25751 }
25752
25754 {
25755 set_obj(Properties::vvc_curve1, value);
25756 return *this;
25757 }
25758
25769 {
25770 return get_obj<dss::obj::XYcurve>(Properties::vvc_curve1);
25771 }
25772
25774 {
25775 set_obj(Properties::vvc_curve1, value);
25776 return *this;
25777 }
25778
25794 {
25795 return Obj_GetFloat64(ptr, Properties::hysteresis_offset);
25796 }
25797
25798 InvControl& hysteresis_offset(double value)
25799 {
25800 Obj_SetFloat64(ptr, Properties::hysteresis_offset, value);
25801 return *this;
25802 }
25803
25819 {
25820 return InvControlVoltageCurveXRef(Obj_GetInt32(ptr, Properties::voltage_curvex_ref));
25821 }
25822
25823 InvControl& voltage_curvex_ref(int32_t value)
25824 {
25825 Obj_SetInt32(ptr, Properties::voltage_curvex_ref, value);
25826 return *this;
25827 }
25828
25830 {
25831 Obj_SetInt32(ptr, Properties::voltage_curvex_ref, int32_t(value));
25832 return *this;
25833 }
25834
25835 InvControl& voltage_curvex_ref(const string &value)
25836 {
25837 set_string(Properties::voltage_curvex_ref, value);
25838 return *this;
25839 }
25840
25841 InvControl& voltage_curvex_ref(const char *value)
25842 {
25843 set_string(Properties::voltage_curvex_ref, value);
25844 return *this;
25845 }
25846
25862 {
25863 return get_prop_string(Properties::voltage_curvex_ref);
25864 }
25865
25881 {
25882 set_string(Properties::voltage_curvex_ref, value);
25883 return *this;
25884 }
25885
25899 {
25900 return Obj_GetInt32(ptr, Properties::avgwindowlen);
25901 }
25902
25903 InvControl& avgwindowlen(int32_t value)
25904 {
25905 Obj_SetInt32(ptr, Properties::avgwindowlen, value);
25906 return *this;
25907 }
25908
25920 {
25921 return get_prop_string(Properties::voltwatt_curve);
25922 }
25923
25924 InvControl& voltwatt_curve(const string &value)
25925 {
25926 set_string(Properties::voltwatt_curve, value);
25927 return *this;
25928 }
25929
25931 {
25932 set_obj(Properties::voltwatt_curve, value);
25933 return *this;
25934 }
25935
25947 {
25948 return get_obj<dss::obj::XYcurve>(Properties::voltwatt_curve);
25949 }
25950
25952 {
25953 set_obj(Properties::voltwatt_curve, value);
25954 return *this;
25955 }
25956
25963 double DbVMin()
25964 {
25965 return Obj_GetFloat64(ptr, Properties::DbVMin);
25966 }
25967
25968 InvControl& DbVMin(double value)
25969 {
25970 Obj_SetFloat64(ptr, Properties::DbVMin, value);
25971 return *this;
25972 }
25973
25980 double DbVMax()
25981 {
25982 return Obj_GetFloat64(ptr, Properties::DbVMax);
25983 }
25984
25985 InvControl& DbVMax(double value)
25986 {
25987 Obj_SetFloat64(ptr, Properties::DbVMax, value);
25988 return *this;
25989 }
25990
26001 double ArGraLowV()
26002 {
26003 return Obj_GetFloat64(ptr, Properties::ArGraLowV);
26004 }
26005
26006 InvControl& ArGraLowV(double value)
26007 {
26008 Obj_SetFloat64(ptr, Properties::ArGraLowV, value);
26009 return *this;
26010 }
26011
26022 double ArGraHiV()
26023 {
26024 return Obj_GetFloat64(ptr, Properties::ArGraHiV);
26025 }
26026
26027 InvControl& ArGraHiV(double value)
26028 {
26029 Obj_SetFloat64(ptr, Properties::ArGraHiV, value);
26030 return *this;
26031 }
26032
26046 {
26047 return Obj_GetInt32(ptr, Properties::DynReacavgwindowlen);
26048 }
26049
26050 InvControl& DynReacavgwindowlen(int32_t value)
26051 {
26052 Obj_SetInt32(ptr, Properties::DynReacavgwindowlen, value);
26053 return *this;
26054 }
26055
26070 {
26071 return Obj_GetFloat64(ptr, Properties::deltaQ_Factor);
26072 }
26073
26074 InvControl& deltaQ_Factor(double value)
26075 {
26076 Obj_SetFloat64(ptr, Properties::deltaQ_Factor, value);
26077 return *this;
26078 }
26079
26091 {
26092 return Obj_GetFloat64(ptr, Properties::VoltageChangeTolerance);
26093 }
26094
26095 InvControl& VoltageChangeTolerance(double value)
26096 {
26097 Obj_SetFloat64(ptr, Properties::VoltageChangeTolerance, value);
26098 return *this;
26099 }
26100
26112 {
26113 return Obj_GetFloat64(ptr, Properties::VarChangeTolerance);
26114 }
26115
26116 InvControl& VarChangeTolerance(double value)
26117 {
26118 Obj_SetFloat64(ptr, Properties::VarChangeTolerance, value);
26119 return *this;
26120 }
26121
26137 {
26138 return InvControlVoltWattYAxis(Obj_GetInt32(ptr, Properties::VoltwattYAxis));
26139 }
26140
26141 InvControl& VoltwattYAxis(int32_t value)
26142 {
26143 Obj_SetInt32(ptr, Properties::VoltwattYAxis, value);
26144 return *this;
26145 }
26146
26148 {
26149 Obj_SetInt32(ptr, Properties::VoltwattYAxis, int32_t(value));
26150 return *this;
26151 }
26152
26153 InvControl& VoltwattYAxis(const string &value)
26154 {
26155 set_string(Properties::VoltwattYAxis, value);
26156 return *this;
26157 }
26158
26159 InvControl& VoltwattYAxis(const char *value)
26160 {
26161 set_string(Properties::VoltwattYAxis, value);
26162 return *this;
26163 }
26164
26180 {
26181 return get_prop_string(Properties::VoltwattYAxis);
26182 }
26183
26198 InvControl& VoltwattYAxis_str(const string &value)
26199 {
26200 set_string(Properties::VoltwattYAxis, value);
26201 return *this;
26202 }
26203
26217 {
26218 return InvControlRateOfChangeMode(Obj_GetInt32(ptr, Properties::RateofChangeMode));
26219 }
26220
26221 InvControl& RateofChangeMode(int32_t value)
26222 {
26223 Obj_SetInt32(ptr, Properties::RateofChangeMode, value);
26224 return *this;
26225 }
26226
26228 {
26229 Obj_SetInt32(ptr, Properties::RateofChangeMode, int32_t(value));
26230 return *this;
26231 }
26232
26233 InvControl& RateofChangeMode(const string &value)
26234 {
26235 set_string(Properties::RateofChangeMode, value);
26236 return *this;
26237 }
26238
26239 InvControl& RateofChangeMode(const char *value)
26240 {
26241 set_string(Properties::RateofChangeMode, value);
26242 return *this;
26243 }
26244
26258 {
26259 return get_prop_string(Properties::RateofChangeMode);
26260 }
26261
26274 InvControl& RateofChangeMode_str(const string &value)
26275 {
26276 set_string(Properties::RateofChangeMode, value);
26277 return *this;
26278 }
26279
26286 double LPFTau()
26287 {
26288 return Obj_GetFloat64(ptr, Properties::LPFTau);
26289 }
26290
26291 InvControl& LPFTau(double value)
26292 {
26293 Obj_SetFloat64(ptr, Properties::LPFTau, value);
26294 return *this;
26295 }
26296
26304 {
26305 return Obj_GetFloat64(ptr, Properties::RiseFallLimit);
26306 }
26307
26308 InvControl& RiseFallLimit(double value)
26309 {
26310 Obj_SetFloat64(ptr, Properties::RiseFallLimit, value);
26311 return *this;
26312 }
26313
26328 {
26329 return Obj_GetFloat64(ptr, Properties::deltaP_Factor);
26330 }
26331
26332 InvControl& deltaP_Factor(double value)
26333 {
26334 Obj_SetFloat64(ptr, Properties::deltaP_Factor, value);
26335 return *this;
26336 }
26337
26343 {
26344 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
26345 }
26346
26347 InvControl& EventLog(bool value)
26348 {
26349 Obj_SetInt32(ptr, Properties::EventLog, value);
26350 return *this;
26351 }
26352
26364 {
26365 return InvControlReactivePowerReference(Obj_GetInt32(ptr, Properties::RefReactivePower));
26366 }
26367
26368 InvControl& RefReactivePower(int32_t value)
26369 {
26370 Obj_SetInt32(ptr, Properties::RefReactivePower, value);
26371 return *this;
26372 }
26373
26375 {
26376 Obj_SetInt32(ptr, Properties::RefReactivePower, int32_t(value));
26377 return *this;
26378 }
26379
26380 InvControl& RefReactivePower(const string &value)
26381 {
26382 set_string(Properties::RefReactivePower, value);
26383 return *this;
26384 }
26385
26386 InvControl& RefReactivePower(const char *value)
26387 {
26388 set_string(Properties::RefReactivePower, value);
26389 return *this;
26390 }
26391
26403 {
26404 return get_prop_string(Properties::RefReactivePower);
26405 }
26406
26417 InvControl& RefReactivePower_str(const string &value)
26418 {
26419 set_string(Properties::RefReactivePower, value);
26420 return *this;
26421 }
26422
26434 {
26435 return Obj_GetFloat64(ptr, Properties::ActivePChangeTolerance);
26436 }
26437
26438 InvControl& ActivePChangeTolerance(double value)
26439 {
26440 Obj_SetFloat64(ptr, Properties::ActivePChangeTolerance, value);
26441 return *this;
26442 }
26443
26449 {
26450 return Obj_GetInt32(ptr, Properties::monVoltageCalc);
26451 }
26452
26453 InvControl& monVoltageCalc(int32_t value)
26454 {
26455 Obj_SetInt32(ptr, Properties::monVoltageCalc, value);
26456 return *this;
26457 }
26458
26459 InvControl& monVoltageCalc(MonitoredPhase value)
26460 {
26461 Obj_SetInt32(ptr, Properties::monVoltageCalc, int32_t(value));
26462 return *this;
26463 }
26464
26465 InvControl& monVoltageCalc(const string &value)
26466 {
26467 set_string(Properties::monVoltageCalc, value);
26468 return *this;
26469 }
26470
26471 InvControl& monVoltageCalc(const char *value)
26472 {
26473 set_string(Properties::monVoltageCalc, value);
26474 return *this;
26475 }
26476
26482 {
26483 return get_prop_string(Properties::monVoltageCalc);
26484 }
26485
26490 InvControl& monVoltageCalc_str(const string &value)
26491 {
26492 set_string(Properties::monVoltageCalc, value);
26493 return *this;
26494 }
26495
26500 strings monBus()
26501 {
26502 return get_array<strings>(Properties::monBus);
26503 }
26504
26505 InvControl& monBus(strings &value)
26506 {
26507 set_array<strings>(Properties::monBus, value);
26508 return *this;
26509 }
26510
26515 VectorXd MonBusesVbase()
26516 {
26517 return get_array<VectorXd>(Properties::MonBusesVbase);
26518 }
26519
26520 InvControl& MonBusesVbase(VectorXd &value)
26521 {
26522 set_array<VectorXd>(Properties::MonBusesVbase, value);
26523 return *this;
26524 }
26525
26539 {
26540 return get_prop_string(Properties::voltwattCH_curve);
26541 }
26542
26543 InvControl& voltwattCH_curve(const string &value)
26544 {
26545 set_string(Properties::voltwattCH_curve, value);
26546 return *this;
26547 }
26548
26550 {
26551 set_obj(Properties::voltwattCH_curve, value);
26552 return *this;
26553 }
26554
26568 {
26569 return get_obj<dss::obj::XYcurve>(Properties::voltwattCH_curve);
26570 }
26571
26573 {
26574 set_obj(Properties::voltwattCH_curve, value);
26575 return *this;
26576 }
26577
26596 {
26597 return get_prop_string(Properties::wattpf_curve);
26598 }
26599
26600 InvControl& wattpf_curve(const string &value)
26601 {
26602 set_string(Properties::wattpf_curve, value);
26603 return *this;
26604 }
26605
26607 {
26608 set_obj(Properties::wattpf_curve, value);
26609 return *this;
26610 }
26611
26630 {
26631 return get_obj<dss::obj::XYcurve>(Properties::wattpf_curve);
26632 }
26633
26635 {
26636 set_obj(Properties::wattpf_curve, value);
26637 return *this;
26638 }
26639
26650 {
26651 return get_prop_string(Properties::wattvar_curve);
26652 }
26653
26654 InvControl& wattvar_curve(const string &value)
26655 {
26656 set_string(Properties::wattvar_curve, value);
26657 return *this;
26658 }
26659
26661 {
26662 set_obj(Properties::wattvar_curve, value);
26663 return *this;
26664 }
26665
26676 {
26677 return get_obj<dss::obj::XYcurve>(Properties::wattvar_curve);
26678 }
26679
26681 {
26682 set_obj(Properties::wattvar_curve, value);
26683 return *this;
26684 }
26685
26691 {
26692 return get_array<strings>(Properties::PVSystemList);
26693 }
26694
26695 InvControl& PVSystemList(strings &value)
26696 {
26697 set_array<strings>(Properties::PVSystemList, value);
26698 return *this;
26699 }
26700
26705 double Vsetpoint()
26706 {
26707 return Obj_GetFloat64(ptr, Properties::Vsetpoint);
26708 }
26709
26710 InvControl& Vsetpoint(double value)
26711 {
26712 Obj_SetFloat64(ptr, Properties::Vsetpoint, value);
26713 return *this;
26714 }
26715
26720 double basefreq()
26721 {
26722 return Obj_GetFloat64(ptr, Properties::basefreq);
26723 }
26724
26725 InvControl& basefreq(double value)
26726 {
26727 Obj_SetFloat64(ptr, Properties::basefreq, value);
26728 return *this;
26729 }
26730
26735 bool enabled()
26736 {
26737 return Obj_GetInt32(ptr, Properties::enabled) != 0;
26738 }
26739
26740 InvControl& enabled(bool value)
26741 {
26742 Obj_SetInt32(ptr, Properties::enabled, value);
26743 return *this;
26744 }
26745
26752 InvControl& like(const string &value)
26753 {
26754 set_string(Properties::like, value);
26755 return *this;
26756 }
26757
26764 InvControl& like(const char *value)
26765 {
26766 set_string(Properties::like, value);
26767 return *this;
26768 }
26769};
26770
26771
26772class ExpControl: public DSSObj
26773{
26774public:
26775 const static char dss_cls_name[];
26776 const static int32_t dss_cls_idx = 42;
26778 {
26779 enum {
26780 PVSystemList = 1,
26781 Vreg = 2,
26782 Slope = 3,
26783 VregTau = 4,
26784 Qbias = 5,
26785 VregMin = 6,
26786 VregMax = 7,
26787 QmaxLead = 8,
26788 QmaxLag = 9,
26789 EventLog = 10,
26790 DeltaQ_factor = 11,
26791 PreferQ = 12,
26792 Tresponse = 13,
26793 DERList = 14,
26794 basefreq = 15,
26795 enabled = 16,
26796 like = 17,
26797 };
26798 };
26799
26803 ExpControl(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
26804 {
26805 }
26806
26810 ExpControl(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
26811 {
26812 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
26813 check_for_error();
26814 if (ptr == nullptr)
26815 {
26816 throw std::runtime_error("Could not find the ExpControl element by the given index");
26817 }
26818 }
26819
26823 ExpControl(APIUtil *util, char *name): DSSObj(util, nullptr)
26824 {
26825 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
26826 check_for_error();
26827 if (ptr == nullptr)
26828 {
26829 throw std::runtime_error("Could not find the ExpControl element by the given name");
26830 }
26831 }
26832
26836 const char* name()
26837 {
26838 return Obj_GetName(ptr);
26839 }
26840
26845 {
26846 Obj_BeginEdit(ptr);
26847 return *this;
26848 }
26849
26854 ExpControl& end_edit(int32_t num_edits=1)
26855 {
26856 Obj_EndEdit(ptr, num_edits);
26857 return *this;
26858 }
26859
26867 {
26868 return get_array<strings>(Properties::PVSystemList);
26869 }
26870
26871 ExpControl& PVSystemList(strings &value)
26872 {
26873 set_array<strings>(Properties::PVSystemList, value);
26874 return *this;
26875 }
26876
26883 double Vreg()
26884 {
26885 return Obj_GetFloat64(ptr, Properties::Vreg);
26886 }
26887
26888 ExpControl& Vreg(double value)
26889 {
26890 Obj_SetFloat64(ptr, Properties::Vreg, value);
26891 return *this;
26892 }
26893
26900 double Slope()
26901 {
26902 return Obj_GetFloat64(ptr, Properties::Slope);
26903 }
26904
26905 ExpControl& Slope(double value)
26906 {
26907 Obj_SetFloat64(ptr, Properties::Slope, value);
26908 return *this;
26909 }
26910
26917 double VregTau()
26918 {
26919 return Obj_GetFloat64(ptr, Properties::VregTau);
26920 }
26921
26922 ExpControl& VregTau(double value)
26923 {
26924 Obj_SetFloat64(ptr, Properties::VregTau, value);
26925 return *this;
26926 }
26927
26934 double Qbias()
26935 {
26936 return Obj_GetFloat64(ptr, Properties::Qbias);
26937 }
26938
26939 ExpControl& Qbias(double value)
26940 {
26941 Obj_SetFloat64(ptr, Properties::Qbias, value);
26942 return *this;
26943 }
26944
26949 double VregMin()
26950 {
26951 return Obj_GetFloat64(ptr, Properties::VregMin);
26952 }
26953
26954 ExpControl& VregMin(double value)
26955 {
26956 Obj_SetFloat64(ptr, Properties::VregMin, value);
26957 return *this;
26958 }
26959
26964 double VregMax()
26965 {
26966 return Obj_GetFloat64(ptr, Properties::VregMax);
26967 }
26968
26969 ExpControl& VregMax(double value)
26970 {
26971 Obj_SetFloat64(ptr, Properties::VregMax, value);
26972 return *this;
26973 }
26974
26981 double QmaxLead()
26982 {
26983 return Obj_GetFloat64(ptr, Properties::QmaxLead);
26984 }
26985
26986 ExpControl& QmaxLead(double value)
26987 {
26988 Obj_SetFloat64(ptr, Properties::QmaxLead, value);
26989 return *this;
26990 }
26991
26998 double QmaxLag()
26999 {
27000 return Obj_GetFloat64(ptr, Properties::QmaxLag);
27001 }
27002
27003 ExpControl& QmaxLag(double value)
27004 {
27005 Obj_SetFloat64(ptr, Properties::QmaxLag, value);
27006 return *this;
27007 }
27008
27014 {
27015 return Obj_GetInt32(ptr, Properties::EventLog) != 0;
27016 }
27017
27018 ExpControl& EventLog(bool value)
27019 {
27020 Obj_SetInt32(ptr, Properties::EventLog, value);
27021 return *this;
27022 }
27023
27031 {
27032 return Obj_GetFloat64(ptr, Properties::DeltaQ_factor);
27033 }
27034
27035 ExpControl& DeltaQ_factor(double value)
27036 {
27037 Obj_SetFloat64(ptr, Properties::DeltaQ_factor, value);
27038 return *this;
27039 }
27040
27047 bool PreferQ()
27048 {
27049 return Obj_GetInt32(ptr, Properties::PreferQ) != 0;
27050 }
27051
27052 ExpControl& PreferQ(bool value)
27053 {
27054 Obj_SetInt32(ptr, Properties::PreferQ, value);
27055 return *this;
27056 }
27057
27064 double Tresponse()
27065 {
27066 return Obj_GetFloat64(ptr, Properties::Tresponse);
27067 }
27068
27069 ExpControl& Tresponse(double value)
27070 {
27071 Obj_SetFloat64(ptr, Properties::Tresponse, value);
27072 return *this;
27073 }
27074
27081 strings DERList()
27082 {
27083 return get_array<strings>(Properties::DERList);
27084 }
27085
27086 ExpControl& DERList(strings &value)
27087 {
27088 set_array<strings>(Properties::DERList, value);
27089 return *this;
27090 }
27091
27096 double basefreq()
27097 {
27098 return Obj_GetFloat64(ptr, Properties::basefreq);
27099 }
27100
27101 ExpControl& basefreq(double value)
27102 {
27103 Obj_SetFloat64(ptr, Properties::basefreq, value);
27104 return *this;
27105 }
27106
27111 bool enabled()
27112 {
27113 return Obj_GetInt32(ptr, Properties::enabled) != 0;
27114 }
27115
27116 ExpControl& enabled(bool value)
27117 {
27118 Obj_SetInt32(ptr, Properties::enabled, value);
27119 return *this;
27120 }
27121
27128 ExpControl& like(const string &value)
27129 {
27130 set_string(Properties::like, value);
27131 return *this;
27132 }
27133
27140 ExpControl& like(const char *value)
27141 {
27142 set_string(Properties::like, value);
27143 return *this;
27144 }
27145};
27146
27147
27148class GICLine: public DSSObj
27149{
27150public:
27151 const static char dss_cls_name[];
27152 const static int32_t dss_cls_idx = 43;
27154 {
27155 enum {
27156 bus1 = 1,
27157 bus2 = 2,
27158 Volts = 3,
27159 Angle = 4,
27160 frequency = 5,
27161 phases = 6,
27162 R = 7,
27163 X = 8,
27164 C = 9,
27165 EN = 10,
27166 EE = 11,
27167 Lat1 = 12,
27168 Lon1 = 13,
27169 Lat2 = 14,
27170 Lon2 = 15,
27171 spectrum = 16,
27172 basefreq = 17,
27173 enabled = 18,
27174 like = 19,
27175 };
27176 };
27177
27181 GICLine(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
27182 {
27183 }
27184
27188 GICLine(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
27189 {
27190 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
27191 check_for_error();
27192 if (ptr == nullptr)
27193 {
27194 throw std::runtime_error("Could not find the GICLine element by the given index");
27195 }
27196 }
27197
27201 GICLine(APIUtil *util, char *name): DSSObj(util, nullptr)
27202 {
27203 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
27204 check_for_error();
27205 if (ptr == nullptr)
27206 {
27207 throw std::runtime_error("Could not find the GICLine element by the given name");
27208 }
27209 }
27210
27214 const char* name()
27215 {
27216 return Obj_GetName(ptr);
27217 }
27218
27223 {
27224 Obj_BeginEdit(ptr);
27225 return *this;
27226 }
27227
27232 GICLine& end_edit(int32_t num_edits=1)
27233 {
27234 Obj_EndEdit(ptr, num_edits);
27235 return *this;
27236 }
27237
27244 string bus1()
27245 {
27246 return get_prop_string(Properties::bus1);
27247 }
27248
27249 GICLine& bus1(const string &value)
27250 {
27251 set_string(Properties::bus1, value);
27252 return *this;
27253 }
27254
27255 GICLine& bus1(const char* value)
27256 {
27257 set_string(Properties::bus1, value);
27258 return *this;
27259 }
27260
27269 string bus2()
27270 {
27271 return get_prop_string(Properties::bus2);
27272 }
27273
27274 GICLine& bus2(const string &value)
27275 {
27276 set_string(Properties::bus2, value);
27277 return *this;
27278 }
27279
27280 GICLine& bus2(const char* value)
27281 {
27282 set_string(Properties::bus2, value);
27283 return *this;
27284 }
27285
27298 double Volts()
27299 {
27300 return Obj_GetFloat64(ptr, Properties::Volts);
27301 }
27302
27303 GICLine& Volts(double value)
27304 {
27305 Obj_SetFloat64(ptr, Properties::Volts, value);
27306 return *this;
27307 }
27308
27313 double Angle()
27314 {
27315 return Obj_GetFloat64(ptr, Properties::Angle);
27316 }
27317
27318 GICLine& Angle(double value)
27319 {
27320 Obj_SetFloat64(ptr, Properties::Angle, value);
27321 return *this;
27322 }
27323
27328 double frequency()
27329 {
27330 return Obj_GetFloat64(ptr, Properties::frequency);
27331 }
27332
27333 GICLine& frequency(double value)
27334 {
27335 Obj_SetFloat64(ptr, Properties::frequency, value);
27336 return *this;
27337 }
27338
27343 int32_t phases()
27344 {
27345 return Obj_GetInt32(ptr, Properties::phases);
27346 }
27347
27348 GICLine& phases(int32_t value)
27349 {
27350 Obj_SetInt32(ptr, Properties::phases, value);
27351 return *this;
27352 }
27353
27358 double R()
27359 {
27360 return Obj_GetFloat64(ptr, Properties::R);
27361 }
27362
27363 GICLine& R(double value)
27364 {
27365 Obj_SetFloat64(ptr, Properties::R, value);
27366 return *this;
27367 }
27368
27373 double X()
27374 {
27375 return Obj_GetFloat64(ptr, Properties::X);
27376 }
27377
27378 GICLine& X(double value)
27379 {
27380 Obj_SetFloat64(ptr, Properties::X, value);
27381 return *this;
27382 }
27383
27388 double C()
27389 {
27390 return Obj_GetFloat64(ptr, Properties::C);
27391 }
27392
27393 GICLine& C(double value)
27394 {
27395 Obj_SetFloat64(ptr, Properties::C, value);
27396 return *this;
27397 }
27398
27403 double EN()
27404 {
27405 return Obj_GetFloat64(ptr, Properties::EN);
27406 }
27407
27408 GICLine& EN(double value)
27409 {
27410 Obj_SetFloat64(ptr, Properties::EN, value);
27411 return *this;
27412 }
27413
27418 double EE()
27419 {
27420 return Obj_GetFloat64(ptr, Properties::EE);
27421 }
27422
27423 GICLine& EE(double value)
27424 {
27425 Obj_SetFloat64(ptr, Properties::EE, value);
27426 return *this;
27427 }
27428
27433 double Lat1()
27434 {
27435 return Obj_GetFloat64(ptr, Properties::Lat1);
27436 }
27437
27438 GICLine& Lat1(double value)
27439 {
27440 Obj_SetFloat64(ptr, Properties::Lat1, value);
27441 return *this;
27442 }
27443
27448 double Lon1()
27449 {
27450 return Obj_GetFloat64(ptr, Properties::Lon1);
27451 }
27452
27453 GICLine& Lon1(double value)
27454 {
27455 Obj_SetFloat64(ptr, Properties::Lon1, value);
27456 return *this;
27457 }
27458
27463 double Lat2()
27464 {
27465 return Obj_GetFloat64(ptr, Properties::Lat2);
27466 }
27467
27468 GICLine& Lat2(double value)
27469 {
27470 Obj_SetFloat64(ptr, Properties::Lat2, value);
27471 return *this;
27472 }
27473
27478 double Lon2()
27479 {
27480 return Obj_GetFloat64(ptr, Properties::Lon2);
27481 }
27482
27483 GICLine& Lon2(double value)
27484 {
27485 Obj_SetFloat64(ptr, Properties::Lon2, value);
27486 return *this;
27487 }
27488
27493 string spectrum()
27494 {
27495 return get_prop_string(Properties::spectrum);
27496 }
27497
27498 GICLine& spectrum(const string &value)
27499 {
27500 set_string(Properties::spectrum, value);
27501 return *this;
27502 }
27503
27505 {
27506 set_obj(Properties::spectrum, value);
27507 return *this;
27508 }
27509
27515 {
27516 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
27517 }
27518
27520 {
27521 set_obj(Properties::spectrum, value);
27522 return *this;
27523 }
27524
27529 double basefreq()
27530 {
27531 return Obj_GetFloat64(ptr, Properties::basefreq);
27532 }
27533
27534 GICLine& basefreq(double value)
27535 {
27536 Obj_SetFloat64(ptr, Properties::basefreq, value);
27537 return *this;
27538 }
27539
27544 bool enabled()
27545 {
27546 return Obj_GetInt32(ptr, Properties::enabled) != 0;
27547 }
27548
27549 GICLine& enabled(bool value)
27550 {
27551 Obj_SetInt32(ptr, Properties::enabled, value);
27552 return *this;
27553 }
27554
27561 GICLine& like(const string &value)
27562 {
27563 set_string(Properties::like, value);
27564 return *this;
27565 }
27566
27573 GICLine& like(const char *value)
27574 {
27575 set_string(Properties::like, value);
27576 return *this;
27577 }
27578};
27579
27580
27582{
27583public:
27584 const static char dss_cls_name[];
27585 const static int32_t dss_cls_idx = 44;
27587 {
27588 enum {
27589 BusH = 1,
27590 BusNH = 2,
27591 BusX = 3,
27592 BusNX = 4,
27593 phases = 5,
27594 Type = 6,
27595 R1 = 7,
27596 R2 = 8,
27597 KVLL1 = 9,
27598 KVLL2 = 10,
27599 MVA = 11,
27600 VarCurve = 12,
27601 pctR1 = 13,
27602 pctR2 = 14,
27603 K = 15,
27604 normamps = 16,
27605 emergamps = 17,
27606 faultrate = 18,
27607 pctperm = 19,
27608 repair = 20,
27609 basefreq = 21,
27610 enabled = 22,
27611 like = 23,
27612 };
27613 };
27614
27615 // Class-specific enumerations
27616
27620 enum class GICTransformerType: int32_t
27621 {
27622 GSU = 1,
27623 Auto = 2,
27624 YY = 3
27625 };
27626
27627
27628
27632 GICTransformer(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
27633 {
27634 }
27635
27639 GICTransformer(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
27640 {
27641 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
27642 check_for_error();
27643 if (ptr == nullptr)
27644 {
27645 throw std::runtime_error("Could not find the GICTransformer element by the given index");
27646 }
27647 }
27648
27652 GICTransformer(APIUtil *util, char *name): DSSObj(util, nullptr)
27653 {
27654 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
27655 check_for_error();
27656 if (ptr == nullptr)
27657 {
27658 throw std::runtime_error("Could not find the GICTransformer element by the given name");
27659 }
27660 }
27661
27665 const char* name()
27666 {
27667 return Obj_GetName(ptr);
27668 }
27669
27674 {
27675 Obj_BeginEdit(ptr);
27676 return *this;
27677 }
27678
27683 GICTransformer& end_edit(int32_t num_edits=1)
27684 {
27685 Obj_EndEdit(ptr, num_edits);
27686 return *this;
27687 }
27688
27695 string BusH()
27696 {
27697 return get_prop_string(Properties::BusH);
27698 }
27699
27700 GICTransformer& BusH(const string &value)
27701 {
27702 set_string(Properties::BusH, value);
27703 return *this;
27704 }
27705
27706 GICTransformer& BusH(const char* value)
27707 {
27708 set_string(Properties::BusH, value);
27709 return *this;
27710 }
27711
27716 string BusNH()
27717 {
27718 return get_prop_string(Properties::BusNH);
27719 }
27720
27721 GICTransformer& BusNH(const string &value)
27722 {
27723 set_string(Properties::BusNH, value);
27724 return *this;
27725 }
27726
27727 GICTransformer& BusNH(const char* value)
27728 {
27729 set_string(Properties::BusNH, value);
27730 return *this;
27731 }
27732
27737 string BusX()
27738 {
27739 return get_prop_string(Properties::BusX);
27740 }
27741
27742 GICTransformer& BusX(const string &value)
27743 {
27744 set_string(Properties::BusX, value);
27745 return *this;
27746 }
27747
27748 GICTransformer& BusX(const char* value)
27749 {
27750 set_string(Properties::BusX, value);
27751 return *this;
27752 }
27753
27758 string BusNX()
27759 {
27760 return get_prop_string(Properties::BusNX);
27761 }
27762
27763 GICTransformer& BusNX(const string &value)
27764 {
27765 set_string(Properties::BusNX, value);
27766 return *this;
27767 }
27768
27769 GICTransformer& BusNX(const char* value)
27770 {
27771 set_string(Properties::BusNX, value);
27772 return *this;
27773 }
27774
27779 int32_t phases()
27780 {
27781 return Obj_GetInt32(ptr, Properties::phases);
27782 }
27783
27784 GICTransformer& phases(int32_t value)
27785 {
27786 Obj_SetInt32(ptr, Properties::phases, value);
27787 return *this;
27788 }
27789
27795 {
27796 return GICTransformerType(Obj_GetInt32(ptr, Properties::Type));
27797 }
27798
27799 GICTransformer& Type(int32_t value)
27800 {
27801 Obj_SetInt32(ptr, Properties::Type, value);
27802 return *this;
27803 }
27804
27806 {
27807 Obj_SetInt32(ptr, Properties::Type, int32_t(value));
27808 return *this;
27809 }
27810
27811 GICTransformer& Type(const string &value)
27812 {
27813 set_string(Properties::Type, value);
27814 return *this;
27815 }
27816
27817 GICTransformer& Type(const char *value)
27818 {
27819 set_string(Properties::Type, value);
27820 return *this;
27821 }
27822
27827 string Type_str()
27828 {
27829 return get_prop_string(Properties::Type);
27830 }
27831
27836 GICTransformer& Type_str(const string &value)
27837 {
27838 set_string(Properties::Type, value);
27839 return *this;
27840 }
27841
27846 double R1()
27847 {
27848 return Obj_GetFloat64(ptr, Properties::R1);
27849 }
27850
27851 GICTransformer& R1(double value)
27852 {
27853 Obj_SetFloat64(ptr, Properties::R1, value);
27854 return *this;
27855 }
27856
27861 double R2()
27862 {
27863 return Obj_GetFloat64(ptr, Properties::R2);
27864 }
27865
27866 GICTransformer& R2(double value)
27867 {
27868 Obj_SetFloat64(ptr, Properties::R2, value);
27869 return *this;
27870 }
27871
27876 double KVLL1()
27877 {
27878 return Obj_GetFloat64(ptr, Properties::KVLL1);
27879 }
27880
27881 GICTransformer& KVLL1(double value)
27882 {
27883 Obj_SetFloat64(ptr, Properties::KVLL1, value);
27884 return *this;
27885 }
27886
27891 double KVLL2()
27892 {
27893 return Obj_GetFloat64(ptr, Properties::KVLL2);
27894 }
27895
27896 GICTransformer& KVLL2(double value)
27897 {
27898 Obj_SetFloat64(ptr, Properties::KVLL2, value);
27899 return *this;
27900 }
27901
27906 double MVA()
27907 {
27908 return Obj_GetFloat64(ptr, Properties::MVA);
27909 }
27910
27911 GICTransformer& MVA(double value)
27912 {
27913 Obj_SetFloat64(ptr, Properties::MVA, value);
27914 return *this;
27915 }
27916
27921 string VarCurve()
27922 {
27923 return get_prop_string(Properties::VarCurve);
27924 }
27925
27926 GICTransformer& VarCurve(const string &value)
27927 {
27928 set_string(Properties::VarCurve, value);
27929 return *this;
27930 }
27931
27933 {
27934 set_obj(Properties::VarCurve, value);
27935 return *this;
27936 }
27937
27943 {
27944 return get_obj<dss::obj::XYcurve>(Properties::VarCurve);
27945 }
27946
27948 {
27949 set_obj(Properties::VarCurve, value);
27950 return *this;
27951 }
27952
27959 double pctR1()
27960 {
27961 return Obj_GetFloat64(ptr, Properties::pctR1);
27962 }
27963
27964 GICTransformer& pctR1(double value)
27965 {
27966 Obj_SetFloat64(ptr, Properties::pctR1, value);
27967 return *this;
27968 }
27969
27976 double pctR2()
27977 {
27978 return Obj_GetFloat64(ptr, Properties::pctR2);
27979 }
27980
27981 GICTransformer& pctR2(double value)
27982 {
27983 Obj_SetFloat64(ptr, Properties::pctR2, value);
27984 return *this;
27985 }
27986
27995 double K()
27996 {
27997 return Obj_GetFloat64(ptr, Properties::K);
27998 }
27999
28000 GICTransformer& K(double value)
28001 {
28002 Obj_SetFloat64(ptr, Properties::K, value);
28003 return *this;
28004 }
28005
28010 double normamps()
28011 {
28012 return Obj_GetFloat64(ptr, Properties::normamps);
28013 }
28014
28015 GICTransformer& normamps(double value)
28016 {
28017 Obj_SetFloat64(ptr, Properties::normamps, value);
28018 return *this;
28019 }
28020
28025 double emergamps()
28026 {
28027 return Obj_GetFloat64(ptr, Properties::emergamps);
28028 }
28029
28030 GICTransformer& emergamps(double value)
28031 {
28032 Obj_SetFloat64(ptr, Properties::emergamps, value);
28033 return *this;
28034 }
28035
28040 double faultrate()
28041 {
28042 return Obj_GetFloat64(ptr, Properties::faultrate);
28043 }
28044
28045 GICTransformer& faultrate(double value)
28046 {
28047 Obj_SetFloat64(ptr, Properties::faultrate, value);
28048 return *this;
28049 }
28050
28055 double pctperm()
28056 {
28057 return Obj_GetFloat64(ptr, Properties::pctperm);
28058 }
28059
28060 GICTransformer& pctperm(double value)
28061 {
28062 Obj_SetFloat64(ptr, Properties::pctperm, value);
28063 return *this;
28064 }
28065
28070 double repair()
28071 {
28072 return Obj_GetFloat64(ptr, Properties::repair);
28073 }
28074
28075 GICTransformer& repair(double value)
28076 {
28077 Obj_SetFloat64(ptr, Properties::repair, value);
28078 return *this;
28079 }
28080
28085 double basefreq()
28086 {
28087 return Obj_GetFloat64(ptr, Properties::basefreq);
28088 }
28089
28090 GICTransformer& basefreq(double value)
28091 {
28092 Obj_SetFloat64(ptr, Properties::basefreq, value);
28093 return *this;
28094 }
28095
28100 bool enabled()
28101 {
28102 return Obj_GetInt32(ptr, Properties::enabled) != 0;
28103 }
28104
28105 GICTransformer& enabled(bool value)
28106 {
28107 Obj_SetInt32(ptr, Properties::enabled, value);
28108 return *this;
28109 }
28110
28117 GICTransformer& like(const string &value)
28118 {
28119 set_string(Properties::like, value);
28120 return *this;
28121 }
28122
28129 GICTransformer& like(const char *value)
28130 {
28131 set_string(Properties::like, value);
28132 return *this;
28133 }
28134};
28135
28136
28137class VSConverter: public DSSObj
28138{
28139public:
28140 const static char dss_cls_name[];
28141 const static int32_t dss_cls_idx = 45;
28143 {
28144 enum {
28145 phases = 1,
28146 Bus1 = 2,
28147 kVac = 3,
28148 kVdc = 4,
28149 kW = 5,
28150 Ndc = 6,
28151 Rac = 7,
28152 Xac = 8,
28153 m0 = 9,
28154 d0 = 10,
28155 Mmin = 11,
28156 Mmax = 12,
28157 Iacmax = 13,
28158 Idcmax = 14,
28159 Vacref = 15,
28160 Pacref = 16,
28161 Qacref = 17,
28162 Vdcref = 18,
28163 VscMode = 19,
28164 spectrum = 20,
28165 basefreq = 21,
28166 enabled = 22,
28167 like = 23,
28168 };
28169 };
28170
28171 // Class-specific enumerations
28172
28176 enum class VSConverterControlMode: int32_t
28177 {
28178 Fixed = 0,
28179 PacVac = 1,
28180 PacQac = 2,
28181 VdcVac = 3,
28182 VdcQac = 4
28183 };
28184
28185
28186
28190 VSConverter(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
28191 {
28192 }
28193
28197 VSConverter(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
28198 {
28199 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
28200 check_for_error();
28201 if (ptr == nullptr)
28202 {
28203 throw std::runtime_error("Could not find the VSConverter element by the given index");
28204 }
28205 }
28206
28210 VSConverter(APIUtil *util, char *name): DSSObj(util, nullptr)
28211 {
28212 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
28213 check_for_error();
28214 if (ptr == nullptr)
28215 {
28216 throw std::runtime_error("Could not find the VSConverter element by the given name");
28217 }
28218 }
28219
28223 const char* name()
28224 {
28225 return Obj_GetName(ptr);
28226 }
28227
28232 {
28233 Obj_BeginEdit(ptr);
28234 return *this;
28235 }
28236
28241 VSConverter& end_edit(int32_t num_edits=1)
28242 {
28243 Obj_EndEdit(ptr, num_edits);
28244 return *this;
28245 }
28246
28251 int32_t phases()
28252 {
28253 return Obj_GetInt32(ptr, Properties::phases);
28254 }
28255
28256 VSConverter& phases(int32_t value)
28257 {
28258 Obj_SetInt32(ptr, Properties::phases, value);
28259 return *this;
28260 }
28261
28266 string Bus1()
28267 {
28268 return get_prop_string(Properties::Bus1);
28269 }
28270
28271 VSConverter& Bus1(const string &value)
28272 {
28273 set_string(Properties::Bus1, value);
28274 return *this;
28275 }
28276
28277 VSConverter& Bus1(const char* value)
28278 {
28279 set_string(Properties::Bus1, value);
28280 return *this;
28281 }
28282
28287 double kVac()
28288 {
28289 return Obj_GetFloat64(ptr, Properties::kVac);
28290 }
28291
28292 VSConverter& kVac(double value)
28293 {
28294 Obj_SetFloat64(ptr, Properties::kVac, value);
28295 return *this;
28296 }
28297
28302 double kVdc()
28303 {
28304 return Obj_GetFloat64(ptr, Properties::kVdc);
28305 }
28306
28307 VSConverter& kVdc(double value)
28308 {
28309 Obj_SetFloat64(ptr, Properties::kVdc, value);
28310 return *this;
28311 }
28312
28317 double kW()
28318 {
28319 return Obj_GetFloat64(ptr, Properties::kW);
28320 }
28321
28322 VSConverter& kW(double value)
28323 {
28324 Obj_SetFloat64(ptr, Properties::kW, value);
28325 return *this;
28326 }
28327
28332 int32_t Ndc()
28333 {
28334 return Obj_GetInt32(ptr, Properties::Ndc);
28335 }
28336
28337 VSConverter& Ndc(int32_t value)
28338 {
28339 Obj_SetInt32(ptr, Properties::Ndc, value);
28340 return *this;
28341 }
28342
28348 double Rac()
28349 {
28350 return Obj_GetFloat64(ptr, Properties::Rac);
28351 }
28352
28353 VSConverter& Rac(double value)
28354 {
28355 Obj_SetFloat64(ptr, Properties::Rac, value);
28356 return *this;
28357 }
28358
28364 double Xac()
28365 {
28366 return Obj_GetFloat64(ptr, Properties::Xac);
28367 }
28368
28369 VSConverter& Xac(double value)
28370 {
28371 Obj_SetFloat64(ptr, Properties::Xac, value);
28372 return *this;
28373 }
28374
28379 double m0()
28380 {
28381 return Obj_GetFloat64(ptr, Properties::m0);
28382 }
28383
28384 VSConverter& m0(double value)
28385 {
28386 Obj_SetFloat64(ptr, Properties::m0, value);
28387 return *this;
28388 }
28389
28394 double d0()
28395 {
28396 return Obj_GetFloat64(ptr, Properties::d0);
28397 }
28398
28399 VSConverter& d0(double value)
28400 {
28401 Obj_SetFloat64(ptr, Properties::d0, value);
28402 return *this;
28403 }
28404
28409 double Mmin()
28410 {
28411 return Obj_GetFloat64(ptr, Properties::Mmin);
28412 }
28413
28414 VSConverter& Mmin(double value)
28415 {
28416 Obj_SetFloat64(ptr, Properties::Mmin, value);
28417 return *this;
28418 }
28419
28424 double Mmax()
28425 {
28426 return Obj_GetFloat64(ptr, Properties::Mmax);
28427 }
28428
28429 VSConverter& Mmax(double value)
28430 {
28431 Obj_SetFloat64(ptr, Properties::Mmax, value);
28432 return *this;
28433 }
28434
28439 double Iacmax()
28440 {
28441 return Obj_GetFloat64(ptr, Properties::Iacmax);
28442 }
28443
28444 VSConverter& Iacmax(double value)
28445 {
28446 Obj_SetFloat64(ptr, Properties::Iacmax, value);
28447 return *this;
28448 }
28449
28454 double Idcmax()
28455 {
28456 return Obj_GetFloat64(ptr, Properties::Idcmax);
28457 }
28458
28459 VSConverter& Idcmax(double value)
28460 {
28461 Obj_SetFloat64(ptr, Properties::Idcmax, value);
28462 return *this;
28463 }
28464
28470 double Vacref()
28471 {
28472 return Obj_GetFloat64(ptr, Properties::Vacref);
28473 }
28474
28475 VSConverter& Vacref(double value)
28476 {
28477 Obj_SetFloat64(ptr, Properties::Vacref, value);
28478 return *this;
28479 }
28480
28486 double Pacref()
28487 {
28488 return Obj_GetFloat64(ptr, Properties::Pacref);
28489 }
28490
28491 VSConverter& Pacref(double value)
28492 {
28493 Obj_SetFloat64(ptr, Properties::Pacref, value);
28494 return *this;
28495 }
28496
28502 double Qacref()
28503 {
28504 return Obj_GetFloat64(ptr, Properties::Qacref);
28505 }
28506
28507 VSConverter& Qacref(double value)
28508 {
28509 Obj_SetFloat64(ptr, Properties::Qacref, value);
28510 return *this;
28511 }
28512
28518 double Vdcref()
28519 {
28520 return Obj_GetFloat64(ptr, Properties::Vdcref);
28521 }
28522
28523 VSConverter& Vdcref(double value)
28524 {
28525 Obj_SetFloat64(ptr, Properties::Vdcref, value);
28526 return *this;
28527 }
28528
28534 {
28535 return VSConverterControlMode(Obj_GetInt32(ptr, Properties::VscMode));
28536 }
28537
28538 VSConverter& VscMode(int32_t value)
28539 {
28540 Obj_SetInt32(ptr, Properties::VscMode, value);
28541 return *this;
28542 }
28543
28545 {
28546 Obj_SetInt32(ptr, Properties::VscMode, int32_t(value));
28547 return *this;
28548 }
28549
28550 VSConverter& VscMode(const string &value)
28551 {
28552 set_string(Properties::VscMode, value);
28553 return *this;
28554 }
28555
28556 VSConverter& VscMode(const char *value)
28557 {
28558 set_string(Properties::VscMode, value);
28559 return *this;
28560 }
28561
28567 {
28568 return get_prop_string(Properties::VscMode);
28569 }
28570
28575 VSConverter& VscMode_str(const string &value)
28576 {
28577 set_string(Properties::VscMode, value);
28578 return *this;
28579 }
28580
28585 string spectrum()
28586 {
28587 return get_prop_string(Properties::spectrum);
28588 }
28589
28590 VSConverter& spectrum(const string &value)
28591 {
28592 set_string(Properties::spectrum, value);
28593 return *this;
28594 }
28595
28597 {
28598 set_obj(Properties::spectrum, value);
28599 return *this;
28600 }
28601
28607 {
28608 return get_obj<dss::obj::Spectrum>(Properties::spectrum);
28609 }
28610
28612 {
28613 set_obj(Properties::spectrum, value);
28614 return *this;
28615 }
28616
28621 double basefreq()
28622 {
28623 return Obj_GetFloat64(ptr, Properties::basefreq);
28624 }
28625
28626 VSConverter& basefreq(double value)
28627 {
28628 Obj_SetFloat64(ptr, Properties::basefreq, value);
28629 return *this;
28630 }
28631
28636 bool enabled()
28637 {
28638 return Obj_GetInt32(ptr, Properties::enabled) != 0;
28639 }
28640
28641 VSConverter& enabled(bool value)
28642 {
28643 Obj_SetInt32(ptr, Properties::enabled, value);
28644 return *this;
28645 }
28646
28653 VSConverter& like(const string &value)
28654 {
28655 set_string(Properties::like, value);
28656 return *this;
28657 }
28658
28665 VSConverter& like(const char *value)
28666 {
28667 set_string(Properties::like, value);
28668 return *this;
28669 }
28670};
28671
28672
28673class Monitor: public DSSObj
28674{
28675public:
28676 const static char dss_cls_name[];
28677 const static int32_t dss_cls_idx = 46;
28679 {
28680 enum {
28681 element = 1,
28682 terminal = 2,
28683 mode = 3,
28684 action = 4,
28685 residual = 5,
28686 VIPolar = 6,
28687 PPolar = 7,
28688 basefreq = 8,
28689 enabled = 9,
28690 like = 10,
28691 };
28692 };
28693
28694 // Class-specific enumerations
28695
28699 enum class MonitorAction: int32_t
28700 {
28701 Clear = 0,
28702 Save = 1,
28703 Take = 2,
28704 Process = 3,
28705 Reset = 0
28706 };
28707
28708
28709
28713 Monitor(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
28714 {
28715 }
28716
28720 Monitor(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
28721 {
28722 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
28723 check_for_error();
28724 if (ptr == nullptr)
28725 {
28726 throw std::runtime_error("Could not find the Monitor element by the given index");
28727 }
28728 }
28729
28733 Monitor(APIUtil *util, char *name): DSSObj(util, nullptr)
28734 {
28735 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
28736 check_for_error();
28737 if (ptr == nullptr)
28738 {
28739 throw std::runtime_error("Could not find the Monitor element by the given name");
28740 }
28741 }
28742
28746 const char* name()
28747 {
28748 return Obj_GetName(ptr);
28749 }
28750
28755 {
28756 Obj_BeginEdit(ptr);
28757 return *this;
28758 }
28759
28764 Monitor& end_edit(int32_t num_edits=1)
28765 {
28766 Obj_EndEdit(ptr, num_edits);
28767 return *this;
28768 }
28769
28774 string element()
28775 {
28776 return get_prop_string(Properties::element);
28777 }
28778
28779 Monitor& element(const string &value)
28780 {
28781 set_string(Properties::element, value);
28782 return *this;
28783 }
28784
28786 {
28787 set_obj(Properties::element, value);
28788 return *this;
28789 }
28790
28796 {
28797 return get_obj<dss::obj::DSSObj>(Properties::element);
28798 }
28799
28801 {
28802 set_obj(Properties::element, value);
28803 return *this;
28804 }
28805
28810 int32_t terminal()
28811 {
28812 return Obj_GetInt32(ptr, Properties::terminal);
28813 }
28814
28815 Monitor& terminal(int32_t value)
28816 {
28817 Obj_SetInt32(ptr, Properties::terminal, value);
28818 return *this;
28819 }
28820
28849 int32_t mode()
28850 {
28851 return Obj_GetInt32(ptr, Properties::mode);
28852 }
28853
28854 Monitor& mode(int32_t value)
28855 {
28856 Obj_SetInt32(ptr, Properties::mode, value);
28857 return *this;
28858 }
28859
28869 Monitor& action(int32_t value)
28870 {
28871 Obj_SetInt32(ptr, Properties::action, value);
28872 return *this;
28873 }
28874
28885 {
28886 Obj_SetInt32(ptr, Properties::action, int32_t(value));
28887 return *this;
28888 }
28889
28899 Monitor& action(const string &value)
28900 {
28901 set_string(Properties::action, value);
28902 return *this;
28903 }
28904
28914 Monitor& action(const char *value)
28915 {
28916 set_string(Properties::action, value);
28917 return *this;
28918 }
28919
28925 {
28926 return Obj_GetInt32(ptr, Properties::residual) != 0;
28927 }
28928
28929 Monitor& residual(bool value)
28930 {
28931 Obj_SetInt32(ptr, Properties::residual, value);
28932 return *this;
28933 }
28934
28939 bool VIPolar()
28940 {
28941 return Obj_GetInt32(ptr, Properties::VIPolar) != 0;
28942 }
28943
28944 Monitor& VIPolar(bool value)
28945 {
28946 Obj_SetInt32(ptr, Properties::VIPolar, value);
28947 return *this;
28948 }
28949
28954 bool PPolar()
28955 {
28956 return Obj_GetInt32(ptr, Properties::PPolar) != 0;
28957 }
28958
28959 Monitor& PPolar(bool value)
28960 {
28961 Obj_SetInt32(ptr, Properties::PPolar, value);
28962 return *this;
28963 }
28964
28969 double basefreq()
28970 {
28971 return Obj_GetFloat64(ptr, Properties::basefreq);
28972 }
28973
28974 Monitor& basefreq(double value)
28975 {
28976 Obj_SetFloat64(ptr, Properties::basefreq, value);
28977 return *this;
28978 }
28979
28984 bool enabled()
28985 {
28986 return Obj_GetInt32(ptr, Properties::enabled) != 0;
28987 }
28988
28989 Monitor& enabled(bool value)
28990 {
28991 Obj_SetInt32(ptr, Properties::enabled, value);
28992 return *this;
28993 }
28994
29001 Monitor& like(const string &value)
29002 {
29003 set_string(Properties::like, value);
29004 return *this;
29005 }
29006
29013 Monitor& like(const char *value)
29014 {
29015 set_string(Properties::like, value);
29016 return *this;
29017 }
29018};
29019
29020
29021class EnergyMeter: public DSSObj
29022{
29023public:
29024 const static char dss_cls_name[];
29025 const static int32_t dss_cls_idx = 47;
29027 {
29028 enum {
29029 element = 1,
29030 terminal = 2,
29031 action = 3,
29032 option = 4,
29033 kVAnormal = 5,
29034 kVAemerg = 6,
29035 peakcurrent = 7,
29036 Zonelist = 8,
29037 LocalOnly = 9,
29038 Mask = 10,
29039 Losses = 11,
29040 LineLosses = 12,
29041 XfmrLosses = 13,
29042 SeqLosses = 14,
29043 threePaseLosses = 15,
29044 VbaseLosses = 16,
29045 PhaseVoltageReport = 17,
29046 Int_Rate = 18,
29047 Int_Duration = 19,
29048 SAIFI = 20,
29049 SAIFIkW = 21,
29050 SAIDI = 22,
29051 CAIDI = 23,
29052 CustInterrupts = 24,
29053 basefreq = 25,
29054 enabled = 26,
29055 like = 27,
29056 };
29057 };
29058
29059 // Class-specific enumerations
29060
29064 enum class EnergyMeterAction: int32_t
29065 {
29066 Allocate = 0,
29067 Clear = 1,
29068 Reduce = 2,
29069 Save = 3,
29070 Take = 4,
29071 ZoneDump = 5
29072 };
29073
29074
29075
29079 EnergyMeter(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
29080 {
29081 }
29082
29086 EnergyMeter(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
29087 {
29088 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
29089 check_for_error();
29090 if (ptr == nullptr)
29091 {
29092 throw std::runtime_error("Could not find the EnergyMeter element by the given index");
29093 }
29094 }
29095
29099 EnergyMeter(APIUtil *util, char *name): DSSObj(util, nullptr)
29100 {
29101 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
29102 check_for_error();
29103 if (ptr == nullptr)
29104 {
29105 throw std::runtime_error("Could not find the EnergyMeter element by the given name");
29106 }
29107 }
29108
29112 const char* name()
29113 {
29114 return Obj_GetName(ptr);
29115 }
29116
29121 {
29122 Obj_BeginEdit(ptr);
29123 return *this;
29124 }
29125
29130 EnergyMeter& end_edit(int32_t num_edits=1)
29131 {
29132 Obj_EndEdit(ptr, num_edits);
29133 return *this;
29134 }
29135
29140 string element()
29141 {
29142 return get_prop_string(Properties::element);
29143 }
29144
29145 EnergyMeter& element(const string &value)
29146 {
29147 set_string(Properties::element, value);
29148 return *this;
29149 }
29150
29152 {
29153 set_obj(Properties::element, value);
29154 return *this;
29155 }
29156
29162 {
29163 return get_obj<dss::obj::DSSObj>(Properties::element);
29164 }
29165
29167 {
29168 set_obj(Properties::element, value);
29169 return *this;
29170 }
29171
29176 int32_t terminal()
29177 {
29178 return Obj_GetInt32(ptr, Properties::terminal);
29179 }
29180
29181 EnergyMeter& terminal(int32_t value)
29182 {
29183 Obj_SetInt32(ptr, Properties::terminal, value);
29184 return *this;
29185 }
29186
29200 EnergyMeter& action(int32_t value)
29201 {
29202 Obj_SetInt32(ptr, Properties::action, value);
29203 return *this;
29204 }
29205
29220 {
29221 Obj_SetInt32(ptr, Properties::action, int32_t(value));
29222 return *this;
29223 }
29224
29238 EnergyMeter& action(const string &value)
29239 {
29240 set_string(Properties::action, value);
29241 return *this;
29242 }
29243
29257 EnergyMeter& action(const char *value)
29258 {
29259 set_string(Properties::action, value);
29260 return *this;
29261 }
29262
29276 strings option()
29277 {
29278 return get_array<strings>(Properties::option);
29279 }
29280
29281 EnergyMeter& option(strings &value)
29282 {
29283 set_array<strings>(Properties::option, value);
29284 return *this;
29285 }
29286
29291 double kVAnormal()
29292 {
29293 return Obj_GetFloat64(ptr, Properties::kVAnormal);
29294 }
29295
29296 EnergyMeter& kVAnormal(double value)
29297 {
29298 Obj_SetFloat64(ptr, Properties::kVAnormal, value);
29299 return *this;
29300 }
29301
29306 double kVAemerg()
29307 {
29308 return Obj_GetFloat64(ptr, Properties::kVAemerg);
29309 }
29310
29311 EnergyMeter& kVAemerg(double value)
29312 {
29313 Obj_SetFloat64(ptr, Properties::kVAemerg, value);
29314 return *this;
29315 }
29316
29321 VectorXd peakcurrent()
29322 {
29323 return get_array<VectorXd>(Properties::peakcurrent);
29324 }
29325
29326 EnergyMeter& peakcurrent(VectorXd &value)
29327 {
29328 set_array<VectorXd>(Properties::peakcurrent, value);
29329 return *this;
29330 }
29331
29339 strings Zonelist()
29340 {
29341 return get_array<strings>(Properties::Zonelist);
29342 }
29343
29344 EnergyMeter& Zonelist(strings &value)
29345 {
29346 set_array<strings>(Properties::Zonelist, value);
29347 return *this;
29348 }
29349
29355 {
29356 return Obj_GetInt32(ptr, Properties::LocalOnly) != 0;
29357 }
29358
29359 EnergyMeter& LocalOnly(bool value)
29360 {
29361 Obj_SetInt32(ptr, Properties::LocalOnly, value);
29362 return *this;
29363 }
29364
29369 VectorXd Mask()
29370 {
29371 return get_array<VectorXd>(Properties::Mask);
29372 }
29373
29374 EnergyMeter& Mask(VectorXd &value)
29375 {
29376 set_array<VectorXd>(Properties::Mask, value);
29377 return *this;
29378 }
29379
29384 bool Losses()
29385 {
29386 return Obj_GetInt32(ptr, Properties::Losses) != 0;
29387 }
29388
29389 EnergyMeter& Losses(bool value)
29390 {
29391 Obj_SetInt32(ptr, Properties::Losses, value);
29392 return *this;
29393 }
29394
29400 {
29401 return Obj_GetInt32(ptr, Properties::LineLosses) != 0;
29402 }
29403
29404 EnergyMeter& LineLosses(bool value)
29405 {
29406 Obj_SetInt32(ptr, Properties::LineLosses, value);
29407 return *this;
29408 }
29409
29415 {
29416 return Obj_GetInt32(ptr, Properties::XfmrLosses) != 0;
29417 }
29418
29419 EnergyMeter& XfmrLosses(bool value)
29420 {
29421 Obj_SetInt32(ptr, Properties::XfmrLosses, value);
29422 return *this;
29423 }
29424
29430 {
29431 return Obj_GetInt32(ptr, Properties::SeqLosses) != 0;
29432 }
29433
29434 EnergyMeter& SeqLosses(bool value)
29435 {
29436 Obj_SetInt32(ptr, Properties::SeqLosses, value);
29437 return *this;
29438 }
29439
29445 {
29446 return Obj_GetInt32(ptr, Properties::threePaseLosses) != 0;
29447 }
29448
29449 EnergyMeter& threePaseLosses(bool value)
29450 {
29451 Obj_SetInt32(ptr, Properties::threePaseLosses, value);
29452 return *this;
29453 }
29454
29460 {
29461 return Obj_GetInt32(ptr, Properties::VbaseLosses) != 0;
29462 }
29463
29464 EnergyMeter& VbaseLosses(bool value)
29465 {
29466 Obj_SetInt32(ptr, Properties::VbaseLosses, value);
29467 return *this;
29468 }
29469
29475 {
29476 return Obj_GetInt32(ptr, Properties::PhaseVoltageReport) != 0;
29477 }
29478
29479 EnergyMeter& PhaseVoltageReport(bool value)
29480 {
29481 Obj_SetInt32(ptr, Properties::PhaseVoltageReport, value);
29482 return *this;
29483 }
29484
29489 double Int_Rate()
29490 {
29491 return Obj_GetFloat64(ptr, Properties::Int_Rate);
29492 }
29493
29494 EnergyMeter& Int_Rate(double value)
29495 {
29496 Obj_SetFloat64(ptr, Properties::Int_Rate, value);
29497 return *this;
29498 }
29499
29505 {
29506 return Obj_GetFloat64(ptr, Properties::Int_Duration);
29507 }
29508
29509 EnergyMeter& Int_Duration(double value)
29510 {
29511 Obj_SetFloat64(ptr, Properties::Int_Duration, value);
29512 return *this;
29513 }
29514
29519 double SAIFI()
29520 {
29521 return Obj_GetFloat64(ptr, Properties::SAIFI);
29522 }
29523
29524 EnergyMeter& SAIFI(double value)
29525 {
29526 Obj_SetFloat64(ptr, Properties::SAIFI, value);
29527 return *this;
29528 }
29529
29534 double SAIFIkW()
29535 {
29536 return Obj_GetFloat64(ptr, Properties::SAIFIkW);
29537 }
29538
29539 EnergyMeter& SAIFIkW(double value)
29540 {
29541 Obj_SetFloat64(ptr, Properties::SAIFIkW, value);
29542 return *this;
29543 }
29544
29549 double SAIDI()
29550 {
29551 return Obj_GetFloat64(ptr, Properties::SAIDI);
29552 }
29553
29554 EnergyMeter& SAIDI(double value)
29555 {
29556 Obj_SetFloat64(ptr, Properties::SAIDI, value);
29557 return *this;
29558 }
29559
29564 double CAIDI()
29565 {
29566 return Obj_GetFloat64(ptr, Properties::CAIDI);
29567 }
29568
29569 EnergyMeter& CAIDI(double value)
29570 {
29571 Obj_SetFloat64(ptr, Properties::CAIDI, value);
29572 return *this;
29573 }
29574
29580 {
29581 return Obj_GetFloat64(ptr, Properties::CustInterrupts);
29582 }
29583
29584 EnergyMeter& CustInterrupts(double value)
29585 {
29586 Obj_SetFloat64(ptr, Properties::CustInterrupts, value);
29587 return *this;
29588 }
29589
29594 double basefreq()
29595 {
29596 return Obj_GetFloat64(ptr, Properties::basefreq);
29597 }
29598
29599 EnergyMeter& basefreq(double value)
29600 {
29601 Obj_SetFloat64(ptr, Properties::basefreq, value);
29602 return *this;
29603 }
29604
29609 bool enabled()
29610 {
29611 return Obj_GetInt32(ptr, Properties::enabled) != 0;
29612 }
29613
29614 EnergyMeter& enabled(bool value)
29615 {
29616 Obj_SetInt32(ptr, Properties::enabled, value);
29617 return *this;
29618 }
29619
29626 EnergyMeter& like(const string &value)
29627 {
29628 set_string(Properties::like, value);
29629 return *this;
29630 }
29631
29638 EnergyMeter& like(const char *value)
29639 {
29640 set_string(Properties::like, value);
29641 return *this;
29642 }
29643};
29644
29645
29646class Sensor: public DSSObj
29647{
29648public:
29649 const static char dss_cls_name[];
29650 const static int32_t dss_cls_idx = 48;
29652 {
29653 enum {
29654 element = 1,
29655 terminal = 2,
29656 kvbase = 3,
29657 clear = 4,
29658 kVs = 5,
29659 currents = 6,
29660 kWs = 7,
29661 kvars = 8,
29662 conn = 9,
29663 Deltadirection = 10,
29664 pctError = 11,
29665 Weight = 12,
29666 basefreq = 13,
29667 enabled = 14,
29668 like = 15,
29669 };
29670 };
29671
29675 Sensor(APIUtil *util=nullptr, void *ptr_=nullptr): DSSObj(util, ptr_)
29676 {
29677 }
29678
29682 Sensor(APIUtil *util, int32_t idx): DSSObj(util, nullptr)
29683 {
29684 ptr = Obj_GetHandleByIdx(util->ctx, dss_cls_idx, idx);
29685 check_for_error();
29686 if (ptr == nullptr)
29687 {
29688 throw std::runtime_error("Could not find the Sensor element by the given index");
29689 }
29690 }
29691
29695 Sensor(APIUtil *util, char *name): DSSObj(util, nullptr)
29696 {
29697 ptr = Obj_GetHandleByName(util->ctx, dss_cls_idx, name);
29698 check_for_error();
29699 if (ptr == nullptr)
29700 {
29701 throw std::runtime_error("Could not find the Sensor element by the given name");
29702 }
29703 }
29704
29708 const char* name()
29709 {
29710 return Obj_GetName(ptr);
29711 }
29712
29717 {
29718 Obj_BeginEdit(ptr);
29719 return *this;
29720 }
29721
29726 Sensor& end_edit(int32_t num_edits=1)
29727 {
29728 Obj_EndEdit(ptr, num_edits);
29729 return *this;
29730 }
29731
29736 string element()
29737 {
29738 return get_prop_string(Properties::element);
29739 }
29740
29741 Sensor& element(const string &value)
29742 {
29743 set_string(Properties::element, value);
29744 return *this;
29745 }
29746
29748 {
29749 set_obj(Properties::element, value);
29750 return *this;
29751 }
29752
29758 {
29759 return get_obj<dss::obj::DSSObj>(Properties::element);
29760 }
29761
29763 {
29764 set_obj(Properties::element, value);
29765 return *this;
29766 }
29767
29772 int32_t terminal()
29773 {
29774 return Obj_GetInt32(ptr, Properties::terminal);
29775 }
29776
29777 Sensor& terminal(int32_t value)
29778 {
29779 Obj_SetInt32(ptr, Properties::terminal, value);
29780 return *this;
29781 }
29782
29788 double kvbase()
29789 {
29790 return Obj_GetFloat64(ptr, Properties::kvbase);
29791 }
29792
29793 Sensor& kvbase(double value)
29794 {
29795 Obj_SetFloat64(ptr, Properties::kvbase, value);
29796 return *this;
29797 }
29798
29803 bool clear()
29804 {
29805 return Obj_GetInt32(ptr, Properties::clear) != 0;
29806 }
29807
29808 Sensor& clear(bool value)
29809 {
29810 Obj_SetInt32(ptr, Properties::clear, value);
29811 return *this;
29812 }
29813
29818 VectorXd kVs()
29819 {
29820 return get_array<VectorXd>(Properties::kVs);
29821 }
29822
29823 Sensor& kVs(VectorXd &value)
29824 {
29825 set_array<VectorXd>(Properties::kVs, value);
29826 return *this;
29827 }
29828
29833 VectorXd currents()
29834 {
29835 return get_array<VectorXd>(Properties::currents);
29836 }
29837
29838 Sensor& currents(VectorXd &value)
29839 {
29840 set_array<VectorXd>(Properties::currents, value);
29841 return *this;
29842 }
29843
29849 VectorXd kWs()
29850 {
29851 return get_array<VectorXd>(Properties::kWs);
29852 }
29853
29854 Sensor& kWs(VectorXd &value)
29855 {
29856 set_array<VectorXd>(Properties::kWs, value);
29857 return *this;
29858 }
29859
29864 VectorXd kvars()
29865 {
29866 return get_array<VectorXd>(Properties::kvars);
29867 }
29868
29869 Sensor& kvars(VectorXd &value)
29870 {
29871 set_array<VectorXd>(Properties::kvars, value);
29872 return *this;
29873 }
29874
29881 Connection conn()
29882 {
29883 return Connection(Obj_GetInt32(ptr, Properties::conn));
29884 }
29885
29886 Sensor& conn(int32_t value)
29887 {
29888 Obj_SetInt32(ptr, Properties::conn, value);
29889 return *this;
29890 }
29891
29892 Sensor& conn(Connection value)
29893 {
29894 Obj_SetInt32(ptr, Properties::conn, int32_t(value));
29895 return *this;
29896 }
29897
29898 Sensor& conn(const string &value)
29899 {
29900 set_string(Properties::conn, value);
29901 return *this;
29902 }
29903
29904 Sensor& conn(const char *value)
29905 {
29906 set_string(Properties::conn, value);
29907 return *this;
29908 }
29909
29916 string conn_str()
29917 {
29918 return get_prop_string(Properties::conn);
29919 }
29920
29927 Sensor& conn_str(const string &value)
29928 {
29929 set_string(Properties::conn, value);
29930 return *this;
29931 }
29932
29938 {
29939 return Obj_GetInt32(ptr, Properties::Deltadirection);
29940 }
29941
29942 Sensor& Deltadirection(int32_t value)
29943 {
29944 Obj_SetInt32(ptr, Properties::Deltadirection, value);
29945 return *this;
29946 }
29947
29952 double pctError()
29953 {
29954 return Obj_GetFloat64(ptr, Properties::pctError);
29955 }
29956
29957 Sensor& pctError(double value)
29958 {
29959 Obj_SetFloat64(ptr, Properties::pctError, value);
29960 return *this;
29961 }
29962
29967 double Weight()
29968 {
29969 return Obj_GetFloat64(ptr, Properties::Weight);
29970 }
29971
29972 Sensor& Weight(double value)
29973 {
29974 Obj_SetFloat64(ptr, Properties::Weight, value);
29975 return *this;
29976 }
29977
29982 double basefreq()
29983 {
29984 return Obj_GetFloat64(ptr, Properties::basefreq);
29985 }
29986
29987 Sensor& basefreq(double value)
29988 {
29989 Obj_SetFloat64(ptr, Properties::basefreq, value);
29990 return *this;
29991 }
29992
29997 bool enabled()
29998 {
29999 return Obj_GetInt32(ptr, Properties::enabled) != 0;
30000 }
30001
30002 Sensor& enabled(bool value)
30003 {
30004 Obj_SetInt32(ptr, Properties::enabled, value);
30005 return *this;
30006 }
30007
30014 Sensor& like(const string &value)
30015 {
30016 set_string(Properties::like, value);
30017 return *this;
30018 }
30019
30026 Sensor& like(const char *value)
30027 {
30028 set_string(Properties::like, value);
30029 return *this;
30030 }
30031};
30032
30033
30035{
30036public:
30039
30044 DSSBatch(util, LineCode::dss_cls_idx)
30045 {
30046 }
30047
30051 LineCodeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
30052 DSSBatch(util, LineCode::dss_cls_idx, prop_idx, prop_value)
30053 {
30054 }
30055
30059 LineCodeBatch(APIUtil *util, const char* regexp):
30060 DSSBatch(util, LineCode::dss_cls_idx, regexp)
30061 {
30062 }
30063
30064
30065 LineCodeBatch& begin_edit()
30066 {
30067 Batch_BeginEdit(pointer, count[0]);
30068 return *this;
30069 }
30070
30071 LineCodeBatch& end_edit(int32_t num_edits=1)
30072 {
30073 Batch_EndEdit(pointer, count[0], num_edits);
30074 return *this;
30075 }
30076
30077
30083 {
30084 return BatchInt32ArrayProxy(*this, Properties::nphases);
30085 }
30086
30087 LineCodeBatch& nphases(int32_t value)
30088 {
30089 set_batch_val(Properties::nphases, value);
30090 return *this;
30091 }
30092
30093 template <typename T>
30094 LineCodeBatch& nphases(T &value)
30095 {
30096 set_batch_val_for_each<T>(Properties::nphases, value.begin(), value.end());
30097 return *this;
30098 }
30099
30100 template <typename T>
30101 LineCodeBatch& nphases(typename T::iterator it_begin, typename T::iterator it_end)
30102 {
30103 set_batch_val_for_each<T>(Properties::nphases, it_begin, it_end);
30104 return *this;
30105 }
30106
30112 {
30113 return BatchFloat64ArrayProxy(*this, Properties::r1);
30114 }
30115
30116 LineCodeBatch& r1(double value)
30117 {
30118 set_batch_val<double>(Properties::r1, value);
30119 return *this;
30120 }
30121
30122 template <typename T>
30123 LineCodeBatch& r1(T &value)
30124 {
30125 set_batch_val_for_each<T>(Properties::r1, value.begin(), value.end());
30126 return *this;
30127 }
30128
30129 template <typename T>
30130 LineCodeBatch& r1(typename T::iterator it_begin, typename T::iterator it_end)
30131 {
30132 set_batch_val_for_each<T>(Properties::r1, it_begin, it_end);
30133 return *this;
30134 }
30135
30141 {
30142 return BatchFloat64ArrayProxy(*this, Properties::x1);
30143 }
30144
30145 LineCodeBatch& x1(double value)
30146 {
30147 set_batch_val<double>(Properties::x1, value);
30148 return *this;
30149 }
30150
30151 template <typename T>
30152 LineCodeBatch& x1(T &value)
30153 {
30154 set_batch_val_for_each<T>(Properties::x1, value.begin(), value.end());
30155 return *this;
30156 }
30157
30158 template <typename T>
30159 LineCodeBatch& x1(typename T::iterator it_begin, typename T::iterator it_end)
30160 {
30161 set_batch_val_for_each<T>(Properties::x1, it_begin, it_end);
30162 return *this;
30163 }
30164
30170 {
30171 return BatchFloat64ArrayProxy(*this, Properties::r0);
30172 }
30173
30174 LineCodeBatch& r0(double value)
30175 {
30176 set_batch_val<double>(Properties::r0, value);
30177 return *this;
30178 }
30179
30180 template <typename T>
30181 LineCodeBatch& r0(T &value)
30182 {
30183 set_batch_val_for_each<T>(Properties::r0, value.begin(), value.end());
30184 return *this;
30185 }
30186
30187 template <typename T>
30188 LineCodeBatch& r0(typename T::iterator it_begin, typename T::iterator it_end)
30189 {
30190 set_batch_val_for_each<T>(Properties::r0, it_begin, it_end);
30191 return *this;
30192 }
30193
30199 {
30200 return BatchFloat64ArrayProxy(*this, Properties::x0);
30201 }
30202
30203 LineCodeBatch& x0(double value)
30204 {
30205 set_batch_val<double>(Properties::x0, value);
30206 return *this;
30207 }
30208
30209 template <typename T>
30210 LineCodeBatch& x0(T &value)
30211 {
30212 set_batch_val_for_each<T>(Properties::x0, value.begin(), value.end());
30213 return *this;
30214 }
30215
30216 template <typename T>
30217 LineCodeBatch& x0(typename T::iterator it_begin, typename T::iterator it_end)
30218 {
30219 set_batch_val_for_each<T>(Properties::x0, it_begin, it_end);
30220 return *this;
30221 }
30222
30228 {
30229 return BatchFloat64ArrayProxy(*this, Properties::C1);
30230 }
30231
30232 LineCodeBatch& C1(double value)
30233 {
30234 set_batch_val<double>(Properties::C1, value);
30235 return *this;
30236 }
30237
30238 template <typename T>
30239 LineCodeBatch& C1(T &value)
30240 {
30241 set_batch_val_for_each<T>(Properties::C1, value.begin(), value.end());
30242 return *this;
30243 }
30244
30245 template <typename T>
30246 LineCodeBatch& C1(typename T::iterator it_begin, typename T::iterator it_end)
30247 {
30248 set_batch_val_for_each<T>(Properties::C1, it_begin, it_end);
30249 return *this;
30250 }
30251
30257 {
30258 return BatchFloat64ArrayProxy(*this, Properties::C0);
30259 }
30260
30261 LineCodeBatch& C0(double value)
30262 {
30263 set_batch_val<double>(Properties::C0, value);
30264 return *this;
30265 }
30266
30267 template <typename T>
30268 LineCodeBatch& C0(T &value)
30269 {
30270 set_batch_val_for_each<T>(Properties::C0, value.begin(), value.end());
30271 return *this;
30272 }
30273
30274 template <typename T>
30275 LineCodeBatch& C0(typename T::iterator it_begin, typename T::iterator it_end)
30276 {
30277 set_batch_val_for_each<T>(Properties::C0, it_begin, it_end);
30278 return *this;
30279 }
30280
30286 {
30287 return BatchInt32ArrayProxy(*this, Properties::units);
30288 }
30289
30290 LineCodeBatch& units(string &value)
30291 {
30292 set_batch_val(Properties::units, value);
30293 return *this;
30294 }
30295
30296 LineCodeBatch& units(int32_t value)
30297 {
30298 set_batch_val(Properties::units, value);
30299 return *this;
30300 }
30301
30302 LineCodeBatch& units(DimensionUnits value)
30303 {
30304 set_batch_val(Properties::units, int32_t(value));
30305 return *this;
30306 }
30307
30308 LineCodeBatch& units(strings &value)
30309 {
30310 set_batch_val_for_each<strings>(Properties::units, value.begin(), value.end());
30311 return *this;
30312 }
30313
30314 LineCodeBatch& units(std::vector<int32_t> &value)
30315 {
30316 set_batch_val_for_each<std::vector<int32_t>>(Properties::units, value.begin(), value.end());
30317 return *this;
30318 }
30319
30320 LineCodeBatch& units(std::vector<DimensionUnits> &value)
30321 {
30322 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::units, value.begin(), value.end());
30323 return *this;
30324 }
30325
30330 strings units_str()
30331 {
30332 return get_batch_val<strings>(Properties::units);
30333 }
30334
30335 LineCodeBatch& units_str(string &value)
30336 {
30337 units(value);
30338 return *this;
30339 }
30340
30341 LineCodeBatch& units_str(strings &value)
30342 {
30343 units(value);
30344 return *this;
30345 }
30346
30351 std::vector<VectorXd> rmatrix()
30352 {
30353 return get_batch_valarray<VectorXd>(Properties::rmatrix);
30354 }
30355
30356 LineCodeBatch& rmatrix(VectorXd &value)
30357 {
30358 set_batch_val<VectorXd>(Properties::rmatrix, value);
30359 return *this;
30360 }
30361
30366 std::vector<VectorXd> xmatrix()
30367 {
30368 return get_batch_valarray<VectorXd>(Properties::xmatrix);
30369 }
30370
30371 LineCodeBatch& xmatrix(VectorXd &value)
30372 {
30373 set_batch_val<VectorXd>(Properties::xmatrix, value);
30374 return *this;
30375 }
30376
30381 std::vector<VectorXd> cmatrix()
30382 {
30383 return get_batch_valarray<VectorXd>(Properties::cmatrix);
30384 }
30385
30386 LineCodeBatch& cmatrix(VectorXd &value)
30387 {
30388 set_batch_val<VectorXd>(Properties::cmatrix, value);
30389 return *this;
30390 }
30391
30397 {
30398 return BatchFloat64ArrayProxy(*this, Properties::baseFreq);
30399 }
30400
30401 LineCodeBatch& baseFreq(double value)
30402 {
30403 set_batch_val<double>(Properties::baseFreq, value);
30404 return *this;
30405 }
30406
30407 template <typename T>
30408 LineCodeBatch& baseFreq(T &value)
30409 {
30410 set_batch_val_for_each<T>(Properties::baseFreq, value.begin(), value.end());
30411 return *this;
30412 }
30413
30414 template <typename T>
30415 LineCodeBatch& baseFreq(typename T::iterator it_begin, typename T::iterator it_end)
30416 {
30417 set_batch_val_for_each<T>(Properties::baseFreq, it_begin, it_end);
30418 return *this;
30419 }
30420
30426 {
30427 return BatchFloat64ArrayProxy(*this, Properties::normamps);
30428 }
30429
30430 LineCodeBatch& normamps(double value)
30431 {
30432 set_batch_val<double>(Properties::normamps, value);
30433 return *this;
30434 }
30435
30436 template <typename T>
30437 LineCodeBatch& normamps(T &value)
30438 {
30439 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
30440 return *this;
30441 }
30442
30443 template <typename T>
30444 LineCodeBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
30445 {
30446 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
30447 return *this;
30448 }
30449
30455 {
30456 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
30457 }
30458
30459 LineCodeBatch& emergamps(double value)
30460 {
30461 set_batch_val<double>(Properties::emergamps, value);
30462 return *this;
30463 }
30464
30465 template <typename T>
30466 LineCodeBatch& emergamps(T &value)
30467 {
30468 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
30469 return *this;
30470 }
30471
30472 template <typename T>
30473 LineCodeBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
30474 {
30475 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
30476 return *this;
30477 }
30478
30484 {
30485 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
30486 }
30487
30488 LineCodeBatch& faultrate(double value)
30489 {
30490 set_batch_val<double>(Properties::faultrate, value);
30491 return *this;
30492 }
30493
30494 template <typename T>
30495 LineCodeBatch& faultrate(T &value)
30496 {
30497 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
30498 return *this;
30499 }
30500
30501 template <typename T>
30502 LineCodeBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
30503 {
30504 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
30505 return *this;
30506 }
30507
30513 {
30514 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
30515 }
30516
30517 LineCodeBatch& pctperm(double value)
30518 {
30519 set_batch_val<double>(Properties::pctperm, value);
30520 return *this;
30521 }
30522
30523 template <typename T>
30524 LineCodeBatch& pctperm(T &value)
30525 {
30526 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
30527 return *this;
30528 }
30529
30530 template <typename T>
30531 LineCodeBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
30532 {
30533 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
30534 return *this;
30535 }
30536
30542 {
30543 return BatchFloat64ArrayProxy(*this, Properties::repair);
30544 }
30545
30546 LineCodeBatch& repair(double value)
30547 {
30548 set_batch_val<double>(Properties::repair, value);
30549 return *this;
30550 }
30551
30552 template <typename T>
30553 LineCodeBatch& repair(T &value)
30554 {
30555 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
30556 return *this;
30557 }
30558
30559 template <typename T>
30560 LineCodeBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
30561 {
30562 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
30563 return *this;
30564 }
30565
30570 LineCodeBatch& Kron(bool value)
30571 {
30572 set_batch_val(Properties::Kron, int32_t(value));
30573 return *this;
30574 }
30575
30581 {
30582 return BatchFloat64ArrayProxy(*this, Properties::Rg);
30583 }
30584
30585 LineCodeBatch& Rg(double value)
30586 {
30587 set_batch_val<double>(Properties::Rg, value);
30588 return *this;
30589 }
30590
30591 template <typename T>
30592 LineCodeBatch& Rg(T &value)
30593 {
30594 set_batch_val_for_each<T>(Properties::Rg, value.begin(), value.end());
30595 return *this;
30596 }
30597
30598 template <typename T>
30599 LineCodeBatch& Rg(typename T::iterator it_begin, typename T::iterator it_end)
30600 {
30601 set_batch_val_for_each<T>(Properties::Rg, it_begin, it_end);
30602 return *this;
30603 }
30604
30610 {
30611 return BatchFloat64ArrayProxy(*this, Properties::Xg);
30612 }
30613
30614 LineCodeBatch& Xg(double value)
30615 {
30616 set_batch_val<double>(Properties::Xg, value);
30617 return *this;
30618 }
30619
30620 template <typename T>
30621 LineCodeBatch& Xg(T &value)
30622 {
30623 set_batch_val_for_each<T>(Properties::Xg, value.begin(), value.end());
30624 return *this;
30625 }
30626
30627 template <typename T>
30628 LineCodeBatch& Xg(typename T::iterator it_begin, typename T::iterator it_end)
30629 {
30630 set_batch_val_for_each<T>(Properties::Xg, it_begin, it_end);
30631 return *this;
30632 }
30633
30639 {
30640 return BatchFloat64ArrayProxy(*this, Properties::rho);
30641 }
30642
30643 LineCodeBatch& rho(double value)
30644 {
30645 set_batch_val<double>(Properties::rho, value);
30646 return *this;
30647 }
30648
30649 template <typename T>
30650 LineCodeBatch& rho(T &value)
30651 {
30652 set_batch_val_for_each<T>(Properties::rho, value.begin(), value.end());
30653 return *this;
30654 }
30655
30656 template <typename T>
30657 LineCodeBatch& rho(typename T::iterator it_begin, typename T::iterator it_end)
30658 {
30659 set_batch_val_for_each<T>(Properties::rho, it_begin, it_end);
30660 return *this;
30661 }
30662
30668 {
30669 return BatchInt32ArrayProxy(*this, Properties::neutral);
30670 }
30671
30672 LineCodeBatch& neutral(int32_t value)
30673 {
30674 set_batch_val(Properties::neutral, value);
30675 return *this;
30676 }
30677
30678 template <typename T>
30679 LineCodeBatch& neutral(T &value)
30680 {
30681 set_batch_val_for_each<T>(Properties::neutral, value.begin(), value.end());
30682 return *this;
30683 }
30684
30685 template <typename T>
30686 LineCodeBatch& neutral(typename T::iterator it_begin, typename T::iterator it_end)
30687 {
30688 set_batch_val_for_each<T>(Properties::neutral, it_begin, it_end);
30689 return *this;
30690 }
30691
30697 {
30698 return BatchFloat64ArrayProxy(*this, Properties::B1);
30699 }
30700
30701 LineCodeBatch& B1(double value)
30702 {
30703 set_batch_val<double>(Properties::B1, value);
30704 return *this;
30705 }
30706
30707 template <typename T>
30708 LineCodeBatch& B1(T &value)
30709 {
30710 set_batch_val_for_each<T>(Properties::B1, value.begin(), value.end());
30711 return *this;
30712 }
30713
30714 template <typename T>
30715 LineCodeBatch& B1(typename T::iterator it_begin, typename T::iterator it_end)
30716 {
30717 set_batch_val_for_each<T>(Properties::B1, it_begin, it_end);
30718 return *this;
30719 }
30720
30726 {
30727 return BatchFloat64ArrayProxy(*this, Properties::B0);
30728 }
30729
30730 LineCodeBatch& B0(double value)
30731 {
30732 set_batch_val<double>(Properties::B0, value);
30733 return *this;
30734 }
30735
30736 template <typename T>
30737 LineCodeBatch& B0(T &value)
30738 {
30739 set_batch_val_for_each<T>(Properties::B0, value.begin(), value.end());
30740 return *this;
30741 }
30742
30743 template <typename T>
30744 LineCodeBatch& B0(typename T::iterator it_begin, typename T::iterator it_end)
30745 {
30746 set_batch_val_for_each<T>(Properties::B0, it_begin, it_end);
30747 return *this;
30748 }
30749
30755 {
30756 return BatchInt32ArrayProxy(*this, Properties::Seasons);
30757 }
30758
30759 LineCodeBatch& Seasons(int32_t value)
30760 {
30761 set_batch_val(Properties::Seasons, value);
30762 return *this;
30763 }
30764
30765 template <typename T>
30766 LineCodeBatch& Seasons(T &value)
30767 {
30768 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
30769 return *this;
30770 }
30771
30772 template <typename T>
30773 LineCodeBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
30774 {
30775 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
30776 return *this;
30777 }
30778
30784 std::vector<VectorXd> Ratings()
30785 {
30786 return get_batch_valarray<VectorXd>(Properties::Ratings);
30787 }
30788
30789 LineCodeBatch& Ratings(VectorXd &value)
30790 {
30791 set_batch_val<VectorXd>(Properties::Ratings, value);
30792 return *this;
30793 }
30794
30803 {
30804 return BatchInt32ArrayProxy(*this, Properties::LineType);
30805 }
30806
30807 LineCodeBatch& linetype(string &value)
30808 {
30809 set_batch_val(Properties::LineType, value);
30810 return *this;
30811 }
30812
30813 LineCodeBatch& linetype(int32_t value)
30814 {
30815 set_batch_val(Properties::LineType, value);
30816 return *this;
30817 }
30818
30819 LineCodeBatch& linetype(LineType value)
30820 {
30821 set_batch_val(Properties::LineType, int32_t(value));
30822 return *this;
30823 }
30824
30825 LineCodeBatch& linetype(strings &value)
30826 {
30827 set_batch_val_for_each<strings>(Properties::LineType, value.begin(), value.end());
30828 return *this;
30829 }
30830
30831 LineCodeBatch& linetype(std::vector<int32_t> &value)
30832 {
30833 set_batch_val_for_each<std::vector<int32_t>>(Properties::LineType, value.begin(), value.end());
30834 return *this;
30835 }
30836
30837 LineCodeBatch& linetype(std::vector<LineType> &value)
30838 {
30839 set_batch_val_for_each<std::vector<LineType>>(Properties::LineType, value.begin(), value.end());
30840 return *this;
30841 }
30842
30851 {
30852 return get_batch_val<strings>(Properties::LineType);
30853 }
30854
30855 LineCodeBatch& linetype_str(string &value)
30856 {
30857 linetype(value);
30858 return *this;
30859 }
30860
30861 LineCodeBatch& linetype_str(strings &value)
30862 {
30863 linetype(value);
30864 return *this;
30865 }
30866
30873 LineCodeBatch& like(const string &value)
30874 {
30875 set_batch_val(Properties::like, value.c_str());
30876 return *this;
30877 }
30878
30885 LineCodeBatch& like(const char *value)
30886 {
30887 set_batch_val(Properties::like, value);
30888 return *this;
30889 }
30890};
30891
30892
30894{
30895public:
30898
30899 // Shortcuts to class-specific enumerations
30901
30902
30907 DSSBatch(util, LoadShape::dss_cls_idx)
30908 {
30909 }
30910
30914 LoadShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
30915 DSSBatch(util, LoadShape::dss_cls_idx, prop_idx, prop_value)
30916 {
30917 }
30918
30922 LoadShapeBatch(APIUtil *util, const char* regexp):
30923 DSSBatch(util, LoadShape::dss_cls_idx, regexp)
30924 {
30925 }
30926
30927
30928 LoadShapeBatch& begin_edit()
30929 {
30930 Batch_BeginEdit(pointer, count[0]);
30931 return *this;
30932 }
30933
30934 LoadShapeBatch& end_edit(int32_t num_edits=1)
30935 {
30936 Batch_EndEdit(pointer, count[0], num_edits);
30937 return *this;
30938 }
30939
30940
30946 {
30947 return BatchInt32ArrayProxy(*this, Properties::npts);
30948 }
30949
30950 LoadShapeBatch& npts(int32_t value)
30951 {
30952 set_batch_val(Properties::npts, value);
30953 return *this;
30954 }
30955
30956 template <typename T>
30957 LoadShapeBatch& npts(T &value)
30958 {
30959 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
30960 return *this;
30961 }
30962
30963 template <typename T>
30964 LoadShapeBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
30965 {
30966 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
30967 return *this;
30968 }
30969
30977 {
30978 return BatchFloat64ArrayProxy(*this, Properties::interval);
30979 }
30980
30981 LoadShapeBatch& interval(double value)
30982 {
30983 set_batch_val<double>(Properties::interval, value);
30984 return *this;
30985 }
30986
30987 template <typename T>
30988 LoadShapeBatch& interval(T &value)
30989 {
30990 set_batch_val_for_each<T>(Properties::interval, value.begin(), value.end());
30991 return *this;
30992 }
30993
30994 template <typename T>
30995 LoadShapeBatch& interval(typename T::iterator it_begin, typename T::iterator it_end)
30996 {
30997 set_batch_val_for_each<T>(Properties::interval, it_begin, it_end);
30998 return *this;
30999 }
31000
31016 std::vector<VectorXd> mult()
31017 {
31018 return get_batch_valarray<VectorXd>(Properties::mult);
31019 }
31020
31021 LoadShapeBatch& mult(VectorXd &value)
31022 {
31023 set_batch_val<VectorXd>(Properties::mult, value);
31024 return *this;
31025 }
31026
31034 std::vector<VectorXd> hour()
31035 {
31036 return get_batch_valarray<VectorXd>(Properties::hour);
31037 }
31038
31039 LoadShapeBatch& hour(VectorXd &value)
31040 {
31041 set_batch_val<VectorXd>(Properties::hour, value);
31042 return *this;
31043 }
31044
31050 {
31051 return BatchFloat64ArrayProxy(*this, Properties::mean);
31052 }
31053
31054 LoadShapeBatch& mean(double value)
31055 {
31056 set_batch_val<double>(Properties::mean, value);
31057 return *this;
31058 }
31059
31060 template <typename T>
31061 LoadShapeBatch& mean(T &value)
31062 {
31063 set_batch_val_for_each<T>(Properties::mean, value.begin(), value.end());
31064 return *this;
31065 }
31066
31067 template <typename T>
31068 LoadShapeBatch& mean(typename T::iterator it_begin, typename T::iterator it_end)
31069 {
31070 set_batch_val_for_each<T>(Properties::mean, it_begin, it_end);
31071 return *this;
31072 }
31073
31081 {
31082 return BatchFloat64ArrayProxy(*this, Properties::stddev);
31083 }
31084
31085 LoadShapeBatch& stddev(double value)
31086 {
31087 set_batch_val<double>(Properties::stddev, value);
31088 return *this;
31089 }
31090
31091 template <typename T>
31092 LoadShapeBatch& stddev(T &value)
31093 {
31094 set_batch_val_for_each<T>(Properties::stddev, value.begin(), value.end());
31095 return *this;
31096 }
31097
31098 template <typename T>
31099 LoadShapeBatch& stddev(typename T::iterator it_begin, typename T::iterator it_end)
31100 {
31101 set_batch_val_for_each<T>(Properties::stddev, it_begin, it_end);
31102 return *this;
31103 }
31104
31109 strings csvfile()
31110 {
31111 return get_batch_val<strings>(Properties::csvfile);
31112 }
31113
31114 LoadShapeBatch& csvfile(const string &value)
31115 {
31116 set_batch_val(Properties::csvfile, value.c_str());
31117 return *this;
31118 }
31119
31120 LoadShapeBatch& csvfile(strings &value)
31121 {
31122 set_batch_val_for_each<strings>(Properties::csvfile, value.begin(), value.end());
31123 return *this;
31124 }
31125
31130 strings sngfile()
31131 {
31132 return get_batch_val<strings>(Properties::sngfile);
31133 }
31134
31135 LoadShapeBatch& sngfile(const string &value)
31136 {
31137 set_batch_val(Properties::sngfile, value.c_str());
31138 return *this;
31139 }
31140
31141 LoadShapeBatch& sngfile(strings &value)
31142 {
31143 set_batch_val_for_each<strings>(Properties::sngfile, value.begin(), value.end());
31144 return *this;
31145 }
31146
31151 strings dblfile()
31152 {
31153 return get_batch_val<strings>(Properties::dblfile);
31154 }
31155
31156 LoadShapeBatch& dblfile(const string &value)
31157 {
31158 set_batch_val(Properties::dblfile, value.c_str());
31159 return *this;
31160 }
31161
31162 LoadShapeBatch& dblfile(strings &value)
31163 {
31164 set_batch_val_for_each<strings>(Properties::dblfile, value.begin(), value.end());
31165 return *this;
31166 }
31167
31174 LoadShapeBatch& action(int32_t value)
31175 {
31176 set_batch_val(Properties::action, value);
31177 return *this;
31178 }
31179
31187 {
31188 set_batch_val(Properties::action, int32_t(value));
31189 return *this;
31190 }
31191
31198 LoadShapeBatch& action(const string &value)
31199 {
31200 set_batch_val(Properties::action, value.c_str());
31201 return *this;
31202 }
31203
31210 LoadShapeBatch& action(const char *value)
31211 {
31212 set_batch_val(Properties::action, value);
31213 return *this;
31214 }
31215
31224 std::vector<VectorXd> qmult()
31225 {
31226 return get_batch_valarray<VectorXd>(Properties::qmult);
31227 }
31228
31229 LoadShapeBatch& qmult(VectorXd &value)
31230 {
31231 set_batch_val<VectorXd>(Properties::qmult, value);
31232 return *this;
31233 }
31234
31240 {
31241 return get_batch_val<bools>(Properties::UseActual);
31242 }
31243
31244 LoadShapeBatch& UseActual(bool value)
31245 {
31246 set_batch_val(Properties::UseActual, int32_t(value));
31247 return *this;
31248 }
31249
31250 LoadShapeBatch& UseActual(bools &value)
31251 {
31252 set_batch_val_for_each<std::vector<int32_t>>(Properties::UseActual, value.begin(), value.end());
31253 return *this;
31254 }
31255
31261 {
31262 return BatchFloat64ArrayProxy(*this, Properties::Pmax);
31263 }
31264
31265 LoadShapeBatch& Pmax(double value)
31266 {
31267 set_batch_val<double>(Properties::Pmax, value);
31268 return *this;
31269 }
31270
31271 template <typename T>
31272 LoadShapeBatch& Pmax(T &value)
31273 {
31274 set_batch_val_for_each<T>(Properties::Pmax, value.begin(), value.end());
31275 return *this;
31276 }
31277
31278 template <typename T>
31279 LoadShapeBatch& Pmax(typename T::iterator it_begin, typename T::iterator it_end)
31280 {
31281 set_batch_val_for_each<T>(Properties::Pmax, it_begin, it_end);
31282 return *this;
31283 }
31284
31290 {
31291 return BatchFloat64ArrayProxy(*this, Properties::Qmax);
31292 }
31293
31294 LoadShapeBatch& Qmax(double value)
31295 {
31296 set_batch_val<double>(Properties::Qmax, value);
31297 return *this;
31298 }
31299
31300 template <typename T>
31301 LoadShapeBatch& Qmax(T &value)
31302 {
31303 set_batch_val_for_each<T>(Properties::Qmax, value.begin(), value.end());
31304 return *this;
31305 }
31306
31307 template <typename T>
31308 LoadShapeBatch& Qmax(typename T::iterator it_begin, typename T::iterator it_end)
31309 {
31310 set_batch_val_for_each<T>(Properties::Qmax, it_begin, it_end);
31311 return *this;
31312 }
31313
31319 {
31320 return BatchFloat64ArrayProxy(*this, Properties::sinterval);
31321 }
31322
31323 LoadShapeBatch& sinterval(double value)
31324 {
31325 set_batch_val<double>(Properties::sinterval, value);
31326 return *this;
31327 }
31328
31329 template <typename T>
31330 LoadShapeBatch& sinterval(T &value)
31331 {
31332 set_batch_val_for_each<T>(Properties::sinterval, value.begin(), value.end());
31333 return *this;
31334 }
31335
31336 template <typename T>
31337 LoadShapeBatch& sinterval(typename T::iterator it_begin, typename T::iterator it_end)
31338 {
31339 set_batch_val_for_each<T>(Properties::sinterval, it_begin, it_end);
31340 return *this;
31341 }
31342
31348 {
31349 return BatchFloat64ArrayProxy(*this, Properties::minterval);
31350 }
31351
31352 LoadShapeBatch& minterval(double value)
31353 {
31354 set_batch_val<double>(Properties::minterval, value);
31355 return *this;
31356 }
31357
31358 template <typename T>
31359 LoadShapeBatch& minterval(T &value)
31360 {
31361 set_batch_val_for_each<T>(Properties::minterval, value.begin(), value.end());
31362 return *this;
31363 }
31364
31365 template <typename T>
31366 LoadShapeBatch& minterval(typename T::iterator it_begin, typename T::iterator it_end)
31367 {
31368 set_batch_val_for_each<T>(Properties::minterval, it_begin, it_end);
31369 return *this;
31370 }
31371
31377 {
31378 return BatchFloat64ArrayProxy(*this, Properties::Pbase);
31379 }
31380
31381 LoadShapeBatch& Pbase(double value)
31382 {
31383 set_batch_val<double>(Properties::Pbase, value);
31384 return *this;
31385 }
31386
31387 template <typename T>
31388 LoadShapeBatch& Pbase(T &value)
31389 {
31390 set_batch_val_for_each<T>(Properties::Pbase, value.begin(), value.end());
31391 return *this;
31392 }
31393
31394 template <typename T>
31395 LoadShapeBatch& Pbase(typename T::iterator it_begin, typename T::iterator it_end)
31396 {
31397 set_batch_val_for_each<T>(Properties::Pbase, it_begin, it_end);
31398 return *this;
31399 }
31400
31406 {
31407 return BatchFloat64ArrayProxy(*this, Properties::Qbase);
31408 }
31409
31410 LoadShapeBatch& Qbase(double value)
31411 {
31412 set_batch_val<double>(Properties::Qbase, value);
31413 return *this;
31414 }
31415
31416 template <typename T>
31417 LoadShapeBatch& Qbase(T &value)
31418 {
31419 set_batch_val_for_each<T>(Properties::Qbase, value.begin(), value.end());
31420 return *this;
31421 }
31422
31423 template <typename T>
31424 LoadShapeBatch& Qbase(typename T::iterator it_begin, typename T::iterator it_end)
31425 {
31426 set_batch_val_for_each<T>(Properties::Qbase, it_begin, it_end);
31427 return *this;
31428 }
31429
31434 std::vector<VectorXd> Pmult()
31435 {
31436 return get_batch_valarray<VectorXd>(Properties::Pmult);
31437 }
31438
31439 LoadShapeBatch& Pmult(VectorXd &value)
31440 {
31441 set_batch_val<VectorXd>(Properties::Pmult, value);
31442 return *this;
31443 }
31444
31450 strings PQCSVFile()
31451 {
31452 return get_batch_val<strings>(Properties::PQCSVFile);
31453 }
31454
31455 LoadShapeBatch& PQCSVFile(const string &value)
31456 {
31457 set_batch_val(Properties::PQCSVFile, value.c_str());
31458 return *this;
31459 }
31460
31461 LoadShapeBatch& PQCSVFile(strings &value)
31462 {
31463 set_batch_val_for_each<strings>(Properties::PQCSVFile, value.begin(), value.end());
31464 return *this;
31465 }
31466
31473 {
31474 return get_batch_val<bools>(Properties::MemoryMapping);
31475 }
31476
31477 LoadShapeBatch& MemoryMapping(bool value)
31478 {
31479 set_batch_val(Properties::MemoryMapping, int32_t(value));
31480 return *this;
31481 }
31482
31483 LoadShapeBatch& MemoryMapping(bools &value)
31484 {
31485 set_batch_val_for_each<std::vector<int32_t>>(Properties::MemoryMapping, value.begin(), value.end());
31486 return *this;
31487 }
31488
31495 LoadShapeBatch& like(const string &value)
31496 {
31497 set_batch_val(Properties::like, value.c_str());
31498 return *this;
31499 }
31500
31507 LoadShapeBatch& like(const char *value)
31508 {
31509 set_batch_val(Properties::like, value);
31510 return *this;
31511 }
31512};
31513
31514
31516{
31517public:
31519 typedef TShape BatchElementClass;
31520
31521 // Shortcuts to class-specific enumerations
31523
31524
31529 DSSBatch(util, TShape::dss_cls_idx)
31530 {
31531 }
31532
31536 TShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
31537 DSSBatch(util, TShape::dss_cls_idx, prop_idx, prop_value)
31538 {
31539 }
31540
31544 TShapeBatch(APIUtil *util, const char* regexp):
31545 DSSBatch(util, TShape::dss_cls_idx, regexp)
31546 {
31547 }
31548
31549
31550 TShapeBatch& begin_edit()
31551 {
31552 Batch_BeginEdit(pointer, count[0]);
31553 return *this;
31554 }
31555
31556 TShapeBatch& end_edit(int32_t num_edits=1)
31557 {
31558 Batch_EndEdit(pointer, count[0], num_edits);
31559 return *this;
31560 }
31561
31562
31568 {
31569 return BatchInt32ArrayProxy(*this, Properties::npts);
31570 }
31571
31572 TShapeBatch& npts(int32_t value)
31573 {
31574 set_batch_val(Properties::npts, value);
31575 return *this;
31576 }
31577
31578 template <typename T>
31579 TShapeBatch& npts(T &value)
31580 {
31581 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
31582 return *this;
31583 }
31584
31585 template <typename T>
31586 TShapeBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
31587 {
31588 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
31589 return *this;
31590 }
31591
31599 {
31600 return BatchFloat64ArrayProxy(*this, Properties::interval);
31601 }
31602
31603 TShapeBatch& interval(double value)
31604 {
31605 set_batch_val<double>(Properties::interval, value);
31606 return *this;
31607 }
31608
31609 template <typename T>
31610 TShapeBatch& interval(T &value)
31611 {
31612 set_batch_val_for_each<T>(Properties::interval, value.begin(), value.end());
31613 return *this;
31614 }
31615
31616 template <typename T>
31617 TShapeBatch& interval(typename T::iterator it_begin, typename T::iterator it_end)
31618 {
31619 set_batch_val_for_each<T>(Properties::interval, it_begin, it_end);
31620 return *this;
31621 }
31622
31632 std::vector<VectorXd> temp()
31633 {
31634 return get_batch_valarray<VectorXd>(Properties::temp);
31635 }
31636
31637 TShapeBatch& temp(VectorXd &value)
31638 {
31639 set_batch_val<VectorXd>(Properties::temp, value);
31640 return *this;
31641 }
31642
31650 std::vector<VectorXd> hour()
31651 {
31652 return get_batch_valarray<VectorXd>(Properties::hour);
31653 }
31654
31655 TShapeBatch& hour(VectorXd &value)
31656 {
31657 set_batch_val<VectorXd>(Properties::hour, value);
31658 return *this;
31659 }
31660
31666 {
31667 return BatchFloat64ArrayProxy(*this, Properties::mean);
31668 }
31669
31670 TShapeBatch& mean(double value)
31671 {
31672 set_batch_val<double>(Properties::mean, value);
31673 return *this;
31674 }
31675
31676 template <typename T>
31677 TShapeBatch& mean(T &value)
31678 {
31679 set_batch_val_for_each<T>(Properties::mean, value.begin(), value.end());
31680 return *this;
31681 }
31682
31683 template <typename T>
31684 TShapeBatch& mean(typename T::iterator it_begin, typename T::iterator it_end)
31685 {
31686 set_batch_val_for_each<T>(Properties::mean, it_begin, it_end);
31687 return *this;
31688 }
31689
31697 {
31698 return BatchFloat64ArrayProxy(*this, Properties::stddev);
31699 }
31700
31701 TShapeBatch& stddev(double value)
31702 {
31703 set_batch_val<double>(Properties::stddev, value);
31704 return *this;
31705 }
31706
31707 template <typename T>
31708 TShapeBatch& stddev(T &value)
31709 {
31710 set_batch_val_for_each<T>(Properties::stddev, value.begin(), value.end());
31711 return *this;
31712 }
31713
31714 template <typename T>
31715 TShapeBatch& stddev(typename T::iterator it_begin, typename T::iterator it_end)
31716 {
31717 set_batch_val_for_each<T>(Properties::stddev, it_begin, it_end);
31718 return *this;
31719 }
31720
31725 strings csvfile()
31726 {
31727 return get_batch_val<strings>(Properties::csvfile);
31728 }
31729
31730 TShapeBatch& csvfile(const string &value)
31731 {
31732 set_batch_val(Properties::csvfile, value.c_str());
31733 return *this;
31734 }
31735
31736 TShapeBatch& csvfile(strings &value)
31737 {
31738 set_batch_val_for_each<strings>(Properties::csvfile, value.begin(), value.end());
31739 return *this;
31740 }
31741
31746 strings sngfile()
31747 {
31748 return get_batch_val<strings>(Properties::sngfile);
31749 }
31750
31751 TShapeBatch& sngfile(const string &value)
31752 {
31753 set_batch_val(Properties::sngfile, value.c_str());
31754 return *this;
31755 }
31756
31757 TShapeBatch& sngfile(strings &value)
31758 {
31759 set_batch_val_for_each<strings>(Properties::sngfile, value.begin(), value.end());
31760 return *this;
31761 }
31762
31767 strings dblfile()
31768 {
31769 return get_batch_val<strings>(Properties::dblfile);
31770 }
31771
31772 TShapeBatch& dblfile(const string &value)
31773 {
31774 set_batch_val(Properties::dblfile, value.c_str());
31775 return *this;
31776 }
31777
31778 TShapeBatch& dblfile(strings &value)
31779 {
31780 set_batch_val_for_each<strings>(Properties::dblfile, value.begin(), value.end());
31781 return *this;
31782 }
31783
31789 {
31790 return BatchFloat64ArrayProxy(*this, Properties::sinterval);
31791 }
31792
31793 TShapeBatch& sinterval(double value)
31794 {
31795 set_batch_val<double>(Properties::sinterval, value);
31796 return *this;
31797 }
31798
31799 template <typename T>
31800 TShapeBatch& sinterval(T &value)
31801 {
31802 set_batch_val_for_each<T>(Properties::sinterval, value.begin(), value.end());
31803 return *this;
31804 }
31805
31806 template <typename T>
31807 TShapeBatch& sinterval(typename T::iterator it_begin, typename T::iterator it_end)
31808 {
31809 set_batch_val_for_each<T>(Properties::sinterval, it_begin, it_end);
31810 return *this;
31811 }
31812
31818 {
31819 return BatchFloat64ArrayProxy(*this, Properties::minterval);
31820 }
31821
31822 TShapeBatch& minterval(double value)
31823 {
31824 set_batch_val<double>(Properties::minterval, value);
31825 return *this;
31826 }
31827
31828 template <typename T>
31829 TShapeBatch& minterval(T &value)
31830 {
31831 set_batch_val_for_each<T>(Properties::minterval, value.begin(), value.end());
31832 return *this;
31833 }
31834
31835 template <typename T>
31836 TShapeBatch& minterval(typename T::iterator it_begin, typename T::iterator it_end)
31837 {
31838 set_batch_val_for_each<T>(Properties::minterval, it_begin, it_end);
31839 return *this;
31840 }
31841
31846 TShapeBatch& action(int32_t value)
31847 {
31848 set_batch_val(Properties::action, value);
31849 return *this;
31850 }
31851
31857 {
31858 set_batch_val(Properties::action, int32_t(value));
31859 return *this;
31860 }
31861
31866 TShapeBatch& action(const string &value)
31867 {
31868 set_batch_val(Properties::action, value.c_str());
31869 return *this;
31870 }
31871
31876 TShapeBatch& action(const char *value)
31877 {
31878 set_batch_val(Properties::action, value);
31879 return *this;
31880 }
31881
31888 TShapeBatch& like(const string &value)
31889 {
31890 set_batch_val(Properties::like, value.c_str());
31891 return *this;
31892 }
31893
31900 TShapeBatch& like(const char *value)
31901 {
31902 set_batch_val(Properties::like, value);
31903 return *this;
31904 }
31905};
31906
31907
31909{
31910public:
31913
31914 // Shortcuts to class-specific enumerations
31916
31917
31922 DSSBatch(util, PriceShape::dss_cls_idx)
31923 {
31924 }
31925
31929 PriceShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
31930 DSSBatch(util, PriceShape::dss_cls_idx, prop_idx, prop_value)
31931 {
31932 }
31933
31937 PriceShapeBatch(APIUtil *util, const char* regexp):
31938 DSSBatch(util, PriceShape::dss_cls_idx, regexp)
31939 {
31940 }
31941
31942
31943 PriceShapeBatch& begin_edit()
31944 {
31945 Batch_BeginEdit(pointer, count[0]);
31946 return *this;
31947 }
31948
31949 PriceShapeBatch& end_edit(int32_t num_edits=1)
31950 {
31951 Batch_EndEdit(pointer, count[0], num_edits);
31952 return *this;
31953 }
31954
31955
31961 {
31962 return BatchInt32ArrayProxy(*this, Properties::npts);
31963 }
31964
31965 PriceShapeBatch& npts(int32_t value)
31966 {
31967 set_batch_val(Properties::npts, value);
31968 return *this;
31969 }
31970
31971 template <typename T>
31972 PriceShapeBatch& npts(T &value)
31973 {
31974 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
31975 return *this;
31976 }
31977
31978 template <typename T>
31979 PriceShapeBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
31980 {
31981 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
31982 return *this;
31983 }
31984
31992 {
31993 return BatchFloat64ArrayProxy(*this, Properties::interval);
31994 }
31995
31996 PriceShapeBatch& interval(double value)
31997 {
31998 set_batch_val<double>(Properties::interval, value);
31999 return *this;
32000 }
32001
32002 template <typename T>
32003 PriceShapeBatch& interval(T &value)
32004 {
32005 set_batch_val_for_each<T>(Properties::interval, value.begin(), value.end());
32006 return *this;
32007 }
32008
32009 template <typename T>
32010 PriceShapeBatch& interval(typename T::iterator it_begin, typename T::iterator it_end)
32011 {
32012 set_batch_val_for_each<T>(Properties::interval, it_begin, it_end);
32013 return *this;
32014 }
32015
32025 std::vector<VectorXd> price()
32026 {
32027 return get_batch_valarray<VectorXd>(Properties::price);
32028 }
32029
32030 PriceShapeBatch& price(VectorXd &value)
32031 {
32032 set_batch_val<VectorXd>(Properties::price, value);
32033 return *this;
32034 }
32035
32043 std::vector<VectorXd> hour()
32044 {
32045 return get_batch_valarray<VectorXd>(Properties::hour);
32046 }
32047
32048 PriceShapeBatch& hour(VectorXd &value)
32049 {
32050 set_batch_val<VectorXd>(Properties::hour, value);
32051 return *this;
32052 }
32053
32059 {
32060 return BatchFloat64ArrayProxy(*this, Properties::mean);
32061 }
32062
32063 PriceShapeBatch& mean(double value)
32064 {
32065 set_batch_val<double>(Properties::mean, value);
32066 return *this;
32067 }
32068
32069 template <typename T>
32070 PriceShapeBatch& mean(T &value)
32071 {
32072 set_batch_val_for_each<T>(Properties::mean, value.begin(), value.end());
32073 return *this;
32074 }
32075
32076 template <typename T>
32077 PriceShapeBatch& mean(typename T::iterator it_begin, typename T::iterator it_end)
32078 {
32079 set_batch_val_for_each<T>(Properties::mean, it_begin, it_end);
32080 return *this;
32081 }
32082
32090 {
32091 return BatchFloat64ArrayProxy(*this, Properties::stddev);
32092 }
32093
32094 PriceShapeBatch& stddev(double value)
32095 {
32096 set_batch_val<double>(Properties::stddev, value);
32097 return *this;
32098 }
32099
32100 template <typename T>
32101 PriceShapeBatch& stddev(T &value)
32102 {
32103 set_batch_val_for_each<T>(Properties::stddev, value.begin(), value.end());
32104 return *this;
32105 }
32106
32107 template <typename T>
32108 PriceShapeBatch& stddev(typename T::iterator it_begin, typename T::iterator it_end)
32109 {
32110 set_batch_val_for_each<T>(Properties::stddev, it_begin, it_end);
32111 return *this;
32112 }
32113
32118 strings csvfile()
32119 {
32120 return get_batch_val<strings>(Properties::csvfile);
32121 }
32122
32123 PriceShapeBatch& csvfile(const string &value)
32124 {
32125 set_batch_val(Properties::csvfile, value.c_str());
32126 return *this;
32127 }
32128
32129 PriceShapeBatch& csvfile(strings &value)
32130 {
32131 set_batch_val_for_each<strings>(Properties::csvfile, value.begin(), value.end());
32132 return *this;
32133 }
32134
32139 strings sngfile()
32140 {
32141 return get_batch_val<strings>(Properties::sngfile);
32142 }
32143
32144 PriceShapeBatch& sngfile(const string &value)
32145 {
32146 set_batch_val(Properties::sngfile, value.c_str());
32147 return *this;
32148 }
32149
32150 PriceShapeBatch& sngfile(strings &value)
32151 {
32152 set_batch_val_for_each<strings>(Properties::sngfile, value.begin(), value.end());
32153 return *this;
32154 }
32155
32160 strings dblfile()
32161 {
32162 return get_batch_val<strings>(Properties::dblfile);
32163 }
32164
32165 PriceShapeBatch& dblfile(const string &value)
32166 {
32167 set_batch_val(Properties::dblfile, value.c_str());
32168 return *this;
32169 }
32170
32171 PriceShapeBatch& dblfile(strings &value)
32172 {
32173 set_batch_val_for_each<strings>(Properties::dblfile, value.begin(), value.end());
32174 return *this;
32175 }
32176
32182 {
32183 return BatchFloat64ArrayProxy(*this, Properties::sinterval);
32184 }
32185
32186 PriceShapeBatch& sinterval(double value)
32187 {
32188 set_batch_val<double>(Properties::sinterval, value);
32189 return *this;
32190 }
32191
32192 template <typename T>
32193 PriceShapeBatch& sinterval(T &value)
32194 {
32195 set_batch_val_for_each<T>(Properties::sinterval, value.begin(), value.end());
32196 return *this;
32197 }
32198
32199 template <typename T>
32200 PriceShapeBatch& sinterval(typename T::iterator it_begin, typename T::iterator it_end)
32201 {
32202 set_batch_val_for_each<T>(Properties::sinterval, it_begin, it_end);
32203 return *this;
32204 }
32205
32211 {
32212 return BatchFloat64ArrayProxy(*this, Properties::minterval);
32213 }
32214
32215 PriceShapeBatch& minterval(double value)
32216 {
32217 set_batch_val<double>(Properties::minterval, value);
32218 return *this;
32219 }
32220
32221 template <typename T>
32222 PriceShapeBatch& minterval(T &value)
32223 {
32224 set_batch_val_for_each<T>(Properties::minterval, value.begin(), value.end());
32225 return *this;
32226 }
32227
32228 template <typename T>
32229 PriceShapeBatch& minterval(typename T::iterator it_begin, typename T::iterator it_end)
32230 {
32231 set_batch_val_for_each<T>(Properties::minterval, it_begin, it_end);
32232 return *this;
32233 }
32234
32239 PriceShapeBatch& action(int32_t value)
32240 {
32241 set_batch_val(Properties::action, value);
32242 return *this;
32243 }
32244
32250 {
32251 set_batch_val(Properties::action, int32_t(value));
32252 return *this;
32253 }
32254
32259 PriceShapeBatch& action(const string &value)
32260 {
32261 set_batch_val(Properties::action, value.c_str());
32262 return *this;
32263 }
32264
32269 PriceShapeBatch& action(const char *value)
32270 {
32271 set_batch_val(Properties::action, value);
32272 return *this;
32273 }
32274
32281 PriceShapeBatch& like(const string &value)
32282 {
32283 set_batch_val(Properties::like, value.c_str());
32284 return *this;
32285 }
32286
32293 PriceShapeBatch& like(const char *value)
32294 {
32295 set_batch_val(Properties::like, value);
32296 return *this;
32297 }
32298};
32299
32300
32302{
32303public:
32305 typedef XYcurve BatchElementClass;
32306
32311 DSSBatch(util, XYcurve::dss_cls_idx)
32312 {
32313 }
32314
32318 XYcurveBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
32319 DSSBatch(util, XYcurve::dss_cls_idx, prop_idx, prop_value)
32320 {
32321 }
32322
32326 XYcurveBatch(APIUtil *util, const char* regexp):
32327 DSSBatch(util, XYcurve::dss_cls_idx, regexp)
32328 {
32329 }
32330
32331
32332 XYcurveBatch& begin_edit()
32333 {
32334 Batch_BeginEdit(pointer, count[0]);
32335 return *this;
32336 }
32337
32338 XYcurveBatch& end_edit(int32_t num_edits=1)
32339 {
32340 Batch_EndEdit(pointer, count[0], num_edits);
32341 return *this;
32342 }
32343
32344
32350 {
32351 return BatchInt32ArrayProxy(*this, Properties::npts);
32352 }
32353
32354 XYcurveBatch& npts(int32_t value)
32355 {
32356 set_batch_val(Properties::npts, value);
32357 return *this;
32358 }
32359
32360 template <typename T>
32361 XYcurveBatch& npts(T &value)
32362 {
32363 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
32364 return *this;
32365 }
32366
32367 template <typename T>
32368 XYcurveBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
32369 {
32370 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
32371 return *this;
32372 }
32373
32382 std::vector<VectorXd> Points()
32383 {
32384 return get_batch_valarray<VectorXd>(Properties::Points);
32385 }
32386
32387 XYcurveBatch& Points(VectorXd &value)
32388 {
32389 set_batch_val<VectorXd>(Properties::Points, value);
32390 return *this;
32391 }
32392
32402 std::vector<VectorXd> Yarray()
32403 {
32404 return get_batch_valarray<VectorXd>(Properties::Yarray);
32405 }
32406
32407 XYcurveBatch& Yarray(VectorXd &value)
32408 {
32409 set_batch_val<VectorXd>(Properties::Yarray, value);
32410 return *this;
32411 }
32412
32422 std::vector<VectorXd> Xarray()
32423 {
32424 return get_batch_valarray<VectorXd>(Properties::Xarray);
32425 }
32426
32427 XYcurveBatch& Xarray(VectorXd &value)
32428 {
32429 set_batch_val<VectorXd>(Properties::Xarray, value);
32430 return *this;
32431 }
32432
32437 strings csvfile()
32438 {
32439 return get_batch_val<strings>(Properties::csvfile);
32440 }
32441
32442 XYcurveBatch& csvfile(const string &value)
32443 {
32444 set_batch_val(Properties::csvfile, value.c_str());
32445 return *this;
32446 }
32447
32448 XYcurveBatch& csvfile(strings &value)
32449 {
32450 set_batch_val_for_each<strings>(Properties::csvfile, value.begin(), value.end());
32451 return *this;
32452 }
32453
32458 strings sngfile()
32459 {
32460 return get_batch_val<strings>(Properties::sngfile);
32461 }
32462
32463 XYcurveBatch& sngfile(const string &value)
32464 {
32465 set_batch_val(Properties::sngfile, value.c_str());
32466 return *this;
32467 }
32468
32469 XYcurveBatch& sngfile(strings &value)
32470 {
32471 set_batch_val_for_each<strings>(Properties::sngfile, value.begin(), value.end());
32472 return *this;
32473 }
32474
32479 strings dblfile()
32480 {
32481 return get_batch_val<strings>(Properties::dblfile);
32482 }
32483
32484 XYcurveBatch& dblfile(const string &value)
32485 {
32486 set_batch_val(Properties::dblfile, value.c_str());
32487 return *this;
32488 }
32489
32490 XYcurveBatch& dblfile(strings &value)
32491 {
32492 set_batch_val_for_each<strings>(Properties::dblfile, value.begin(), value.end());
32493 return *this;
32494 }
32495
32501 {
32502 return BatchFloat64ArrayProxy(*this, Properties::x);
32503 }
32504
32505 XYcurveBatch& x(double value)
32506 {
32507 set_batch_val<double>(Properties::x, value);
32508 return *this;
32509 }
32510
32511 template <typename T>
32512 XYcurveBatch& x(T &value)
32513 {
32514 set_batch_val_for_each<T>(Properties::x, value.begin(), value.end());
32515 return *this;
32516 }
32517
32518 template <typename T>
32519 XYcurveBatch& x(typename T::iterator it_begin, typename T::iterator it_end)
32520 {
32521 set_batch_val_for_each<T>(Properties::x, it_begin, it_end);
32522 return *this;
32523 }
32524
32530 {
32531 return BatchFloat64ArrayProxy(*this, Properties::y);
32532 }
32533
32534 XYcurveBatch& y(double value)
32535 {
32536 set_batch_val<double>(Properties::y, value);
32537 return *this;
32538 }
32539
32540 template <typename T>
32541 XYcurveBatch& y(T &value)
32542 {
32543 set_batch_val_for_each<T>(Properties::y, value.begin(), value.end());
32544 return *this;
32545 }
32546
32547 template <typename T>
32548 XYcurveBatch& y(typename T::iterator it_begin, typename T::iterator it_end)
32549 {
32550 set_batch_val_for_each<T>(Properties::y, it_begin, it_end);
32551 return *this;
32552 }
32553
32559 {
32560 return BatchFloat64ArrayProxy(*this, Properties::Xshift);
32561 }
32562
32563 XYcurveBatch& Xshift(double value)
32564 {
32565 set_batch_val<double>(Properties::Xshift, value);
32566 return *this;
32567 }
32568
32569 template <typename T>
32570 XYcurveBatch& Xshift(T &value)
32571 {
32572 set_batch_val_for_each<T>(Properties::Xshift, value.begin(), value.end());
32573 return *this;
32574 }
32575
32576 template <typename T>
32577 XYcurveBatch& Xshift(typename T::iterator it_begin, typename T::iterator it_end)
32578 {
32579 set_batch_val_for_each<T>(Properties::Xshift, it_begin, it_end);
32580 return *this;
32581 }
32582
32588 {
32589 return BatchFloat64ArrayProxy(*this, Properties::Yshift);
32590 }
32591
32592 XYcurveBatch& Yshift(double value)
32593 {
32594 set_batch_val<double>(Properties::Yshift, value);
32595 return *this;
32596 }
32597
32598 template <typename T>
32599 XYcurveBatch& Yshift(T &value)
32600 {
32601 set_batch_val_for_each<T>(Properties::Yshift, value.begin(), value.end());
32602 return *this;
32603 }
32604
32605 template <typename T>
32606 XYcurveBatch& Yshift(typename T::iterator it_begin, typename T::iterator it_end)
32607 {
32608 set_batch_val_for_each<T>(Properties::Yshift, it_begin, it_end);
32609 return *this;
32610 }
32611
32617 {
32618 return BatchFloat64ArrayProxy(*this, Properties::Xscale);
32619 }
32620
32621 XYcurveBatch& Xscale(double value)
32622 {
32623 set_batch_val<double>(Properties::Xscale, value);
32624 return *this;
32625 }
32626
32627 template <typename T>
32628 XYcurveBatch& Xscale(T &value)
32629 {
32630 set_batch_val_for_each<T>(Properties::Xscale, value.begin(), value.end());
32631 return *this;
32632 }
32633
32634 template <typename T>
32635 XYcurveBatch& Xscale(typename T::iterator it_begin, typename T::iterator it_end)
32636 {
32637 set_batch_val_for_each<T>(Properties::Xscale, it_begin, it_end);
32638 return *this;
32639 }
32640
32646 {
32647 return BatchFloat64ArrayProxy(*this, Properties::Yscale);
32648 }
32649
32650 XYcurveBatch& Yscale(double value)
32651 {
32652 set_batch_val<double>(Properties::Yscale, value);
32653 return *this;
32654 }
32655
32656 template <typename T>
32657 XYcurveBatch& Yscale(T &value)
32658 {
32659 set_batch_val_for_each<T>(Properties::Yscale, value.begin(), value.end());
32660 return *this;
32661 }
32662
32663 template <typename T>
32664 XYcurveBatch& Yscale(typename T::iterator it_begin, typename T::iterator it_end)
32665 {
32666 set_batch_val_for_each<T>(Properties::Yscale, it_begin, it_end);
32667 return *this;
32668 }
32669
32676 XYcurveBatch& like(const string &value)
32677 {
32678 set_batch_val(Properties::like, value.c_str());
32679 return *this;
32680 }
32681
32688 XYcurveBatch& like(const char *value)
32689 {
32690 set_batch_val(Properties::like, value);
32691 return *this;
32692 }
32693};
32694
32695
32697{
32698public:
32701
32706 DSSBatch(util, GrowthShape::dss_cls_idx)
32707 {
32708 }
32709
32713 GrowthShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
32714 DSSBatch(util, GrowthShape::dss_cls_idx, prop_idx, prop_value)
32715 {
32716 }
32717
32721 GrowthShapeBatch(APIUtil *util, const char* regexp):
32722 DSSBatch(util, GrowthShape::dss_cls_idx, regexp)
32723 {
32724 }
32725
32726
32727 GrowthShapeBatch& begin_edit()
32728 {
32729 Batch_BeginEdit(pointer, count[0]);
32730 return *this;
32731 }
32732
32733 GrowthShapeBatch& end_edit(int32_t num_edits=1)
32734 {
32735 Batch_EndEdit(pointer, count[0], num_edits);
32736 return *this;
32737 }
32738
32739
32745 {
32746 return BatchInt32ArrayProxy(*this, Properties::npts);
32747 }
32748
32749 GrowthShapeBatch& npts(int32_t value)
32750 {
32751 set_batch_val(Properties::npts, value);
32752 return *this;
32753 }
32754
32755 template <typename T>
32756 GrowthShapeBatch& npts(T &value)
32757 {
32758 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
32759 return *this;
32760 }
32761
32762 template <typename T>
32763 GrowthShapeBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
32764 {
32765 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
32766 return *this;
32767 }
32768
32773 std::vector<VectorXd> year()
32774 {
32775 return get_batch_valarray<VectorXd>(Properties::year);
32776 }
32777
32778 GrowthShapeBatch& year(VectorXd &value)
32779 {
32780 set_batch_val<VectorXd>(Properties::year, value);
32781 return *this;
32782 }
32783
32795 std::vector<VectorXd> mult()
32796 {
32797 return get_batch_valarray<VectorXd>(Properties::mult);
32798 }
32799
32800 GrowthShapeBatch& mult(VectorXd &value)
32801 {
32802 set_batch_val<VectorXd>(Properties::mult, value);
32803 return *this;
32804 }
32805
32810 strings csvfile()
32811 {
32812 return get_batch_val<strings>(Properties::csvfile);
32813 }
32814
32815 GrowthShapeBatch& csvfile(const string &value)
32816 {
32817 set_batch_val(Properties::csvfile, value.c_str());
32818 return *this;
32819 }
32820
32821 GrowthShapeBatch& csvfile(strings &value)
32822 {
32823 set_batch_val_for_each<strings>(Properties::csvfile, value.begin(), value.end());
32824 return *this;
32825 }
32826
32831 strings sngfile()
32832 {
32833 return get_batch_val<strings>(Properties::sngfile);
32834 }
32835
32836 GrowthShapeBatch& sngfile(const string &value)
32837 {
32838 set_batch_val(Properties::sngfile, value.c_str());
32839 return *this;
32840 }
32841
32842 GrowthShapeBatch& sngfile(strings &value)
32843 {
32844 set_batch_val_for_each<strings>(Properties::sngfile, value.begin(), value.end());
32845 return *this;
32846 }
32847
32852 strings dblfile()
32853 {
32854 return get_batch_val<strings>(Properties::dblfile);
32855 }
32856
32857 GrowthShapeBatch& dblfile(const string &value)
32858 {
32859 set_batch_val(Properties::dblfile, value.c_str());
32860 return *this;
32861 }
32862
32863 GrowthShapeBatch& dblfile(strings &value)
32864 {
32865 set_batch_val_for_each<strings>(Properties::dblfile, value.begin(), value.end());
32866 return *this;
32867 }
32868
32875 GrowthShapeBatch& like(const string &value)
32876 {
32877 set_batch_val(Properties::like, value.c_str());
32878 return *this;
32879 }
32880
32887 GrowthShapeBatch& like(const char *value)
32888 {
32889 set_batch_val(Properties::like, value);
32890 return *this;
32891 }
32892};
32893
32894
32896{
32897public:
32900
32905 DSSBatch(util, TCC_Curve::dss_cls_idx)
32906 {
32907 }
32908
32912 TCC_CurveBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
32913 DSSBatch(util, TCC_Curve::dss_cls_idx, prop_idx, prop_value)
32914 {
32915 }
32916
32920 TCC_CurveBatch(APIUtil *util, const char* regexp):
32921 DSSBatch(util, TCC_Curve::dss_cls_idx, regexp)
32922 {
32923 }
32924
32925
32926 TCC_CurveBatch& begin_edit()
32927 {
32928 Batch_BeginEdit(pointer, count[0]);
32929 return *this;
32930 }
32931
32932 TCC_CurveBatch& end_edit(int32_t num_edits=1)
32933 {
32934 Batch_EndEdit(pointer, count[0], num_edits);
32935 return *this;
32936 }
32937
32938
32944 {
32945 return BatchInt32ArrayProxy(*this, Properties::npts);
32946 }
32947
32948 TCC_CurveBatch& npts(int32_t value)
32949 {
32950 set_batch_val(Properties::npts, value);
32951 return *this;
32952 }
32953
32954 template <typename T>
32955 TCC_CurveBatch& npts(T &value)
32956 {
32957 set_batch_val_for_each<T>(Properties::npts, value.begin(), value.end());
32958 return *this;
32959 }
32960
32961 template <typename T>
32962 TCC_CurveBatch& npts(typename T::iterator it_begin, typename T::iterator it_end)
32963 {
32964 set_batch_val_for_each<T>(Properties::npts, it_begin, it_end);
32965 return *this;
32966 }
32967
32972 std::vector<VectorXd> C_array()
32973 {
32974 return get_batch_valarray<VectorXd>(Properties::C_array);
32975 }
32976
32977 TCC_CurveBatch& C_array(VectorXd &value)
32978 {
32979 set_batch_val<VectorXd>(Properties::C_array, value);
32980 return *this;
32981 }
32982
32993 std::vector<VectorXd> T_array()
32994 {
32995 return get_batch_valarray<VectorXd>(Properties::T_array);
32996 }
32997
32998 TCC_CurveBatch& T_array(VectorXd &value)
32999 {
33000 set_batch_val<VectorXd>(Properties::T_array, value);
33001 return *this;
33002 }
33003
33010 TCC_CurveBatch& like(const string &value)
33011 {
33012 set_batch_val(Properties::like, value.c_str());
33013 return *this;
33014 }
33015
33022 TCC_CurveBatch& like(const char *value)
33023 {
33024 set_batch_val(Properties::like, value);
33025 return *this;
33026 }
33027};
33028
33029
33031{
33032public:
33035
33040 DSSBatch(util, Spectrum::dss_cls_idx)
33041 {
33042 }
33043
33047 SpectrumBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
33048 DSSBatch(util, Spectrum::dss_cls_idx, prop_idx, prop_value)
33049 {
33050 }
33051
33055 SpectrumBatch(APIUtil *util, const char* regexp):
33056 DSSBatch(util, Spectrum::dss_cls_idx, regexp)
33057 {
33058 }
33059
33060
33061 SpectrumBatch& begin_edit()
33062 {
33063 Batch_BeginEdit(pointer, count[0]);
33064 return *this;
33065 }
33066
33067 SpectrumBatch& end_edit(int32_t num_edits=1)
33068 {
33069 Batch_EndEdit(pointer, count[0], num_edits);
33070 return *this;
33071 }
33072
33073
33079 {
33080 return BatchInt32ArrayProxy(*this, Properties::NumHarm);
33081 }
33082
33083 SpectrumBatch& NumHarm(int32_t value)
33084 {
33085 set_batch_val(Properties::NumHarm, value);
33086 return *this;
33087 }
33088
33089 template <typename T>
33090 SpectrumBatch& NumHarm(T &value)
33091 {
33092 set_batch_val_for_each<T>(Properties::NumHarm, value.begin(), value.end());
33093 return *this;
33094 }
33095
33096 template <typename T>
33097 SpectrumBatch& NumHarm(typename T::iterator it_begin, typename T::iterator it_end)
33098 {
33099 set_batch_val_for_each<T>(Properties::NumHarm, it_begin, it_end);
33100 return *this;
33101 }
33102
33110 std::vector<VectorXd> harmonic()
33111 {
33112 return get_batch_valarray<VectorXd>(Properties::harmonic);
33113 }
33114
33115 SpectrumBatch& harmonic(VectorXd &value)
33116 {
33117 set_batch_val<VectorXd>(Properties::harmonic, value);
33118 return *this;
33119 }
33120
33128 std::vector<VectorXd> pctmag()
33129 {
33130 return get_batch_valarray<VectorXd>(Properties::pctmag);
33131 }
33132
33133 SpectrumBatch& pctmag(VectorXd &value)
33134 {
33135 set_batch_val<VectorXd>(Properties::pctmag, value);
33136 return *this;
33137 }
33138
33146 std::vector<VectorXd> angle()
33147 {
33148 return get_batch_valarray<VectorXd>(Properties::angle);
33149 }
33150
33151 SpectrumBatch& angle(VectorXd &value)
33152 {
33153 set_batch_val<VectorXd>(Properties::angle, value);
33154 return *this;
33155 }
33156
33161 strings CSVFile()
33162 {
33163 return get_batch_val<strings>(Properties::CSVFile);
33164 }
33165
33166 SpectrumBatch& CSVFile(const string &value)
33167 {
33168 set_batch_val(Properties::CSVFile, value.c_str());
33169 return *this;
33170 }
33171
33172 SpectrumBatch& CSVFile(strings &value)
33173 {
33174 set_batch_val_for_each<strings>(Properties::CSVFile, value.begin(), value.end());
33175 return *this;
33176 }
33177
33184 SpectrumBatch& like(const string &value)
33185 {
33186 set_batch_val(Properties::like, value.c_str());
33187 return *this;
33188 }
33189
33196 SpectrumBatch& like(const char *value)
33197 {
33198 set_batch_val(Properties::like, value);
33199 return *this;
33200 }
33201};
33202
33203
33205{
33206public:
33209
33214 DSSBatch(util, WireData::dss_cls_idx)
33215 {
33216 }
33217
33221 WireDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
33222 DSSBatch(util, WireData::dss_cls_idx, prop_idx, prop_value)
33223 {
33224 }
33225
33229 WireDataBatch(APIUtil *util, const char* regexp):
33230 DSSBatch(util, WireData::dss_cls_idx, regexp)
33231 {
33232 }
33233
33234
33235 WireDataBatch& begin_edit()
33236 {
33237 Batch_BeginEdit(pointer, count[0]);
33238 return *this;
33239 }
33240
33241 WireDataBatch& end_edit(int32_t num_edits=1)
33242 {
33243 Batch_EndEdit(pointer, count[0], num_edits);
33244 return *this;
33245 }
33246
33247
33253 {
33254 return BatchFloat64ArrayProxy(*this, Properties::Rdc);
33255 }
33256
33257 WireDataBatch& Rdc(double value)
33258 {
33259 set_batch_val<double>(Properties::Rdc, value);
33260 return *this;
33261 }
33262
33263 template <typename T>
33264 WireDataBatch& Rdc(T &value)
33265 {
33266 set_batch_val_for_each<T>(Properties::Rdc, value.begin(), value.end());
33267 return *this;
33268 }
33269
33270 template <typename T>
33271 WireDataBatch& Rdc(typename T::iterator it_begin, typename T::iterator it_end)
33272 {
33273 set_batch_val_for_each<T>(Properties::Rdc, it_begin, it_end);
33274 return *this;
33275 }
33276
33282 {
33283 return BatchFloat64ArrayProxy(*this, Properties::Rac);
33284 }
33285
33286 WireDataBatch& Rac(double value)
33287 {
33288 set_batch_val<double>(Properties::Rac, value);
33289 return *this;
33290 }
33291
33292 template <typename T>
33293 WireDataBatch& Rac(T &value)
33294 {
33295 set_batch_val_for_each<T>(Properties::Rac, value.begin(), value.end());
33296 return *this;
33297 }
33298
33299 template <typename T>
33300 WireDataBatch& Rac(typename T::iterator it_begin, typename T::iterator it_end)
33301 {
33302 set_batch_val_for_each<T>(Properties::Rac, it_begin, it_end);
33303 return *this;
33304 }
33305
33311 {
33312 return BatchInt32ArrayProxy(*this, Properties::Runits);
33313 }
33314
33315 WireDataBatch& Runits(string &value)
33316 {
33317 set_batch_val(Properties::Runits, value);
33318 return *this;
33319 }
33320
33321 WireDataBatch& Runits(int32_t value)
33322 {
33323 set_batch_val(Properties::Runits, value);
33324 return *this;
33325 }
33326
33327 WireDataBatch& Runits(DimensionUnits value)
33328 {
33329 set_batch_val(Properties::Runits, int32_t(value));
33330 return *this;
33331 }
33332
33333 WireDataBatch& Runits(strings &value)
33334 {
33335 set_batch_val_for_each<strings>(Properties::Runits, value.begin(), value.end());
33336 return *this;
33337 }
33338
33339 WireDataBatch& Runits(std::vector<int32_t> &value)
33340 {
33341 set_batch_val_for_each<std::vector<int32_t>>(Properties::Runits, value.begin(), value.end());
33342 return *this;
33343 }
33344
33345 WireDataBatch& Runits(std::vector<DimensionUnits> &value)
33346 {
33347 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::Runits, value.begin(), value.end());
33348 return *this;
33349 }
33350
33355 strings Runits_str()
33356 {
33357 return get_batch_val<strings>(Properties::Runits);
33358 }
33359
33360 WireDataBatch& Runits_str(string &value)
33361 {
33362 Runits(value);
33363 return *this;
33364 }
33365
33366 WireDataBatch& Runits_str(strings &value)
33367 {
33368 Runits(value);
33369 return *this;
33370 }
33371
33377 {
33378 return BatchFloat64ArrayProxy(*this, Properties::GMRac);
33379 }
33380
33381 WireDataBatch& GMRac(double value)
33382 {
33383 set_batch_val<double>(Properties::GMRac, value);
33384 return *this;
33385 }
33386
33387 template <typename T>
33388 WireDataBatch& GMRac(T &value)
33389 {
33390 set_batch_val_for_each<T>(Properties::GMRac, value.begin(), value.end());
33391 return *this;
33392 }
33393
33394 template <typename T>
33395 WireDataBatch& GMRac(typename T::iterator it_begin, typename T::iterator it_end)
33396 {
33397 set_batch_val_for_each<T>(Properties::GMRac, it_begin, it_end);
33398 return *this;
33399 }
33400
33406 {
33407 return BatchInt32ArrayProxy(*this, Properties::GMRunits);
33408 }
33409
33410 WireDataBatch& GMRunits(string &value)
33411 {
33412 set_batch_val(Properties::GMRunits, value);
33413 return *this;
33414 }
33415
33416 WireDataBatch& GMRunits(int32_t value)
33417 {
33418 set_batch_val(Properties::GMRunits, value);
33419 return *this;
33420 }
33421
33422 WireDataBatch& GMRunits(DimensionUnits value)
33423 {
33424 set_batch_val(Properties::GMRunits, int32_t(value));
33425 return *this;
33426 }
33427
33428 WireDataBatch& GMRunits(strings &value)
33429 {
33430 set_batch_val_for_each<strings>(Properties::GMRunits, value.begin(), value.end());
33431 return *this;
33432 }
33433
33434 WireDataBatch& GMRunits(std::vector<int32_t> &value)
33435 {
33436 set_batch_val_for_each<std::vector<int32_t>>(Properties::GMRunits, value.begin(), value.end());
33437 return *this;
33438 }
33439
33440 WireDataBatch& GMRunits(std::vector<DimensionUnits> &value)
33441 {
33442 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::GMRunits, value.begin(), value.end());
33443 return *this;
33444 }
33445
33451 {
33452 return get_batch_val<strings>(Properties::GMRunits);
33453 }
33454
33455 WireDataBatch& GMRunits_str(string &value)
33456 {
33457 GMRunits(value);
33458 return *this;
33459 }
33460
33461 WireDataBatch& GMRunits_str(strings &value)
33462 {
33463 GMRunits(value);
33464 return *this;
33465 }
33466
33472 {
33473 return BatchFloat64ArrayProxy(*this, Properties::radius);
33474 }
33475
33476 WireDataBatch& radius(double value)
33477 {
33478 set_batch_val<double>(Properties::radius, value);
33479 return *this;
33480 }
33481
33482 template <typename T>
33483 WireDataBatch& radius(T &value)
33484 {
33485 set_batch_val_for_each<T>(Properties::radius, value.begin(), value.end());
33486 return *this;
33487 }
33488
33489 template <typename T>
33490 WireDataBatch& radius(typename T::iterator it_begin, typename T::iterator it_end)
33491 {
33492 set_batch_val_for_each<T>(Properties::radius, it_begin, it_end);
33493 return *this;
33494 }
33495
33501 {
33502 return BatchInt32ArrayProxy(*this, Properties::radunits);
33503 }
33504
33505 WireDataBatch& radunits(string &value)
33506 {
33507 set_batch_val(Properties::radunits, value);
33508 return *this;
33509 }
33510
33511 WireDataBatch& radunits(int32_t value)
33512 {
33513 set_batch_val(Properties::radunits, value);
33514 return *this;
33515 }
33516
33517 WireDataBatch& radunits(DimensionUnits value)
33518 {
33519 set_batch_val(Properties::radunits, int32_t(value));
33520 return *this;
33521 }
33522
33523 WireDataBatch& radunits(strings &value)
33524 {
33525 set_batch_val_for_each<strings>(Properties::radunits, value.begin(), value.end());
33526 return *this;
33527 }
33528
33529 WireDataBatch& radunits(std::vector<int32_t> &value)
33530 {
33531 set_batch_val_for_each<std::vector<int32_t>>(Properties::radunits, value.begin(), value.end());
33532 return *this;
33533 }
33534
33535 WireDataBatch& radunits(std::vector<DimensionUnits> &value)
33536 {
33537 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::radunits, value.begin(), value.end());
33538 return *this;
33539 }
33540
33546 {
33547 return get_batch_val<strings>(Properties::radunits);
33548 }
33549
33550 WireDataBatch& radunits_str(string &value)
33551 {
33552 radunits(value);
33553 return *this;
33554 }
33555
33556 WireDataBatch& radunits_str(strings &value)
33557 {
33558 radunits(value);
33559 return *this;
33560 }
33561
33567 {
33568 return BatchFloat64ArrayProxy(*this, Properties::normamps);
33569 }
33570
33571 WireDataBatch& normamps(double value)
33572 {
33573 set_batch_val<double>(Properties::normamps, value);
33574 return *this;
33575 }
33576
33577 template <typename T>
33578 WireDataBatch& normamps(T &value)
33579 {
33580 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
33581 return *this;
33582 }
33583
33584 template <typename T>
33585 WireDataBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
33586 {
33587 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
33588 return *this;
33589 }
33590
33596 {
33597 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
33598 }
33599
33600 WireDataBatch& emergamps(double value)
33601 {
33602 set_batch_val<double>(Properties::emergamps, value);
33603 return *this;
33604 }
33605
33606 template <typename T>
33607 WireDataBatch& emergamps(T &value)
33608 {
33609 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
33610 return *this;
33611 }
33612
33613 template <typename T>
33614 WireDataBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
33615 {
33616 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
33617 return *this;
33618 }
33619
33625 {
33626 return BatchFloat64ArrayProxy(*this, Properties::diam);
33627 }
33628
33629 WireDataBatch& diam(double value)
33630 {
33631 set_batch_val<double>(Properties::diam, value);
33632 return *this;
33633 }
33634
33635 template <typename T>
33636 WireDataBatch& diam(T &value)
33637 {
33638 set_batch_val_for_each<T>(Properties::diam, value.begin(), value.end());
33639 return *this;
33640 }
33641
33642 template <typename T>
33643 WireDataBatch& diam(typename T::iterator it_begin, typename T::iterator it_end)
33644 {
33645 set_batch_val_for_each<T>(Properties::diam, it_begin, it_end);
33646 return *this;
33647 }
33648
33654 {
33655 return BatchInt32ArrayProxy(*this, Properties::Seasons);
33656 }
33657
33658 WireDataBatch& Seasons(int32_t value)
33659 {
33660 set_batch_val(Properties::Seasons, value);
33661 return *this;
33662 }
33663
33664 template <typename T>
33665 WireDataBatch& Seasons(T &value)
33666 {
33667 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
33668 return *this;
33669 }
33670
33671 template <typename T>
33672 WireDataBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
33673 {
33674 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
33675 return *this;
33676 }
33677
33683 std::vector<VectorXd> Ratings()
33684 {
33685 return get_batch_valarray<VectorXd>(Properties::Ratings);
33686 }
33687
33688 WireDataBatch& Ratings(VectorXd &value)
33689 {
33690 set_batch_val<VectorXd>(Properties::Ratings, value);
33691 return *this;
33692 }
33693
33699 {
33700 return BatchFloat64ArrayProxy(*this, Properties::Capradius);
33701 }
33702
33703 WireDataBatch& Capradius(double value)
33704 {
33705 set_batch_val<double>(Properties::Capradius, value);
33706 return *this;
33707 }
33708
33709 template <typename T>
33710 WireDataBatch& Capradius(T &value)
33711 {
33712 set_batch_val_for_each<T>(Properties::Capradius, value.begin(), value.end());
33713 return *this;
33714 }
33715
33716 template <typename T>
33717 WireDataBatch& Capradius(typename T::iterator it_begin, typename T::iterator it_end)
33718 {
33719 set_batch_val_for_each<T>(Properties::Capradius, it_begin, it_end);
33720 return *this;
33721 }
33722
33729 WireDataBatch& like(const string &value)
33730 {
33731 set_batch_val(Properties::like, value.c_str());
33732 return *this;
33733 }
33734
33741 WireDataBatch& like(const char *value)
33742 {
33743 set_batch_val(Properties::like, value);
33744 return *this;
33745 }
33746};
33747
33748
33750{
33751public:
33753 typedef CNData BatchElementClass;
33754
33759 DSSBatch(util, CNData::dss_cls_idx)
33760 {
33761 }
33762
33766 CNDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
33767 DSSBatch(util, CNData::dss_cls_idx, prop_idx, prop_value)
33768 {
33769 }
33770
33774 CNDataBatch(APIUtil *util, const char* regexp):
33775 DSSBatch(util, CNData::dss_cls_idx, regexp)
33776 {
33777 }
33778
33779
33780 CNDataBatch& begin_edit()
33781 {
33782 Batch_BeginEdit(pointer, count[0]);
33783 return *this;
33784 }
33785
33786 CNDataBatch& end_edit(int32_t num_edits=1)
33787 {
33788 Batch_EndEdit(pointer, count[0], num_edits);
33789 return *this;
33790 }
33791
33792
33798 {
33799 return BatchInt32ArrayProxy(*this, Properties::k);
33800 }
33801
33802 CNDataBatch& k(int32_t value)
33803 {
33804 set_batch_val(Properties::k, value);
33805 return *this;
33806 }
33807
33808 template <typename T>
33809 CNDataBatch& k(T &value)
33810 {
33811 set_batch_val_for_each<T>(Properties::k, value.begin(), value.end());
33812 return *this;
33813 }
33814
33815 template <typename T>
33816 CNDataBatch& k(typename T::iterator it_begin, typename T::iterator it_end)
33817 {
33818 set_batch_val_for_each<T>(Properties::k, it_begin, it_end);
33819 return *this;
33820 }
33821
33827 {
33828 return BatchFloat64ArrayProxy(*this, Properties::DiaStrand);
33829 }
33830
33831 CNDataBatch& DiaStrand(double value)
33832 {
33833 set_batch_val<double>(Properties::DiaStrand, value);
33834 return *this;
33835 }
33836
33837 template <typename T>
33838 CNDataBatch& DiaStrand(T &value)
33839 {
33840 set_batch_val_for_each<T>(Properties::DiaStrand, value.begin(), value.end());
33841 return *this;
33842 }
33843
33844 template <typename T>
33845 CNDataBatch& DiaStrand(typename T::iterator it_begin, typename T::iterator it_end)
33846 {
33847 set_batch_val_for_each<T>(Properties::DiaStrand, it_begin, it_end);
33848 return *this;
33849 }
33850
33856 {
33857 return BatchFloat64ArrayProxy(*this, Properties::GmrStrand);
33858 }
33859
33860 CNDataBatch& GmrStrand(double value)
33861 {
33862 set_batch_val<double>(Properties::GmrStrand, value);
33863 return *this;
33864 }
33865
33866 template <typename T>
33867 CNDataBatch& GmrStrand(T &value)
33868 {
33869 set_batch_val_for_each<T>(Properties::GmrStrand, value.begin(), value.end());
33870 return *this;
33871 }
33872
33873 template <typename T>
33874 CNDataBatch& GmrStrand(typename T::iterator it_begin, typename T::iterator it_end)
33875 {
33876 set_batch_val_for_each<T>(Properties::GmrStrand, it_begin, it_end);
33877 return *this;
33878 }
33879
33885 {
33886 return BatchFloat64ArrayProxy(*this, Properties::Rstrand);
33887 }
33888
33889 CNDataBatch& Rstrand(double value)
33890 {
33891 set_batch_val<double>(Properties::Rstrand, value);
33892 return *this;
33893 }
33894
33895 template <typename T>
33896 CNDataBatch& Rstrand(T &value)
33897 {
33898 set_batch_val_for_each<T>(Properties::Rstrand, value.begin(), value.end());
33899 return *this;
33900 }
33901
33902 template <typename T>
33903 CNDataBatch& Rstrand(typename T::iterator it_begin, typename T::iterator it_end)
33904 {
33905 set_batch_val_for_each<T>(Properties::Rstrand, it_begin, it_end);
33906 return *this;
33907 }
33908
33914 {
33915 return BatchFloat64ArrayProxy(*this, Properties::EpsR);
33916 }
33917
33918 CNDataBatch& EpsR(double value)
33919 {
33920 set_batch_val<double>(Properties::EpsR, value);
33921 return *this;
33922 }
33923
33924 template <typename T>
33925 CNDataBatch& EpsR(T &value)
33926 {
33927 set_batch_val_for_each<T>(Properties::EpsR, value.begin(), value.end());
33928 return *this;
33929 }
33930
33931 template <typename T>
33932 CNDataBatch& EpsR(typename T::iterator it_begin, typename T::iterator it_end)
33933 {
33934 set_batch_val_for_each<T>(Properties::EpsR, it_begin, it_end);
33935 return *this;
33936 }
33937
33943 {
33944 return BatchFloat64ArrayProxy(*this, Properties::InsLayer);
33945 }
33946
33947 CNDataBatch& InsLayer(double value)
33948 {
33949 set_batch_val<double>(Properties::InsLayer, value);
33950 return *this;
33951 }
33952
33953 template <typename T>
33954 CNDataBatch& InsLayer(T &value)
33955 {
33956 set_batch_val_for_each<T>(Properties::InsLayer, value.begin(), value.end());
33957 return *this;
33958 }
33959
33960 template <typename T>
33961 CNDataBatch& InsLayer(typename T::iterator it_begin, typename T::iterator it_end)
33962 {
33963 set_batch_val_for_each<T>(Properties::InsLayer, it_begin, it_end);
33964 return *this;
33965 }
33966
33972 {
33973 return BatchFloat64ArrayProxy(*this, Properties::DiaIns);
33974 }
33975
33976 CNDataBatch& DiaIns(double value)
33977 {
33978 set_batch_val<double>(Properties::DiaIns, value);
33979 return *this;
33980 }
33981
33982 template <typename T>
33983 CNDataBatch& DiaIns(T &value)
33984 {
33985 set_batch_val_for_each<T>(Properties::DiaIns, value.begin(), value.end());
33986 return *this;
33987 }
33988
33989 template <typename T>
33990 CNDataBatch& DiaIns(typename T::iterator it_begin, typename T::iterator it_end)
33991 {
33992 set_batch_val_for_each<T>(Properties::DiaIns, it_begin, it_end);
33993 return *this;
33994 }
33995
34001 {
34002 return BatchFloat64ArrayProxy(*this, Properties::DiaCable);
34003 }
34004
34005 CNDataBatch& DiaCable(double value)
34006 {
34007 set_batch_val<double>(Properties::DiaCable, value);
34008 return *this;
34009 }
34010
34011 template <typename T>
34012 CNDataBatch& DiaCable(T &value)
34013 {
34014 set_batch_val_for_each<T>(Properties::DiaCable, value.begin(), value.end());
34015 return *this;
34016 }
34017
34018 template <typename T>
34019 CNDataBatch& DiaCable(typename T::iterator it_begin, typename T::iterator it_end)
34020 {
34021 set_batch_val_for_each<T>(Properties::DiaCable, it_begin, it_end);
34022 return *this;
34023 }
34024
34030 {
34031 return BatchFloat64ArrayProxy(*this, Properties::Rdc);
34032 }
34033
34034 CNDataBatch& Rdc(double value)
34035 {
34036 set_batch_val<double>(Properties::Rdc, value);
34037 return *this;
34038 }
34039
34040 template <typename T>
34041 CNDataBatch& Rdc(T &value)
34042 {
34043 set_batch_val_for_each<T>(Properties::Rdc, value.begin(), value.end());
34044 return *this;
34045 }
34046
34047 template <typename T>
34048 CNDataBatch& Rdc(typename T::iterator it_begin, typename T::iterator it_end)
34049 {
34050 set_batch_val_for_each<T>(Properties::Rdc, it_begin, it_end);
34051 return *this;
34052 }
34053
34059 {
34060 return BatchFloat64ArrayProxy(*this, Properties::Rac);
34061 }
34062
34063 CNDataBatch& Rac(double value)
34064 {
34065 set_batch_val<double>(Properties::Rac, value);
34066 return *this;
34067 }
34068
34069 template <typename T>
34070 CNDataBatch& Rac(T &value)
34071 {
34072 set_batch_val_for_each<T>(Properties::Rac, value.begin(), value.end());
34073 return *this;
34074 }
34075
34076 template <typename T>
34077 CNDataBatch& Rac(typename T::iterator it_begin, typename T::iterator it_end)
34078 {
34079 set_batch_val_for_each<T>(Properties::Rac, it_begin, it_end);
34080 return *this;
34081 }
34082
34088 {
34089 return BatchInt32ArrayProxy(*this, Properties::Runits);
34090 }
34091
34092 CNDataBatch& Runits(string &value)
34093 {
34094 set_batch_val(Properties::Runits, value);
34095 return *this;
34096 }
34097
34098 CNDataBatch& Runits(int32_t value)
34099 {
34100 set_batch_val(Properties::Runits, value);
34101 return *this;
34102 }
34103
34104 CNDataBatch& Runits(DimensionUnits value)
34105 {
34106 set_batch_val(Properties::Runits, int32_t(value));
34107 return *this;
34108 }
34109
34110 CNDataBatch& Runits(strings &value)
34111 {
34112 set_batch_val_for_each<strings>(Properties::Runits, value.begin(), value.end());
34113 return *this;
34114 }
34115
34116 CNDataBatch& Runits(std::vector<int32_t> &value)
34117 {
34118 set_batch_val_for_each<std::vector<int32_t>>(Properties::Runits, value.begin(), value.end());
34119 return *this;
34120 }
34121
34122 CNDataBatch& Runits(std::vector<DimensionUnits> &value)
34123 {
34124 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::Runits, value.begin(), value.end());
34125 return *this;
34126 }
34127
34132 strings Runits_str()
34133 {
34134 return get_batch_val<strings>(Properties::Runits);
34135 }
34136
34137 CNDataBatch& Runits_str(string &value)
34138 {
34139 Runits(value);
34140 return *this;
34141 }
34142
34143 CNDataBatch& Runits_str(strings &value)
34144 {
34145 Runits(value);
34146 return *this;
34147 }
34148
34154 {
34155 return BatchFloat64ArrayProxy(*this, Properties::GMRac);
34156 }
34157
34158 CNDataBatch& GMRac(double value)
34159 {
34160 set_batch_val<double>(Properties::GMRac, value);
34161 return *this;
34162 }
34163
34164 template <typename T>
34165 CNDataBatch& GMRac(T &value)
34166 {
34167 set_batch_val_for_each<T>(Properties::GMRac, value.begin(), value.end());
34168 return *this;
34169 }
34170
34171 template <typename T>
34172 CNDataBatch& GMRac(typename T::iterator it_begin, typename T::iterator it_end)
34173 {
34174 set_batch_val_for_each<T>(Properties::GMRac, it_begin, it_end);
34175 return *this;
34176 }
34177
34183 {
34184 return BatchInt32ArrayProxy(*this, Properties::GMRunits);
34185 }
34186
34187 CNDataBatch& GMRunits(string &value)
34188 {
34189 set_batch_val(Properties::GMRunits, value);
34190 return *this;
34191 }
34192
34193 CNDataBatch& GMRunits(int32_t value)
34194 {
34195 set_batch_val(Properties::GMRunits, value);
34196 return *this;
34197 }
34198
34199 CNDataBatch& GMRunits(DimensionUnits value)
34200 {
34201 set_batch_val(Properties::GMRunits, int32_t(value));
34202 return *this;
34203 }
34204
34205 CNDataBatch& GMRunits(strings &value)
34206 {
34207 set_batch_val_for_each<strings>(Properties::GMRunits, value.begin(), value.end());
34208 return *this;
34209 }
34210
34211 CNDataBatch& GMRunits(std::vector<int32_t> &value)
34212 {
34213 set_batch_val_for_each<std::vector<int32_t>>(Properties::GMRunits, value.begin(), value.end());
34214 return *this;
34215 }
34216
34217 CNDataBatch& GMRunits(std::vector<DimensionUnits> &value)
34218 {
34219 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::GMRunits, value.begin(), value.end());
34220 return *this;
34221 }
34222
34228 {
34229 return get_batch_val<strings>(Properties::GMRunits);
34230 }
34231
34232 CNDataBatch& GMRunits_str(string &value)
34233 {
34234 GMRunits(value);
34235 return *this;
34236 }
34237
34238 CNDataBatch& GMRunits_str(strings &value)
34239 {
34240 GMRunits(value);
34241 return *this;
34242 }
34243
34249 {
34250 return BatchFloat64ArrayProxy(*this, Properties::radius);
34251 }
34252
34253 CNDataBatch& radius(double value)
34254 {
34255 set_batch_val<double>(Properties::radius, value);
34256 return *this;
34257 }
34258
34259 template <typename T>
34260 CNDataBatch& radius(T &value)
34261 {
34262 set_batch_val_for_each<T>(Properties::radius, value.begin(), value.end());
34263 return *this;
34264 }
34265
34266 template <typename T>
34267 CNDataBatch& radius(typename T::iterator it_begin, typename T::iterator it_end)
34268 {
34269 set_batch_val_for_each<T>(Properties::radius, it_begin, it_end);
34270 return *this;
34271 }
34272
34278 {
34279 return BatchInt32ArrayProxy(*this, Properties::radunits);
34280 }
34281
34282 CNDataBatch& radunits(string &value)
34283 {
34284 set_batch_val(Properties::radunits, value);
34285 return *this;
34286 }
34287
34288 CNDataBatch& radunits(int32_t value)
34289 {
34290 set_batch_val(Properties::radunits, value);
34291 return *this;
34292 }
34293
34294 CNDataBatch& radunits(DimensionUnits value)
34295 {
34296 set_batch_val(Properties::radunits, int32_t(value));
34297 return *this;
34298 }
34299
34300 CNDataBatch& radunits(strings &value)
34301 {
34302 set_batch_val_for_each<strings>(Properties::radunits, value.begin(), value.end());
34303 return *this;
34304 }
34305
34306 CNDataBatch& radunits(std::vector<int32_t> &value)
34307 {
34308 set_batch_val_for_each<std::vector<int32_t>>(Properties::radunits, value.begin(), value.end());
34309 return *this;
34310 }
34311
34312 CNDataBatch& radunits(std::vector<DimensionUnits> &value)
34313 {
34314 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::radunits, value.begin(), value.end());
34315 return *this;
34316 }
34317
34323 {
34324 return get_batch_val<strings>(Properties::radunits);
34325 }
34326
34327 CNDataBatch& radunits_str(string &value)
34328 {
34329 radunits(value);
34330 return *this;
34331 }
34332
34333 CNDataBatch& radunits_str(strings &value)
34334 {
34335 radunits(value);
34336 return *this;
34337 }
34338
34344 {
34345 return BatchFloat64ArrayProxy(*this, Properties::normamps);
34346 }
34347
34348 CNDataBatch& normamps(double value)
34349 {
34350 set_batch_val<double>(Properties::normamps, value);
34351 return *this;
34352 }
34353
34354 template <typename T>
34355 CNDataBatch& normamps(T &value)
34356 {
34357 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
34358 return *this;
34359 }
34360
34361 template <typename T>
34362 CNDataBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
34363 {
34364 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
34365 return *this;
34366 }
34367
34373 {
34374 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
34375 }
34376
34377 CNDataBatch& emergamps(double value)
34378 {
34379 set_batch_val<double>(Properties::emergamps, value);
34380 return *this;
34381 }
34382
34383 template <typename T>
34384 CNDataBatch& emergamps(T &value)
34385 {
34386 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
34387 return *this;
34388 }
34389
34390 template <typename T>
34391 CNDataBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
34392 {
34393 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
34394 return *this;
34395 }
34396
34402 {
34403 return BatchFloat64ArrayProxy(*this, Properties::diam);
34404 }
34405
34406 CNDataBatch& diam(double value)
34407 {
34408 set_batch_val<double>(Properties::diam, value);
34409 return *this;
34410 }
34411
34412 template <typename T>
34413 CNDataBatch& diam(T &value)
34414 {
34415 set_batch_val_for_each<T>(Properties::diam, value.begin(), value.end());
34416 return *this;
34417 }
34418
34419 template <typename T>
34420 CNDataBatch& diam(typename T::iterator it_begin, typename T::iterator it_end)
34421 {
34422 set_batch_val_for_each<T>(Properties::diam, it_begin, it_end);
34423 return *this;
34424 }
34425
34431 {
34432 return BatchInt32ArrayProxy(*this, Properties::Seasons);
34433 }
34434
34435 CNDataBatch& Seasons(int32_t value)
34436 {
34437 set_batch_val(Properties::Seasons, value);
34438 return *this;
34439 }
34440
34441 template <typename T>
34442 CNDataBatch& Seasons(T &value)
34443 {
34444 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
34445 return *this;
34446 }
34447
34448 template <typename T>
34449 CNDataBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
34450 {
34451 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
34452 return *this;
34453 }
34454
34460 std::vector<VectorXd> Ratings()
34461 {
34462 return get_batch_valarray<VectorXd>(Properties::Ratings);
34463 }
34464
34465 CNDataBatch& Ratings(VectorXd &value)
34466 {
34467 set_batch_val<VectorXd>(Properties::Ratings, value);
34468 return *this;
34469 }
34470
34476 {
34477 return BatchFloat64ArrayProxy(*this, Properties::Capradius);
34478 }
34479
34480 CNDataBatch& Capradius(double value)
34481 {
34482 set_batch_val<double>(Properties::Capradius, value);
34483 return *this;
34484 }
34485
34486 template <typename T>
34487 CNDataBatch& Capradius(T &value)
34488 {
34489 set_batch_val_for_each<T>(Properties::Capradius, value.begin(), value.end());
34490 return *this;
34491 }
34492
34493 template <typename T>
34494 CNDataBatch& Capradius(typename T::iterator it_begin, typename T::iterator it_end)
34495 {
34496 set_batch_val_for_each<T>(Properties::Capradius, it_begin, it_end);
34497 return *this;
34498 }
34499
34506 CNDataBatch& like(const string &value)
34507 {
34508 set_batch_val(Properties::like, value.c_str());
34509 return *this;
34510 }
34511
34518 CNDataBatch& like(const char *value)
34519 {
34520 set_batch_val(Properties::like, value);
34521 return *this;
34522 }
34523};
34524
34525
34527{
34528public:
34530 typedef TSData BatchElementClass;
34531
34536 DSSBatch(util, TSData::dss_cls_idx)
34537 {
34538 }
34539
34543 TSDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
34544 DSSBatch(util, TSData::dss_cls_idx, prop_idx, prop_value)
34545 {
34546 }
34547
34551 TSDataBatch(APIUtil *util, const char* regexp):
34552 DSSBatch(util, TSData::dss_cls_idx, regexp)
34553 {
34554 }
34555
34556
34557 TSDataBatch& begin_edit()
34558 {
34559 Batch_BeginEdit(pointer, count[0]);
34560 return *this;
34561 }
34562
34563 TSDataBatch& end_edit(int32_t num_edits=1)
34564 {
34565 Batch_EndEdit(pointer, count[0], num_edits);
34566 return *this;
34567 }
34568
34569
34575 {
34576 return BatchFloat64ArrayProxy(*this, Properties::DiaShield);
34577 }
34578
34579 TSDataBatch& DiaShield(double value)
34580 {
34581 set_batch_val<double>(Properties::DiaShield, value);
34582 return *this;
34583 }
34584
34585 template <typename T>
34586 TSDataBatch& DiaShield(T &value)
34587 {
34588 set_batch_val_for_each<T>(Properties::DiaShield, value.begin(), value.end());
34589 return *this;
34590 }
34591
34592 template <typename T>
34593 TSDataBatch& DiaShield(typename T::iterator it_begin, typename T::iterator it_end)
34594 {
34595 set_batch_val_for_each<T>(Properties::DiaShield, it_begin, it_end);
34596 return *this;
34597 }
34598
34604 {
34605 return BatchFloat64ArrayProxy(*this, Properties::TapeLayer);
34606 }
34607
34608 TSDataBatch& TapeLayer(double value)
34609 {
34610 set_batch_val<double>(Properties::TapeLayer, value);
34611 return *this;
34612 }
34613
34614 template <typename T>
34615 TSDataBatch& TapeLayer(T &value)
34616 {
34617 set_batch_val_for_each<T>(Properties::TapeLayer, value.begin(), value.end());
34618 return *this;
34619 }
34620
34621 template <typename T>
34622 TSDataBatch& TapeLayer(typename T::iterator it_begin, typename T::iterator it_end)
34623 {
34624 set_batch_val_for_each<T>(Properties::TapeLayer, it_begin, it_end);
34625 return *this;
34626 }
34627
34633 {
34634 return BatchFloat64ArrayProxy(*this, Properties::TapeLap);
34635 }
34636
34637 TSDataBatch& TapeLap(double value)
34638 {
34639 set_batch_val<double>(Properties::TapeLap, value);
34640 return *this;
34641 }
34642
34643 template <typename T>
34644 TSDataBatch& TapeLap(T &value)
34645 {
34646 set_batch_val_for_each<T>(Properties::TapeLap, value.begin(), value.end());
34647 return *this;
34648 }
34649
34650 template <typename T>
34651 TSDataBatch& TapeLap(typename T::iterator it_begin, typename T::iterator it_end)
34652 {
34653 set_batch_val_for_each<T>(Properties::TapeLap, it_begin, it_end);
34654 return *this;
34655 }
34656
34662 {
34663 return BatchFloat64ArrayProxy(*this, Properties::EpsR);
34664 }
34665
34666 TSDataBatch& EpsR(double value)
34667 {
34668 set_batch_val<double>(Properties::EpsR, value);
34669 return *this;
34670 }
34671
34672 template <typename T>
34673 TSDataBatch& EpsR(T &value)
34674 {
34675 set_batch_val_for_each<T>(Properties::EpsR, value.begin(), value.end());
34676 return *this;
34677 }
34678
34679 template <typename T>
34680 TSDataBatch& EpsR(typename T::iterator it_begin, typename T::iterator it_end)
34681 {
34682 set_batch_val_for_each<T>(Properties::EpsR, it_begin, it_end);
34683 return *this;
34684 }
34685
34691 {
34692 return BatchFloat64ArrayProxy(*this, Properties::InsLayer);
34693 }
34694
34695 TSDataBatch& InsLayer(double value)
34696 {
34697 set_batch_val<double>(Properties::InsLayer, value);
34698 return *this;
34699 }
34700
34701 template <typename T>
34702 TSDataBatch& InsLayer(T &value)
34703 {
34704 set_batch_val_for_each<T>(Properties::InsLayer, value.begin(), value.end());
34705 return *this;
34706 }
34707
34708 template <typename T>
34709 TSDataBatch& InsLayer(typename T::iterator it_begin, typename T::iterator it_end)
34710 {
34711 set_batch_val_for_each<T>(Properties::InsLayer, it_begin, it_end);
34712 return *this;
34713 }
34714
34720 {
34721 return BatchFloat64ArrayProxy(*this, Properties::DiaIns);
34722 }
34723
34724 TSDataBatch& DiaIns(double value)
34725 {
34726 set_batch_val<double>(Properties::DiaIns, value);
34727 return *this;
34728 }
34729
34730 template <typename T>
34731 TSDataBatch& DiaIns(T &value)
34732 {
34733 set_batch_val_for_each<T>(Properties::DiaIns, value.begin(), value.end());
34734 return *this;
34735 }
34736
34737 template <typename T>
34738 TSDataBatch& DiaIns(typename T::iterator it_begin, typename T::iterator it_end)
34739 {
34740 set_batch_val_for_each<T>(Properties::DiaIns, it_begin, it_end);
34741 return *this;
34742 }
34743
34749 {
34750 return BatchFloat64ArrayProxy(*this, Properties::DiaCable);
34751 }
34752
34753 TSDataBatch& DiaCable(double value)
34754 {
34755 set_batch_val<double>(Properties::DiaCable, value);
34756 return *this;
34757 }
34758
34759 template <typename T>
34760 TSDataBatch& DiaCable(T &value)
34761 {
34762 set_batch_val_for_each<T>(Properties::DiaCable, value.begin(), value.end());
34763 return *this;
34764 }
34765
34766 template <typename T>
34767 TSDataBatch& DiaCable(typename T::iterator it_begin, typename T::iterator it_end)
34768 {
34769 set_batch_val_for_each<T>(Properties::DiaCable, it_begin, it_end);
34770 return *this;
34771 }
34772
34778 {
34779 return BatchFloat64ArrayProxy(*this, Properties::Rdc);
34780 }
34781
34782 TSDataBatch& Rdc(double value)
34783 {
34784 set_batch_val<double>(Properties::Rdc, value);
34785 return *this;
34786 }
34787
34788 template <typename T>
34789 TSDataBatch& Rdc(T &value)
34790 {
34791 set_batch_val_for_each<T>(Properties::Rdc, value.begin(), value.end());
34792 return *this;
34793 }
34794
34795 template <typename T>
34796 TSDataBatch& Rdc(typename T::iterator it_begin, typename T::iterator it_end)
34797 {
34798 set_batch_val_for_each<T>(Properties::Rdc, it_begin, it_end);
34799 return *this;
34800 }
34801
34807 {
34808 return BatchFloat64ArrayProxy(*this, Properties::Rac);
34809 }
34810
34811 TSDataBatch& Rac(double value)
34812 {
34813 set_batch_val<double>(Properties::Rac, value);
34814 return *this;
34815 }
34816
34817 template <typename T>
34818 TSDataBatch& Rac(T &value)
34819 {
34820 set_batch_val_for_each<T>(Properties::Rac, value.begin(), value.end());
34821 return *this;
34822 }
34823
34824 template <typename T>
34825 TSDataBatch& Rac(typename T::iterator it_begin, typename T::iterator it_end)
34826 {
34827 set_batch_val_for_each<T>(Properties::Rac, it_begin, it_end);
34828 return *this;
34829 }
34830
34836 {
34837 return BatchInt32ArrayProxy(*this, Properties::Runits);
34838 }
34839
34840 TSDataBatch& Runits(string &value)
34841 {
34842 set_batch_val(Properties::Runits, value);
34843 return *this;
34844 }
34845
34846 TSDataBatch& Runits(int32_t value)
34847 {
34848 set_batch_val(Properties::Runits, value);
34849 return *this;
34850 }
34851
34852 TSDataBatch& Runits(DimensionUnits value)
34853 {
34854 set_batch_val(Properties::Runits, int32_t(value));
34855 return *this;
34856 }
34857
34858 TSDataBatch& Runits(strings &value)
34859 {
34860 set_batch_val_for_each<strings>(Properties::Runits, value.begin(), value.end());
34861 return *this;
34862 }
34863
34864 TSDataBatch& Runits(std::vector<int32_t> &value)
34865 {
34866 set_batch_val_for_each<std::vector<int32_t>>(Properties::Runits, value.begin(), value.end());
34867 return *this;
34868 }
34869
34870 TSDataBatch& Runits(std::vector<DimensionUnits> &value)
34871 {
34872 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::Runits, value.begin(), value.end());
34873 return *this;
34874 }
34875
34880 strings Runits_str()
34881 {
34882 return get_batch_val<strings>(Properties::Runits);
34883 }
34884
34885 TSDataBatch& Runits_str(string &value)
34886 {
34887 Runits(value);
34888 return *this;
34889 }
34890
34891 TSDataBatch& Runits_str(strings &value)
34892 {
34893 Runits(value);
34894 return *this;
34895 }
34896
34902 {
34903 return BatchFloat64ArrayProxy(*this, Properties::GMRac);
34904 }
34905
34906 TSDataBatch& GMRac(double value)
34907 {
34908 set_batch_val<double>(Properties::GMRac, value);
34909 return *this;
34910 }
34911
34912 template <typename T>
34913 TSDataBatch& GMRac(T &value)
34914 {
34915 set_batch_val_for_each<T>(Properties::GMRac, value.begin(), value.end());
34916 return *this;
34917 }
34918
34919 template <typename T>
34920 TSDataBatch& GMRac(typename T::iterator it_begin, typename T::iterator it_end)
34921 {
34922 set_batch_val_for_each<T>(Properties::GMRac, it_begin, it_end);
34923 return *this;
34924 }
34925
34931 {
34932 return BatchInt32ArrayProxy(*this, Properties::GMRunits);
34933 }
34934
34935 TSDataBatch& GMRunits(string &value)
34936 {
34937 set_batch_val(Properties::GMRunits, value);
34938 return *this;
34939 }
34940
34941 TSDataBatch& GMRunits(int32_t value)
34942 {
34943 set_batch_val(Properties::GMRunits, value);
34944 return *this;
34945 }
34946
34947 TSDataBatch& GMRunits(DimensionUnits value)
34948 {
34949 set_batch_val(Properties::GMRunits, int32_t(value));
34950 return *this;
34951 }
34952
34953 TSDataBatch& GMRunits(strings &value)
34954 {
34955 set_batch_val_for_each<strings>(Properties::GMRunits, value.begin(), value.end());
34956 return *this;
34957 }
34958
34959 TSDataBatch& GMRunits(std::vector<int32_t> &value)
34960 {
34961 set_batch_val_for_each<std::vector<int32_t>>(Properties::GMRunits, value.begin(), value.end());
34962 return *this;
34963 }
34964
34965 TSDataBatch& GMRunits(std::vector<DimensionUnits> &value)
34966 {
34967 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::GMRunits, value.begin(), value.end());
34968 return *this;
34969 }
34970
34976 {
34977 return get_batch_val<strings>(Properties::GMRunits);
34978 }
34979
34980 TSDataBatch& GMRunits_str(string &value)
34981 {
34982 GMRunits(value);
34983 return *this;
34984 }
34985
34986 TSDataBatch& GMRunits_str(strings &value)
34987 {
34988 GMRunits(value);
34989 return *this;
34990 }
34991
34997 {
34998 return BatchFloat64ArrayProxy(*this, Properties::radius);
34999 }
35000
35001 TSDataBatch& radius(double value)
35002 {
35003 set_batch_val<double>(Properties::radius, value);
35004 return *this;
35005 }
35006
35007 template <typename T>
35008 TSDataBatch& radius(T &value)
35009 {
35010 set_batch_val_for_each<T>(Properties::radius, value.begin(), value.end());
35011 return *this;
35012 }
35013
35014 template <typename T>
35015 TSDataBatch& radius(typename T::iterator it_begin, typename T::iterator it_end)
35016 {
35017 set_batch_val_for_each<T>(Properties::radius, it_begin, it_end);
35018 return *this;
35019 }
35020
35026 {
35027 return BatchInt32ArrayProxy(*this, Properties::radunits);
35028 }
35029
35030 TSDataBatch& radunits(string &value)
35031 {
35032 set_batch_val(Properties::radunits, value);
35033 return *this;
35034 }
35035
35036 TSDataBatch& radunits(int32_t value)
35037 {
35038 set_batch_val(Properties::radunits, value);
35039 return *this;
35040 }
35041
35042 TSDataBatch& radunits(DimensionUnits value)
35043 {
35044 set_batch_val(Properties::radunits, int32_t(value));
35045 return *this;
35046 }
35047
35048 TSDataBatch& radunits(strings &value)
35049 {
35050 set_batch_val_for_each<strings>(Properties::radunits, value.begin(), value.end());
35051 return *this;
35052 }
35053
35054 TSDataBatch& radunits(std::vector<int32_t> &value)
35055 {
35056 set_batch_val_for_each<std::vector<int32_t>>(Properties::radunits, value.begin(), value.end());
35057 return *this;
35058 }
35059
35060 TSDataBatch& radunits(std::vector<DimensionUnits> &value)
35061 {
35062 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::radunits, value.begin(), value.end());
35063 return *this;
35064 }
35065
35071 {
35072 return get_batch_val<strings>(Properties::radunits);
35073 }
35074
35075 TSDataBatch& radunits_str(string &value)
35076 {
35077 radunits(value);
35078 return *this;
35079 }
35080
35081 TSDataBatch& radunits_str(strings &value)
35082 {
35083 radunits(value);
35084 return *this;
35085 }
35086
35092 {
35093 return BatchFloat64ArrayProxy(*this, Properties::normamps);
35094 }
35095
35096 TSDataBatch& normamps(double value)
35097 {
35098 set_batch_val<double>(Properties::normamps, value);
35099 return *this;
35100 }
35101
35102 template <typename T>
35103 TSDataBatch& normamps(T &value)
35104 {
35105 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
35106 return *this;
35107 }
35108
35109 template <typename T>
35110 TSDataBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
35111 {
35112 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
35113 return *this;
35114 }
35115
35121 {
35122 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
35123 }
35124
35125 TSDataBatch& emergamps(double value)
35126 {
35127 set_batch_val<double>(Properties::emergamps, value);
35128 return *this;
35129 }
35130
35131 template <typename T>
35132 TSDataBatch& emergamps(T &value)
35133 {
35134 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
35135 return *this;
35136 }
35137
35138 template <typename T>
35139 TSDataBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
35140 {
35141 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
35142 return *this;
35143 }
35144
35150 {
35151 return BatchFloat64ArrayProxy(*this, Properties::diam);
35152 }
35153
35154 TSDataBatch& diam(double value)
35155 {
35156 set_batch_val<double>(Properties::diam, value);
35157 return *this;
35158 }
35159
35160 template <typename T>
35161 TSDataBatch& diam(T &value)
35162 {
35163 set_batch_val_for_each<T>(Properties::diam, value.begin(), value.end());
35164 return *this;
35165 }
35166
35167 template <typename T>
35168 TSDataBatch& diam(typename T::iterator it_begin, typename T::iterator it_end)
35169 {
35170 set_batch_val_for_each<T>(Properties::diam, it_begin, it_end);
35171 return *this;
35172 }
35173
35179 {
35180 return BatchInt32ArrayProxy(*this, Properties::Seasons);
35181 }
35182
35183 TSDataBatch& Seasons(int32_t value)
35184 {
35185 set_batch_val(Properties::Seasons, value);
35186 return *this;
35187 }
35188
35189 template <typename T>
35190 TSDataBatch& Seasons(T &value)
35191 {
35192 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
35193 return *this;
35194 }
35195
35196 template <typename T>
35197 TSDataBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
35198 {
35199 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
35200 return *this;
35201 }
35202
35208 std::vector<VectorXd> Ratings()
35209 {
35210 return get_batch_valarray<VectorXd>(Properties::Ratings);
35211 }
35212
35213 TSDataBatch& Ratings(VectorXd &value)
35214 {
35215 set_batch_val<VectorXd>(Properties::Ratings, value);
35216 return *this;
35217 }
35218
35224 {
35225 return BatchFloat64ArrayProxy(*this, Properties::Capradius);
35226 }
35227
35228 TSDataBatch& Capradius(double value)
35229 {
35230 set_batch_val<double>(Properties::Capradius, value);
35231 return *this;
35232 }
35233
35234 template <typename T>
35235 TSDataBatch& Capradius(T &value)
35236 {
35237 set_batch_val_for_each<T>(Properties::Capradius, value.begin(), value.end());
35238 return *this;
35239 }
35240
35241 template <typename T>
35242 TSDataBatch& Capradius(typename T::iterator it_begin, typename T::iterator it_end)
35243 {
35244 set_batch_val_for_each<T>(Properties::Capradius, it_begin, it_end);
35245 return *this;
35246 }
35247
35254 TSDataBatch& like(const string &value)
35255 {
35256 set_batch_val(Properties::like, value.c_str());
35257 return *this;
35258 }
35259
35266 TSDataBatch& like(const char *value)
35267 {
35268 set_batch_val(Properties::like, value);
35269 return *this;
35270 }
35271};
35272
35273
35275{
35276public:
35279
35284 DSSBatch(util, LineSpacing::dss_cls_idx)
35285 {
35286 }
35287
35291 LineSpacingBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
35292 DSSBatch(util, LineSpacing::dss_cls_idx, prop_idx, prop_value)
35293 {
35294 }
35295
35299 LineSpacingBatch(APIUtil *util, const char* regexp):
35300 DSSBatch(util, LineSpacing::dss_cls_idx, regexp)
35301 {
35302 }
35303
35304
35305 LineSpacingBatch& begin_edit()
35306 {
35307 Batch_BeginEdit(pointer, count[0]);
35308 return *this;
35309 }
35310
35311 LineSpacingBatch& end_edit(int32_t num_edits=1)
35312 {
35313 Batch_EndEdit(pointer, count[0], num_edits);
35314 return *this;
35315 }
35316
35317
35323 {
35324 return BatchInt32ArrayProxy(*this, Properties::nconds);
35325 }
35326
35327 LineSpacingBatch& nconds(int32_t value)
35328 {
35329 set_batch_val(Properties::nconds, value);
35330 return *this;
35331 }
35332
35333 template <typename T>
35334 LineSpacingBatch& nconds(T &value)
35335 {
35336 set_batch_val_for_each<T>(Properties::nconds, value.begin(), value.end());
35337 return *this;
35338 }
35339
35340 template <typename T>
35341 LineSpacingBatch& nconds(typename T::iterator it_begin, typename T::iterator it_end)
35342 {
35343 set_batch_val_for_each<T>(Properties::nconds, it_begin, it_end);
35344 return *this;
35345 }
35346
35352 {
35353 return BatchInt32ArrayProxy(*this, Properties::nphases);
35354 }
35355
35356 LineSpacingBatch& nphases(int32_t value)
35357 {
35358 set_batch_val(Properties::nphases, value);
35359 return *this;
35360 }
35361
35362 template <typename T>
35363 LineSpacingBatch& nphases(T &value)
35364 {
35365 set_batch_val_for_each<T>(Properties::nphases, value.begin(), value.end());
35366 return *this;
35367 }
35368
35369 template <typename T>
35370 LineSpacingBatch& nphases(typename T::iterator it_begin, typename T::iterator it_end)
35371 {
35372 set_batch_val_for_each<T>(Properties::nphases, it_begin, it_end);
35373 return *this;
35374 }
35375
35380 std::vector<VectorXd> x()
35381 {
35382 return get_batch_valarray<VectorXd>(Properties::x);
35383 }
35384
35385 LineSpacingBatch& x(VectorXd &value)
35386 {
35387 set_batch_val<VectorXd>(Properties::x, value);
35388 return *this;
35389 }
35390
35395 std::vector<VectorXd> h()
35396 {
35397 return get_batch_valarray<VectorXd>(Properties::h);
35398 }
35399
35400 LineSpacingBatch& h(VectorXd &value)
35401 {
35402 set_batch_val<VectorXd>(Properties::h, value);
35403 return *this;
35404 }
35405
35411 {
35412 return BatchInt32ArrayProxy(*this, Properties::units);
35413 }
35414
35415 LineSpacingBatch& units(string &value)
35416 {
35417 set_batch_val(Properties::units, value);
35418 return *this;
35419 }
35420
35421 LineSpacingBatch& units(int32_t value)
35422 {
35423 set_batch_val(Properties::units, value);
35424 return *this;
35425 }
35426
35427 LineSpacingBatch& units(DimensionUnits value)
35428 {
35429 set_batch_val(Properties::units, int32_t(value));
35430 return *this;
35431 }
35432
35433 LineSpacingBatch& units(strings &value)
35434 {
35435 set_batch_val_for_each<strings>(Properties::units, value.begin(), value.end());
35436 return *this;
35437 }
35438
35439 LineSpacingBatch& units(std::vector<int32_t> &value)
35440 {
35441 set_batch_val_for_each<std::vector<int32_t>>(Properties::units, value.begin(), value.end());
35442 return *this;
35443 }
35444
35445 LineSpacingBatch& units(std::vector<DimensionUnits> &value)
35446 {
35447 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::units, value.begin(), value.end());
35448 return *this;
35449 }
35450
35455 strings units_str()
35456 {
35457 return get_batch_val<strings>(Properties::units);
35458 }
35459
35460 LineSpacingBatch& units_str(string &value)
35461 {
35462 units(value);
35463 return *this;
35464 }
35465
35466 LineSpacingBatch& units_str(strings &value)
35467 {
35468 units(value);
35469 return *this;
35470 }
35471
35478 LineSpacingBatch& like(const string &value)
35479 {
35480 set_batch_val(Properties::like, value.c_str());
35481 return *this;
35482 }
35483
35490 LineSpacingBatch& like(const char *value)
35491 {
35492 set_batch_val(Properties::like, value);
35493 return *this;
35494 }
35495};
35496
35497
35499{
35500public:
35503
35508 DSSBatch(util, LineGeometry::dss_cls_idx)
35509 {
35510 }
35511
35515 LineGeometryBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
35516 DSSBatch(util, LineGeometry::dss_cls_idx, prop_idx, prop_value)
35517 {
35518 }
35519
35523 LineGeometryBatch(APIUtil *util, const char* regexp):
35524 DSSBatch(util, LineGeometry::dss_cls_idx, regexp)
35525 {
35526 }
35527
35528
35529 LineGeometryBatch& begin_edit()
35530 {
35531 Batch_BeginEdit(pointer, count[0]);
35532 return *this;
35533 }
35534
35535 LineGeometryBatch& end_edit(int32_t num_edits=1)
35536 {
35537 Batch_EndEdit(pointer, count[0], num_edits);
35538 return *this;
35539 }
35540
35541
35547 {
35548 return BatchInt32ArrayProxy(*this, Properties::nconds);
35549 }
35550
35551 LineGeometryBatch& nconds(int32_t value)
35552 {
35553 set_batch_val(Properties::nconds, value);
35554 return *this;
35555 }
35556
35557 template <typename T>
35558 LineGeometryBatch& nconds(T &value)
35559 {
35560 set_batch_val_for_each<T>(Properties::nconds, value.begin(), value.end());
35561 return *this;
35562 }
35563
35564 template <typename T>
35565 LineGeometryBatch& nconds(typename T::iterator it_begin, typename T::iterator it_end)
35566 {
35567 set_batch_val_for_each<T>(Properties::nconds, it_begin, it_end);
35568 return *this;
35569 }
35570
35576 {
35577 return BatchInt32ArrayProxy(*this, Properties::nphases);
35578 }
35579
35580 LineGeometryBatch& nphases(int32_t value)
35581 {
35582 set_batch_val(Properties::nphases, value);
35583 return *this;
35584 }
35585
35586 template <typename T>
35587 LineGeometryBatch& nphases(T &value)
35588 {
35589 set_batch_val_for_each<T>(Properties::nphases, value.begin(), value.end());
35590 return *this;
35591 }
35592
35593 template <typename T>
35594 LineGeometryBatch& nphases(typename T::iterator it_begin, typename T::iterator it_end)
35595 {
35596 set_batch_val_for_each<T>(Properties::nphases, it_begin, it_end);
35597 return *this;
35598 }
35599
35605 {
35606 return BatchInt32ArrayProxy(*this, Properties::cond);
35607 }
35608
35609 LineGeometryBatch& cond(int32_t value)
35610 {
35611 set_batch_val(Properties::cond, value);
35612 return *this;
35613 }
35614
35615 template <typename T>
35616 LineGeometryBatch& cond(T &value)
35617 {
35618 set_batch_val_for_each<T>(Properties::cond, value.begin(), value.end());
35619 return *this;
35620 }
35621
35622 template <typename T>
35623 LineGeometryBatch& cond(typename T::iterator it_begin, typename T::iterator it_end)
35624 {
35625 set_batch_val_for_each<T>(Properties::cond, it_begin, it_end);
35626 return *this;
35627 }
35628
35635 std::vector<strings> wire()
35636 {
35637 return get_batch_valarray<strings>(Properties::wire);
35638 }
35639
35640 LineGeometryBatch& wire(strings &value)
35641 {
35642 set_batch_val(Properties::wire, value);
35643 return *this;
35644 }
35645
35646 LineGeometryBatch& wire(std::vector<dss::obj::WireData> &value)
35647 {
35648 set_batch_val(Properties::wire, value);
35649 return *this;
35650 }
35651
35652 LineGeometryBatch& wire(std::vector<strings> &value)
35653 {
35654 set_batch_val_for_each<std::vector<strings>>(Properties::wire, value.begin(), value.end());
35655 return *this;
35656 }
35657
35658 LineGeometryBatch& wire(std::vector<std::vector<dss::obj::WireData>> &value)
35659 {
35660 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wire, value.begin(), value.end());
35661 return *this;
35662 }
35663
35670 std::vector<std::vector<dss::obj::WireData>> wire_obj()
35671 {
35672 return get_batch_valarray<std::vector<dss::obj::WireData>>(Properties::wire);
35673 }
35674
35675 LineGeometryBatch& wire_obj(std::vector<dss::obj::WireData> &value)
35676 {
35677 set_batch_val(Properties::wire, value);
35678 return *this;
35679 }
35680
35681 LineGeometryBatch& wire_obj(std::vector<std::vector<dss::obj::WireData>> &value)
35682 {
35683 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wire, value.begin(), value.end());
35684 return *this;
35685 }
35686
35691 std::vector<VectorXd> x()
35692 {
35693 return get_batch_valarray<VectorXd>(Properties::x);
35694 }
35695
35696 LineGeometryBatch& x(VectorXd &value)
35697 {
35698 set_batch_val<VectorXd>(Properties::x, value);
35699 return *this;
35700 }
35701
35706 std::vector<VectorXd> h()
35707 {
35708 return get_batch_valarray<VectorXd>(Properties::h);
35709 }
35710
35711 LineGeometryBatch& h(VectorXd &value)
35712 {
35713 set_batch_val<VectorXd>(Properties::h, value);
35714 return *this;
35715 }
35716
35722 {
35723 return BatchInt32ArrayProxy(*this, Properties::units);
35724 }
35725
35726 LineGeometryBatch& units(string &value)
35727 {
35728 set_batch_val(Properties::units, value);
35729 return *this;
35730 }
35731
35732 LineGeometryBatch& units(int32_t value)
35733 {
35734 set_batch_val(Properties::units, value);
35735 return *this;
35736 }
35737
35738 LineGeometryBatch& units(DimensionUnits value)
35739 {
35740 set_batch_val(Properties::units, int32_t(value));
35741 return *this;
35742 }
35743
35744 LineGeometryBatch& units(strings &value)
35745 {
35746 set_batch_val_for_each<strings>(Properties::units, value.begin(), value.end());
35747 return *this;
35748 }
35749
35750 LineGeometryBatch& units(std::vector<int32_t> &value)
35751 {
35752 set_batch_val_for_each<std::vector<int32_t>>(Properties::units, value.begin(), value.end());
35753 return *this;
35754 }
35755
35756 LineGeometryBatch& units(std::vector<DimensionUnits> &value)
35757 {
35758 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::units, value.begin(), value.end());
35759 return *this;
35760 }
35761
35766 strings units_str()
35767 {
35768 return get_batch_val<strings>(Properties::units);
35769 }
35770
35771 LineGeometryBatch& units_str(string &value)
35772 {
35773 units(value);
35774 return *this;
35775 }
35776
35777 LineGeometryBatch& units_str(strings &value)
35778 {
35779 units(value);
35780 return *this;
35781 }
35782
35788 {
35789 return BatchFloat64ArrayProxy(*this, Properties::normamps);
35790 }
35791
35792 LineGeometryBatch& normamps(double value)
35793 {
35794 set_batch_val<double>(Properties::normamps, value);
35795 return *this;
35796 }
35797
35798 template <typename T>
35799 LineGeometryBatch& normamps(T &value)
35800 {
35801 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
35802 return *this;
35803 }
35804
35805 template <typename T>
35806 LineGeometryBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
35807 {
35808 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
35809 return *this;
35810 }
35811
35817 {
35818 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
35819 }
35820
35821 LineGeometryBatch& emergamps(double value)
35822 {
35823 set_batch_val<double>(Properties::emergamps, value);
35824 return *this;
35825 }
35826
35827 template <typename T>
35828 LineGeometryBatch& emergamps(T &value)
35829 {
35830 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
35831 return *this;
35832 }
35833
35834 template <typename T>
35835 LineGeometryBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
35836 {
35837 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
35838 return *this;
35839 }
35840
35845 bools reduce()
35846 {
35847 return get_batch_val<bools>(Properties::reduce);
35848 }
35849
35850 LineGeometryBatch& reduce(bool value)
35851 {
35852 set_batch_val(Properties::reduce, int32_t(value));
35853 return *this;
35854 }
35855
35856 LineGeometryBatch& reduce(bools &value)
35857 {
35858 set_batch_val_for_each<std::vector<int32_t>>(Properties::reduce, value.begin(), value.end());
35859 return *this;
35860 }
35861
35869 strings spacing()
35870 {
35871 return get_batch_val<strings>(Properties::spacing);
35872 }
35873
35875 {
35876 set_batch_val(Properties::spacing, value);
35877 return *this;
35878 }
35879
35880 LineGeometryBatch& spacing(const string &value)
35881 {
35882 set_batch_val(Properties::spacing, value);
35883 return *this;
35884 }
35885
35893 std::vector<dss::obj::LineSpacing> spacing_obj()
35894 {
35895 return get_batch_val<std::vector<dss::obj::LineSpacing>>(Properties::spacing);
35896 }
35897
35899 {
35900 set_batch_val(Properties::spacing, value);
35901 return *this;
35902 }
35903
35912 std::vector<strings> wires()
35913 {
35914 return get_batch_valarray<strings>(Properties::wires);
35915 }
35916
35917 LineGeometryBatch& wires(strings &value)
35918 {
35919 set_batch_val(Properties::wires, value);
35920 return *this;
35921 }
35922
35923 LineGeometryBatch& wires(std::vector<dss::obj::WireData> &value)
35924 {
35925 set_batch_val(Properties::wires, value);
35926 return *this;
35927 }
35928
35929 LineGeometryBatch& wires(std::vector<strings> &value)
35930 {
35931 set_batch_val_for_each<std::vector<strings>>(Properties::wires, value.begin(), value.end());
35932 return *this;
35933 }
35934
35935 LineGeometryBatch& wires(std::vector<std::vector<dss::obj::WireData>> &value)
35936 {
35937 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wires, value.begin(), value.end());
35938 return *this;
35939 }
35940
35949 std::vector<std::vector<dss::obj::WireData>> wires_obj()
35950 {
35951 return get_batch_valarray<std::vector<dss::obj::WireData>>(Properties::wires);
35952 }
35953
35954 LineGeometryBatch& wires_obj(std::vector<dss::obj::WireData> &value)
35955 {
35956 set_batch_val(Properties::wires, value);
35957 return *this;
35958 }
35959
35960 LineGeometryBatch& wires_obj(std::vector<std::vector<dss::obj::WireData>> &value)
35961 {
35962 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wires, value.begin(), value.end());
35963 return *this;
35964 }
35965
35971 std::vector<strings> cncable()
35972 {
35973 return get_batch_valarray<strings>(Properties::cncable);
35974 }
35975
35976 LineGeometryBatch& cncable(strings &value)
35977 {
35978 set_batch_val(Properties::cncable, value);
35979 return *this;
35980 }
35981
35982 LineGeometryBatch& cncable(std::vector<dss::obj::CNData> &value)
35983 {
35984 set_batch_val(Properties::cncable, value);
35985 return *this;
35986 }
35987
35988 LineGeometryBatch& cncable(std::vector<strings> &value)
35989 {
35990 set_batch_val_for_each<std::vector<strings>>(Properties::cncable, value.begin(), value.end());
35991 return *this;
35992 }
35993
35994 LineGeometryBatch& cncable(std::vector<std::vector<dss::obj::CNData>> &value)
35995 {
35996 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncable, value.begin(), value.end());
35997 return *this;
35998 }
35999
36005 std::vector<std::vector<dss::obj::CNData>> cncable_obj()
36006 {
36007 return get_batch_valarray<std::vector<dss::obj::CNData>>(Properties::cncable);
36008 }
36009
36010 LineGeometryBatch& cncable_obj(std::vector<dss::obj::CNData> &value)
36011 {
36012 set_batch_val(Properties::cncable, value);
36013 return *this;
36014 }
36015
36016 LineGeometryBatch& cncable_obj(std::vector<std::vector<dss::obj::CNData>> &value)
36017 {
36018 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncable, value.begin(), value.end());
36019 return *this;
36020 }
36021
36027 std::vector<strings> tscable()
36028 {
36029 return get_batch_valarray<strings>(Properties::tscable);
36030 }
36031
36032 LineGeometryBatch& tscable(strings &value)
36033 {
36034 set_batch_val(Properties::tscable, value);
36035 return *this;
36036 }
36037
36038 LineGeometryBatch& tscable(std::vector<dss::obj::TSData> &value)
36039 {
36040 set_batch_val(Properties::tscable, value);
36041 return *this;
36042 }
36043
36044 LineGeometryBatch& tscable(std::vector<strings> &value)
36045 {
36046 set_batch_val_for_each<std::vector<strings>>(Properties::tscable, value.begin(), value.end());
36047 return *this;
36048 }
36049
36050 LineGeometryBatch& tscable(std::vector<std::vector<dss::obj::TSData>> &value)
36051 {
36052 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscable, value.begin(), value.end());
36053 return *this;
36054 }
36055
36061 std::vector<std::vector<dss::obj::TSData>> tscable_obj()
36062 {
36063 return get_batch_valarray<std::vector<dss::obj::TSData>>(Properties::tscable);
36064 }
36065
36066 LineGeometryBatch& tscable_obj(std::vector<dss::obj::TSData> &value)
36067 {
36068 set_batch_val(Properties::tscable, value);
36069 return *this;
36070 }
36071
36072 LineGeometryBatch& tscable_obj(std::vector<std::vector<dss::obj::TSData>> &value)
36073 {
36074 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscable, value.begin(), value.end());
36075 return *this;
36076 }
36077
36084 std::vector<strings> cncables()
36085 {
36086 return get_batch_valarray<strings>(Properties::cncables);
36087 }
36088
36089 LineGeometryBatch& cncables(strings &value)
36090 {
36091 set_batch_val(Properties::cncables, value);
36092 return *this;
36093 }
36094
36095 LineGeometryBatch& cncables(std::vector<dss::obj::CNData> &value)
36096 {
36097 set_batch_val(Properties::cncables, value);
36098 return *this;
36099 }
36100
36101 LineGeometryBatch& cncables(std::vector<strings> &value)
36102 {
36103 set_batch_val_for_each<std::vector<strings>>(Properties::cncables, value.begin(), value.end());
36104 return *this;
36105 }
36106
36107 LineGeometryBatch& cncables(std::vector<std::vector<dss::obj::CNData>> &value)
36108 {
36109 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncables, value.begin(), value.end());
36110 return *this;
36111 }
36112
36119 std::vector<std::vector<dss::obj::CNData>> cncables_obj()
36120 {
36121 return get_batch_valarray<std::vector<dss::obj::CNData>>(Properties::cncables);
36122 }
36123
36124 LineGeometryBatch& cncables_obj(std::vector<dss::obj::CNData> &value)
36125 {
36126 set_batch_val(Properties::cncables, value);
36127 return *this;
36128 }
36129
36130 LineGeometryBatch& cncables_obj(std::vector<std::vector<dss::obj::CNData>> &value)
36131 {
36132 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncables, value.begin(), value.end());
36133 return *this;
36134 }
36135
36142 std::vector<strings> tscables()
36143 {
36144 return get_batch_valarray<strings>(Properties::tscables);
36145 }
36146
36147 LineGeometryBatch& tscables(strings &value)
36148 {
36149 set_batch_val(Properties::tscables, value);
36150 return *this;
36151 }
36152
36153 LineGeometryBatch& tscables(std::vector<dss::obj::TSData> &value)
36154 {
36155 set_batch_val(Properties::tscables, value);
36156 return *this;
36157 }
36158
36159 LineGeometryBatch& tscables(std::vector<strings> &value)
36160 {
36161 set_batch_val_for_each<std::vector<strings>>(Properties::tscables, value.begin(), value.end());
36162 return *this;
36163 }
36164
36165 LineGeometryBatch& tscables(std::vector<std::vector<dss::obj::TSData>> &value)
36166 {
36167 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscables, value.begin(), value.end());
36168 return *this;
36169 }
36170
36177 std::vector<std::vector<dss::obj::TSData>> tscables_obj()
36178 {
36179 return get_batch_valarray<std::vector<dss::obj::TSData>>(Properties::tscables);
36180 }
36181
36182 LineGeometryBatch& tscables_obj(std::vector<dss::obj::TSData> &value)
36183 {
36184 set_batch_val(Properties::tscables, value);
36185 return *this;
36186 }
36187
36188 LineGeometryBatch& tscables_obj(std::vector<std::vector<dss::obj::TSData>> &value)
36189 {
36190 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscables, value.begin(), value.end());
36191 return *this;
36192 }
36193
36199 {
36200 return BatchInt32ArrayProxy(*this, Properties::Seasons);
36201 }
36202
36203 LineGeometryBatch& Seasons(int32_t value)
36204 {
36205 set_batch_val(Properties::Seasons, value);
36206 return *this;
36207 }
36208
36209 template <typename T>
36210 LineGeometryBatch& Seasons(T &value)
36211 {
36212 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
36213 return *this;
36214 }
36215
36216 template <typename T>
36217 LineGeometryBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
36218 {
36219 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
36220 return *this;
36221 }
36222
36228 std::vector<VectorXd> Ratings()
36229 {
36230 return get_batch_valarray<VectorXd>(Properties::Ratings);
36231 }
36232
36233 LineGeometryBatch& Ratings(VectorXd &value)
36234 {
36235 set_batch_val<VectorXd>(Properties::Ratings, value);
36236 return *this;
36237 }
36238
36247 {
36248 return BatchInt32ArrayProxy(*this, Properties::LineType);
36249 }
36250
36251 LineGeometryBatch& linetype(string &value)
36252 {
36253 set_batch_val(Properties::LineType, value);
36254 return *this;
36255 }
36256
36257 LineGeometryBatch& linetype(int32_t value)
36258 {
36259 set_batch_val(Properties::LineType, value);
36260 return *this;
36261 }
36262
36263 LineGeometryBatch& linetype(LineType value)
36264 {
36265 set_batch_val(Properties::LineType, int32_t(value));
36266 return *this;
36267 }
36268
36269 LineGeometryBatch& linetype(strings &value)
36270 {
36271 set_batch_val_for_each<strings>(Properties::LineType, value.begin(), value.end());
36272 return *this;
36273 }
36274
36275 LineGeometryBatch& linetype(std::vector<int32_t> &value)
36276 {
36277 set_batch_val_for_each<std::vector<int32_t>>(Properties::LineType, value.begin(), value.end());
36278 return *this;
36279 }
36280
36281 LineGeometryBatch& linetype(std::vector<LineType> &value)
36282 {
36283 set_batch_val_for_each<std::vector<LineType>>(Properties::LineType, value.begin(), value.end());
36284 return *this;
36285 }
36286
36295 {
36296 return get_batch_val<strings>(Properties::LineType);
36297 }
36298
36299 LineGeometryBatch& linetype_str(string &value)
36300 {
36301 linetype(value);
36302 return *this;
36303 }
36304
36305 LineGeometryBatch& linetype_str(strings &value)
36306 {
36307 linetype(value);
36308 return *this;
36309 }
36310
36317 LineGeometryBatch& like(const string &value)
36318 {
36319 set_batch_val(Properties::like, value.c_str());
36320 return *this;
36321 }
36322
36329 LineGeometryBatch& like(const char *value)
36330 {
36331 set_batch_val(Properties::like, value);
36332 return *this;
36333 }
36334};
36335
36336
36338{
36339public:
36342
36347 DSSBatch(util, XfmrCode::dss_cls_idx)
36348 {
36349 }
36350
36354 XfmrCodeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
36355 DSSBatch(util, XfmrCode::dss_cls_idx, prop_idx, prop_value)
36356 {
36357 }
36358
36362 XfmrCodeBatch(APIUtil *util, const char* regexp):
36363 DSSBatch(util, XfmrCode::dss_cls_idx, regexp)
36364 {
36365 }
36366
36367
36368 XfmrCodeBatch& begin_edit()
36369 {
36370 Batch_BeginEdit(pointer, count[0]);
36371 return *this;
36372 }
36373
36374 XfmrCodeBatch& end_edit(int32_t num_edits=1)
36375 {
36376 Batch_EndEdit(pointer, count[0], num_edits);
36377 return *this;
36378 }
36379
36380
36386 {
36387 return BatchInt32ArrayProxy(*this, Properties::phases);
36388 }
36389
36390 XfmrCodeBatch& phases(int32_t value)
36391 {
36392 set_batch_val(Properties::phases, value);
36393 return *this;
36394 }
36395
36396 template <typename T>
36397 XfmrCodeBatch& phases(T &value)
36398 {
36399 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
36400 return *this;
36401 }
36402
36403 template <typename T>
36404 XfmrCodeBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
36405 {
36406 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
36407 return *this;
36408 }
36409
36415 {
36416 return BatchInt32ArrayProxy(*this, Properties::windings);
36417 }
36418
36419 XfmrCodeBatch& windings(int32_t value)
36420 {
36421 set_batch_val(Properties::windings, value);
36422 return *this;
36423 }
36424
36425 template <typename T>
36426 XfmrCodeBatch& windings(T &value)
36427 {
36428 set_batch_val_for_each<T>(Properties::windings, value.begin(), value.end());
36429 return *this;
36430 }
36431
36432 template <typename T>
36433 XfmrCodeBatch& windings(typename T::iterator it_begin, typename T::iterator it_end)
36434 {
36435 set_batch_val_for_each<T>(Properties::windings, it_begin, it_end);
36436 return *this;
36437 }
36438
36444 {
36445 return BatchInt32ArrayProxy(*this, Properties::wdg);
36446 }
36447
36448 XfmrCodeBatch& wdg(int32_t value)
36449 {
36450 set_batch_val(Properties::wdg, value);
36451 return *this;
36452 }
36453
36454 template <typename T>
36455 XfmrCodeBatch& wdg(T &value)
36456 {
36457 set_batch_val_for_each<T>(Properties::wdg, value.begin(), value.end());
36458 return *this;
36459 }
36460
36461 template <typename T>
36462 XfmrCodeBatch& wdg(typename T::iterator it_begin, typename T::iterator it_end)
36463 {
36464 set_batch_val_for_each<T>(Properties::wdg, it_begin, it_end);
36465 return *this;
36466 }
36467
36472 std::vector<VectorXi> conn()
36473 {
36474 return get_batch_valarray<VectorXi>(Properties::conn);
36475 }
36476
36477 XfmrCodeBatch& conn(std::vector<int32_t> &value)
36478 {
36479 set_batch_val(Properties::conn, value);
36480 return *this;
36481 }
36482
36483 XfmrCodeBatch& conn(std::vector<Connection> &value)
36484 {
36485 set_batch_val(Properties::conn, value);
36486 return *this;
36487 }
36488
36489 XfmrCodeBatch& conn(strings &value)
36490 {
36491 set_batch_val(Properties::conn, value);
36492 return *this;
36493 }
36494
36495 XfmrCodeBatch& conn(std::vector<strings> &value)
36496 {
36497 set_batch_val_for_each<std::vector<strings>>(Properties::conn, value.begin(), value.end());
36498 return *this;
36499 }
36500
36505 std::vector<strings> conn_str()
36506 {
36507 return get_batch_valarray<strings>(Properties::conn);
36508 }
36509 XfmrCodeBatch& conn_str(strings &value)
36510 {
36511 conn(value);
36512 return *this;
36513 }
36514
36519 std::vector<VectorXd> kV()
36520 {
36521 return get_batch_valarray<VectorXd>(Properties::kV);
36522 }
36523
36524 XfmrCodeBatch& kV(VectorXd &value)
36525 {
36526 set_batch_val<VectorXd>(Properties::kV, value);
36527 return *this;
36528 }
36529
36534 std::vector<VectorXd> kVA()
36535 {
36536 return get_batch_valarray<VectorXd>(Properties::kVA);
36537 }
36538
36539 XfmrCodeBatch& kVA(VectorXd &value)
36540 {
36541 set_batch_val<VectorXd>(Properties::kVA, value);
36542 return *this;
36543 }
36544
36549 std::vector<VectorXd> tap()
36550 {
36551 return get_batch_valarray<VectorXd>(Properties::tap);
36552 }
36553
36554 XfmrCodeBatch& tap(VectorXd &value)
36555 {
36556 set_batch_val<VectorXd>(Properties::tap, value);
36557 return *this;
36558 }
36559
36564 std::vector<VectorXd> pctR()
36565 {
36566 return get_batch_valarray<VectorXd>(Properties::pctR);
36567 }
36568
36569 XfmrCodeBatch& pctR(VectorXd &value)
36570 {
36571 set_batch_val<VectorXd>(Properties::pctR, value);
36572 return *this;
36573 }
36574
36579 std::vector<VectorXd> Rneut()
36580 {
36581 return get_batch_valarray<VectorXd>(Properties::Rneut);
36582 }
36583
36584 XfmrCodeBatch& Rneut(VectorXd &value)
36585 {
36586 set_batch_val<VectorXd>(Properties::Rneut, value);
36587 return *this;
36588 }
36589
36594 std::vector<VectorXd> Xneut()
36595 {
36596 return get_batch_valarray<VectorXd>(Properties::Xneut);
36597 }
36598
36599 XfmrCodeBatch& Xneut(VectorXd &value)
36600 {
36601 set_batch_val<VectorXd>(Properties::Xneut, value);
36602 return *this;
36603 }
36604
36611 std::vector<VectorXi> conns()
36612 {
36613 return get_batch_valarray<VectorXi>(Properties::conns);
36614 }
36615
36616 XfmrCodeBatch& conns(std::vector<int32_t> &value)
36617 {
36618 set_batch_val(Properties::conns, value);
36619 return *this;
36620 }
36621
36622 XfmrCodeBatch& conns(std::vector<Connection> &value)
36623 {
36624 set_batch_val(Properties::conns, value);
36625 return *this;
36626 }
36627
36628 XfmrCodeBatch& conns(strings &value)
36629 {
36630 set_batch_val(Properties::conns, value);
36631 return *this;
36632 }
36633
36634 XfmrCodeBatch& conns(std::vector<strings> &value)
36635 {
36636 set_batch_val_for_each<std::vector<strings>>(Properties::conns, value.begin(), value.end());
36637 return *this;
36638 }
36639
36646 std::vector<strings> conns_str()
36647 {
36648 return get_batch_valarray<strings>(Properties::conns);
36649 }
36650 XfmrCodeBatch& conns_str(strings &value)
36651 {
36652 conns(value);
36653 return *this;
36654 }
36655
36666 std::vector<VectorXd> kVs()
36667 {
36668 return get_batch_valarray<VectorXd>(Properties::kVs);
36669 }
36670
36671 XfmrCodeBatch& kVs(VectorXd &value)
36672 {
36673 set_batch_val<VectorXd>(Properties::kVs, value);
36674 return *this;
36675 }
36676
36681 std::vector<VectorXd> kVAs()
36682 {
36683 return get_batch_valarray<VectorXd>(Properties::kVAs);
36684 }
36685
36686 XfmrCodeBatch& kVAs(VectorXd &value)
36687 {
36688 set_batch_val<VectorXd>(Properties::kVAs, value);
36689 return *this;
36690 }
36691
36696 std::vector<VectorXd> taps()
36697 {
36698 return get_batch_valarray<VectorXd>(Properties::taps);
36699 }
36700
36701 XfmrCodeBatch& taps(VectorXd &value)
36702 {
36703 set_batch_val<VectorXd>(Properties::taps, value);
36704 return *this;
36705 }
36706
36712 {
36713 return BatchFloat64ArrayProxy(*this, Properties::Xhl);
36714 }
36715
36716 XfmrCodeBatch& Xhl(double value)
36717 {
36718 set_batch_val<double>(Properties::Xhl, value);
36719 return *this;
36720 }
36721
36722 template <typename T>
36723 XfmrCodeBatch& Xhl(T &value)
36724 {
36725 set_batch_val_for_each<T>(Properties::Xhl, value.begin(), value.end());
36726 return *this;
36727 }
36728
36729 template <typename T>
36730 XfmrCodeBatch& Xhl(typename T::iterator it_begin, typename T::iterator it_end)
36731 {
36732 set_batch_val_for_each<T>(Properties::Xhl, it_begin, it_end);
36733 return *this;
36734 }
36735
36741 {
36742 return BatchFloat64ArrayProxy(*this, Properties::Xht);
36743 }
36744
36745 XfmrCodeBatch& Xht(double value)
36746 {
36747 set_batch_val<double>(Properties::Xht, value);
36748 return *this;
36749 }
36750
36751 template <typename T>
36752 XfmrCodeBatch& Xht(T &value)
36753 {
36754 set_batch_val_for_each<T>(Properties::Xht, value.begin(), value.end());
36755 return *this;
36756 }
36757
36758 template <typename T>
36759 XfmrCodeBatch& Xht(typename T::iterator it_begin, typename T::iterator it_end)
36760 {
36761 set_batch_val_for_each<T>(Properties::Xht, it_begin, it_end);
36762 return *this;
36763 }
36764
36770 {
36771 return BatchFloat64ArrayProxy(*this, Properties::Xlt);
36772 }
36773
36774 XfmrCodeBatch& Xlt(double value)
36775 {
36776 set_batch_val<double>(Properties::Xlt, value);
36777 return *this;
36778 }
36779
36780 template <typename T>
36781 XfmrCodeBatch& Xlt(T &value)
36782 {
36783 set_batch_val_for_each<T>(Properties::Xlt, value.begin(), value.end());
36784 return *this;
36785 }
36786
36787 template <typename T>
36788 XfmrCodeBatch& Xlt(typename T::iterator it_begin, typename T::iterator it_end)
36789 {
36790 set_batch_val_for_each<T>(Properties::Xlt, it_begin, it_end);
36791 return *this;
36792 }
36793
36802 std::vector<VectorXd> Xscarray()
36803 {
36804 return get_batch_valarray<VectorXd>(Properties::Xscarray);
36805 }
36806
36807 XfmrCodeBatch& Xscarray(VectorXd &value)
36808 {
36809 set_batch_val<VectorXd>(Properties::Xscarray, value);
36810 return *this;
36811 }
36812
36818 {
36819 return BatchFloat64ArrayProxy(*this, Properties::thermal);
36820 }
36821
36822 XfmrCodeBatch& thermal(double value)
36823 {
36824 set_batch_val<double>(Properties::thermal, value);
36825 return *this;
36826 }
36827
36828 template <typename T>
36829 XfmrCodeBatch& thermal(T &value)
36830 {
36831 set_batch_val_for_each<T>(Properties::thermal, value.begin(), value.end());
36832 return *this;
36833 }
36834
36835 template <typename T>
36836 XfmrCodeBatch& thermal(typename T::iterator it_begin, typename T::iterator it_end)
36837 {
36838 set_batch_val_for_each<T>(Properties::thermal, it_begin, it_end);
36839 return *this;
36840 }
36841
36847 {
36848 return BatchFloat64ArrayProxy(*this, Properties::n);
36849 }
36850
36851 XfmrCodeBatch& n(double value)
36852 {
36853 set_batch_val<double>(Properties::n, value);
36854 return *this;
36855 }
36856
36857 template <typename T>
36858 XfmrCodeBatch& n(T &value)
36859 {
36860 set_batch_val_for_each<T>(Properties::n, value.begin(), value.end());
36861 return *this;
36862 }
36863
36864 template <typename T>
36865 XfmrCodeBatch& n(typename T::iterator it_begin, typename T::iterator it_end)
36866 {
36867 set_batch_val_for_each<T>(Properties::n, it_begin, it_end);
36868 return *this;
36869 }
36870
36876 {
36877 return BatchFloat64ArrayProxy(*this, Properties::m);
36878 }
36879
36880 XfmrCodeBatch& m(double value)
36881 {
36882 set_batch_val<double>(Properties::m, value);
36883 return *this;
36884 }
36885
36886 template <typename T>
36887 XfmrCodeBatch& m(T &value)
36888 {
36889 set_batch_val_for_each<T>(Properties::m, value.begin(), value.end());
36890 return *this;
36891 }
36892
36893 template <typename T>
36894 XfmrCodeBatch& m(typename T::iterator it_begin, typename T::iterator it_end)
36895 {
36896 set_batch_val_for_each<T>(Properties::m, it_begin, it_end);
36897 return *this;
36898 }
36899
36905 {
36906 return BatchFloat64ArrayProxy(*this, Properties::flrise);
36907 }
36908
36909 XfmrCodeBatch& flrise(double value)
36910 {
36911 set_batch_val<double>(Properties::flrise, value);
36912 return *this;
36913 }
36914
36915 template <typename T>
36916 XfmrCodeBatch& flrise(T &value)
36917 {
36918 set_batch_val_for_each<T>(Properties::flrise, value.begin(), value.end());
36919 return *this;
36920 }
36921
36922 template <typename T>
36923 XfmrCodeBatch& flrise(typename T::iterator it_begin, typename T::iterator it_end)
36924 {
36925 set_batch_val_for_each<T>(Properties::flrise, it_begin, it_end);
36926 return *this;
36927 }
36928
36934 {
36935 return BatchFloat64ArrayProxy(*this, Properties::hsrise);
36936 }
36937
36938 XfmrCodeBatch& hsrise(double value)
36939 {
36940 set_batch_val<double>(Properties::hsrise, value);
36941 return *this;
36942 }
36943
36944 template <typename T>
36945 XfmrCodeBatch& hsrise(T &value)
36946 {
36947 set_batch_val_for_each<T>(Properties::hsrise, value.begin(), value.end());
36948 return *this;
36949 }
36950
36951 template <typename T>
36952 XfmrCodeBatch& hsrise(typename T::iterator it_begin, typename T::iterator it_end)
36953 {
36954 set_batch_val_for_each<T>(Properties::hsrise, it_begin, it_end);
36955 return *this;
36956 }
36957
36963 {
36964 return BatchFloat64ArrayProxy(*this, Properties::pctloadloss);
36965 }
36966
36967 XfmrCodeBatch& pctloadloss(double value)
36968 {
36969 set_batch_val<double>(Properties::pctloadloss, value);
36970 return *this;
36971 }
36972
36973 template <typename T>
36974 XfmrCodeBatch& pctloadloss(T &value)
36975 {
36976 set_batch_val_for_each<T>(Properties::pctloadloss, value.begin(), value.end());
36977 return *this;
36978 }
36979
36980 template <typename T>
36981 XfmrCodeBatch& pctloadloss(typename T::iterator it_begin, typename T::iterator it_end)
36982 {
36983 set_batch_val_for_each<T>(Properties::pctloadloss, it_begin, it_end);
36984 return *this;
36985 }
36986
36992 {
36993 return BatchFloat64ArrayProxy(*this, Properties::pctnoloadloss);
36994 }
36995
36996 XfmrCodeBatch& pctnoloadloss(double value)
36997 {
36998 set_batch_val<double>(Properties::pctnoloadloss, value);
36999 return *this;
37000 }
37001
37002 template <typename T>
37003 XfmrCodeBatch& pctnoloadloss(T &value)
37004 {
37005 set_batch_val_for_each<T>(Properties::pctnoloadloss, value.begin(), value.end());
37006 return *this;
37007 }
37008
37009 template <typename T>
37010 XfmrCodeBatch& pctnoloadloss(typename T::iterator it_begin, typename T::iterator it_end)
37011 {
37012 set_batch_val_for_each<T>(Properties::pctnoloadloss, it_begin, it_end);
37013 return *this;
37014 }
37015
37021 {
37022 return BatchFloat64ArrayProxy(*this, Properties::normhkVA);
37023 }
37024
37025 XfmrCodeBatch& normhkVA(double value)
37026 {
37027 set_batch_val<double>(Properties::normhkVA, value);
37028 return *this;
37029 }
37030
37031 template <typename T>
37032 XfmrCodeBatch& normhkVA(T &value)
37033 {
37034 set_batch_val_for_each<T>(Properties::normhkVA, value.begin(), value.end());
37035 return *this;
37036 }
37037
37038 template <typename T>
37039 XfmrCodeBatch& normhkVA(typename T::iterator it_begin, typename T::iterator it_end)
37040 {
37041 set_batch_val_for_each<T>(Properties::normhkVA, it_begin, it_end);
37042 return *this;
37043 }
37044
37050 {
37051 return BatchFloat64ArrayProxy(*this, Properties::emerghkVA);
37052 }
37053
37054 XfmrCodeBatch& emerghkVA(double value)
37055 {
37056 set_batch_val<double>(Properties::emerghkVA, value);
37057 return *this;
37058 }
37059
37060 template <typename T>
37061 XfmrCodeBatch& emerghkVA(T &value)
37062 {
37063 set_batch_val_for_each<T>(Properties::emerghkVA, value.begin(), value.end());
37064 return *this;
37065 }
37066
37067 template <typename T>
37068 XfmrCodeBatch& emerghkVA(typename T::iterator it_begin, typename T::iterator it_end)
37069 {
37070 set_batch_val_for_each<T>(Properties::emerghkVA, it_begin, it_end);
37071 return *this;
37072 }
37073
37078 std::vector<VectorXd> MaxTap()
37079 {
37080 return get_batch_valarray<VectorXd>(Properties::MaxTap);
37081 }
37082
37083 XfmrCodeBatch& MaxTap(VectorXd &value)
37084 {
37085 set_batch_val<VectorXd>(Properties::MaxTap, value);
37086 return *this;
37087 }
37088
37093 std::vector<VectorXd> MinTap()
37094 {
37095 return get_batch_valarray<VectorXd>(Properties::MinTap);
37096 }
37097
37098 XfmrCodeBatch& MinTap(VectorXd &value)
37099 {
37100 set_batch_val<VectorXd>(Properties::MinTap, value);
37101 return *this;
37102 }
37103
37108 std::vector<VectorXi> NumTaps()
37109 {
37110 return get_batch_valarray<VectorXi>(Properties::NumTaps);
37111 }
37112 XfmrCodeBatch& NumTaps(VectorXi &value)
37113 {
37114 set_batch_val(Properties::NumTaps, value);
37115 return *this;
37116 }
37117 XfmrCodeBatch& NumTaps(std::vector<VectorXi> &value)
37118 {
37119 set_batch_val_for_each<std::vector<VectorXi>>(Properties::NumTaps, value.begin(), value.end());
37120 return *this;
37121 }
37122
37128 {
37129 return BatchFloat64ArrayProxy(*this, Properties::pctimag);
37130 }
37131
37132 XfmrCodeBatch& pctimag(double value)
37133 {
37134 set_batch_val<double>(Properties::pctimag, value);
37135 return *this;
37136 }
37137
37138 template <typename T>
37139 XfmrCodeBatch& pctimag(T &value)
37140 {
37141 set_batch_val_for_each<T>(Properties::pctimag, value.begin(), value.end());
37142 return *this;
37143 }
37144
37145 template <typename T>
37146 XfmrCodeBatch& pctimag(typename T::iterator it_begin, typename T::iterator it_end)
37147 {
37148 set_batch_val_for_each<T>(Properties::pctimag, it_begin, it_end);
37149 return *this;
37150 }
37151
37157 {
37158 return BatchFloat64ArrayProxy(*this, Properties::ppm_antifloat);
37159 }
37160
37161 XfmrCodeBatch& ppm_antifloat(double value)
37162 {
37163 set_batch_val<double>(Properties::ppm_antifloat, value);
37164 return *this;
37165 }
37166
37167 template <typename T>
37168 XfmrCodeBatch& ppm_antifloat(T &value)
37169 {
37170 set_batch_val_for_each<T>(Properties::ppm_antifloat, value.begin(), value.end());
37171 return *this;
37172 }
37173
37174 template <typename T>
37175 XfmrCodeBatch& ppm_antifloat(typename T::iterator it_begin, typename T::iterator it_end)
37176 {
37177 set_batch_val_for_each<T>(Properties::ppm_antifloat, it_begin, it_end);
37178 return *this;
37179 }
37180
37187 std::vector<VectorXd> pctRs()
37188 {
37189 return get_batch_valarray<VectorXd>(Properties::pctRs);
37190 }
37191
37192 XfmrCodeBatch& pctRs(VectorXd &value)
37193 {
37194 set_batch_val<VectorXd>(Properties::pctRs, value);
37195 return *this;
37196 }
37197
37203 {
37204 return BatchFloat64ArrayProxy(*this, Properties::X12);
37205 }
37206
37207 XfmrCodeBatch& X12(double value)
37208 {
37209 set_batch_val<double>(Properties::X12, value);
37210 return *this;
37211 }
37212
37213 template <typename T>
37214 XfmrCodeBatch& X12(T &value)
37215 {
37216 set_batch_val_for_each<T>(Properties::X12, value.begin(), value.end());
37217 return *this;
37218 }
37219
37220 template <typename T>
37221 XfmrCodeBatch& X12(typename T::iterator it_begin, typename T::iterator it_end)
37222 {
37223 set_batch_val_for_each<T>(Properties::X12, it_begin, it_end);
37224 return *this;
37225 }
37226
37232 {
37233 return BatchFloat64ArrayProxy(*this, Properties::X13);
37234 }
37235
37236 XfmrCodeBatch& X13(double value)
37237 {
37238 set_batch_val<double>(Properties::X13, value);
37239 return *this;
37240 }
37241
37242 template <typename T>
37243 XfmrCodeBatch& X13(T &value)
37244 {
37245 set_batch_val_for_each<T>(Properties::X13, value.begin(), value.end());
37246 return *this;
37247 }
37248
37249 template <typename T>
37250 XfmrCodeBatch& X13(typename T::iterator it_begin, typename T::iterator it_end)
37251 {
37252 set_batch_val_for_each<T>(Properties::X13, it_begin, it_end);
37253 return *this;
37254 }
37255
37261 {
37262 return BatchFloat64ArrayProxy(*this, Properties::X23);
37263 }
37264
37265 XfmrCodeBatch& X23(double value)
37266 {
37267 set_batch_val<double>(Properties::X23, value);
37268 return *this;
37269 }
37270
37271 template <typename T>
37272 XfmrCodeBatch& X23(T &value)
37273 {
37274 set_batch_val_for_each<T>(Properties::X23, value.begin(), value.end());
37275 return *this;
37276 }
37277
37278 template <typename T>
37279 XfmrCodeBatch& X23(typename T::iterator it_begin, typename T::iterator it_end)
37280 {
37281 set_batch_val_for_each<T>(Properties::X23, it_begin, it_end);
37282 return *this;
37283 }
37284
37289 std::vector<VectorXd> RdcOhms()
37290 {
37291 return get_batch_valarray<VectorXd>(Properties::RdcOhms);
37292 }
37293
37294 XfmrCodeBatch& RdcOhms(VectorXd &value)
37295 {
37296 set_batch_val<VectorXd>(Properties::RdcOhms, value);
37297 return *this;
37298 }
37299
37305 {
37306 return BatchInt32ArrayProxy(*this, Properties::Seasons);
37307 }
37308
37309 XfmrCodeBatch& Seasons(int32_t value)
37310 {
37311 set_batch_val(Properties::Seasons, value);
37312 return *this;
37313 }
37314
37315 template <typename T>
37316 XfmrCodeBatch& Seasons(T &value)
37317 {
37318 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
37319 return *this;
37320 }
37321
37322 template <typename T>
37323 XfmrCodeBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
37324 {
37325 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
37326 return *this;
37327 }
37328
37334 std::vector<VectorXd> Ratings()
37335 {
37336 return get_batch_valarray<VectorXd>(Properties::Ratings);
37337 }
37338
37339 XfmrCodeBatch& Ratings(VectorXd &value)
37340 {
37341 set_batch_val<VectorXd>(Properties::Ratings, value);
37342 return *this;
37343 }
37344
37351 XfmrCodeBatch& like(const string &value)
37352 {
37353 set_batch_val(Properties::like, value.c_str());
37354 return *this;
37355 }
37356
37363 XfmrCodeBatch& like(const char *value)
37364 {
37365 set_batch_val(Properties::like, value);
37366 return *this;
37367 }
37368};
37369
37370
37371class LineBatch: public DSSBatch
37372{
37373public:
37375 typedef Line BatchElementClass;
37376
37381 DSSBatch(util, Line::dss_cls_idx)
37382 {
37383 }
37384
37388 LineBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
37389 DSSBatch(util, Line::dss_cls_idx, prop_idx, prop_value)
37390 {
37391 }
37392
37396 LineBatch(APIUtil *util, const char* regexp):
37397 DSSBatch(util, Line::dss_cls_idx, regexp)
37398 {
37399 }
37400
37401
37402 LineBatch& begin_edit()
37403 {
37404 Batch_BeginEdit(pointer, count[0]);
37405 return *this;
37406 }
37407
37408 LineBatch& end_edit(int32_t num_edits=1)
37409 {
37410 Batch_EndEdit(pointer, count[0], num_edits);
37411 return *this;
37412 }
37413
37414
37422 strings bus1()
37423 {
37424 return get_batch_val<strings>(Properties::bus1);
37425 }
37426
37427 LineBatch& bus1(const string &value)
37428 {
37429 set_batch_val(Properties::bus1, value.c_str());
37430 return *this;
37431 }
37432
37433 LineBatch& bus1(strings &value)
37434 {
37435 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
37436 return *this;
37437 }
37438
37443 strings bus2()
37444 {
37445 return get_batch_val<strings>(Properties::bus2);
37446 }
37447
37448 LineBatch& bus2(const string &value)
37449 {
37450 set_batch_val(Properties::bus2, value.c_str());
37451 return *this;
37452 }
37453
37454 LineBatch& bus2(strings &value)
37455 {
37456 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
37457 return *this;
37458 }
37459
37465 strings linecode()
37466 {
37467 return get_batch_val<strings>(Properties::linecode);
37468 }
37469
37471 {
37472 set_batch_val(Properties::linecode, value);
37473 return *this;
37474 }
37475
37476 LineBatch& linecode(const string &value)
37477 {
37478 set_batch_val(Properties::linecode, value);
37479 return *this;
37480 }
37481
37487 std::vector<dss::obj::LineCode> linecode_obj()
37488 {
37489 return get_batch_val<std::vector<dss::obj::LineCode>>(Properties::linecode);
37490 }
37491
37493 {
37494 set_batch_val(Properties::linecode, value);
37495 return *this;
37496 }
37497
37503 {
37504 return BatchFloat64ArrayProxy(*this, Properties::length);
37505 }
37506
37507 LineBatch& length(double value)
37508 {
37509 set_batch_val<double>(Properties::length, value);
37510 return *this;
37511 }
37512
37513 template <typename T>
37514 LineBatch& length(T &value)
37515 {
37516 set_batch_val_for_each<T>(Properties::length, value.begin(), value.end());
37517 return *this;
37518 }
37519
37520 template <typename T>
37521 LineBatch& length(typename T::iterator it_begin, typename T::iterator it_end)
37522 {
37523 set_batch_val_for_each<T>(Properties::length, it_begin, it_end);
37524 return *this;
37525 }
37526
37532 {
37533 return BatchInt32ArrayProxy(*this, Properties::phases);
37534 }
37535
37536 LineBatch& phases(int32_t value)
37537 {
37538 set_batch_val(Properties::phases, value);
37539 return *this;
37540 }
37541
37542 template <typename T>
37543 LineBatch& phases(T &value)
37544 {
37545 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
37546 return *this;
37547 }
37548
37549 template <typename T>
37550 LineBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
37551 {
37552 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
37553 return *this;
37554 }
37555
37561 {
37562 return BatchFloat64ArrayProxy(*this, Properties::r1);
37563 }
37564
37565 LineBatch& r1(double value)
37566 {
37567 set_batch_val<double>(Properties::r1, value);
37568 return *this;
37569 }
37570
37571 template <typename T>
37572 LineBatch& r1(T &value)
37573 {
37574 set_batch_val_for_each<T>(Properties::r1, value.begin(), value.end());
37575 return *this;
37576 }
37577
37578 template <typename T>
37579 LineBatch& r1(typename T::iterator it_begin, typename T::iterator it_end)
37580 {
37581 set_batch_val_for_each<T>(Properties::r1, it_begin, it_end);
37582 return *this;
37583 }
37584
37590 {
37591 return BatchFloat64ArrayProxy(*this, Properties::x1);
37592 }
37593
37594 LineBatch& x1(double value)
37595 {
37596 set_batch_val<double>(Properties::x1, value);
37597 return *this;
37598 }
37599
37600 template <typename T>
37601 LineBatch& x1(T &value)
37602 {
37603 set_batch_val_for_each<T>(Properties::x1, value.begin(), value.end());
37604 return *this;
37605 }
37606
37607 template <typename T>
37608 LineBatch& x1(typename T::iterator it_begin, typename T::iterator it_end)
37609 {
37610 set_batch_val_for_each<T>(Properties::x1, it_begin, it_end);
37611 return *this;
37612 }
37613
37619 {
37620 return BatchFloat64ArrayProxy(*this, Properties::r0);
37621 }
37622
37623 LineBatch& r0(double value)
37624 {
37625 set_batch_val<double>(Properties::r0, value);
37626 return *this;
37627 }
37628
37629 template <typename T>
37630 LineBatch& r0(T &value)
37631 {
37632 set_batch_val_for_each<T>(Properties::r0, value.begin(), value.end());
37633 return *this;
37634 }
37635
37636 template <typename T>
37637 LineBatch& r0(typename T::iterator it_begin, typename T::iterator it_end)
37638 {
37639 set_batch_val_for_each<T>(Properties::r0, it_begin, it_end);
37640 return *this;
37641 }
37642
37648 {
37649 return BatchFloat64ArrayProxy(*this, Properties::x0);
37650 }
37651
37652 LineBatch& x0(double value)
37653 {
37654 set_batch_val<double>(Properties::x0, value);
37655 return *this;
37656 }
37657
37658 template <typename T>
37659 LineBatch& x0(T &value)
37660 {
37661 set_batch_val_for_each<T>(Properties::x0, value.begin(), value.end());
37662 return *this;
37663 }
37664
37665 template <typename T>
37666 LineBatch& x0(typename T::iterator it_begin, typename T::iterator it_end)
37667 {
37668 set_batch_val_for_each<T>(Properties::x0, it_begin, it_end);
37669 return *this;
37670 }
37671
37677 {
37678 return BatchFloat64ArrayProxy(*this, Properties::C1);
37679 }
37680
37681 LineBatch& C1(double value)
37682 {
37683 set_batch_val<double>(Properties::C1, value);
37684 return *this;
37685 }
37686
37687 template <typename T>
37688 LineBatch& C1(T &value)
37689 {
37690 set_batch_val_for_each<T>(Properties::C1, value.begin(), value.end());
37691 return *this;
37692 }
37693
37694 template <typename T>
37695 LineBatch& C1(typename T::iterator it_begin, typename T::iterator it_end)
37696 {
37697 set_batch_val_for_each<T>(Properties::C1, it_begin, it_end);
37698 return *this;
37699 }
37700
37706 {
37707 return BatchFloat64ArrayProxy(*this, Properties::C0);
37708 }
37709
37710 LineBatch& C0(double value)
37711 {
37712 set_batch_val<double>(Properties::C0, value);
37713 return *this;
37714 }
37715
37716 template <typename T>
37717 LineBatch& C0(T &value)
37718 {
37719 set_batch_val_for_each<T>(Properties::C0, value.begin(), value.end());
37720 return *this;
37721 }
37722
37723 template <typename T>
37724 LineBatch& C0(typename T::iterator it_begin, typename T::iterator it_end)
37725 {
37726 set_batch_val_for_each<T>(Properties::C0, it_begin, it_end);
37727 return *this;
37728 }
37729
37734 std::vector<VectorXd> rmatrix()
37735 {
37736 return get_batch_valarray<VectorXd>(Properties::rmatrix);
37737 }
37738
37739 LineBatch& rmatrix(VectorXd &value)
37740 {
37741 set_batch_val<VectorXd>(Properties::rmatrix, value);
37742 return *this;
37743 }
37744
37749 std::vector<VectorXd> xmatrix()
37750 {
37751 return get_batch_valarray<VectorXd>(Properties::xmatrix);
37752 }
37753
37754 LineBatch& xmatrix(VectorXd &value)
37755 {
37756 set_batch_val<VectorXd>(Properties::xmatrix, value);
37757 return *this;
37758 }
37759
37764 std::vector<VectorXd> cmatrix()
37765 {
37766 return get_batch_valarray<VectorXd>(Properties::cmatrix);
37767 }
37768
37769 LineBatch& cmatrix(VectorXd &value)
37770 {
37771 set_batch_val<VectorXd>(Properties::cmatrix, value);
37772 return *this;
37773 }
37774
37780 bools Switch()
37781 {
37782 return get_batch_val<bools>(Properties::Switch);
37783 }
37784
37785 LineBatch& Switch(bool value)
37786 {
37787 set_batch_val(Properties::Switch, int32_t(value));
37788 return *this;
37789 }
37790
37791 LineBatch& Switch(bools &value)
37792 {
37793 set_batch_val_for_each<std::vector<int32_t>>(Properties::Switch, value.begin(), value.end());
37794 return *this;
37795 }
37796
37802 {
37803 return BatchFloat64ArrayProxy(*this, Properties::Rg);
37804 }
37805
37806 LineBatch& Rg(double value)
37807 {
37808 set_batch_val<double>(Properties::Rg, value);
37809 return *this;
37810 }
37811
37812 template <typename T>
37813 LineBatch& Rg(T &value)
37814 {
37815 set_batch_val_for_each<T>(Properties::Rg, value.begin(), value.end());
37816 return *this;
37817 }
37818
37819 template <typename T>
37820 LineBatch& Rg(typename T::iterator it_begin, typename T::iterator it_end)
37821 {
37822 set_batch_val_for_each<T>(Properties::Rg, it_begin, it_end);
37823 return *this;
37824 }
37825
37831 {
37832 return BatchFloat64ArrayProxy(*this, Properties::Xg);
37833 }
37834
37835 LineBatch& Xg(double value)
37836 {
37837 set_batch_val<double>(Properties::Xg, value);
37838 return *this;
37839 }
37840
37841 template <typename T>
37842 LineBatch& Xg(T &value)
37843 {
37844 set_batch_val_for_each<T>(Properties::Xg, value.begin(), value.end());
37845 return *this;
37846 }
37847
37848 template <typename T>
37849 LineBatch& Xg(typename T::iterator it_begin, typename T::iterator it_end)
37850 {
37851 set_batch_val_for_each<T>(Properties::Xg, it_begin, it_end);
37852 return *this;
37853 }
37854
37860 {
37861 return BatchFloat64ArrayProxy(*this, Properties::rho);
37862 }
37863
37864 LineBatch& rho(double value)
37865 {
37866 set_batch_val<double>(Properties::rho, value);
37867 return *this;
37868 }
37869
37870 template <typename T>
37871 LineBatch& rho(T &value)
37872 {
37873 set_batch_val_for_each<T>(Properties::rho, value.begin(), value.end());
37874 return *this;
37875 }
37876
37877 template <typename T>
37878 LineBatch& rho(typename T::iterator it_begin, typename T::iterator it_end)
37879 {
37880 set_batch_val_for_each<T>(Properties::rho, it_begin, it_end);
37881 return *this;
37882 }
37883
37888 strings geometry()
37889 {
37890 return get_batch_val<strings>(Properties::geometry);
37891 }
37892
37894 {
37895 set_batch_val(Properties::geometry, value);
37896 return *this;
37897 }
37898
37899 LineBatch& geometry(const string &value)
37900 {
37901 set_batch_val(Properties::geometry, value);
37902 return *this;
37903 }
37904
37909 std::vector<dss::obj::LineGeometry> geometry_obj()
37910 {
37911 return get_batch_val<std::vector<dss::obj::LineGeometry>>(Properties::geometry);
37912 }
37913
37915 {
37916 set_batch_val(Properties::geometry, value);
37917 return *this;
37918 }
37919
37925 {
37926 return BatchInt32ArrayProxy(*this, Properties::units);
37927 }
37928
37929 LineBatch& units(string &value)
37930 {
37931 set_batch_val(Properties::units, value);
37932 return *this;
37933 }
37934
37935 LineBatch& units(int32_t value)
37936 {
37937 set_batch_val(Properties::units, value);
37938 return *this;
37939 }
37940
37941 LineBatch& units(DimensionUnits value)
37942 {
37943 set_batch_val(Properties::units, int32_t(value));
37944 return *this;
37945 }
37946
37947 LineBatch& units(strings &value)
37948 {
37949 set_batch_val_for_each<strings>(Properties::units, value.begin(), value.end());
37950 return *this;
37951 }
37952
37953 LineBatch& units(std::vector<int32_t> &value)
37954 {
37955 set_batch_val_for_each<std::vector<int32_t>>(Properties::units, value.begin(), value.end());
37956 return *this;
37957 }
37958
37959 LineBatch& units(std::vector<DimensionUnits> &value)
37960 {
37961 set_batch_val_for_each<std::vector<DimensionUnits>>(Properties::units, value.begin(), value.end());
37962 return *this;
37963 }
37964
37969 strings units_str()
37970 {
37971 return get_batch_val<strings>(Properties::units);
37972 }
37973
37974 LineBatch& units_str(string &value)
37975 {
37976 units(value);
37977 return *this;
37978 }
37979
37980 LineBatch& units_str(strings &value)
37981 {
37982 units(value);
37983 return *this;
37984 }
37985
37992 strings spacing()
37993 {
37994 return get_batch_val<strings>(Properties::spacing);
37995 }
37996
37998 {
37999 set_batch_val(Properties::spacing, value);
38000 return *this;
38001 }
38002
38003 LineBatch& spacing(const string &value)
38004 {
38005 set_batch_val(Properties::spacing, value);
38006 return *this;
38007 }
38008
38015 std::vector<dss::obj::LineSpacing> spacing_obj()
38016 {
38017 return get_batch_val<std::vector<dss::obj::LineSpacing>>(Properties::spacing);
38018 }
38019
38021 {
38022 set_batch_val(Properties::spacing, value);
38023 return *this;
38024 }
38025
38033 std::vector<strings> wires()
38034 {
38035 return get_batch_valarray<strings>(Properties::wires);
38036 }
38037
38038 LineBatch& wires(strings &value)
38039 {
38040 set_batch_val(Properties::wires, value);
38041 return *this;
38042 }
38043
38044 LineBatch& wires(std::vector<dss::obj::WireData> &value)
38045 {
38046 set_batch_val(Properties::wires, value);
38047 return *this;
38048 }
38049
38050 LineBatch& wires(std::vector<strings> &value)
38051 {
38052 set_batch_val_for_each<std::vector<strings>>(Properties::wires, value.begin(), value.end());
38053 return *this;
38054 }
38055
38056 LineBatch& wires(std::vector<std::vector<dss::obj::WireData>> &value)
38057 {
38058 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wires, value.begin(), value.end());
38059 return *this;
38060 }
38061
38069 std::vector<std::vector<dss::obj::WireData>> wires_obj()
38070 {
38071 return get_batch_valarray<std::vector<dss::obj::WireData>>(Properties::wires);
38072 }
38073
38074 LineBatch& wires_obj(std::vector<dss::obj::WireData> &value)
38075 {
38076 set_batch_val(Properties::wires, value);
38077 return *this;
38078 }
38079
38080 LineBatch& wires_obj(std::vector<std::vector<dss::obj::WireData>> &value)
38081 {
38082 set_batch_val_for_each<std::vector<std::vector<dss::obj::WireData>>>(Properties::wires, value.begin(), value.end());
38083 return *this;
38084 }
38085
38091 {
38092 return BatchInt32ArrayProxy(*this, Properties::EarthModel);
38093 }
38094
38095 LineBatch& earthmodel(string &value)
38096 {
38097 set_batch_val(Properties::EarthModel, value);
38098 return *this;
38099 }
38100
38101 LineBatch& earthmodel(int32_t value)
38102 {
38103 set_batch_val(Properties::EarthModel, value);
38104 return *this;
38105 }
38106
38107 LineBatch& earthmodel(EarthModel value)
38108 {
38109 set_batch_val(Properties::EarthModel, int32_t(value));
38110 return *this;
38111 }
38112
38113 LineBatch& earthmodel(strings &value)
38114 {
38115 set_batch_val_for_each<strings>(Properties::EarthModel, value.begin(), value.end());
38116 return *this;
38117 }
38118
38119 LineBatch& earthmodel(std::vector<int32_t> &value)
38120 {
38121 set_batch_val_for_each<std::vector<int32_t>>(Properties::EarthModel, value.begin(), value.end());
38122 return *this;
38123 }
38124
38125 LineBatch& earthmodel(std::vector<EarthModel> &value)
38126 {
38127 set_batch_val_for_each<std::vector<EarthModel>>(Properties::EarthModel, value.begin(), value.end());
38128 return *this;
38129 }
38130
38136 {
38137 return get_batch_val<strings>(Properties::EarthModel);
38138 }
38139
38140 LineBatch& earthmodel_str(string &value)
38141 {
38142 earthmodel(value);
38143 return *this;
38144 }
38145
38146 LineBatch& earthmodel_str(strings &value)
38147 {
38148 earthmodel(value);
38149 return *this;
38150 }
38151
38159 std::vector<strings> cncables()
38160 {
38161 return get_batch_valarray<strings>(Properties::cncables);
38162 }
38163
38164 LineBatch& cncables(strings &value)
38165 {
38166 set_batch_val(Properties::cncables, value);
38167 return *this;
38168 }
38169
38170 LineBatch& cncables(std::vector<dss::obj::CNData> &value)
38171 {
38172 set_batch_val(Properties::cncables, value);
38173 return *this;
38174 }
38175
38176 LineBatch& cncables(std::vector<strings> &value)
38177 {
38178 set_batch_val_for_each<std::vector<strings>>(Properties::cncables, value.begin(), value.end());
38179 return *this;
38180 }
38181
38182 LineBatch& cncables(std::vector<std::vector<dss::obj::CNData>> &value)
38183 {
38184 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncables, value.begin(), value.end());
38185 return *this;
38186 }
38187
38195 std::vector<std::vector<dss::obj::CNData>> cncables_obj()
38196 {
38197 return get_batch_valarray<std::vector<dss::obj::CNData>>(Properties::cncables);
38198 }
38199
38200 LineBatch& cncables_obj(std::vector<dss::obj::CNData> &value)
38201 {
38202 set_batch_val(Properties::cncables, value);
38203 return *this;
38204 }
38205
38206 LineBatch& cncables_obj(std::vector<std::vector<dss::obj::CNData>> &value)
38207 {
38208 set_batch_val_for_each<std::vector<std::vector<dss::obj::CNData>>>(Properties::cncables, value.begin(), value.end());
38209 return *this;
38210 }
38211
38219 std::vector<strings> tscables()
38220 {
38221 return get_batch_valarray<strings>(Properties::tscables);
38222 }
38223
38224 LineBatch& tscables(strings &value)
38225 {
38226 set_batch_val(Properties::tscables, value);
38227 return *this;
38228 }
38229
38230 LineBatch& tscables(std::vector<dss::obj::TSData> &value)
38231 {
38232 set_batch_val(Properties::tscables, value);
38233 return *this;
38234 }
38235
38236 LineBatch& tscables(std::vector<strings> &value)
38237 {
38238 set_batch_val_for_each<std::vector<strings>>(Properties::tscables, value.begin(), value.end());
38239 return *this;
38240 }
38241
38242 LineBatch& tscables(std::vector<std::vector<dss::obj::TSData>> &value)
38243 {
38244 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscables, value.begin(), value.end());
38245 return *this;
38246 }
38247
38255 std::vector<std::vector<dss::obj::TSData>> tscables_obj()
38256 {
38257 return get_batch_valarray<std::vector<dss::obj::TSData>>(Properties::tscables);
38258 }
38259
38260 LineBatch& tscables_obj(std::vector<dss::obj::TSData> &value)
38261 {
38262 set_batch_val(Properties::tscables, value);
38263 return *this;
38264 }
38265
38266 LineBatch& tscables_obj(std::vector<std::vector<dss::obj::TSData>> &value)
38267 {
38268 set_batch_val_for_each<std::vector<std::vector<dss::obj::TSData>>>(Properties::tscables, value.begin(), value.end());
38269 return *this;
38270 }
38271
38277 {
38278 return BatchFloat64ArrayProxy(*this, Properties::B1);
38279 }
38280
38281 LineBatch& B1(double value)
38282 {
38283 set_batch_val<double>(Properties::B1, value);
38284 return *this;
38285 }
38286
38287 template <typename T>
38288 LineBatch& B1(T &value)
38289 {
38290 set_batch_val_for_each<T>(Properties::B1, value.begin(), value.end());
38291 return *this;
38292 }
38293
38294 template <typename T>
38295 LineBatch& B1(typename T::iterator it_begin, typename T::iterator it_end)
38296 {
38297 set_batch_val_for_each<T>(Properties::B1, it_begin, it_end);
38298 return *this;
38299 }
38300
38306 {
38307 return BatchFloat64ArrayProxy(*this, Properties::B0);
38308 }
38309
38310 LineBatch& B0(double value)
38311 {
38312 set_batch_val<double>(Properties::B0, value);
38313 return *this;
38314 }
38315
38316 template <typename T>
38317 LineBatch& B0(T &value)
38318 {
38319 set_batch_val_for_each<T>(Properties::B0, value.begin(), value.end());
38320 return *this;
38321 }
38322
38323 template <typename T>
38324 LineBatch& B0(typename T::iterator it_begin, typename T::iterator it_end)
38325 {
38326 set_batch_val_for_each<T>(Properties::B0, it_begin, it_end);
38327 return *this;
38328 }
38329
38335 {
38336 return BatchInt32ArrayProxy(*this, Properties::Seasons);
38337 }
38338
38339 LineBatch& Seasons(int32_t value)
38340 {
38341 set_batch_val(Properties::Seasons, value);
38342 return *this;
38343 }
38344
38345 template <typename T>
38346 LineBatch& Seasons(T &value)
38347 {
38348 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
38349 return *this;
38350 }
38351
38352 template <typename T>
38353 LineBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
38354 {
38355 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
38356 return *this;
38357 }
38358
38364 std::vector<VectorXd> Ratings()
38365 {
38366 return get_batch_valarray<VectorXd>(Properties::Ratings);
38367 }
38368
38369 LineBatch& Ratings(VectorXd &value)
38370 {
38371 set_batch_val<VectorXd>(Properties::Ratings, value);
38372 return *this;
38373 }
38374
38383 {
38384 return BatchInt32ArrayProxy(*this, Properties::LineType);
38385 }
38386
38387 LineBatch& linetype(string &value)
38388 {
38389 set_batch_val(Properties::LineType, value);
38390 return *this;
38391 }
38392
38393 LineBatch& linetype(int32_t value)
38394 {
38395 set_batch_val(Properties::LineType, value);
38396 return *this;
38397 }
38398
38399 LineBatch& linetype(LineType value)
38400 {
38401 set_batch_val(Properties::LineType, int32_t(value));
38402 return *this;
38403 }
38404
38405 LineBatch& linetype(strings &value)
38406 {
38407 set_batch_val_for_each<strings>(Properties::LineType, value.begin(), value.end());
38408 return *this;
38409 }
38410
38411 LineBatch& linetype(std::vector<int32_t> &value)
38412 {
38413 set_batch_val_for_each<std::vector<int32_t>>(Properties::LineType, value.begin(), value.end());
38414 return *this;
38415 }
38416
38417 LineBatch& linetype(std::vector<LineType> &value)
38418 {
38419 set_batch_val_for_each<std::vector<LineType>>(Properties::LineType, value.begin(), value.end());
38420 return *this;
38421 }
38422
38431 {
38432 return get_batch_val<strings>(Properties::LineType);
38433 }
38434
38435 LineBatch& linetype_str(string &value)
38436 {
38437 linetype(value);
38438 return *this;
38439 }
38440
38441 LineBatch& linetype_str(strings &value)
38442 {
38443 linetype(value);
38444 return *this;
38445 }
38446
38452 {
38453 return BatchFloat64ArrayProxy(*this, Properties::normamps);
38454 }
38455
38456 LineBatch& normamps(double value)
38457 {
38458 set_batch_val<double>(Properties::normamps, value);
38459 return *this;
38460 }
38461
38462 template <typename T>
38463 LineBatch& normamps(T &value)
38464 {
38465 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
38466 return *this;
38467 }
38468
38469 template <typename T>
38470 LineBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
38471 {
38472 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
38473 return *this;
38474 }
38475
38481 {
38482 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
38483 }
38484
38485 LineBatch& emergamps(double value)
38486 {
38487 set_batch_val<double>(Properties::emergamps, value);
38488 return *this;
38489 }
38490
38491 template <typename T>
38492 LineBatch& emergamps(T &value)
38493 {
38494 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
38495 return *this;
38496 }
38497
38498 template <typename T>
38499 LineBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
38500 {
38501 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
38502 return *this;
38503 }
38504
38510 {
38511 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
38512 }
38513
38514 LineBatch& faultrate(double value)
38515 {
38516 set_batch_val<double>(Properties::faultrate, value);
38517 return *this;
38518 }
38519
38520 template <typename T>
38521 LineBatch& faultrate(T &value)
38522 {
38523 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
38524 return *this;
38525 }
38526
38527 template <typename T>
38528 LineBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
38529 {
38530 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
38531 return *this;
38532 }
38533
38539 {
38540 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
38541 }
38542
38543 LineBatch& pctperm(double value)
38544 {
38545 set_batch_val<double>(Properties::pctperm, value);
38546 return *this;
38547 }
38548
38549 template <typename T>
38550 LineBatch& pctperm(T &value)
38551 {
38552 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
38553 return *this;
38554 }
38555
38556 template <typename T>
38557 LineBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
38558 {
38559 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
38560 return *this;
38561 }
38562
38568 {
38569 return BatchFloat64ArrayProxy(*this, Properties::repair);
38570 }
38571
38572 LineBatch& repair(double value)
38573 {
38574 set_batch_val<double>(Properties::repair, value);
38575 return *this;
38576 }
38577
38578 template <typename T>
38579 LineBatch& repair(T &value)
38580 {
38581 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
38582 return *this;
38583 }
38584
38585 template <typename T>
38586 LineBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
38587 {
38588 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
38589 return *this;
38590 }
38591
38597 {
38598 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
38599 }
38600
38601 LineBatch& basefreq(double value)
38602 {
38603 set_batch_val<double>(Properties::basefreq, value);
38604 return *this;
38605 }
38606
38607 template <typename T>
38608 LineBatch& basefreq(T &value)
38609 {
38610 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
38611 return *this;
38612 }
38613
38614 template <typename T>
38615 LineBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
38616 {
38617 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
38618 return *this;
38619 }
38620
38625 bools enabled()
38626 {
38627 return get_batch_val<bools>(Properties::enabled);
38628 }
38629
38630 LineBatch& enabled(bool value)
38631 {
38632 set_batch_val(Properties::enabled, int32_t(value));
38633 return *this;
38634 }
38635
38636 LineBatch& enabled(bools &value)
38637 {
38638 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
38639 return *this;
38640 }
38641
38648 LineBatch& like(const string &value)
38649 {
38650 set_batch_val(Properties::like, value.c_str());
38651 return *this;
38652 }
38653
38660 LineBatch& like(const char *value)
38661 {
38662 set_batch_val(Properties::like, value);
38663 return *this;
38664 }
38665};
38666
38667
38669{
38670public:
38672 typedef Vsource BatchElementClass;
38673
38674 // Shortcuts to class-specific enumerations
38676
38677
38682 DSSBatch(util, Vsource::dss_cls_idx)
38683 {
38684 }
38685
38689 VsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
38690 DSSBatch(util, Vsource::dss_cls_idx, prop_idx, prop_value)
38691 {
38692 }
38693
38697 VsourceBatch(APIUtil *util, const char* regexp):
38698 DSSBatch(util, Vsource::dss_cls_idx, regexp)
38699 {
38700 }
38701
38702
38703 VsourceBatch& begin_edit()
38704 {
38705 Batch_BeginEdit(pointer, count[0]);
38706 return *this;
38707 }
38708
38709 VsourceBatch& end_edit(int32_t num_edits=1)
38710 {
38711 Batch_EndEdit(pointer, count[0], num_edits);
38712 return *this;
38713 }
38714
38715
38724 strings bus1()
38725 {
38726 return get_batch_val<strings>(Properties::bus1);
38727 }
38728
38729 VsourceBatch& bus1(const string &value)
38730 {
38731 set_batch_val(Properties::bus1, value.c_str());
38732 return *this;
38733 }
38734
38735 VsourceBatch& bus1(strings &value)
38736 {
38737 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
38738 return *this;
38739 }
38740
38746 {
38747 return BatchFloat64ArrayProxy(*this, Properties::basekv);
38748 }
38749
38750 VsourceBatch& basekv(double value)
38751 {
38752 set_batch_val<double>(Properties::basekv, value);
38753 return *this;
38754 }
38755
38756 template <typename T>
38757 VsourceBatch& basekv(T &value)
38758 {
38759 set_batch_val_for_each<T>(Properties::basekv, value.begin(), value.end());
38760 return *this;
38761 }
38762
38763 template <typename T>
38764 VsourceBatch& basekv(typename T::iterator it_begin, typename T::iterator it_end)
38765 {
38766 set_batch_val_for_each<T>(Properties::basekv, it_begin, it_end);
38767 return *this;
38768 }
38769
38776 {
38777 return BatchFloat64ArrayProxy(*this, Properties::pu);
38778 }
38779
38780 VsourceBatch& pu(double value)
38781 {
38782 set_batch_val<double>(Properties::pu, value);
38783 return *this;
38784 }
38785
38786 template <typename T>
38787 VsourceBatch& pu(T &value)
38788 {
38789 set_batch_val_for_each<T>(Properties::pu, value.begin(), value.end());
38790 return *this;
38791 }
38792
38793 template <typename T>
38794 VsourceBatch& pu(typename T::iterator it_begin, typename T::iterator it_end)
38795 {
38796 set_batch_val_for_each<T>(Properties::pu, it_begin, it_end);
38797 return *this;
38798 }
38799
38805 {
38806 return BatchFloat64ArrayProxy(*this, Properties::angle);
38807 }
38808
38809 VsourceBatch& angle(double value)
38810 {
38811 set_batch_val<double>(Properties::angle, value);
38812 return *this;
38813 }
38814
38815 template <typename T>
38816 VsourceBatch& angle(T &value)
38817 {
38818 set_batch_val_for_each<T>(Properties::angle, value.begin(), value.end());
38819 return *this;
38820 }
38821
38822 template <typename T>
38823 VsourceBatch& angle(typename T::iterator it_begin, typename T::iterator it_end)
38824 {
38825 set_batch_val_for_each<T>(Properties::angle, it_begin, it_end);
38826 return *this;
38827 }
38828
38834 {
38835 return BatchFloat64ArrayProxy(*this, Properties::frequency);
38836 }
38837
38838 VsourceBatch& frequency(double value)
38839 {
38840 set_batch_val<double>(Properties::frequency, value);
38841 return *this;
38842 }
38843
38844 template <typename T>
38845 VsourceBatch& frequency(T &value)
38846 {
38847 set_batch_val_for_each<T>(Properties::frequency, value.begin(), value.end());
38848 return *this;
38849 }
38850
38851 template <typename T>
38852 VsourceBatch& frequency(typename T::iterator it_begin, typename T::iterator it_end)
38853 {
38854 set_batch_val_for_each<T>(Properties::frequency, it_begin, it_end);
38855 return *this;
38856 }
38857
38863 {
38864 return BatchInt32ArrayProxy(*this, Properties::phases);
38865 }
38866
38867 VsourceBatch& phases(int32_t value)
38868 {
38869 set_batch_val(Properties::phases, value);
38870 return *this;
38871 }
38872
38873 template <typename T>
38874 VsourceBatch& phases(T &value)
38875 {
38876 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
38877 return *this;
38878 }
38879
38880 template <typename T>
38881 VsourceBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
38882 {
38883 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
38884 return *this;
38885 }
38886
38892 {
38893 return BatchFloat64ArrayProxy(*this, Properties::MVAsc3);
38894 }
38895
38896 VsourceBatch& MVAsc3(double value)
38897 {
38898 set_batch_val<double>(Properties::MVAsc3, value);
38899 return *this;
38900 }
38901
38902 template <typename T>
38903 VsourceBatch& MVAsc3(T &value)
38904 {
38905 set_batch_val_for_each<T>(Properties::MVAsc3, value.begin(), value.end());
38906 return *this;
38907 }
38908
38909 template <typename T>
38910 VsourceBatch& MVAsc3(typename T::iterator it_begin, typename T::iterator it_end)
38911 {
38912 set_batch_val_for_each<T>(Properties::MVAsc3, it_begin, it_end);
38913 return *this;
38914 }
38915
38921 {
38922 return BatchFloat64ArrayProxy(*this, Properties::MVAsc1);
38923 }
38924
38925 VsourceBatch& MVAsc1(double value)
38926 {
38927 set_batch_val<double>(Properties::MVAsc1, value);
38928 return *this;
38929 }
38930
38931 template <typename T>
38932 VsourceBatch& MVAsc1(T &value)
38933 {
38934 set_batch_val_for_each<T>(Properties::MVAsc1, value.begin(), value.end());
38935 return *this;
38936 }
38937
38938 template <typename T>
38939 VsourceBatch& MVAsc1(typename T::iterator it_begin, typename T::iterator it_end)
38940 {
38941 set_batch_val_for_each<T>(Properties::MVAsc1, it_begin, it_end);
38942 return *this;
38943 }
38944
38950 {
38951 return BatchFloat64ArrayProxy(*this, Properties::x1r1);
38952 }
38953
38954 VsourceBatch& x1r1(double value)
38955 {
38956 set_batch_val<double>(Properties::x1r1, value);
38957 return *this;
38958 }
38959
38960 template <typename T>
38961 VsourceBatch& x1r1(T &value)
38962 {
38963 set_batch_val_for_each<T>(Properties::x1r1, value.begin(), value.end());
38964 return *this;
38965 }
38966
38967 template <typename T>
38968 VsourceBatch& x1r1(typename T::iterator it_begin, typename T::iterator it_end)
38969 {
38970 set_batch_val_for_each<T>(Properties::x1r1, it_begin, it_end);
38971 return *this;
38972 }
38973
38979 {
38980 return BatchFloat64ArrayProxy(*this, Properties::x0r0);
38981 }
38982
38983 VsourceBatch& x0r0(double value)
38984 {
38985 set_batch_val<double>(Properties::x0r0, value);
38986 return *this;
38987 }
38988
38989 template <typename T>
38990 VsourceBatch& x0r0(T &value)
38991 {
38992 set_batch_val_for_each<T>(Properties::x0r0, value.begin(), value.end());
38993 return *this;
38994 }
38995
38996 template <typename T>
38997 VsourceBatch& x0r0(typename T::iterator it_begin, typename T::iterator it_end)
38998 {
38999 set_batch_val_for_each<T>(Properties::x0r0, it_begin, it_end);
39000 return *this;
39001 }
39002
39009 {
39010 return BatchFloat64ArrayProxy(*this, Properties::Isc3);
39011 }
39012
39013 VsourceBatch& Isc3(double value)
39014 {
39015 set_batch_val<double>(Properties::Isc3, value);
39016 return *this;
39017 }
39018
39019 template <typename T>
39020 VsourceBatch& Isc3(T &value)
39021 {
39022 set_batch_val_for_each<T>(Properties::Isc3, value.begin(), value.end());
39023 return *this;
39024 }
39025
39026 template <typename T>
39027 VsourceBatch& Isc3(typename T::iterator it_begin, typename T::iterator it_end)
39028 {
39029 set_batch_val_for_each<T>(Properties::Isc3, it_begin, it_end);
39030 return *this;
39031 }
39032
39039 {
39040 return BatchFloat64ArrayProxy(*this, Properties::Isc1);
39041 }
39042
39043 VsourceBatch& Isc1(double value)
39044 {
39045 set_batch_val<double>(Properties::Isc1, value);
39046 return *this;
39047 }
39048
39049 template <typename T>
39050 VsourceBatch& Isc1(T &value)
39051 {
39052 set_batch_val_for_each<T>(Properties::Isc1, value.begin(), value.end());
39053 return *this;
39054 }
39055
39056 template <typename T>
39057 VsourceBatch& Isc1(typename T::iterator it_begin, typename T::iterator it_end)
39058 {
39059 set_batch_val_for_each<T>(Properties::Isc1, it_begin, it_end);
39060 return *this;
39061 }
39062
39069 {
39070 return BatchFloat64ArrayProxy(*this, Properties::R1);
39071 }
39072
39073 VsourceBatch& R1(double value)
39074 {
39075 set_batch_val<double>(Properties::R1, value);
39076 return *this;
39077 }
39078
39079 template <typename T>
39080 VsourceBatch& R1(T &value)
39081 {
39082 set_batch_val_for_each<T>(Properties::R1, value.begin(), value.end());
39083 return *this;
39084 }
39085
39086 template <typename T>
39087 VsourceBatch& R1(typename T::iterator it_begin, typename T::iterator it_end)
39088 {
39089 set_batch_val_for_each<T>(Properties::R1, it_begin, it_end);
39090 return *this;
39091 }
39092
39099 {
39100 return BatchFloat64ArrayProxy(*this, Properties::X1);
39101 }
39102
39103 VsourceBatch& X1(double value)
39104 {
39105 set_batch_val<double>(Properties::X1, value);
39106 return *this;
39107 }
39108
39109 template <typename T>
39110 VsourceBatch& X1(T &value)
39111 {
39112 set_batch_val_for_each<T>(Properties::X1, value.begin(), value.end());
39113 return *this;
39114 }
39115
39116 template <typename T>
39117 VsourceBatch& X1(typename T::iterator it_begin, typename T::iterator it_end)
39118 {
39119 set_batch_val_for_each<T>(Properties::X1, it_begin, it_end);
39120 return *this;
39121 }
39122
39129 {
39130 return BatchFloat64ArrayProxy(*this, Properties::R0);
39131 }
39132
39133 VsourceBatch& R0(double value)
39134 {
39135 set_batch_val<double>(Properties::R0, value);
39136 return *this;
39137 }
39138
39139 template <typename T>
39140 VsourceBatch& R0(T &value)
39141 {
39142 set_batch_val_for_each<T>(Properties::R0, value.begin(), value.end());
39143 return *this;
39144 }
39145
39146 template <typename T>
39147 VsourceBatch& R0(typename T::iterator it_begin, typename T::iterator it_end)
39148 {
39149 set_batch_val_for_each<T>(Properties::R0, it_begin, it_end);
39150 return *this;
39151 }
39152
39159 {
39160 return BatchFloat64ArrayProxy(*this, Properties::X0);
39161 }
39162
39163 VsourceBatch& X0(double value)
39164 {
39165 set_batch_val<double>(Properties::X0, value);
39166 return *this;
39167 }
39168
39169 template <typename T>
39170 VsourceBatch& X0(T &value)
39171 {
39172 set_batch_val_for_each<T>(Properties::X0, value.begin(), value.end());
39173 return *this;
39174 }
39175
39176 template <typename T>
39177 VsourceBatch& X0(typename T::iterator it_begin, typename T::iterator it_end)
39178 {
39179 set_batch_val_for_each<T>(Properties::X0, it_begin, it_end);
39180 return *this;
39181 }
39182
39188 {
39189 return BatchInt32ArrayProxy(*this, Properties::ScanType);
39190 }
39191
39192 VsourceBatch& scantype(string &value)
39193 {
39194 set_batch_val(Properties::ScanType, value);
39195 return *this;
39196 }
39197
39198 VsourceBatch& scantype(int32_t value)
39199 {
39200 set_batch_val(Properties::ScanType, value);
39201 return *this;
39202 }
39203
39204 VsourceBatch& scantype(ScanType value)
39205 {
39206 set_batch_val(Properties::ScanType, int32_t(value));
39207 return *this;
39208 }
39209
39210 VsourceBatch& scantype(strings &value)
39211 {
39212 set_batch_val_for_each<strings>(Properties::ScanType, value.begin(), value.end());
39213 return *this;
39214 }
39215
39216 VsourceBatch& scantype(std::vector<int32_t> &value)
39217 {
39218 set_batch_val_for_each<std::vector<int32_t>>(Properties::ScanType, value.begin(), value.end());
39219 return *this;
39220 }
39221
39222 VsourceBatch& scantype(std::vector<ScanType> &value)
39223 {
39224 set_batch_val_for_each<std::vector<ScanType>>(Properties::ScanType, value.begin(), value.end());
39225 return *this;
39226 }
39227
39233 {
39234 return get_batch_val<strings>(Properties::ScanType);
39235 }
39236
39237 VsourceBatch& scantype_str(string &value)
39238 {
39239 scantype(value);
39240 return *this;
39241 }
39242
39243 VsourceBatch& scantype_str(strings &value)
39244 {
39245 scantype(value);
39246 return *this;
39247 }
39248
39254 {
39255 return BatchInt32ArrayProxy(*this, Properties::Sequence);
39256 }
39257
39258 VsourceBatch& Sequence(string &value)
39259 {
39260 set_batch_val(Properties::Sequence, value);
39261 return *this;
39262 }
39263
39264 VsourceBatch& Sequence(int32_t value)
39265 {
39266 set_batch_val(Properties::Sequence, value);
39267 return *this;
39268 }
39269
39270 VsourceBatch& Sequence(SequenceType value)
39271 {
39272 set_batch_val(Properties::Sequence, int32_t(value));
39273 return *this;
39274 }
39275
39276 VsourceBatch& Sequence(strings &value)
39277 {
39278 set_batch_val_for_each<strings>(Properties::Sequence, value.begin(), value.end());
39279 return *this;
39280 }
39281
39282 VsourceBatch& Sequence(std::vector<int32_t> &value)
39283 {
39284 set_batch_val_for_each<std::vector<int32_t>>(Properties::Sequence, value.begin(), value.end());
39285 return *this;
39286 }
39287
39288 VsourceBatch& Sequence(std::vector<SequenceType> &value)
39289 {
39290 set_batch_val_for_each<std::vector<SequenceType>>(Properties::Sequence, value.begin(), value.end());
39291 return *this;
39292 }
39293
39299 {
39300 return get_batch_val<strings>(Properties::Sequence);
39301 }
39302
39303 VsourceBatch& Sequence_str(string &value)
39304 {
39305 Sequence(value);
39306 return *this;
39307 }
39308
39309 VsourceBatch& Sequence_str(strings &value)
39310 {
39311 Sequence(value);
39312 return *this;
39313 }
39314
39323 strings bus2()
39324 {
39325 return get_batch_val<strings>(Properties::bus2);
39326 }
39327
39328 VsourceBatch& bus2(const string &value)
39329 {
39330 set_batch_val(Properties::bus2, value.c_str());
39331 return *this;
39332 }
39333
39334 VsourceBatch& bus2(strings &value)
39335 {
39336 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
39337 return *this;
39338 }
39339
39350 std::vector<complex> Z1()
39351 {
39352 return get_batch_complex(Properties::Z1);
39353 }
39354
39355 VsourceBatch& Z1(complex value)
39356 {
39357 set_batch_val(Properties::Z1, value);
39358 return *this;
39359 }
39360
39361 VsourceBatch& Z1(std::vector<complex> &values)
39362 {
39363 set_batch_complex_for_each(Properties::Z1, values);
39364 return *this;
39365 }
39366
39377 std::vector<complex> Z0()
39378 {
39379 return get_batch_complex(Properties::Z0);
39380 }
39381
39382 VsourceBatch& Z0(complex value)
39383 {
39384 set_batch_val(Properties::Z0, value);
39385 return *this;
39386 }
39387
39388 VsourceBatch& Z0(std::vector<complex> &values)
39389 {
39390 set_batch_complex_for_each(Properties::Z0, values);
39391 return *this;
39392 }
39393
39404 std::vector<complex> Z2()
39405 {
39406 return get_batch_complex(Properties::Z2);
39407 }
39408
39409 VsourceBatch& Z2(complex value)
39410 {
39411 set_batch_val(Properties::Z2, value);
39412 return *this;
39413 }
39414
39415 VsourceBatch& Z2(std::vector<complex> &values)
39416 {
39417 set_batch_complex_for_each(Properties::Z2, values);
39418 return *this;
39419 }
39420
39425 std::vector<complex> puZ1()
39426 {
39427 return get_batch_complex(Properties::puZ1);
39428 }
39429
39430 VsourceBatch& puZ1(complex value)
39431 {
39432 set_batch_val(Properties::puZ1, value);
39433 return *this;
39434 }
39435
39436 VsourceBatch& puZ1(std::vector<complex> &values)
39437 {
39438 set_batch_complex_for_each(Properties::puZ1, values);
39439 return *this;
39440 }
39441
39446 std::vector<complex> puZ0()
39447 {
39448 return get_batch_complex(Properties::puZ0);
39449 }
39450
39451 VsourceBatch& puZ0(complex value)
39452 {
39453 set_batch_val(Properties::puZ0, value);
39454 return *this;
39455 }
39456
39457 VsourceBatch& puZ0(std::vector<complex> &values)
39458 {
39459 set_batch_complex_for_each(Properties::puZ0, values);
39460 return *this;
39461 }
39462
39467 std::vector<complex> puZ2()
39468 {
39469 return get_batch_complex(Properties::puZ2);
39470 }
39471
39472 VsourceBatch& puZ2(complex value)
39473 {
39474 set_batch_val(Properties::puZ2, value);
39475 return *this;
39476 }
39477
39478 VsourceBatch& puZ2(std::vector<complex> &values)
39479 {
39480 set_batch_complex_for_each(Properties::puZ2, values);
39481 return *this;
39482 }
39483
39489 {
39490 return BatchFloat64ArrayProxy(*this, Properties::baseMVA);
39491 }
39492
39493 VsourceBatch& baseMVA(double value)
39494 {
39495 set_batch_val<double>(Properties::baseMVA, value);
39496 return *this;
39497 }
39498
39499 template <typename T>
39500 VsourceBatch& baseMVA(T &value)
39501 {
39502 set_batch_val_for_each<T>(Properties::baseMVA, value.begin(), value.end());
39503 return *this;
39504 }
39505
39506 template <typename T>
39507 VsourceBatch& baseMVA(typename T::iterator it_begin, typename T::iterator it_end)
39508 {
39509 set_batch_val_for_each<T>(Properties::baseMVA, it_begin, it_end);
39510 return *this;
39511 }
39512
39521 strings Yearly()
39522 {
39523 return get_batch_val<strings>(Properties::Yearly);
39524 }
39525
39527 {
39528 set_batch_val(Properties::Yearly, value);
39529 return *this;
39530 }
39531
39532 VsourceBatch& Yearly(const string &value)
39533 {
39534 set_batch_val(Properties::Yearly, value);
39535 return *this;
39536 }
39537
39546 std::vector<dss::obj::LoadShape> Yearly_obj()
39547 {
39548 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Yearly);
39549 }
39550
39552 {
39553 set_batch_val(Properties::Yearly, value);
39554 return *this;
39555 }
39556
39565 strings Daily()
39566 {
39567 return get_batch_val<strings>(Properties::Daily);
39568 }
39569
39571 {
39572 set_batch_val(Properties::Daily, value);
39573 return *this;
39574 }
39575
39576 VsourceBatch& Daily(const string &value)
39577 {
39578 set_batch_val(Properties::Daily, value);
39579 return *this;
39580 }
39581
39590 std::vector<dss::obj::LoadShape> Daily_obj()
39591 {
39592 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Daily);
39593 }
39594
39596 {
39597 set_batch_val(Properties::Daily, value);
39598 return *this;
39599 }
39600
39609 strings Duty()
39610 {
39611 return get_batch_val<strings>(Properties::Duty);
39612 }
39613
39615 {
39616 set_batch_val(Properties::Duty, value);
39617 return *this;
39618 }
39619
39620 VsourceBatch& Duty(const string &value)
39621 {
39622 set_batch_val(Properties::Duty, value);
39623 return *this;
39624 }
39625
39634 std::vector<dss::obj::LoadShape> Duty_obj()
39635 {
39636 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Duty);
39637 }
39638
39640 {
39641 set_batch_val(Properties::Duty, value);
39642 return *this;
39643 }
39644
39650 {
39651 return BatchInt32ArrayProxy(*this, Properties::Model);
39652 }
39653
39654 VsourceBatch& Model(string &value)
39655 {
39656 set_batch_val(Properties::Model, value);
39657 return *this;
39658 }
39659
39660 VsourceBatch& Model(int32_t value)
39661 {
39662 set_batch_val(Properties::Model, value);
39663 return *this;
39664 }
39665
39667 {
39668 set_batch_val(Properties::Model, int32_t(value));
39669 return *this;
39670 }
39671
39672 VsourceBatch& Model(strings &value)
39673 {
39674 set_batch_val_for_each<strings>(Properties::Model, value.begin(), value.end());
39675 return *this;
39676 }
39677
39678 VsourceBatch& Model(std::vector<int32_t> &value)
39679 {
39680 set_batch_val_for_each<std::vector<int32_t>>(Properties::Model, value.begin(), value.end());
39681 return *this;
39682 }
39683
39684 VsourceBatch& Model(std::vector<Vsource::VSourceModel> &value)
39685 {
39686 set_batch_val_for_each<std::vector<Vsource::VSourceModel>>(Properties::Model, value.begin(), value.end());
39687 return *this;
39688 }
39689
39694 strings Model_str()
39695 {
39696 return get_batch_val<strings>(Properties::Model);
39697 }
39698
39699 VsourceBatch& Model_str(string &value)
39700 {
39701 Model(value);
39702 return *this;
39703 }
39704
39705 VsourceBatch& Model_str(strings &value)
39706 {
39707 Model(value);
39708 return *this;
39709 }
39710
39715 std::vector<complex> puZideal()
39716 {
39717 return get_batch_complex(Properties::puZideal);
39718 }
39719
39720 VsourceBatch& puZideal(complex value)
39721 {
39722 set_batch_val(Properties::puZideal, value);
39723 return *this;
39724 }
39725
39726 VsourceBatch& puZideal(std::vector<complex> &values)
39727 {
39728 set_batch_complex_for_each(Properties::puZideal, values);
39729 return *this;
39730 }
39731
39736 strings spectrum()
39737 {
39738 return get_batch_val<strings>(Properties::spectrum);
39739 }
39740
39742 {
39743 set_batch_val(Properties::spectrum, value);
39744 return *this;
39745 }
39746
39747 VsourceBatch& spectrum(const string &value)
39748 {
39749 set_batch_val(Properties::spectrum, value);
39750 return *this;
39751 }
39752
39757 std::vector<dss::obj::Spectrum> spectrum_obj()
39758 {
39759 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
39760 }
39761
39763 {
39764 set_batch_val(Properties::spectrum, value);
39765 return *this;
39766 }
39767
39773 {
39774 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
39775 }
39776
39777 VsourceBatch& basefreq(double value)
39778 {
39779 set_batch_val<double>(Properties::basefreq, value);
39780 return *this;
39781 }
39782
39783 template <typename T>
39784 VsourceBatch& basefreq(T &value)
39785 {
39786 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
39787 return *this;
39788 }
39789
39790 template <typename T>
39791 VsourceBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
39792 {
39793 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
39794 return *this;
39795 }
39796
39801 bools enabled()
39802 {
39803 return get_batch_val<bools>(Properties::enabled);
39804 }
39805
39806 VsourceBatch& enabled(bool value)
39807 {
39808 set_batch_val(Properties::enabled, int32_t(value));
39809 return *this;
39810 }
39811
39812 VsourceBatch& enabled(bools &value)
39813 {
39814 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
39815 return *this;
39816 }
39817
39824 VsourceBatch& like(const string &value)
39825 {
39826 set_batch_val(Properties::like, value.c_str());
39827 return *this;
39828 }
39829
39836 VsourceBatch& like(const char *value)
39837 {
39838 set_batch_val(Properties::like, value);
39839 return *this;
39840 }
39841};
39842
39843
39845{
39846public:
39848 typedef Isource BatchElementClass;
39849
39854 DSSBatch(util, Isource::dss_cls_idx)
39855 {
39856 }
39857
39861 IsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
39862 DSSBatch(util, Isource::dss_cls_idx, prop_idx, prop_value)
39863 {
39864 }
39865
39869 IsourceBatch(APIUtil *util, const char* regexp):
39870 DSSBatch(util, Isource::dss_cls_idx, regexp)
39871 {
39872 }
39873
39874
39875 IsourceBatch& begin_edit()
39876 {
39877 Batch_BeginEdit(pointer, count[0]);
39878 return *this;
39879 }
39880
39881 IsourceBatch& end_edit(int32_t num_edits=1)
39882 {
39883 Batch_EndEdit(pointer, count[0], num_edits);
39884 return *this;
39885 }
39886
39887
39894 strings bus1()
39895 {
39896 return get_batch_val<strings>(Properties::bus1);
39897 }
39898
39899 IsourceBatch& bus1(const string &value)
39900 {
39901 set_batch_val(Properties::bus1, value.c_str());
39902 return *this;
39903 }
39904
39905 IsourceBatch& bus1(strings &value)
39906 {
39907 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
39908 return *this;
39909 }
39910
39916 {
39917 return BatchFloat64ArrayProxy(*this, Properties::amps);
39918 }
39919
39920 IsourceBatch& amps(double value)
39921 {
39922 set_batch_val<double>(Properties::amps, value);
39923 return *this;
39924 }
39925
39926 template <typename T>
39927 IsourceBatch& amps(T &value)
39928 {
39929 set_batch_val_for_each<T>(Properties::amps, value.begin(), value.end());
39930 return *this;
39931 }
39932
39933 template <typename T>
39934 IsourceBatch& amps(typename T::iterator it_begin, typename T::iterator it_end)
39935 {
39936 set_batch_val_for_each<T>(Properties::amps, it_begin, it_end);
39937 return *this;
39938 }
39939
39946 {
39947 return BatchFloat64ArrayProxy(*this, Properties::angle);
39948 }
39949
39950 IsourceBatch& angle(double value)
39951 {
39952 set_batch_val<double>(Properties::angle, value);
39953 return *this;
39954 }
39955
39956 template <typename T>
39957 IsourceBatch& angle(T &value)
39958 {
39959 set_batch_val_for_each<T>(Properties::angle, value.begin(), value.end());
39960 return *this;
39961 }
39962
39963 template <typename T>
39964 IsourceBatch& angle(typename T::iterator it_begin, typename T::iterator it_end)
39965 {
39966 set_batch_val_for_each<T>(Properties::angle, it_begin, it_end);
39967 return *this;
39968 }
39969
39975 {
39976 return BatchFloat64ArrayProxy(*this, Properties::frequency);
39977 }
39978
39979 IsourceBatch& frequency(double value)
39980 {
39981 set_batch_val<double>(Properties::frequency, value);
39982 return *this;
39983 }
39984
39985 template <typename T>
39986 IsourceBatch& frequency(T &value)
39987 {
39988 set_batch_val_for_each<T>(Properties::frequency, value.begin(), value.end());
39989 return *this;
39990 }
39991
39992 template <typename T>
39993 IsourceBatch& frequency(typename T::iterator it_begin, typename T::iterator it_end)
39994 {
39995 set_batch_val_for_each<T>(Properties::frequency, it_begin, it_end);
39996 return *this;
39997 }
39998
40004 {
40005 return BatchInt32ArrayProxy(*this, Properties::phases);
40006 }
40007
40008 IsourceBatch& phases(int32_t value)
40009 {
40010 set_batch_val(Properties::phases, value);
40011 return *this;
40012 }
40013
40014 template <typename T>
40015 IsourceBatch& phases(T &value)
40016 {
40017 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
40018 return *this;
40019 }
40020
40021 template <typename T>
40022 IsourceBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
40023 {
40024 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
40025 return *this;
40026 }
40027
40033 {
40034 return BatchInt32ArrayProxy(*this, Properties::scantype);
40035 }
40036
40037 IsourceBatch& scantype(string &value)
40038 {
40039 set_batch_val(Properties::scantype, value);
40040 return *this;
40041 }
40042
40043 IsourceBatch& scantype(int32_t value)
40044 {
40045 set_batch_val(Properties::scantype, value);
40046 return *this;
40047 }
40048
40049 IsourceBatch& scantype(ScanType value)
40050 {
40051 set_batch_val(Properties::scantype, int32_t(value));
40052 return *this;
40053 }
40054
40055 IsourceBatch& scantype(strings &value)
40056 {
40057 set_batch_val_for_each<strings>(Properties::scantype, value.begin(), value.end());
40058 return *this;
40059 }
40060
40061 IsourceBatch& scantype(std::vector<int32_t> &value)
40062 {
40063 set_batch_val_for_each<std::vector<int32_t>>(Properties::scantype, value.begin(), value.end());
40064 return *this;
40065 }
40066
40067 IsourceBatch& scantype(std::vector<ScanType> &value)
40068 {
40069 set_batch_val_for_each<std::vector<ScanType>>(Properties::scantype, value.begin(), value.end());
40070 return *this;
40071 }
40072
40078 {
40079 return get_batch_val<strings>(Properties::scantype);
40080 }
40081
40082 IsourceBatch& scantype_str(string &value)
40083 {
40084 scantype(value);
40085 return *this;
40086 }
40087
40088 IsourceBatch& scantype_str(strings &value)
40089 {
40090 scantype(value);
40091 return *this;
40092 }
40093
40099 {
40100 return BatchInt32ArrayProxy(*this, Properties::sequence);
40101 }
40102
40103 IsourceBatch& sequence(string &value)
40104 {
40105 set_batch_val(Properties::sequence, value);
40106 return *this;
40107 }
40108
40109 IsourceBatch& sequence(int32_t value)
40110 {
40111 set_batch_val(Properties::sequence, value);
40112 return *this;
40113 }
40114
40115 IsourceBatch& sequence(SequenceType value)
40116 {
40117 set_batch_val(Properties::sequence, int32_t(value));
40118 return *this;
40119 }
40120
40121 IsourceBatch& sequence(strings &value)
40122 {
40123 set_batch_val_for_each<strings>(Properties::sequence, value.begin(), value.end());
40124 return *this;
40125 }
40126
40127 IsourceBatch& sequence(std::vector<int32_t> &value)
40128 {
40129 set_batch_val_for_each<std::vector<int32_t>>(Properties::sequence, value.begin(), value.end());
40130 return *this;
40131 }
40132
40133 IsourceBatch& sequence(std::vector<SequenceType> &value)
40134 {
40135 set_batch_val_for_each<std::vector<SequenceType>>(Properties::sequence, value.begin(), value.end());
40136 return *this;
40137 }
40138
40144 {
40145 return get_batch_val<strings>(Properties::sequence);
40146 }
40147
40148 IsourceBatch& sequence_str(string &value)
40149 {
40150 sequence(value);
40151 return *this;
40152 }
40153
40154 IsourceBatch& sequence_str(strings &value)
40155 {
40156 sequence(value);
40157 return *this;
40158 }
40159
40168 strings Yearly()
40169 {
40170 return get_batch_val<strings>(Properties::Yearly);
40171 }
40172
40174 {
40175 set_batch_val(Properties::Yearly, value);
40176 return *this;
40177 }
40178
40179 IsourceBatch& Yearly(const string &value)
40180 {
40181 set_batch_val(Properties::Yearly, value);
40182 return *this;
40183 }
40184
40193 std::vector<dss::obj::LoadShape> Yearly_obj()
40194 {
40195 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Yearly);
40196 }
40197
40199 {
40200 set_batch_val(Properties::Yearly, value);
40201 return *this;
40202 }
40203
40212 strings Daily()
40213 {
40214 return get_batch_val<strings>(Properties::Daily);
40215 }
40216
40218 {
40219 set_batch_val(Properties::Daily, value);
40220 return *this;
40221 }
40222
40223 IsourceBatch& Daily(const string &value)
40224 {
40225 set_batch_val(Properties::Daily, value);
40226 return *this;
40227 }
40228
40237 std::vector<dss::obj::LoadShape> Daily_obj()
40238 {
40239 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Daily);
40240 }
40241
40243 {
40244 set_batch_val(Properties::Daily, value);
40245 return *this;
40246 }
40247
40256 strings Duty()
40257 {
40258 return get_batch_val<strings>(Properties::Duty);
40259 }
40260
40262 {
40263 set_batch_val(Properties::Duty, value);
40264 return *this;
40265 }
40266
40267 IsourceBatch& Duty(const string &value)
40268 {
40269 set_batch_val(Properties::Duty, value);
40270 return *this;
40271 }
40272
40281 std::vector<dss::obj::LoadShape> Duty_obj()
40282 {
40283 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Duty);
40284 }
40285
40287 {
40288 set_batch_val(Properties::Duty, value);
40289 return *this;
40290 }
40291
40300 strings Bus2()
40301 {
40302 return get_batch_val<strings>(Properties::Bus2);
40303 }
40304
40305 IsourceBatch& Bus2(const string &value)
40306 {
40307 set_batch_val(Properties::Bus2, value.c_str());
40308 return *this;
40309 }
40310
40311 IsourceBatch& Bus2(strings &value)
40312 {
40313 set_batch_val_for_each<strings>(Properties::Bus2, value.begin(), value.end());
40314 return *this;
40315 }
40316
40321 strings spectrum()
40322 {
40323 return get_batch_val<strings>(Properties::spectrum);
40324 }
40325
40327 {
40328 set_batch_val(Properties::spectrum, value);
40329 return *this;
40330 }
40331
40332 IsourceBatch& spectrum(const string &value)
40333 {
40334 set_batch_val(Properties::spectrum, value);
40335 return *this;
40336 }
40337
40342 std::vector<dss::obj::Spectrum> spectrum_obj()
40343 {
40344 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
40345 }
40346
40348 {
40349 set_batch_val(Properties::spectrum, value);
40350 return *this;
40351 }
40352
40358 {
40359 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
40360 }
40361
40362 IsourceBatch& basefreq(double value)
40363 {
40364 set_batch_val<double>(Properties::basefreq, value);
40365 return *this;
40366 }
40367
40368 template <typename T>
40369 IsourceBatch& basefreq(T &value)
40370 {
40371 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
40372 return *this;
40373 }
40374
40375 template <typename T>
40376 IsourceBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
40377 {
40378 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
40379 return *this;
40380 }
40381
40386 bools enabled()
40387 {
40388 return get_batch_val<bools>(Properties::enabled);
40389 }
40390
40391 IsourceBatch& enabled(bool value)
40392 {
40393 set_batch_val(Properties::enabled, int32_t(value));
40394 return *this;
40395 }
40396
40397 IsourceBatch& enabled(bools &value)
40398 {
40399 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
40400 return *this;
40401 }
40402
40409 IsourceBatch& like(const string &value)
40410 {
40411 set_batch_val(Properties::like, value.c_str());
40412 return *this;
40413 }
40414
40421 IsourceBatch& like(const char *value)
40422 {
40423 set_batch_val(Properties::like, value);
40424 return *this;
40425 }
40426};
40427
40428
40429class VCCSBatch: public DSSBatch
40430{
40431public:
40433 typedef VCCS BatchElementClass;
40434
40439 DSSBatch(util, VCCS::dss_cls_idx)
40440 {
40441 }
40442
40446 VCCSBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
40447 DSSBatch(util, VCCS::dss_cls_idx, prop_idx, prop_value)
40448 {
40449 }
40450
40454 VCCSBatch(APIUtil *util, const char* regexp):
40455 DSSBatch(util, VCCS::dss_cls_idx, regexp)
40456 {
40457 }
40458
40459
40460 VCCSBatch& begin_edit()
40461 {
40462 Batch_BeginEdit(pointer, count[0]);
40463 return *this;
40464 }
40465
40466 VCCSBatch& end_edit(int32_t num_edits=1)
40467 {
40468 Batch_EndEdit(pointer, count[0], num_edits);
40469 return *this;
40470 }
40471
40472
40479 strings bus1()
40480 {
40481 return get_batch_val<strings>(Properties::bus1);
40482 }
40483
40484 VCCSBatch& bus1(const string &value)
40485 {
40486 set_batch_val(Properties::bus1, value.c_str());
40487 return *this;
40488 }
40489
40490 VCCSBatch& bus1(strings &value)
40491 {
40492 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
40493 return *this;
40494 }
40495
40501 {
40502 return BatchInt32ArrayProxy(*this, Properties::phases);
40503 }
40504
40505 VCCSBatch& phases(int32_t value)
40506 {
40507 set_batch_val(Properties::phases, value);
40508 return *this;
40509 }
40510
40511 template <typename T>
40512 VCCSBatch& phases(T &value)
40513 {
40514 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
40515 return *this;
40516 }
40517
40518 template <typename T>
40519 VCCSBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
40520 {
40521 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
40522 return *this;
40523 }
40524
40530 {
40531 return BatchFloat64ArrayProxy(*this, Properties::prated);
40532 }
40533
40534 VCCSBatch& prated(double value)
40535 {
40536 set_batch_val<double>(Properties::prated, value);
40537 return *this;
40538 }
40539
40540 template <typename T>
40541 VCCSBatch& prated(T &value)
40542 {
40543 set_batch_val_for_each<T>(Properties::prated, value.begin(), value.end());
40544 return *this;
40545 }
40546
40547 template <typename T>
40548 VCCSBatch& prated(typename T::iterator it_begin, typename T::iterator it_end)
40549 {
40550 set_batch_val_for_each<T>(Properties::prated, it_begin, it_end);
40551 return *this;
40552 }
40553
40559 {
40560 return BatchFloat64ArrayProxy(*this, Properties::vrated);
40561 }
40562
40563 VCCSBatch& vrated(double value)
40564 {
40565 set_batch_val<double>(Properties::vrated, value);
40566 return *this;
40567 }
40568
40569 template <typename T>
40570 VCCSBatch& vrated(T &value)
40571 {
40572 set_batch_val_for_each<T>(Properties::vrated, value.begin(), value.end());
40573 return *this;
40574 }
40575
40576 template <typename T>
40577 VCCSBatch& vrated(typename T::iterator it_begin, typename T::iterator it_end)
40578 {
40579 set_batch_val_for_each<T>(Properties::vrated, it_begin, it_end);
40580 return *this;
40581 }
40582
40588 {
40589 return BatchFloat64ArrayProxy(*this, Properties::ppct);
40590 }
40591
40592 VCCSBatch& ppct(double value)
40593 {
40594 set_batch_val<double>(Properties::ppct, value);
40595 return *this;
40596 }
40597
40598 template <typename T>
40599 VCCSBatch& ppct(T &value)
40600 {
40601 set_batch_val_for_each<T>(Properties::ppct, value.begin(), value.end());
40602 return *this;
40603 }
40604
40605 template <typename T>
40606 VCCSBatch& ppct(typename T::iterator it_begin, typename T::iterator it_end)
40607 {
40608 set_batch_val_for_each<T>(Properties::ppct, it_begin, it_end);
40609 return *this;
40610 }
40611
40616 strings bp1()
40617 {
40618 return get_batch_val<strings>(Properties::bp1);
40619 }
40620
40622 {
40623 set_batch_val(Properties::bp1, value);
40624 return *this;
40625 }
40626
40627 VCCSBatch& bp1(const string &value)
40628 {
40629 set_batch_val(Properties::bp1, value);
40630 return *this;
40631 }
40632
40637 std::vector<dss::obj::XYcurve> bp1_obj()
40638 {
40639 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::bp1);
40640 }
40641
40643 {
40644 set_batch_val(Properties::bp1, value);
40645 return *this;
40646 }
40647
40652 strings bp2()
40653 {
40654 return get_batch_val<strings>(Properties::bp2);
40655 }
40656
40658 {
40659 set_batch_val(Properties::bp2, value);
40660 return *this;
40661 }
40662
40663 VCCSBatch& bp2(const string &value)
40664 {
40665 set_batch_val(Properties::bp2, value);
40666 return *this;
40667 }
40668
40673 std::vector<dss::obj::XYcurve> bp2_obj()
40674 {
40675 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::bp2);
40676 }
40677
40679 {
40680 set_batch_val(Properties::bp2, value);
40681 return *this;
40682 }
40683
40688 strings filter()
40689 {
40690 return get_batch_val<strings>(Properties::filter);
40691 }
40692
40694 {
40695 set_batch_val(Properties::filter, value);
40696 return *this;
40697 }
40698
40699 VCCSBatch& filter(const string &value)
40700 {
40701 set_batch_val(Properties::filter, value);
40702 return *this;
40703 }
40704
40709 std::vector<dss::obj::XYcurve> filter_obj()
40710 {
40711 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::filter);
40712 }
40713
40715 {
40716 set_batch_val(Properties::filter, value);
40717 return *this;
40718 }
40719
40725 {
40726 return BatchFloat64ArrayProxy(*this, Properties::fsample);
40727 }
40728
40729 VCCSBatch& fsample(double value)
40730 {
40731 set_batch_val<double>(Properties::fsample, value);
40732 return *this;
40733 }
40734
40735 template <typename T>
40736 VCCSBatch& fsample(T &value)
40737 {
40738 set_batch_val_for_each<T>(Properties::fsample, value.begin(), value.end());
40739 return *this;
40740 }
40741
40742 template <typename T>
40743 VCCSBatch& fsample(typename T::iterator it_begin, typename T::iterator it_end)
40744 {
40745 set_batch_val_for_each<T>(Properties::fsample, it_begin, it_end);
40746 return *this;
40747 }
40748
40753 bools rmsmode()
40754 {
40755 return get_batch_val<bools>(Properties::rmsmode);
40756 }
40757
40758 VCCSBatch& rmsmode(bool value)
40759 {
40760 set_batch_val(Properties::rmsmode, int32_t(value));
40761 return *this;
40762 }
40763
40764 VCCSBatch& rmsmode(bools &value)
40765 {
40766 set_batch_val_for_each<std::vector<int32_t>>(Properties::rmsmode, value.begin(), value.end());
40767 return *this;
40768 }
40769
40775 {
40776 return BatchFloat64ArrayProxy(*this, Properties::imaxpu);
40777 }
40778
40779 VCCSBatch& imaxpu(double value)
40780 {
40781 set_batch_val<double>(Properties::imaxpu, value);
40782 return *this;
40783 }
40784
40785 template <typename T>
40786 VCCSBatch& imaxpu(T &value)
40787 {
40788 set_batch_val_for_each<T>(Properties::imaxpu, value.begin(), value.end());
40789 return *this;
40790 }
40791
40792 template <typename T>
40793 VCCSBatch& imaxpu(typename T::iterator it_begin, typename T::iterator it_end)
40794 {
40795 set_batch_val_for_each<T>(Properties::imaxpu, it_begin, it_end);
40796 return *this;
40797 }
40798
40804 {
40805 return BatchFloat64ArrayProxy(*this, Properties::vrmstau);
40806 }
40807
40808 VCCSBatch& vrmstau(double value)
40809 {
40810 set_batch_val<double>(Properties::vrmstau, value);
40811 return *this;
40812 }
40813
40814 template <typename T>
40815 VCCSBatch& vrmstau(T &value)
40816 {
40817 set_batch_val_for_each<T>(Properties::vrmstau, value.begin(), value.end());
40818 return *this;
40819 }
40820
40821 template <typename T>
40822 VCCSBatch& vrmstau(typename T::iterator it_begin, typename T::iterator it_end)
40823 {
40824 set_batch_val_for_each<T>(Properties::vrmstau, it_begin, it_end);
40825 return *this;
40826 }
40827
40833 {
40834 return BatchFloat64ArrayProxy(*this, Properties::irmstau);
40835 }
40836
40837 VCCSBatch& irmstau(double value)
40838 {
40839 set_batch_val<double>(Properties::irmstau, value);
40840 return *this;
40841 }
40842
40843 template <typename T>
40844 VCCSBatch& irmstau(T &value)
40845 {
40846 set_batch_val_for_each<T>(Properties::irmstau, value.begin(), value.end());
40847 return *this;
40848 }
40849
40850 template <typename T>
40851 VCCSBatch& irmstau(typename T::iterator it_begin, typename T::iterator it_end)
40852 {
40853 set_batch_val_for_each<T>(Properties::irmstau, it_begin, it_end);
40854 return *this;
40855 }
40856
40861 strings spectrum()
40862 {
40863 return get_batch_val<strings>(Properties::spectrum);
40864 }
40865
40867 {
40868 set_batch_val(Properties::spectrum, value);
40869 return *this;
40870 }
40871
40872 VCCSBatch& spectrum(const string &value)
40873 {
40874 set_batch_val(Properties::spectrum, value);
40875 return *this;
40876 }
40877
40882 std::vector<dss::obj::Spectrum> spectrum_obj()
40883 {
40884 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
40885 }
40886
40888 {
40889 set_batch_val(Properties::spectrum, value);
40890 return *this;
40891 }
40892
40898 {
40899 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
40900 }
40901
40902 VCCSBatch& basefreq(double value)
40903 {
40904 set_batch_val<double>(Properties::basefreq, value);
40905 return *this;
40906 }
40907
40908 template <typename T>
40909 VCCSBatch& basefreq(T &value)
40910 {
40911 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
40912 return *this;
40913 }
40914
40915 template <typename T>
40916 VCCSBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
40917 {
40918 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
40919 return *this;
40920 }
40921
40926 bools enabled()
40927 {
40928 return get_batch_val<bools>(Properties::enabled);
40929 }
40930
40931 VCCSBatch& enabled(bool value)
40932 {
40933 set_batch_val(Properties::enabled, int32_t(value));
40934 return *this;
40935 }
40936
40937 VCCSBatch& enabled(bools &value)
40938 {
40939 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
40940 return *this;
40941 }
40942
40949 VCCSBatch& like(const string &value)
40950 {
40951 set_batch_val(Properties::like, value.c_str());
40952 return *this;
40953 }
40954
40961 VCCSBatch& like(const char *value)
40962 {
40963 set_batch_val(Properties::like, value);
40964 return *this;
40965 }
40966};
40967
40968
40969class LoadBatch: public DSSBatch
40970{
40971public:
40973 typedef Load BatchElementClass;
40974
40975 // Shortcuts to class-specific enumerations
40976 typedef Load::LoadModel LoadModel;
40978
40979
40984 DSSBatch(util, Load::dss_cls_idx)
40985 {
40986 }
40987
40991 LoadBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
40992 DSSBatch(util, Load::dss_cls_idx, prop_idx, prop_value)
40993 {
40994 }
40995
40999 LoadBatch(APIUtil *util, const char* regexp):
41000 DSSBatch(util, Load::dss_cls_idx, regexp)
41001 {
41002 }
41003
41004
41005 LoadBatch& begin_edit()
41006 {
41007 Batch_BeginEdit(pointer, count[0]);
41008 return *this;
41009 }
41010
41011 LoadBatch& end_edit(int32_t num_edits=1)
41012 {
41013 Batch_EndEdit(pointer, count[0], num_edits);
41014 return *this;
41015 }
41016
41017
41023 {
41024 return BatchInt32ArrayProxy(*this, Properties::phases);
41025 }
41026
41027 LoadBatch& phases(int32_t value)
41028 {
41029 set_batch_val(Properties::phases, value);
41030 return *this;
41031 }
41032
41033 template <typename T>
41034 LoadBatch& phases(T &value)
41035 {
41036 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
41037 return *this;
41038 }
41039
41040 template <typename T>
41041 LoadBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
41042 {
41043 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
41044 return *this;
41045 }
41046
41051 strings bus1()
41052 {
41053 return get_batch_val<strings>(Properties::bus1);
41054 }
41055
41056 LoadBatch& bus1(const string &value)
41057 {
41058 set_batch_val(Properties::bus1, value.c_str());
41059 return *this;
41060 }
41061
41062 LoadBatch& bus1(strings &value)
41063 {
41064 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
41065 return *this;
41066 }
41067
41073 {
41074 return BatchFloat64ArrayProxy(*this, Properties::kV);
41075 }
41076
41077 LoadBatch& kV(double value)
41078 {
41079 set_batch_val<double>(Properties::kV, value);
41080 return *this;
41081 }
41082
41083 template <typename T>
41084 LoadBatch& kV(T &value)
41085 {
41086 set_batch_val_for_each<T>(Properties::kV, value.begin(), value.end());
41087 return *this;
41088 }
41089
41090 template <typename T>
41091 LoadBatch& kV(typename T::iterator it_begin, typename T::iterator it_end)
41092 {
41093 set_batch_val_for_each<T>(Properties::kV, it_begin, it_end);
41094 return *this;
41095 }
41096
41109 {
41110 return BatchFloat64ArrayProxy(*this, Properties::kW);
41111 }
41112
41113 LoadBatch& kW(double value)
41114 {
41115 set_batch_val<double>(Properties::kW, value);
41116 return *this;
41117 }
41118
41119 template <typename T>
41120 LoadBatch& kW(T &value)
41121 {
41122 set_batch_val_for_each<T>(Properties::kW, value.begin(), value.end());
41123 return *this;
41124 }
41125
41126 template <typename T>
41127 LoadBatch& kW(typename T::iterator it_begin, typename T::iterator it_end)
41128 {
41129 set_batch_val_for_each<T>(Properties::kW, it_begin, it_end);
41130 return *this;
41131 }
41132
41138 {
41139 return BatchFloat64ArrayProxy(*this, Properties::pf);
41140 }
41141
41142 LoadBatch& pf(double value)
41143 {
41144 set_batch_val<double>(Properties::pf, value);
41145 return *this;
41146 }
41147
41148 template <typename T>
41149 LoadBatch& pf(T &value)
41150 {
41151 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
41152 return *this;
41153 }
41154
41155 template <typename T>
41156 LoadBatch& pf(typename T::iterator it_begin, typename T::iterator it_end)
41157 {
41158 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
41159 return *this;
41160 }
41161
41178 {
41179 return BatchInt32ArrayProxy(*this, Properties::model);
41180 }
41181
41182 LoadBatch& model(int32_t value)
41183 {
41184 set_batch_val(Properties::model, value);
41185 return *this;
41186 }
41187
41189 {
41190 set_batch_val(Properties::model, int32_t(value));
41191 return *this;
41192 }
41193
41198 strings yearly()
41199 {
41200 return get_batch_val<strings>(Properties::yearly);
41201 }
41202
41204 {
41205 set_batch_val(Properties::yearly, value);
41206 return *this;
41207 }
41208
41209 LoadBatch& yearly(const string &value)
41210 {
41211 set_batch_val(Properties::yearly, value);
41212 return *this;
41213 }
41214
41219 std::vector<dss::obj::LoadShape> yearly_obj()
41220 {
41221 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::yearly);
41222 }
41223
41225 {
41226 set_batch_val(Properties::yearly, value);
41227 return *this;
41228 }
41229
41234 strings daily()
41235 {
41236 return get_batch_val<strings>(Properties::daily);
41237 }
41238
41240 {
41241 set_batch_val(Properties::daily, value);
41242 return *this;
41243 }
41244
41245 LoadBatch& daily(const string &value)
41246 {
41247 set_batch_val(Properties::daily, value);
41248 return *this;
41249 }
41250
41255 std::vector<dss::obj::LoadShape> daily_obj()
41256 {
41257 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::daily);
41258 }
41259
41261 {
41262 set_batch_val(Properties::daily, value);
41263 return *this;
41264 }
41265
41270 strings duty()
41271 {
41272 return get_batch_val<strings>(Properties::duty);
41273 }
41274
41276 {
41277 set_batch_val(Properties::duty, value);
41278 return *this;
41279 }
41280
41281 LoadBatch& duty(const string &value)
41282 {
41283 set_batch_val(Properties::duty, value);
41284 return *this;
41285 }
41286
41291 std::vector<dss::obj::LoadShape> duty_obj()
41292 {
41293 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::duty);
41294 }
41295
41297 {
41298 set_batch_val(Properties::duty, value);
41299 return *this;
41300 }
41301
41306 strings growth()
41307 {
41308 return get_batch_val<strings>(Properties::growth);
41309 }
41310
41312 {
41313 set_batch_val(Properties::growth, value);
41314 return *this;
41315 }
41316
41317 LoadBatch& growth(const string &value)
41318 {
41319 set_batch_val(Properties::growth, value);
41320 return *this;
41321 }
41322
41327 std::vector<dss::obj::GrowthShape> growth_obj()
41328 {
41329 return get_batch_val<std::vector<dss::obj::GrowthShape>>(Properties::growth);
41330 }
41331
41333 {
41334 set_batch_val(Properties::growth, value);
41335 return *this;
41336 }
41337
41343 {
41344 return BatchInt32ArrayProxy(*this, Properties::conn);
41345 }
41346
41347 LoadBatch& conn(string &value)
41348 {
41349 set_batch_val(Properties::conn, value);
41350 return *this;
41351 }
41352
41353 LoadBatch& conn(int32_t value)
41354 {
41355 set_batch_val(Properties::conn, value);
41356 return *this;
41357 }
41358
41359 LoadBatch& conn(Connection value)
41360 {
41361 set_batch_val(Properties::conn, int32_t(value));
41362 return *this;
41363 }
41364
41365 LoadBatch& conn(strings &value)
41366 {
41367 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
41368 return *this;
41369 }
41370
41371 LoadBatch& conn(std::vector<int32_t> &value)
41372 {
41373 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
41374 return *this;
41375 }
41376
41377 LoadBatch& conn(std::vector<Connection> &value)
41378 {
41379 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
41380 return *this;
41381 }
41382
41387 strings conn_str()
41388 {
41389 return get_batch_val<strings>(Properties::conn);
41390 }
41391
41392 LoadBatch& conn_str(string &value)
41393 {
41394 conn(value);
41395 return *this;
41396 }
41397
41398 LoadBatch& conn_str(strings &value)
41399 {
41400 conn(value);
41401 return *this;
41402 }
41403
41409 {
41410 return BatchFloat64ArrayProxy(*this, Properties::kvar);
41411 }
41412
41413 LoadBatch& kvar(double value)
41414 {
41415 set_batch_val<double>(Properties::kvar, value);
41416 return *this;
41417 }
41418
41419 template <typename T>
41420 LoadBatch& kvar(T &value)
41421 {
41422 set_batch_val_for_each<T>(Properties::kvar, value.begin(), value.end());
41423 return *this;
41424 }
41425
41426 template <typename T>
41427 LoadBatch& kvar(typename T::iterator it_begin, typename T::iterator it_end)
41428 {
41429 set_batch_val_for_each<T>(Properties::kvar, it_begin, it_end);
41430 return *this;
41431 }
41432
41438 {
41439 return BatchFloat64ArrayProxy(*this, Properties::Rneut);
41440 }
41441
41442 LoadBatch& Rneut(double value)
41443 {
41444 set_batch_val<double>(Properties::Rneut, value);
41445 return *this;
41446 }
41447
41448 template <typename T>
41449 LoadBatch& Rneut(T &value)
41450 {
41451 set_batch_val_for_each<T>(Properties::Rneut, value.begin(), value.end());
41452 return *this;
41453 }
41454
41455 template <typename T>
41456 LoadBatch& Rneut(typename T::iterator it_begin, typename T::iterator it_end)
41457 {
41458 set_batch_val_for_each<T>(Properties::Rneut, it_begin, it_end);
41459 return *this;
41460 }
41461
41467 {
41468 return BatchFloat64ArrayProxy(*this, Properties::Xneut);
41469 }
41470
41471 LoadBatch& Xneut(double value)
41472 {
41473 set_batch_val<double>(Properties::Xneut, value);
41474 return *this;
41475 }
41476
41477 template <typename T>
41478 LoadBatch& Xneut(T &value)
41479 {
41480 set_batch_val_for_each<T>(Properties::Xneut, value.begin(), value.end());
41481 return *this;
41482 }
41483
41484 template <typename T>
41485 LoadBatch& Xneut(typename T::iterator it_begin, typename T::iterator it_end)
41486 {
41487 set_batch_val_for_each<T>(Properties::Xneut, it_begin, it_end);
41488 return *this;
41489 }
41490
41496 {
41497 return BatchInt32ArrayProxy(*this, Properties::status);
41498 }
41499
41500 LoadBatch& status(string &value)
41501 {
41502 set_batch_val(Properties::status, value);
41503 return *this;
41504 }
41505
41506 LoadBatch& status(int32_t value)
41507 {
41508 set_batch_val(Properties::status, value);
41509 return *this;
41510 }
41511
41513 {
41514 set_batch_val(Properties::status, int32_t(value));
41515 return *this;
41516 }
41517
41518 LoadBatch& status(strings &value)
41519 {
41520 set_batch_val_for_each<strings>(Properties::status, value.begin(), value.end());
41521 return *this;
41522 }
41523
41524 LoadBatch& status(std::vector<int32_t> &value)
41525 {
41526 set_batch_val_for_each<std::vector<int32_t>>(Properties::status, value.begin(), value.end());
41527 return *this;
41528 }
41529
41530 LoadBatch& status(std::vector<Load::LoadStatus> &value)
41531 {
41532 set_batch_val_for_each<std::vector<Load::LoadStatus>>(Properties::status, value.begin(), value.end());
41533 return *this;
41534 }
41535
41540 strings status_str()
41541 {
41542 return get_batch_val<strings>(Properties::status);
41543 }
41544
41545 LoadBatch& status_str(string &value)
41546 {
41547 status(value);
41548 return *this;
41549 }
41550
41551 LoadBatch& status_str(strings &value)
41552 {
41553 status(value);
41554 return *this;
41555 }
41556
41562 {
41563 return BatchInt32ArrayProxy(*this, Properties::cls);
41564 }
41565
41566 LoadBatch& cls(int32_t value)
41567 {
41568 set_batch_val(Properties::cls, value);
41569 return *this;
41570 }
41571
41572 template <typename T>
41573 LoadBatch& cls(T &value)
41574 {
41575 set_batch_val_for_each<T>(Properties::cls, value.begin(), value.end());
41576 return *this;
41577 }
41578
41579 template <typename T>
41580 LoadBatch& cls(typename T::iterator it_begin, typename T::iterator it_end)
41581 {
41582 set_batch_val_for_each<T>(Properties::cls, it_begin, it_end);
41583 return *this;
41584 }
41585
41591 {
41592 return BatchFloat64ArrayProxy(*this, Properties::Vminpu);
41593 }
41594
41595 LoadBatch& Vminpu(double value)
41596 {
41597 set_batch_val<double>(Properties::Vminpu, value);
41598 return *this;
41599 }
41600
41601 template <typename T>
41602 LoadBatch& Vminpu(T &value)
41603 {
41604 set_batch_val_for_each<T>(Properties::Vminpu, value.begin(), value.end());
41605 return *this;
41606 }
41607
41608 template <typename T>
41609 LoadBatch& Vminpu(typename T::iterator it_begin, typename T::iterator it_end)
41610 {
41611 set_batch_val_for_each<T>(Properties::Vminpu, it_begin, it_end);
41612 return *this;
41613 }
41614
41620 {
41621 return BatchFloat64ArrayProxy(*this, Properties::Vmaxpu);
41622 }
41623
41624 LoadBatch& Vmaxpu(double value)
41625 {
41626 set_batch_val<double>(Properties::Vmaxpu, value);
41627 return *this;
41628 }
41629
41630 template <typename T>
41631 LoadBatch& Vmaxpu(T &value)
41632 {
41633 set_batch_val_for_each<T>(Properties::Vmaxpu, value.begin(), value.end());
41634 return *this;
41635 }
41636
41637 template <typename T>
41638 LoadBatch& Vmaxpu(typename T::iterator it_begin, typename T::iterator it_end)
41639 {
41640 set_batch_val_for_each<T>(Properties::Vmaxpu, it_begin, it_end);
41641 return *this;
41642 }
41643
41649 {
41650 return BatchFloat64ArrayProxy(*this, Properties::Vminnorm);
41651 }
41652
41653 LoadBatch& Vminnorm(double value)
41654 {
41655 set_batch_val<double>(Properties::Vminnorm, value);
41656 return *this;
41657 }
41658
41659 template <typename T>
41660 LoadBatch& Vminnorm(T &value)
41661 {
41662 set_batch_val_for_each<T>(Properties::Vminnorm, value.begin(), value.end());
41663 return *this;
41664 }
41665
41666 template <typename T>
41667 LoadBatch& Vminnorm(typename T::iterator it_begin, typename T::iterator it_end)
41668 {
41669 set_batch_val_for_each<T>(Properties::Vminnorm, it_begin, it_end);
41670 return *this;
41671 }
41672
41678 {
41679 return BatchFloat64ArrayProxy(*this, Properties::Vminemerg);
41680 }
41681
41682 LoadBatch& Vminemerg(double value)
41683 {
41684 set_batch_val<double>(Properties::Vminemerg, value);
41685 return *this;
41686 }
41687
41688 template <typename T>
41689 LoadBatch& Vminemerg(T &value)
41690 {
41691 set_batch_val_for_each<T>(Properties::Vminemerg, value.begin(), value.end());
41692 return *this;
41693 }
41694
41695 template <typename T>
41696 LoadBatch& Vminemerg(typename T::iterator it_begin, typename T::iterator it_end)
41697 {
41698 set_batch_val_for_each<T>(Properties::Vminemerg, it_begin, it_end);
41699 return *this;
41700 }
41701
41707 {
41708 return BatchFloat64ArrayProxy(*this, Properties::xfkVA);
41709 }
41710
41711 LoadBatch& xfkVA(double value)
41712 {
41713 set_batch_val<double>(Properties::xfkVA, value);
41714 return *this;
41715 }
41716
41717 template <typename T>
41718 LoadBatch& xfkVA(T &value)
41719 {
41720 set_batch_val_for_each<T>(Properties::xfkVA, value.begin(), value.end());
41721 return *this;
41722 }
41723
41724 template <typename T>
41725 LoadBatch& xfkVA(typename T::iterator it_begin, typename T::iterator it_end)
41726 {
41727 set_batch_val_for_each<T>(Properties::xfkVA, it_begin, it_end);
41728 return *this;
41729 }
41730
41736 {
41737 return BatchFloat64ArrayProxy(*this, Properties::allocationfactor);
41738 }
41739
41740 LoadBatch& allocationfactor(double value)
41741 {
41742 set_batch_val<double>(Properties::allocationfactor, value);
41743 return *this;
41744 }
41745
41746 template <typename T>
41747 LoadBatch& allocationfactor(T &value)
41748 {
41749 set_batch_val_for_each<T>(Properties::allocationfactor, value.begin(), value.end());
41750 return *this;
41751 }
41752
41753 template <typename T>
41754 LoadBatch& allocationfactor(typename T::iterator it_begin, typename T::iterator it_end)
41755 {
41756 set_batch_val_for_each<T>(Properties::allocationfactor, it_begin, it_end);
41757 return *this;
41758 }
41759
41772 {
41773 return BatchFloat64ArrayProxy(*this, Properties::kVA);
41774 }
41775
41776 LoadBatch& kVA(double value)
41777 {
41778 set_batch_val<double>(Properties::kVA, value);
41779 return *this;
41780 }
41781
41782 template <typename T>
41783 LoadBatch& kVA(T &value)
41784 {
41785 set_batch_val_for_each<T>(Properties::kVA, value.begin(), value.end());
41786 return *this;
41787 }
41788
41789 template <typename T>
41790 LoadBatch& kVA(typename T::iterator it_begin, typename T::iterator it_end)
41791 {
41792 set_batch_val_for_each<T>(Properties::kVA, it_begin, it_end);
41793 return *this;
41794 }
41795
41801 {
41802 return BatchFloat64ArrayProxy(*this, Properties::pctmean);
41803 }
41804
41805 LoadBatch& pctmean(double value)
41806 {
41807 set_batch_val<double>(Properties::pctmean, value);
41808 return *this;
41809 }
41810
41811 template <typename T>
41812 LoadBatch& pctmean(T &value)
41813 {
41814 set_batch_val_for_each<T>(Properties::pctmean, value.begin(), value.end());
41815 return *this;
41816 }
41817
41818 template <typename T>
41819 LoadBatch& pctmean(typename T::iterator it_begin, typename T::iterator it_end)
41820 {
41821 set_batch_val_for_each<T>(Properties::pctmean, it_begin, it_end);
41822 return *this;
41823 }
41824
41830 {
41831 return BatchFloat64ArrayProxy(*this, Properties::pctstddev);
41832 }
41833
41834 LoadBatch& pctstddev(double value)
41835 {
41836 set_batch_val<double>(Properties::pctstddev, value);
41837 return *this;
41838 }
41839
41840 template <typename T>
41841 LoadBatch& pctstddev(T &value)
41842 {
41843 set_batch_val_for_each<T>(Properties::pctstddev, value.begin(), value.end());
41844 return *this;
41845 }
41846
41847 template <typename T>
41848 LoadBatch& pctstddev(typename T::iterator it_begin, typename T::iterator it_end)
41849 {
41850 set_batch_val_for_each<T>(Properties::pctstddev, it_begin, it_end);
41851 return *this;
41852 }
41853
41861 {
41862 return BatchFloat64ArrayProxy(*this, Properties::CVRwatts);
41863 }
41864
41865 LoadBatch& CVRwatts(double value)
41866 {
41867 set_batch_val<double>(Properties::CVRwatts, value);
41868 return *this;
41869 }
41870
41871 template <typename T>
41872 LoadBatch& CVRwatts(T &value)
41873 {
41874 set_batch_val_for_each<T>(Properties::CVRwatts, value.begin(), value.end());
41875 return *this;
41876 }
41877
41878 template <typename T>
41879 LoadBatch& CVRwatts(typename T::iterator it_begin, typename T::iterator it_end)
41880 {
41881 set_batch_val_for_each<T>(Properties::CVRwatts, it_begin, it_end);
41882 return *this;
41883 }
41884
41892 {
41893 return BatchFloat64ArrayProxy(*this, Properties::CVRvars);
41894 }
41895
41896 LoadBatch& CVRvars(double value)
41897 {
41898 set_batch_val<double>(Properties::CVRvars, value);
41899 return *this;
41900 }
41901
41902 template <typename T>
41903 LoadBatch& CVRvars(T &value)
41904 {
41905 set_batch_val_for_each<T>(Properties::CVRvars, value.begin(), value.end());
41906 return *this;
41907 }
41908
41909 template <typename T>
41910 LoadBatch& CVRvars(typename T::iterator it_begin, typename T::iterator it_end)
41911 {
41912 set_batch_val_for_each<T>(Properties::CVRvars, it_begin, it_end);
41913 return *this;
41914 }
41915
41921 {
41922 return BatchFloat64ArrayProxy(*this, Properties::kwh);
41923 }
41924
41925 LoadBatch& kwh(double value)
41926 {
41927 set_batch_val<double>(Properties::kwh, value);
41928 return *this;
41929 }
41930
41931 template <typename T>
41932 LoadBatch& kwh(T &value)
41933 {
41934 set_batch_val_for_each<T>(Properties::kwh, value.begin(), value.end());
41935 return *this;
41936 }
41937
41938 template <typename T>
41939 LoadBatch& kwh(typename T::iterator it_begin, typename T::iterator it_end)
41940 {
41941 set_batch_val_for_each<T>(Properties::kwh, it_begin, it_end);
41942 return *this;
41943 }
41944
41950 {
41951 return BatchFloat64ArrayProxy(*this, Properties::kwhdays);
41952 }
41953
41954 LoadBatch& kwhdays(double value)
41955 {
41956 set_batch_val<double>(Properties::kwhdays, value);
41957 return *this;
41958 }
41959
41960 template <typename T>
41961 LoadBatch& kwhdays(T &value)
41962 {
41963 set_batch_val_for_each<T>(Properties::kwhdays, value.begin(), value.end());
41964 return *this;
41965 }
41966
41967 template <typename T>
41968 LoadBatch& kwhdays(typename T::iterator it_begin, typename T::iterator it_end)
41969 {
41970 set_batch_val_for_each<T>(Properties::kwhdays, it_begin, it_end);
41971 return *this;
41972 }
41973
41979 {
41980 return BatchFloat64ArrayProxy(*this, Properties::Cfactor);
41981 }
41982
41983 LoadBatch& Cfactor(double value)
41984 {
41985 set_batch_val<double>(Properties::Cfactor, value);
41986 return *this;
41987 }
41988
41989 template <typename T>
41990 LoadBatch& Cfactor(T &value)
41991 {
41992 set_batch_val_for_each<T>(Properties::Cfactor, value.begin(), value.end());
41993 return *this;
41994 }
41995
41996 template <typename T>
41997 LoadBatch& Cfactor(typename T::iterator it_begin, typename T::iterator it_end)
41998 {
41999 set_batch_val_for_each<T>(Properties::Cfactor, it_begin, it_end);
42000 return *this;
42001 }
42002
42007 strings CVRcurve()
42008 {
42009 return get_batch_val<strings>(Properties::CVRcurve);
42010 }
42011
42013 {
42014 set_batch_val(Properties::CVRcurve, value);
42015 return *this;
42016 }
42017
42018 LoadBatch& CVRcurve(const string &value)
42019 {
42020 set_batch_val(Properties::CVRcurve, value);
42021 return *this;
42022 }
42023
42028 std::vector<dss::obj::LoadShape> CVRcurve_obj()
42029 {
42030 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::CVRcurve);
42031 }
42032
42034 {
42035 set_batch_val(Properties::CVRcurve, value);
42036 return *this;
42037 }
42038
42044 {
42045 return BatchInt32ArrayProxy(*this, Properties::NumCust);
42046 }
42047
42048 LoadBatch& NumCust(int32_t value)
42049 {
42050 set_batch_val(Properties::NumCust, value);
42051 return *this;
42052 }
42053
42054 template <typename T>
42055 LoadBatch& NumCust(T &value)
42056 {
42057 set_batch_val_for_each<T>(Properties::NumCust, value.begin(), value.end());
42058 return *this;
42059 }
42060
42061 template <typename T>
42062 LoadBatch& NumCust(typename T::iterator it_begin, typename T::iterator it_end)
42063 {
42064 set_batch_val_for_each<T>(Properties::NumCust, it_begin, it_end);
42065 return *this;
42066 }
42067
42077 std::vector<VectorXd> ZIPV()
42078 {
42079 return get_batch_valarray<VectorXd>(Properties::ZIPV);
42080 }
42081
42082 LoadBatch& ZIPV(VectorXd &value)
42083 {
42084 set_batch_val<VectorXd>(Properties::ZIPV, value);
42085 return *this;
42086 }
42087
42093 {
42094 return BatchFloat64ArrayProxy(*this, Properties::pctSeriesRL);
42095 }
42096
42097 LoadBatch& pctSeriesRL(double value)
42098 {
42099 set_batch_val<double>(Properties::pctSeriesRL, value);
42100 return *this;
42101 }
42102
42103 template <typename T>
42104 LoadBatch& pctSeriesRL(T &value)
42105 {
42106 set_batch_val_for_each<T>(Properties::pctSeriesRL, value.begin(), value.end());
42107 return *this;
42108 }
42109
42110 template <typename T>
42111 LoadBatch& pctSeriesRL(typename T::iterator it_begin, typename T::iterator it_end)
42112 {
42113 set_batch_val_for_each<T>(Properties::pctSeriesRL, it_begin, it_end);
42114 return *this;
42115 }
42116
42124 {
42125 return BatchFloat64ArrayProxy(*this, Properties::RelWeight);
42126 }
42127
42128 LoadBatch& RelWeight(double value)
42129 {
42130 set_batch_val<double>(Properties::RelWeight, value);
42131 return *this;
42132 }
42133
42134 template <typename T>
42135 LoadBatch& RelWeight(T &value)
42136 {
42137 set_batch_val_for_each<T>(Properties::RelWeight, value.begin(), value.end());
42138 return *this;
42139 }
42140
42141 template <typename T>
42142 LoadBatch& RelWeight(typename T::iterator it_begin, typename T::iterator it_end)
42143 {
42144 set_batch_val_for_each<T>(Properties::RelWeight, it_begin, it_end);
42145 return *this;
42146 }
42147
42153 {
42154 return BatchFloat64ArrayProxy(*this, Properties::Vlowpu);
42155 }
42156
42157 LoadBatch& Vlowpu(double value)
42158 {
42159 set_batch_val<double>(Properties::Vlowpu, value);
42160 return *this;
42161 }
42162
42163 template <typename T>
42164 LoadBatch& Vlowpu(T &value)
42165 {
42166 set_batch_val_for_each<T>(Properties::Vlowpu, value.begin(), value.end());
42167 return *this;
42168 }
42169
42170 template <typename T>
42171 LoadBatch& Vlowpu(typename T::iterator it_begin, typename T::iterator it_end)
42172 {
42173 set_batch_val_for_each<T>(Properties::Vlowpu, it_begin, it_end);
42174 return *this;
42175 }
42176
42186 {
42187 return BatchFloat64ArrayProxy(*this, Properties::puXharm);
42188 }
42189
42190 LoadBatch& puXharm(double value)
42191 {
42192 set_batch_val<double>(Properties::puXharm, value);
42193 return *this;
42194 }
42195
42196 template <typename T>
42197 LoadBatch& puXharm(T &value)
42198 {
42199 set_batch_val_for_each<T>(Properties::puXharm, value.begin(), value.end());
42200 return *this;
42201 }
42202
42203 template <typename T>
42204 LoadBatch& puXharm(typename T::iterator it_begin, typename T::iterator it_end)
42205 {
42206 set_batch_val_for_each<T>(Properties::puXharm, it_begin, it_end);
42207 return *this;
42208 }
42209
42215 {
42216 return BatchFloat64ArrayProxy(*this, Properties::XRharm);
42217 }
42218
42219 LoadBatch& XRharm(double value)
42220 {
42221 set_batch_val<double>(Properties::XRharm, value);
42222 return *this;
42223 }
42224
42225 template <typename T>
42226 LoadBatch& XRharm(T &value)
42227 {
42228 set_batch_val_for_each<T>(Properties::XRharm, value.begin(), value.end());
42229 return *this;
42230 }
42231
42232 template <typename T>
42233 LoadBatch& XRharm(typename T::iterator it_begin, typename T::iterator it_end)
42234 {
42235 set_batch_val_for_each<T>(Properties::XRharm, it_begin, it_end);
42236 return *this;
42237 }
42238
42243 strings spectrum()
42244 {
42245 return get_batch_val<strings>(Properties::spectrum);
42246 }
42247
42249 {
42250 set_batch_val(Properties::spectrum, value);
42251 return *this;
42252 }
42253
42254 LoadBatch& spectrum(const string &value)
42255 {
42256 set_batch_val(Properties::spectrum, value);
42257 return *this;
42258 }
42259
42264 std::vector<dss::obj::Spectrum> spectrum_obj()
42265 {
42266 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
42267 }
42268
42270 {
42271 set_batch_val(Properties::spectrum, value);
42272 return *this;
42273 }
42274
42280 {
42281 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
42282 }
42283
42284 LoadBatch& basefreq(double value)
42285 {
42286 set_batch_val<double>(Properties::basefreq, value);
42287 return *this;
42288 }
42289
42290 template <typename T>
42291 LoadBatch& basefreq(T &value)
42292 {
42293 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
42294 return *this;
42295 }
42296
42297 template <typename T>
42298 LoadBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
42299 {
42300 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
42301 return *this;
42302 }
42303
42308 bools enabled()
42309 {
42310 return get_batch_val<bools>(Properties::enabled);
42311 }
42312
42313 LoadBatch& enabled(bool value)
42314 {
42315 set_batch_val(Properties::enabled, int32_t(value));
42316 return *this;
42317 }
42318
42319 LoadBatch& enabled(bools &value)
42320 {
42321 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
42322 return *this;
42323 }
42324
42331 LoadBatch& like(const string &value)
42332 {
42333 set_batch_val(Properties::like, value.c_str());
42334 return *this;
42335 }
42336
42343 LoadBatch& like(const char *value)
42344 {
42345 set_batch_val(Properties::like, value);
42346 return *this;
42347 }
42348};
42349
42350
42352{
42353public:
42356
42361 DSSBatch(util, Transformer::dss_cls_idx)
42362 {
42363 }
42364
42368 TransformerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
42369 DSSBatch(util, Transformer::dss_cls_idx, prop_idx, prop_value)
42370 {
42371 }
42372
42376 TransformerBatch(APIUtil *util, const char* regexp):
42377 DSSBatch(util, Transformer::dss_cls_idx, regexp)
42378 {
42379 }
42380
42381
42382 TransformerBatch& begin_edit()
42383 {
42384 Batch_BeginEdit(pointer, count[0]);
42385 return *this;
42386 }
42387
42388 TransformerBatch& end_edit(int32_t num_edits=1)
42389 {
42390 Batch_EndEdit(pointer, count[0], num_edits);
42391 return *this;
42392 }
42393
42394
42400 {
42401 return BatchInt32ArrayProxy(*this, Properties::phases);
42402 }
42403
42404 TransformerBatch& phases(int32_t value)
42405 {
42406 set_batch_val(Properties::phases, value);
42407 return *this;
42408 }
42409
42410 template <typename T>
42411 TransformerBatch& phases(T &value)
42412 {
42413 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
42414 return *this;
42415 }
42416
42417 template <typename T>
42418 TransformerBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
42419 {
42420 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
42421 return *this;
42422 }
42423
42429 {
42430 return BatchInt32ArrayProxy(*this, Properties::windings);
42431 }
42432
42433 TransformerBatch& windings(int32_t value)
42434 {
42435 set_batch_val(Properties::windings, value);
42436 return *this;
42437 }
42438
42439 template <typename T>
42440 TransformerBatch& windings(T &value)
42441 {
42442 set_batch_val_for_each<T>(Properties::windings, value.begin(), value.end());
42443 return *this;
42444 }
42445
42446 template <typename T>
42447 TransformerBatch& windings(typename T::iterator it_begin, typename T::iterator it_end)
42448 {
42449 set_batch_val_for_each<T>(Properties::windings, it_begin, it_end);
42450 return *this;
42451 }
42452
42458 {
42459 return BatchInt32ArrayProxy(*this, Properties::wdg);
42460 }
42461
42462 TransformerBatch& wdg(int32_t value)
42463 {
42464 set_batch_val(Properties::wdg, value);
42465 return *this;
42466 }
42467
42468 template <typename T>
42469 TransformerBatch& wdg(T &value)
42470 {
42471 set_batch_val_for_each<T>(Properties::wdg, value.begin(), value.end());
42472 return *this;
42473 }
42474
42475 template <typename T>
42476 TransformerBatch& wdg(typename T::iterator it_begin, typename T::iterator it_end)
42477 {
42478 set_batch_val_for_each<T>(Properties::wdg, it_begin, it_end);
42479 return *this;
42480 }
42481
42486 std::vector<strings> bus()
42487 {
42488 return get_batch_valarray<strings>(Properties::bus);
42489 }
42490
42491 TransformerBatch& bus(strings &value)
42492 {
42493 set_batch_val(Properties::bus, value);
42494 return *this;
42495 }
42496
42501 std::vector<VectorXi> conn()
42502 {
42503 return get_batch_valarray<VectorXi>(Properties::conn);
42504 }
42505
42506 TransformerBatch& conn(std::vector<int32_t> &value)
42507 {
42508 set_batch_val(Properties::conn, value);
42509 return *this;
42510 }
42511
42512 TransformerBatch& conn(std::vector<Connection> &value)
42513 {
42514 set_batch_val(Properties::conn, value);
42515 return *this;
42516 }
42517
42518 TransformerBatch& conn(strings &value)
42519 {
42520 set_batch_val(Properties::conn, value);
42521 return *this;
42522 }
42523
42524 TransformerBatch& conn(std::vector<strings> &value)
42525 {
42526 set_batch_val_for_each<std::vector<strings>>(Properties::conn, value.begin(), value.end());
42527 return *this;
42528 }
42529
42534 std::vector<strings> conn_str()
42535 {
42536 return get_batch_valarray<strings>(Properties::conn);
42537 }
42538 TransformerBatch& conn_str(strings &value)
42539 {
42540 conn(value);
42541 return *this;
42542 }
42543
42548 std::vector<VectorXd> kV()
42549 {
42550 return get_batch_valarray<VectorXd>(Properties::kV);
42551 }
42552
42553 TransformerBatch& kV(VectorXd &value)
42554 {
42555 set_batch_val<VectorXd>(Properties::kV, value);
42556 return *this;
42557 }
42558
42563 std::vector<VectorXd> kVA()
42564 {
42565 return get_batch_valarray<VectorXd>(Properties::kVA);
42566 }
42567
42568 TransformerBatch& kVA(VectorXd &value)
42569 {
42570 set_batch_val<VectorXd>(Properties::kVA, value);
42571 return *this;
42572 }
42573
42578 std::vector<VectorXd> tap()
42579 {
42580 return get_batch_valarray<VectorXd>(Properties::tap);
42581 }
42582
42583 TransformerBatch& tap(VectorXd &value)
42584 {
42585 set_batch_val<VectorXd>(Properties::tap, value);
42586 return *this;
42587 }
42588
42593 std::vector<VectorXd> pctR()
42594 {
42595 return get_batch_valarray<VectorXd>(Properties::pctR);
42596 }
42597
42598 TransformerBatch& pctR(VectorXd &value)
42599 {
42600 set_batch_val<VectorXd>(Properties::pctR, value);
42601 return *this;
42602 }
42603
42608 std::vector<VectorXd> Rneut()
42609 {
42610 return get_batch_valarray<VectorXd>(Properties::Rneut);
42611 }
42612
42613 TransformerBatch& Rneut(VectorXd &value)
42614 {
42615 set_batch_val<VectorXd>(Properties::Rneut, value);
42616 return *this;
42617 }
42618
42623 std::vector<VectorXd> Xneut()
42624 {
42625 return get_batch_valarray<VectorXd>(Properties::Xneut);
42626 }
42627
42628 TransformerBatch& Xneut(VectorXd &value)
42629 {
42630 set_batch_val<VectorXd>(Properties::Xneut, value);
42631 return *this;
42632 }
42633
42640 std::vector<strings> buses()
42641 {
42642 return get_batch_valarray<strings>(Properties::buses);
42643 }
42644
42645 TransformerBatch& buses(strings &value)
42646 {
42647 set_batch_val(Properties::buses, value);
42648 return *this;
42649 }
42650
42657 std::vector<VectorXi> conns()
42658 {
42659 return get_batch_valarray<VectorXi>(Properties::conns);
42660 }
42661
42662 TransformerBatch& conns(std::vector<int32_t> &value)
42663 {
42664 set_batch_val(Properties::conns, value);
42665 return *this;
42666 }
42667
42668 TransformerBatch& conns(std::vector<Connection> &value)
42669 {
42670 set_batch_val(Properties::conns, value);
42671 return *this;
42672 }
42673
42674 TransformerBatch& conns(strings &value)
42675 {
42676 set_batch_val(Properties::conns, value);
42677 return *this;
42678 }
42679
42680 TransformerBatch& conns(std::vector<strings> &value)
42681 {
42682 set_batch_val_for_each<std::vector<strings>>(Properties::conns, value.begin(), value.end());
42683 return *this;
42684 }
42685
42692 std::vector<strings> conns_str()
42693 {
42694 return get_batch_valarray<strings>(Properties::conns);
42695 }
42696 TransformerBatch& conns_str(strings &value)
42697 {
42698 conns(value);
42699 return *this;
42700 }
42701
42712 std::vector<VectorXd> kVs()
42713 {
42714 return get_batch_valarray<VectorXd>(Properties::kVs);
42715 }
42716
42717 TransformerBatch& kVs(VectorXd &value)
42718 {
42719 set_batch_val<VectorXd>(Properties::kVs, value);
42720 return *this;
42721 }
42722
42727 std::vector<VectorXd> kVAs()
42728 {
42729 return get_batch_valarray<VectorXd>(Properties::kVAs);
42730 }
42731
42732 TransformerBatch& kVAs(VectorXd &value)
42733 {
42734 set_batch_val<VectorXd>(Properties::kVAs, value);
42735 return *this;
42736 }
42737
42742 std::vector<VectorXd> taps()
42743 {
42744 return get_batch_valarray<VectorXd>(Properties::taps);
42745 }
42746
42747 TransformerBatch& taps(VectorXd &value)
42748 {
42749 set_batch_val<VectorXd>(Properties::taps, value);
42750 return *this;
42751 }
42752
42758 {
42759 return BatchFloat64ArrayProxy(*this, Properties::XHL);
42760 }
42761
42762 TransformerBatch& XHL(double value)
42763 {
42764 set_batch_val<double>(Properties::XHL, value);
42765 return *this;
42766 }
42767
42768 template <typename T>
42769 TransformerBatch& XHL(T &value)
42770 {
42771 set_batch_val_for_each<T>(Properties::XHL, value.begin(), value.end());
42772 return *this;
42773 }
42774
42775 template <typename T>
42776 TransformerBatch& XHL(typename T::iterator it_begin, typename T::iterator it_end)
42777 {
42778 set_batch_val_for_each<T>(Properties::XHL, it_begin, it_end);
42779 return *this;
42780 }
42781
42787 {
42788 return BatchFloat64ArrayProxy(*this, Properties::XHT);
42789 }
42790
42791 TransformerBatch& XHT(double value)
42792 {
42793 set_batch_val<double>(Properties::XHT, value);
42794 return *this;
42795 }
42796
42797 template <typename T>
42798 TransformerBatch& XHT(T &value)
42799 {
42800 set_batch_val_for_each<T>(Properties::XHT, value.begin(), value.end());
42801 return *this;
42802 }
42803
42804 template <typename T>
42805 TransformerBatch& XHT(typename T::iterator it_begin, typename T::iterator it_end)
42806 {
42807 set_batch_val_for_each<T>(Properties::XHT, it_begin, it_end);
42808 return *this;
42809 }
42810
42816 {
42817 return BatchFloat64ArrayProxy(*this, Properties::XLT);
42818 }
42819
42820 TransformerBatch& XLT(double value)
42821 {
42822 set_batch_val<double>(Properties::XLT, value);
42823 return *this;
42824 }
42825
42826 template <typename T>
42827 TransformerBatch& XLT(T &value)
42828 {
42829 set_batch_val_for_each<T>(Properties::XLT, value.begin(), value.end());
42830 return *this;
42831 }
42832
42833 template <typename T>
42834 TransformerBatch& XLT(typename T::iterator it_begin, typename T::iterator it_end)
42835 {
42836 set_batch_val_for_each<T>(Properties::XLT, it_begin, it_end);
42837 return *this;
42838 }
42839
42848 std::vector<VectorXd> Xscarray()
42849 {
42850 return get_batch_valarray<VectorXd>(Properties::Xscarray);
42851 }
42852
42853 TransformerBatch& Xscarray(VectorXd &value)
42854 {
42855 set_batch_val<VectorXd>(Properties::Xscarray, value);
42856 return *this;
42857 }
42858
42864 {
42865 return BatchFloat64ArrayProxy(*this, Properties::thermal);
42866 }
42867
42868 TransformerBatch& thermal(double value)
42869 {
42870 set_batch_val<double>(Properties::thermal, value);
42871 return *this;
42872 }
42873
42874 template <typename T>
42875 TransformerBatch& thermal(T &value)
42876 {
42877 set_batch_val_for_each<T>(Properties::thermal, value.begin(), value.end());
42878 return *this;
42879 }
42880
42881 template <typename T>
42882 TransformerBatch& thermal(typename T::iterator it_begin, typename T::iterator it_end)
42883 {
42884 set_batch_val_for_each<T>(Properties::thermal, it_begin, it_end);
42885 return *this;
42886 }
42887
42893 {
42894 return BatchFloat64ArrayProxy(*this, Properties::n);
42895 }
42896
42897 TransformerBatch& n(double value)
42898 {
42899 set_batch_val<double>(Properties::n, value);
42900 return *this;
42901 }
42902
42903 template <typename T>
42904 TransformerBatch& n(T &value)
42905 {
42906 set_batch_val_for_each<T>(Properties::n, value.begin(), value.end());
42907 return *this;
42908 }
42909
42910 template <typename T>
42911 TransformerBatch& n(typename T::iterator it_begin, typename T::iterator it_end)
42912 {
42913 set_batch_val_for_each<T>(Properties::n, it_begin, it_end);
42914 return *this;
42915 }
42916
42922 {
42923 return BatchFloat64ArrayProxy(*this, Properties::m);
42924 }
42925
42926 TransformerBatch& m(double value)
42927 {
42928 set_batch_val<double>(Properties::m, value);
42929 return *this;
42930 }
42931
42932 template <typename T>
42933 TransformerBatch& m(T &value)
42934 {
42935 set_batch_val_for_each<T>(Properties::m, value.begin(), value.end());
42936 return *this;
42937 }
42938
42939 template <typename T>
42940 TransformerBatch& m(typename T::iterator it_begin, typename T::iterator it_end)
42941 {
42942 set_batch_val_for_each<T>(Properties::m, it_begin, it_end);
42943 return *this;
42944 }
42945
42951 {
42952 return BatchFloat64ArrayProxy(*this, Properties::flrise);
42953 }
42954
42955 TransformerBatch& flrise(double value)
42956 {
42957 set_batch_val<double>(Properties::flrise, value);
42958 return *this;
42959 }
42960
42961 template <typename T>
42962 TransformerBatch& flrise(T &value)
42963 {
42964 set_batch_val_for_each<T>(Properties::flrise, value.begin(), value.end());
42965 return *this;
42966 }
42967
42968 template <typename T>
42969 TransformerBatch& flrise(typename T::iterator it_begin, typename T::iterator it_end)
42970 {
42971 set_batch_val_for_each<T>(Properties::flrise, it_begin, it_end);
42972 return *this;
42973 }
42974
42980 {
42981 return BatchFloat64ArrayProxy(*this, Properties::hsrise);
42982 }
42983
42984 TransformerBatch& hsrise(double value)
42985 {
42986 set_batch_val<double>(Properties::hsrise, value);
42987 return *this;
42988 }
42989
42990 template <typename T>
42991 TransformerBatch& hsrise(T &value)
42992 {
42993 set_batch_val_for_each<T>(Properties::hsrise, value.begin(), value.end());
42994 return *this;
42995 }
42996
42997 template <typename T>
42998 TransformerBatch& hsrise(typename T::iterator it_begin, typename T::iterator it_end)
42999 {
43000 set_batch_val_for_each<T>(Properties::hsrise, it_begin, it_end);
43001 return *this;
43002 }
43003
43009 {
43010 return BatchFloat64ArrayProxy(*this, Properties::pctloadloss);
43011 }
43012
43013 TransformerBatch& pctloadloss(double value)
43014 {
43015 set_batch_val<double>(Properties::pctloadloss, value);
43016 return *this;
43017 }
43018
43019 template <typename T>
43020 TransformerBatch& pctloadloss(T &value)
43021 {
43022 set_batch_val_for_each<T>(Properties::pctloadloss, value.begin(), value.end());
43023 return *this;
43024 }
43025
43026 template <typename T>
43027 TransformerBatch& pctloadloss(typename T::iterator it_begin, typename T::iterator it_end)
43028 {
43029 set_batch_val_for_each<T>(Properties::pctloadloss, it_begin, it_end);
43030 return *this;
43031 }
43032
43038 {
43039 return BatchFloat64ArrayProxy(*this, Properties::pctnoloadloss);
43040 }
43041
43042 TransformerBatch& pctnoloadloss(double value)
43043 {
43044 set_batch_val<double>(Properties::pctnoloadloss, value);
43045 return *this;
43046 }
43047
43048 template <typename T>
43050 {
43051 set_batch_val_for_each<T>(Properties::pctnoloadloss, value.begin(), value.end());
43052 return *this;
43053 }
43054
43055 template <typename T>
43056 TransformerBatch& pctnoloadloss(typename T::iterator it_begin, typename T::iterator it_end)
43057 {
43058 set_batch_val_for_each<T>(Properties::pctnoloadloss, it_begin, it_end);
43059 return *this;
43060 }
43061
43067 {
43068 return BatchFloat64ArrayProxy(*this, Properties::normhkVA);
43069 }
43070
43071 TransformerBatch& normhkVA(double value)
43072 {
43073 set_batch_val<double>(Properties::normhkVA, value);
43074 return *this;
43075 }
43076
43077 template <typename T>
43078 TransformerBatch& normhkVA(T &value)
43079 {
43080 set_batch_val_for_each<T>(Properties::normhkVA, value.begin(), value.end());
43081 return *this;
43082 }
43083
43084 template <typename T>
43085 TransformerBatch& normhkVA(typename T::iterator it_begin, typename T::iterator it_end)
43086 {
43087 set_batch_val_for_each<T>(Properties::normhkVA, it_begin, it_end);
43088 return *this;
43089 }
43090
43096 {
43097 return BatchFloat64ArrayProxy(*this, Properties::emerghkVA);
43098 }
43099
43100 TransformerBatch& emerghkVA(double value)
43101 {
43102 set_batch_val<double>(Properties::emerghkVA, value);
43103 return *this;
43104 }
43105
43106 template <typename T>
43107 TransformerBatch& emerghkVA(T &value)
43108 {
43109 set_batch_val_for_each<T>(Properties::emerghkVA, value.begin(), value.end());
43110 return *this;
43111 }
43112
43113 template <typename T>
43114 TransformerBatch& emerghkVA(typename T::iterator it_begin, typename T::iterator it_end)
43115 {
43116 set_batch_val_for_each<T>(Properties::emerghkVA, it_begin, it_end);
43117 return *this;
43118 }
43119
43124 bools sub()
43125 {
43126 return get_batch_val<bools>(Properties::sub);
43127 }
43128
43129 TransformerBatch& sub(bool value)
43130 {
43131 set_batch_val(Properties::sub, int32_t(value));
43132 return *this;
43133 }
43134
43135 TransformerBatch& sub(bools &value)
43136 {
43137 set_batch_val_for_each<std::vector<int32_t>>(Properties::sub, value.begin(), value.end());
43138 return *this;
43139 }
43140
43145 std::vector<VectorXd> MaxTap()
43146 {
43147 return get_batch_valarray<VectorXd>(Properties::MaxTap);
43148 }
43149
43150 TransformerBatch& MaxTap(VectorXd &value)
43151 {
43152 set_batch_val<VectorXd>(Properties::MaxTap, value);
43153 return *this;
43154 }
43155
43160 std::vector<VectorXd> MinTap()
43161 {
43162 return get_batch_valarray<VectorXd>(Properties::MinTap);
43163 }
43164
43165 TransformerBatch& MinTap(VectorXd &value)
43166 {
43167 set_batch_val<VectorXd>(Properties::MinTap, value);
43168 return *this;
43169 }
43170
43175 std::vector<VectorXi> NumTaps()
43176 {
43177 return get_batch_valarray<VectorXi>(Properties::NumTaps);
43178 }
43179 TransformerBatch& NumTaps(VectorXi &value)
43180 {
43181 set_batch_val(Properties::NumTaps, value);
43182 return *this;
43183 }
43184 TransformerBatch& NumTaps(std::vector<VectorXi> &value)
43185 {
43186 set_batch_val_for_each<std::vector<VectorXi>>(Properties::NumTaps, value.begin(), value.end());
43187 return *this;
43188 }
43189
43194 strings subname()
43195 {
43196 return get_batch_val<strings>(Properties::subname);
43197 }
43198
43199 TransformerBatch& subname(const string &value)
43200 {
43201 set_batch_val(Properties::subname, value.c_str());
43202 return *this;
43203 }
43204
43205 TransformerBatch& subname(strings &value)
43206 {
43207 set_batch_val_for_each<strings>(Properties::subname, value.begin(), value.end());
43208 return *this;
43209 }
43210
43216 {
43217 return BatchFloat64ArrayProxy(*this, Properties::pctimag);
43218 }
43219
43220 TransformerBatch& pctimag(double value)
43221 {
43222 set_batch_val<double>(Properties::pctimag, value);
43223 return *this;
43224 }
43225
43226 template <typename T>
43227 TransformerBatch& pctimag(T &value)
43228 {
43229 set_batch_val_for_each<T>(Properties::pctimag, value.begin(), value.end());
43230 return *this;
43231 }
43232
43233 template <typename T>
43234 TransformerBatch& pctimag(typename T::iterator it_begin, typename T::iterator it_end)
43235 {
43236 set_batch_val_for_each<T>(Properties::pctimag, it_begin, it_end);
43237 return *this;
43238 }
43239
43245 {
43246 return BatchFloat64ArrayProxy(*this, Properties::ppm_antifloat);
43247 }
43248
43249 TransformerBatch& ppm_antifloat(double value)
43250 {
43251 set_batch_val<double>(Properties::ppm_antifloat, value);
43252 return *this;
43253 }
43254
43255 template <typename T>
43257 {
43258 set_batch_val_for_each<T>(Properties::ppm_antifloat, value.begin(), value.end());
43259 return *this;
43260 }
43261
43262 template <typename T>
43263 TransformerBatch& ppm_antifloat(typename T::iterator it_begin, typename T::iterator it_end)
43264 {
43265 set_batch_val_for_each<T>(Properties::ppm_antifloat, it_begin, it_end);
43266 return *this;
43267 }
43268
43275 std::vector<VectorXd> pctRs()
43276 {
43277 return get_batch_valarray<VectorXd>(Properties::pctRs);
43278 }
43279
43280 TransformerBatch& pctRs(VectorXd &value)
43281 {
43282 set_batch_val<VectorXd>(Properties::pctRs, value);
43283 return *this;
43284 }
43285
43290 strings bank()
43291 {
43292 return get_batch_val<strings>(Properties::bank);
43293 }
43294
43295 TransformerBatch& bank(const string &value)
43296 {
43297 set_batch_val(Properties::bank, value.c_str());
43298 return *this;
43299 }
43300
43301 TransformerBatch& bank(strings &value)
43302 {
43303 set_batch_val_for_each<strings>(Properties::bank, value.begin(), value.end());
43304 return *this;
43305 }
43306
43311 strings XfmrCode()
43312 {
43313 return get_batch_val<strings>(Properties::XfmrCode);
43314 }
43315
43317 {
43318 set_batch_val(Properties::XfmrCode, value);
43319 return *this;
43320 }
43321
43322 TransformerBatch& XfmrCode(const string &value)
43323 {
43324 set_batch_val(Properties::XfmrCode, value);
43325 return *this;
43326 }
43327
43332 std::vector<dss::obj::XfmrCode> XfmrCode_obj()
43333 {
43334 return get_batch_val<std::vector<dss::obj::XfmrCode>>(Properties::XfmrCode);
43335 }
43336
43338 {
43339 set_batch_val(Properties::XfmrCode, value);
43340 return *this;
43341 }
43342
43347 bools XRConst()
43348 {
43349 return get_batch_val<bools>(Properties::XRConst);
43350 }
43351
43352 TransformerBatch& XRConst(bool value)
43353 {
43354 set_batch_val(Properties::XRConst, int32_t(value));
43355 return *this;
43356 }
43357
43358 TransformerBatch& XRConst(bools &value)
43359 {
43360 set_batch_val_for_each<std::vector<int32_t>>(Properties::XRConst, value.begin(), value.end());
43361 return *this;
43362 }
43363
43369 {
43370 return BatchFloat64ArrayProxy(*this, Properties::X12);
43371 }
43372
43373 TransformerBatch& X12(double value)
43374 {
43375 set_batch_val<double>(Properties::X12, value);
43376 return *this;
43377 }
43378
43379 template <typename T>
43380 TransformerBatch& X12(T &value)
43381 {
43382 set_batch_val_for_each<T>(Properties::X12, value.begin(), value.end());
43383 return *this;
43384 }
43385
43386 template <typename T>
43387 TransformerBatch& X12(typename T::iterator it_begin, typename T::iterator it_end)
43388 {
43389 set_batch_val_for_each<T>(Properties::X12, it_begin, it_end);
43390 return *this;
43391 }
43392
43398 {
43399 return BatchFloat64ArrayProxy(*this, Properties::X13);
43400 }
43401
43402 TransformerBatch& X13(double value)
43403 {
43404 set_batch_val<double>(Properties::X13, value);
43405 return *this;
43406 }
43407
43408 template <typename T>
43409 TransformerBatch& X13(T &value)
43410 {
43411 set_batch_val_for_each<T>(Properties::X13, value.begin(), value.end());
43412 return *this;
43413 }
43414
43415 template <typename T>
43416 TransformerBatch& X13(typename T::iterator it_begin, typename T::iterator it_end)
43417 {
43418 set_batch_val_for_each<T>(Properties::X13, it_begin, it_end);
43419 return *this;
43420 }
43421
43427 {
43428 return BatchFloat64ArrayProxy(*this, Properties::X23);
43429 }
43430
43431 TransformerBatch& X23(double value)
43432 {
43433 set_batch_val<double>(Properties::X23, value);
43434 return *this;
43435 }
43436
43437 template <typename T>
43438 TransformerBatch& X23(T &value)
43439 {
43440 set_batch_val_for_each<T>(Properties::X23, value.begin(), value.end());
43441 return *this;
43442 }
43443
43444 template <typename T>
43445 TransformerBatch& X23(typename T::iterator it_begin, typename T::iterator it_end)
43446 {
43447 set_batch_val_for_each<T>(Properties::X23, it_begin, it_end);
43448 return *this;
43449 }
43450
43456 {
43457 return BatchInt32ArrayProxy(*this, Properties::LeadLag);
43458 }
43459
43460 TransformerBatch& LeadLag(string &value)
43461 {
43462 set_batch_val(Properties::LeadLag, value);
43463 return *this;
43464 }
43465
43466 TransformerBatch& LeadLag(int32_t value)
43467 {
43468 set_batch_val(Properties::LeadLag, value);
43469 return *this;
43470 }
43471
43472 TransformerBatch& LeadLag(PhaseSequence value)
43473 {
43474 set_batch_val(Properties::LeadLag, int32_t(value));
43475 return *this;
43476 }
43477
43478 TransformerBatch& LeadLag(strings &value)
43479 {
43480 set_batch_val_for_each<strings>(Properties::LeadLag, value.begin(), value.end());
43481 return *this;
43482 }
43483
43484 TransformerBatch& LeadLag(std::vector<int32_t> &value)
43485 {
43486 set_batch_val_for_each<std::vector<int32_t>>(Properties::LeadLag, value.begin(), value.end());
43487 return *this;
43488 }
43489
43490 TransformerBatch& LeadLag(std::vector<PhaseSequence> &value)
43491 {
43492 set_batch_val_for_each<std::vector<PhaseSequence>>(Properties::LeadLag, value.begin(), value.end());
43493 return *this;
43494 }
43495
43500 strings LeadLag_str()
43501 {
43502 return get_batch_val<strings>(Properties::LeadLag);
43503 }
43504
43505 TransformerBatch& LeadLag_str(string &value)
43506 {
43507 LeadLag(value);
43508 return *this;
43509 }
43510
43511 TransformerBatch& LeadLag_str(strings &value)
43512 {
43513 LeadLag(value);
43514 return *this;
43515 }
43516
43521 strings WdgCurrents()
43522 {
43523 // []
43524 // StringSilentROFunction
43525 return get_batch_val<strings>(Properties::WdgCurrents);
43526 }
43527
43533 {
43534 return BatchInt32ArrayProxy(*this, Properties::Core);
43535 }
43536
43537 TransformerBatch& Core(string &value)
43538 {
43539 set_batch_val(Properties::Core, value);
43540 return *this;
43541 }
43542
43543 TransformerBatch& Core(int32_t value)
43544 {
43545 set_batch_val(Properties::Core, value);
43546 return *this;
43547 }
43548
43549 TransformerBatch& Core(CoreType value)
43550 {
43551 set_batch_val(Properties::Core, int32_t(value));
43552 return *this;
43553 }
43554
43555 TransformerBatch& Core(strings &value)
43556 {
43557 set_batch_val_for_each<strings>(Properties::Core, value.begin(), value.end());
43558 return *this;
43559 }
43560
43561 TransformerBatch& Core(std::vector<int32_t> &value)
43562 {
43563 set_batch_val_for_each<std::vector<int32_t>>(Properties::Core, value.begin(), value.end());
43564 return *this;
43565 }
43566
43567 TransformerBatch& Core(std::vector<CoreType> &value)
43568 {
43569 set_batch_val_for_each<std::vector<CoreType>>(Properties::Core, value.begin(), value.end());
43570 return *this;
43571 }
43572
43577 strings Core_str()
43578 {
43579 return get_batch_val<strings>(Properties::Core);
43580 }
43581
43582 TransformerBatch& Core_str(string &value)
43583 {
43584 Core(value);
43585 return *this;
43586 }
43587
43588 TransformerBatch& Core_str(strings &value)
43589 {
43590 Core(value);
43591 return *this;
43592 }
43593
43598 std::vector<VectorXd> RdcOhms()
43599 {
43600 return get_batch_valarray<VectorXd>(Properties::RdcOhms);
43601 }
43602
43603 TransformerBatch& RdcOhms(VectorXd &value)
43604 {
43605 set_batch_val<VectorXd>(Properties::RdcOhms, value);
43606 return *this;
43607 }
43608
43614 {
43615 return BatchInt32ArrayProxy(*this, Properties::Seasons);
43616 }
43617
43618 TransformerBatch& Seasons(int32_t value)
43619 {
43620 set_batch_val(Properties::Seasons, value);
43621 return *this;
43622 }
43623
43624 template <typename T>
43625 TransformerBatch& Seasons(T &value)
43626 {
43627 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
43628 return *this;
43629 }
43630
43631 template <typename T>
43632 TransformerBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
43633 {
43634 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
43635 return *this;
43636 }
43637
43643 std::vector<VectorXd> Ratings()
43644 {
43645 return get_batch_valarray<VectorXd>(Properties::Ratings);
43646 }
43647
43648 TransformerBatch& Ratings(VectorXd &value)
43649 {
43650 set_batch_val<VectorXd>(Properties::Ratings, value);
43651 return *this;
43652 }
43653
43659 {
43660 return BatchFloat64ArrayProxy(*this, Properties::normamps);
43661 }
43662
43663 TransformerBatch& normamps(double value)
43664 {
43665 set_batch_val<double>(Properties::normamps, value);
43666 return *this;
43667 }
43668
43669 template <typename T>
43670 TransformerBatch& normamps(T &value)
43671 {
43672 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
43673 return *this;
43674 }
43675
43676 template <typename T>
43677 TransformerBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
43678 {
43679 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
43680 return *this;
43681 }
43682
43688 {
43689 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
43690 }
43691
43692 TransformerBatch& emergamps(double value)
43693 {
43694 set_batch_val<double>(Properties::emergamps, value);
43695 return *this;
43696 }
43697
43698 template <typename T>
43699 TransformerBatch& emergamps(T &value)
43700 {
43701 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
43702 return *this;
43703 }
43704
43705 template <typename T>
43706 TransformerBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
43707 {
43708 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
43709 return *this;
43710 }
43711
43717 {
43718 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
43719 }
43720
43721 TransformerBatch& faultrate(double value)
43722 {
43723 set_batch_val<double>(Properties::faultrate, value);
43724 return *this;
43725 }
43726
43727 template <typename T>
43728 TransformerBatch& faultrate(T &value)
43729 {
43730 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
43731 return *this;
43732 }
43733
43734 template <typename T>
43735 TransformerBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
43736 {
43737 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
43738 return *this;
43739 }
43740
43746 {
43747 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
43748 }
43749
43750 TransformerBatch& pctperm(double value)
43751 {
43752 set_batch_val<double>(Properties::pctperm, value);
43753 return *this;
43754 }
43755
43756 template <typename T>
43757 TransformerBatch& pctperm(T &value)
43758 {
43759 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
43760 return *this;
43761 }
43762
43763 template <typename T>
43764 TransformerBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
43765 {
43766 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
43767 return *this;
43768 }
43769
43775 {
43776 return BatchFloat64ArrayProxy(*this, Properties::repair);
43777 }
43778
43779 TransformerBatch& repair(double value)
43780 {
43781 set_batch_val<double>(Properties::repair, value);
43782 return *this;
43783 }
43784
43785 template <typename T>
43786 TransformerBatch& repair(T &value)
43787 {
43788 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
43789 return *this;
43790 }
43791
43792 template <typename T>
43793 TransformerBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
43794 {
43795 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
43796 return *this;
43797 }
43798
43804 {
43805 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
43806 }
43807
43808 TransformerBatch& basefreq(double value)
43809 {
43810 set_batch_val<double>(Properties::basefreq, value);
43811 return *this;
43812 }
43813
43814 template <typename T>
43815 TransformerBatch& basefreq(T &value)
43816 {
43817 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
43818 return *this;
43819 }
43820
43821 template <typename T>
43822 TransformerBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
43823 {
43824 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
43825 return *this;
43826 }
43827
43832 bools enabled()
43833 {
43834 return get_batch_val<bools>(Properties::enabled);
43835 }
43836
43837 TransformerBatch& enabled(bool value)
43838 {
43839 set_batch_val(Properties::enabled, int32_t(value));
43840 return *this;
43841 }
43842
43843 TransformerBatch& enabled(bools &value)
43844 {
43845 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
43846 return *this;
43847 }
43848
43855 TransformerBatch& like(const string &value)
43856 {
43857 set_batch_val(Properties::like, value.c_str());
43858 return *this;
43859 }
43860
43867 TransformerBatch& like(const char *value)
43868 {
43869 set_batch_val(Properties::like, value);
43870 return *this;
43871 }
43872};
43873
43874
43876{
43877public:
43880
43885 DSSBatch(util, Capacitor::dss_cls_idx)
43886 {
43887 }
43888
43892 CapacitorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
43893 DSSBatch(util, Capacitor::dss_cls_idx, prop_idx, prop_value)
43894 {
43895 }
43896
43900 CapacitorBatch(APIUtil *util, const char* regexp):
43901 DSSBatch(util, Capacitor::dss_cls_idx, regexp)
43902 {
43903 }
43904
43905
43906 CapacitorBatch& begin_edit()
43907 {
43908 Batch_BeginEdit(pointer, count[0]);
43909 return *this;
43910 }
43911
43912 CapacitorBatch& end_edit(int32_t num_edits=1)
43913 {
43914 Batch_EndEdit(pointer, count[0], num_edits);
43915 return *this;
43916 }
43917
43918
43927 strings bus1()
43928 {
43929 return get_batch_val<strings>(Properties::bus1);
43930 }
43931
43932 CapacitorBatch& bus1(const string &value)
43933 {
43934 set_batch_val(Properties::bus1, value.c_str());
43935 return *this;
43936 }
43937
43938 CapacitorBatch& bus1(strings &value)
43939 {
43940 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
43941 return *this;
43942 }
43943
43950 strings bus2()
43951 {
43952 return get_batch_val<strings>(Properties::bus2);
43953 }
43954
43955 CapacitorBatch& bus2(const string &value)
43956 {
43957 set_batch_val(Properties::bus2, value.c_str());
43958 return *this;
43959 }
43960
43961 CapacitorBatch& bus2(strings &value)
43962 {
43963 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
43964 return *this;
43965 }
43966
43972 {
43973 return BatchInt32ArrayProxy(*this, Properties::phases);
43974 }
43975
43976 CapacitorBatch& phases(int32_t value)
43977 {
43978 set_batch_val(Properties::phases, value);
43979 return *this;
43980 }
43981
43982 template <typename T>
43983 CapacitorBatch& phases(T &value)
43984 {
43985 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
43986 return *this;
43987 }
43988
43989 template <typename T>
43990 CapacitorBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
43991 {
43992 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
43993 return *this;
43994 }
43995
44000 std::vector<VectorXd> kvar()
44001 {
44002 return get_batch_valarray<VectorXd>(Properties::kvar);
44003 }
44004
44005 CapacitorBatch& kvar(VectorXd &value)
44006 {
44007 set_batch_val<VectorXd>(Properties::kvar, value);
44008 return *this;
44009 }
44010
44016 {
44017 return BatchFloat64ArrayProxy(*this, Properties::kv);
44018 }
44019
44020 CapacitorBatch& kv(double value)
44021 {
44022 set_batch_val<double>(Properties::kv, value);
44023 return *this;
44024 }
44025
44026 template <typename T>
44027 CapacitorBatch& kv(T &value)
44028 {
44029 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
44030 return *this;
44031 }
44032
44033 template <typename T>
44034 CapacitorBatch& kv(typename T::iterator it_begin, typename T::iterator it_end)
44035 {
44036 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
44037 return *this;
44038 }
44039
44045 {
44046 return BatchInt32ArrayProxy(*this, Properties::conn);
44047 }
44048
44049 CapacitorBatch& conn(string &value)
44050 {
44051 set_batch_val(Properties::conn, value);
44052 return *this;
44053 }
44054
44055 CapacitorBatch& conn(int32_t value)
44056 {
44057 set_batch_val(Properties::conn, value);
44058 return *this;
44059 }
44060
44061 CapacitorBatch& conn(Connection value)
44062 {
44063 set_batch_val(Properties::conn, int32_t(value));
44064 return *this;
44065 }
44066
44067 CapacitorBatch& conn(strings &value)
44068 {
44069 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
44070 return *this;
44071 }
44072
44073 CapacitorBatch& conn(std::vector<int32_t> &value)
44074 {
44075 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
44076 return *this;
44077 }
44078
44079 CapacitorBatch& conn(std::vector<Connection> &value)
44080 {
44081 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
44082 return *this;
44083 }
44084
44089 strings conn_str()
44090 {
44091 return get_batch_val<strings>(Properties::conn);
44092 }
44093
44094 CapacitorBatch& conn_str(string &value)
44095 {
44096 conn(value);
44097 return *this;
44098 }
44099
44100 CapacitorBatch& conn_str(strings &value)
44101 {
44102 conn(value);
44103 return *this;
44104 }
44105
44114 std::vector<VectorXd> cmatrix()
44115 {
44116 return get_batch_valarray<VectorXd>(Properties::cmatrix);
44117 }
44118
44119 CapacitorBatch& cmatrix(VectorXd &value)
44120 {
44121 set_batch_val<VectorXd>(Properties::cmatrix, value);
44122 return *this;
44123 }
44124
44130 std::vector<VectorXd> cuf()
44131 {
44132 return get_batch_valarray<VectorXd>(Properties::cuf);
44133 }
44134
44135 CapacitorBatch& cuf(VectorXd &value)
44136 {
44137 set_batch_val<VectorXd>(Properties::cuf, value);
44138 return *this;
44139 }
44140
44145 std::vector<VectorXd> R()
44146 {
44147 return get_batch_valarray<VectorXd>(Properties::R);
44148 }
44149
44150 CapacitorBatch& R(VectorXd &value)
44151 {
44152 set_batch_val<VectorXd>(Properties::R, value);
44153 return *this;
44154 }
44155
44160 std::vector<VectorXd> XL()
44161 {
44162 return get_batch_valarray<VectorXd>(Properties::XL);
44163 }
44164
44165 CapacitorBatch& XL(VectorXd &value)
44166 {
44167 set_batch_val<VectorXd>(Properties::XL, value);
44168 return *this;
44169 }
44170
44175 std::vector<VectorXd> Harm()
44176 {
44177 return get_batch_valarray<VectorXd>(Properties::Harm);
44178 }
44179
44180 CapacitorBatch& Harm(VectorXd &value)
44181 {
44182 set_batch_val<VectorXd>(Properties::Harm, value);
44183 return *this;
44184 }
44185
44191 {
44192 return BatchInt32ArrayProxy(*this, Properties::Numsteps);
44193 }
44194
44195 CapacitorBatch& Numsteps(int32_t value)
44196 {
44197 set_batch_val(Properties::Numsteps, value);
44198 return *this;
44199 }
44200
44201 template <typename T>
44202 CapacitorBatch& Numsteps(T &value)
44203 {
44204 set_batch_val_for_each<T>(Properties::Numsteps, value.begin(), value.end());
44205 return *this;
44206 }
44207
44208 template <typename T>
44209 CapacitorBatch& Numsteps(typename T::iterator it_begin, typename T::iterator it_end)
44210 {
44211 set_batch_val_for_each<T>(Properties::Numsteps, it_begin, it_end);
44212 return *this;
44213 }
44214
44219 std::vector<VectorXi> states()
44220 {
44221 return get_batch_valarray<VectorXi>(Properties::states);
44222 }
44223 CapacitorBatch& states(VectorXi &value)
44224 {
44225 set_batch_val(Properties::states, value);
44226 return *this;
44227 }
44228 CapacitorBatch& states(std::vector<VectorXi> &value)
44229 {
44230 set_batch_val_for_each<std::vector<VectorXi>>(Properties::states, value.begin(), value.end());
44231 return *this;
44232 }
44233
44239 {
44240 return BatchFloat64ArrayProxy(*this, Properties::normamps);
44241 }
44242
44243 CapacitorBatch& normamps(double value)
44244 {
44245 set_batch_val<double>(Properties::normamps, value);
44246 return *this;
44247 }
44248
44249 template <typename T>
44250 CapacitorBatch& normamps(T &value)
44251 {
44252 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
44253 return *this;
44254 }
44255
44256 template <typename T>
44257 CapacitorBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
44258 {
44259 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
44260 return *this;
44261 }
44262
44268 {
44269 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
44270 }
44271
44272 CapacitorBatch& emergamps(double value)
44273 {
44274 set_batch_val<double>(Properties::emergamps, value);
44275 return *this;
44276 }
44277
44278 template <typename T>
44279 CapacitorBatch& emergamps(T &value)
44280 {
44281 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
44282 return *this;
44283 }
44284
44285 template <typename T>
44286 CapacitorBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
44287 {
44288 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
44289 return *this;
44290 }
44291
44297 {
44298 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
44299 }
44300
44301 CapacitorBatch& faultrate(double value)
44302 {
44303 set_batch_val<double>(Properties::faultrate, value);
44304 return *this;
44305 }
44306
44307 template <typename T>
44308 CapacitorBatch& faultrate(T &value)
44309 {
44310 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
44311 return *this;
44312 }
44313
44314 template <typename T>
44315 CapacitorBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
44316 {
44317 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
44318 return *this;
44319 }
44320
44326 {
44327 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
44328 }
44329
44330 CapacitorBatch& pctperm(double value)
44331 {
44332 set_batch_val<double>(Properties::pctperm, value);
44333 return *this;
44334 }
44335
44336 template <typename T>
44337 CapacitorBatch& pctperm(T &value)
44338 {
44339 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
44340 return *this;
44341 }
44342
44343 template <typename T>
44344 CapacitorBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
44345 {
44346 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
44347 return *this;
44348 }
44349
44355 {
44356 return BatchFloat64ArrayProxy(*this, Properties::repair);
44357 }
44358
44359 CapacitorBatch& repair(double value)
44360 {
44361 set_batch_val<double>(Properties::repair, value);
44362 return *this;
44363 }
44364
44365 template <typename T>
44366 CapacitorBatch& repair(T &value)
44367 {
44368 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
44369 return *this;
44370 }
44371
44372 template <typename T>
44373 CapacitorBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
44374 {
44375 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
44376 return *this;
44377 }
44378
44384 {
44385 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
44386 }
44387
44388 CapacitorBatch& basefreq(double value)
44389 {
44390 set_batch_val<double>(Properties::basefreq, value);
44391 return *this;
44392 }
44393
44394 template <typename T>
44395 CapacitorBatch& basefreq(T &value)
44396 {
44397 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
44398 return *this;
44399 }
44400
44401 template <typename T>
44402 CapacitorBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
44403 {
44404 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
44405 return *this;
44406 }
44407
44412 bools enabled()
44413 {
44414 return get_batch_val<bools>(Properties::enabled);
44415 }
44416
44417 CapacitorBatch& enabled(bool value)
44418 {
44419 set_batch_val(Properties::enabled, int32_t(value));
44420 return *this;
44421 }
44422
44423 CapacitorBatch& enabled(bools &value)
44424 {
44425 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
44426 return *this;
44427 }
44428
44435 CapacitorBatch& like(const string &value)
44436 {
44437 set_batch_val(Properties::like, value.c_str());
44438 return *this;
44439 }
44440
44447 CapacitorBatch& like(const char *value)
44448 {
44449 set_batch_val(Properties::like, value);
44450 return *this;
44451 }
44452};
44453
44454
44456{
44457public:
44459 typedef Reactor BatchElementClass;
44460
44465 DSSBatch(util, Reactor::dss_cls_idx)
44466 {
44467 }
44468
44472 ReactorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
44473 DSSBatch(util, Reactor::dss_cls_idx, prop_idx, prop_value)
44474 {
44475 }
44476
44480 ReactorBatch(APIUtil *util, const char* regexp):
44481 DSSBatch(util, Reactor::dss_cls_idx, regexp)
44482 {
44483 }
44484
44485
44486 ReactorBatch& begin_edit()
44487 {
44488 Batch_BeginEdit(pointer, count[0]);
44489 return *this;
44490 }
44491
44492 ReactorBatch& end_edit(int32_t num_edits=1)
44493 {
44494 Batch_EndEdit(pointer, count[0], num_edits);
44495 return *this;
44496 }
44497
44498
44507 strings bus1()
44508 {
44509 return get_batch_val<strings>(Properties::bus1);
44510 }
44511
44512 ReactorBatch& bus1(const string &value)
44513 {
44514 set_batch_val(Properties::bus1, value.c_str());
44515 return *this;
44516 }
44517
44518 ReactorBatch& bus1(strings &value)
44519 {
44520 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
44521 return *this;
44522 }
44523
44530 strings bus2()
44531 {
44532 return get_batch_val<strings>(Properties::bus2);
44533 }
44534
44535 ReactorBatch& bus2(const string &value)
44536 {
44537 set_batch_val(Properties::bus2, value.c_str());
44538 return *this;
44539 }
44540
44541 ReactorBatch& bus2(strings &value)
44542 {
44543 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
44544 return *this;
44545 }
44546
44552 {
44553 return BatchInt32ArrayProxy(*this, Properties::phases);
44554 }
44555
44556 ReactorBatch& phases(int32_t value)
44557 {
44558 set_batch_val(Properties::phases, value);
44559 return *this;
44560 }
44561
44562 template <typename T>
44563 ReactorBatch& phases(T &value)
44564 {
44565 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
44566 return *this;
44567 }
44568
44569 template <typename T>
44570 ReactorBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
44571 {
44572 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
44573 return *this;
44574 }
44575
44581 {
44582 return BatchFloat64ArrayProxy(*this, Properties::kvar);
44583 }
44584
44585 ReactorBatch& kvar(double value)
44586 {
44587 set_batch_val<double>(Properties::kvar, value);
44588 return *this;
44589 }
44590
44591 template <typename T>
44592 ReactorBatch& kvar(T &value)
44593 {
44594 set_batch_val_for_each<T>(Properties::kvar, value.begin(), value.end());
44595 return *this;
44596 }
44597
44598 template <typename T>
44599 ReactorBatch& kvar(typename T::iterator it_begin, typename T::iterator it_end)
44600 {
44601 set_batch_val_for_each<T>(Properties::kvar, it_begin, it_end);
44602 return *this;
44603 }
44604
44610 {
44611 return BatchFloat64ArrayProxy(*this, Properties::kv);
44612 }
44613
44614 ReactorBatch& kv(double value)
44615 {
44616 set_batch_val<double>(Properties::kv, value);
44617 return *this;
44618 }
44619
44620 template <typename T>
44621 ReactorBatch& kv(T &value)
44622 {
44623 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
44624 return *this;
44625 }
44626
44627 template <typename T>
44628 ReactorBatch& kv(typename T::iterator it_begin, typename T::iterator it_end)
44629 {
44630 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
44631 return *this;
44632 }
44633
44639 {
44640 return BatchInt32ArrayProxy(*this, Properties::conn);
44641 }
44642
44643 ReactorBatch& conn(string &value)
44644 {
44645 set_batch_val(Properties::conn, value);
44646 return *this;
44647 }
44648
44649 ReactorBatch& conn(int32_t value)
44650 {
44651 set_batch_val(Properties::conn, value);
44652 return *this;
44653 }
44654
44655 ReactorBatch& conn(Connection value)
44656 {
44657 set_batch_val(Properties::conn, int32_t(value));
44658 return *this;
44659 }
44660
44661 ReactorBatch& conn(strings &value)
44662 {
44663 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
44664 return *this;
44665 }
44666
44667 ReactorBatch& conn(std::vector<int32_t> &value)
44668 {
44669 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
44670 return *this;
44671 }
44672
44673 ReactorBatch& conn(std::vector<Connection> &value)
44674 {
44675 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
44676 return *this;
44677 }
44678
44683 strings conn_str()
44684 {
44685 return get_batch_val<strings>(Properties::conn);
44686 }
44687
44688 ReactorBatch& conn_str(string &value)
44689 {
44690 conn(value);
44691 return *this;
44692 }
44693
44694 ReactorBatch& conn_str(strings &value)
44695 {
44696 conn(value);
44697 return *this;
44698 }
44699
44704 std::vector<VectorXd> Rmatrix()
44705 {
44706 return get_batch_valarray<VectorXd>(Properties::Rmatrix);
44707 }
44708
44709 ReactorBatch& Rmatrix(VectorXd &value)
44710 {
44711 set_batch_val<VectorXd>(Properties::Rmatrix, value);
44712 return *this;
44713 }
44714
44719 std::vector<VectorXd> Xmatrix()
44720 {
44721 return get_batch_valarray<VectorXd>(Properties::Xmatrix);
44722 }
44723
44724 ReactorBatch& Xmatrix(VectorXd &value)
44725 {
44726 set_batch_val<VectorXd>(Properties::Xmatrix, value);
44727 return *this;
44728 }
44729
44734 bools Parallel()
44735 {
44736 return get_batch_val<bools>(Properties::Parallel);
44737 }
44738
44739 ReactorBatch& Parallel(bool value)
44740 {
44741 set_batch_val(Properties::Parallel, int32_t(value));
44742 return *this;
44743 }
44744
44745 ReactorBatch& Parallel(bools &value)
44746 {
44747 set_batch_val_for_each<std::vector<int32_t>>(Properties::Parallel, value.begin(), value.end());
44748 return *this;
44749 }
44750
44756 {
44757 return BatchFloat64ArrayProxy(*this, Properties::R);
44758 }
44759
44760 ReactorBatch& R(double value)
44761 {
44762 set_batch_val<double>(Properties::R, value);
44763 return *this;
44764 }
44765
44766 template <typename T>
44767 ReactorBatch& R(T &value)
44768 {
44769 set_batch_val_for_each<T>(Properties::R, value.begin(), value.end());
44770 return *this;
44771 }
44772
44773 template <typename T>
44774 ReactorBatch& R(typename T::iterator it_begin, typename T::iterator it_end)
44775 {
44776 set_batch_val_for_each<T>(Properties::R, it_begin, it_end);
44777 return *this;
44778 }
44779
44785 {
44786 return BatchFloat64ArrayProxy(*this, Properties::X);
44787 }
44788
44789 ReactorBatch& X(double value)
44790 {
44791 set_batch_val<double>(Properties::X, value);
44792 return *this;
44793 }
44794
44795 template <typename T>
44796 ReactorBatch& X(T &value)
44797 {
44798 set_batch_val_for_each<T>(Properties::X, value.begin(), value.end());
44799 return *this;
44800 }
44801
44802 template <typename T>
44803 ReactorBatch& X(typename T::iterator it_begin, typename T::iterator it_end)
44804 {
44805 set_batch_val_for_each<T>(Properties::X, it_begin, it_end);
44806 return *this;
44807 }
44808
44814 {
44815 return BatchFloat64ArrayProxy(*this, Properties::Rp);
44816 }
44817
44818 ReactorBatch& Rp(double value)
44819 {
44820 set_batch_val<double>(Properties::Rp, value);
44821 return *this;
44822 }
44823
44824 template <typename T>
44825 ReactorBatch& Rp(T &value)
44826 {
44827 set_batch_val_for_each<T>(Properties::Rp, value.begin(), value.end());
44828 return *this;
44829 }
44830
44831 template <typename T>
44832 ReactorBatch& Rp(typename T::iterator it_begin, typename T::iterator it_end)
44833 {
44834 set_batch_val_for_each<T>(Properties::Rp, it_begin, it_end);
44835 return *this;
44836 }
44837
44848 std::vector<complex> Z1()
44849 {
44850 return get_batch_complex(Properties::Z1);
44851 }
44852
44853 ReactorBatch& Z1(complex value)
44854 {
44855 set_batch_val(Properties::Z1, value);
44856 return *this;
44857 }
44858
44859 ReactorBatch& Z1(std::vector<complex> &values)
44860 {
44861 set_batch_complex_for_each(Properties::Z1, values);
44862 return *this;
44863 }
44864
44875 std::vector<complex> Z2()
44876 {
44877 return get_batch_complex(Properties::Z2);
44878 }
44879
44880 ReactorBatch& Z2(complex value)
44881 {
44882 set_batch_val(Properties::Z2, value);
44883 return *this;
44884 }
44885
44886 ReactorBatch& Z2(std::vector<complex> &values)
44887 {
44888 set_batch_complex_for_each(Properties::Z2, values);
44889 return *this;
44890 }
44891
44902 std::vector<complex> Z0()
44903 {
44904 return get_batch_complex(Properties::Z0);
44905 }
44906
44907 ReactorBatch& Z0(complex value)
44908 {
44909 set_batch_val(Properties::Z0, value);
44910 return *this;
44911 }
44912
44913 ReactorBatch& Z0(std::vector<complex> &values)
44914 {
44915 set_batch_complex_for_each(Properties::Z0, values);
44916 return *this;
44917 }
44918
44925 std::vector<complex> Z()
44926 {
44927 return get_batch_complex(Properties::Z);
44928 }
44929
44930 ReactorBatch& Z(complex value)
44931 {
44932 set_batch_val(Properties::Z, value);
44933 return *this;
44934 }
44935
44936 ReactorBatch& Z(std::vector<complex> &values)
44937 {
44938 set_batch_complex_for_each(Properties::Z, values);
44939 return *this;
44940 }
44941
44946 strings RCurve()
44947 {
44948 return get_batch_val<strings>(Properties::RCurve);
44949 }
44950
44952 {
44953 set_batch_val(Properties::RCurve, value);
44954 return *this;
44955 }
44956
44957 ReactorBatch& RCurve(const string &value)
44958 {
44959 set_batch_val(Properties::RCurve, value);
44960 return *this;
44961 }
44962
44967 std::vector<dss::obj::XYcurve> RCurve_obj()
44968 {
44969 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::RCurve);
44970 }
44971
44973 {
44974 set_batch_val(Properties::RCurve, value);
44975 return *this;
44976 }
44977
44982 strings LCurve()
44983 {
44984 return get_batch_val<strings>(Properties::LCurve);
44985 }
44986
44988 {
44989 set_batch_val(Properties::LCurve, value);
44990 return *this;
44991 }
44992
44993 ReactorBatch& LCurve(const string &value)
44994 {
44995 set_batch_val(Properties::LCurve, value);
44996 return *this;
44997 }
44998
45003 std::vector<dss::obj::XYcurve> LCurve_obj()
45004 {
45005 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::LCurve);
45006 }
45007
45009 {
45010 set_batch_val(Properties::LCurve, value);
45011 return *this;
45012 }
45013
45019 {
45020 return BatchFloat64ArrayProxy(*this, Properties::LmH);
45021 }
45022
45023 ReactorBatch& LmH(double value)
45024 {
45025 set_batch_val<double>(Properties::LmH, value);
45026 return *this;
45027 }
45028
45029 template <typename T>
45030 ReactorBatch& LmH(T &value)
45031 {
45032 set_batch_val_for_each<T>(Properties::LmH, value.begin(), value.end());
45033 return *this;
45034 }
45035
45036 template <typename T>
45037 ReactorBatch& LmH(typename T::iterator it_begin, typename T::iterator it_end)
45038 {
45039 set_batch_val_for_each<T>(Properties::LmH, it_begin, it_end);
45040 return *this;
45041 }
45042
45048 {
45049 return BatchFloat64ArrayProxy(*this, Properties::normamps);
45050 }
45051
45052 ReactorBatch& normamps(double value)
45053 {
45054 set_batch_val<double>(Properties::normamps, value);
45055 return *this;
45056 }
45057
45058 template <typename T>
45059 ReactorBatch& normamps(T &value)
45060 {
45061 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
45062 return *this;
45063 }
45064
45065 template <typename T>
45066 ReactorBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
45067 {
45068 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
45069 return *this;
45070 }
45071
45077 {
45078 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
45079 }
45080
45081 ReactorBatch& emergamps(double value)
45082 {
45083 set_batch_val<double>(Properties::emergamps, value);
45084 return *this;
45085 }
45086
45087 template <typename T>
45088 ReactorBatch& emergamps(T &value)
45089 {
45090 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
45091 return *this;
45092 }
45093
45094 template <typename T>
45095 ReactorBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
45096 {
45097 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
45098 return *this;
45099 }
45100
45106 {
45107 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
45108 }
45109
45110 ReactorBatch& faultrate(double value)
45111 {
45112 set_batch_val<double>(Properties::faultrate, value);
45113 return *this;
45114 }
45115
45116 template <typename T>
45117 ReactorBatch& faultrate(T &value)
45118 {
45119 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
45120 return *this;
45121 }
45122
45123 template <typename T>
45124 ReactorBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
45125 {
45126 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
45127 return *this;
45128 }
45129
45135 {
45136 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
45137 }
45138
45139 ReactorBatch& pctperm(double value)
45140 {
45141 set_batch_val<double>(Properties::pctperm, value);
45142 return *this;
45143 }
45144
45145 template <typename T>
45146 ReactorBatch& pctperm(T &value)
45147 {
45148 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
45149 return *this;
45150 }
45151
45152 template <typename T>
45153 ReactorBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
45154 {
45155 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
45156 return *this;
45157 }
45158
45164 {
45165 return BatchFloat64ArrayProxy(*this, Properties::repair);
45166 }
45167
45168 ReactorBatch& repair(double value)
45169 {
45170 set_batch_val<double>(Properties::repair, value);
45171 return *this;
45172 }
45173
45174 template <typename T>
45175 ReactorBatch& repair(T &value)
45176 {
45177 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
45178 return *this;
45179 }
45180
45181 template <typename T>
45182 ReactorBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
45183 {
45184 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
45185 return *this;
45186 }
45187
45193 {
45194 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
45195 }
45196
45197 ReactorBatch& basefreq(double value)
45198 {
45199 set_batch_val<double>(Properties::basefreq, value);
45200 return *this;
45201 }
45202
45203 template <typename T>
45204 ReactorBatch& basefreq(T &value)
45205 {
45206 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
45207 return *this;
45208 }
45209
45210 template <typename T>
45211 ReactorBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
45212 {
45213 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
45214 return *this;
45215 }
45216
45221 bools enabled()
45222 {
45223 return get_batch_val<bools>(Properties::enabled);
45224 }
45225
45226 ReactorBatch& enabled(bool value)
45227 {
45228 set_batch_val(Properties::enabled, int32_t(value));
45229 return *this;
45230 }
45231
45232 ReactorBatch& enabled(bools &value)
45233 {
45234 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
45235 return *this;
45236 }
45237
45244 ReactorBatch& like(const string &value)
45245 {
45246 set_batch_val(Properties::like, value.c_str());
45247 return *this;
45248 }
45249
45256 ReactorBatch& like(const char *value)
45257 {
45258 set_batch_val(Properties::like, value);
45259 return *this;
45260 }
45261};
45262
45263
45265{
45266public:
45269
45270 // Shortcuts to class-specific enumerations
45272
45273
45278 DSSBatch(util, CapControl::dss_cls_idx)
45279 {
45280 }
45281
45285 CapControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
45286 DSSBatch(util, CapControl::dss_cls_idx, prop_idx, prop_value)
45287 {
45288 }
45289
45293 CapControlBatch(APIUtil *util, const char* regexp):
45294 DSSBatch(util, CapControl::dss_cls_idx, regexp)
45295 {
45296 }
45297
45298
45299 CapControlBatch& begin_edit()
45300 {
45301 Batch_BeginEdit(pointer, count[0]);
45302 return *this;
45303 }
45304
45305 CapControlBatch& end_edit(int32_t num_edits=1)
45306 {
45307 Batch_EndEdit(pointer, count[0], num_edits);
45308 return *this;
45309 }
45310
45311
45316 strings element()
45317 {
45318 return get_batch_val<strings>(Properties::element);
45319 }
45320
45322 {
45323 set_batch_val(Properties::element, value);
45324 return *this;
45325 }
45326
45327 CapControlBatch& element(const string &value)
45328 {
45329 set_batch_val(Properties::element, value);
45330 return *this;
45331 }
45332
45337 std::vector<dss::obj::DSSObj> element_obj()
45338 {
45339 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::element);
45340 }
45341
45343 {
45344 set_batch_val(Properties::element, value);
45345 return *this;
45346 }
45347
45353 {
45354 return BatchInt32ArrayProxy(*this, Properties::terminal);
45355 }
45356
45357 CapControlBatch& terminal(int32_t value)
45358 {
45359 set_batch_val(Properties::terminal, value);
45360 return *this;
45361 }
45362
45363 template <typename T>
45364 CapControlBatch& terminal(T &value)
45365 {
45366 set_batch_val_for_each<T>(Properties::terminal, value.begin(), value.end());
45367 return *this;
45368 }
45369
45370 template <typename T>
45371 CapControlBatch& terminal(typename T::iterator it_begin, typename T::iterator it_end)
45372 {
45373 set_batch_val_for_each<T>(Properties::terminal, it_begin, it_end);
45374 return *this;
45375 }
45376
45383 strings capacitor()
45384 {
45385 return get_batch_val<strings>(Properties::capacitor);
45386 }
45387
45389 {
45390 set_batch_val(Properties::capacitor, value);
45391 return *this;
45392 }
45393
45394 CapControlBatch& capacitor(const string &value)
45395 {
45396 set_batch_val(Properties::capacitor, value);
45397 return *this;
45398 }
45399
45406 std::vector<dss::obj::Capacitor> capacitor_obj()
45407 {
45408 return get_batch_val<std::vector<dss::obj::Capacitor>>(Properties::capacitor);
45409 }
45410
45412 {
45413 set_batch_val(Properties::capacitor, value);
45414 return *this;
45415 }
45416
45422 {
45423 return BatchInt32ArrayProxy(*this, Properties::type);
45424 }
45425
45426 CapControlBatch& type(string &value)
45427 {
45428 set_batch_val(Properties::type, value);
45429 return *this;
45430 }
45431
45432 CapControlBatch& type(int32_t value)
45433 {
45434 set_batch_val(Properties::type, value);
45435 return *this;
45436 }
45437
45439 {
45440 set_batch_val(Properties::type, int32_t(value));
45441 return *this;
45442 }
45443
45444 CapControlBatch& type(strings &value)
45445 {
45446 set_batch_val_for_each<strings>(Properties::type, value.begin(), value.end());
45447 return *this;
45448 }
45449
45450 CapControlBatch& type(std::vector<int32_t> &value)
45451 {
45452 set_batch_val_for_each<std::vector<int32_t>>(Properties::type, value.begin(), value.end());
45453 return *this;
45454 }
45455
45456 CapControlBatch& type(std::vector<CapControl::CapControlType> &value)
45457 {
45458 set_batch_val_for_each<std::vector<CapControl::CapControlType>>(Properties::type, value.begin(), value.end());
45459 return *this;
45460 }
45461
45466 strings type_str()
45467 {
45468 return get_batch_val<strings>(Properties::type);
45469 }
45470
45471 CapControlBatch& type_str(string &value)
45472 {
45473 type(value);
45474 return *this;
45475 }
45476
45477 CapControlBatch& type_str(strings &value)
45478 {
45479 type(value);
45480 return *this;
45481 }
45482
45488 {
45489 return BatchFloat64ArrayProxy(*this, Properties::PTratio);
45490 }
45491
45492 CapControlBatch& PTratio(double value)
45493 {
45494 set_batch_val<double>(Properties::PTratio, value);
45495 return *this;
45496 }
45497
45498 template <typename T>
45499 CapControlBatch& PTratio(T &value)
45500 {
45501 set_batch_val_for_each<T>(Properties::PTratio, value.begin(), value.end());
45502 return *this;
45503 }
45504
45505 template <typename T>
45506 CapControlBatch& PTratio(typename T::iterator it_begin, typename T::iterator it_end)
45507 {
45508 set_batch_val_for_each<T>(Properties::PTratio, it_begin, it_end);
45509 return *this;
45510 }
45511
45517 {
45518 return BatchFloat64ArrayProxy(*this, Properties::CTratio);
45519 }
45520
45521 CapControlBatch& CTratio(double value)
45522 {
45523 set_batch_val<double>(Properties::CTratio, value);
45524 return *this;
45525 }
45526
45527 template <typename T>
45528 CapControlBatch& CTratio(T &value)
45529 {
45530 set_batch_val_for_each<T>(Properties::CTratio, value.begin(), value.end());
45531 return *this;
45532 }
45533
45534 template <typename T>
45535 CapControlBatch& CTratio(typename T::iterator it_begin, typename T::iterator it_end)
45536 {
45537 set_batch_val_for_each<T>(Properties::CTratio, it_begin, it_end);
45538 return *this;
45539 }
45540
45554 {
45555 return BatchFloat64ArrayProxy(*this, Properties::ONsetting);
45556 }
45557
45558 CapControlBatch& ONsetting(double value)
45559 {
45560 set_batch_val<double>(Properties::ONsetting, value);
45561 return *this;
45562 }
45563
45564 template <typename T>
45565 CapControlBatch& ONsetting(T &value)
45566 {
45567 set_batch_val_for_each<T>(Properties::ONsetting, value.begin(), value.end());
45568 return *this;
45569 }
45570
45571 template <typename T>
45572 CapControlBatch& ONsetting(typename T::iterator it_begin, typename T::iterator it_end)
45573 {
45574 set_batch_val_for_each<T>(Properties::ONsetting, it_begin, it_end);
45575 return *this;
45576 }
45577
45583 {
45584 return BatchFloat64ArrayProxy(*this, Properties::OFFsetting);
45585 }
45586
45587 CapControlBatch& OFFsetting(double value)
45588 {
45589 set_batch_val<double>(Properties::OFFsetting, value);
45590 return *this;
45591 }
45592
45593 template <typename T>
45594 CapControlBatch& OFFsetting(T &value)
45595 {
45596 set_batch_val_for_each<T>(Properties::OFFsetting, value.begin(), value.end());
45597 return *this;
45598 }
45599
45600 template <typename T>
45601 CapControlBatch& OFFsetting(typename T::iterator it_begin, typename T::iterator it_end)
45602 {
45603 set_batch_val_for_each<T>(Properties::OFFsetting, it_begin, it_end);
45604 return *this;
45605 }
45606
45612 {
45613 return BatchFloat64ArrayProxy(*this, Properties::Delay);
45614 }
45615
45616 CapControlBatch& Delay(double value)
45617 {
45618 set_batch_val<double>(Properties::Delay, value);
45619 return *this;
45620 }
45621
45622 template <typename T>
45623 CapControlBatch& Delay(T &value)
45624 {
45625 set_batch_val_for_each<T>(Properties::Delay, value.begin(), value.end());
45626 return *this;
45627 }
45628
45629 template <typename T>
45630 CapControlBatch& Delay(typename T::iterator it_begin, typename T::iterator it_end)
45631 {
45632 set_batch_val_for_each<T>(Properties::Delay, it_begin, it_end);
45633 return *this;
45634 }
45635
45641 {
45642 return get_batch_val<bools>(Properties::VoltOverride);
45643 }
45644
45645 CapControlBatch& VoltOverride(bool value)
45646 {
45647 set_batch_val(Properties::VoltOverride, int32_t(value));
45648 return *this;
45649 }
45650
45651 CapControlBatch& VoltOverride(bools &value)
45652 {
45653 set_batch_val_for_each<std::vector<int32_t>>(Properties::VoltOverride, value.begin(), value.end());
45654 return *this;
45655 }
45656
45662 {
45663 return BatchFloat64ArrayProxy(*this, Properties::Vmax);
45664 }
45665
45666 CapControlBatch& Vmax(double value)
45667 {
45668 set_batch_val<double>(Properties::Vmax, value);
45669 return *this;
45670 }
45671
45672 template <typename T>
45673 CapControlBatch& Vmax(T &value)
45674 {
45675 set_batch_val_for_each<T>(Properties::Vmax, value.begin(), value.end());
45676 return *this;
45677 }
45678
45679 template <typename T>
45680 CapControlBatch& Vmax(typename T::iterator it_begin, typename T::iterator it_end)
45681 {
45682 set_batch_val_for_each<T>(Properties::Vmax, it_begin, it_end);
45683 return *this;
45684 }
45685
45691 {
45692 return BatchFloat64ArrayProxy(*this, Properties::Vmin);
45693 }
45694
45695 CapControlBatch& Vmin(double value)
45696 {
45697 set_batch_val<double>(Properties::Vmin, value);
45698 return *this;
45699 }
45700
45701 template <typename T>
45702 CapControlBatch& Vmin(T &value)
45703 {
45704 set_batch_val_for_each<T>(Properties::Vmin, value.begin(), value.end());
45705 return *this;
45706 }
45707
45708 template <typename T>
45709 CapControlBatch& Vmin(typename T::iterator it_begin, typename T::iterator it_end)
45710 {
45711 set_batch_val_for_each<T>(Properties::Vmin, it_begin, it_end);
45712 return *this;
45713 }
45714
45720 {
45721 return BatchFloat64ArrayProxy(*this, Properties::DelayOFF);
45722 }
45723
45724 CapControlBatch& DelayOFF(double value)
45725 {
45726 set_batch_val<double>(Properties::DelayOFF, value);
45727 return *this;
45728 }
45729
45730 template <typename T>
45731 CapControlBatch& DelayOFF(T &value)
45732 {
45733 set_batch_val_for_each<T>(Properties::DelayOFF, value.begin(), value.end());
45734 return *this;
45735 }
45736
45737 template <typename T>
45738 CapControlBatch& DelayOFF(typename T::iterator it_begin, typename T::iterator it_end)
45739 {
45740 set_batch_val_for_each<T>(Properties::DelayOFF, it_begin, it_end);
45741 return *this;
45742 }
45743
45749 {
45750 return BatchFloat64ArrayProxy(*this, Properties::DeadTime);
45751 }
45752
45753 CapControlBatch& DeadTime(double value)
45754 {
45755 set_batch_val<double>(Properties::DeadTime, value);
45756 return *this;
45757 }
45758
45759 template <typename T>
45760 CapControlBatch& DeadTime(T &value)
45761 {
45762 set_batch_val_for_each<T>(Properties::DeadTime, value.begin(), value.end());
45763 return *this;
45764 }
45765
45766 template <typename T>
45767 CapControlBatch& DeadTime(typename T::iterator it_begin, typename T::iterator it_end)
45768 {
45769 set_batch_val_for_each<T>(Properties::DeadTime, it_begin, it_end);
45770 return *this;
45771 }
45772
45778 {
45779 return BatchInt32ArrayProxy(*this, Properties::CTPhase);
45780 }
45781
45782 CapControlBatch& CTPhase(string &value)
45783 {
45784 set_batch_val(Properties::CTPhase, value);
45785 return *this;
45786 }
45787
45788 CapControlBatch& CTPhase(int32_t value)
45789 {
45790 set_batch_val(Properties::CTPhase, value);
45791 return *this;
45792 }
45793
45794 CapControlBatch& CTPhase(MonitoredPhase value)
45795 {
45796 set_batch_val(Properties::CTPhase, int32_t(value));
45797 return *this;
45798 }
45799
45800 CapControlBatch& CTPhase(strings &value)
45801 {
45802 set_batch_val_for_each<strings>(Properties::CTPhase, value.begin(), value.end());
45803 return *this;
45804 }
45805
45806 CapControlBatch& CTPhase(std::vector<int32_t> &value)
45807 {
45808 set_batch_val_for_each<std::vector<int32_t>>(Properties::CTPhase, value.begin(), value.end());
45809 return *this;
45810 }
45811
45812 CapControlBatch& CTPhase(std::vector<MonitoredPhase> &value)
45813 {
45814 set_batch_val_for_each<std::vector<MonitoredPhase>>(Properties::CTPhase, value.begin(), value.end());
45815 return *this;
45816 }
45817
45822 strings CTPhase_str()
45823 {
45824 return get_batch_val<strings>(Properties::CTPhase);
45825 }
45826
45827 CapControlBatch& CTPhase_str(string &value)
45828 {
45829 CTPhase(value);
45830 return *this;
45831 }
45832
45833 CapControlBatch& CTPhase_str(strings &value)
45834 {
45835 CTPhase(value);
45836 return *this;
45837 }
45838
45844 {
45845 return BatchInt32ArrayProxy(*this, Properties::PTPhase);
45846 }
45847
45848 CapControlBatch& PTPhase(string &value)
45849 {
45850 set_batch_val(Properties::PTPhase, value);
45851 return *this;
45852 }
45853
45854 CapControlBatch& PTPhase(int32_t value)
45855 {
45856 set_batch_val(Properties::PTPhase, value);
45857 return *this;
45858 }
45859
45860 CapControlBatch& PTPhase(MonitoredPhase value)
45861 {
45862 set_batch_val(Properties::PTPhase, int32_t(value));
45863 return *this;
45864 }
45865
45866 CapControlBatch& PTPhase(strings &value)
45867 {
45868 set_batch_val_for_each<strings>(Properties::PTPhase, value.begin(), value.end());
45869 return *this;
45870 }
45871
45872 CapControlBatch& PTPhase(std::vector<int32_t> &value)
45873 {
45874 set_batch_val_for_each<std::vector<int32_t>>(Properties::PTPhase, value.begin(), value.end());
45875 return *this;
45876 }
45877
45878 CapControlBatch& PTPhase(std::vector<MonitoredPhase> &value)
45879 {
45880 set_batch_val_for_each<std::vector<MonitoredPhase>>(Properties::PTPhase, value.begin(), value.end());
45881 return *this;
45882 }
45883
45888 strings PTPhase_str()
45889 {
45890 return get_batch_val<strings>(Properties::PTPhase);
45891 }
45892
45893 CapControlBatch& PTPhase_str(string &value)
45894 {
45895 PTPhase(value);
45896 return *this;
45897 }
45898
45899 CapControlBatch& PTPhase_str(strings &value)
45900 {
45901 PTPhase(value);
45902 return *this;
45903 }
45904
45909 strings VBus()
45910 {
45911 return get_batch_val<strings>(Properties::VBus);
45912 }
45913
45914 CapControlBatch& VBus(const string &value)
45915 {
45916 set_batch_val(Properties::VBus, value.c_str());
45917 return *this;
45918 }
45919
45920 CapControlBatch& VBus(strings &value)
45921 {
45922 set_batch_val_for_each<strings>(Properties::VBus, value.begin(), value.end());
45923 return *this;
45924 }
45925
45930 bools EventLog()
45931 {
45932 return get_batch_val<bools>(Properties::EventLog);
45933 }
45934
45935 CapControlBatch& EventLog(bool value)
45936 {
45937 set_batch_val(Properties::EventLog, int32_t(value));
45938 return *this;
45939 }
45940
45941 CapControlBatch& EventLog(bools &value)
45942 {
45943 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
45944 return *this;
45945 }
45946
45951 strings UserModel()
45952 {
45953 return get_batch_val<strings>(Properties::UserModel);
45954 }
45955
45956 CapControlBatch& UserModel(const string &value)
45957 {
45958 set_batch_val(Properties::UserModel, value.c_str());
45959 return *this;
45960 }
45961
45962 CapControlBatch& UserModel(strings &value)
45963 {
45964 set_batch_val_for_each<strings>(Properties::UserModel, value.begin(), value.end());
45965 return *this;
45966 }
45967
45972 strings UserData()
45973 {
45974 return get_batch_val<strings>(Properties::UserData);
45975 }
45976
45977 CapControlBatch& UserData(const string &value)
45978 {
45979 set_batch_val(Properties::UserData, value.c_str());
45980 return *this;
45981 }
45982
45983 CapControlBatch& UserData(strings &value)
45984 {
45985 set_batch_val_for_each<strings>(Properties::UserData, value.begin(), value.end());
45986 return *this;
45987 }
45988
45994 {
45995 return BatchFloat64ArrayProxy(*this, Properties::pctMinkvar);
45996 }
45997
45998 CapControlBatch& pctMinkvar(double value)
45999 {
46000 set_batch_val<double>(Properties::pctMinkvar, value);
46001 return *this;
46002 }
46003
46004 template <typename T>
46005 CapControlBatch& pctMinkvar(T &value)
46006 {
46007 set_batch_val_for_each<T>(Properties::pctMinkvar, value.begin(), value.end());
46008 return *this;
46009 }
46010
46011 template <typename T>
46012 CapControlBatch& pctMinkvar(typename T::iterator it_begin, typename T::iterator it_end)
46013 {
46014 set_batch_val_for_each<T>(Properties::pctMinkvar, it_begin, it_end);
46015 return *this;
46016 }
46017
46023 {
46024 set_batch_val(Properties::Reset, int32_t(value));
46025 return *this;
46026 }
46027
46033 {
46034 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
46035 }
46036
46037 CapControlBatch& basefreq(double value)
46038 {
46039 set_batch_val<double>(Properties::basefreq, value);
46040 return *this;
46041 }
46042
46043 template <typename T>
46044 CapControlBatch& basefreq(T &value)
46045 {
46046 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
46047 return *this;
46048 }
46049
46050 template <typename T>
46051 CapControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
46052 {
46053 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
46054 return *this;
46055 }
46056
46061 bools enabled()
46062 {
46063 return get_batch_val<bools>(Properties::enabled);
46064 }
46065
46066 CapControlBatch& enabled(bool value)
46067 {
46068 set_batch_val(Properties::enabled, int32_t(value));
46069 return *this;
46070 }
46071
46072 CapControlBatch& enabled(bools &value)
46073 {
46074 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
46075 return *this;
46076 }
46077
46084 CapControlBatch& like(const string &value)
46085 {
46086 set_batch_val(Properties::like, value.c_str());
46087 return *this;
46088 }
46089
46096 CapControlBatch& like(const char *value)
46097 {
46098 set_batch_val(Properties::like, value);
46099 return *this;
46100 }
46101};
46102
46103
46105{
46106public:
46108 typedef Fault BatchElementClass;
46109
46114 DSSBatch(util, Fault::dss_cls_idx)
46115 {
46116 }
46117
46121 FaultBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
46122 DSSBatch(util, Fault::dss_cls_idx, prop_idx, prop_value)
46123 {
46124 }
46125
46129 FaultBatch(APIUtil *util, const char* regexp):
46130 DSSBatch(util, Fault::dss_cls_idx, regexp)
46131 {
46132 }
46133
46134
46135 FaultBatch& begin_edit()
46136 {
46137 Batch_BeginEdit(pointer, count[0]);
46138 return *this;
46139 }
46140
46141 FaultBatch& end_edit(int32_t num_edits=1)
46142 {
46143 Batch_EndEdit(pointer, count[0], num_edits);
46144 return *this;
46145 }
46146
46147
46157 strings bus1()
46158 {
46159 return get_batch_val<strings>(Properties::bus1);
46160 }
46161
46162 FaultBatch& bus1(const string &value)
46163 {
46164 set_batch_val(Properties::bus1, value.c_str());
46165 return *this;
46166 }
46167
46168 FaultBatch& bus1(strings &value)
46169 {
46170 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
46171 return *this;
46172 }
46173
46180 strings bus2()
46181 {
46182 return get_batch_val<strings>(Properties::bus2);
46183 }
46184
46185 FaultBatch& bus2(const string &value)
46186 {
46187 set_batch_val(Properties::bus2, value.c_str());
46188 return *this;
46189 }
46190
46191 FaultBatch& bus2(strings &value)
46192 {
46193 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
46194 return *this;
46195 }
46196
46202 {
46203 return BatchInt32ArrayProxy(*this, Properties::phases);
46204 }
46205
46206 FaultBatch& phases(int32_t value)
46207 {
46208 set_batch_val(Properties::phases, value);
46209 return *this;
46210 }
46211
46212 template <typename T>
46213 FaultBatch& phases(T &value)
46214 {
46215 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
46216 return *this;
46217 }
46218
46219 template <typename T>
46220 FaultBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
46221 {
46222 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
46223 return *this;
46224 }
46225
46231 {
46232 return BatchFloat64ArrayProxy(*this, Properties::r);
46233 }
46234
46235 FaultBatch& r(double value)
46236 {
46237 set_batch_val<double>(Properties::r, value);
46238 return *this;
46239 }
46240
46241 template <typename T>
46242 FaultBatch& r(T &value)
46243 {
46244 set_batch_val_for_each<T>(Properties::r, value.begin(), value.end());
46245 return *this;
46246 }
46247
46248 template <typename T>
46249 FaultBatch& r(typename T::iterator it_begin, typename T::iterator it_end)
46250 {
46251 set_batch_val_for_each<T>(Properties::r, it_begin, it_end);
46252 return *this;
46253 }
46254
46260 {
46261 return BatchFloat64ArrayProxy(*this, Properties::pctstddev);
46262 }
46263
46264 FaultBatch& pctstddev(double value)
46265 {
46266 set_batch_val<double>(Properties::pctstddev, value);
46267 return *this;
46268 }
46269
46270 template <typename T>
46271 FaultBatch& pctstddev(T &value)
46272 {
46273 set_batch_val_for_each<T>(Properties::pctstddev, value.begin(), value.end());
46274 return *this;
46275 }
46276
46277 template <typename T>
46278 FaultBatch& pctstddev(typename T::iterator it_begin, typename T::iterator it_end)
46279 {
46280 set_batch_val_for_each<T>(Properties::pctstddev, it_begin, it_end);
46281 return *this;
46282 }
46283
46288 std::vector<VectorXd> Gmatrix()
46289 {
46290 return get_batch_valarray<VectorXd>(Properties::Gmatrix);
46291 }
46292
46293 FaultBatch& Gmatrix(VectorXd &value)
46294 {
46295 set_batch_val<VectorXd>(Properties::Gmatrix, value);
46296 return *this;
46297 }
46298
46304 {
46305 return BatchFloat64ArrayProxy(*this, Properties::ONtime);
46306 }
46307
46308 FaultBatch& ONtime(double value)
46309 {
46310 set_batch_val<double>(Properties::ONtime, value);
46311 return *this;
46312 }
46313
46314 template <typename T>
46315 FaultBatch& ONtime(T &value)
46316 {
46317 set_batch_val_for_each<T>(Properties::ONtime, value.begin(), value.end());
46318 return *this;
46319 }
46320
46321 template <typename T>
46322 FaultBatch& ONtime(typename T::iterator it_begin, typename T::iterator it_end)
46323 {
46324 set_batch_val_for_each<T>(Properties::ONtime, it_begin, it_end);
46325 return *this;
46326 }
46327
46333 {
46334 return get_batch_val<bools>(Properties::temporary);
46335 }
46336
46337 FaultBatch& temporary(bool value)
46338 {
46339 set_batch_val(Properties::temporary, int32_t(value));
46340 return *this;
46341 }
46342
46343 FaultBatch& temporary(bools &value)
46344 {
46345 set_batch_val_for_each<std::vector<int32_t>>(Properties::temporary, value.begin(), value.end());
46346 return *this;
46347 }
46348
46354 {
46355 return BatchFloat64ArrayProxy(*this, Properties::MinAmps);
46356 }
46357
46358 FaultBatch& MinAmps(double value)
46359 {
46360 set_batch_val<double>(Properties::MinAmps, value);
46361 return *this;
46362 }
46363
46364 template <typename T>
46365 FaultBatch& MinAmps(T &value)
46366 {
46367 set_batch_val_for_each<T>(Properties::MinAmps, value.begin(), value.end());
46368 return *this;
46369 }
46370
46371 template <typename T>
46372 FaultBatch& MinAmps(typename T::iterator it_begin, typename T::iterator it_end)
46373 {
46374 set_batch_val_for_each<T>(Properties::MinAmps, it_begin, it_end);
46375 return *this;
46376 }
46377
46383 {
46384 return BatchFloat64ArrayProxy(*this, Properties::normamps);
46385 }
46386
46387 FaultBatch& normamps(double value)
46388 {
46389 set_batch_val<double>(Properties::normamps, value);
46390 return *this;
46391 }
46392
46393 template <typename T>
46394 FaultBatch& normamps(T &value)
46395 {
46396 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
46397 return *this;
46398 }
46399
46400 template <typename T>
46401 FaultBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
46402 {
46403 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
46404 return *this;
46405 }
46406
46412 {
46413 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
46414 }
46415
46416 FaultBatch& emergamps(double value)
46417 {
46418 set_batch_val<double>(Properties::emergamps, value);
46419 return *this;
46420 }
46421
46422 template <typename T>
46423 FaultBatch& emergamps(T &value)
46424 {
46425 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
46426 return *this;
46427 }
46428
46429 template <typename T>
46430 FaultBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
46431 {
46432 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
46433 return *this;
46434 }
46435
46441 {
46442 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
46443 }
46444
46445 FaultBatch& faultrate(double value)
46446 {
46447 set_batch_val<double>(Properties::faultrate, value);
46448 return *this;
46449 }
46450
46451 template <typename T>
46452 FaultBatch& faultrate(T &value)
46453 {
46454 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
46455 return *this;
46456 }
46457
46458 template <typename T>
46459 FaultBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
46460 {
46461 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
46462 return *this;
46463 }
46464
46470 {
46471 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
46472 }
46473
46474 FaultBatch& pctperm(double value)
46475 {
46476 set_batch_val<double>(Properties::pctperm, value);
46477 return *this;
46478 }
46479
46480 template <typename T>
46481 FaultBatch& pctperm(T &value)
46482 {
46483 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
46484 return *this;
46485 }
46486
46487 template <typename T>
46488 FaultBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
46489 {
46490 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
46491 return *this;
46492 }
46493
46499 {
46500 return BatchFloat64ArrayProxy(*this, Properties::repair);
46501 }
46502
46503 FaultBatch& repair(double value)
46504 {
46505 set_batch_val<double>(Properties::repair, value);
46506 return *this;
46507 }
46508
46509 template <typename T>
46510 FaultBatch& repair(T &value)
46511 {
46512 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
46513 return *this;
46514 }
46515
46516 template <typename T>
46517 FaultBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
46518 {
46519 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
46520 return *this;
46521 }
46522
46528 {
46529 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
46530 }
46531
46532 FaultBatch& basefreq(double value)
46533 {
46534 set_batch_val<double>(Properties::basefreq, value);
46535 return *this;
46536 }
46537
46538 template <typename T>
46539 FaultBatch& basefreq(T &value)
46540 {
46541 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
46542 return *this;
46543 }
46544
46545 template <typename T>
46546 FaultBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
46547 {
46548 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
46549 return *this;
46550 }
46551
46556 bools enabled()
46557 {
46558 return get_batch_val<bools>(Properties::enabled);
46559 }
46560
46561 FaultBatch& enabled(bool value)
46562 {
46563 set_batch_val(Properties::enabled, int32_t(value));
46564 return *this;
46565 }
46566
46567 FaultBatch& enabled(bools &value)
46568 {
46569 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
46570 return *this;
46571 }
46572
46579 FaultBatch& like(const string &value)
46580 {
46581 set_batch_val(Properties::like, value.c_str());
46582 return *this;
46583 }
46584
46591 FaultBatch& like(const char *value)
46592 {
46593 set_batch_val(Properties::like, value);
46594 return *this;
46595 }
46596};
46597
46598
46600{
46601public:
46604
46605 // Shortcuts to class-specific enumerations
46608
46609
46614 DSSBatch(util, Generator::dss_cls_idx)
46615 {
46616 }
46617
46621 GeneratorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
46622 DSSBatch(util, Generator::dss_cls_idx, prop_idx, prop_value)
46623 {
46624 }
46625
46629 GeneratorBatch(APIUtil *util, const char* regexp):
46630 DSSBatch(util, Generator::dss_cls_idx, regexp)
46631 {
46632 }
46633
46634
46635 GeneratorBatch& begin_edit()
46636 {
46637 Batch_BeginEdit(pointer, count[0]);
46638 return *this;
46639 }
46640
46641 GeneratorBatch& end_edit(int32_t num_edits=1)
46642 {
46643 Batch_EndEdit(pointer, count[0], num_edits);
46644 return *this;
46645 }
46646
46647
46653 {
46654 return BatchInt32ArrayProxy(*this, Properties::phases);
46655 }
46656
46657 GeneratorBatch& phases(int32_t value)
46658 {
46659 set_batch_val(Properties::phases, value);
46660 return *this;
46661 }
46662
46663 template <typename T>
46664 GeneratorBatch& phases(T &value)
46665 {
46666 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
46667 return *this;
46668 }
46669
46670 template <typename T>
46671 GeneratorBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
46672 {
46673 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
46674 return *this;
46675 }
46676
46681 strings bus1()
46682 {
46683 return get_batch_val<strings>(Properties::bus1);
46684 }
46685
46686 GeneratorBatch& bus1(const string &value)
46687 {
46688 set_batch_val(Properties::bus1, value.c_str());
46689 return *this;
46690 }
46691
46692 GeneratorBatch& bus1(strings &value)
46693 {
46694 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
46695 return *this;
46696 }
46697
46703 {
46704 return BatchFloat64ArrayProxy(*this, Properties::kv);
46705 }
46706
46707 GeneratorBatch& kv(double value)
46708 {
46709 set_batch_val<double>(Properties::kv, value);
46710 return *this;
46711 }
46712
46713 template <typename T>
46714 GeneratorBatch& kv(T &value)
46715 {
46716 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
46717 return *this;
46718 }
46719
46720 template <typename T>
46721 GeneratorBatch& kv(typename T::iterator it_begin, typename T::iterator it_end)
46722 {
46723 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
46724 return *this;
46725 }
46726
46733 {
46734 return BatchFloat64ArrayProxy(*this, Properties::kW);
46735 }
46736
46737 GeneratorBatch& kW(double value)
46738 {
46739 set_batch_val<double>(Properties::kW, value);
46740 return *this;
46741 }
46742
46743 template <typename T>
46744 GeneratorBatch& kW(T &value)
46745 {
46746 set_batch_val_for_each<T>(Properties::kW, value.begin(), value.end());
46747 return *this;
46748 }
46749
46750 template <typename T>
46751 GeneratorBatch& kW(typename T::iterator it_begin, typename T::iterator it_end)
46752 {
46753 set_batch_val_for_each<T>(Properties::kW, it_begin, it_end);
46754 return *this;
46755 }
46756
46765 {
46766 return BatchFloat64ArrayProxy(*this, Properties::pf);
46767 }
46768
46769 GeneratorBatch& pf(double value)
46770 {
46771 set_batch_val<double>(Properties::pf, value);
46772 return *this;
46773 }
46774
46775 template <typename T>
46776 GeneratorBatch& pf(T &value)
46777 {
46778 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
46779 return *this;
46780 }
46781
46782 template <typename T>
46783 GeneratorBatch& pf(typename T::iterator it_begin, typename T::iterator it_end)
46784 {
46785 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
46786 return *this;
46787 }
46788
46794 {
46795 return BatchFloat64ArrayProxy(*this, Properties::kvar);
46796 }
46797
46798 GeneratorBatch& kvar(double value)
46799 {
46800 set_batch_val<double>(Properties::kvar, value);
46801 return *this;
46802 }
46803
46804 template <typename T>
46805 GeneratorBatch& kvar(T &value)
46806 {
46807 set_batch_val_for_each<T>(Properties::kvar, value.begin(), value.end());
46808 return *this;
46809 }
46810
46811 template <typename T>
46812 GeneratorBatch& kvar(typename T::iterator it_begin, typename T::iterator it_end)
46813 {
46814 set_batch_val_for_each<T>(Properties::kvar, it_begin, it_end);
46815 return *this;
46816 }
46817
46831 {
46832 return BatchInt32ArrayProxy(*this, Properties::model);
46833 }
46834
46835 GeneratorBatch& model(int32_t value)
46836 {
46837 set_batch_val(Properties::model, value);
46838 return *this;
46839 }
46840
46841 template <typename T>
46842 GeneratorBatch& model(T &value)
46843 {
46844 set_batch_val_for_each<T>(Properties::model, value.begin(), value.end());
46845 return *this;
46846 }
46847
46848 template <typename T>
46849 GeneratorBatch& model(typename T::iterator it_begin, typename T::iterator it_end)
46850 {
46851 set_batch_val_for_each<T>(Properties::model, it_begin, it_end);
46852 return *this;
46853 }
46854
46860 {
46861 return BatchFloat64ArrayProxy(*this, Properties::Vminpu);
46862 }
46863
46864 GeneratorBatch& Vminpu(double value)
46865 {
46866 set_batch_val<double>(Properties::Vminpu, value);
46867 return *this;
46868 }
46869
46870 template <typename T>
46871 GeneratorBatch& Vminpu(T &value)
46872 {
46873 set_batch_val_for_each<T>(Properties::Vminpu, value.begin(), value.end());
46874 return *this;
46875 }
46876
46877 template <typename T>
46878 GeneratorBatch& Vminpu(typename T::iterator it_begin, typename T::iterator it_end)
46879 {
46880 set_batch_val_for_each<T>(Properties::Vminpu, it_begin, it_end);
46881 return *this;
46882 }
46883
46889 {
46890 return BatchFloat64ArrayProxy(*this, Properties::Vmaxpu);
46891 }
46892
46893 GeneratorBatch& Vmaxpu(double value)
46894 {
46895 set_batch_val<double>(Properties::Vmaxpu, value);
46896 return *this;
46897 }
46898
46899 template <typename T>
46900 GeneratorBatch& Vmaxpu(T &value)
46901 {
46902 set_batch_val_for_each<T>(Properties::Vmaxpu, value.begin(), value.end());
46903 return *this;
46904 }
46905
46906 template <typename T>
46907 GeneratorBatch& Vmaxpu(typename T::iterator it_begin, typename T::iterator it_end)
46908 {
46909 set_batch_val_for_each<T>(Properties::Vmaxpu, it_begin, it_end);
46910 return *this;
46911 }
46912
46917 strings yearly()
46918 {
46919 return get_batch_val<strings>(Properties::yearly);
46920 }
46921
46923 {
46924 set_batch_val(Properties::yearly, value);
46925 return *this;
46926 }
46927
46928 GeneratorBatch& yearly(const string &value)
46929 {
46930 set_batch_val(Properties::yearly, value);
46931 return *this;
46932 }
46933
46938 std::vector<dss::obj::LoadShape> yearly_obj()
46939 {
46940 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::yearly);
46941 }
46942
46944 {
46945 set_batch_val(Properties::yearly, value);
46946 return *this;
46947 }
46948
46953 strings daily()
46954 {
46955 return get_batch_val<strings>(Properties::daily);
46956 }
46957
46959 {
46960 set_batch_val(Properties::daily, value);
46961 return *this;
46962 }
46963
46964 GeneratorBatch& daily(const string &value)
46965 {
46966 set_batch_val(Properties::daily, value);
46967 return *this;
46968 }
46969
46974 std::vector<dss::obj::LoadShape> daily_obj()
46975 {
46976 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::daily);
46977 }
46978
46980 {
46981 set_batch_val(Properties::daily, value);
46982 return *this;
46983 }
46984
46989 strings duty()
46990 {
46991 return get_batch_val<strings>(Properties::duty);
46992 }
46993
46995 {
46996 set_batch_val(Properties::duty, value);
46997 return *this;
46998 }
46999
47000 GeneratorBatch& duty(const string &value)
47001 {
47002 set_batch_val(Properties::duty, value);
47003 return *this;
47004 }
47005
47010 std::vector<dss::obj::LoadShape> duty_obj()
47011 {
47012 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::duty);
47013 }
47014
47016 {
47017 set_batch_val(Properties::duty, value);
47018 return *this;
47019 }
47020
47026 {
47027 return BatchInt32ArrayProxy(*this, Properties::dispmode);
47028 }
47029
47030 GeneratorBatch& dispmode(string &value)
47031 {
47032 set_batch_val(Properties::dispmode, value);
47033 return *this;
47034 }
47035
47036 GeneratorBatch& dispmode(int32_t value)
47037 {
47038 set_batch_val(Properties::dispmode, value);
47039 return *this;
47040 }
47041
47043 {
47044 set_batch_val(Properties::dispmode, int32_t(value));
47045 return *this;
47046 }
47047
47048 GeneratorBatch& dispmode(strings &value)
47049 {
47050 set_batch_val_for_each<strings>(Properties::dispmode, value.begin(), value.end());
47051 return *this;
47052 }
47053
47054 GeneratorBatch& dispmode(std::vector<int32_t> &value)
47055 {
47056 set_batch_val_for_each<std::vector<int32_t>>(Properties::dispmode, value.begin(), value.end());
47057 return *this;
47058 }
47059
47060 GeneratorBatch& dispmode(std::vector<Generator::GeneratorDispatchMode> &value)
47061 {
47062 set_batch_val_for_each<std::vector<Generator::GeneratorDispatchMode>>(Properties::dispmode, value.begin(), value.end());
47063 return *this;
47064 }
47065
47071 {
47072 return get_batch_val<strings>(Properties::dispmode);
47073 }
47074
47075 GeneratorBatch& dispmode_str(string &value)
47076 {
47077 dispmode(value);
47078 return *this;
47079 }
47080
47081 GeneratorBatch& dispmode_str(strings &value)
47082 {
47083 dispmode(value);
47084 return *this;
47085 }
47086
47094 {
47095 return BatchFloat64ArrayProxy(*this, Properties::dispvalue);
47096 }
47097
47098 GeneratorBatch& dispvalue(double value)
47099 {
47100 set_batch_val<double>(Properties::dispvalue, value);
47101 return *this;
47102 }
47103
47104 template <typename T>
47105 GeneratorBatch& dispvalue(T &value)
47106 {
47107 set_batch_val_for_each<T>(Properties::dispvalue, value.begin(), value.end());
47108 return *this;
47109 }
47110
47111 template <typename T>
47112 GeneratorBatch& dispvalue(typename T::iterator it_begin, typename T::iterator it_end)
47113 {
47114 set_batch_val_for_each<T>(Properties::dispvalue, it_begin, it_end);
47115 return *this;
47116 }
47117
47123 {
47124 return BatchInt32ArrayProxy(*this, Properties::conn);
47125 }
47126
47127 GeneratorBatch& conn(string &value)
47128 {
47129 set_batch_val(Properties::conn, value);
47130 return *this;
47131 }
47132
47133 GeneratorBatch& conn(int32_t value)
47134 {
47135 set_batch_val(Properties::conn, value);
47136 return *this;
47137 }
47138
47139 GeneratorBatch& conn(Connection value)
47140 {
47141 set_batch_val(Properties::conn, int32_t(value));
47142 return *this;
47143 }
47144
47145 GeneratorBatch& conn(strings &value)
47146 {
47147 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
47148 return *this;
47149 }
47150
47151 GeneratorBatch& conn(std::vector<int32_t> &value)
47152 {
47153 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
47154 return *this;
47155 }
47156
47157 GeneratorBatch& conn(std::vector<Connection> &value)
47158 {
47159 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
47160 return *this;
47161 }
47162
47167 strings conn_str()
47168 {
47169 return get_batch_val<strings>(Properties::conn);
47170 }
47171
47172 GeneratorBatch& conn_str(string &value)
47173 {
47174 conn(value);
47175 return *this;
47176 }
47177
47178 GeneratorBatch& conn_str(strings &value)
47179 {
47180 conn(value);
47181 return *this;
47182 }
47183
47189 {
47190 return BatchInt32ArrayProxy(*this, Properties::status);
47191 }
47192
47193 GeneratorBatch& status(string &value)
47194 {
47195 set_batch_val(Properties::status, value);
47196 return *this;
47197 }
47198
47199 GeneratorBatch& status(int32_t value)
47200 {
47201 set_batch_val(Properties::status, value);
47202 return *this;
47203 }
47204
47206 {
47207 set_batch_val(Properties::status, int32_t(value));
47208 return *this;
47209 }
47210
47211 GeneratorBatch& status(strings &value)
47212 {
47213 set_batch_val_for_each<strings>(Properties::status, value.begin(), value.end());
47214 return *this;
47215 }
47216
47217 GeneratorBatch& status(std::vector<int32_t> &value)
47218 {
47219 set_batch_val_for_each<std::vector<int32_t>>(Properties::status, value.begin(), value.end());
47220 return *this;
47221 }
47222
47223 GeneratorBatch& status(std::vector<Generator::GeneratorStatus> &value)
47224 {
47225 set_batch_val_for_each<std::vector<Generator::GeneratorStatus>>(Properties::status, value.begin(), value.end());
47226 return *this;
47227 }
47228
47233 strings status_str()
47234 {
47235 return get_batch_val<strings>(Properties::status);
47236 }
47237
47238 GeneratorBatch& status_str(string &value)
47239 {
47240 status(value);
47241 return *this;
47242 }
47243
47244 GeneratorBatch& status_str(strings &value)
47245 {
47246 status(value);
47247 return *this;
47248 }
47249
47255 {
47256 return BatchInt32ArrayProxy(*this, Properties::cls);
47257 }
47258
47259 GeneratorBatch& cls(int32_t value)
47260 {
47261 set_batch_val(Properties::cls, value);
47262 return *this;
47263 }
47264
47265 template <typename T>
47266 GeneratorBatch& cls(T &value)
47267 {
47268 set_batch_val_for_each<T>(Properties::cls, value.begin(), value.end());
47269 return *this;
47270 }
47271
47272 template <typename T>
47273 GeneratorBatch& cls(typename T::iterator it_begin, typename T::iterator it_end)
47274 {
47275 set_batch_val_for_each<T>(Properties::cls, it_begin, it_end);
47276 return *this;
47277 }
47278
47284 {
47285 return BatchFloat64ArrayProxy(*this, Properties::Vpu);
47286 }
47287
47288 GeneratorBatch& Vpu(double value)
47289 {
47290 set_batch_val<double>(Properties::Vpu, value);
47291 return *this;
47292 }
47293
47294 template <typename T>
47295 GeneratorBatch& Vpu(T &value)
47296 {
47297 set_batch_val_for_each<T>(Properties::Vpu, value.begin(), value.end());
47298 return *this;
47299 }
47300
47301 template <typename T>
47302 GeneratorBatch& Vpu(typename T::iterator it_begin, typename T::iterator it_end)
47303 {
47304 set_batch_val_for_each<T>(Properties::Vpu, it_begin, it_end);
47305 return *this;
47306 }
47307
47313 {
47314 return BatchFloat64ArrayProxy(*this, Properties::maxkvar);
47315 }
47316
47317 GeneratorBatch& maxkvar(double value)
47318 {
47319 set_batch_val<double>(Properties::maxkvar, value);
47320 return *this;
47321 }
47322
47323 template <typename T>
47324 GeneratorBatch& maxkvar(T &value)
47325 {
47326 set_batch_val_for_each<T>(Properties::maxkvar, value.begin(), value.end());
47327 return *this;
47328 }
47329
47330 template <typename T>
47331 GeneratorBatch& maxkvar(typename T::iterator it_begin, typename T::iterator it_end)
47332 {
47333 set_batch_val_for_each<T>(Properties::maxkvar, it_begin, it_end);
47334 return *this;
47335 }
47336
47342 {
47343 return BatchFloat64ArrayProxy(*this, Properties::minkvar);
47344 }
47345
47346 GeneratorBatch& minkvar(double value)
47347 {
47348 set_batch_val<double>(Properties::minkvar, value);
47349 return *this;
47350 }
47351
47352 template <typename T>
47353 GeneratorBatch& minkvar(T &value)
47354 {
47355 set_batch_val_for_each<T>(Properties::minkvar, value.begin(), value.end());
47356 return *this;
47357 }
47358
47359 template <typename T>
47360 GeneratorBatch& minkvar(typename T::iterator it_begin, typename T::iterator it_end)
47361 {
47362 set_batch_val_for_each<T>(Properties::minkvar, it_begin, it_end);
47363 return *this;
47364 }
47365
47371 {
47372 return BatchFloat64ArrayProxy(*this, Properties::pvfactor);
47373 }
47374
47375 GeneratorBatch& pvfactor(double value)
47376 {
47377 set_batch_val<double>(Properties::pvfactor, value);
47378 return *this;
47379 }
47380
47381 template <typename T>
47382 GeneratorBatch& pvfactor(T &value)
47383 {
47384 set_batch_val_for_each<T>(Properties::pvfactor, value.begin(), value.end());
47385 return *this;
47386 }
47387
47388 template <typename T>
47389 GeneratorBatch& pvfactor(typename T::iterator it_begin, typename T::iterator it_end)
47390 {
47391 set_batch_val_for_each<T>(Properties::pvfactor, it_begin, it_end);
47392 return *this;
47393 }
47394
47399 bools forceon()
47400 {
47401 return get_batch_val<bools>(Properties::forceon);
47402 }
47403
47404 GeneratorBatch& forceon(bool value)
47405 {
47406 set_batch_val(Properties::forceon, int32_t(value));
47407 return *this;
47408 }
47409
47410 GeneratorBatch& forceon(bools &value)
47411 {
47412 set_batch_val_for_each<std::vector<int32_t>>(Properties::forceon, value.begin(), value.end());
47413 return *this;
47414 }
47415
47421 {
47422 return BatchFloat64ArrayProxy(*this, Properties::kVA);
47423 }
47424
47425 GeneratorBatch& kVA(double value)
47426 {
47427 set_batch_val<double>(Properties::kVA, value);
47428 return *this;
47429 }
47430
47431 template <typename T>
47432 GeneratorBatch& kVA(T &value)
47433 {
47434 set_batch_val_for_each<T>(Properties::kVA, value.begin(), value.end());
47435 return *this;
47436 }
47437
47438 template <typename T>
47439 GeneratorBatch& kVA(typename T::iterator it_begin, typename T::iterator it_end)
47440 {
47441 set_batch_val_for_each<T>(Properties::kVA, it_begin, it_end);
47442 return *this;
47443 }
47444
47450 {
47451 return BatchFloat64ArrayProxy(*this, Properties::MVA);
47452 }
47453
47454 GeneratorBatch& MVA(double value)
47455 {
47456 set_batch_val<double>(Properties::MVA, value);
47457 return *this;
47458 }
47459
47460 template <typename T>
47461 GeneratorBatch& MVA(T &value)
47462 {
47463 set_batch_val_for_each<T>(Properties::MVA, value.begin(), value.end());
47464 return *this;
47465 }
47466
47467 template <typename T>
47468 GeneratorBatch& MVA(typename T::iterator it_begin, typename T::iterator it_end)
47469 {
47470 set_batch_val_for_each<T>(Properties::MVA, it_begin, it_end);
47471 return *this;
47472 }
47473
47479 {
47480 return BatchFloat64ArrayProxy(*this, Properties::Xd);
47481 }
47482
47483 GeneratorBatch& Xd(double value)
47484 {
47485 set_batch_val<double>(Properties::Xd, value);
47486 return *this;
47487 }
47488
47489 template <typename T>
47490 GeneratorBatch& Xd(T &value)
47491 {
47492 set_batch_val_for_each<T>(Properties::Xd, value.begin(), value.end());
47493 return *this;
47494 }
47495
47496 template <typename T>
47497 GeneratorBatch& Xd(typename T::iterator it_begin, typename T::iterator it_end)
47498 {
47499 set_batch_val_for_each<T>(Properties::Xd, it_begin, it_end);
47500 return *this;
47501 }
47502
47508 {
47509 return BatchFloat64ArrayProxy(*this, Properties::Xdp);
47510 }
47511
47512 GeneratorBatch& Xdp(double value)
47513 {
47514 set_batch_val<double>(Properties::Xdp, value);
47515 return *this;
47516 }
47517
47518 template <typename T>
47519 GeneratorBatch& Xdp(T &value)
47520 {
47521 set_batch_val_for_each<T>(Properties::Xdp, value.begin(), value.end());
47522 return *this;
47523 }
47524
47525 template <typename T>
47526 GeneratorBatch& Xdp(typename T::iterator it_begin, typename T::iterator it_end)
47527 {
47528 set_batch_val_for_each<T>(Properties::Xdp, it_begin, it_end);
47529 return *this;
47530 }
47531
47537 {
47538 return BatchFloat64ArrayProxy(*this, Properties::Xdpp);
47539 }
47540
47541 GeneratorBatch& Xdpp(double value)
47542 {
47543 set_batch_val<double>(Properties::Xdpp, value);
47544 return *this;
47545 }
47546
47547 template <typename T>
47548 GeneratorBatch& Xdpp(T &value)
47549 {
47550 set_batch_val_for_each<T>(Properties::Xdpp, value.begin(), value.end());
47551 return *this;
47552 }
47553
47554 template <typename T>
47555 GeneratorBatch& Xdpp(typename T::iterator it_begin, typename T::iterator it_end)
47556 {
47557 set_batch_val_for_each<T>(Properties::Xdpp, it_begin, it_end);
47558 return *this;
47559 }
47560
47566 {
47567 return BatchFloat64ArrayProxy(*this, Properties::H);
47568 }
47569
47570 GeneratorBatch& H(double value)
47571 {
47572 set_batch_val<double>(Properties::H, value);
47573 return *this;
47574 }
47575
47576 template <typename T>
47577 GeneratorBatch& H(T &value)
47578 {
47579 set_batch_val_for_each<T>(Properties::H, value.begin(), value.end());
47580 return *this;
47581 }
47582
47583 template <typename T>
47584 GeneratorBatch& H(typename T::iterator it_begin, typename T::iterator it_end)
47585 {
47586 set_batch_val_for_each<T>(Properties::H, it_begin, it_end);
47587 return *this;
47588 }
47589
47595 {
47596 return BatchFloat64ArrayProxy(*this, Properties::D);
47597 }
47598
47599 GeneratorBatch& D(double value)
47600 {
47601 set_batch_val<double>(Properties::D, value);
47602 return *this;
47603 }
47604
47605 template <typename T>
47606 GeneratorBatch& D(T &value)
47607 {
47608 set_batch_val_for_each<T>(Properties::D, value.begin(), value.end());
47609 return *this;
47610 }
47611
47612 template <typename T>
47613 GeneratorBatch& D(typename T::iterator it_begin, typename T::iterator it_end)
47614 {
47615 set_batch_val_for_each<T>(Properties::D, it_begin, it_end);
47616 return *this;
47617 }
47618
47623 strings UserModel()
47624 {
47625 return get_batch_val<strings>(Properties::UserModel);
47626 }
47627
47628 GeneratorBatch& UserModel(const string &value)
47629 {
47630 set_batch_val(Properties::UserModel, value.c_str());
47631 return *this;
47632 }
47633
47634 GeneratorBatch& UserModel(strings &value)
47635 {
47636 set_batch_val_for_each<strings>(Properties::UserModel, value.begin(), value.end());
47637 return *this;
47638 }
47639
47644 strings UserData()
47645 {
47646 return get_batch_val<strings>(Properties::UserData);
47647 }
47648
47649 GeneratorBatch& UserData(const string &value)
47650 {
47651 set_batch_val(Properties::UserData, value.c_str());
47652 return *this;
47653 }
47654
47655 GeneratorBatch& UserData(strings &value)
47656 {
47657 set_batch_val_for_each<strings>(Properties::UserData, value.begin(), value.end());
47658 return *this;
47659 }
47660
47665 strings ShaftModel()
47666 {
47667 return get_batch_val<strings>(Properties::ShaftModel);
47668 }
47669
47670 GeneratorBatch& ShaftModel(const string &value)
47671 {
47672 set_batch_val(Properties::ShaftModel, value.c_str());
47673 return *this;
47674 }
47675
47676 GeneratorBatch& ShaftModel(strings &value)
47677 {
47678 set_batch_val_for_each<strings>(Properties::ShaftModel, value.begin(), value.end());
47679 return *this;
47680 }
47681
47686 strings ShaftData()
47687 {
47688 return get_batch_val<strings>(Properties::ShaftData);
47689 }
47690
47691 GeneratorBatch& ShaftData(const string &value)
47692 {
47693 set_batch_val(Properties::ShaftData, value.c_str());
47694 return *this;
47695 }
47696
47697 GeneratorBatch& ShaftData(strings &value)
47698 {
47699 set_batch_val_for_each<strings>(Properties::ShaftData, value.begin(), value.end());
47700 return *this;
47701 }
47702
47708 {
47709 return BatchFloat64ArrayProxy(*this, Properties::DutyStart);
47710 }
47711
47712 GeneratorBatch& DutyStart(double value)
47713 {
47714 set_batch_val<double>(Properties::DutyStart, value);
47715 return *this;
47716 }
47717
47718 template <typename T>
47719 GeneratorBatch& DutyStart(T &value)
47720 {
47721 set_batch_val_for_each<T>(Properties::DutyStart, value.begin(), value.end());
47722 return *this;
47723 }
47724
47725 template <typename T>
47726 GeneratorBatch& DutyStart(typename T::iterator it_begin, typename T::iterator it_end)
47727 {
47728 set_batch_val_for_each<T>(Properties::DutyStart, it_begin, it_end);
47729 return *this;
47730 }
47731
47737 {
47738 return get_batch_val<bools>(Properties::debugtrace);
47739 }
47740
47741 GeneratorBatch& debugtrace(bool value)
47742 {
47743 set_batch_val(Properties::debugtrace, int32_t(value));
47744 return *this;
47745 }
47746
47747 GeneratorBatch& debugtrace(bools &value)
47748 {
47749 set_batch_val_for_each<std::vector<int32_t>>(Properties::debugtrace, value.begin(), value.end());
47750 return *this;
47751 }
47752
47757 bools Balanced()
47758 {
47759 return get_batch_val<bools>(Properties::Balanced);
47760 }
47761
47762 GeneratorBatch& Balanced(bool value)
47763 {
47764 set_batch_val(Properties::Balanced, int32_t(value));
47765 return *this;
47766 }
47767
47768 GeneratorBatch& Balanced(bools &value)
47769 {
47770 set_batch_val_for_each<std::vector<int32_t>>(Properties::Balanced, value.begin(), value.end());
47771 return *this;
47772 }
47773
47779 {
47780 return BatchFloat64ArrayProxy(*this, Properties::XRdp);
47781 }
47782
47783 GeneratorBatch& XRdp(double value)
47784 {
47785 set_batch_val<double>(Properties::XRdp, value);
47786 return *this;
47787 }
47788
47789 template <typename T>
47790 GeneratorBatch& XRdp(T &value)
47791 {
47792 set_batch_val_for_each<T>(Properties::XRdp, value.begin(), value.end());
47793 return *this;
47794 }
47795
47796 template <typename T>
47797 GeneratorBatch& XRdp(typename T::iterator it_begin, typename T::iterator it_end)
47798 {
47799 set_batch_val_for_each<T>(Properties::XRdp, it_begin, it_end);
47800 return *this;
47801 }
47802
47807 bools UseFuel()
47808 {
47809 return get_batch_val<bools>(Properties::UseFuel);
47810 }
47811
47812 GeneratorBatch& UseFuel(bool value)
47813 {
47814 set_batch_val(Properties::UseFuel, int32_t(value));
47815 return *this;
47816 }
47817
47818 GeneratorBatch& UseFuel(bools &value)
47819 {
47820 set_batch_val_for_each<std::vector<int32_t>>(Properties::UseFuel, value.begin(), value.end());
47821 return *this;
47822 }
47823
47829 {
47830 return BatchFloat64ArrayProxy(*this, Properties::FuelkWh);
47831 }
47832
47833 GeneratorBatch& FuelkWh(double value)
47834 {
47835 set_batch_val<double>(Properties::FuelkWh, value);
47836 return *this;
47837 }
47838
47839 template <typename T>
47840 GeneratorBatch& FuelkWh(T &value)
47841 {
47842 set_batch_val_for_each<T>(Properties::FuelkWh, value.begin(), value.end());
47843 return *this;
47844 }
47845
47846 template <typename T>
47847 GeneratorBatch& FuelkWh(typename T::iterator it_begin, typename T::iterator it_end)
47848 {
47849 set_batch_val_for_each<T>(Properties::FuelkWh, it_begin, it_end);
47850 return *this;
47851 }
47852
47858 {
47859 return BatchFloat64ArrayProxy(*this, Properties::pctFuel);
47860 }
47861
47862 GeneratorBatch& pctFuel(double value)
47863 {
47864 set_batch_val<double>(Properties::pctFuel, value);
47865 return *this;
47866 }
47867
47868 template <typename T>
47869 GeneratorBatch& pctFuel(T &value)
47870 {
47871 set_batch_val_for_each<T>(Properties::pctFuel, value.begin(), value.end());
47872 return *this;
47873 }
47874
47875 template <typename T>
47876 GeneratorBatch& pctFuel(typename T::iterator it_begin, typename T::iterator it_end)
47877 {
47878 set_batch_val_for_each<T>(Properties::pctFuel, it_begin, it_end);
47879 return *this;
47880 }
47881
47887 {
47888 return BatchFloat64ArrayProxy(*this, Properties::pctReserve);
47889 }
47890
47891 GeneratorBatch& pctReserve(double value)
47892 {
47893 set_batch_val<double>(Properties::pctReserve, value);
47894 return *this;
47895 }
47896
47897 template <typename T>
47898 GeneratorBatch& pctReserve(T &value)
47899 {
47900 set_batch_val_for_each<T>(Properties::pctReserve, value.begin(), value.end());
47901 return *this;
47902 }
47903
47904 template <typename T>
47905 GeneratorBatch& pctReserve(typename T::iterator it_begin, typename T::iterator it_end)
47906 {
47907 set_batch_val_for_each<T>(Properties::pctReserve, it_begin, it_end);
47908 return *this;
47909 }
47910
47916 {
47917 set_batch_val(Properties::Refuel, int32_t(value));
47918 return *this;
47919 }
47920
47925 strings spectrum()
47926 {
47927 return get_batch_val<strings>(Properties::spectrum);
47928 }
47929
47931 {
47932 set_batch_val(Properties::spectrum, value);
47933 return *this;
47934 }
47935
47936 GeneratorBatch& spectrum(const string &value)
47937 {
47938 set_batch_val(Properties::spectrum, value);
47939 return *this;
47940 }
47941
47946 std::vector<dss::obj::Spectrum> spectrum_obj()
47947 {
47948 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
47949 }
47950
47952 {
47953 set_batch_val(Properties::spectrum, value);
47954 return *this;
47955 }
47956
47962 {
47963 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
47964 }
47965
47966 GeneratorBatch& basefreq(double value)
47967 {
47968 set_batch_val<double>(Properties::basefreq, value);
47969 return *this;
47970 }
47971
47972 template <typename T>
47973 GeneratorBatch& basefreq(T &value)
47974 {
47975 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
47976 return *this;
47977 }
47978
47979 template <typename T>
47980 GeneratorBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
47981 {
47982 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
47983 return *this;
47984 }
47985
47990 bools enabled()
47991 {
47992 return get_batch_val<bools>(Properties::enabled);
47993 }
47994
47995 GeneratorBatch& enabled(bool value)
47996 {
47997 set_batch_val(Properties::enabled, int32_t(value));
47998 return *this;
47999 }
48000
48001 GeneratorBatch& enabled(bools &value)
48002 {
48003 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
48004 return *this;
48005 }
48006
48013 GeneratorBatch& like(const string &value)
48014 {
48015 set_batch_val(Properties::like, value.c_str());
48016 return *this;
48017 }
48018
48025 GeneratorBatch& like(const char *value)
48026 {
48027 set_batch_val(Properties::like, value);
48028 return *this;
48029 }
48030};
48031
48032
48034{
48035public:
48038
48043 DSSBatch(util, GenDispatcher::dss_cls_idx)
48044 {
48045 }
48046
48050 GenDispatcherBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
48051 DSSBatch(util, GenDispatcher::dss_cls_idx, prop_idx, prop_value)
48052 {
48053 }
48054
48058 GenDispatcherBatch(APIUtil *util, const char* regexp):
48059 DSSBatch(util, GenDispatcher::dss_cls_idx, regexp)
48060 {
48061 }
48062
48063
48064 GenDispatcherBatch& begin_edit()
48065 {
48066 Batch_BeginEdit(pointer, count[0]);
48067 return *this;
48068 }
48069
48070 GenDispatcherBatch& end_edit(int32_t num_edits=1)
48071 {
48072 Batch_EndEdit(pointer, count[0], num_edits);
48073 return *this;
48074 }
48075
48076
48081 strings Element()
48082 {
48083 return get_batch_val<strings>(Properties::Element);
48084 }
48085
48087 {
48088 set_batch_val(Properties::Element, value);
48089 return *this;
48090 }
48091
48092 GenDispatcherBatch& Element(const string &value)
48093 {
48094 set_batch_val(Properties::Element, value);
48095 return *this;
48096 }
48097
48102 std::vector<dss::obj::DSSObj> Element_obj()
48103 {
48104 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::Element);
48105 }
48106
48108 {
48109 set_batch_val(Properties::Element, value);
48110 return *this;
48111 }
48112
48118 {
48119 return BatchInt32ArrayProxy(*this, Properties::Terminal);
48120 }
48121
48122 GenDispatcherBatch& Terminal(int32_t value)
48123 {
48124 set_batch_val(Properties::Terminal, value);
48125 return *this;
48126 }
48127
48128 template <typename T>
48129 GenDispatcherBatch& Terminal(T &value)
48130 {
48131 set_batch_val_for_each<T>(Properties::Terminal, value.begin(), value.end());
48132 return *this;
48133 }
48134
48135 template <typename T>
48136 GenDispatcherBatch& Terminal(typename T::iterator it_begin, typename T::iterator it_end)
48137 {
48138 set_batch_val_for_each<T>(Properties::Terminal, it_begin, it_end);
48139 return *this;
48140 }
48141
48147 {
48148 return BatchFloat64ArrayProxy(*this, Properties::kWLimit);
48149 }
48150
48151 GenDispatcherBatch& kWLimit(double value)
48152 {
48153 set_batch_val<double>(Properties::kWLimit, value);
48154 return *this;
48155 }
48156
48157 template <typename T>
48158 GenDispatcherBatch& kWLimit(T &value)
48159 {
48160 set_batch_val_for_each<T>(Properties::kWLimit, value.begin(), value.end());
48161 return *this;
48162 }
48163
48164 template <typename T>
48165 GenDispatcherBatch& kWLimit(typename T::iterator it_begin, typename T::iterator it_end)
48166 {
48167 set_batch_val_for_each<T>(Properties::kWLimit, it_begin, it_end);
48168 return *this;
48169 }
48170
48176 {
48177 return BatchFloat64ArrayProxy(*this, Properties::kWBand);
48178 }
48179
48180 GenDispatcherBatch& kWBand(double value)
48181 {
48182 set_batch_val<double>(Properties::kWBand, value);
48183 return *this;
48184 }
48185
48186 template <typename T>
48187 GenDispatcherBatch& kWBand(T &value)
48188 {
48189 set_batch_val_for_each<T>(Properties::kWBand, value.begin(), value.end());
48190 return *this;
48191 }
48192
48193 template <typename T>
48194 GenDispatcherBatch& kWBand(typename T::iterator it_begin, typename T::iterator it_end)
48195 {
48196 set_batch_val_for_each<T>(Properties::kWBand, it_begin, it_end);
48197 return *this;
48198 }
48199
48205 {
48206 return BatchFloat64ArrayProxy(*this, Properties::kvarlimit);
48207 }
48208
48209 GenDispatcherBatch& kvarlimit(double value)
48210 {
48211 set_batch_val<double>(Properties::kvarlimit, value);
48212 return *this;
48213 }
48214
48215 template <typename T>
48216 GenDispatcherBatch& kvarlimit(T &value)
48217 {
48218 set_batch_val_for_each<T>(Properties::kvarlimit, value.begin(), value.end());
48219 return *this;
48220 }
48221
48222 template <typename T>
48223 GenDispatcherBatch& kvarlimit(typename T::iterator it_begin, typename T::iterator it_end)
48224 {
48225 set_batch_val_for_each<T>(Properties::kvarlimit, it_begin, it_end);
48226 return *this;
48227 }
48228
48233 std::vector<strings> GenList()
48234 {
48235 return get_batch_valarray<strings>(Properties::GenList);
48236 }
48237
48238 GenDispatcherBatch& GenList(strings &value)
48239 {
48240 set_batch_val(Properties::GenList, value);
48241 return *this;
48242 }
48243
48248 std::vector<VectorXd> Weights()
48249 {
48250 return get_batch_valarray<VectorXd>(Properties::Weights);
48251 }
48252
48253 GenDispatcherBatch& Weights(VectorXd &value)
48254 {
48255 set_batch_val<VectorXd>(Properties::Weights, value);
48256 return *this;
48257 }
48258
48264 {
48265 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
48266 }
48267
48268 GenDispatcherBatch& basefreq(double value)
48269 {
48270 set_batch_val<double>(Properties::basefreq, value);
48271 return *this;
48272 }
48273
48274 template <typename T>
48275 GenDispatcherBatch& basefreq(T &value)
48276 {
48277 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
48278 return *this;
48279 }
48280
48281 template <typename T>
48282 GenDispatcherBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
48283 {
48284 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
48285 return *this;
48286 }
48287
48292 bools enabled()
48293 {
48294 return get_batch_val<bools>(Properties::enabled);
48295 }
48296
48297 GenDispatcherBatch& enabled(bool value)
48298 {
48299 set_batch_val(Properties::enabled, int32_t(value));
48300 return *this;
48301 }
48302
48303 GenDispatcherBatch& enabled(bools &value)
48304 {
48305 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
48306 return *this;
48307 }
48308
48315 GenDispatcherBatch& like(const string &value)
48316 {
48317 set_batch_val(Properties::like, value.c_str());
48318 return *this;
48319 }
48320
48327 GenDispatcherBatch& like(const char *value)
48328 {
48329 set_batch_val(Properties::like, value);
48330 return *this;
48331 }
48332};
48333
48334
48336{
48337public:
48339 typedef Storage BatchElementClass;
48340
48341 // Shortcuts to class-specific enumerations
48344
48345
48350 DSSBatch(util, Storage::dss_cls_idx)
48351 {
48352 }
48353
48357 StorageBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
48358 DSSBatch(util, Storage::dss_cls_idx, prop_idx, prop_value)
48359 {
48360 }
48361
48365 StorageBatch(APIUtil *util, const char* regexp):
48366 DSSBatch(util, Storage::dss_cls_idx, regexp)
48367 {
48368 }
48369
48370
48371 StorageBatch& begin_edit()
48372 {
48373 Batch_BeginEdit(pointer, count[0]);
48374 return *this;
48375 }
48376
48377 StorageBatch& end_edit(int32_t num_edits=1)
48378 {
48379 Batch_EndEdit(pointer, count[0], num_edits);
48380 return *this;
48381 }
48382
48383
48389 {
48390 return BatchInt32ArrayProxy(*this, Properties::phases);
48391 }
48392
48393 StorageBatch& phases(int32_t value)
48394 {
48395 set_batch_val(Properties::phases, value);
48396 return *this;
48397 }
48398
48399 template <typename T>
48400 StorageBatch& phases(T &value)
48401 {
48402 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
48403 return *this;
48404 }
48405
48406 template <typename T>
48407 StorageBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
48408 {
48409 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
48410 return *this;
48411 }
48412
48417 strings bus1()
48418 {
48419 return get_batch_val<strings>(Properties::bus1);
48420 }
48421
48422 StorageBatch& bus1(const string &value)
48423 {
48424 set_batch_val(Properties::bus1, value.c_str());
48425 return *this;
48426 }
48427
48428 StorageBatch& bus1(strings &value)
48429 {
48430 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
48431 return *this;
48432 }
48433
48443 {
48444 return BatchFloat64ArrayProxy(*this, Properties::kv);
48445 }
48446
48447 StorageBatch& kv(double value)
48448 {
48449 set_batch_val<double>(Properties::kv, value);
48450 return *this;
48451 }
48452
48453 template <typename T>
48454 StorageBatch& kv(T &value)
48455 {
48456 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
48457 return *this;
48458 }
48459
48460 template <typename T>
48461 StorageBatch& kv(typename T::iterator it_begin, typename T::iterator it_end)
48462 {
48463 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
48464 return *this;
48465 }
48466
48472 {
48473 return BatchInt32ArrayProxy(*this, Properties::conn);
48474 }
48475
48476 StorageBatch& conn(string &value)
48477 {
48478 set_batch_val(Properties::conn, value);
48479 return *this;
48480 }
48481
48482 StorageBatch& conn(int32_t value)
48483 {
48484 set_batch_val(Properties::conn, value);
48485 return *this;
48486 }
48487
48488 StorageBatch& conn(Connection value)
48489 {
48490 set_batch_val(Properties::conn, int32_t(value));
48491 return *this;
48492 }
48493
48494 StorageBatch& conn(strings &value)
48495 {
48496 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
48497 return *this;
48498 }
48499
48500 StorageBatch& conn(std::vector<int32_t> &value)
48501 {
48502 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
48503 return *this;
48504 }
48505
48506 StorageBatch& conn(std::vector<Connection> &value)
48507 {
48508 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
48509 return *this;
48510 }
48511
48516 strings conn_str()
48517 {
48518 return get_batch_val<strings>(Properties::conn);
48519 }
48520
48521 StorageBatch& conn_str(string &value)
48522 {
48523 conn(value);
48524 return *this;
48525 }
48526
48527 StorageBatch& conn_str(strings &value)
48528 {
48529 conn(value);
48530 return *this;
48531 }
48532
48538 {
48539 return BatchFloat64ArrayProxy(*this, Properties::kW);
48540 }
48541
48542 StorageBatch& kW(double value)
48543 {
48544 set_batch_val<double>(Properties::kW, value);
48545 return *this;
48546 }
48547
48548 template <typename T>
48549 StorageBatch& kW(T &value)
48550 {
48551 set_batch_val_for_each<T>(Properties::kW, value.begin(), value.end());
48552 return *this;
48553 }
48554
48555 template <typename T>
48556 StorageBatch& kW(typename T::iterator it_begin, typename T::iterator it_end)
48557 {
48558 set_batch_val_for_each<T>(Properties::kW, it_begin, it_end);
48559 return *this;
48560 }
48561
48567 {
48568 return BatchFloat64ArrayProxy(*this, Properties::kvar);
48569 }
48570
48571 StorageBatch& kvar(double value)
48572 {
48573 set_batch_val<double>(Properties::kvar, value);
48574 return *this;
48575 }
48576
48577 template <typename T>
48578 StorageBatch& kvar(T &value)
48579 {
48580 set_batch_val_for_each<T>(Properties::kvar, value.begin(), value.end());
48581 return *this;
48582 }
48583
48584 template <typename T>
48585 StorageBatch& kvar(typename T::iterator it_begin, typename T::iterator it_end)
48586 {
48587 set_batch_val_for_each<T>(Properties::kvar, it_begin, it_end);
48588 return *this;
48589 }
48590
48600 {
48601 return BatchFloat64ArrayProxy(*this, Properties::pf);
48602 }
48603
48604 StorageBatch& pf(double value)
48605 {
48606 set_batch_val<double>(Properties::pf, value);
48607 return *this;
48608 }
48609
48610 template <typename T>
48611 StorageBatch& pf(T &value)
48612 {
48613 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
48614 return *this;
48615 }
48616
48617 template <typename T>
48618 StorageBatch& pf(typename T::iterator it_begin, typename T::iterator it_end)
48619 {
48620 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
48621 return *this;
48622 }
48623
48629 {
48630 return BatchFloat64ArrayProxy(*this, Properties::kVA);
48631 }
48632
48633 StorageBatch& kVA(double value)
48634 {
48635 set_batch_val<double>(Properties::kVA, value);
48636 return *this;
48637 }
48638
48639 template <typename T>
48640 StorageBatch& kVA(T &value)
48641 {
48642 set_batch_val_for_each<T>(Properties::kVA, value.begin(), value.end());
48643 return *this;
48644 }
48645
48646 template <typename T>
48647 StorageBatch& kVA(typename T::iterator it_begin, typename T::iterator it_end)
48648 {
48649 set_batch_val_for_each<T>(Properties::kVA, it_begin, it_end);
48650 return *this;
48651 }
48652
48658 {
48659 return BatchFloat64ArrayProxy(*this, Properties::pctCutin);
48660 }
48661
48662 StorageBatch& pctCutin(double value)
48663 {
48664 set_batch_val<double>(Properties::pctCutin, value);
48665 return *this;
48666 }
48667
48668 template <typename T>
48669 StorageBatch& pctCutin(T &value)
48670 {
48671 set_batch_val_for_each<T>(Properties::pctCutin, value.begin(), value.end());
48672 return *this;
48673 }
48674
48675 template <typename T>
48676 StorageBatch& pctCutin(typename T::iterator it_begin, typename T::iterator it_end)
48677 {
48678 set_batch_val_for_each<T>(Properties::pctCutin, it_begin, it_end);
48679 return *this;
48680 }
48681
48687 {
48688 return BatchFloat64ArrayProxy(*this, Properties::pctCutout);
48689 }
48690
48691 StorageBatch& pctCutout(double value)
48692 {
48693 set_batch_val<double>(Properties::pctCutout, value);
48694 return *this;
48695 }
48696
48697 template <typename T>
48698 StorageBatch& pctCutout(T &value)
48699 {
48700 set_batch_val_for_each<T>(Properties::pctCutout, value.begin(), value.end());
48701 return *this;
48702 }
48703
48704 template <typename T>
48705 StorageBatch& pctCutout(typename T::iterator it_begin, typename T::iterator it_end)
48706 {
48707 set_batch_val_for_each<T>(Properties::pctCutout, it_begin, it_end);
48708 return *this;
48709 }
48710
48715 strings EffCurve()
48716 {
48717 return get_batch_val<strings>(Properties::EffCurve);
48718 }
48719
48721 {
48722 set_batch_val(Properties::EffCurve, value);
48723 return *this;
48724 }
48725
48726 StorageBatch& EffCurve(const string &value)
48727 {
48728 set_batch_val(Properties::EffCurve, value);
48729 return *this;
48730 }
48731
48736 std::vector<dss::obj::XYcurve> EffCurve_obj()
48737 {
48738 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::EffCurve);
48739 }
48740
48742 {
48743 set_batch_val(Properties::EffCurve, value);
48744 return *this;
48745 }
48746
48752 {
48753 return get_batch_val<bools>(Properties::VarFollowInverter);
48754 }
48755
48756 StorageBatch& VarFollowInverter(bool value)
48757 {
48758 set_batch_val(Properties::VarFollowInverter, int32_t(value));
48759 return *this;
48760 }
48761
48762 StorageBatch& VarFollowInverter(bools &value)
48763 {
48764 set_batch_val_for_each<std::vector<int32_t>>(Properties::VarFollowInverter, value.begin(), value.end());
48765 return *this;
48766 }
48767
48773 {
48774 return BatchFloat64ArrayProxy(*this, Properties::kvarMax);
48775 }
48776
48777 StorageBatch& kvarMax(double value)
48778 {
48779 set_batch_val<double>(Properties::kvarMax, value);
48780 return *this;
48781 }
48782
48783 template <typename T>
48784 StorageBatch& kvarMax(T &value)
48785 {
48786 set_batch_val_for_each<T>(Properties::kvarMax, value.begin(), value.end());
48787 return *this;
48788 }
48789
48790 template <typename T>
48791 StorageBatch& kvarMax(typename T::iterator it_begin, typename T::iterator it_end)
48792 {
48793 set_batch_val_for_each<T>(Properties::kvarMax, it_begin, it_end);
48794 return *this;
48795 }
48796
48802 {
48803 return BatchFloat64ArrayProxy(*this, Properties::kvarMaxAbs);
48804 }
48805
48806 StorageBatch& kvarMaxAbs(double value)
48807 {
48808 set_batch_val<double>(Properties::kvarMaxAbs, value);
48809 return *this;
48810 }
48811
48812 template <typename T>
48813 StorageBatch& kvarMaxAbs(T &value)
48814 {
48815 set_batch_val_for_each<T>(Properties::kvarMaxAbs, value.begin(), value.end());
48816 return *this;
48817 }
48818
48819 template <typename T>
48820 StorageBatch& kvarMaxAbs(typename T::iterator it_begin, typename T::iterator it_end)
48821 {
48822 set_batch_val_for_each<T>(Properties::kvarMaxAbs, it_begin, it_end);
48823 return *this;
48824 }
48825
48831 {
48832 return get_batch_val<bools>(Properties::WattPriority);
48833 }
48834
48835 StorageBatch& WattPriority(bool value)
48836 {
48837 set_batch_val(Properties::WattPriority, int32_t(value));
48838 return *this;
48839 }
48840
48841 StorageBatch& WattPriority(bools &value)
48842 {
48843 set_batch_val_for_each<std::vector<int32_t>>(Properties::WattPriority, value.begin(), value.end());
48844 return *this;
48845 }
48846
48852 {
48853 return get_batch_val<bools>(Properties::PFPriority);
48854 }
48855
48856 StorageBatch& PFPriority(bool value)
48857 {
48858 set_batch_val(Properties::PFPriority, int32_t(value));
48859 return *this;
48860 }
48861
48862 StorageBatch& PFPriority(bools &value)
48863 {
48864 set_batch_val_for_each<std::vector<int32_t>>(Properties::PFPriority, value.begin(), value.end());
48865 return *this;
48866 }
48867
48873 {
48874 return BatchFloat64ArrayProxy(*this, Properties::pctPminNoVars);
48875 }
48876
48877 StorageBatch& pctPminNoVars(double value)
48878 {
48879 set_batch_val<double>(Properties::pctPminNoVars, value);
48880 return *this;
48881 }
48882
48883 template <typename T>
48884 StorageBatch& pctPminNoVars(T &value)
48885 {
48886 set_batch_val_for_each<T>(Properties::pctPminNoVars, value.begin(), value.end());
48887 return *this;
48888 }
48889
48890 template <typename T>
48891 StorageBatch& pctPminNoVars(typename T::iterator it_begin, typename T::iterator it_end)
48892 {
48893 set_batch_val_for_each<T>(Properties::pctPminNoVars, it_begin, it_end);
48894 return *this;
48895 }
48896
48902 {
48903 return BatchFloat64ArrayProxy(*this, Properties::pctPminkvarMax);
48904 }
48905
48906 StorageBatch& pctPminkvarMax(double value)
48907 {
48908 set_batch_val<double>(Properties::pctPminkvarMax, value);
48909 return *this;
48910 }
48911
48912 template <typename T>
48913 StorageBatch& pctPminkvarMax(T &value)
48914 {
48915 set_batch_val_for_each<T>(Properties::pctPminkvarMax, value.begin(), value.end());
48916 return *this;
48917 }
48918
48919 template <typename T>
48920 StorageBatch& pctPminkvarMax(typename T::iterator it_begin, typename T::iterator it_end)
48921 {
48922 set_batch_val_for_each<T>(Properties::pctPminkvarMax, it_begin, it_end);
48923 return *this;
48924 }
48925
48931 {
48932 return BatchFloat64ArrayProxy(*this, Properties::kWrated);
48933 }
48934
48935 StorageBatch& kWrated(double value)
48936 {
48937 set_batch_val<double>(Properties::kWrated, value);
48938 return *this;
48939 }
48940
48941 template <typename T>
48942 StorageBatch& kWrated(T &value)
48943 {
48944 set_batch_val_for_each<T>(Properties::kWrated, value.begin(), value.end());
48945 return *this;
48946 }
48947
48948 template <typename T>
48949 StorageBatch& kWrated(typename T::iterator it_begin, typename T::iterator it_end)
48950 {
48951 set_batch_val_for_each<T>(Properties::kWrated, it_begin, it_end);
48952 return *this;
48953 }
48954
48960 {
48961 return BatchFloat64ArrayProxy(*this, Properties::pctkWrated);
48962 }
48963
48964 StorageBatch& pctkWrated(double value)
48965 {
48966 set_batch_val<double>(Properties::pctkWrated, value);
48967 return *this;
48968 }
48969
48970 template <typename T>
48971 StorageBatch& pctkWrated(T &value)
48972 {
48973 set_batch_val_for_each<T>(Properties::pctkWrated, value.begin(), value.end());
48974 return *this;
48975 }
48976
48977 template <typename T>
48978 StorageBatch& pctkWrated(typename T::iterator it_begin, typename T::iterator it_end)
48979 {
48980 set_batch_val_for_each<T>(Properties::pctkWrated, it_begin, it_end);
48981 return *this;
48982 }
48983
48989 {
48990 return BatchFloat64ArrayProxy(*this, Properties::kWhrated);
48991 }
48992
48993 StorageBatch& kWhrated(double value)
48994 {
48995 set_batch_val<double>(Properties::kWhrated, value);
48996 return *this;
48997 }
48998
48999 template <typename T>
49000 StorageBatch& kWhrated(T &value)
49001 {
49002 set_batch_val_for_each<T>(Properties::kWhrated, value.begin(), value.end());
49003 return *this;
49004 }
49005
49006 template <typename T>
49007 StorageBatch& kWhrated(typename T::iterator it_begin, typename T::iterator it_end)
49008 {
49009 set_batch_val_for_each<T>(Properties::kWhrated, it_begin, it_end);
49010 return *this;
49011 }
49012
49018 {
49019 return BatchFloat64ArrayProxy(*this, Properties::kWhstored);
49020 }
49021
49022 StorageBatch& kWhstored(double value)
49023 {
49024 set_batch_val<double>(Properties::kWhstored, value);
49025 return *this;
49026 }
49027
49028 template <typename T>
49029 StorageBatch& kWhstored(T &value)
49030 {
49031 set_batch_val_for_each<T>(Properties::kWhstored, value.begin(), value.end());
49032 return *this;
49033 }
49034
49035 template <typename T>
49036 StorageBatch& kWhstored(typename T::iterator it_begin, typename T::iterator it_end)
49037 {
49038 set_batch_val_for_each<T>(Properties::kWhstored, it_begin, it_end);
49039 return *this;
49040 }
49041
49047 {
49048 return BatchFloat64ArrayProxy(*this, Properties::pctstored);
49049 }
49050
49051 StorageBatch& pctstored(double value)
49052 {
49053 set_batch_val<double>(Properties::pctstored, value);
49054 return *this;
49055 }
49056
49057 template <typename T>
49058 StorageBatch& pctstored(T &value)
49059 {
49060 set_batch_val_for_each<T>(Properties::pctstored, value.begin(), value.end());
49061 return *this;
49062 }
49063
49064 template <typename T>
49065 StorageBatch& pctstored(typename T::iterator it_begin, typename T::iterator it_end)
49066 {
49067 set_batch_val_for_each<T>(Properties::pctstored, it_begin, it_end);
49068 return *this;
49069 }
49070
49077 {
49078 return BatchFloat64ArrayProxy(*this, Properties::pctreserve);
49079 }
49080
49081 StorageBatch& pctreserve(double value)
49082 {
49083 set_batch_val<double>(Properties::pctreserve, value);
49084 return *this;
49085 }
49086
49087 template <typename T>
49088 StorageBatch& pctreserve(T &value)
49089 {
49090 set_batch_val_for_each<T>(Properties::pctreserve, value.begin(), value.end());
49091 return *this;
49092 }
49093
49094 template <typename T>
49095 StorageBatch& pctreserve(typename T::iterator it_begin, typename T::iterator it_end)
49096 {
49097 set_batch_val_for_each<T>(Properties::pctreserve, it_begin, it_end);
49098 return *this;
49099 }
49100
49106 {
49107 return BatchInt32ArrayProxy(*this, Properties::State);
49108 }
49109
49110 StorageBatch& State(string &value)
49111 {
49112 set_batch_val(Properties::State, value);
49113 return *this;
49114 }
49115
49116 StorageBatch& State(int32_t value)
49117 {
49118 set_batch_val(Properties::State, value);
49119 return *this;
49120 }
49121
49123 {
49124 set_batch_val(Properties::State, int32_t(value));
49125 return *this;
49126 }
49127
49128 StorageBatch& State(strings &value)
49129 {
49130 set_batch_val_for_each<strings>(Properties::State, value.begin(), value.end());
49131 return *this;
49132 }
49133
49134 StorageBatch& State(std::vector<int32_t> &value)
49135 {
49136 set_batch_val_for_each<std::vector<int32_t>>(Properties::State, value.begin(), value.end());
49137 return *this;
49138 }
49139
49140 StorageBatch& State(std::vector<Storage::StorageState> &value)
49141 {
49142 set_batch_val_for_each<std::vector<Storage::StorageState>>(Properties::State, value.begin(), value.end());
49143 return *this;
49144 }
49145
49150 strings State_str()
49151 {
49152 return get_batch_val<strings>(Properties::State);
49153 }
49154
49155 StorageBatch& State_str(string &value)
49156 {
49157 State(value);
49158 return *this;
49159 }
49160
49161 StorageBatch& State_str(strings &value)
49162 {
49163 State(value);
49164 return *this;
49165 }
49166
49172 {
49173 return BatchFloat64ArrayProxy(*this, Properties::pctDischarge);
49174 }
49175
49176 StorageBatch& pctDischarge(double value)
49177 {
49178 set_batch_val<double>(Properties::pctDischarge, value);
49179 return *this;
49180 }
49181
49182 template <typename T>
49183 StorageBatch& pctDischarge(T &value)
49184 {
49185 set_batch_val_for_each<T>(Properties::pctDischarge, value.begin(), value.end());
49186 return *this;
49187 }
49188
49189 template <typename T>
49190 StorageBatch& pctDischarge(typename T::iterator it_begin, typename T::iterator it_end)
49191 {
49192 set_batch_val_for_each<T>(Properties::pctDischarge, it_begin, it_end);
49193 return *this;
49194 }
49195
49201 {
49202 return BatchFloat64ArrayProxy(*this, Properties::pctCharge);
49203 }
49204
49205 StorageBatch& pctCharge(double value)
49206 {
49207 set_batch_val<double>(Properties::pctCharge, value);
49208 return *this;
49209 }
49210
49211 template <typename T>
49212 StorageBatch& pctCharge(T &value)
49213 {
49214 set_batch_val_for_each<T>(Properties::pctCharge, value.begin(), value.end());
49215 return *this;
49216 }
49217
49218 template <typename T>
49219 StorageBatch& pctCharge(typename T::iterator it_begin, typename T::iterator it_end)
49220 {
49221 set_batch_val_for_each<T>(Properties::pctCharge, it_begin, it_end);
49222 return *this;
49223 }
49224
49230 {
49231 return BatchFloat64ArrayProxy(*this, Properties::pctEffCharge);
49232 }
49233
49234 StorageBatch& pctEffCharge(double value)
49235 {
49236 set_batch_val<double>(Properties::pctEffCharge, value);
49237 return *this;
49238 }
49239
49240 template <typename T>
49241 StorageBatch& pctEffCharge(T &value)
49242 {
49243 set_batch_val_for_each<T>(Properties::pctEffCharge, value.begin(), value.end());
49244 return *this;
49245 }
49246
49247 template <typename T>
49248 StorageBatch& pctEffCharge(typename T::iterator it_begin, typename T::iterator it_end)
49249 {
49250 set_batch_val_for_each<T>(Properties::pctEffCharge, it_begin, it_end);
49251 return *this;
49252 }
49253
49259 {
49260 return BatchFloat64ArrayProxy(*this, Properties::pctEffDischarge);
49261 }
49262
49263 StorageBatch& pctEffDischarge(double value)
49264 {
49265 set_batch_val<double>(Properties::pctEffDischarge, value);
49266 return *this;
49267 }
49268
49269 template <typename T>
49270 StorageBatch& pctEffDischarge(T &value)
49271 {
49272 set_batch_val_for_each<T>(Properties::pctEffDischarge, value.begin(), value.end());
49273 return *this;
49274 }
49275
49276 template <typename T>
49277 StorageBatch& pctEffDischarge(typename T::iterator it_begin, typename T::iterator it_end)
49278 {
49279 set_batch_val_for_each<T>(Properties::pctEffDischarge, it_begin, it_end);
49280 return *this;
49281 }
49282
49288 {
49289 return BatchFloat64ArrayProxy(*this, Properties::pctIdlingkW);
49290 }
49291
49292 StorageBatch& pctIdlingkW(double value)
49293 {
49294 set_batch_val<double>(Properties::pctIdlingkW, value);
49295 return *this;
49296 }
49297
49298 template <typename T>
49299 StorageBatch& pctIdlingkW(T &value)
49300 {
49301 set_batch_val_for_each<T>(Properties::pctIdlingkW, value.begin(), value.end());
49302 return *this;
49303 }
49304
49305 template <typename T>
49306 StorageBatch& pctIdlingkW(typename T::iterator it_begin, typename T::iterator it_end)
49307 {
49308 set_batch_val_for_each<T>(Properties::pctIdlingkW, it_begin, it_end);
49309 return *this;
49310 }
49311
49317 {
49318 return BatchFloat64ArrayProxy(*this, Properties::pctR);
49319 }
49320
49321 StorageBatch& pctR(double value)
49322 {
49323 set_batch_val<double>(Properties::pctR, value);
49324 return *this;
49325 }
49326
49327 template <typename T>
49328 StorageBatch& pctR(T &value)
49329 {
49330 set_batch_val_for_each<T>(Properties::pctR, value.begin(), value.end());
49331 return *this;
49332 }
49333
49334 template <typename T>
49335 StorageBatch& pctR(typename T::iterator it_begin, typename T::iterator it_end)
49336 {
49337 set_batch_val_for_each<T>(Properties::pctR, it_begin, it_end);
49338 return *this;
49339 }
49340
49346 {
49347 return BatchFloat64ArrayProxy(*this, Properties::pctX);
49348 }
49349
49350 StorageBatch& pctX(double value)
49351 {
49352 set_batch_val<double>(Properties::pctX, value);
49353 return *this;
49354 }
49355
49356 template <typename T>
49357 StorageBatch& pctX(T &value)
49358 {
49359 set_batch_val_for_each<T>(Properties::pctX, value.begin(), value.end());
49360 return *this;
49361 }
49362
49363 template <typename T>
49364 StorageBatch& pctX(typename T::iterator it_begin, typename T::iterator it_end)
49365 {
49366 set_batch_val_for_each<T>(Properties::pctX, it_begin, it_end);
49367 return *this;
49368 }
49369
49379 {
49380 return BatchInt32ArrayProxy(*this, Properties::model);
49381 }
49382
49383 StorageBatch& model(int32_t value)
49384 {
49385 set_batch_val(Properties::model, value);
49386 return *this;
49387 }
49388
49389 template <typename T>
49390 StorageBatch& model(T &value)
49391 {
49392 set_batch_val_for_each<T>(Properties::model, value.begin(), value.end());
49393 return *this;
49394 }
49395
49396 template <typename T>
49397 StorageBatch& model(typename T::iterator it_begin, typename T::iterator it_end)
49398 {
49399 set_batch_val_for_each<T>(Properties::model, it_begin, it_end);
49400 return *this;
49401 }
49402
49408 {
49409 return BatchFloat64ArrayProxy(*this, Properties::Vminpu);
49410 }
49411
49412 StorageBatch& Vminpu(double value)
49413 {
49414 set_batch_val<double>(Properties::Vminpu, value);
49415 return *this;
49416 }
49417
49418 template <typename T>
49419 StorageBatch& Vminpu(T &value)
49420 {
49421 set_batch_val_for_each<T>(Properties::Vminpu, value.begin(), value.end());
49422 return *this;
49423 }
49424
49425 template <typename T>
49426 StorageBatch& Vminpu(typename T::iterator it_begin, typename T::iterator it_end)
49427 {
49428 set_batch_val_for_each<T>(Properties::Vminpu, it_begin, it_end);
49429 return *this;
49430 }
49431
49437 {
49438 return BatchFloat64ArrayProxy(*this, Properties::Vmaxpu);
49439 }
49440
49441 StorageBatch& Vmaxpu(double value)
49442 {
49443 set_batch_val<double>(Properties::Vmaxpu, value);
49444 return *this;
49445 }
49446
49447 template <typename T>
49448 StorageBatch& Vmaxpu(T &value)
49449 {
49450 set_batch_val_for_each<T>(Properties::Vmaxpu, value.begin(), value.end());
49451 return *this;
49452 }
49453
49454 template <typename T>
49455 StorageBatch& Vmaxpu(typename T::iterator it_begin, typename T::iterator it_end)
49456 {
49457 set_batch_val_for_each<T>(Properties::Vmaxpu, it_begin, it_end);
49458 return *this;
49459 }
49460
49465 bools Balanced()
49466 {
49467 return get_batch_val<bools>(Properties::Balanced);
49468 }
49469
49470 StorageBatch& Balanced(bool value)
49471 {
49472 set_batch_val(Properties::Balanced, int32_t(value));
49473 return *this;
49474 }
49475
49476 StorageBatch& Balanced(bools &value)
49477 {
49478 set_batch_val_for_each<std::vector<int32_t>>(Properties::Balanced, value.begin(), value.end());
49479 return *this;
49480 }
49481
49487 {
49488 return get_batch_val<bools>(Properties::LimitCurrent);
49489 }
49490
49491 StorageBatch& LimitCurrent(bool value)
49492 {
49493 set_batch_val(Properties::LimitCurrent, int32_t(value));
49494 return *this;
49495 }
49496
49497 StorageBatch& LimitCurrent(bools &value)
49498 {
49499 set_batch_val_for_each<std::vector<int32_t>>(Properties::LimitCurrent, value.begin(), value.end());
49500 return *this;
49501 }
49502
49507 strings yearly()
49508 {
49509 return get_batch_val<strings>(Properties::yearly);
49510 }
49511
49513 {
49514 set_batch_val(Properties::yearly, value);
49515 return *this;
49516 }
49517
49518 StorageBatch& yearly(const string &value)
49519 {
49520 set_batch_val(Properties::yearly, value);
49521 return *this;
49522 }
49523
49528 std::vector<dss::obj::LoadShape> yearly_obj()
49529 {
49530 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::yearly);
49531 }
49532
49534 {
49535 set_batch_val(Properties::yearly, value);
49536 return *this;
49537 }
49538
49543 strings daily()
49544 {
49545 return get_batch_val<strings>(Properties::daily);
49546 }
49547
49549 {
49550 set_batch_val(Properties::daily, value);
49551 return *this;
49552 }
49553
49554 StorageBatch& daily(const string &value)
49555 {
49556 set_batch_val(Properties::daily, value);
49557 return *this;
49558 }
49559
49564 std::vector<dss::obj::LoadShape> daily_obj()
49565 {
49566 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::daily);
49567 }
49568
49570 {
49571 set_batch_val(Properties::daily, value);
49572 return *this;
49573 }
49574
49583 strings duty()
49584 {
49585 return get_batch_val<strings>(Properties::duty);
49586 }
49587
49589 {
49590 set_batch_val(Properties::duty, value);
49591 return *this;
49592 }
49593
49594 StorageBatch& duty(const string &value)
49595 {
49596 set_batch_val(Properties::duty, value);
49597 return *this;
49598 }
49599
49608 std::vector<dss::obj::LoadShape> duty_obj()
49609 {
49610 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::duty);
49611 }
49612
49614 {
49615 set_batch_val(Properties::duty, value);
49616 return *this;
49617 }
49618
49632 {
49633 return BatchInt32ArrayProxy(*this, Properties::DispMode);
49634 }
49635
49636 StorageBatch& DispMode(string &value)
49637 {
49638 set_batch_val(Properties::DispMode, value);
49639 return *this;
49640 }
49641
49642 StorageBatch& DispMode(int32_t value)
49643 {
49644 set_batch_val(Properties::DispMode, value);
49645 return *this;
49646 }
49647
49649 {
49650 set_batch_val(Properties::DispMode, int32_t(value));
49651 return *this;
49652 }
49653
49654 StorageBatch& DispMode(strings &value)
49655 {
49656 set_batch_val_for_each<strings>(Properties::DispMode, value.begin(), value.end());
49657 return *this;
49658 }
49659
49660 StorageBatch& DispMode(std::vector<int32_t> &value)
49661 {
49662 set_batch_val_for_each<std::vector<int32_t>>(Properties::DispMode, value.begin(), value.end());
49663 return *this;
49664 }
49665
49666 StorageBatch& DispMode(std::vector<Storage::StorageDispatchMode> &value)
49667 {
49668 set_batch_val_for_each<std::vector<Storage::StorageDispatchMode>>(Properties::DispMode, value.begin(), value.end());
49669 return *this;
49670 }
49671
49685 {
49686 return get_batch_val<strings>(Properties::DispMode);
49687 }
49688
49689 StorageBatch& DispMode_str(string &value)
49690 {
49691 DispMode(value);
49692 return *this;
49693 }
49694
49695 StorageBatch& DispMode_str(strings &value)
49696 {
49697 DispMode(value);
49698 return *this;
49699 }
49700
49708 {
49709 return BatchFloat64ArrayProxy(*this, Properties::DischargeTrigger);
49710 }
49711
49712 StorageBatch& DischargeTrigger(double value)
49713 {
49714 set_batch_val<double>(Properties::DischargeTrigger, value);
49715 return *this;
49716 }
49717
49718 template <typename T>
49720 {
49721 set_batch_val_for_each<T>(Properties::DischargeTrigger, value.begin(), value.end());
49722 return *this;
49723 }
49724
49725 template <typename T>
49726 StorageBatch& DischargeTrigger(typename T::iterator it_begin, typename T::iterator it_end)
49727 {
49728 set_batch_val_for_each<T>(Properties::DischargeTrigger, it_begin, it_end);
49729 return *this;
49730 }
49731
49741 {
49742 return BatchFloat64ArrayProxy(*this, Properties::ChargeTrigger);
49743 }
49744
49745 StorageBatch& ChargeTrigger(double value)
49746 {
49747 set_batch_val<double>(Properties::ChargeTrigger, value);
49748 return *this;
49749 }
49750
49751 template <typename T>
49752 StorageBatch& ChargeTrigger(T &value)
49753 {
49754 set_batch_val_for_each<T>(Properties::ChargeTrigger, value.begin(), value.end());
49755 return *this;
49756 }
49757
49758 template <typename T>
49759 StorageBatch& ChargeTrigger(typename T::iterator it_begin, typename T::iterator it_end)
49760 {
49761 set_batch_val_for_each<T>(Properties::ChargeTrigger, it_begin, it_end);
49762 return *this;
49763 }
49764
49770 {
49771 return BatchFloat64ArrayProxy(*this, Properties::TimeChargeTrig);
49772 }
49773
49774 StorageBatch& TimeChargeTrig(double value)
49775 {
49776 set_batch_val<double>(Properties::TimeChargeTrig, value);
49777 return *this;
49778 }
49779
49780 template <typename T>
49781 StorageBatch& TimeChargeTrig(T &value)
49782 {
49783 set_batch_val_for_each<T>(Properties::TimeChargeTrig, value.begin(), value.end());
49784 return *this;
49785 }
49786
49787 template <typename T>
49788 StorageBatch& TimeChargeTrig(typename T::iterator it_begin, typename T::iterator it_end)
49789 {
49790 set_batch_val_for_each<T>(Properties::TimeChargeTrig, it_begin, it_end);
49791 return *this;
49792 }
49793
49799 {
49800 return BatchInt32ArrayProxy(*this, Properties::cls);
49801 }
49802
49803 StorageBatch& cls(int32_t value)
49804 {
49805 set_batch_val(Properties::cls, value);
49806 return *this;
49807 }
49808
49809 template <typename T>
49810 StorageBatch& cls(T &value)
49811 {
49812 set_batch_val_for_each<T>(Properties::cls, value.begin(), value.end());
49813 return *this;
49814 }
49815
49816 template <typename T>
49817 StorageBatch& cls(typename T::iterator it_begin, typename T::iterator it_end)
49818 {
49819 set_batch_val_for_each<T>(Properties::cls, it_begin, it_end);
49820 return *this;
49821 }
49822
49827 strings DynaDLL()
49828 {
49829 return get_batch_val<strings>(Properties::DynaDLL);
49830 }
49831
49832 StorageBatch& DynaDLL(const string &value)
49833 {
49834 set_batch_val(Properties::DynaDLL, value.c_str());
49835 return *this;
49836 }
49837
49838 StorageBatch& DynaDLL(strings &value)
49839 {
49840 set_batch_val_for_each<strings>(Properties::DynaDLL, value.begin(), value.end());
49841 return *this;
49842 }
49843
49848 strings DynaData()
49849 {
49850 return get_batch_val<strings>(Properties::DynaData);
49851 }
49852
49853 StorageBatch& DynaData(const string &value)
49854 {
49855 set_batch_val(Properties::DynaData, value.c_str());
49856 return *this;
49857 }
49858
49859 StorageBatch& DynaData(strings &value)
49860 {
49861 set_batch_val_for_each<strings>(Properties::DynaData, value.begin(), value.end());
49862 return *this;
49863 }
49864
49869 strings UserModel()
49870 {
49871 return get_batch_val<strings>(Properties::UserModel);
49872 }
49873
49874 StorageBatch& UserModel(const string &value)
49875 {
49876 set_batch_val(Properties::UserModel, value.c_str());
49877 return *this;
49878 }
49879
49880 StorageBatch& UserModel(strings &value)
49881 {
49882 set_batch_val_for_each<strings>(Properties::UserModel, value.begin(), value.end());
49883 return *this;
49884 }
49885
49890 strings UserData()
49891 {
49892 return get_batch_val<strings>(Properties::UserData);
49893 }
49894
49895 StorageBatch& UserData(const string &value)
49896 {
49897 set_batch_val(Properties::UserData, value.c_str());
49898 return *this;
49899 }
49900
49901 StorageBatch& UserData(strings &value)
49902 {
49903 set_batch_val_for_each<strings>(Properties::UserData, value.begin(), value.end());
49904 return *this;
49905 }
49906
49912 {
49913 return get_batch_val<bools>(Properties::debugtrace);
49914 }
49915
49916 StorageBatch& debugtrace(bool value)
49917 {
49918 set_batch_val(Properties::debugtrace, int32_t(value));
49919 return *this;
49920 }
49921
49922 StorageBatch& debugtrace(bools &value)
49923 {
49924 set_batch_val_for_each<std::vector<int32_t>>(Properties::debugtrace, value.begin(), value.end());
49925 return *this;
49926 }
49927
49932 strings spectrum()
49933 {
49934 return get_batch_val<strings>(Properties::spectrum);
49935 }
49936
49938 {
49939 set_batch_val(Properties::spectrum, value);
49940 return *this;
49941 }
49942
49943 StorageBatch& spectrum(const string &value)
49944 {
49945 set_batch_val(Properties::spectrum, value);
49946 return *this;
49947 }
49948
49953 std::vector<dss::obj::Spectrum> spectrum_obj()
49954 {
49955 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
49956 }
49957
49959 {
49960 set_batch_val(Properties::spectrum, value);
49961 return *this;
49962 }
49963
49969 {
49970 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
49971 }
49972
49973 StorageBatch& basefreq(double value)
49974 {
49975 set_batch_val<double>(Properties::basefreq, value);
49976 return *this;
49977 }
49978
49979 template <typename T>
49980 StorageBatch& basefreq(T &value)
49981 {
49982 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
49983 return *this;
49984 }
49985
49986 template <typename T>
49987 StorageBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
49988 {
49989 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
49990 return *this;
49991 }
49992
49997 bools enabled()
49998 {
49999 return get_batch_val<bools>(Properties::enabled);
50000 }
50001
50002 StorageBatch& enabled(bool value)
50003 {
50004 set_batch_val(Properties::enabled, int32_t(value));
50005 return *this;
50006 }
50007
50008 StorageBatch& enabled(bools &value)
50009 {
50010 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
50011 return *this;
50012 }
50013
50020 StorageBatch& like(const string &value)
50021 {
50022 set_batch_val(Properties::like, value.c_str());
50023 return *this;
50024 }
50025
50032 StorageBatch& like(const char *value)
50033 {
50034 set_batch_val(Properties::like, value);
50035 return *this;
50036 }
50037};
50038
50039
50041{
50042public:
50045
50046 // Shortcuts to class-specific enumerations
50049
50050
50055 DSSBatch(util, StorageController::dss_cls_idx)
50056 {
50057 }
50058
50062 StorageControllerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
50063 DSSBatch(util, StorageController::dss_cls_idx, prop_idx, prop_value)
50064 {
50065 }
50066
50070 StorageControllerBatch(APIUtil *util, const char* regexp):
50071 DSSBatch(util, StorageController::dss_cls_idx, regexp)
50072 {
50073 }
50074
50075
50076 StorageControllerBatch& begin_edit()
50077 {
50078 Batch_BeginEdit(pointer, count[0]);
50079 return *this;
50080 }
50081
50082 StorageControllerBatch& end_edit(int32_t num_edits=1)
50083 {
50084 Batch_EndEdit(pointer, count[0], num_edits);
50085 return *this;
50086 }
50087
50088
50093 strings Element()
50094 {
50095 return get_batch_val<strings>(Properties::Element);
50096 }
50097
50099 {
50100 set_batch_val(Properties::Element, value);
50101 return *this;
50102 }
50103
50104 StorageControllerBatch& Element(const string &value)
50105 {
50106 set_batch_val(Properties::Element, value);
50107 return *this;
50108 }
50109
50114 std::vector<dss::obj::DSSObj> Element_obj()
50115 {
50116 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::Element);
50117 }
50118
50120 {
50121 set_batch_val(Properties::Element, value);
50122 return *this;
50123 }
50124
50130 {
50131 return BatchInt32ArrayProxy(*this, Properties::Terminal);
50132 }
50133
50134 StorageControllerBatch& Terminal(int32_t value)
50135 {
50136 set_batch_val(Properties::Terminal, value);
50137 return *this;
50138 }
50139
50140 template <typename T>
50142 {
50143 set_batch_val_for_each<T>(Properties::Terminal, value.begin(), value.end());
50144 return *this;
50145 }
50146
50147 template <typename T>
50148 StorageControllerBatch& Terminal(typename T::iterator it_begin, typename T::iterator it_end)
50149 {
50150 set_batch_val_for_each<T>(Properties::Terminal, it_begin, it_end);
50151 return *this;
50152 }
50153
50159 {
50160 return BatchInt32ArrayProxy(*this, Properties::MonPhase);
50161 }
50162
50163 StorageControllerBatch& MonPhase(string &value)
50164 {
50165 set_batch_val(Properties::MonPhase, value);
50166 return *this;
50167 }
50168
50169 StorageControllerBatch& MonPhase(int32_t value)
50170 {
50171 set_batch_val(Properties::MonPhase, value);
50172 return *this;
50173 }
50174
50175 StorageControllerBatch& MonPhase(MonitoredPhase value)
50176 {
50177 set_batch_val(Properties::MonPhase, int32_t(value));
50178 return *this;
50179 }
50180
50181 StorageControllerBatch& MonPhase(strings &value)
50182 {
50183 set_batch_val_for_each<strings>(Properties::MonPhase, value.begin(), value.end());
50184 return *this;
50185 }
50186
50187 StorageControllerBatch& MonPhase(std::vector<int32_t> &value)
50188 {
50189 set_batch_val_for_each<std::vector<int32_t>>(Properties::MonPhase, value.begin(), value.end());
50190 return *this;
50191 }
50192
50193 StorageControllerBatch& MonPhase(std::vector<MonitoredPhase> &value)
50194 {
50195 set_batch_val_for_each<std::vector<MonitoredPhase>>(Properties::MonPhase, value.begin(), value.end());
50196 return *this;
50197 }
50198
50204 {
50205 return get_batch_val<strings>(Properties::MonPhase);
50206 }
50207
50208 StorageControllerBatch& MonPhase_str(string &value)
50209 {
50210 MonPhase(value);
50211 return *this;
50212 }
50213
50214 StorageControllerBatch& MonPhase_str(strings &value)
50215 {
50216 MonPhase(value);
50217 return *this;
50218 }
50219
50225 {
50226 return BatchFloat64ArrayProxy(*this, Properties::kWTarget);
50227 }
50228
50229 StorageControllerBatch& kWTarget(double value)
50230 {
50231 set_batch_val<double>(Properties::kWTarget, value);
50232 return *this;
50233 }
50234
50235 template <typename T>
50237 {
50238 set_batch_val_for_each<T>(Properties::kWTarget, value.begin(), value.end());
50239 return *this;
50240 }
50241
50242 template <typename T>
50243 StorageControllerBatch& kWTarget(typename T::iterator it_begin, typename T::iterator it_end)
50244 {
50245 set_batch_val_for_each<T>(Properties::kWTarget, it_begin, it_end);
50246 return *this;
50247 }
50248
50254 {
50255 return BatchFloat64ArrayProxy(*this, Properties::kWTargetLow);
50256 }
50257
50258 StorageControllerBatch& kWTargetLow(double value)
50259 {
50260 set_batch_val<double>(Properties::kWTargetLow, value);
50261 return *this;
50262 }
50263
50264 template <typename T>
50266 {
50267 set_batch_val_for_each<T>(Properties::kWTargetLow, value.begin(), value.end());
50268 return *this;
50269 }
50270
50271 template <typename T>
50272 StorageControllerBatch& kWTargetLow(typename T::iterator it_begin, typename T::iterator it_end)
50273 {
50274 set_batch_val_for_each<T>(Properties::kWTargetLow, it_begin, it_end);
50275 return *this;
50276 }
50277
50283 {
50284 return BatchFloat64ArrayProxy(*this, Properties::pctkWBand);
50285 }
50286
50287 StorageControllerBatch& pctkWBand(double value)
50288 {
50289 set_batch_val<double>(Properties::pctkWBand, value);
50290 return *this;
50291 }
50292
50293 template <typename T>
50295 {
50296 set_batch_val_for_each<T>(Properties::pctkWBand, value.begin(), value.end());
50297 return *this;
50298 }
50299
50300 template <typename T>
50301 StorageControllerBatch& pctkWBand(typename T::iterator it_begin, typename T::iterator it_end)
50302 {
50303 set_batch_val_for_each<T>(Properties::pctkWBand, it_begin, it_end);
50304 return *this;
50305 }
50306
50312 {
50313 return BatchFloat64ArrayProxy(*this, Properties::kWBand);
50314 }
50315
50316 StorageControllerBatch& kWBand(double value)
50317 {
50318 set_batch_val<double>(Properties::kWBand, value);
50319 return *this;
50320 }
50321
50322 template <typename T>
50324 {
50325 set_batch_val_for_each<T>(Properties::kWBand, value.begin(), value.end());
50326 return *this;
50327 }
50328
50329 template <typename T>
50330 StorageControllerBatch& kWBand(typename T::iterator it_begin, typename T::iterator it_end)
50331 {
50332 set_batch_val_for_each<T>(Properties::kWBand, it_begin, it_end);
50333 return *this;
50334 }
50335
50341 {
50342 return BatchFloat64ArrayProxy(*this, Properties::pctkWBandLow);
50343 }
50344
50346 {
50347 set_batch_val<double>(Properties::pctkWBandLow, value);
50348 return *this;
50349 }
50350
50351 template <typename T>
50353 {
50354 set_batch_val_for_each<T>(Properties::pctkWBandLow, value.begin(), value.end());
50355 return *this;
50356 }
50357
50358 template <typename T>
50359 StorageControllerBatch& pctkWBandLow(typename T::iterator it_begin, typename T::iterator it_end)
50360 {
50361 set_batch_val_for_each<T>(Properties::pctkWBandLow, it_begin, it_end);
50362 return *this;
50363 }
50364
50370 {
50371 return BatchFloat64ArrayProxy(*this, Properties::kWBandLow);
50372 }
50373
50374 StorageControllerBatch& kWBandLow(double value)
50375 {
50376 set_batch_val<double>(Properties::kWBandLow, value);
50377 return *this;
50378 }
50379
50380 template <typename T>
50382 {
50383 set_batch_val_for_each<T>(Properties::kWBandLow, value.begin(), value.end());
50384 return *this;
50385 }
50386
50387 template <typename T>
50388 StorageControllerBatch& kWBandLow(typename T::iterator it_begin, typename T::iterator it_end)
50389 {
50390 set_batch_val_for_each<T>(Properties::kWBandLow, it_begin, it_end);
50391 return *this;
50392 }
50393
50398 std::vector<strings> ElementList()
50399 {
50400 return get_batch_valarray<strings>(Properties::ElementList);
50401 }
50402
50403 StorageControllerBatch& ElementList(strings &value)
50404 {
50405 set_batch_val(Properties::ElementList, value);
50406 return *this;
50407 }
50408
50413 std::vector<VectorXd> Weights()
50414 {
50415 return get_batch_valarray<VectorXd>(Properties::Weights);
50416 }
50417
50418 StorageControllerBatch& Weights(VectorXd &value)
50419 {
50420 set_batch_val<VectorXd>(Properties::Weights, value);
50421 return *this;
50422 }
50423
50443 {
50444 return BatchInt32ArrayProxy(*this, Properties::ModeDischarge);
50445 }
50446
50448 {
50449 set_batch_val(Properties::ModeDischarge, value);
50450 return *this;
50451 }
50452
50454 {
50455 set_batch_val(Properties::ModeDischarge, value);
50456 return *this;
50457 }
50458
50460 {
50461 set_batch_val(Properties::ModeDischarge, int32_t(value));
50462 return *this;
50463 }
50464
50465 StorageControllerBatch& ModeDischarge(strings &value)
50466 {
50467 set_batch_val_for_each<strings>(Properties::ModeDischarge, value.begin(), value.end());
50468 return *this;
50469 }
50470
50471 StorageControllerBatch& ModeDischarge(std::vector<int32_t> &value)
50472 {
50473 set_batch_val_for_each<std::vector<int32_t>>(Properties::ModeDischarge, value.begin(), value.end());
50474 return *this;
50475 }
50476
50477 StorageControllerBatch& ModeDischarge(std::vector<StorageController::StorageControllerDischargemode> &value)
50478 {
50479 set_batch_val_for_each<std::vector<StorageController::StorageControllerDischargemode>>(Properties::ModeDischarge, value.begin(), value.end());
50480 return *this;
50481 }
50482
50502 {
50503 return get_batch_val<strings>(Properties::ModeDischarge);
50504 }
50505
50507 {
50508 ModeDischarge(value);
50509 return *this;
50510 }
50511
50513 {
50514 ModeDischarge(value);
50515 return *this;
50516 }
50517
50531 {
50532 return BatchInt32ArrayProxy(*this, Properties::ModeCharge);
50533 }
50534
50535 StorageControllerBatch& ModeCharge(string &value)
50536 {
50537 set_batch_val(Properties::ModeCharge, value);
50538 return *this;
50539 }
50540
50541 StorageControllerBatch& ModeCharge(int32_t value)
50542 {
50543 set_batch_val(Properties::ModeCharge, value);
50544 return *this;
50545 }
50546
50548 {
50549 set_batch_val(Properties::ModeCharge, int32_t(value));
50550 return *this;
50551 }
50552
50553 StorageControllerBatch& ModeCharge(strings &value)
50554 {
50555 set_batch_val_for_each<strings>(Properties::ModeCharge, value.begin(), value.end());
50556 return *this;
50557 }
50558
50559 StorageControllerBatch& ModeCharge(std::vector<int32_t> &value)
50560 {
50561 set_batch_val_for_each<std::vector<int32_t>>(Properties::ModeCharge, value.begin(), value.end());
50562 return *this;
50563 }
50564
50565 StorageControllerBatch& ModeCharge(std::vector<StorageController::StorageControllerChargemode> &value)
50566 {
50567 set_batch_val_for_each<std::vector<StorageController::StorageControllerChargemode>>(Properties::ModeCharge, value.begin(), value.end());
50568 return *this;
50569 }
50570
50584 {
50585 return get_batch_val<strings>(Properties::ModeCharge);
50586 }
50587
50589 {
50590 ModeCharge(value);
50591 return *this;
50592 }
50593
50594 StorageControllerBatch& ModeCharge_str(strings &value)
50595 {
50596 ModeCharge(value);
50597 return *this;
50598 }
50599
50605 {
50606 return BatchFloat64ArrayProxy(*this, Properties::TimeDischargeTrigger);
50607 }
50608
50610 {
50611 set_batch_val<double>(Properties::TimeDischargeTrigger, value);
50612 return *this;
50613 }
50614
50615 template <typename T>
50617 {
50618 set_batch_val_for_each<T>(Properties::TimeDischargeTrigger, value.begin(), value.end());
50619 return *this;
50620 }
50621
50622 template <typename T>
50623 StorageControllerBatch& TimeDischargeTrigger(typename T::iterator it_begin, typename T::iterator it_end)
50624 {
50625 set_batch_val_for_each<T>(Properties::TimeDischargeTrigger, it_begin, it_end);
50626 return *this;
50627 }
50628
50634 {
50635 return BatchFloat64ArrayProxy(*this, Properties::TimeChargeTrigger);
50636 }
50637
50639 {
50640 set_batch_val<double>(Properties::TimeChargeTrigger, value);
50641 return *this;
50642 }
50643
50644 template <typename T>
50646 {
50647 set_batch_val_for_each<T>(Properties::TimeChargeTrigger, value.begin(), value.end());
50648 return *this;
50649 }
50650
50651 template <typename T>
50652 StorageControllerBatch& TimeChargeTrigger(typename T::iterator it_begin, typename T::iterator it_end)
50653 {
50654 set_batch_val_for_each<T>(Properties::TimeChargeTrigger, it_begin, it_end);
50655 return *this;
50656 }
50657
50663 {
50664 return BatchFloat64ArrayProxy(*this, Properties::pctRatekW);
50665 }
50666
50667 StorageControllerBatch& pctRatekW(double value)
50668 {
50669 set_batch_val<double>(Properties::pctRatekW, value);
50670 return *this;
50671 }
50672
50673 template <typename T>
50675 {
50676 set_batch_val_for_each<T>(Properties::pctRatekW, value.begin(), value.end());
50677 return *this;
50678 }
50679
50680 template <typename T>
50681 StorageControllerBatch& pctRatekW(typename T::iterator it_begin, typename T::iterator it_end)
50682 {
50683 set_batch_val_for_each<T>(Properties::pctRatekW, it_begin, it_end);
50684 return *this;
50685 }
50686
50692 {
50693 return BatchFloat64ArrayProxy(*this, Properties::pctRateCharge);
50694 }
50695
50697 {
50698 set_batch_val<double>(Properties::pctRateCharge, value);
50699 return *this;
50700 }
50701
50702 template <typename T>
50704 {
50705 set_batch_val_for_each<T>(Properties::pctRateCharge, value.begin(), value.end());
50706 return *this;
50707 }
50708
50709 template <typename T>
50710 StorageControllerBatch& pctRateCharge(typename T::iterator it_begin, typename T::iterator it_end)
50711 {
50712 set_batch_val_for_each<T>(Properties::pctRateCharge, it_begin, it_end);
50713 return *this;
50714 }
50715
50721 {
50722 return BatchFloat64ArrayProxy(*this, Properties::pctReserve);
50723 }
50724
50725 StorageControllerBatch& pctReserve(double value)
50726 {
50727 set_batch_val<double>(Properties::pctReserve, value);
50728 return *this;
50729 }
50730
50731 template <typename T>
50733 {
50734 set_batch_val_for_each<T>(Properties::pctReserve, value.begin(), value.end());
50735 return *this;
50736 }
50737
50738 template <typename T>
50739 StorageControllerBatch& pctReserve(typename T::iterator it_begin, typename T::iterator it_end)
50740 {
50741 set_batch_val_for_each<T>(Properties::pctReserve, it_begin, it_end);
50742 return *this;
50743 }
50744
50750 {
50751 return BatchFloat64ArrayProxy(*this, Properties::kWhTotal);
50752 }
50753
50754 StorageControllerBatch& kWhTotal(double value)
50755 {
50756 set_batch_val<double>(Properties::kWhTotal, value);
50757 return *this;
50758 }
50759
50760 template <typename T>
50762 {
50763 set_batch_val_for_each<T>(Properties::kWhTotal, value.begin(), value.end());
50764 return *this;
50765 }
50766
50767 template <typename T>
50768 StorageControllerBatch& kWhTotal(typename T::iterator it_begin, typename T::iterator it_end)
50769 {
50770 set_batch_val_for_each<T>(Properties::kWhTotal, it_begin, it_end);
50771 return *this;
50772 }
50773
50779 {
50780 return BatchFloat64ArrayProxy(*this, Properties::kWTotal);
50781 }
50782
50783 StorageControllerBatch& kWTotal(double value)
50784 {
50785 set_batch_val<double>(Properties::kWTotal, value);
50786 return *this;
50787 }
50788
50789 template <typename T>
50791 {
50792 set_batch_val_for_each<T>(Properties::kWTotal, value.begin(), value.end());
50793 return *this;
50794 }
50795
50796 template <typename T>
50797 StorageControllerBatch& kWTotal(typename T::iterator it_begin, typename T::iterator it_end)
50798 {
50799 set_batch_val_for_each<T>(Properties::kWTotal, it_begin, it_end);
50800 return *this;
50801 }
50802
50808 {
50809 return BatchFloat64ArrayProxy(*this, Properties::kWhActual);
50810 }
50811
50812 StorageControllerBatch& kWhActual(double value)
50813 {
50814 set_batch_val<double>(Properties::kWhActual, value);
50815 return *this;
50816 }
50817
50818 template <typename T>
50820 {
50821 set_batch_val_for_each<T>(Properties::kWhActual, value.begin(), value.end());
50822 return *this;
50823 }
50824
50825 template <typename T>
50826 StorageControllerBatch& kWhActual(typename T::iterator it_begin, typename T::iterator it_end)
50827 {
50828 set_batch_val_for_each<T>(Properties::kWhActual, it_begin, it_end);
50829 return *this;
50830 }
50831
50837 {
50838 return BatchFloat64ArrayProxy(*this, Properties::kWActual);
50839 }
50840
50841 StorageControllerBatch& kWActual(double value)
50842 {
50843 set_batch_val<double>(Properties::kWActual, value);
50844 return *this;
50845 }
50846
50847 template <typename T>
50849 {
50850 set_batch_val_for_each<T>(Properties::kWActual, value.begin(), value.end());
50851 return *this;
50852 }
50853
50854 template <typename T>
50855 StorageControllerBatch& kWActual(typename T::iterator it_begin, typename T::iterator it_end)
50856 {
50857 set_batch_val_for_each<T>(Properties::kWActual, it_begin, it_end);
50858 return *this;
50859 }
50860
50866 {
50867 return BatchFloat64ArrayProxy(*this, Properties::kWneed);
50868 }
50869
50870 StorageControllerBatch& kWneed(double value)
50871 {
50872 set_batch_val<double>(Properties::kWneed, value);
50873 return *this;
50874 }
50875
50876 template <typename T>
50878 {
50879 set_batch_val_for_each<T>(Properties::kWneed, value.begin(), value.end());
50880 return *this;
50881 }
50882
50883 template <typename T>
50884 StorageControllerBatch& kWneed(typename T::iterator it_begin, typename T::iterator it_end)
50885 {
50886 set_batch_val_for_each<T>(Properties::kWneed, it_begin, it_end);
50887 return *this;
50888 }
50889
50894 strings Yearly()
50895 {
50896 return get_batch_val<strings>(Properties::Yearly);
50897 }
50898
50900 {
50901 set_batch_val(Properties::Yearly, value);
50902 return *this;
50903 }
50904
50905 StorageControllerBatch& Yearly(const string &value)
50906 {
50907 set_batch_val(Properties::Yearly, value);
50908 return *this;
50909 }
50910
50915 std::vector<dss::obj::LoadShape> Yearly_obj()
50916 {
50917 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Yearly);
50918 }
50919
50921 {
50922 set_batch_val(Properties::Yearly, value);
50923 return *this;
50924 }
50925
50930 strings Daily()
50931 {
50932 return get_batch_val<strings>(Properties::Daily);
50933 }
50934
50936 {
50937 set_batch_val(Properties::Daily, value);
50938 return *this;
50939 }
50940
50941 StorageControllerBatch& Daily(const string &value)
50942 {
50943 set_batch_val(Properties::Daily, value);
50944 return *this;
50945 }
50946
50951 std::vector<dss::obj::LoadShape> Daily_obj()
50952 {
50953 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Daily);
50954 }
50955
50957 {
50958 set_batch_val(Properties::Daily, value);
50959 return *this;
50960 }
50961
50966 strings Duty()
50967 {
50968 return get_batch_val<strings>(Properties::Duty);
50969 }
50970
50972 {
50973 set_batch_val(Properties::Duty, value);
50974 return *this;
50975 }
50976
50977 StorageControllerBatch& Duty(const string &value)
50978 {
50979 set_batch_val(Properties::Duty, value);
50980 return *this;
50981 }
50982
50987 std::vector<dss::obj::LoadShape> Duty_obj()
50988 {
50989 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Duty);
50990 }
50991
50993 {
50994 set_batch_val(Properties::Duty, value);
50995 return *this;
50996 }
50997
51002 bools EventLog()
51003 {
51004 return get_batch_val<bools>(Properties::EventLog);
51005 }
51006
51007 StorageControllerBatch& EventLog(bool value)
51008 {
51009 set_batch_val(Properties::EventLog, int32_t(value));
51010 return *this;
51011 }
51012
51013 StorageControllerBatch& EventLog(bools &value)
51014 {
51015 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
51016 return *this;
51017 }
51018
51024 {
51025 return BatchInt32ArrayProxy(*this, Properties::InhibitTime);
51026 }
51027
51028 StorageControllerBatch& InhibitTime(int32_t value)
51029 {
51030 set_batch_val(Properties::InhibitTime, value);
51031 return *this;
51032 }
51033
51034 template <typename T>
51036 {
51037 set_batch_val_for_each<T>(Properties::InhibitTime, value.begin(), value.end());
51038 return *this;
51039 }
51040
51041 template <typename T>
51042 StorageControllerBatch& InhibitTime(typename T::iterator it_begin, typename T::iterator it_end)
51043 {
51044 set_batch_val_for_each<T>(Properties::InhibitTime, it_begin, it_end);
51045 return *this;
51046 }
51047
51053 {
51054 return BatchFloat64ArrayProxy(*this, Properties::Tup);
51055 }
51056
51057 StorageControllerBatch& Tup(double value)
51058 {
51059 set_batch_val<double>(Properties::Tup, value);
51060 return *this;
51061 }
51062
51063 template <typename T>
51064 StorageControllerBatch& Tup(T &value)
51065 {
51066 set_batch_val_for_each<T>(Properties::Tup, value.begin(), value.end());
51067 return *this;
51068 }
51069
51070 template <typename T>
51071 StorageControllerBatch& Tup(typename T::iterator it_begin, typename T::iterator it_end)
51072 {
51073 set_batch_val_for_each<T>(Properties::Tup, it_begin, it_end);
51074 return *this;
51075 }
51076
51082 {
51083 return BatchFloat64ArrayProxy(*this, Properties::TFlat);
51084 }
51085
51086 StorageControllerBatch& TFlat(double value)
51087 {
51088 set_batch_val<double>(Properties::TFlat, value);
51089 return *this;
51090 }
51091
51092 template <typename T>
51093 StorageControllerBatch& TFlat(T &value)
51094 {
51095 set_batch_val_for_each<T>(Properties::TFlat, value.begin(), value.end());
51096 return *this;
51097 }
51098
51099 template <typename T>
51100 StorageControllerBatch& TFlat(typename T::iterator it_begin, typename T::iterator it_end)
51101 {
51102 set_batch_val_for_each<T>(Properties::TFlat, it_begin, it_end);
51103 return *this;
51104 }
51105
51111 {
51112 return BatchFloat64ArrayProxy(*this, Properties::Tdn);
51113 }
51114
51115 StorageControllerBatch& Tdn(double value)
51116 {
51117 set_batch_val<double>(Properties::Tdn, value);
51118 return *this;
51119 }
51120
51121 template <typename T>
51122 StorageControllerBatch& Tdn(T &value)
51123 {
51124 set_batch_val_for_each<T>(Properties::Tdn, value.begin(), value.end());
51125 return *this;
51126 }
51127
51128 template <typename T>
51129 StorageControllerBatch& Tdn(typename T::iterator it_begin, typename T::iterator it_end)
51130 {
51131 set_batch_val_for_each<T>(Properties::Tdn, it_begin, it_end);
51132 return *this;
51133 }
51134
51140 {
51141 return BatchFloat64ArrayProxy(*this, Properties::kWThreshold);
51142 }
51143
51144 StorageControllerBatch& kWThreshold(double value)
51145 {
51146 set_batch_val<double>(Properties::kWThreshold, value);
51147 return *this;
51148 }
51149
51150 template <typename T>
51152 {
51153 set_batch_val_for_each<T>(Properties::kWThreshold, value.begin(), value.end());
51154 return *this;
51155 }
51156
51157 template <typename T>
51158 StorageControllerBatch& kWThreshold(typename T::iterator it_begin, typename T::iterator it_end)
51159 {
51160 set_batch_val_for_each<T>(Properties::kWThreshold, it_begin, it_end);
51161 return *this;
51162 }
51163
51171 {
51172 return BatchFloat64ArrayProxy(*this, Properties::DispFactor);
51173 }
51174
51175 StorageControllerBatch& DispFactor(double value)
51176 {
51177 set_batch_val<double>(Properties::DispFactor, value);
51178 return *this;
51179 }
51180
51181 template <typename T>
51183 {
51184 set_batch_val_for_each<T>(Properties::DispFactor, value.begin(), value.end());
51185 return *this;
51186 }
51187
51188 template <typename T>
51189 StorageControllerBatch& DispFactor(typename T::iterator it_begin, typename T::iterator it_end)
51190 {
51191 set_batch_val_for_each<T>(Properties::DispFactor, it_begin, it_end);
51192 return *this;
51193 }
51194
51200 {
51201 return BatchFloat64ArrayProxy(*this, Properties::ResetLevel);
51202 }
51203
51204 StorageControllerBatch& ResetLevel(double value)
51205 {
51206 set_batch_val<double>(Properties::ResetLevel, value);
51207 return *this;
51208 }
51209
51210 template <typename T>
51212 {
51213 set_batch_val_for_each<T>(Properties::ResetLevel, value.begin(), value.end());
51214 return *this;
51215 }
51216
51217 template <typename T>
51218 StorageControllerBatch& ResetLevel(typename T::iterator it_begin, typename T::iterator it_end)
51219 {
51220 set_batch_val_for_each<T>(Properties::ResetLevel, it_begin, it_end);
51221 return *this;
51222 }
51223
51229 {
51230 return BatchInt32ArrayProxy(*this, Properties::Seasons);
51231 }
51232
51233 StorageControllerBatch& Seasons(int32_t value)
51234 {
51235 set_batch_val(Properties::Seasons, value);
51236 return *this;
51237 }
51238
51239 template <typename T>
51241 {
51242 set_batch_val_for_each<T>(Properties::Seasons, value.begin(), value.end());
51243 return *this;
51244 }
51245
51246 template <typename T>
51247 StorageControllerBatch& Seasons(typename T::iterator it_begin, typename T::iterator it_end)
51248 {
51249 set_batch_val_for_each<T>(Properties::Seasons, it_begin, it_end);
51250 return *this;
51251 }
51252
51257 std::vector<VectorXd> SeasonTargets()
51258 {
51259 return get_batch_valarray<VectorXd>(Properties::SeasonTargets);
51260 }
51261
51262 StorageControllerBatch& SeasonTargets(VectorXd &value)
51263 {
51264 set_batch_val<VectorXd>(Properties::SeasonTargets, value);
51265 return *this;
51266 }
51267
51272 std::vector<VectorXd> SeasonTargetsLow()
51273 {
51274 return get_batch_valarray<VectorXd>(Properties::SeasonTargetsLow);
51275 }
51276
51278 {
51279 set_batch_val<VectorXd>(Properties::SeasonTargetsLow, value);
51280 return *this;
51281 }
51282
51288 {
51289 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
51290 }
51291
51292 StorageControllerBatch& basefreq(double value)
51293 {
51294 set_batch_val<double>(Properties::basefreq, value);
51295 return *this;
51296 }
51297
51298 template <typename T>
51300 {
51301 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
51302 return *this;
51303 }
51304
51305 template <typename T>
51306 StorageControllerBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
51307 {
51308 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
51309 return *this;
51310 }
51311
51316 bools enabled()
51317 {
51318 return get_batch_val<bools>(Properties::enabled);
51319 }
51320
51321 StorageControllerBatch& enabled(bool value)
51322 {
51323 set_batch_val(Properties::enabled, int32_t(value));
51324 return *this;
51325 }
51326
51327 StorageControllerBatch& enabled(bools &value)
51328 {
51329 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
51330 return *this;
51331 }
51332
51339 StorageControllerBatch& like(const string &value)
51340 {
51341 set_batch_val(Properties::like, value.c_str());
51342 return *this;
51343 }
51344
51351 StorageControllerBatch& like(const char *value)
51352 {
51353 set_batch_val(Properties::like, value);
51354 return *this;
51355 }
51356};
51357
51358
51360{
51361public:
51363 typedef Relay BatchElementClass;
51364
51365 // Shortcuts to class-specific enumerations
51369
51370
51375 DSSBatch(util, Relay::dss_cls_idx)
51376 {
51377 }
51378
51382 RelayBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
51383 DSSBatch(util, Relay::dss_cls_idx, prop_idx, prop_value)
51384 {
51385 }
51386
51390 RelayBatch(APIUtil *util, const char* regexp):
51391 DSSBatch(util, Relay::dss_cls_idx, regexp)
51392 {
51393 }
51394
51395
51396 RelayBatch& begin_edit()
51397 {
51398 Batch_BeginEdit(pointer, count[0]);
51399 return *this;
51400 }
51401
51402 RelayBatch& end_edit(int32_t num_edits=1)
51403 {
51404 Batch_EndEdit(pointer, count[0], num_edits);
51405 return *this;
51406 }
51407
51408
51414 {
51415 return get_batch_val<strings>(Properties::MonitoredObj);
51416 }
51417
51419 {
51420 set_batch_val(Properties::MonitoredObj, value);
51421 return *this;
51422 }
51423
51424 RelayBatch& MonitoredObj(const string &value)
51425 {
51426 set_batch_val(Properties::MonitoredObj, value);
51427 return *this;
51428 }
51429
51434 std::vector<dss::obj::DSSObj> MonitoredObj_obj()
51435 {
51436 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::MonitoredObj);
51437 }
51438
51440 {
51441 set_batch_val(Properties::MonitoredObj, value);
51442 return *this;
51443 }
51444
51450 {
51451 return BatchInt32ArrayProxy(*this, Properties::MonitoredTerm);
51452 }
51453
51454 RelayBatch& MonitoredTerm(int32_t value)
51455 {
51456 set_batch_val(Properties::MonitoredTerm, value);
51457 return *this;
51458 }
51459
51460 template <typename T>
51461 RelayBatch& MonitoredTerm(T &value)
51462 {
51463 set_batch_val_for_each<T>(Properties::MonitoredTerm, value.begin(), value.end());
51464 return *this;
51465 }
51466
51467 template <typename T>
51468 RelayBatch& MonitoredTerm(typename T::iterator it_begin, typename T::iterator it_end)
51469 {
51470 set_batch_val_for_each<T>(Properties::MonitoredTerm, it_begin, it_end);
51471 return *this;
51472 }
51473
51478 strings SwitchedObj()
51479 {
51480 return get_batch_val<strings>(Properties::SwitchedObj);
51481 }
51482
51484 {
51485 set_batch_val(Properties::SwitchedObj, value);
51486 return *this;
51487 }
51488
51489 RelayBatch& SwitchedObj(const string &value)
51490 {
51491 set_batch_val(Properties::SwitchedObj, value);
51492 return *this;
51493 }
51494
51499 std::vector<dss::obj::DSSObj> SwitchedObj_obj()
51500 {
51501 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::SwitchedObj);
51502 }
51503
51505 {
51506 set_batch_val(Properties::SwitchedObj, value);
51507 return *this;
51508 }
51509
51515 {
51516 return BatchInt32ArrayProxy(*this, Properties::SwitchedTerm);
51517 }
51518
51519 RelayBatch& SwitchedTerm(int32_t value)
51520 {
51521 set_batch_val(Properties::SwitchedTerm, value);
51522 return *this;
51523 }
51524
51525 template <typename T>
51526 RelayBatch& SwitchedTerm(T &value)
51527 {
51528 set_batch_val_for_each<T>(Properties::SwitchedTerm, value.begin(), value.end());
51529 return *this;
51530 }
51531
51532 template <typename T>
51533 RelayBatch& SwitchedTerm(typename T::iterator it_begin, typename T::iterator it_end)
51534 {
51535 set_batch_val_for_each<T>(Properties::SwitchedTerm, it_begin, it_end);
51536 return *this;
51537 }
51538
51555 {
51556 return BatchInt32ArrayProxy(*this, Properties::type);
51557 }
51558
51559 RelayBatch& type(string &value)
51560 {
51561 set_batch_val(Properties::type, value);
51562 return *this;
51563 }
51564
51565 RelayBatch& type(int32_t value)
51566 {
51567 set_batch_val(Properties::type, value);
51568 return *this;
51569 }
51570
51572 {
51573 set_batch_val(Properties::type, int32_t(value));
51574 return *this;
51575 }
51576
51577 RelayBatch& type(strings &value)
51578 {
51579 set_batch_val_for_each<strings>(Properties::type, value.begin(), value.end());
51580 return *this;
51581 }
51582
51583 RelayBatch& type(std::vector<int32_t> &value)
51584 {
51585 set_batch_val_for_each<std::vector<int32_t>>(Properties::type, value.begin(), value.end());
51586 return *this;
51587 }
51588
51589 RelayBatch& type(std::vector<Relay::RelayType> &value)
51590 {
51591 set_batch_val_for_each<std::vector<Relay::RelayType>>(Properties::type, value.begin(), value.end());
51592 return *this;
51593 }
51594
51610 strings type_str()
51611 {
51612 return get_batch_val<strings>(Properties::type);
51613 }
51614
51615 RelayBatch& type_str(string &value)
51616 {
51617 type(value);
51618 return *this;
51619 }
51620
51621 RelayBatch& type_str(strings &value)
51622 {
51623 type(value);
51624 return *this;
51625 }
51626
51631 strings Phasecurve()
51632 {
51633 return get_batch_val<strings>(Properties::Phasecurve);
51634 }
51635
51637 {
51638 set_batch_val(Properties::Phasecurve, value);
51639 return *this;
51640 }
51641
51642 RelayBatch& Phasecurve(const string &value)
51643 {
51644 set_batch_val(Properties::Phasecurve, value);
51645 return *this;
51646 }
51647
51652 std::vector<dss::obj::TCC_Curve> Phasecurve_obj()
51653 {
51654 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::Phasecurve);
51655 }
51656
51658 {
51659 set_batch_val(Properties::Phasecurve, value);
51660 return *this;
51661 }
51662
51667 strings Groundcurve()
51668 {
51669 return get_batch_val<strings>(Properties::Groundcurve);
51670 }
51671
51673 {
51674 set_batch_val(Properties::Groundcurve, value);
51675 return *this;
51676 }
51677
51678 RelayBatch& Groundcurve(const string &value)
51679 {
51680 set_batch_val(Properties::Groundcurve, value);
51681 return *this;
51682 }
51683
51688 std::vector<dss::obj::TCC_Curve> Groundcurve_obj()
51689 {
51690 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::Groundcurve);
51691 }
51692
51694 {
51695 set_batch_val(Properties::Groundcurve, value);
51696 return *this;
51697 }
51698
51704 {
51705 return BatchFloat64ArrayProxy(*this, Properties::PhaseTrip);
51706 }
51707
51708 RelayBatch& PhaseTrip(double value)
51709 {
51710 set_batch_val<double>(Properties::PhaseTrip, value);
51711 return *this;
51712 }
51713
51714 template <typename T>
51715 RelayBatch& PhaseTrip(T &value)
51716 {
51717 set_batch_val_for_each<T>(Properties::PhaseTrip, value.begin(), value.end());
51718 return *this;
51719 }
51720
51721 template <typename T>
51722 RelayBatch& PhaseTrip(typename T::iterator it_begin, typename T::iterator it_end)
51723 {
51724 set_batch_val_for_each<T>(Properties::PhaseTrip, it_begin, it_end);
51725 return *this;
51726 }
51727
51733 {
51734 return BatchFloat64ArrayProxy(*this, Properties::GroundTrip);
51735 }
51736
51737 RelayBatch& GroundTrip(double value)
51738 {
51739 set_batch_val<double>(Properties::GroundTrip, value);
51740 return *this;
51741 }
51742
51743 template <typename T>
51744 RelayBatch& GroundTrip(T &value)
51745 {
51746 set_batch_val_for_each<T>(Properties::GroundTrip, value.begin(), value.end());
51747 return *this;
51748 }
51749
51750 template <typename T>
51751 RelayBatch& GroundTrip(typename T::iterator it_begin, typename T::iterator it_end)
51752 {
51753 set_batch_val_for_each<T>(Properties::GroundTrip, it_begin, it_end);
51754 return *this;
51755 }
51756
51762 {
51763 return BatchFloat64ArrayProxy(*this, Properties::TDPhase);
51764 }
51765
51766 RelayBatch& TDPhase(double value)
51767 {
51768 set_batch_val<double>(Properties::TDPhase, value);
51769 return *this;
51770 }
51771
51772 template <typename T>
51773 RelayBatch& TDPhase(T &value)
51774 {
51775 set_batch_val_for_each<T>(Properties::TDPhase, value.begin(), value.end());
51776 return *this;
51777 }
51778
51779 template <typename T>
51780 RelayBatch& TDPhase(typename T::iterator it_begin, typename T::iterator it_end)
51781 {
51782 set_batch_val_for_each<T>(Properties::TDPhase, it_begin, it_end);
51783 return *this;
51784 }
51785
51791 {
51792 return BatchFloat64ArrayProxy(*this, Properties::TDGround);
51793 }
51794
51795 RelayBatch& TDGround(double value)
51796 {
51797 set_batch_val<double>(Properties::TDGround, value);
51798 return *this;
51799 }
51800
51801 template <typename T>
51802 RelayBatch& TDGround(T &value)
51803 {
51804 set_batch_val_for_each<T>(Properties::TDGround, value.begin(), value.end());
51805 return *this;
51806 }
51807
51808 template <typename T>
51809 RelayBatch& TDGround(typename T::iterator it_begin, typename T::iterator it_end)
51810 {
51811 set_batch_val_for_each<T>(Properties::TDGround, it_begin, it_end);
51812 return *this;
51813 }
51814
51820 {
51821 return BatchFloat64ArrayProxy(*this, Properties::PhaseInst);
51822 }
51823
51824 RelayBatch& PhaseInst(double value)
51825 {
51826 set_batch_val<double>(Properties::PhaseInst, value);
51827 return *this;
51828 }
51829
51830 template <typename T>
51831 RelayBatch& PhaseInst(T &value)
51832 {
51833 set_batch_val_for_each<T>(Properties::PhaseInst, value.begin(), value.end());
51834 return *this;
51835 }
51836
51837 template <typename T>
51838 RelayBatch& PhaseInst(typename T::iterator it_begin, typename T::iterator it_end)
51839 {
51840 set_batch_val_for_each<T>(Properties::PhaseInst, it_begin, it_end);
51841 return *this;
51842 }
51843
51849 {
51850 return BatchFloat64ArrayProxy(*this, Properties::GroundInst);
51851 }
51852
51853 RelayBatch& GroundInst(double value)
51854 {
51855 set_batch_val<double>(Properties::GroundInst, value);
51856 return *this;
51857 }
51858
51859 template <typename T>
51860 RelayBatch& GroundInst(T &value)
51861 {
51862 set_batch_val_for_each<T>(Properties::GroundInst, value.begin(), value.end());
51863 return *this;
51864 }
51865
51866 template <typename T>
51867 RelayBatch& GroundInst(typename T::iterator it_begin, typename T::iterator it_end)
51868 {
51869 set_batch_val_for_each<T>(Properties::GroundInst, it_begin, it_end);
51870 return *this;
51871 }
51872
51878 {
51879 return BatchFloat64ArrayProxy(*this, Properties::Reset);
51880 }
51881
51882 RelayBatch& Reset(double value)
51883 {
51884 set_batch_val<double>(Properties::Reset, value);
51885 return *this;
51886 }
51887
51888 template <typename T>
51889 RelayBatch& Reset(T &value)
51890 {
51891 set_batch_val_for_each<T>(Properties::Reset, value.begin(), value.end());
51892 return *this;
51893 }
51894
51895 template <typename T>
51896 RelayBatch& Reset(typename T::iterator it_begin, typename T::iterator it_end)
51897 {
51898 set_batch_val_for_each<T>(Properties::Reset, it_begin, it_end);
51899 return *this;
51900 }
51901
51907 {
51908 return BatchInt32ArrayProxy(*this, Properties::Shots);
51909 }
51910
51911 RelayBatch& Shots(int32_t value)
51912 {
51913 set_batch_val(Properties::Shots, value);
51914 return *this;
51915 }
51916
51917 template <typename T>
51918 RelayBatch& Shots(T &value)
51919 {
51920 set_batch_val_for_each<T>(Properties::Shots, value.begin(), value.end());
51921 return *this;
51922 }
51923
51924 template <typename T>
51925 RelayBatch& Shots(typename T::iterator it_begin, typename T::iterator it_end)
51926 {
51927 set_batch_val_for_each<T>(Properties::Shots, it_begin, it_end);
51928 return *this;
51929 }
51930
51935 std::vector<VectorXd> RecloseIntervals()
51936 {
51937 return get_batch_valarray<VectorXd>(Properties::RecloseIntervals);
51938 }
51939
51940 RelayBatch& RecloseIntervals(VectorXd &value)
51941 {
51942 set_batch_val<VectorXd>(Properties::RecloseIntervals, value);
51943 return *this;
51944 }
51945
51951 {
51952 return BatchFloat64ArrayProxy(*this, Properties::Delay);
51953 }
51954
51955 RelayBatch& Delay(double value)
51956 {
51957 set_batch_val<double>(Properties::Delay, value);
51958 return *this;
51959 }
51960
51961 template <typename T>
51962 RelayBatch& Delay(T &value)
51963 {
51964 set_batch_val_for_each<T>(Properties::Delay, value.begin(), value.end());
51965 return *this;
51966 }
51967
51968 template <typename T>
51969 RelayBatch& Delay(typename T::iterator it_begin, typename T::iterator it_end)
51970 {
51971 set_batch_val_for_each<T>(Properties::Delay, it_begin, it_end);
51972 return *this;
51973 }
51974
51980 {
51981 return get_batch_val<strings>(Properties::Overvoltcurve);
51982 }
51983
51985 {
51986 set_batch_val(Properties::Overvoltcurve, value);
51987 return *this;
51988 }
51989
51990 RelayBatch& Overvoltcurve(const string &value)
51991 {
51992 set_batch_val(Properties::Overvoltcurve, value);
51993 return *this;
51994 }
51995
52000 std::vector<dss::obj::TCC_Curve> Overvoltcurve_obj()
52001 {
52002 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::Overvoltcurve);
52003 }
52004
52006 {
52007 set_batch_val(Properties::Overvoltcurve, value);
52008 return *this;
52009 }
52010
52016 {
52017 return get_batch_val<strings>(Properties::Undervoltcurve);
52018 }
52019
52021 {
52022 set_batch_val(Properties::Undervoltcurve, value);
52023 return *this;
52024 }
52025
52026 RelayBatch& Undervoltcurve(const string &value)
52027 {
52028 set_batch_val(Properties::Undervoltcurve, value);
52029 return *this;
52030 }
52031
52036 std::vector<dss::obj::TCC_Curve> Undervoltcurve_obj()
52037 {
52038 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::Undervoltcurve);
52039 }
52040
52042 {
52043 set_batch_val(Properties::Undervoltcurve, value);
52044 return *this;
52045 }
52046
52052 {
52053 return BatchFloat64ArrayProxy(*this, Properties::kvbase);
52054 }
52055
52056 RelayBatch& kvbase(double value)
52057 {
52058 set_batch_val<double>(Properties::kvbase, value);
52059 return *this;
52060 }
52061
52062 template <typename T>
52063 RelayBatch& kvbase(T &value)
52064 {
52065 set_batch_val_for_each<T>(Properties::kvbase, value.begin(), value.end());
52066 return *this;
52067 }
52068
52069 template <typename T>
52070 RelayBatch& kvbase(typename T::iterator it_begin, typename T::iterator it_end)
52071 {
52072 set_batch_val_for_each<T>(Properties::kvbase, it_begin, it_end);
52073 return *this;
52074 }
52075
52081 {
52082 return BatchFloat64ArrayProxy(*this, Properties::pctPickup47);
52083 }
52084
52085 RelayBatch& pctPickup47(double value)
52086 {
52087 set_batch_val<double>(Properties::pctPickup47, value);
52088 return *this;
52089 }
52090
52091 template <typename T>
52092 RelayBatch& pctPickup47(T &value)
52093 {
52094 set_batch_val_for_each<T>(Properties::pctPickup47, value.begin(), value.end());
52095 return *this;
52096 }
52097
52098 template <typename T>
52099 RelayBatch& pctPickup47(typename T::iterator it_begin, typename T::iterator it_end)
52100 {
52101 set_batch_val_for_each<T>(Properties::pctPickup47, it_begin, it_end);
52102 return *this;
52103 }
52104
52110 {
52111 return BatchFloat64ArrayProxy(*this, Properties::BaseAmps46);
52112 }
52113
52114 RelayBatch& BaseAmps46(double value)
52115 {
52116 set_batch_val<double>(Properties::BaseAmps46, value);
52117 return *this;
52118 }
52119
52120 template <typename T>
52121 RelayBatch& BaseAmps46(T &value)
52122 {
52123 set_batch_val_for_each<T>(Properties::BaseAmps46, value.begin(), value.end());
52124 return *this;
52125 }
52126
52127 template <typename T>
52128 RelayBatch& BaseAmps46(typename T::iterator it_begin, typename T::iterator it_end)
52129 {
52130 set_batch_val_for_each<T>(Properties::BaseAmps46, it_begin, it_end);
52131 return *this;
52132 }
52133
52139 {
52140 return BatchFloat64ArrayProxy(*this, Properties::pctPickup46);
52141 }
52142
52143 RelayBatch& pctPickup46(double value)
52144 {
52145 set_batch_val<double>(Properties::pctPickup46, value);
52146 return *this;
52147 }
52148
52149 template <typename T>
52150 RelayBatch& pctPickup46(T &value)
52151 {
52152 set_batch_val_for_each<T>(Properties::pctPickup46, value.begin(), value.end());
52153 return *this;
52154 }
52155
52156 template <typename T>
52157 RelayBatch& pctPickup46(typename T::iterator it_begin, typename T::iterator it_end)
52158 {
52159 set_batch_val_for_each<T>(Properties::pctPickup46, it_begin, it_end);
52160 return *this;
52161 }
52162
52168 {
52169 return BatchFloat64ArrayProxy(*this, Properties::isqt46);
52170 }
52171
52172 RelayBatch& isqt46(double value)
52173 {
52174 set_batch_val<double>(Properties::isqt46, value);
52175 return *this;
52176 }
52177
52178 template <typename T>
52179 RelayBatch& isqt46(T &value)
52180 {
52181 set_batch_val_for_each<T>(Properties::isqt46, value.begin(), value.end());
52182 return *this;
52183 }
52184
52185 template <typename T>
52186 RelayBatch& isqt46(typename T::iterator it_begin, typename T::iterator it_end)
52187 {
52188 set_batch_val_for_each<T>(Properties::isqt46, it_begin, it_end);
52189 return *this;
52190 }
52191
52196 strings Variable()
52197 {
52198 return get_batch_val<strings>(Properties::Variable);
52199 }
52200
52201 RelayBatch& Variable(const string &value)
52202 {
52203 set_batch_val(Properties::Variable, value.c_str());
52204 return *this;
52205 }
52206
52207 RelayBatch& Variable(strings &value)
52208 {
52209 set_batch_val_for_each<strings>(Properties::Variable, value.begin(), value.end());
52210 return *this;
52211 }
52212
52218 {
52219 return BatchFloat64ArrayProxy(*this, Properties::overtrip);
52220 }
52221
52222 RelayBatch& overtrip(double value)
52223 {
52224 set_batch_val<double>(Properties::overtrip, value);
52225 return *this;
52226 }
52227
52228 template <typename T>
52229 RelayBatch& overtrip(T &value)
52230 {
52231 set_batch_val_for_each<T>(Properties::overtrip, value.begin(), value.end());
52232 return *this;
52233 }
52234
52235 template <typename T>
52236 RelayBatch& overtrip(typename T::iterator it_begin, typename T::iterator it_end)
52237 {
52238 set_batch_val_for_each<T>(Properties::overtrip, it_begin, it_end);
52239 return *this;
52240 }
52241
52247 {
52248 return BatchFloat64ArrayProxy(*this, Properties::undertrip);
52249 }
52250
52251 RelayBatch& undertrip(double value)
52252 {
52253 set_batch_val<double>(Properties::undertrip, value);
52254 return *this;
52255 }
52256
52257 template <typename T>
52258 RelayBatch& undertrip(T &value)
52259 {
52260 set_batch_val_for_each<T>(Properties::undertrip, value.begin(), value.end());
52261 return *this;
52262 }
52263
52264 template <typename T>
52265 RelayBatch& undertrip(typename T::iterator it_begin, typename T::iterator it_end)
52266 {
52267 set_batch_val_for_each<T>(Properties::undertrip, it_begin, it_end);
52268 return *this;
52269 }
52270
52276 {
52277 return BatchFloat64ArrayProxy(*this, Properties::Breakertime);
52278 }
52279
52280 RelayBatch& Breakertime(double value)
52281 {
52282 set_batch_val<double>(Properties::Breakertime, value);
52283 return *this;
52284 }
52285
52286 template <typename T>
52287 RelayBatch& Breakertime(T &value)
52288 {
52289 set_batch_val_for_each<T>(Properties::Breakertime, value.begin(), value.end());
52290 return *this;
52291 }
52292
52293 template <typename T>
52294 RelayBatch& Breakertime(typename T::iterator it_begin, typename T::iterator it_end)
52295 {
52296 set_batch_val_for_each<T>(Properties::Breakertime, it_begin, it_end);
52297 return *this;
52298 }
52299
52305 {
52306 return BatchInt32ArrayProxy(*this, Properties::action);
52307 }
52308
52309 RelayBatch& action(string &value)
52310 {
52311 set_batch_val(Properties::action, value);
52312 return *this;
52313 }
52314
52315 RelayBatch& action(int32_t value)
52316 {
52317 set_batch_val(Properties::action, value);
52318 return *this;
52319 }
52320
52322 {
52323 set_batch_val(Properties::action, int32_t(value));
52324 return *this;
52325 }
52326
52327 RelayBatch& action(strings &value)
52328 {
52329 set_batch_val_for_each<strings>(Properties::action, value.begin(), value.end());
52330 return *this;
52331 }
52332
52333 RelayBatch& action(std::vector<int32_t> &value)
52334 {
52335 set_batch_val_for_each<std::vector<int32_t>>(Properties::action, value.begin(), value.end());
52336 return *this;
52337 }
52338
52339 RelayBatch& action(std::vector<Relay::RelayAction> &value)
52340 {
52341 set_batch_val_for_each<std::vector<Relay::RelayAction>>(Properties::action, value.begin(), value.end());
52342 return *this;
52343 }
52344
52349 strings action_str()
52350 {
52351 return get_batch_val<strings>(Properties::action);
52352 }
52353
52354 RelayBatch& action_str(string &value)
52355 {
52356 action(value);
52357 return *this;
52358 }
52359
52360 RelayBatch& action_str(strings &value)
52361 {
52362 action(value);
52363 return *this;
52364 }
52365
52371 {
52372 return BatchFloat64ArrayProxy(*this, Properties::Z1mag);
52373 }
52374
52375 RelayBatch& Z1mag(double value)
52376 {
52377 set_batch_val<double>(Properties::Z1mag, value);
52378 return *this;
52379 }
52380
52381 template <typename T>
52382 RelayBatch& Z1mag(T &value)
52383 {
52384 set_batch_val_for_each<T>(Properties::Z1mag, value.begin(), value.end());
52385 return *this;
52386 }
52387
52388 template <typename T>
52389 RelayBatch& Z1mag(typename T::iterator it_begin, typename T::iterator it_end)
52390 {
52391 set_batch_val_for_each<T>(Properties::Z1mag, it_begin, it_end);
52392 return *this;
52393 }
52394
52400 {
52401 return BatchFloat64ArrayProxy(*this, Properties::Z1ang);
52402 }
52403
52404 RelayBatch& Z1ang(double value)
52405 {
52406 set_batch_val<double>(Properties::Z1ang, value);
52407 return *this;
52408 }
52409
52410 template <typename T>
52411 RelayBatch& Z1ang(T &value)
52412 {
52413 set_batch_val_for_each<T>(Properties::Z1ang, value.begin(), value.end());
52414 return *this;
52415 }
52416
52417 template <typename T>
52418 RelayBatch& Z1ang(typename T::iterator it_begin, typename T::iterator it_end)
52419 {
52420 set_batch_val_for_each<T>(Properties::Z1ang, it_begin, it_end);
52421 return *this;
52422 }
52423
52429 {
52430 return BatchFloat64ArrayProxy(*this, Properties::Z0mag);
52431 }
52432
52433 RelayBatch& Z0mag(double value)
52434 {
52435 set_batch_val<double>(Properties::Z0mag, value);
52436 return *this;
52437 }
52438
52439 template <typename T>
52440 RelayBatch& Z0mag(T &value)
52441 {
52442 set_batch_val_for_each<T>(Properties::Z0mag, value.begin(), value.end());
52443 return *this;
52444 }
52445
52446 template <typename T>
52447 RelayBatch& Z0mag(typename T::iterator it_begin, typename T::iterator it_end)
52448 {
52449 set_batch_val_for_each<T>(Properties::Z0mag, it_begin, it_end);
52450 return *this;
52451 }
52452
52458 {
52459 return BatchFloat64ArrayProxy(*this, Properties::Z0ang);
52460 }
52461
52462 RelayBatch& Z0ang(double value)
52463 {
52464 set_batch_val<double>(Properties::Z0ang, value);
52465 return *this;
52466 }
52467
52468 template <typename T>
52469 RelayBatch& Z0ang(T &value)
52470 {
52471 set_batch_val_for_each<T>(Properties::Z0ang, value.begin(), value.end());
52472 return *this;
52473 }
52474
52475 template <typename T>
52476 RelayBatch& Z0ang(typename T::iterator it_begin, typename T::iterator it_end)
52477 {
52478 set_batch_val_for_each<T>(Properties::Z0ang, it_begin, it_end);
52479 return *this;
52480 }
52481
52487 {
52488 return BatchFloat64ArrayProxy(*this, Properties::Mphase);
52489 }
52490
52491 RelayBatch& Mphase(double value)
52492 {
52493 set_batch_val<double>(Properties::Mphase, value);
52494 return *this;
52495 }
52496
52497 template <typename T>
52498 RelayBatch& Mphase(T &value)
52499 {
52500 set_batch_val_for_each<T>(Properties::Mphase, value.begin(), value.end());
52501 return *this;
52502 }
52503
52504 template <typename T>
52505 RelayBatch& Mphase(typename T::iterator it_begin, typename T::iterator it_end)
52506 {
52507 set_batch_val_for_each<T>(Properties::Mphase, it_begin, it_end);
52508 return *this;
52509 }
52510
52516 {
52517 return BatchFloat64ArrayProxy(*this, Properties::Mground);
52518 }
52519
52520 RelayBatch& Mground(double value)
52521 {
52522 set_batch_val<double>(Properties::Mground, value);
52523 return *this;
52524 }
52525
52526 template <typename T>
52527 RelayBatch& Mground(T &value)
52528 {
52529 set_batch_val_for_each<T>(Properties::Mground, value.begin(), value.end());
52530 return *this;
52531 }
52532
52533 template <typename T>
52534 RelayBatch& Mground(typename T::iterator it_begin, typename T::iterator it_end)
52535 {
52536 set_batch_val_for_each<T>(Properties::Mground, it_begin, it_end);
52537 return *this;
52538 }
52539
52544 bools EventLog()
52545 {
52546 return get_batch_val<bools>(Properties::EventLog);
52547 }
52548
52549 RelayBatch& EventLog(bool value)
52550 {
52551 set_batch_val(Properties::EventLog, int32_t(value));
52552 return *this;
52553 }
52554
52555 RelayBatch& EventLog(bools &value)
52556 {
52557 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
52558 return *this;
52559 }
52560
52566 {
52567 return get_batch_val<bools>(Properties::DebugTrace);
52568 }
52569
52570 RelayBatch& DebugTrace(bool value)
52571 {
52572 set_batch_val(Properties::DebugTrace, int32_t(value));
52573 return *this;
52574 }
52575
52576 RelayBatch& DebugTrace(bools &value)
52577 {
52578 set_batch_val_for_each<std::vector<int32_t>>(Properties::DebugTrace, value.begin(), value.end());
52579 return *this;
52580 }
52581
52587 {
52588 return get_batch_val<bools>(Properties::DistReverse);
52589 }
52590
52591 RelayBatch& DistReverse(bool value)
52592 {
52593 set_batch_val(Properties::DistReverse, int32_t(value));
52594 return *this;
52595 }
52596
52597 RelayBatch& DistReverse(bools &value)
52598 {
52599 set_batch_val_for_each<std::vector<int32_t>>(Properties::DistReverse, value.begin(), value.end());
52600 return *this;
52601 }
52602
52608 {
52609 return BatchInt32ArrayProxy(*this, Properties::Normal);
52610 }
52611
52612 RelayBatch& Normal(string &value)
52613 {
52614 set_batch_val(Properties::Normal, value);
52615 return *this;
52616 }
52617
52618 RelayBatch& Normal(int32_t value)
52619 {
52620 set_batch_val(Properties::Normal, value);
52621 return *this;
52622 }
52623
52625 {
52626 set_batch_val(Properties::Normal, int32_t(value));
52627 return *this;
52628 }
52629
52630 RelayBatch& Normal(strings &value)
52631 {
52632 set_batch_val_for_each<strings>(Properties::Normal, value.begin(), value.end());
52633 return *this;
52634 }
52635
52636 RelayBatch& Normal(std::vector<int32_t> &value)
52637 {
52638 set_batch_val_for_each<std::vector<int32_t>>(Properties::Normal, value.begin(), value.end());
52639 return *this;
52640 }
52641
52642 RelayBatch& Normal(std::vector<Relay::RelayState> &value)
52643 {
52644 set_batch_val_for_each<std::vector<Relay::RelayState>>(Properties::Normal, value.begin(), value.end());
52645 return *this;
52646 }
52647
52652 strings Normal_str()
52653 {
52654 return get_batch_val<strings>(Properties::Normal);
52655 }
52656
52657 RelayBatch& Normal_str(string &value)
52658 {
52659 Normal(value);
52660 return *this;
52661 }
52662
52663 RelayBatch& Normal_str(strings &value)
52664 {
52665 Normal(value);
52666 return *this;
52667 }
52668
52674 {
52675 return BatchInt32ArrayProxy(*this, Properties::State);
52676 }
52677
52678 RelayBatch& State(string &value)
52679 {
52680 set_batch_val(Properties::State, value);
52681 return *this;
52682 }
52683
52684 RelayBatch& State(int32_t value)
52685 {
52686 set_batch_val(Properties::State, value);
52687 return *this;
52688 }
52689
52691 {
52692 set_batch_val(Properties::State, int32_t(value));
52693 return *this;
52694 }
52695
52696 RelayBatch& State(strings &value)
52697 {
52698 set_batch_val_for_each<strings>(Properties::State, value.begin(), value.end());
52699 return *this;
52700 }
52701
52702 RelayBatch& State(std::vector<int32_t> &value)
52703 {
52704 set_batch_val_for_each<std::vector<int32_t>>(Properties::State, value.begin(), value.end());
52705 return *this;
52706 }
52707
52708 RelayBatch& State(std::vector<Relay::RelayState> &value)
52709 {
52710 set_batch_val_for_each<std::vector<Relay::RelayState>>(Properties::State, value.begin(), value.end());
52711 return *this;
52712 }
52713
52718 strings State_str()
52719 {
52720 return get_batch_val<strings>(Properties::State);
52721 }
52722
52723 RelayBatch& State_str(string &value)
52724 {
52725 State(value);
52726 return *this;
52727 }
52728
52729 RelayBatch& State_str(strings &value)
52730 {
52731 State(value);
52732 return *this;
52733 }
52734
52740 {
52741 return BatchFloat64ArrayProxy(*this, Properties::DOC_TiltAngleLow);
52742 }
52743
52744 RelayBatch& DOC_TiltAngleLow(double value)
52745 {
52746 set_batch_val<double>(Properties::DOC_TiltAngleLow, value);
52747 return *this;
52748 }
52749
52750 template <typename T>
52751 RelayBatch& DOC_TiltAngleLow(T &value)
52752 {
52753 set_batch_val_for_each<T>(Properties::DOC_TiltAngleLow, value.begin(), value.end());
52754 return *this;
52755 }
52756
52757 template <typename T>
52758 RelayBatch& DOC_TiltAngleLow(typename T::iterator it_begin, typename T::iterator it_end)
52759 {
52760 set_batch_val_for_each<T>(Properties::DOC_TiltAngleLow, it_begin, it_end);
52761 return *this;
52762 }
52763
52769 {
52770 return BatchFloat64ArrayProxy(*this, Properties::DOC_TiltAngleHigh);
52771 }
52772
52773 RelayBatch& DOC_TiltAngleHigh(double value)
52774 {
52775 set_batch_val<double>(Properties::DOC_TiltAngleHigh, value);
52776 return *this;
52777 }
52778
52779 template <typename T>
52780 RelayBatch& DOC_TiltAngleHigh(T &value)
52781 {
52782 set_batch_val_for_each<T>(Properties::DOC_TiltAngleHigh, value.begin(), value.end());
52783 return *this;
52784 }
52785
52786 template <typename T>
52787 RelayBatch& DOC_TiltAngleHigh(typename T::iterator it_begin, typename T::iterator it_end)
52788 {
52789 set_batch_val_for_each<T>(Properties::DOC_TiltAngleHigh, it_begin, it_end);
52790 return *this;
52791 }
52792
52798 {
52799 return BatchFloat64ArrayProxy(*this, Properties::DOC_TripSettingLow);
52800 }
52801
52802 RelayBatch& DOC_TripSettingLow(double value)
52803 {
52804 set_batch_val<double>(Properties::DOC_TripSettingLow, value);
52805 return *this;
52806 }
52807
52808 template <typename T>
52810 {
52811 set_batch_val_for_each<T>(Properties::DOC_TripSettingLow, value.begin(), value.end());
52812 return *this;
52813 }
52814
52815 template <typename T>
52816 RelayBatch& DOC_TripSettingLow(typename T::iterator it_begin, typename T::iterator it_end)
52817 {
52818 set_batch_val_for_each<T>(Properties::DOC_TripSettingLow, it_begin, it_end);
52819 return *this;
52820 }
52821
52827 {
52828 return BatchFloat64ArrayProxy(*this, Properties::DOC_TripSettingHigh);
52829 }
52830
52831 RelayBatch& DOC_TripSettingHigh(double value)
52832 {
52833 set_batch_val<double>(Properties::DOC_TripSettingHigh, value);
52834 return *this;
52835 }
52836
52837 template <typename T>
52839 {
52840 set_batch_val_for_each<T>(Properties::DOC_TripSettingHigh, value.begin(), value.end());
52841 return *this;
52842 }
52843
52844 template <typename T>
52845 RelayBatch& DOC_TripSettingHigh(typename T::iterator it_begin, typename T::iterator it_end)
52846 {
52847 set_batch_val_for_each<T>(Properties::DOC_TripSettingHigh, it_begin, it_end);
52848 return *this;
52849 }
52850
52856 {
52857 return BatchFloat64ArrayProxy(*this, Properties::DOC_TripSettingMag);
52858 }
52859
52860 RelayBatch& DOC_TripSettingMag(double value)
52861 {
52862 set_batch_val<double>(Properties::DOC_TripSettingMag, value);
52863 return *this;
52864 }
52865
52866 template <typename T>
52868 {
52869 set_batch_val_for_each<T>(Properties::DOC_TripSettingMag, value.begin(), value.end());
52870 return *this;
52871 }
52872
52873 template <typename T>
52874 RelayBatch& DOC_TripSettingMag(typename T::iterator it_begin, typename T::iterator it_end)
52875 {
52876 set_batch_val_for_each<T>(Properties::DOC_TripSettingMag, it_begin, it_end);
52877 return *this;
52878 }
52879
52885 {
52886 return BatchFloat64ArrayProxy(*this, Properties::DOC_DelayInner);
52887 }
52888
52889 RelayBatch& DOC_DelayInner(double value)
52890 {
52891 set_batch_val<double>(Properties::DOC_DelayInner, value);
52892 return *this;
52893 }
52894
52895 template <typename T>
52896 RelayBatch& DOC_DelayInner(T &value)
52897 {
52898 set_batch_val_for_each<T>(Properties::DOC_DelayInner, value.begin(), value.end());
52899 return *this;
52900 }
52901
52902 template <typename T>
52903 RelayBatch& DOC_DelayInner(typename T::iterator it_begin, typename T::iterator it_end)
52904 {
52905 set_batch_val_for_each<T>(Properties::DOC_DelayInner, it_begin, it_end);
52906 return *this;
52907 }
52908
52914 {
52915 return BatchFloat64ArrayProxy(*this, Properties::DOC_PhaseCurveInner);
52916 }
52917
52918 RelayBatch& DOC_PhaseCurveInner(double value)
52919 {
52920 set_batch_val<double>(Properties::DOC_PhaseCurveInner, value);
52921 return *this;
52922 }
52923
52924 template <typename T>
52926 {
52927 set_batch_val_for_each<T>(Properties::DOC_PhaseCurveInner, value.begin(), value.end());
52928 return *this;
52929 }
52930
52931 template <typename T>
52932 RelayBatch& DOC_PhaseCurveInner(typename T::iterator it_begin, typename T::iterator it_end)
52933 {
52934 set_batch_val_for_each<T>(Properties::DOC_PhaseCurveInner, it_begin, it_end);
52935 return *this;
52936 }
52937
52943 {
52944 return BatchFloat64ArrayProxy(*this, Properties::DOC_PhaseTripInner);
52945 }
52946
52947 RelayBatch& DOC_PhaseTripInner(double value)
52948 {
52949 set_batch_val<double>(Properties::DOC_PhaseTripInner, value);
52950 return *this;
52951 }
52952
52953 template <typename T>
52955 {
52956 set_batch_val_for_each<T>(Properties::DOC_PhaseTripInner, value.begin(), value.end());
52957 return *this;
52958 }
52959
52960 template <typename T>
52961 RelayBatch& DOC_PhaseTripInner(typename T::iterator it_begin, typename T::iterator it_end)
52962 {
52963 set_batch_val_for_each<T>(Properties::DOC_PhaseTripInner, it_begin, it_end);
52964 return *this;
52965 }
52966
52972 {
52973 return get_batch_val<strings>(Properties::DOC_TDPhaseInner);
52974 }
52975
52977 {
52978 set_batch_val(Properties::DOC_TDPhaseInner, value);
52979 return *this;
52980 }
52981
52982 RelayBatch& DOC_TDPhaseInner(const string &value)
52983 {
52984 set_batch_val(Properties::DOC_TDPhaseInner, value);
52985 return *this;
52986 }
52987
52992 std::vector<dss::obj::TCC_Curve> DOC_TDPhaseInner_obj()
52993 {
52994 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::DOC_TDPhaseInner);
52995 }
52996
52998 {
52999 set_batch_val(Properties::DOC_TDPhaseInner, value);
53000 return *this;
53001 }
53002
53008 {
53009 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
53010 }
53011
53012 RelayBatch& basefreq(double value)
53013 {
53014 set_batch_val<double>(Properties::basefreq, value);
53015 return *this;
53016 }
53017
53018 template <typename T>
53019 RelayBatch& basefreq(T &value)
53020 {
53021 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
53022 return *this;
53023 }
53024
53025 template <typename T>
53026 RelayBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
53027 {
53028 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
53029 return *this;
53030 }
53031
53036 bools enabled()
53037 {
53038 return get_batch_val<bools>(Properties::enabled);
53039 }
53040
53041 RelayBatch& enabled(bool value)
53042 {
53043 set_batch_val(Properties::enabled, int32_t(value));
53044 return *this;
53045 }
53046
53047 RelayBatch& enabled(bools &value)
53048 {
53049 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
53050 return *this;
53051 }
53052
53059 RelayBatch& like(const string &value)
53060 {
53061 set_batch_val(Properties::like, value.c_str());
53062 return *this;
53063 }
53064
53071 RelayBatch& like(const char *value)
53072 {
53073 set_batch_val(Properties::like, value);
53074 return *this;
53075 }
53076};
53077
53078
53080{
53081public:
53084
53085 // Shortcuts to class-specific enumerations
53088
53089
53094 DSSBatch(util, Recloser::dss_cls_idx)
53095 {
53096 }
53097
53101 RecloserBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
53102 DSSBatch(util, Recloser::dss_cls_idx, prop_idx, prop_value)
53103 {
53104 }
53105
53109 RecloserBatch(APIUtil *util, const char* regexp):
53110 DSSBatch(util, Recloser::dss_cls_idx, regexp)
53111 {
53112 }
53113
53114
53115 RecloserBatch& begin_edit()
53116 {
53117 Batch_BeginEdit(pointer, count[0]);
53118 return *this;
53119 }
53120
53121 RecloserBatch& end_edit(int32_t num_edits=1)
53122 {
53123 Batch_EndEdit(pointer, count[0], num_edits);
53124 return *this;
53125 }
53126
53127
53133 {
53134 return get_batch_val<strings>(Properties::MonitoredObj);
53135 }
53136
53138 {
53139 set_batch_val(Properties::MonitoredObj, value);
53140 return *this;
53141 }
53142
53143 RecloserBatch& MonitoredObj(const string &value)
53144 {
53145 set_batch_val(Properties::MonitoredObj, value);
53146 return *this;
53147 }
53148
53153 std::vector<dss::obj::DSSObj> MonitoredObj_obj()
53154 {
53155 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::MonitoredObj);
53156 }
53157
53159 {
53160 set_batch_val(Properties::MonitoredObj, value);
53161 return *this;
53162 }
53163
53169 {
53170 return BatchInt32ArrayProxy(*this, Properties::MonitoredTerm);
53171 }
53172
53173 RecloserBatch& MonitoredTerm(int32_t value)
53174 {
53175 set_batch_val(Properties::MonitoredTerm, value);
53176 return *this;
53177 }
53178
53179 template <typename T>
53180 RecloserBatch& MonitoredTerm(T &value)
53181 {
53182 set_batch_val_for_each<T>(Properties::MonitoredTerm, value.begin(), value.end());
53183 return *this;
53184 }
53185
53186 template <typename T>
53187 RecloserBatch& MonitoredTerm(typename T::iterator it_begin, typename T::iterator it_end)
53188 {
53189 set_batch_val_for_each<T>(Properties::MonitoredTerm, it_begin, it_end);
53190 return *this;
53191 }
53192
53197 strings SwitchedObj()
53198 {
53199 return get_batch_val<strings>(Properties::SwitchedObj);
53200 }
53201
53203 {
53204 set_batch_val(Properties::SwitchedObj, value);
53205 return *this;
53206 }
53207
53208 RecloserBatch& SwitchedObj(const string &value)
53209 {
53210 set_batch_val(Properties::SwitchedObj, value);
53211 return *this;
53212 }
53213
53218 std::vector<dss::obj::DSSObj> SwitchedObj_obj()
53219 {
53220 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::SwitchedObj);
53221 }
53222
53224 {
53225 set_batch_val(Properties::SwitchedObj, value);
53226 return *this;
53227 }
53228
53234 {
53235 return BatchInt32ArrayProxy(*this, Properties::SwitchedTerm);
53236 }
53237
53238 RecloserBatch& SwitchedTerm(int32_t value)
53239 {
53240 set_batch_val(Properties::SwitchedTerm, value);
53241 return *this;
53242 }
53243
53244 template <typename T>
53245 RecloserBatch& SwitchedTerm(T &value)
53246 {
53247 set_batch_val_for_each<T>(Properties::SwitchedTerm, value.begin(), value.end());
53248 return *this;
53249 }
53250
53251 template <typename T>
53252 RecloserBatch& SwitchedTerm(typename T::iterator it_begin, typename T::iterator it_end)
53253 {
53254 set_batch_val_for_each<T>(Properties::SwitchedTerm, it_begin, it_end);
53255 return *this;
53256 }
53257
53263 {
53264 return BatchInt32ArrayProxy(*this, Properties::NumFast);
53265 }
53266
53267 RecloserBatch& NumFast(int32_t value)
53268 {
53269 set_batch_val(Properties::NumFast, value);
53270 return *this;
53271 }
53272
53273 template <typename T>
53274 RecloserBatch& NumFast(T &value)
53275 {
53276 set_batch_val_for_each<T>(Properties::NumFast, value.begin(), value.end());
53277 return *this;
53278 }
53279
53280 template <typename T>
53281 RecloserBatch& NumFast(typename T::iterator it_begin, typename T::iterator it_end)
53282 {
53283 set_batch_val_for_each<T>(Properties::NumFast, it_begin, it_end);
53284 return *this;
53285 }
53286
53291 strings PhaseFast()
53292 {
53293 return get_batch_val<strings>(Properties::PhaseFast);
53294 }
53295
53297 {
53298 set_batch_val(Properties::PhaseFast, value);
53299 return *this;
53300 }
53301
53302 RecloserBatch& PhaseFast(const string &value)
53303 {
53304 set_batch_val(Properties::PhaseFast, value);
53305 return *this;
53306 }
53307
53312 std::vector<dss::obj::TCC_Curve> PhaseFast_obj()
53313 {
53314 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::PhaseFast);
53315 }
53316
53318 {
53319 set_batch_val(Properties::PhaseFast, value);
53320 return *this;
53321 }
53322
53328 {
53329 return get_batch_val<strings>(Properties::PhaseDelayed);
53330 }
53331
53333 {
53334 set_batch_val(Properties::PhaseDelayed, value);
53335 return *this;
53336 }
53337
53338 RecloserBatch& PhaseDelayed(const string &value)
53339 {
53340 set_batch_val(Properties::PhaseDelayed, value);
53341 return *this;
53342 }
53343
53348 std::vector<dss::obj::TCC_Curve> PhaseDelayed_obj()
53349 {
53350 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::PhaseDelayed);
53351 }
53352
53354 {
53355 set_batch_val(Properties::PhaseDelayed, value);
53356 return *this;
53357 }
53358
53363 strings GroundFast()
53364 {
53365 return get_batch_val<strings>(Properties::GroundFast);
53366 }
53367
53369 {
53370 set_batch_val(Properties::GroundFast, value);
53371 return *this;
53372 }
53373
53374 RecloserBatch& GroundFast(const string &value)
53375 {
53376 set_batch_val(Properties::GroundFast, value);
53377 return *this;
53378 }
53379
53384 std::vector<dss::obj::TCC_Curve> GroundFast_obj()
53385 {
53386 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::GroundFast);
53387 }
53388
53390 {
53391 set_batch_val(Properties::GroundFast, value);
53392 return *this;
53393 }
53394
53400 {
53401 return get_batch_val<strings>(Properties::GroundDelayed);
53402 }
53403
53405 {
53406 set_batch_val(Properties::GroundDelayed, value);
53407 return *this;
53408 }
53409
53410 RecloserBatch& GroundDelayed(const string &value)
53411 {
53412 set_batch_val(Properties::GroundDelayed, value);
53413 return *this;
53414 }
53415
53420 std::vector<dss::obj::TCC_Curve> GroundDelayed_obj()
53421 {
53422 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::GroundDelayed);
53423 }
53424
53426 {
53427 set_batch_val(Properties::GroundDelayed, value);
53428 return *this;
53429 }
53430
53436 {
53437 return BatchFloat64ArrayProxy(*this, Properties::PhaseTrip);
53438 }
53439
53440 RecloserBatch& PhaseTrip(double value)
53441 {
53442 set_batch_val<double>(Properties::PhaseTrip, value);
53443 return *this;
53444 }
53445
53446 template <typename T>
53447 RecloserBatch& PhaseTrip(T &value)
53448 {
53449 set_batch_val_for_each<T>(Properties::PhaseTrip, value.begin(), value.end());
53450 return *this;
53451 }
53452
53453 template <typename T>
53454 RecloserBatch& PhaseTrip(typename T::iterator it_begin, typename T::iterator it_end)
53455 {
53456 set_batch_val_for_each<T>(Properties::PhaseTrip, it_begin, it_end);
53457 return *this;
53458 }
53459
53465 {
53466 return BatchFloat64ArrayProxy(*this, Properties::GroundTrip);
53467 }
53468
53469 RecloserBatch& GroundTrip(double value)
53470 {
53471 set_batch_val<double>(Properties::GroundTrip, value);
53472 return *this;
53473 }
53474
53475 template <typename T>
53476 RecloserBatch& GroundTrip(T &value)
53477 {
53478 set_batch_val_for_each<T>(Properties::GroundTrip, value.begin(), value.end());
53479 return *this;
53480 }
53481
53482 template <typename T>
53483 RecloserBatch& GroundTrip(typename T::iterator it_begin, typename T::iterator it_end)
53484 {
53485 set_batch_val_for_each<T>(Properties::GroundTrip, it_begin, it_end);
53486 return *this;
53487 }
53488
53494 {
53495 return BatchFloat64ArrayProxy(*this, Properties::PhaseInst);
53496 }
53497
53498 RecloserBatch& PhaseInst(double value)
53499 {
53500 set_batch_val<double>(Properties::PhaseInst, value);
53501 return *this;
53502 }
53503
53504 template <typename T>
53505 RecloserBatch& PhaseInst(T &value)
53506 {
53507 set_batch_val_for_each<T>(Properties::PhaseInst, value.begin(), value.end());
53508 return *this;
53509 }
53510
53511 template <typename T>
53512 RecloserBatch& PhaseInst(typename T::iterator it_begin, typename T::iterator it_end)
53513 {
53514 set_batch_val_for_each<T>(Properties::PhaseInst, it_begin, it_end);
53515 return *this;
53516 }
53517
53523 {
53524 return BatchFloat64ArrayProxy(*this, Properties::GroundInst);
53525 }
53526
53527 RecloserBatch& GroundInst(double value)
53528 {
53529 set_batch_val<double>(Properties::GroundInst, value);
53530 return *this;
53531 }
53532
53533 template <typename T>
53534 RecloserBatch& GroundInst(T &value)
53535 {
53536 set_batch_val_for_each<T>(Properties::GroundInst, value.begin(), value.end());
53537 return *this;
53538 }
53539
53540 template <typename T>
53541 RecloserBatch& GroundInst(typename T::iterator it_begin, typename T::iterator it_end)
53542 {
53543 set_batch_val_for_each<T>(Properties::GroundInst, it_begin, it_end);
53544 return *this;
53545 }
53546
53552 {
53553 return BatchFloat64ArrayProxy(*this, Properties::Reset);
53554 }
53555
53556 RecloserBatch& Reset(double value)
53557 {
53558 set_batch_val<double>(Properties::Reset, value);
53559 return *this;
53560 }
53561
53562 template <typename T>
53563 RecloserBatch& Reset(T &value)
53564 {
53565 set_batch_val_for_each<T>(Properties::Reset, value.begin(), value.end());
53566 return *this;
53567 }
53568
53569 template <typename T>
53570 RecloserBatch& Reset(typename T::iterator it_begin, typename T::iterator it_end)
53571 {
53572 set_batch_val_for_each<T>(Properties::Reset, it_begin, it_end);
53573 return *this;
53574 }
53575
53581 {
53582 return BatchInt32ArrayProxy(*this, Properties::Shots);
53583 }
53584
53585 RecloserBatch& Shots(int32_t value)
53586 {
53587 set_batch_val(Properties::Shots, value);
53588 return *this;
53589 }
53590
53591 template <typename T>
53592 RecloserBatch& Shots(T &value)
53593 {
53594 set_batch_val_for_each<T>(Properties::Shots, value.begin(), value.end());
53595 return *this;
53596 }
53597
53598 template <typename T>
53599 RecloserBatch& Shots(typename T::iterator it_begin, typename T::iterator it_end)
53600 {
53601 set_batch_val_for_each<T>(Properties::Shots, it_begin, it_end);
53602 return *this;
53603 }
53604
53609 std::vector<VectorXd> RecloseIntervals()
53610 {
53611 return get_batch_valarray<VectorXd>(Properties::RecloseIntervals);
53612 }
53613
53614 RecloserBatch& RecloseIntervals(VectorXd &value)
53615 {
53616 set_batch_val<VectorXd>(Properties::RecloseIntervals, value);
53617 return *this;
53618 }
53619
53625 {
53626 return BatchFloat64ArrayProxy(*this, Properties::Delay);
53627 }
53628
53629 RecloserBatch& Delay(double value)
53630 {
53631 set_batch_val<double>(Properties::Delay, value);
53632 return *this;
53633 }
53634
53635 template <typename T>
53636 RecloserBatch& Delay(T &value)
53637 {
53638 set_batch_val_for_each<T>(Properties::Delay, value.begin(), value.end());
53639 return *this;
53640 }
53641
53642 template <typename T>
53643 RecloserBatch& Delay(typename T::iterator it_begin, typename T::iterator it_end)
53644 {
53645 set_batch_val_for_each<T>(Properties::Delay, it_begin, it_end);
53646 return *this;
53647 }
53648
53654 {
53655 return BatchInt32ArrayProxy(*this, Properties::Action);
53656 }
53657
53658 RecloserBatch& Action(string &value)
53659 {
53660 set_batch_val(Properties::Action, value);
53661 return *this;
53662 }
53663
53664 RecloserBatch& Action(int32_t value)
53665 {
53666 set_batch_val(Properties::Action, value);
53667 return *this;
53668 }
53669
53671 {
53672 set_batch_val(Properties::Action, int32_t(value));
53673 return *this;
53674 }
53675
53676 RecloserBatch& Action(strings &value)
53677 {
53678 set_batch_val_for_each<strings>(Properties::Action, value.begin(), value.end());
53679 return *this;
53680 }
53681
53682 RecloserBatch& Action(std::vector<int32_t> &value)
53683 {
53684 set_batch_val_for_each<std::vector<int32_t>>(Properties::Action, value.begin(), value.end());
53685 return *this;
53686 }
53687
53688 RecloserBatch& Action(std::vector<Recloser::RecloserAction> &value)
53689 {
53690 set_batch_val_for_each<std::vector<Recloser::RecloserAction>>(Properties::Action, value.begin(), value.end());
53691 return *this;
53692 }
53693
53698 strings Action_str()
53699 {
53700 return get_batch_val<strings>(Properties::Action);
53701 }
53702
53703 RecloserBatch& Action_str(string &value)
53704 {
53705 Action(value);
53706 return *this;
53707 }
53708
53709 RecloserBatch& Action_str(strings &value)
53710 {
53711 Action(value);
53712 return *this;
53713 }
53714
53720 {
53721 return BatchFloat64ArrayProxy(*this, Properties::TDPhFast);
53722 }
53723
53724 RecloserBatch& TDPhFast(double value)
53725 {
53726 set_batch_val<double>(Properties::TDPhFast, value);
53727 return *this;
53728 }
53729
53730 template <typename T>
53731 RecloserBatch& TDPhFast(T &value)
53732 {
53733 set_batch_val_for_each<T>(Properties::TDPhFast, value.begin(), value.end());
53734 return *this;
53735 }
53736
53737 template <typename T>
53738 RecloserBatch& TDPhFast(typename T::iterator it_begin, typename T::iterator it_end)
53739 {
53740 set_batch_val_for_each<T>(Properties::TDPhFast, it_begin, it_end);
53741 return *this;
53742 }
53743
53749 {
53750 return BatchFloat64ArrayProxy(*this, Properties::TDGrFast);
53751 }
53752
53753 RecloserBatch& TDGrFast(double value)
53754 {
53755 set_batch_val<double>(Properties::TDGrFast, value);
53756 return *this;
53757 }
53758
53759 template <typename T>
53760 RecloserBatch& TDGrFast(T &value)
53761 {
53762 set_batch_val_for_each<T>(Properties::TDGrFast, value.begin(), value.end());
53763 return *this;
53764 }
53765
53766 template <typename T>
53767 RecloserBatch& TDGrFast(typename T::iterator it_begin, typename T::iterator it_end)
53768 {
53769 set_batch_val_for_each<T>(Properties::TDGrFast, it_begin, it_end);
53770 return *this;
53771 }
53772
53778 {
53779 return BatchFloat64ArrayProxy(*this, Properties::TDPhDelayed);
53780 }
53781
53782 RecloserBatch& TDPhDelayed(double value)
53783 {
53784 set_batch_val<double>(Properties::TDPhDelayed, value);
53785 return *this;
53786 }
53787
53788 template <typename T>
53789 RecloserBatch& TDPhDelayed(T &value)
53790 {
53791 set_batch_val_for_each<T>(Properties::TDPhDelayed, value.begin(), value.end());
53792 return *this;
53793 }
53794
53795 template <typename T>
53796 RecloserBatch& TDPhDelayed(typename T::iterator it_begin, typename T::iterator it_end)
53797 {
53798 set_batch_val_for_each<T>(Properties::TDPhDelayed, it_begin, it_end);
53799 return *this;
53800 }
53801
53807 {
53808 return BatchFloat64ArrayProxy(*this, Properties::TDGrDelayed);
53809 }
53810
53811 RecloserBatch& TDGrDelayed(double value)
53812 {
53813 set_batch_val<double>(Properties::TDGrDelayed, value);
53814 return *this;
53815 }
53816
53817 template <typename T>
53818 RecloserBatch& TDGrDelayed(T &value)
53819 {
53820 set_batch_val_for_each<T>(Properties::TDGrDelayed, value.begin(), value.end());
53821 return *this;
53822 }
53823
53824 template <typename T>
53825 RecloserBatch& TDGrDelayed(typename T::iterator it_begin, typename T::iterator it_end)
53826 {
53827 set_batch_val_for_each<T>(Properties::TDGrDelayed, it_begin, it_end);
53828 return *this;
53829 }
53830
53836 {
53837 return BatchInt32ArrayProxy(*this, Properties::Normal);
53838 }
53839
53840 RecloserBatch& Normal(string &value)
53841 {
53842 set_batch_val(Properties::Normal, value);
53843 return *this;
53844 }
53845
53846 RecloserBatch& Normal(int32_t value)
53847 {
53848 set_batch_val(Properties::Normal, value);
53849 return *this;
53850 }
53851
53853 {
53854 set_batch_val(Properties::Normal, int32_t(value));
53855 return *this;
53856 }
53857
53858 RecloserBatch& Normal(strings &value)
53859 {
53860 set_batch_val_for_each<strings>(Properties::Normal, value.begin(), value.end());
53861 return *this;
53862 }
53863
53864 RecloserBatch& Normal(std::vector<int32_t> &value)
53865 {
53866 set_batch_val_for_each<std::vector<int32_t>>(Properties::Normal, value.begin(), value.end());
53867 return *this;
53868 }
53869
53870 RecloserBatch& Normal(std::vector<Recloser::RecloserState> &value)
53871 {
53872 set_batch_val_for_each<std::vector<Recloser::RecloserState>>(Properties::Normal, value.begin(), value.end());
53873 return *this;
53874 }
53875
53880 strings Normal_str()
53881 {
53882 return get_batch_val<strings>(Properties::Normal);
53883 }
53884
53885 RecloserBatch& Normal_str(string &value)
53886 {
53887 Normal(value);
53888 return *this;
53889 }
53890
53891 RecloserBatch& Normal_str(strings &value)
53892 {
53893 Normal(value);
53894 return *this;
53895 }
53896
53902 {
53903 return BatchInt32ArrayProxy(*this, Properties::State);
53904 }
53905
53906 RecloserBatch& State(string &value)
53907 {
53908 set_batch_val(Properties::State, value);
53909 return *this;
53910 }
53911
53912 RecloserBatch& State(int32_t value)
53913 {
53914 set_batch_val(Properties::State, value);
53915 return *this;
53916 }
53917
53919 {
53920 set_batch_val(Properties::State, int32_t(value));
53921 return *this;
53922 }
53923
53924 RecloserBatch& State(strings &value)
53925 {
53926 set_batch_val_for_each<strings>(Properties::State, value.begin(), value.end());
53927 return *this;
53928 }
53929
53930 RecloserBatch& State(std::vector<int32_t> &value)
53931 {
53932 set_batch_val_for_each<std::vector<int32_t>>(Properties::State, value.begin(), value.end());
53933 return *this;
53934 }
53935
53936 RecloserBatch& State(std::vector<Recloser::RecloserState> &value)
53937 {
53938 set_batch_val_for_each<std::vector<Recloser::RecloserState>>(Properties::State, value.begin(), value.end());
53939 return *this;
53940 }
53941
53946 strings State_str()
53947 {
53948 return get_batch_val<strings>(Properties::State);
53949 }
53950
53951 RecloserBatch& State_str(string &value)
53952 {
53953 State(value);
53954 return *this;
53955 }
53956
53957 RecloserBatch& State_str(strings &value)
53958 {
53959 State(value);
53960 return *this;
53961 }
53962
53968 {
53969 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
53970 }
53971
53972 RecloserBatch& basefreq(double value)
53973 {
53974 set_batch_val<double>(Properties::basefreq, value);
53975 return *this;
53976 }
53977
53978 template <typename T>
53979 RecloserBatch& basefreq(T &value)
53980 {
53981 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
53982 return *this;
53983 }
53984
53985 template <typename T>
53986 RecloserBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
53987 {
53988 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
53989 return *this;
53990 }
53991
53996 bools enabled()
53997 {
53998 return get_batch_val<bools>(Properties::enabled);
53999 }
54000
54001 RecloserBatch& enabled(bool value)
54002 {
54003 set_batch_val(Properties::enabled, int32_t(value));
54004 return *this;
54005 }
54006
54007 RecloserBatch& enabled(bools &value)
54008 {
54009 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
54010 return *this;
54011 }
54012
54019 RecloserBatch& like(const string &value)
54020 {
54021 set_batch_val(Properties::like, value.c_str());
54022 return *this;
54023 }
54024
54031 RecloserBatch& like(const char *value)
54032 {
54033 set_batch_val(Properties::like, value);
54034 return *this;
54035 }
54036};
54037
54038
54039class FuseBatch: public DSSBatch
54040{
54041public:
54043 typedef Fuse BatchElementClass;
54044
54045 // Shortcuts to class-specific enumerations
54047 typedef Fuse::FuseState FuseState;
54048
54049
54054 DSSBatch(util, Fuse::dss_cls_idx)
54055 {
54056 }
54057
54061 FuseBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
54062 DSSBatch(util, Fuse::dss_cls_idx, prop_idx, prop_value)
54063 {
54064 }
54065
54069 FuseBatch(APIUtil *util, const char* regexp):
54070 DSSBatch(util, Fuse::dss_cls_idx, regexp)
54071 {
54072 }
54073
54074
54075 FuseBatch& begin_edit()
54076 {
54077 Batch_BeginEdit(pointer, count[0]);
54078 return *this;
54079 }
54080
54081 FuseBatch& end_edit(int32_t num_edits=1)
54082 {
54083 Batch_EndEdit(pointer, count[0], num_edits);
54084 return *this;
54085 }
54086
54087
54093 {
54094 return get_batch_val<strings>(Properties::MonitoredObj);
54095 }
54096
54098 {
54099 set_batch_val(Properties::MonitoredObj, value);
54100 return *this;
54101 }
54102
54103 FuseBatch& MonitoredObj(const string &value)
54104 {
54105 set_batch_val(Properties::MonitoredObj, value);
54106 return *this;
54107 }
54108
54113 std::vector<dss::obj::DSSObj> MonitoredObj_obj()
54114 {
54115 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::MonitoredObj);
54116 }
54117
54119 {
54120 set_batch_val(Properties::MonitoredObj, value);
54121 return *this;
54122 }
54123
54129 {
54130 return BatchInt32ArrayProxy(*this, Properties::MonitoredTerm);
54131 }
54132
54133 FuseBatch& MonitoredTerm(int32_t value)
54134 {
54135 set_batch_val(Properties::MonitoredTerm, value);
54136 return *this;
54137 }
54138
54139 template <typename T>
54140 FuseBatch& MonitoredTerm(T &value)
54141 {
54142 set_batch_val_for_each<T>(Properties::MonitoredTerm, value.begin(), value.end());
54143 return *this;
54144 }
54145
54146 template <typename T>
54147 FuseBatch& MonitoredTerm(typename T::iterator it_begin, typename T::iterator it_end)
54148 {
54149 set_batch_val_for_each<T>(Properties::MonitoredTerm, it_begin, it_end);
54150 return *this;
54151 }
54152
54157 strings SwitchedObj()
54158 {
54159 return get_batch_val<strings>(Properties::SwitchedObj);
54160 }
54161
54163 {
54164 set_batch_val(Properties::SwitchedObj, value);
54165 return *this;
54166 }
54167
54168 FuseBatch& SwitchedObj(const string &value)
54169 {
54170 set_batch_val(Properties::SwitchedObj, value);
54171 return *this;
54172 }
54173
54178 std::vector<dss::obj::DSSObj> SwitchedObj_obj()
54179 {
54180 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::SwitchedObj);
54181 }
54182
54184 {
54185 set_batch_val(Properties::SwitchedObj, value);
54186 return *this;
54187 }
54188
54194 {
54195 return BatchInt32ArrayProxy(*this, Properties::SwitchedTerm);
54196 }
54197
54198 FuseBatch& SwitchedTerm(int32_t value)
54199 {
54200 set_batch_val(Properties::SwitchedTerm, value);
54201 return *this;
54202 }
54203
54204 template <typename T>
54205 FuseBatch& SwitchedTerm(T &value)
54206 {
54207 set_batch_val_for_each<T>(Properties::SwitchedTerm, value.begin(), value.end());
54208 return *this;
54209 }
54210
54211 template <typename T>
54212 FuseBatch& SwitchedTerm(typename T::iterator it_begin, typename T::iterator it_end)
54213 {
54214 set_batch_val_for_each<T>(Properties::SwitchedTerm, it_begin, it_end);
54215 return *this;
54216 }
54217
54222 strings FuseCurve()
54223 {
54224 return get_batch_val<strings>(Properties::FuseCurve);
54225 }
54226
54228 {
54229 set_batch_val(Properties::FuseCurve, value);
54230 return *this;
54231 }
54232
54233 FuseBatch& FuseCurve(const string &value)
54234 {
54235 set_batch_val(Properties::FuseCurve, value);
54236 return *this;
54237 }
54238
54243 std::vector<dss::obj::TCC_Curve> FuseCurve_obj()
54244 {
54245 return get_batch_val<std::vector<dss::obj::TCC_Curve>>(Properties::FuseCurve);
54246 }
54247
54249 {
54250 set_batch_val(Properties::FuseCurve, value);
54251 return *this;
54252 }
54253
54259 {
54260 return BatchFloat64ArrayProxy(*this, Properties::RatedCurrent);
54261 }
54262
54263 FuseBatch& RatedCurrent(double value)
54264 {
54265 set_batch_val<double>(Properties::RatedCurrent, value);
54266 return *this;
54267 }
54268
54269 template <typename T>
54270 FuseBatch& RatedCurrent(T &value)
54271 {
54272 set_batch_val_for_each<T>(Properties::RatedCurrent, value.begin(), value.end());
54273 return *this;
54274 }
54275
54276 template <typename T>
54277 FuseBatch& RatedCurrent(typename T::iterator it_begin, typename T::iterator it_end)
54278 {
54279 set_batch_val_for_each<T>(Properties::RatedCurrent, it_begin, it_end);
54280 return *this;
54281 }
54282
54288 {
54289 return BatchFloat64ArrayProxy(*this, Properties::Delay);
54290 }
54291
54292 FuseBatch& Delay(double value)
54293 {
54294 set_batch_val<double>(Properties::Delay, value);
54295 return *this;
54296 }
54297
54298 template <typename T>
54299 FuseBatch& Delay(T &value)
54300 {
54301 set_batch_val_for_each<T>(Properties::Delay, value.begin(), value.end());
54302 return *this;
54303 }
54304
54305 template <typename T>
54306 FuseBatch& Delay(typename T::iterator it_begin, typename T::iterator it_end)
54307 {
54308 set_batch_val_for_each<T>(Properties::Delay, it_begin, it_end);
54309 return *this;
54310 }
54311
54316 FuseBatch& Action(int32_t value)
54317 {
54318 set_batch_val(Properties::Action, value);
54319 return *this;
54320 }
54321
54327 {
54328 set_batch_val(Properties::Action, int32_t(value));
54329 return *this;
54330 }
54331
54336 FuseBatch& Action(const string &value)
54337 {
54338 set_batch_val(Properties::Action, value.c_str());
54339 return *this;
54340 }
54341
54346 FuseBatch& Action(const char *value)
54347 {
54348 set_batch_val(Properties::Action, value);
54349 return *this;
54350 }
54351
54356 std::vector<VectorXi> Normal()
54357 {
54358 return get_batch_valarray<VectorXi>(Properties::Normal);
54359 }
54360
54361 FuseBatch& Normal(std::vector<int32_t> &value)
54362 {
54363 set_batch_val(Properties::Normal, value);
54364 return *this;
54365 }
54366
54367 FuseBatch& Normal(std::vector<Fuse::FuseState> &value)
54368 {
54369 set_batch_val(Properties::Normal, value);
54370 return *this;
54371 }
54372
54373 FuseBatch& Normal(strings &value)
54374 {
54375 set_batch_val(Properties::Normal, value);
54376 return *this;
54377 }
54378
54379 FuseBatch& Normal(std::vector<strings> &value)
54380 {
54381 set_batch_val_for_each<std::vector<strings>>(Properties::Normal, value.begin(), value.end());
54382 return *this;
54383 }
54384
54389 std::vector<strings> Normal_str()
54390 {
54391 return get_batch_valarray<strings>(Properties::Normal);
54392 }
54393 FuseBatch& Normal_str(strings &value)
54394 {
54395 Normal(value);
54396 return *this;
54397 }
54398
54403 std::vector<VectorXi> State()
54404 {
54405 return get_batch_valarray<VectorXi>(Properties::State);
54406 }
54407
54408 FuseBatch& State(std::vector<int32_t> &value)
54409 {
54410 set_batch_val(Properties::State, value);
54411 return *this;
54412 }
54413
54414 FuseBatch& State(std::vector<Fuse::FuseState> &value)
54415 {
54416 set_batch_val(Properties::State, value);
54417 return *this;
54418 }
54419
54420 FuseBatch& State(strings &value)
54421 {
54422 set_batch_val(Properties::State, value);
54423 return *this;
54424 }
54425
54426 FuseBatch& State(std::vector<strings> &value)
54427 {
54428 set_batch_val_for_each<std::vector<strings>>(Properties::State, value.begin(), value.end());
54429 return *this;
54430 }
54431
54436 std::vector<strings> State_str()
54437 {
54438 return get_batch_valarray<strings>(Properties::State);
54439 }
54440 FuseBatch& State_str(strings &value)
54441 {
54442 State(value);
54443 return *this;
54444 }
54445
54451 {
54452 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
54453 }
54454
54455 FuseBatch& basefreq(double value)
54456 {
54457 set_batch_val<double>(Properties::basefreq, value);
54458 return *this;
54459 }
54460
54461 template <typename T>
54462 FuseBatch& basefreq(T &value)
54463 {
54464 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
54465 return *this;
54466 }
54467
54468 template <typename T>
54469 FuseBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
54470 {
54471 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
54472 return *this;
54473 }
54474
54479 bools enabled()
54480 {
54481 return get_batch_val<bools>(Properties::enabled);
54482 }
54483
54484 FuseBatch& enabled(bool value)
54485 {
54486 set_batch_val(Properties::enabled, int32_t(value));
54487 return *this;
54488 }
54489
54490 FuseBatch& enabled(bools &value)
54491 {
54492 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
54493 return *this;
54494 }
54495
54502 FuseBatch& like(const string &value)
54503 {
54504 set_batch_val(Properties::like, value.c_str());
54505 return *this;
54506 }
54507
54514 FuseBatch& like(const char *value)
54515 {
54516 set_batch_val(Properties::like, value);
54517 return *this;
54518 }
54519};
54520
54521
54523{
54524public:
54527
54528 // Shortcuts to class-specific enumerations
54531
54532
54537 DSSBatch(util, SwtControl::dss_cls_idx)
54538 {
54539 }
54540
54544 SwtControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
54545 DSSBatch(util, SwtControl::dss_cls_idx, prop_idx, prop_value)
54546 {
54547 }
54548
54552 SwtControlBatch(APIUtil *util, const char* regexp):
54553 DSSBatch(util, SwtControl::dss_cls_idx, regexp)
54554 {
54555 }
54556
54557
54558 SwtControlBatch& begin_edit()
54559 {
54560 Batch_BeginEdit(pointer, count[0]);
54561 return *this;
54562 }
54563
54564 SwtControlBatch& end_edit(int32_t num_edits=1)
54565 {
54566 Batch_EndEdit(pointer, count[0], num_edits);
54567 return *this;
54568 }
54569
54570
54575 strings SwitchedObj()
54576 {
54577 return get_batch_val<strings>(Properties::SwitchedObj);
54578 }
54579
54581 {
54582 set_batch_val(Properties::SwitchedObj, value);
54583 return *this;
54584 }
54585
54586 SwtControlBatch& SwitchedObj(const string &value)
54587 {
54588 set_batch_val(Properties::SwitchedObj, value);
54589 return *this;
54590 }
54591
54596 std::vector<dss::obj::DSSObj> SwitchedObj_obj()
54597 {
54598 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::SwitchedObj);
54599 }
54600
54602 {
54603 set_batch_val(Properties::SwitchedObj, value);
54604 return *this;
54605 }
54606
54612 {
54613 return BatchInt32ArrayProxy(*this, Properties::SwitchedTerm);
54614 }
54615
54616 SwtControlBatch& SwitchedTerm(int32_t value)
54617 {
54618 set_batch_val(Properties::SwitchedTerm, value);
54619 return *this;
54620 }
54621
54622 template <typename T>
54623 SwtControlBatch& SwitchedTerm(T &value)
54624 {
54625 set_batch_val_for_each<T>(Properties::SwitchedTerm, value.begin(), value.end());
54626 return *this;
54627 }
54628
54629 template <typename T>
54630 SwtControlBatch& SwitchedTerm(typename T::iterator it_begin, typename T::iterator it_end)
54631 {
54632 set_batch_val_for_each<T>(Properties::SwitchedTerm, it_begin, it_end);
54633 return *this;
54634 }
54635
54641 {
54642 return BatchInt32ArrayProxy(*this, Properties::Action);
54643 }
54644
54645 SwtControlBatch& Action(string &value)
54646 {
54647 set_batch_val(Properties::Action, value);
54648 return *this;
54649 }
54650
54651 SwtControlBatch& Action(int32_t value)
54652 {
54653 set_batch_val(Properties::Action, value);
54654 return *this;
54655 }
54656
54658 {
54659 set_batch_val(Properties::Action, int32_t(value));
54660 return *this;
54661 }
54662
54663 SwtControlBatch& Action(strings &value)
54664 {
54665 set_batch_val_for_each<strings>(Properties::Action, value.begin(), value.end());
54666 return *this;
54667 }
54668
54669 SwtControlBatch& Action(std::vector<int32_t> &value)
54670 {
54671 set_batch_val_for_each<std::vector<int32_t>>(Properties::Action, value.begin(), value.end());
54672 return *this;
54673 }
54674
54675 SwtControlBatch& Action(std::vector<SwtControl::SwtControlAction> &value)
54676 {
54677 set_batch_val_for_each<std::vector<SwtControl::SwtControlAction>>(Properties::Action, value.begin(), value.end());
54678 return *this;
54679 }
54680
54685 strings Action_str()
54686 {
54687 return get_batch_val<strings>(Properties::Action);
54688 }
54689
54690 SwtControlBatch& Action_str(string &value)
54691 {
54692 Action(value);
54693 return *this;
54694 }
54695
54696 SwtControlBatch& Action_str(strings &value)
54697 {
54698 Action(value);
54699 return *this;
54700 }
54701
54706 bools Lock()
54707 {
54708 return get_batch_val<bools>(Properties::Lock);
54709 }
54710
54711 SwtControlBatch& Lock(bool value)
54712 {
54713 set_batch_val(Properties::Lock, int32_t(value));
54714 return *this;
54715 }
54716
54717 SwtControlBatch& Lock(bools &value)
54718 {
54719 set_batch_val_for_each<std::vector<int32_t>>(Properties::Lock, value.begin(), value.end());
54720 return *this;
54721 }
54722
54728 {
54729 return BatchFloat64ArrayProxy(*this, Properties::Delay);
54730 }
54731
54732 SwtControlBatch& Delay(double value)
54733 {
54734 set_batch_val<double>(Properties::Delay, value);
54735 return *this;
54736 }
54737
54738 template <typename T>
54739 SwtControlBatch& Delay(T &value)
54740 {
54741 set_batch_val_for_each<T>(Properties::Delay, value.begin(), value.end());
54742 return *this;
54743 }
54744
54745 template <typename T>
54746 SwtControlBatch& Delay(typename T::iterator it_begin, typename T::iterator it_end)
54747 {
54748 set_batch_val_for_each<T>(Properties::Delay, it_begin, it_end);
54749 return *this;
54750 }
54751
54757 {
54758 return BatchInt32ArrayProxy(*this, Properties::Normal);
54759 }
54760
54761 SwtControlBatch& Normal(string &value)
54762 {
54763 set_batch_val(Properties::Normal, value);
54764 return *this;
54765 }
54766
54767 SwtControlBatch& Normal(int32_t value)
54768 {
54769 set_batch_val(Properties::Normal, value);
54770 return *this;
54771 }
54772
54774 {
54775 set_batch_val(Properties::Normal, int32_t(value));
54776 return *this;
54777 }
54778
54779 SwtControlBatch& Normal(strings &value)
54780 {
54781 set_batch_val_for_each<strings>(Properties::Normal, value.begin(), value.end());
54782 return *this;
54783 }
54784
54785 SwtControlBatch& Normal(std::vector<int32_t> &value)
54786 {
54787 set_batch_val_for_each<std::vector<int32_t>>(Properties::Normal, value.begin(), value.end());
54788 return *this;
54789 }
54790
54791 SwtControlBatch& Normal(std::vector<SwtControl::SwtControlState> &value)
54792 {
54793 set_batch_val_for_each<std::vector<SwtControl::SwtControlState>>(Properties::Normal, value.begin(), value.end());
54794 return *this;
54795 }
54796
54801 strings Normal_str()
54802 {
54803 return get_batch_val<strings>(Properties::Normal);
54804 }
54805
54806 SwtControlBatch& Normal_str(string &value)
54807 {
54808 Normal(value);
54809 return *this;
54810 }
54811
54812 SwtControlBatch& Normal_str(strings &value)
54813 {
54814 Normal(value);
54815 return *this;
54816 }
54817
54823 {
54824 return BatchInt32ArrayProxy(*this, Properties::State);
54825 }
54826
54827 SwtControlBatch& State(string &value)
54828 {
54829 set_batch_val(Properties::State, value);
54830 return *this;
54831 }
54832
54833 SwtControlBatch& State(int32_t value)
54834 {
54835 set_batch_val(Properties::State, value);
54836 return *this;
54837 }
54838
54840 {
54841 set_batch_val(Properties::State, int32_t(value));
54842 return *this;
54843 }
54844
54845 SwtControlBatch& State(strings &value)
54846 {
54847 set_batch_val_for_each<strings>(Properties::State, value.begin(), value.end());
54848 return *this;
54849 }
54850
54851 SwtControlBatch& State(std::vector<int32_t> &value)
54852 {
54853 set_batch_val_for_each<std::vector<int32_t>>(Properties::State, value.begin(), value.end());
54854 return *this;
54855 }
54856
54857 SwtControlBatch& State(std::vector<SwtControl::SwtControlState> &value)
54858 {
54859 set_batch_val_for_each<std::vector<SwtControl::SwtControlState>>(Properties::State, value.begin(), value.end());
54860 return *this;
54861 }
54862
54867 strings State_str()
54868 {
54869 return get_batch_val<strings>(Properties::State);
54870 }
54871
54872 SwtControlBatch& State_str(string &value)
54873 {
54874 State(value);
54875 return *this;
54876 }
54877
54878 SwtControlBatch& State_str(strings &value)
54879 {
54880 State(value);
54881 return *this;
54882 }
54883
54889 {
54890 set_batch_val(Properties::Reset, int32_t(value));
54891 return *this;
54892 }
54893
54899 {
54900 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
54901 }
54902
54903 SwtControlBatch& basefreq(double value)
54904 {
54905 set_batch_val<double>(Properties::basefreq, value);
54906 return *this;
54907 }
54908
54909 template <typename T>
54910 SwtControlBatch& basefreq(T &value)
54911 {
54912 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
54913 return *this;
54914 }
54915
54916 template <typename T>
54917 SwtControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
54918 {
54919 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
54920 return *this;
54921 }
54922
54927 bools enabled()
54928 {
54929 return get_batch_val<bools>(Properties::enabled);
54930 }
54931
54932 SwtControlBatch& enabled(bool value)
54933 {
54934 set_batch_val(Properties::enabled, int32_t(value));
54935 return *this;
54936 }
54937
54938 SwtControlBatch& enabled(bools &value)
54939 {
54940 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
54941 return *this;
54942 }
54943
54950 SwtControlBatch& like(const string &value)
54951 {
54952 set_batch_val(Properties::like, value.c_str());
54953 return *this;
54954 }
54955
54962 SwtControlBatch& like(const char *value)
54963 {
54964 set_batch_val(Properties::like, value);
54965 return *this;
54966 }
54967};
54968
54969
54971{
54972public:
54975
54980 DSSBatch(util, PVSystem::dss_cls_idx)
54981 {
54982 }
54983
54987 PVSystemBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
54988 DSSBatch(util, PVSystem::dss_cls_idx, prop_idx, prop_value)
54989 {
54990 }
54991
54995 PVSystemBatch(APIUtil *util, const char* regexp):
54996 DSSBatch(util, PVSystem::dss_cls_idx, regexp)
54997 {
54998 }
54999
55000
55001 PVSystemBatch& begin_edit()
55002 {
55003 Batch_BeginEdit(pointer, count[0]);
55004 return *this;
55005 }
55006
55007 PVSystemBatch& end_edit(int32_t num_edits=1)
55008 {
55009 Batch_EndEdit(pointer, count[0], num_edits);
55010 return *this;
55011 }
55012
55013
55019 {
55020 return BatchInt32ArrayProxy(*this, Properties::phases);
55021 }
55022
55023 PVSystemBatch& phases(int32_t value)
55024 {
55025 set_batch_val(Properties::phases, value);
55026 return *this;
55027 }
55028
55029 template <typename T>
55030 PVSystemBatch& phases(T &value)
55031 {
55032 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
55033 return *this;
55034 }
55035
55036 template <typename T>
55037 PVSystemBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
55038 {
55039 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
55040 return *this;
55041 }
55042
55047 strings bus1()
55048 {
55049 return get_batch_val<strings>(Properties::bus1);
55050 }
55051
55052 PVSystemBatch& bus1(const string &value)
55053 {
55054 set_batch_val(Properties::bus1, value.c_str());
55055 return *this;
55056 }
55057
55058 PVSystemBatch& bus1(strings &value)
55059 {
55060 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
55061 return *this;
55062 }
55063
55069 {
55070 return BatchFloat64ArrayProxy(*this, Properties::kv);
55071 }
55072
55073 PVSystemBatch& kv(double value)
55074 {
55075 set_batch_val<double>(Properties::kv, value);
55076 return *this;
55077 }
55078
55079 template <typename T>
55080 PVSystemBatch& kv(T &value)
55081 {
55082 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
55083 return *this;
55084 }
55085
55086 template <typename T>
55087 PVSystemBatch& kv(typename T::iterator it_begin, typename T::iterator it_end)
55088 {
55089 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
55090 return *this;
55091 }
55092
55098 {
55099 return BatchFloat64ArrayProxy(*this, Properties::irradiance);
55100 }
55101
55102 PVSystemBatch& irradiance(double value)
55103 {
55104 set_batch_val<double>(Properties::irradiance, value);
55105 return *this;
55106 }
55107
55108 template <typename T>
55109 PVSystemBatch& irradiance(T &value)
55110 {
55111 set_batch_val_for_each<T>(Properties::irradiance, value.begin(), value.end());
55112 return *this;
55113 }
55114
55115 template <typename T>
55116 PVSystemBatch& irradiance(typename T::iterator it_begin, typename T::iterator it_end)
55117 {
55118 set_batch_val_for_each<T>(Properties::irradiance, it_begin, it_end);
55119 return *this;
55120 }
55121
55127 {
55128 return BatchFloat64ArrayProxy(*this, Properties::Pmpp);
55129 }
55130
55131 PVSystemBatch& Pmpp(double value)
55132 {
55133 set_batch_val<double>(Properties::Pmpp, value);
55134 return *this;
55135 }
55136
55137 template <typename T>
55138 PVSystemBatch& Pmpp(T &value)
55139 {
55140 set_batch_val_for_each<T>(Properties::Pmpp, value.begin(), value.end());
55141 return *this;
55142 }
55143
55144 template <typename T>
55145 PVSystemBatch& Pmpp(typename T::iterator it_begin, typename T::iterator it_end)
55146 {
55147 set_batch_val_for_each<T>(Properties::Pmpp, it_begin, it_end);
55148 return *this;
55149 }
55150
55156 {
55157 return BatchFloat64ArrayProxy(*this, Properties::pctPmpp);
55158 }
55159
55160 PVSystemBatch& pctPmpp(double value)
55161 {
55162 set_batch_val<double>(Properties::pctPmpp, value);
55163 return *this;
55164 }
55165
55166 template <typename T>
55167 PVSystemBatch& pctPmpp(T &value)
55168 {
55169 set_batch_val_for_each<T>(Properties::pctPmpp, value.begin(), value.end());
55170 return *this;
55171 }
55172
55173 template <typename T>
55174 PVSystemBatch& pctPmpp(typename T::iterator it_begin, typename T::iterator it_end)
55175 {
55176 set_batch_val_for_each<T>(Properties::pctPmpp, it_begin, it_end);
55177 return *this;
55178 }
55179
55185 {
55186 return BatchFloat64ArrayProxy(*this, Properties::Temperature);
55187 }
55188
55189 PVSystemBatch& Temperature(double value)
55190 {
55191 set_batch_val<double>(Properties::Temperature, value);
55192 return *this;
55193 }
55194
55195 template <typename T>
55196 PVSystemBatch& Temperature(T &value)
55197 {
55198 set_batch_val_for_each<T>(Properties::Temperature, value.begin(), value.end());
55199 return *this;
55200 }
55201
55202 template <typename T>
55203 PVSystemBatch& Temperature(typename T::iterator it_begin, typename T::iterator it_end)
55204 {
55205 set_batch_val_for_each<T>(Properties::Temperature, it_begin, it_end);
55206 return *this;
55207 }
55208
55216 {
55217 return BatchFloat64ArrayProxy(*this, Properties::pf);
55218 }
55219
55220 PVSystemBatch& pf(double value)
55221 {
55222 set_batch_val<double>(Properties::pf, value);
55223 return *this;
55224 }
55225
55226 template <typename T>
55227 PVSystemBatch& pf(T &value)
55228 {
55229 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
55230 return *this;
55231 }
55232
55233 template <typename T>
55234 PVSystemBatch& pf(typename T::iterator it_begin, typename T::iterator it_end)
55235 {
55236 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
55237 return *this;
55238 }
55239
55245 {
55246 return BatchInt32ArrayProxy(*this, Properties::conn);
55247 }
55248
55249 PVSystemBatch& conn(string &value)
55250 {
55251 set_batch_val(Properties::conn, value);
55252 return *this;
55253 }
55254
55255 PVSystemBatch& conn(int32_t value)
55256 {
55257 set_batch_val(Properties::conn, value);
55258 return *this;
55259 }
55260
55261 PVSystemBatch& conn(Connection value)
55262 {
55263 set_batch_val(Properties::conn, int32_t(value));
55264 return *this;
55265 }
55266
55267 PVSystemBatch& conn(strings &value)
55268 {
55269 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
55270 return *this;
55271 }
55272
55273 PVSystemBatch& conn(std::vector<int32_t> &value)
55274 {
55275 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
55276 return *this;
55277 }
55278
55279 PVSystemBatch& conn(std::vector<Connection> &value)
55280 {
55281 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
55282 return *this;
55283 }
55284
55289 strings conn_str()
55290 {
55291 return get_batch_val<strings>(Properties::conn);
55292 }
55293
55294 PVSystemBatch& conn_str(string &value)
55295 {
55296 conn(value);
55297 return *this;
55298 }
55299
55300 PVSystemBatch& conn_str(strings &value)
55301 {
55302 conn(value);
55303 return *this;
55304 }
55305
55311 {
55312 return BatchFloat64ArrayProxy(*this, Properties::kvar);
55313 }
55314
55315 PVSystemBatch& kvar(double value)
55316 {
55317 set_batch_val<double>(Properties::kvar, value);
55318 return *this;
55319 }
55320
55321 template <typename T>
55322 PVSystemBatch& kvar(T &value)
55323 {
55324 set_batch_val_for_each<T>(Properties::kvar, value.begin(), value.end());
55325 return *this;
55326 }
55327
55328 template <typename T>
55329 PVSystemBatch& kvar(typename T::iterator it_begin, typename T::iterator it_end)
55330 {
55331 set_batch_val_for_each<T>(Properties::kvar, it_begin, it_end);
55332 return *this;
55333 }
55334
55340 {
55341 return BatchFloat64ArrayProxy(*this, Properties::kVA);
55342 }
55343
55344 PVSystemBatch& kVA(double value)
55345 {
55346 set_batch_val<double>(Properties::kVA, value);
55347 return *this;
55348 }
55349
55350 template <typename T>
55351 PVSystemBatch& kVA(T &value)
55352 {
55353 set_batch_val_for_each<T>(Properties::kVA, value.begin(), value.end());
55354 return *this;
55355 }
55356
55357 template <typename T>
55358 PVSystemBatch& kVA(typename T::iterator it_begin, typename T::iterator it_end)
55359 {
55360 set_batch_val_for_each<T>(Properties::kVA, it_begin, it_end);
55361 return *this;
55362 }
55363
55369 {
55370 return BatchFloat64ArrayProxy(*this, Properties::pctCutin);
55371 }
55372
55373 PVSystemBatch& pctCutin(double value)
55374 {
55375 set_batch_val<double>(Properties::pctCutin, value);
55376 return *this;
55377 }
55378
55379 template <typename T>
55380 PVSystemBatch& pctCutin(T &value)
55381 {
55382 set_batch_val_for_each<T>(Properties::pctCutin, value.begin(), value.end());
55383 return *this;
55384 }
55385
55386 template <typename T>
55387 PVSystemBatch& pctCutin(typename T::iterator it_begin, typename T::iterator it_end)
55388 {
55389 set_batch_val_for_each<T>(Properties::pctCutin, it_begin, it_end);
55390 return *this;
55391 }
55392
55398 {
55399 return BatchFloat64ArrayProxy(*this, Properties::pctCutout);
55400 }
55401
55402 PVSystemBatch& pctCutout(double value)
55403 {
55404 set_batch_val<double>(Properties::pctCutout, value);
55405 return *this;
55406 }
55407
55408 template <typename T>
55409 PVSystemBatch& pctCutout(T &value)
55410 {
55411 set_batch_val_for_each<T>(Properties::pctCutout, value.begin(), value.end());
55412 return *this;
55413 }
55414
55415 template <typename T>
55416 PVSystemBatch& pctCutout(typename T::iterator it_begin, typename T::iterator it_end)
55417 {
55418 set_batch_val_for_each<T>(Properties::pctCutout, it_begin, it_end);
55419 return *this;
55420 }
55421
55426 strings EffCurve()
55427 {
55428 return get_batch_val<strings>(Properties::EffCurve);
55429 }
55430
55432 {
55433 set_batch_val(Properties::EffCurve, value);
55434 return *this;
55435 }
55436
55437 PVSystemBatch& EffCurve(const string &value)
55438 {
55439 set_batch_val(Properties::EffCurve, value);
55440 return *this;
55441 }
55442
55447 std::vector<dss::obj::XYcurve> EffCurve_obj()
55448 {
55449 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::EffCurve);
55450 }
55451
55453 {
55454 set_batch_val(Properties::EffCurve, value);
55455 return *this;
55456 }
55457
55462 strings PTCurve()
55463 {
55464 return get_batch_val<strings>(Properties::PTCurve);
55465 }
55466
55468 {
55469 set_batch_val(Properties::PTCurve, value);
55470 return *this;
55471 }
55472
55473 PVSystemBatch& PTCurve(const string &value)
55474 {
55475 set_batch_val(Properties::PTCurve, value);
55476 return *this;
55477 }
55478
55483 std::vector<dss::obj::XYcurve> PTCurve_obj()
55484 {
55485 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::PTCurve);
55486 }
55487
55489 {
55490 set_batch_val(Properties::PTCurve, value);
55491 return *this;
55492 }
55493
55499 {
55500 return BatchFloat64ArrayProxy(*this, Properties::pctR);
55501 }
55502
55503 PVSystemBatch& pctR(double value)
55504 {
55505 set_batch_val<double>(Properties::pctR, value);
55506 return *this;
55507 }
55508
55509 template <typename T>
55510 PVSystemBatch& pctR(T &value)
55511 {
55512 set_batch_val_for_each<T>(Properties::pctR, value.begin(), value.end());
55513 return *this;
55514 }
55515
55516 template <typename T>
55517 PVSystemBatch& pctR(typename T::iterator it_begin, typename T::iterator it_end)
55518 {
55519 set_batch_val_for_each<T>(Properties::pctR, it_begin, it_end);
55520 return *this;
55521 }
55522
55528 {
55529 return BatchFloat64ArrayProxy(*this, Properties::pctX);
55530 }
55531
55532 PVSystemBatch& pctX(double value)
55533 {
55534 set_batch_val<double>(Properties::pctX, value);
55535 return *this;
55536 }
55537
55538 template <typename T>
55539 PVSystemBatch& pctX(T &value)
55540 {
55541 set_batch_val_for_each<T>(Properties::pctX, value.begin(), value.end());
55542 return *this;
55543 }
55544
55545 template <typename T>
55546 PVSystemBatch& pctX(typename T::iterator it_begin, typename T::iterator it_end)
55547 {
55548 set_batch_val_for_each<T>(Properties::pctX, it_begin, it_end);
55549 return *this;
55550 }
55551
55561 {
55562 return BatchInt32ArrayProxy(*this, Properties::model);
55563 }
55564
55565 PVSystemBatch& model(int32_t value)
55566 {
55567 set_batch_val(Properties::model, value);
55568 return *this;
55569 }
55570
55571 template <typename T>
55572 PVSystemBatch& model(T &value)
55573 {
55574 set_batch_val_for_each<T>(Properties::model, value.begin(), value.end());
55575 return *this;
55576 }
55577
55578 template <typename T>
55579 PVSystemBatch& model(typename T::iterator it_begin, typename T::iterator it_end)
55580 {
55581 set_batch_val_for_each<T>(Properties::model, it_begin, it_end);
55582 return *this;
55583 }
55584
55590 {
55591 return BatchFloat64ArrayProxy(*this, Properties::Vminpu);
55592 }
55593
55594 PVSystemBatch& Vminpu(double value)
55595 {
55596 set_batch_val<double>(Properties::Vminpu, value);
55597 return *this;
55598 }
55599
55600 template <typename T>
55601 PVSystemBatch& Vminpu(T &value)
55602 {
55603 set_batch_val_for_each<T>(Properties::Vminpu, value.begin(), value.end());
55604 return *this;
55605 }
55606
55607 template <typename T>
55608 PVSystemBatch& Vminpu(typename T::iterator it_begin, typename T::iterator it_end)
55609 {
55610 set_batch_val_for_each<T>(Properties::Vminpu, it_begin, it_end);
55611 return *this;
55612 }
55613
55619 {
55620 return BatchFloat64ArrayProxy(*this, Properties::Vmaxpu);
55621 }
55622
55623 PVSystemBatch& Vmaxpu(double value)
55624 {
55625 set_batch_val<double>(Properties::Vmaxpu, value);
55626 return *this;
55627 }
55628
55629 template <typename T>
55630 PVSystemBatch& Vmaxpu(T &value)
55631 {
55632 set_batch_val_for_each<T>(Properties::Vmaxpu, value.begin(), value.end());
55633 return *this;
55634 }
55635
55636 template <typename T>
55637 PVSystemBatch& Vmaxpu(typename T::iterator it_begin, typename T::iterator it_end)
55638 {
55639 set_batch_val_for_each<T>(Properties::Vmaxpu, it_begin, it_end);
55640 return *this;
55641 }
55642
55647 bools Balanced()
55648 {
55649 return get_batch_val<bools>(Properties::Balanced);
55650 }
55651
55652 PVSystemBatch& Balanced(bool value)
55653 {
55654 set_batch_val(Properties::Balanced, int32_t(value));
55655 return *this;
55656 }
55657
55658 PVSystemBatch& Balanced(bools &value)
55659 {
55660 set_batch_val_for_each<std::vector<int32_t>>(Properties::Balanced, value.begin(), value.end());
55661 return *this;
55662 }
55663
55669 {
55670 return get_batch_val<bools>(Properties::LimitCurrent);
55671 }
55672
55673 PVSystemBatch& LimitCurrent(bool value)
55674 {
55675 set_batch_val(Properties::LimitCurrent, int32_t(value));
55676 return *this;
55677 }
55678
55679 PVSystemBatch& LimitCurrent(bools &value)
55680 {
55681 set_batch_val_for_each<std::vector<int32_t>>(Properties::LimitCurrent, value.begin(), value.end());
55682 return *this;
55683 }
55684
55689 strings yearly()
55690 {
55691 return get_batch_val<strings>(Properties::yearly);
55692 }
55693
55695 {
55696 set_batch_val(Properties::yearly, value);
55697 return *this;
55698 }
55699
55700 PVSystemBatch& yearly(const string &value)
55701 {
55702 set_batch_val(Properties::yearly, value);
55703 return *this;
55704 }
55705
55710 std::vector<dss::obj::LoadShape> yearly_obj()
55711 {
55712 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::yearly);
55713 }
55714
55716 {
55717 set_batch_val(Properties::yearly, value);
55718 return *this;
55719 }
55720
55725 strings daily()
55726 {
55727 return get_batch_val<strings>(Properties::daily);
55728 }
55729
55731 {
55732 set_batch_val(Properties::daily, value);
55733 return *this;
55734 }
55735
55736 PVSystemBatch& daily(const string &value)
55737 {
55738 set_batch_val(Properties::daily, value);
55739 return *this;
55740 }
55741
55746 std::vector<dss::obj::LoadShape> daily_obj()
55747 {
55748 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::daily);
55749 }
55750
55752 {
55753 set_batch_val(Properties::daily, value);
55754 return *this;
55755 }
55756
55761 strings duty()
55762 {
55763 return get_batch_val<strings>(Properties::duty);
55764 }
55765
55767 {
55768 set_batch_val(Properties::duty, value);
55769 return *this;
55770 }
55771
55772 PVSystemBatch& duty(const string &value)
55773 {
55774 set_batch_val(Properties::duty, value);
55775 return *this;
55776 }
55777
55782 std::vector<dss::obj::LoadShape> duty_obj()
55783 {
55784 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::duty);
55785 }
55786
55788 {
55789 set_batch_val(Properties::duty, value);
55790 return *this;
55791 }
55792
55797 strings Tyearly()
55798 {
55799 return get_batch_val<strings>(Properties::Tyearly);
55800 }
55801
55803 {
55804 set_batch_val(Properties::Tyearly, value);
55805 return *this;
55806 }
55807
55808 PVSystemBatch& Tyearly(const string &value)
55809 {
55810 set_batch_val(Properties::Tyearly, value);
55811 return *this;
55812 }
55813
55818 std::vector<dss::obj::TShape> Tyearly_obj()
55819 {
55820 return get_batch_val<std::vector<dss::obj::TShape>>(Properties::Tyearly);
55821 }
55822
55824 {
55825 set_batch_val(Properties::Tyearly, value);
55826 return *this;
55827 }
55828
55833 strings Tdaily()
55834 {
55835 return get_batch_val<strings>(Properties::Tdaily);
55836 }
55837
55839 {
55840 set_batch_val(Properties::Tdaily, value);
55841 return *this;
55842 }
55843
55844 PVSystemBatch& Tdaily(const string &value)
55845 {
55846 set_batch_val(Properties::Tdaily, value);
55847 return *this;
55848 }
55849
55854 std::vector<dss::obj::TShape> Tdaily_obj()
55855 {
55856 return get_batch_val<std::vector<dss::obj::TShape>>(Properties::Tdaily);
55857 }
55858
55860 {
55861 set_batch_val(Properties::Tdaily, value);
55862 return *this;
55863 }
55864
55869 strings Tduty()
55870 {
55871 return get_batch_val<strings>(Properties::Tduty);
55872 }
55873
55875 {
55876 set_batch_val(Properties::Tduty, value);
55877 return *this;
55878 }
55879
55880 PVSystemBatch& Tduty(const string &value)
55881 {
55882 set_batch_val(Properties::Tduty, value);
55883 return *this;
55884 }
55885
55890 std::vector<dss::obj::TShape> Tduty_obj()
55891 {
55892 return get_batch_val<std::vector<dss::obj::TShape>>(Properties::Tduty);
55893 }
55894
55896 {
55897 set_batch_val(Properties::Tduty, value);
55898 return *this;
55899 }
55900
55906 {
55907 return BatchInt32ArrayProxy(*this, Properties::cls);
55908 }
55909
55910 PVSystemBatch& cls(int32_t value)
55911 {
55912 set_batch_val(Properties::cls, value);
55913 return *this;
55914 }
55915
55916 template <typename T>
55917 PVSystemBatch& cls(T &value)
55918 {
55919 set_batch_val_for_each<T>(Properties::cls, value.begin(), value.end());
55920 return *this;
55921 }
55922
55923 template <typename T>
55924 PVSystemBatch& cls(typename T::iterator it_begin, typename T::iterator it_end)
55925 {
55926 set_batch_val_for_each<T>(Properties::cls, it_begin, it_end);
55927 return *this;
55928 }
55929
55934 strings UserModel()
55935 {
55936 return get_batch_val<strings>(Properties::UserModel);
55937 }
55938
55939 PVSystemBatch& UserModel(const string &value)
55940 {
55941 set_batch_val(Properties::UserModel, value.c_str());
55942 return *this;
55943 }
55944
55945 PVSystemBatch& UserModel(strings &value)
55946 {
55947 set_batch_val_for_each<strings>(Properties::UserModel, value.begin(), value.end());
55948 return *this;
55949 }
55950
55955 strings UserData()
55956 {
55957 return get_batch_val<strings>(Properties::UserData);
55958 }
55959
55960 PVSystemBatch& UserData(const string &value)
55961 {
55962 set_batch_val(Properties::UserData, value.c_str());
55963 return *this;
55964 }
55965
55966 PVSystemBatch& UserData(strings &value)
55967 {
55968 set_batch_val_for_each<strings>(Properties::UserData, value.begin(), value.end());
55969 return *this;
55970 }
55971
55977 {
55978 return get_batch_val<bools>(Properties::debugtrace);
55979 }
55980
55981 PVSystemBatch& debugtrace(bool value)
55982 {
55983 set_batch_val(Properties::debugtrace, int32_t(value));
55984 return *this;
55985 }
55986
55987 PVSystemBatch& debugtrace(bools &value)
55988 {
55989 set_batch_val_for_each<std::vector<int32_t>>(Properties::debugtrace, value.begin(), value.end());
55990 return *this;
55991 }
55992
55998 {
55999 return get_batch_val<bools>(Properties::VarFollowInverter);
56000 }
56001
56002 PVSystemBatch& VarFollowInverter(bool value)
56003 {
56004 set_batch_val(Properties::VarFollowInverter, int32_t(value));
56005 return *this;
56006 }
56007
56008 PVSystemBatch& VarFollowInverter(bools &value)
56009 {
56010 set_batch_val_for_each<std::vector<int32_t>>(Properties::VarFollowInverter, value.begin(), value.end());
56011 return *this;
56012 }
56013
56019 {
56020 return BatchFloat64ArrayProxy(*this, Properties::DutyStart);
56021 }
56022
56023 PVSystemBatch& DutyStart(double value)
56024 {
56025 set_batch_val<double>(Properties::DutyStart, value);
56026 return *this;
56027 }
56028
56029 template <typename T>
56030 PVSystemBatch& DutyStart(T &value)
56031 {
56032 set_batch_val_for_each<T>(Properties::DutyStart, value.begin(), value.end());
56033 return *this;
56034 }
56035
56036 template <typename T>
56037 PVSystemBatch& DutyStart(typename T::iterator it_begin, typename T::iterator it_end)
56038 {
56039 set_batch_val_for_each<T>(Properties::DutyStart, it_begin, it_end);
56040 return *this;
56041 }
56042
56048 {
56049 return get_batch_val<bools>(Properties::WattPriority);
56050 }
56051
56052 PVSystemBatch& WattPriority(bool value)
56053 {
56054 set_batch_val(Properties::WattPriority, int32_t(value));
56055 return *this;
56056 }
56057
56058 PVSystemBatch& WattPriority(bools &value)
56059 {
56060 set_batch_val_for_each<std::vector<int32_t>>(Properties::WattPriority, value.begin(), value.end());
56061 return *this;
56062 }
56063
56069 {
56070 return get_batch_val<bools>(Properties::PFPriority);
56071 }
56072
56073 PVSystemBatch& PFPriority(bool value)
56074 {
56075 set_batch_val(Properties::PFPriority, int32_t(value));
56076 return *this;
56077 }
56078
56079 PVSystemBatch& PFPriority(bools &value)
56080 {
56081 set_batch_val_for_each<std::vector<int32_t>>(Properties::PFPriority, value.begin(), value.end());
56082 return *this;
56083 }
56084
56090 {
56091 return BatchFloat64ArrayProxy(*this, Properties::pctPminNoVars);
56092 }
56093
56094 PVSystemBatch& pctPminNoVars(double value)
56095 {
56096 set_batch_val<double>(Properties::pctPminNoVars, value);
56097 return *this;
56098 }
56099
56100 template <typename T>
56101 PVSystemBatch& pctPminNoVars(T &value)
56102 {
56103 set_batch_val_for_each<T>(Properties::pctPminNoVars, value.begin(), value.end());
56104 return *this;
56105 }
56106
56107 template <typename T>
56108 PVSystemBatch& pctPminNoVars(typename T::iterator it_begin, typename T::iterator it_end)
56109 {
56110 set_batch_val_for_each<T>(Properties::pctPminNoVars, it_begin, it_end);
56111 return *this;
56112 }
56113
56119 {
56120 return BatchFloat64ArrayProxy(*this, Properties::pctPminkvarMax);
56121 }
56122
56123 PVSystemBatch& pctPminkvarMax(double value)
56124 {
56125 set_batch_val<double>(Properties::pctPminkvarMax, value);
56126 return *this;
56127 }
56128
56129 template <typename T>
56130 PVSystemBatch& pctPminkvarMax(T &value)
56131 {
56132 set_batch_val_for_each<T>(Properties::pctPminkvarMax, value.begin(), value.end());
56133 return *this;
56134 }
56135
56136 template <typename T>
56137 PVSystemBatch& pctPminkvarMax(typename T::iterator it_begin, typename T::iterator it_end)
56138 {
56139 set_batch_val_for_each<T>(Properties::pctPminkvarMax, it_begin, it_end);
56140 return *this;
56141 }
56142
56148 {
56149 return BatchFloat64ArrayProxy(*this, Properties::kvarMax);
56150 }
56151
56152 PVSystemBatch& kvarMax(double value)
56153 {
56154 set_batch_val<double>(Properties::kvarMax, value);
56155 return *this;
56156 }
56157
56158 template <typename T>
56159 PVSystemBatch& kvarMax(T &value)
56160 {
56161 set_batch_val_for_each<T>(Properties::kvarMax, value.begin(), value.end());
56162 return *this;
56163 }
56164
56165 template <typename T>
56166 PVSystemBatch& kvarMax(typename T::iterator it_begin, typename T::iterator it_end)
56167 {
56168 set_batch_val_for_each<T>(Properties::kvarMax, it_begin, it_end);
56169 return *this;
56170 }
56171
56177 {
56178 return BatchFloat64ArrayProxy(*this, Properties::kvarMaxAbs);
56179 }
56180
56181 PVSystemBatch& kvarMaxAbs(double value)
56182 {
56183 set_batch_val<double>(Properties::kvarMaxAbs, value);
56184 return *this;
56185 }
56186
56187 template <typename T>
56188 PVSystemBatch& kvarMaxAbs(T &value)
56189 {
56190 set_batch_val_for_each<T>(Properties::kvarMaxAbs, value.begin(), value.end());
56191 return *this;
56192 }
56193
56194 template <typename T>
56195 PVSystemBatch& kvarMaxAbs(typename T::iterator it_begin, typename T::iterator it_end)
56196 {
56197 set_batch_val_for_each<T>(Properties::kvarMaxAbs, it_begin, it_end);
56198 return *this;
56199 }
56200
56205 strings spectrum()
56206 {
56207 return get_batch_val<strings>(Properties::spectrum);
56208 }
56209
56211 {
56212 set_batch_val(Properties::spectrum, value);
56213 return *this;
56214 }
56215
56216 PVSystemBatch& spectrum(const string &value)
56217 {
56218 set_batch_val(Properties::spectrum, value);
56219 return *this;
56220 }
56221
56226 std::vector<dss::obj::Spectrum> spectrum_obj()
56227 {
56228 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
56229 }
56230
56232 {
56233 set_batch_val(Properties::spectrum, value);
56234 return *this;
56235 }
56236
56242 {
56243 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
56244 }
56245
56246 PVSystemBatch& basefreq(double value)
56247 {
56248 set_batch_val<double>(Properties::basefreq, value);
56249 return *this;
56250 }
56251
56252 template <typename T>
56253 PVSystemBatch& basefreq(T &value)
56254 {
56255 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
56256 return *this;
56257 }
56258
56259 template <typename T>
56260 PVSystemBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
56261 {
56262 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
56263 return *this;
56264 }
56265
56270 bools enabled()
56271 {
56272 return get_batch_val<bools>(Properties::enabled);
56273 }
56274
56275 PVSystemBatch& enabled(bool value)
56276 {
56277 set_batch_val(Properties::enabled, int32_t(value));
56278 return *this;
56279 }
56280
56281 PVSystemBatch& enabled(bools &value)
56282 {
56283 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
56284 return *this;
56285 }
56286
56293 PVSystemBatch& like(const string &value)
56294 {
56295 set_batch_val(Properties::like, value.c_str());
56296 return *this;
56297 }
56298
56305 PVSystemBatch& like(const char *value)
56306 {
56307 set_batch_val(Properties::like, value);
56308 return *this;
56309 }
56310};
56311
56312
56313class UPFCBatch: public DSSBatch
56314{
56315public:
56317 typedef UPFC BatchElementClass;
56318
56323 DSSBatch(util, UPFC::dss_cls_idx)
56324 {
56325 }
56326
56330 UPFCBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
56331 DSSBatch(util, UPFC::dss_cls_idx, prop_idx, prop_value)
56332 {
56333 }
56334
56338 UPFCBatch(APIUtil *util, const char* regexp):
56339 DSSBatch(util, UPFC::dss_cls_idx, regexp)
56340 {
56341 }
56342
56343
56344 UPFCBatch& begin_edit()
56345 {
56346 Batch_BeginEdit(pointer, count[0]);
56347 return *this;
56348 }
56349
56350 UPFCBatch& end_edit(int32_t num_edits=1)
56351 {
56352 Batch_EndEdit(pointer, count[0], num_edits);
56353 return *this;
56354 }
56355
56356
56363 strings bus1()
56364 {
56365 return get_batch_val<strings>(Properties::bus1);
56366 }
56367
56368 UPFCBatch& bus1(const string &value)
56369 {
56370 set_batch_val(Properties::bus1, value.c_str());
56371 return *this;
56372 }
56373
56374 UPFCBatch& bus1(strings &value)
56375 {
56376 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
56377 return *this;
56378 }
56379
56386 strings bus2()
56387 {
56388 return get_batch_val<strings>(Properties::bus2);
56389 }
56390
56391 UPFCBatch& bus2(const string &value)
56392 {
56393 set_batch_val(Properties::bus2, value.c_str());
56394 return *this;
56395 }
56396
56397 UPFCBatch& bus2(strings &value)
56398 {
56399 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
56400 return *this;
56401 }
56402
56410 {
56411 return BatchFloat64ArrayProxy(*this, Properties::refkv);
56412 }
56413
56414 UPFCBatch& refkv(double value)
56415 {
56416 set_batch_val<double>(Properties::refkv, value);
56417 return *this;
56418 }
56419
56420 template <typename T>
56421 UPFCBatch& refkv(T &value)
56422 {
56423 set_batch_val_for_each<T>(Properties::refkv, value.begin(), value.end());
56424 return *this;
56425 }
56426
56427 template <typename T>
56428 UPFCBatch& refkv(typename T::iterator it_begin, typename T::iterator it_end)
56429 {
56430 set_batch_val_for_each<T>(Properties::refkv, it_begin, it_end);
56431 return *this;
56432 }
56433
56439 {
56440 return BatchFloat64ArrayProxy(*this, Properties::pf);
56441 }
56442
56443 UPFCBatch& pf(double value)
56444 {
56445 set_batch_val<double>(Properties::pf, value);
56446 return *this;
56447 }
56448
56449 template <typename T>
56450 UPFCBatch& pf(T &value)
56451 {
56452 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
56453 return *this;
56454 }
56455
56456 template <typename T>
56457 UPFCBatch& pf(typename T::iterator it_begin, typename T::iterator it_end)
56458 {
56459 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
56460 return *this;
56461 }
56462
56468 {
56469 return BatchFloat64ArrayProxy(*this, Properties::frequency);
56470 }
56471
56472 UPFCBatch& frequency(double value)
56473 {
56474 set_batch_val<double>(Properties::frequency, value);
56475 return *this;
56476 }
56477
56478 template <typename T>
56479 UPFCBatch& frequency(T &value)
56480 {
56481 set_batch_val_for_each<T>(Properties::frequency, value.begin(), value.end());
56482 return *this;
56483 }
56484
56485 template <typename T>
56486 UPFCBatch& frequency(typename T::iterator it_begin, typename T::iterator it_end)
56487 {
56488 set_batch_val_for_each<T>(Properties::frequency, it_begin, it_end);
56489 return *this;
56490 }
56491
56497 {
56498 return BatchInt32ArrayProxy(*this, Properties::phases);
56499 }
56500
56501 UPFCBatch& phases(int32_t value)
56502 {
56503 set_batch_val(Properties::phases, value);
56504 return *this;
56505 }
56506
56507 template <typename T>
56508 UPFCBatch& phases(T &value)
56509 {
56510 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
56511 return *this;
56512 }
56513
56514 template <typename T>
56515 UPFCBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
56516 {
56517 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
56518 return *this;
56519 }
56520
56526 {
56527 return BatchFloat64ArrayProxy(*this, Properties::Xs);
56528 }
56529
56530 UPFCBatch& Xs(double value)
56531 {
56532 set_batch_val<double>(Properties::Xs, value);
56533 return *this;
56534 }
56535
56536 template <typename T>
56537 UPFCBatch& Xs(T &value)
56538 {
56539 set_batch_val_for_each<T>(Properties::Xs, value.begin(), value.end());
56540 return *this;
56541 }
56542
56543 template <typename T>
56544 UPFCBatch& Xs(typename T::iterator it_begin, typename T::iterator it_end)
56545 {
56546 set_batch_val_for_each<T>(Properties::Xs, it_begin, it_end);
56547 return *this;
56548 }
56549
56556 {
56557 return BatchFloat64ArrayProxy(*this, Properties::Tol1);
56558 }
56559
56560 UPFCBatch& Tol1(double value)
56561 {
56562 set_batch_val<double>(Properties::Tol1, value);
56563 return *this;
56564 }
56565
56566 template <typename T>
56567 UPFCBatch& Tol1(T &value)
56568 {
56569 set_batch_val_for_each<T>(Properties::Tol1, value.begin(), value.end());
56570 return *this;
56571 }
56572
56573 template <typename T>
56574 UPFCBatch& Tol1(typename T::iterator it_begin, typename T::iterator it_end)
56575 {
56576 set_batch_val_for_each<T>(Properties::Tol1, it_begin, it_end);
56577 return *this;
56578 }
56579
56592 {
56593 return BatchInt32ArrayProxy(*this, Properties::Mode);
56594 }
56595
56596 UPFCBatch& Mode(int32_t value)
56597 {
56598 set_batch_val(Properties::Mode, value);
56599 return *this;
56600 }
56601
56602 template <typename T>
56603 UPFCBatch& Mode(T &value)
56604 {
56605 set_batch_val_for_each<T>(Properties::Mode, value.begin(), value.end());
56606 return *this;
56607 }
56608
56609 template <typename T>
56610 UPFCBatch& Mode(typename T::iterator it_begin, typename T::iterator it_end)
56611 {
56612 set_batch_val_for_each<T>(Properties::Mode, it_begin, it_end);
56613 return *this;
56614 }
56615
56621 {
56622 return BatchFloat64ArrayProxy(*this, Properties::VpqMax);
56623 }
56624
56625 UPFCBatch& VpqMax(double value)
56626 {
56627 set_batch_val<double>(Properties::VpqMax, value);
56628 return *this;
56629 }
56630
56631 template <typename T>
56632 UPFCBatch& VpqMax(T &value)
56633 {
56634 set_batch_val_for_each<T>(Properties::VpqMax, value.begin(), value.end());
56635 return *this;
56636 }
56637
56638 template <typename T>
56639 UPFCBatch& VpqMax(typename T::iterator it_begin, typename T::iterator it_end)
56640 {
56641 set_batch_val_for_each<T>(Properties::VpqMax, it_begin, it_end);
56642 return *this;
56643 }
56644
56649 strings LossCurve()
56650 {
56651 return get_batch_val<strings>(Properties::LossCurve);
56652 }
56653
56655 {
56656 set_batch_val(Properties::LossCurve, value);
56657 return *this;
56658 }
56659
56660 UPFCBatch& LossCurve(const string &value)
56661 {
56662 set_batch_val(Properties::LossCurve, value);
56663 return *this;
56664 }
56665
56670 std::vector<dss::obj::XYcurve> LossCurve_obj()
56671 {
56672 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::LossCurve);
56673 }
56674
56676 {
56677 set_batch_val(Properties::LossCurve, value);
56678 return *this;
56679 }
56680
56686 {
56687 return BatchFloat64ArrayProxy(*this, Properties::VHLimit);
56688 }
56689
56690 UPFCBatch& VHLimit(double value)
56691 {
56692 set_batch_val<double>(Properties::VHLimit, value);
56693 return *this;
56694 }
56695
56696 template <typename T>
56697 UPFCBatch& VHLimit(T &value)
56698 {
56699 set_batch_val_for_each<T>(Properties::VHLimit, value.begin(), value.end());
56700 return *this;
56701 }
56702
56703 template <typename T>
56704 UPFCBatch& VHLimit(typename T::iterator it_begin, typename T::iterator it_end)
56705 {
56706 set_batch_val_for_each<T>(Properties::VHLimit, it_begin, it_end);
56707 return *this;
56708 }
56709
56715 {
56716 return BatchFloat64ArrayProxy(*this, Properties::VLLimit);
56717 }
56718
56719 UPFCBatch& VLLimit(double value)
56720 {
56721 set_batch_val<double>(Properties::VLLimit, value);
56722 return *this;
56723 }
56724
56725 template <typename T>
56726 UPFCBatch& VLLimit(T &value)
56727 {
56728 set_batch_val_for_each<T>(Properties::VLLimit, value.begin(), value.end());
56729 return *this;
56730 }
56731
56732 template <typename T>
56733 UPFCBatch& VLLimit(typename T::iterator it_begin, typename T::iterator it_end)
56734 {
56735 set_batch_val_for_each<T>(Properties::VLLimit, it_begin, it_end);
56736 return *this;
56737 }
56738
56744 {
56745 return BatchFloat64ArrayProxy(*this, Properties::CLimit);
56746 }
56747
56748 UPFCBatch& CLimit(double value)
56749 {
56750 set_batch_val<double>(Properties::CLimit, value);
56751 return *this;
56752 }
56753
56754 template <typename T>
56755 UPFCBatch& CLimit(T &value)
56756 {
56757 set_batch_val_for_each<T>(Properties::CLimit, value.begin(), value.end());
56758 return *this;
56759 }
56760
56761 template <typename T>
56762 UPFCBatch& CLimit(typename T::iterator it_begin, typename T::iterator it_end)
56763 {
56764 set_batch_val_for_each<T>(Properties::CLimit, it_begin, it_end);
56765 return *this;
56766 }
56767
56775 {
56776 return BatchFloat64ArrayProxy(*this, Properties::refkv2);
56777 }
56778
56779 UPFCBatch& refkv2(double value)
56780 {
56781 set_batch_val<double>(Properties::refkv2, value);
56782 return *this;
56783 }
56784
56785 template <typename T>
56786 UPFCBatch& refkv2(T &value)
56787 {
56788 set_batch_val_for_each<T>(Properties::refkv2, value.begin(), value.end());
56789 return *this;
56790 }
56791
56792 template <typename T>
56793 UPFCBatch& refkv2(typename T::iterator it_begin, typename T::iterator it_end)
56794 {
56795 set_batch_val_for_each<T>(Properties::refkv2, it_begin, it_end);
56796 return *this;
56797 }
56798
56804 {
56805 return BatchFloat64ArrayProxy(*this, Properties::kvarLimit);
56806 }
56807
56808 UPFCBatch& kvarLimit(double value)
56809 {
56810 set_batch_val<double>(Properties::kvarLimit, value);
56811 return *this;
56812 }
56813
56814 template <typename T>
56815 UPFCBatch& kvarLimit(T &value)
56816 {
56817 set_batch_val_for_each<T>(Properties::kvarLimit, value.begin(), value.end());
56818 return *this;
56819 }
56820
56821 template <typename T>
56822 UPFCBatch& kvarLimit(typename T::iterator it_begin, typename T::iterator it_end)
56823 {
56824 set_batch_val_for_each<T>(Properties::kvarLimit, it_begin, it_end);
56825 return *this;
56826 }
56827
56832 strings spectrum()
56833 {
56834 return get_batch_val<strings>(Properties::spectrum);
56835 }
56836
56838 {
56839 set_batch_val(Properties::spectrum, value);
56840 return *this;
56841 }
56842
56843 UPFCBatch& spectrum(const string &value)
56844 {
56845 set_batch_val(Properties::spectrum, value);
56846 return *this;
56847 }
56848
56853 std::vector<dss::obj::Spectrum> spectrum_obj()
56854 {
56855 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
56856 }
56857
56859 {
56860 set_batch_val(Properties::spectrum, value);
56861 return *this;
56862 }
56863
56869 {
56870 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
56871 }
56872
56873 UPFCBatch& basefreq(double value)
56874 {
56875 set_batch_val<double>(Properties::basefreq, value);
56876 return *this;
56877 }
56878
56879 template <typename T>
56880 UPFCBatch& basefreq(T &value)
56881 {
56882 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
56883 return *this;
56884 }
56885
56886 template <typename T>
56887 UPFCBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
56888 {
56889 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
56890 return *this;
56891 }
56892
56897 bools enabled()
56898 {
56899 return get_batch_val<bools>(Properties::enabled);
56900 }
56901
56902 UPFCBatch& enabled(bool value)
56903 {
56904 set_batch_val(Properties::enabled, int32_t(value));
56905 return *this;
56906 }
56907
56908 UPFCBatch& enabled(bools &value)
56909 {
56910 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
56911 return *this;
56912 }
56913
56920 UPFCBatch& like(const string &value)
56921 {
56922 set_batch_val(Properties::like, value.c_str());
56923 return *this;
56924 }
56925
56932 UPFCBatch& like(const char *value)
56933 {
56934 set_batch_val(Properties::like, value);
56935 return *this;
56936 }
56937};
56938
56939
56941{
56942public:
56945
56950 DSSBatch(util, UPFCControl::dss_cls_idx)
56951 {
56952 }
56953
56957 UPFCControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
56958 DSSBatch(util, UPFCControl::dss_cls_idx, prop_idx, prop_value)
56959 {
56960 }
56961
56965 UPFCControlBatch(APIUtil *util, const char* regexp):
56966 DSSBatch(util, UPFCControl::dss_cls_idx, regexp)
56967 {
56968 }
56969
56970
56971 UPFCControlBatch& begin_edit()
56972 {
56973 Batch_BeginEdit(pointer, count[0]);
56974 return *this;
56975 }
56976
56977 UPFCControlBatch& end_edit(int32_t num_edits=1)
56978 {
56979 Batch_EndEdit(pointer, count[0], num_edits);
56980 return *this;
56981 }
56982
56983
56988 std::vector<strings> UPFCList()
56989 {
56990 return get_batch_valarray<strings>(Properties::UPFCList);
56991 }
56992
56993 UPFCControlBatch& UPFCList(strings &value)
56994 {
56995 set_batch_val(Properties::UPFCList, value);
56996 return *this;
56997 }
56998
57004 {
57005 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
57006 }
57007
57008 UPFCControlBatch& basefreq(double value)
57009 {
57010 set_batch_val<double>(Properties::basefreq, value);
57011 return *this;
57012 }
57013
57014 template <typename T>
57015 UPFCControlBatch& basefreq(T &value)
57016 {
57017 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
57018 return *this;
57019 }
57020
57021 template <typename T>
57022 UPFCControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
57023 {
57024 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
57025 return *this;
57026 }
57027
57032 bools enabled()
57033 {
57034 return get_batch_val<bools>(Properties::enabled);
57035 }
57036
57037 UPFCControlBatch& enabled(bool value)
57038 {
57039 set_batch_val(Properties::enabled, int32_t(value));
57040 return *this;
57041 }
57042
57043 UPFCControlBatch& enabled(bools &value)
57044 {
57045 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
57046 return *this;
57047 }
57048
57055 UPFCControlBatch& like(const string &value)
57056 {
57057 set_batch_val(Properties::like, value.c_str());
57058 return *this;
57059 }
57060
57067 UPFCControlBatch& like(const char *value)
57068 {
57069 set_batch_val(Properties::like, value);
57070 return *this;
57071 }
57072};
57073
57074
57076{
57077public:
57080
57081 // Shortcuts to class-specific enumerations
57083
57084
57089 DSSBatch(util, ESPVLControl::dss_cls_idx)
57090 {
57091 }
57092
57096 ESPVLControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
57097 DSSBatch(util, ESPVLControl::dss_cls_idx, prop_idx, prop_value)
57098 {
57099 }
57100
57104 ESPVLControlBatch(APIUtil *util, const char* regexp):
57105 DSSBatch(util, ESPVLControl::dss_cls_idx, regexp)
57106 {
57107 }
57108
57109
57110 ESPVLControlBatch& begin_edit()
57111 {
57112 Batch_BeginEdit(pointer, count[0]);
57113 return *this;
57114 }
57115
57116 ESPVLControlBatch& end_edit(int32_t num_edits=1)
57117 {
57118 Batch_EndEdit(pointer, count[0], num_edits);
57119 return *this;
57120 }
57121
57122
57127 strings Element()
57128 {
57129 return get_batch_val<strings>(Properties::Element);
57130 }
57131
57133 {
57134 set_batch_val(Properties::Element, value);
57135 return *this;
57136 }
57137
57138 ESPVLControlBatch& Element(const string &value)
57139 {
57140 set_batch_val(Properties::Element, value);
57141 return *this;
57142 }
57143
57148 std::vector<dss::obj::DSSObj> Element_obj()
57149 {
57150 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::Element);
57151 }
57152
57154 {
57155 set_batch_val(Properties::Element, value);
57156 return *this;
57157 }
57158
57164 {
57165 return BatchInt32ArrayProxy(*this, Properties::Terminal);
57166 }
57167
57168 ESPVLControlBatch& Terminal(int32_t value)
57169 {
57170 set_batch_val(Properties::Terminal, value);
57171 return *this;
57172 }
57173
57174 template <typename T>
57175 ESPVLControlBatch& Terminal(T &value)
57176 {
57177 set_batch_val_for_each<T>(Properties::Terminal, value.begin(), value.end());
57178 return *this;
57179 }
57180
57181 template <typename T>
57182 ESPVLControlBatch& Terminal(typename T::iterator it_begin, typename T::iterator it_end)
57183 {
57184 set_batch_val_for_each<T>(Properties::Terminal, it_begin, it_end);
57185 return *this;
57186 }
57187
57193 {
57194 return BatchInt32ArrayProxy(*this, Properties::Type);
57195 }
57196
57197 ESPVLControlBatch& Type(string &value)
57198 {
57199 set_batch_val(Properties::Type, value);
57200 return *this;
57201 }
57202
57203 ESPVLControlBatch& Type(int32_t value)
57204 {
57205 set_batch_val(Properties::Type, value);
57206 return *this;
57207 }
57208
57210 {
57211 set_batch_val(Properties::Type, int32_t(value));
57212 return *this;
57213 }
57214
57215 ESPVLControlBatch& Type(strings &value)
57216 {
57217 set_batch_val_for_each<strings>(Properties::Type, value.begin(), value.end());
57218 return *this;
57219 }
57220
57221 ESPVLControlBatch& Type(std::vector<int32_t> &value)
57222 {
57223 set_batch_val_for_each<std::vector<int32_t>>(Properties::Type, value.begin(), value.end());
57224 return *this;
57225 }
57226
57227 ESPVLControlBatch& Type(std::vector<ESPVLControl::ESPVLControlType> &value)
57228 {
57229 set_batch_val_for_each<std::vector<ESPVLControl::ESPVLControlType>>(Properties::Type, value.begin(), value.end());
57230 return *this;
57231 }
57232
57237 strings Type_str()
57238 {
57239 return get_batch_val<strings>(Properties::Type);
57240 }
57241
57242 ESPVLControlBatch& Type_str(string &value)
57243 {
57244 Type(value);
57245 return *this;
57246 }
57247
57248 ESPVLControlBatch& Type_str(strings &value)
57249 {
57250 Type(value);
57251 return *this;
57252 }
57253
57259 {
57260 return BatchFloat64ArrayProxy(*this, Properties::kWBand);
57261 }
57262
57263 ESPVLControlBatch& kWBand(double value)
57264 {
57265 set_batch_val<double>(Properties::kWBand, value);
57266 return *this;
57267 }
57268
57269 template <typename T>
57270 ESPVLControlBatch& kWBand(T &value)
57271 {
57272 set_batch_val_for_each<T>(Properties::kWBand, value.begin(), value.end());
57273 return *this;
57274 }
57275
57276 template <typename T>
57277 ESPVLControlBatch& kWBand(typename T::iterator it_begin, typename T::iterator it_end)
57278 {
57279 set_batch_val_for_each<T>(Properties::kWBand, it_begin, it_end);
57280 return *this;
57281 }
57282
57288 {
57289 return BatchFloat64ArrayProxy(*this, Properties::kvarlimit);
57290 }
57291
57292 ESPVLControlBatch& kvarlimit(double value)
57293 {
57294 set_batch_val<double>(Properties::kvarlimit, value);
57295 return *this;
57296 }
57297
57298 template <typename T>
57299 ESPVLControlBatch& kvarlimit(T &value)
57300 {
57301 set_batch_val_for_each<T>(Properties::kvarlimit, value.begin(), value.end());
57302 return *this;
57303 }
57304
57305 template <typename T>
57306 ESPVLControlBatch& kvarlimit(typename T::iterator it_begin, typename T::iterator it_end)
57307 {
57308 set_batch_val_for_each<T>(Properties::kvarlimit, it_begin, it_end);
57309 return *this;
57310 }
57311
57316 std::vector<strings> LocalControlList()
57317 {
57318 return get_batch_valarray<strings>(Properties::LocalControlList);
57319 }
57320
57321 ESPVLControlBatch& LocalControlList(strings &value)
57322 {
57323 set_batch_val(Properties::LocalControlList, value);
57324 return *this;
57325 }
57326
57331 std::vector<VectorXd> LocalControlWeights()
57332 {
57333 return get_batch_valarray<VectorXd>(Properties::LocalControlWeights);
57334 }
57335
57336 ESPVLControlBatch& LocalControlWeights(VectorXd &value)
57337 {
57338 set_batch_val<VectorXd>(Properties::LocalControlWeights, value);
57339 return *this;
57340 }
57341
57346 std::vector<strings> PVSystemList()
57347 {
57348 return get_batch_valarray<strings>(Properties::PVSystemList);
57349 }
57350
57351 ESPVLControlBatch& PVSystemList(strings &value)
57352 {
57353 set_batch_val(Properties::PVSystemList, value);
57354 return *this;
57355 }
57356
57361 std::vector<VectorXd> PVSystemWeights()
57362 {
57363 return get_batch_valarray<VectorXd>(Properties::PVSystemWeights);
57364 }
57365
57366 ESPVLControlBatch& PVSystemWeights(VectorXd &value)
57367 {
57368 set_batch_val<VectorXd>(Properties::PVSystemWeights, value);
57369 return *this;
57370 }
57371
57376 std::vector<strings> StorageList()
57377 {
57378 return get_batch_valarray<strings>(Properties::StorageList);
57379 }
57380
57381 ESPVLControlBatch& StorageList(strings &value)
57382 {
57383 set_batch_val(Properties::StorageList, value);
57384 return *this;
57385 }
57386
57391 std::vector<VectorXd> StorageWeights()
57392 {
57393 return get_batch_valarray<VectorXd>(Properties::StorageWeights);
57394 }
57395
57396 ESPVLControlBatch& StorageWeights(VectorXd &value)
57397 {
57398 set_batch_val<VectorXd>(Properties::StorageWeights, value);
57399 return *this;
57400 }
57401
57407 {
57408 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
57409 }
57410
57411 ESPVLControlBatch& basefreq(double value)
57412 {
57413 set_batch_val<double>(Properties::basefreq, value);
57414 return *this;
57415 }
57416
57417 template <typename T>
57418 ESPVLControlBatch& basefreq(T &value)
57419 {
57420 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
57421 return *this;
57422 }
57423
57424 template <typename T>
57425 ESPVLControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
57426 {
57427 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
57428 return *this;
57429 }
57430
57435 bools enabled()
57436 {
57437 return get_batch_val<bools>(Properties::enabled);
57438 }
57439
57440 ESPVLControlBatch& enabled(bool value)
57441 {
57442 set_batch_val(Properties::enabled, int32_t(value));
57443 return *this;
57444 }
57445
57446 ESPVLControlBatch& enabled(bools &value)
57447 {
57448 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
57449 return *this;
57450 }
57451
57458 ESPVLControlBatch& like(const string &value)
57459 {
57460 set_batch_val(Properties::like, value.c_str());
57461 return *this;
57462 }
57463
57470 ESPVLControlBatch& like(const char *value)
57471 {
57472 set_batch_val(Properties::like, value);
57473 return *this;
57474 }
57475};
57476
57477
57479{
57480public:
57483
57484 // Shortcuts to class-specific enumerations
57486
57487
57492 DSSBatch(util, IndMach012::dss_cls_idx)
57493 {
57494 }
57495
57499 IndMach012Batch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
57500 DSSBatch(util, IndMach012::dss_cls_idx, prop_idx, prop_value)
57501 {
57502 }
57503
57507 IndMach012Batch(APIUtil *util, const char* regexp):
57508 DSSBatch(util, IndMach012::dss_cls_idx, regexp)
57509 {
57510 }
57511
57512
57513 IndMach012Batch& begin_edit()
57514 {
57515 Batch_BeginEdit(pointer, count[0]);
57516 return *this;
57517 }
57518
57519 IndMach012Batch& end_edit(int32_t num_edits=1)
57520 {
57521 Batch_EndEdit(pointer, count[0], num_edits);
57522 return *this;
57523 }
57524
57525
57531 {
57532 return BatchInt32ArrayProxy(*this, Properties::phases);
57533 }
57534
57535 IndMach012Batch& phases(int32_t value)
57536 {
57537 set_batch_val(Properties::phases, value);
57538 return *this;
57539 }
57540
57541 template <typename T>
57542 IndMach012Batch& phases(T &value)
57543 {
57544 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
57545 return *this;
57546 }
57547
57548 template <typename T>
57549 IndMach012Batch& phases(typename T::iterator it_begin, typename T::iterator it_end)
57550 {
57551 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
57552 return *this;
57553 }
57554
57559 strings bus1()
57560 {
57561 return get_batch_val<strings>(Properties::bus1);
57562 }
57563
57564 IndMach012Batch& bus1(const string &value)
57565 {
57566 set_batch_val(Properties::bus1, value.c_str());
57567 return *this;
57568 }
57569
57570 IndMach012Batch& bus1(strings &value)
57571 {
57572 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
57573 return *this;
57574 }
57575
57581 {
57582 return BatchFloat64ArrayProxy(*this, Properties::kv);
57583 }
57584
57585 IndMach012Batch& kv(double value)
57586 {
57587 set_batch_val<double>(Properties::kv, value);
57588 return *this;
57589 }
57590
57591 template <typename T>
57592 IndMach012Batch& kv(T &value)
57593 {
57594 set_batch_val_for_each<T>(Properties::kv, value.begin(), value.end());
57595 return *this;
57596 }
57597
57598 template <typename T>
57599 IndMach012Batch& kv(typename T::iterator it_begin, typename T::iterator it_end)
57600 {
57601 set_batch_val_for_each<T>(Properties::kv, it_begin, it_end);
57602 return *this;
57603 }
57604
57611 {
57612 return BatchFloat64ArrayProxy(*this, Properties::kW);
57613 }
57614
57615 IndMach012Batch& kW(double value)
57616 {
57617 set_batch_val<double>(Properties::kW, value);
57618 return *this;
57619 }
57620
57621 template <typename T>
57622 IndMach012Batch& kW(T &value)
57623 {
57624 set_batch_val_for_each<T>(Properties::kW, value.begin(), value.end());
57625 return *this;
57626 }
57627
57628 template <typename T>
57629 IndMach012Batch& kW(typename T::iterator it_begin, typename T::iterator it_end)
57630 {
57631 set_batch_val_for_each<T>(Properties::kW, it_begin, it_end);
57632 return *this;
57633 }
57634
57640 {
57641 return BatchFloat64ArrayProxy(*this, Properties::pf);
57642 }
57643
57644 IndMach012Batch& pf(double value)
57645 {
57646 set_batch_val<double>(Properties::pf, value);
57647 return *this;
57648 }
57649
57650 template <typename T>
57651 IndMach012Batch& pf(T &value)
57652 {
57653 set_batch_val_for_each<T>(Properties::pf, value.begin(), value.end());
57654 return *this;
57655 }
57656
57657 template <typename T>
57658 IndMach012Batch& pf(typename T::iterator it_begin, typename T::iterator it_end)
57659 {
57660 set_batch_val_for_each<T>(Properties::pf, it_begin, it_end);
57661 return *this;
57662 }
57663
57669 {
57670 return BatchInt32ArrayProxy(*this, Properties::conn);
57671 }
57672
57673 IndMach012Batch& conn(string &value)
57674 {
57675 set_batch_val(Properties::conn, value);
57676 return *this;
57677 }
57678
57679 IndMach012Batch& conn(int32_t value)
57680 {
57681 set_batch_val(Properties::conn, value);
57682 return *this;
57683 }
57684
57685 IndMach012Batch& conn(Connection value)
57686 {
57687 set_batch_val(Properties::conn, int32_t(value));
57688 return *this;
57689 }
57690
57691 IndMach012Batch& conn(strings &value)
57692 {
57693 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
57694 return *this;
57695 }
57696
57697 IndMach012Batch& conn(std::vector<int32_t> &value)
57698 {
57699 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
57700 return *this;
57701 }
57702
57703 IndMach012Batch& conn(std::vector<Connection> &value)
57704 {
57705 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
57706 return *this;
57707 }
57708
57713 strings conn_str()
57714 {
57715 return get_batch_val<strings>(Properties::conn);
57716 }
57717
57718 IndMach012Batch& conn_str(string &value)
57719 {
57720 conn(value);
57721 return *this;
57722 }
57723
57724 IndMach012Batch& conn_str(strings &value)
57725 {
57726 conn(value);
57727 return *this;
57728 }
57729
57735 {
57736 return BatchFloat64ArrayProxy(*this, Properties::kVA);
57737 }
57738
57739 IndMach012Batch& kVA(double value)
57740 {
57741 set_batch_val<double>(Properties::kVA, value);
57742 return *this;
57743 }
57744
57745 template <typename T>
57746 IndMach012Batch& kVA(T &value)
57747 {
57748 set_batch_val_for_each<T>(Properties::kVA, value.begin(), value.end());
57749 return *this;
57750 }
57751
57752 template <typename T>
57753 IndMach012Batch& kVA(typename T::iterator it_begin, typename T::iterator it_end)
57754 {
57755 set_batch_val_for_each<T>(Properties::kVA, it_begin, it_end);
57756 return *this;
57757 }
57758
57764 {
57765 return BatchFloat64ArrayProxy(*this, Properties::H);
57766 }
57767
57768 IndMach012Batch& H(double value)
57769 {
57770 set_batch_val<double>(Properties::H, value);
57771 return *this;
57772 }
57773
57774 template <typename T>
57775 IndMach012Batch& H(T &value)
57776 {
57777 set_batch_val_for_each<T>(Properties::H, value.begin(), value.end());
57778 return *this;
57779 }
57780
57781 template <typename T>
57782 IndMach012Batch& H(typename T::iterator it_begin, typename T::iterator it_end)
57783 {
57784 set_batch_val_for_each<T>(Properties::H, it_begin, it_end);
57785 return *this;
57786 }
57787
57793 {
57794 return BatchFloat64ArrayProxy(*this, Properties::D);
57795 }
57796
57797 IndMach012Batch& D(double value)
57798 {
57799 set_batch_val<double>(Properties::D, value);
57800 return *this;
57801 }
57802
57803 template <typename T>
57804 IndMach012Batch& D(T &value)
57805 {
57806 set_batch_val_for_each<T>(Properties::D, value.begin(), value.end());
57807 return *this;
57808 }
57809
57810 template <typename T>
57811 IndMach012Batch& D(typename T::iterator it_begin, typename T::iterator it_end)
57812 {
57813 set_batch_val_for_each<T>(Properties::D, it_begin, it_end);
57814 return *this;
57815 }
57816
57822 {
57823 return BatchFloat64ArrayProxy(*this, Properties::puRs);
57824 }
57825
57826 IndMach012Batch& puRs(double value)
57827 {
57828 set_batch_val<double>(Properties::puRs, value);
57829 return *this;
57830 }
57831
57832 template <typename T>
57833 IndMach012Batch& puRs(T &value)
57834 {
57835 set_batch_val_for_each<T>(Properties::puRs, value.begin(), value.end());
57836 return *this;
57837 }
57838
57839 template <typename T>
57840 IndMach012Batch& puRs(typename T::iterator it_begin, typename T::iterator it_end)
57841 {
57842 set_batch_val_for_each<T>(Properties::puRs, it_begin, it_end);
57843 return *this;
57844 }
57845
57851 {
57852 return BatchFloat64ArrayProxy(*this, Properties::puXs);
57853 }
57854
57855 IndMach012Batch& puXs(double value)
57856 {
57857 set_batch_val<double>(Properties::puXs, value);
57858 return *this;
57859 }
57860
57861 template <typename T>
57862 IndMach012Batch& puXs(T &value)
57863 {
57864 set_batch_val_for_each<T>(Properties::puXs, value.begin(), value.end());
57865 return *this;
57866 }
57867
57868 template <typename T>
57869 IndMach012Batch& puXs(typename T::iterator it_begin, typename T::iterator it_end)
57870 {
57871 set_batch_val_for_each<T>(Properties::puXs, it_begin, it_end);
57872 return *this;
57873 }
57874
57880 {
57881 return BatchFloat64ArrayProxy(*this, Properties::puRr);
57882 }
57883
57884 IndMach012Batch& puRr(double value)
57885 {
57886 set_batch_val<double>(Properties::puRr, value);
57887 return *this;
57888 }
57889
57890 template <typename T>
57891 IndMach012Batch& puRr(T &value)
57892 {
57893 set_batch_val_for_each<T>(Properties::puRr, value.begin(), value.end());
57894 return *this;
57895 }
57896
57897 template <typename T>
57898 IndMach012Batch& puRr(typename T::iterator it_begin, typename T::iterator it_end)
57899 {
57900 set_batch_val_for_each<T>(Properties::puRr, it_begin, it_end);
57901 return *this;
57902 }
57903
57909 {
57910 return BatchFloat64ArrayProxy(*this, Properties::puXr);
57911 }
57912
57913 IndMach012Batch& puXr(double value)
57914 {
57915 set_batch_val<double>(Properties::puXr, value);
57916 return *this;
57917 }
57918
57919 template <typename T>
57920 IndMach012Batch& puXr(T &value)
57921 {
57922 set_batch_val_for_each<T>(Properties::puXr, value.begin(), value.end());
57923 return *this;
57924 }
57925
57926 template <typename T>
57927 IndMach012Batch& puXr(typename T::iterator it_begin, typename T::iterator it_end)
57928 {
57929 set_batch_val_for_each<T>(Properties::puXr, it_begin, it_end);
57930 return *this;
57931 }
57932
57938 {
57939 return BatchFloat64ArrayProxy(*this, Properties::puXm);
57940 }
57941
57942 IndMach012Batch& puXm(double value)
57943 {
57944 set_batch_val<double>(Properties::puXm, value);
57945 return *this;
57946 }
57947
57948 template <typename T>
57949 IndMach012Batch& puXm(T &value)
57950 {
57951 set_batch_val_for_each<T>(Properties::puXm, value.begin(), value.end());
57952 return *this;
57953 }
57954
57955 template <typename T>
57956 IndMach012Batch& puXm(typename T::iterator it_begin, typename T::iterator it_end)
57957 {
57958 set_batch_val_for_each<T>(Properties::puXm, it_begin, it_end);
57959 return *this;
57960 }
57961
57967 {
57968 return BatchFloat64ArrayProxy(*this, Properties::Slip);
57969 }
57970
57971 IndMach012Batch& Slip(double value)
57972 {
57973 set_batch_val<double>(Properties::Slip, value);
57974 return *this;
57975 }
57976
57977 template <typename T>
57978 IndMach012Batch& Slip(T &value)
57979 {
57980 set_batch_val_for_each<T>(Properties::Slip, value.begin(), value.end());
57981 return *this;
57982 }
57983
57984 template <typename T>
57985 IndMach012Batch& Slip(typename T::iterator it_begin, typename T::iterator it_end)
57986 {
57987 set_batch_val_for_each<T>(Properties::Slip, it_begin, it_end);
57988 return *this;
57989 }
57990
57996 {
57997 return BatchFloat64ArrayProxy(*this, Properties::MaxSlip);
57998 }
57999
58000 IndMach012Batch& MaxSlip(double value)
58001 {
58002 set_batch_val<double>(Properties::MaxSlip, value);
58003 return *this;
58004 }
58005
58006 template <typename T>
58007 IndMach012Batch& MaxSlip(T &value)
58008 {
58009 set_batch_val_for_each<T>(Properties::MaxSlip, value.begin(), value.end());
58010 return *this;
58011 }
58012
58013 template <typename T>
58014 IndMach012Batch& MaxSlip(typename T::iterator it_begin, typename T::iterator it_end)
58015 {
58016 set_batch_val_for_each<T>(Properties::MaxSlip, it_begin, it_end);
58017 return *this;
58018 }
58019
58025 {
58026 return BatchInt32ArrayProxy(*this, Properties::SlipOption);
58027 }
58028
58029 IndMach012Batch& SlipOption(string &value)
58030 {
58031 set_batch_val(Properties::SlipOption, value);
58032 return *this;
58033 }
58034
58035 IndMach012Batch& SlipOption(int32_t value)
58036 {
58037 set_batch_val(Properties::SlipOption, value);
58038 return *this;
58039 }
58040
58042 {
58043 set_batch_val(Properties::SlipOption, int32_t(value));
58044 return *this;
58045 }
58046
58047 IndMach012Batch& SlipOption(strings &value)
58048 {
58049 set_batch_val_for_each<strings>(Properties::SlipOption, value.begin(), value.end());
58050 return *this;
58051 }
58052
58053 IndMach012Batch& SlipOption(std::vector<int32_t> &value)
58054 {
58055 set_batch_val_for_each<std::vector<int32_t>>(Properties::SlipOption, value.begin(), value.end());
58056 return *this;
58057 }
58058
58059 IndMach012Batch& SlipOption(std::vector<IndMach012::IndMach012SlipOption> &value)
58060 {
58061 set_batch_val_for_each<std::vector<IndMach012::IndMach012SlipOption>>(Properties::SlipOption, value.begin(), value.end());
58062 return *this;
58063 }
58064
58070 {
58071 return get_batch_val<strings>(Properties::SlipOption);
58072 }
58073
58074 IndMach012Batch& SlipOption_str(string &value)
58075 {
58076 SlipOption(value);
58077 return *this;
58078 }
58079
58080 IndMach012Batch& SlipOption_str(strings &value)
58081 {
58082 SlipOption(value);
58083 return *this;
58084 }
58085
58090 strings Yearly()
58091 {
58092 return get_batch_val<strings>(Properties::Yearly);
58093 }
58094
58096 {
58097 set_batch_val(Properties::Yearly, value);
58098 return *this;
58099 }
58100
58101 IndMach012Batch& Yearly(const string &value)
58102 {
58103 set_batch_val(Properties::Yearly, value);
58104 return *this;
58105 }
58106
58111 std::vector<dss::obj::LoadShape> Yearly_obj()
58112 {
58113 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Yearly);
58114 }
58115
58117 {
58118 set_batch_val(Properties::Yearly, value);
58119 return *this;
58120 }
58121
58126 strings Daily()
58127 {
58128 return get_batch_val<strings>(Properties::Daily);
58129 }
58130
58132 {
58133 set_batch_val(Properties::Daily, value);
58134 return *this;
58135 }
58136
58137 IndMach012Batch& Daily(const string &value)
58138 {
58139 set_batch_val(Properties::Daily, value);
58140 return *this;
58141 }
58142
58147 std::vector<dss::obj::LoadShape> Daily_obj()
58148 {
58149 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Daily);
58150 }
58151
58153 {
58154 set_batch_val(Properties::Daily, value);
58155 return *this;
58156 }
58157
58162 strings Duty()
58163 {
58164 return get_batch_val<strings>(Properties::Duty);
58165 }
58166
58168 {
58169 set_batch_val(Properties::Duty, value);
58170 return *this;
58171 }
58172
58173 IndMach012Batch& Duty(const string &value)
58174 {
58175 set_batch_val(Properties::Duty, value);
58176 return *this;
58177 }
58178
58183 std::vector<dss::obj::LoadShape> Duty_obj()
58184 {
58185 return get_batch_val<std::vector<dss::obj::LoadShape>>(Properties::Duty);
58186 }
58187
58189 {
58190 set_batch_val(Properties::Duty, value);
58191 return *this;
58192 }
58193
58199 {
58200 return get_batch_val<bools>(Properties::Debugtrace);
58201 }
58202
58203 IndMach012Batch& Debugtrace(bool value)
58204 {
58205 set_batch_val(Properties::Debugtrace, int32_t(value));
58206 return *this;
58207 }
58208
58209 IndMach012Batch& Debugtrace(bools &value)
58210 {
58211 set_batch_val_for_each<std::vector<int32_t>>(Properties::Debugtrace, value.begin(), value.end());
58212 return *this;
58213 }
58214
58219 strings spectrum()
58220 {
58221 return get_batch_val<strings>(Properties::spectrum);
58222 }
58223
58225 {
58226 set_batch_val(Properties::spectrum, value);
58227 return *this;
58228 }
58229
58230 IndMach012Batch& spectrum(const string &value)
58231 {
58232 set_batch_val(Properties::spectrum, value);
58233 return *this;
58234 }
58235
58240 std::vector<dss::obj::Spectrum> spectrum_obj()
58241 {
58242 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
58243 }
58244
58246 {
58247 set_batch_val(Properties::spectrum, value);
58248 return *this;
58249 }
58250
58256 {
58257 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
58258 }
58259
58260 IndMach012Batch& basefreq(double value)
58261 {
58262 set_batch_val<double>(Properties::basefreq, value);
58263 return *this;
58264 }
58265
58266 template <typename T>
58267 IndMach012Batch& basefreq(T &value)
58268 {
58269 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
58270 return *this;
58271 }
58272
58273 template <typename T>
58274 IndMach012Batch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
58275 {
58276 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
58277 return *this;
58278 }
58279
58284 bools enabled()
58285 {
58286 return get_batch_val<bools>(Properties::enabled);
58287 }
58288
58289 IndMach012Batch& enabled(bool value)
58290 {
58291 set_batch_val(Properties::enabled, int32_t(value));
58292 return *this;
58293 }
58294
58295 IndMach012Batch& enabled(bools &value)
58296 {
58297 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
58298 return *this;
58299 }
58300
58307 IndMach012Batch& like(const string &value)
58308 {
58309 set_batch_val(Properties::like, value.c_str());
58310 return *this;
58311 }
58312
58319 IndMach012Batch& like(const char *value)
58320 {
58321 set_batch_val(Properties::like, value);
58322 return *this;
58323 }
58324};
58325
58326
58328{
58329public:
58332
58337 DSSBatch(util, GICsource::dss_cls_idx)
58338 {
58339 }
58340
58344 GICsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
58345 DSSBatch(util, GICsource::dss_cls_idx, prop_idx, prop_value)
58346 {
58347 }
58348
58352 GICsourceBatch(APIUtil *util, const char* regexp):
58353 DSSBatch(util, GICsource::dss_cls_idx, regexp)
58354 {
58355 }
58356
58357
58358 GICsourceBatch& begin_edit()
58359 {
58360 Batch_BeginEdit(pointer, count[0]);
58361 return *this;
58362 }
58363
58364 GICsourceBatch& end_edit(int32_t num_edits=1)
58365 {
58366 Batch_EndEdit(pointer, count[0], num_edits);
58367 return *this;
58368 }
58369
58370
58384 {
58385 return BatchFloat64ArrayProxy(*this, Properties::Volts);
58386 }
58387
58388 GICsourceBatch& Volts(double value)
58389 {
58390 set_batch_val<double>(Properties::Volts, value);
58391 return *this;
58392 }
58393
58394 template <typename T>
58395 GICsourceBatch& Volts(T &value)
58396 {
58397 set_batch_val_for_each<T>(Properties::Volts, value.begin(), value.end());
58398 return *this;
58399 }
58400
58401 template <typename T>
58402 GICsourceBatch& Volts(typename T::iterator it_begin, typename T::iterator it_end)
58403 {
58404 set_batch_val_for_each<T>(Properties::Volts, it_begin, it_end);
58405 return *this;
58406 }
58407
58413 {
58414 return BatchFloat64ArrayProxy(*this, Properties::angle);
58415 }
58416
58417 GICsourceBatch& angle(double value)
58418 {
58419 set_batch_val<double>(Properties::angle, value);
58420 return *this;
58421 }
58422
58423 template <typename T>
58424 GICsourceBatch& angle(T &value)
58425 {
58426 set_batch_val_for_each<T>(Properties::angle, value.begin(), value.end());
58427 return *this;
58428 }
58429
58430 template <typename T>
58431 GICsourceBatch& angle(typename T::iterator it_begin, typename T::iterator it_end)
58432 {
58433 set_batch_val_for_each<T>(Properties::angle, it_begin, it_end);
58434 return *this;
58435 }
58436
58442 {
58443 return BatchFloat64ArrayProxy(*this, Properties::frequency);
58444 }
58445
58446 GICsourceBatch& frequency(double value)
58447 {
58448 set_batch_val<double>(Properties::frequency, value);
58449 return *this;
58450 }
58451
58452 template <typename T>
58453 GICsourceBatch& frequency(T &value)
58454 {
58455 set_batch_val_for_each<T>(Properties::frequency, value.begin(), value.end());
58456 return *this;
58457 }
58458
58459 template <typename T>
58460 GICsourceBatch& frequency(typename T::iterator it_begin, typename T::iterator it_end)
58461 {
58462 set_batch_val_for_each<T>(Properties::frequency, it_begin, it_end);
58463 return *this;
58464 }
58465
58471 {
58472 return BatchInt32ArrayProxy(*this, Properties::phases);
58473 }
58474
58475 GICsourceBatch& phases(int32_t value)
58476 {
58477 set_batch_val(Properties::phases, value);
58478 return *this;
58479 }
58480
58481 template <typename T>
58482 GICsourceBatch& phases(T &value)
58483 {
58484 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
58485 return *this;
58486 }
58487
58488 template <typename T>
58489 GICsourceBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
58490 {
58491 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
58492 return *this;
58493 }
58494
58500 {
58501 return BatchFloat64ArrayProxy(*this, Properties::EN);
58502 }
58503
58504 GICsourceBatch& EN(double value)
58505 {
58506 set_batch_val<double>(Properties::EN, value);
58507 return *this;
58508 }
58509
58510 template <typename T>
58511 GICsourceBatch& EN(T &value)
58512 {
58513 set_batch_val_for_each<T>(Properties::EN, value.begin(), value.end());
58514 return *this;
58515 }
58516
58517 template <typename T>
58518 GICsourceBatch& EN(typename T::iterator it_begin, typename T::iterator it_end)
58519 {
58520 set_batch_val_for_each<T>(Properties::EN, it_begin, it_end);
58521 return *this;
58522 }
58523
58529 {
58530 return BatchFloat64ArrayProxy(*this, Properties::EE);
58531 }
58532
58533 GICsourceBatch& EE(double value)
58534 {
58535 set_batch_val<double>(Properties::EE, value);
58536 return *this;
58537 }
58538
58539 template <typename T>
58540 GICsourceBatch& EE(T &value)
58541 {
58542 set_batch_val_for_each<T>(Properties::EE, value.begin(), value.end());
58543 return *this;
58544 }
58545
58546 template <typename T>
58547 GICsourceBatch& EE(typename T::iterator it_begin, typename T::iterator it_end)
58548 {
58549 set_batch_val_for_each<T>(Properties::EE, it_begin, it_end);
58550 return *this;
58551 }
58552
58558 {
58559 return BatchFloat64ArrayProxy(*this, Properties::Lat1);
58560 }
58561
58562 GICsourceBatch& Lat1(double value)
58563 {
58564 set_batch_val<double>(Properties::Lat1, value);
58565 return *this;
58566 }
58567
58568 template <typename T>
58569 GICsourceBatch& Lat1(T &value)
58570 {
58571 set_batch_val_for_each<T>(Properties::Lat1, value.begin(), value.end());
58572 return *this;
58573 }
58574
58575 template <typename T>
58576 GICsourceBatch& Lat1(typename T::iterator it_begin, typename T::iterator it_end)
58577 {
58578 set_batch_val_for_each<T>(Properties::Lat1, it_begin, it_end);
58579 return *this;
58580 }
58581
58587 {
58588 return BatchFloat64ArrayProxy(*this, Properties::Lon1);
58589 }
58590
58591 GICsourceBatch& Lon1(double value)
58592 {
58593 set_batch_val<double>(Properties::Lon1, value);
58594 return *this;
58595 }
58596
58597 template <typename T>
58598 GICsourceBatch& Lon1(T &value)
58599 {
58600 set_batch_val_for_each<T>(Properties::Lon1, value.begin(), value.end());
58601 return *this;
58602 }
58603
58604 template <typename T>
58605 GICsourceBatch& Lon1(typename T::iterator it_begin, typename T::iterator it_end)
58606 {
58607 set_batch_val_for_each<T>(Properties::Lon1, it_begin, it_end);
58608 return *this;
58609 }
58610
58616 {
58617 return BatchFloat64ArrayProxy(*this, Properties::Lat2);
58618 }
58619
58620 GICsourceBatch& Lat2(double value)
58621 {
58622 set_batch_val<double>(Properties::Lat2, value);
58623 return *this;
58624 }
58625
58626 template <typename T>
58627 GICsourceBatch& Lat2(T &value)
58628 {
58629 set_batch_val_for_each<T>(Properties::Lat2, value.begin(), value.end());
58630 return *this;
58631 }
58632
58633 template <typename T>
58634 GICsourceBatch& Lat2(typename T::iterator it_begin, typename T::iterator it_end)
58635 {
58636 set_batch_val_for_each<T>(Properties::Lat2, it_begin, it_end);
58637 return *this;
58638 }
58639
58645 {
58646 return BatchFloat64ArrayProxy(*this, Properties::Lon2);
58647 }
58648
58649 GICsourceBatch& Lon2(double value)
58650 {
58651 set_batch_val<double>(Properties::Lon2, value);
58652 return *this;
58653 }
58654
58655 template <typename T>
58656 GICsourceBatch& Lon2(T &value)
58657 {
58658 set_batch_val_for_each<T>(Properties::Lon2, value.begin(), value.end());
58659 return *this;
58660 }
58661
58662 template <typename T>
58663 GICsourceBatch& Lon2(typename T::iterator it_begin, typename T::iterator it_end)
58664 {
58665 set_batch_val_for_each<T>(Properties::Lon2, it_begin, it_end);
58666 return *this;
58667 }
58668
58673 strings spectrum()
58674 {
58675 return get_batch_val<strings>(Properties::spectrum);
58676 }
58677
58679 {
58680 set_batch_val(Properties::spectrum, value);
58681 return *this;
58682 }
58683
58684 GICsourceBatch& spectrum(const string &value)
58685 {
58686 set_batch_val(Properties::spectrum, value);
58687 return *this;
58688 }
58689
58694 std::vector<dss::obj::Spectrum> spectrum_obj()
58695 {
58696 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
58697 }
58698
58700 {
58701 set_batch_val(Properties::spectrum, value);
58702 return *this;
58703 }
58704
58710 {
58711 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
58712 }
58713
58714 GICsourceBatch& basefreq(double value)
58715 {
58716 set_batch_val<double>(Properties::basefreq, value);
58717 return *this;
58718 }
58719
58720 template <typename T>
58721 GICsourceBatch& basefreq(T &value)
58722 {
58723 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
58724 return *this;
58725 }
58726
58727 template <typename T>
58728 GICsourceBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
58729 {
58730 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
58731 return *this;
58732 }
58733
58738 bools enabled()
58739 {
58740 return get_batch_val<bools>(Properties::enabled);
58741 }
58742
58743 GICsourceBatch& enabled(bool value)
58744 {
58745 set_batch_val(Properties::enabled, int32_t(value));
58746 return *this;
58747 }
58748
58749 GICsourceBatch& enabled(bools &value)
58750 {
58751 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
58752 return *this;
58753 }
58754
58761 GICsourceBatch& like(const string &value)
58762 {
58763 set_batch_val(Properties::like, value.c_str());
58764 return *this;
58765 }
58766
58773 GICsourceBatch& like(const char *value)
58774 {
58775 set_batch_val(Properties::like, value);
58776 return *this;
58777 }
58778};
58779
58780
58782{
58783public:
58786
58787 // Shortcuts to class-specific enumerations
58789
58790
58795 DSSBatch(util, AutoTrans::dss_cls_idx)
58796 {
58797 }
58798
58802 AutoTransBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
58803 DSSBatch(util, AutoTrans::dss_cls_idx, prop_idx, prop_value)
58804 {
58805 }
58806
58810 AutoTransBatch(APIUtil *util, const char* regexp):
58811 DSSBatch(util, AutoTrans::dss_cls_idx, regexp)
58812 {
58813 }
58814
58815
58816 AutoTransBatch& begin_edit()
58817 {
58818 Batch_BeginEdit(pointer, count[0]);
58819 return *this;
58820 }
58821
58822 AutoTransBatch& end_edit(int32_t num_edits=1)
58823 {
58824 Batch_EndEdit(pointer, count[0], num_edits);
58825 return *this;
58826 }
58827
58828
58834 {
58835 return BatchInt32ArrayProxy(*this, Properties::phases);
58836 }
58837
58838 AutoTransBatch& phases(int32_t value)
58839 {
58840 set_batch_val(Properties::phases, value);
58841 return *this;
58842 }
58843
58844 template <typename T>
58845 AutoTransBatch& phases(T &value)
58846 {
58847 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
58848 return *this;
58849 }
58850
58851 template <typename T>
58852 AutoTransBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
58853 {
58854 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
58855 return *this;
58856 }
58857
58863 {
58864 return BatchInt32ArrayProxy(*this, Properties::windings);
58865 }
58866
58867 AutoTransBatch& windings(int32_t value)
58868 {
58869 set_batch_val(Properties::windings, value);
58870 return *this;
58871 }
58872
58873 template <typename T>
58874 AutoTransBatch& windings(T &value)
58875 {
58876 set_batch_val_for_each<T>(Properties::windings, value.begin(), value.end());
58877 return *this;
58878 }
58879
58880 template <typename T>
58881 AutoTransBatch& windings(typename T::iterator it_begin, typename T::iterator it_end)
58882 {
58883 set_batch_val_for_each<T>(Properties::windings, it_begin, it_end);
58884 return *this;
58885 }
58886
58892 {
58893 return BatchInt32ArrayProxy(*this, Properties::wdg);
58894 }
58895
58896 AutoTransBatch& wdg(int32_t value)
58897 {
58898 set_batch_val(Properties::wdg, value);
58899 return *this;
58900 }
58901
58902 template <typename T>
58903 AutoTransBatch& wdg(T &value)
58904 {
58905 set_batch_val_for_each<T>(Properties::wdg, value.begin(), value.end());
58906 return *this;
58907 }
58908
58909 template <typename T>
58910 AutoTransBatch& wdg(typename T::iterator it_begin, typename T::iterator it_end)
58911 {
58912 set_batch_val_for_each<T>(Properties::wdg, it_begin, it_end);
58913 return *this;
58914 }
58915
58920 std::vector<strings> bus()
58921 {
58922 return get_batch_valarray<strings>(Properties::bus);
58923 }
58924
58925 AutoTransBatch& bus(strings &value)
58926 {
58927 set_batch_val(Properties::bus, value);
58928 return *this;
58929 }
58930
58937 std::vector<VectorXi> conn()
58938 {
58939 return get_batch_valarray<VectorXi>(Properties::conn);
58940 }
58941
58942 AutoTransBatch& conn(std::vector<int32_t> &value)
58943 {
58944 set_batch_val(Properties::conn, value);
58945 return *this;
58946 }
58947
58948 AutoTransBatch& conn(std::vector<AutoTrans::AutoTransConnection> &value)
58949 {
58950 set_batch_val(Properties::conn, value);
58951 return *this;
58952 }
58953
58954 AutoTransBatch& conn(strings &value)
58955 {
58956 set_batch_val(Properties::conn, value);
58957 return *this;
58958 }
58959
58960 AutoTransBatch& conn(std::vector<strings> &value)
58961 {
58962 set_batch_val_for_each<std::vector<strings>>(Properties::conn, value.begin(), value.end());
58963 return *this;
58964 }
58965
58972 std::vector<strings> conn_str()
58973 {
58974 return get_batch_valarray<strings>(Properties::conn);
58975 }
58976 AutoTransBatch& conn_str(strings &value)
58977 {
58978 conn(value);
58979 return *this;
58980 }
58981
58986 std::vector<VectorXd> kV()
58987 {
58988 return get_batch_valarray<VectorXd>(Properties::kV);
58989 }
58990
58991 AutoTransBatch& kV(VectorXd &value)
58992 {
58993 set_batch_val<VectorXd>(Properties::kV, value);
58994 return *this;
58995 }
58996
59001 std::vector<VectorXd> kVA()
59002 {
59003 return get_batch_valarray<VectorXd>(Properties::kVA);
59004 }
59005
59006 AutoTransBatch& kVA(VectorXd &value)
59007 {
59008 set_batch_val<VectorXd>(Properties::kVA, value);
59009 return *this;
59010 }
59011
59016 std::vector<VectorXd> tap()
59017 {
59018 return get_batch_valarray<VectorXd>(Properties::tap);
59019 }
59020
59021 AutoTransBatch& tap(VectorXd &value)
59022 {
59023 set_batch_val<VectorXd>(Properties::tap, value);
59024 return *this;
59025 }
59026
59031 std::vector<VectorXd> pctR()
59032 {
59033 return get_batch_valarray<VectorXd>(Properties::pctR);
59034 }
59035
59036 AutoTransBatch& pctR(VectorXd &value)
59037 {
59038 set_batch_val<VectorXd>(Properties::pctR, value);
59039 return *this;
59040 }
59041
59046 std::vector<VectorXd> Rdcohms()
59047 {
59048 return get_batch_valarray<VectorXd>(Properties::Rdcohms);
59049 }
59050
59051 AutoTransBatch& Rdcohms(VectorXd &value)
59052 {
59053 set_batch_val<VectorXd>(Properties::Rdcohms, value);
59054 return *this;
59055 }
59056
59062 {
59063 return BatchInt32ArrayProxy(*this, Properties::Core);
59064 }
59065
59066 AutoTransBatch& Core(string &value)
59067 {
59068 set_batch_val(Properties::Core, value);
59069 return *this;
59070 }
59071
59072 AutoTransBatch& Core(int32_t value)
59073 {
59074 set_batch_val(Properties::Core, value);
59075 return *this;
59076 }
59077
59078 AutoTransBatch& Core(CoreType value)
59079 {
59080 set_batch_val(Properties::Core, int32_t(value));
59081 return *this;
59082 }
59083
59084 AutoTransBatch& Core(strings &value)
59085 {
59086 set_batch_val_for_each<strings>(Properties::Core, value.begin(), value.end());
59087 return *this;
59088 }
59089
59090 AutoTransBatch& Core(std::vector<int32_t> &value)
59091 {
59092 set_batch_val_for_each<std::vector<int32_t>>(Properties::Core, value.begin(), value.end());
59093 return *this;
59094 }
59095
59096 AutoTransBatch& Core(std::vector<CoreType> &value)
59097 {
59098 set_batch_val_for_each<std::vector<CoreType>>(Properties::Core, value.begin(), value.end());
59099 return *this;
59100 }
59101
59106 strings Core_str()
59107 {
59108 return get_batch_val<strings>(Properties::Core);
59109 }
59110
59111 AutoTransBatch& Core_str(string &value)
59112 {
59113 Core(value);
59114 return *this;
59115 }
59116
59117 AutoTransBatch& Core_str(strings &value)
59118 {
59119 Core(value);
59120 return *this;
59121 }
59122
59129 std::vector<strings> buses()
59130 {
59131 return get_batch_valarray<strings>(Properties::buses);
59132 }
59133
59134 AutoTransBatch& buses(strings &value)
59135 {
59136 set_batch_val(Properties::buses, value);
59137 return *this;
59138 }
59139
59146 std::vector<VectorXi> conns()
59147 {
59148 return get_batch_valarray<VectorXi>(Properties::conns);
59149 }
59150
59151 AutoTransBatch& conns(std::vector<int32_t> &value)
59152 {
59153 set_batch_val(Properties::conns, value);
59154 return *this;
59155 }
59156
59157 AutoTransBatch& conns(std::vector<AutoTrans::AutoTransConnection> &value)
59158 {
59159 set_batch_val(Properties::conns, value);
59160 return *this;
59161 }
59162
59163 AutoTransBatch& conns(strings &value)
59164 {
59165 set_batch_val(Properties::conns, value);
59166 return *this;
59167 }
59168
59169 AutoTransBatch& conns(std::vector<strings> &value)
59170 {
59171 set_batch_val_for_each<std::vector<strings>>(Properties::conns, value.begin(), value.end());
59172 return *this;
59173 }
59174
59181 std::vector<strings> conns_str()
59182 {
59183 return get_batch_valarray<strings>(Properties::conns);
59184 }
59185 AutoTransBatch& conns_str(strings &value)
59186 {
59187 conns(value);
59188 return *this;
59189 }
59190
59201 std::vector<VectorXd> kVs()
59202 {
59203 return get_batch_valarray<VectorXd>(Properties::kVs);
59204 }
59205
59206 AutoTransBatch& kVs(VectorXd &value)
59207 {
59208 set_batch_val<VectorXd>(Properties::kVs, value);
59209 return *this;
59210 }
59211
59216 std::vector<VectorXd> kVAs()
59217 {
59218 return get_batch_valarray<VectorXd>(Properties::kVAs);
59219 }
59220
59221 AutoTransBatch& kVAs(VectorXd &value)
59222 {
59223 set_batch_val<VectorXd>(Properties::kVAs, value);
59224 return *this;
59225 }
59226
59231 std::vector<VectorXd> taps()
59232 {
59233 return get_batch_valarray<VectorXd>(Properties::taps);
59234 }
59235
59236 AutoTransBatch& taps(VectorXd &value)
59237 {
59238 set_batch_val<VectorXd>(Properties::taps, value);
59239 return *this;
59240 }
59241
59247 {
59248 return BatchFloat64ArrayProxy(*this, Properties::XHX);
59249 }
59250
59251 AutoTransBatch& XHX(double value)
59252 {
59253 set_batch_val<double>(Properties::XHX, value);
59254 return *this;
59255 }
59256
59257 template <typename T>
59258 AutoTransBatch& XHX(T &value)
59259 {
59260 set_batch_val_for_each<T>(Properties::XHX, value.begin(), value.end());
59261 return *this;
59262 }
59263
59264 template <typename T>
59265 AutoTransBatch& XHX(typename T::iterator it_begin, typename T::iterator it_end)
59266 {
59267 set_batch_val_for_each<T>(Properties::XHX, it_begin, it_end);
59268 return *this;
59269 }
59270
59276 {
59277 return BatchFloat64ArrayProxy(*this, Properties::XHT);
59278 }
59279
59280 AutoTransBatch& XHT(double value)
59281 {
59282 set_batch_val<double>(Properties::XHT, value);
59283 return *this;
59284 }
59285
59286 template <typename T>
59287 AutoTransBatch& XHT(T &value)
59288 {
59289 set_batch_val_for_each<T>(Properties::XHT, value.begin(), value.end());
59290 return *this;
59291 }
59292
59293 template <typename T>
59294 AutoTransBatch& XHT(typename T::iterator it_begin, typename T::iterator it_end)
59295 {
59296 set_batch_val_for_each<T>(Properties::XHT, it_begin, it_end);
59297 return *this;
59298 }
59299
59305 {
59306 return BatchFloat64ArrayProxy(*this, Properties::XXT);
59307 }
59308
59309 AutoTransBatch& XXT(double value)
59310 {
59311 set_batch_val<double>(Properties::XXT, value);
59312 return *this;
59313 }
59314
59315 template <typename T>
59316 AutoTransBatch& XXT(T &value)
59317 {
59318 set_batch_val_for_each<T>(Properties::XXT, value.begin(), value.end());
59319 return *this;
59320 }
59321
59322 template <typename T>
59323 AutoTransBatch& XXT(typename T::iterator it_begin, typename T::iterator it_end)
59324 {
59325 set_batch_val_for_each<T>(Properties::XXT, it_begin, it_end);
59326 return *this;
59327 }
59328
59337 std::vector<VectorXd> XSCarray()
59338 {
59339 return get_batch_valarray<VectorXd>(Properties::XSCarray);
59340 }
59341
59342 AutoTransBatch& XSCarray(VectorXd &value)
59343 {
59344 set_batch_val<VectorXd>(Properties::XSCarray, value);
59345 return *this;
59346 }
59347
59353 {
59354 return BatchFloat64ArrayProxy(*this, Properties::thermal);
59355 }
59356
59357 AutoTransBatch& thermal(double value)
59358 {
59359 set_batch_val<double>(Properties::thermal, value);
59360 return *this;
59361 }
59362
59363 template <typename T>
59364 AutoTransBatch& thermal(T &value)
59365 {
59366 set_batch_val_for_each<T>(Properties::thermal, value.begin(), value.end());
59367 return *this;
59368 }
59369
59370 template <typename T>
59371 AutoTransBatch& thermal(typename T::iterator it_begin, typename T::iterator it_end)
59372 {
59373 set_batch_val_for_each<T>(Properties::thermal, it_begin, it_end);
59374 return *this;
59375 }
59376
59382 {
59383 return BatchFloat64ArrayProxy(*this, Properties::n);
59384 }
59385
59386 AutoTransBatch& n(double value)
59387 {
59388 set_batch_val<double>(Properties::n, value);
59389 return *this;
59390 }
59391
59392 template <typename T>
59393 AutoTransBatch& n(T &value)
59394 {
59395 set_batch_val_for_each<T>(Properties::n, value.begin(), value.end());
59396 return *this;
59397 }
59398
59399 template <typename T>
59400 AutoTransBatch& n(typename T::iterator it_begin, typename T::iterator it_end)
59401 {
59402 set_batch_val_for_each<T>(Properties::n, it_begin, it_end);
59403 return *this;
59404 }
59405
59411 {
59412 return BatchFloat64ArrayProxy(*this, Properties::m);
59413 }
59414
59415 AutoTransBatch& m(double value)
59416 {
59417 set_batch_val<double>(Properties::m, value);
59418 return *this;
59419 }
59420
59421 template <typename T>
59422 AutoTransBatch& m(T &value)
59423 {
59424 set_batch_val_for_each<T>(Properties::m, value.begin(), value.end());
59425 return *this;
59426 }
59427
59428 template <typename T>
59429 AutoTransBatch& m(typename T::iterator it_begin, typename T::iterator it_end)
59430 {
59431 set_batch_val_for_each<T>(Properties::m, it_begin, it_end);
59432 return *this;
59433 }
59434
59440 {
59441 return BatchFloat64ArrayProxy(*this, Properties::flrise);
59442 }
59443
59444 AutoTransBatch& flrise(double value)
59445 {
59446 set_batch_val<double>(Properties::flrise, value);
59447 return *this;
59448 }
59449
59450 template <typename T>
59451 AutoTransBatch& flrise(T &value)
59452 {
59453 set_batch_val_for_each<T>(Properties::flrise, value.begin(), value.end());
59454 return *this;
59455 }
59456
59457 template <typename T>
59458 AutoTransBatch& flrise(typename T::iterator it_begin, typename T::iterator it_end)
59459 {
59460 set_batch_val_for_each<T>(Properties::flrise, it_begin, it_end);
59461 return *this;
59462 }
59463
59469 {
59470 return BatchFloat64ArrayProxy(*this, Properties::hsrise);
59471 }
59472
59473 AutoTransBatch& hsrise(double value)
59474 {
59475 set_batch_val<double>(Properties::hsrise, value);
59476 return *this;
59477 }
59478
59479 template <typename T>
59480 AutoTransBatch& hsrise(T &value)
59481 {
59482 set_batch_val_for_each<T>(Properties::hsrise, value.begin(), value.end());
59483 return *this;
59484 }
59485
59486 template <typename T>
59487 AutoTransBatch& hsrise(typename T::iterator it_begin, typename T::iterator it_end)
59488 {
59489 set_batch_val_for_each<T>(Properties::hsrise, it_begin, it_end);
59490 return *this;
59491 }
59492
59498 {
59499 return BatchFloat64ArrayProxy(*this, Properties::pctloadloss);
59500 }
59501
59502 AutoTransBatch& pctloadloss(double value)
59503 {
59504 set_batch_val<double>(Properties::pctloadloss, value);
59505 return *this;
59506 }
59507
59508 template <typename T>
59509 AutoTransBatch& pctloadloss(T &value)
59510 {
59511 set_batch_val_for_each<T>(Properties::pctloadloss, value.begin(), value.end());
59512 return *this;
59513 }
59514
59515 template <typename T>
59516 AutoTransBatch& pctloadloss(typename T::iterator it_begin, typename T::iterator it_end)
59517 {
59518 set_batch_val_for_each<T>(Properties::pctloadloss, it_begin, it_end);
59519 return *this;
59520 }
59521
59527 {
59528 return BatchFloat64ArrayProxy(*this, Properties::pctnoloadloss);
59529 }
59530
59531 AutoTransBatch& pctnoloadloss(double value)
59532 {
59533 set_batch_val<double>(Properties::pctnoloadloss, value);
59534 return *this;
59535 }
59536
59537 template <typename T>
59538 AutoTransBatch& pctnoloadloss(T &value)
59539 {
59540 set_batch_val_for_each<T>(Properties::pctnoloadloss, value.begin(), value.end());
59541 return *this;
59542 }
59543
59544 template <typename T>
59545 AutoTransBatch& pctnoloadloss(typename T::iterator it_begin, typename T::iterator it_end)
59546 {
59547 set_batch_val_for_each<T>(Properties::pctnoloadloss, it_begin, it_end);
59548 return *this;
59549 }
59550
59556 {
59557 return BatchFloat64ArrayProxy(*this, Properties::normhkVA);
59558 }
59559
59560 AutoTransBatch& normhkVA(double value)
59561 {
59562 set_batch_val<double>(Properties::normhkVA, value);
59563 return *this;
59564 }
59565
59566 template <typename T>
59567 AutoTransBatch& normhkVA(T &value)
59568 {
59569 set_batch_val_for_each<T>(Properties::normhkVA, value.begin(), value.end());
59570 return *this;
59571 }
59572
59573 template <typename T>
59574 AutoTransBatch& normhkVA(typename T::iterator it_begin, typename T::iterator it_end)
59575 {
59576 set_batch_val_for_each<T>(Properties::normhkVA, it_begin, it_end);
59577 return *this;
59578 }
59579
59585 {
59586 return BatchFloat64ArrayProxy(*this, Properties::emerghkVA);
59587 }
59588
59589 AutoTransBatch& emerghkVA(double value)
59590 {
59591 set_batch_val<double>(Properties::emerghkVA, value);
59592 return *this;
59593 }
59594
59595 template <typename T>
59596 AutoTransBatch& emerghkVA(T &value)
59597 {
59598 set_batch_val_for_each<T>(Properties::emerghkVA, value.begin(), value.end());
59599 return *this;
59600 }
59601
59602 template <typename T>
59603 AutoTransBatch& emerghkVA(typename T::iterator it_begin, typename T::iterator it_end)
59604 {
59605 set_batch_val_for_each<T>(Properties::emerghkVA, it_begin, it_end);
59606 return *this;
59607 }
59608
59613 bools sub()
59614 {
59615 return get_batch_val<bools>(Properties::sub);
59616 }
59617
59618 AutoTransBatch& sub(bool value)
59619 {
59620 set_batch_val(Properties::sub, int32_t(value));
59621 return *this;
59622 }
59623
59624 AutoTransBatch& sub(bools &value)
59625 {
59626 set_batch_val_for_each<std::vector<int32_t>>(Properties::sub, value.begin(), value.end());
59627 return *this;
59628 }
59629
59634 std::vector<VectorXd> MaxTap()
59635 {
59636 return get_batch_valarray<VectorXd>(Properties::MaxTap);
59637 }
59638
59639 AutoTransBatch& MaxTap(VectorXd &value)
59640 {
59641 set_batch_val<VectorXd>(Properties::MaxTap, value);
59642 return *this;
59643 }
59644
59649 std::vector<VectorXd> MinTap()
59650 {
59651 return get_batch_valarray<VectorXd>(Properties::MinTap);
59652 }
59653
59654 AutoTransBatch& MinTap(VectorXd &value)
59655 {
59656 set_batch_val<VectorXd>(Properties::MinTap, value);
59657 return *this;
59658 }
59659
59664 std::vector<VectorXi> NumTaps()
59665 {
59666 return get_batch_valarray<VectorXi>(Properties::NumTaps);
59667 }
59668 AutoTransBatch& NumTaps(VectorXi &value)
59669 {
59670 set_batch_val(Properties::NumTaps, value);
59671 return *this;
59672 }
59673 AutoTransBatch& NumTaps(std::vector<VectorXi> &value)
59674 {
59675 set_batch_val_for_each<std::vector<VectorXi>>(Properties::NumTaps, value.begin(), value.end());
59676 return *this;
59677 }
59678
59683 strings subname()
59684 {
59685 return get_batch_val<strings>(Properties::subname);
59686 }
59687
59688 AutoTransBatch& subname(const string &value)
59689 {
59690 set_batch_val(Properties::subname, value.c_str());
59691 return *this;
59692 }
59693
59694 AutoTransBatch& subname(strings &value)
59695 {
59696 set_batch_val_for_each<strings>(Properties::subname, value.begin(), value.end());
59697 return *this;
59698 }
59699
59705 {
59706 return BatchFloat64ArrayProxy(*this, Properties::pctimag);
59707 }
59708
59709 AutoTransBatch& pctimag(double value)
59710 {
59711 set_batch_val<double>(Properties::pctimag, value);
59712 return *this;
59713 }
59714
59715 template <typename T>
59716 AutoTransBatch& pctimag(T &value)
59717 {
59718 set_batch_val_for_each<T>(Properties::pctimag, value.begin(), value.end());
59719 return *this;
59720 }
59721
59722 template <typename T>
59723 AutoTransBatch& pctimag(typename T::iterator it_begin, typename T::iterator it_end)
59724 {
59725 set_batch_val_for_each<T>(Properties::pctimag, it_begin, it_end);
59726 return *this;
59727 }
59728
59734 {
59735 return BatchFloat64ArrayProxy(*this, Properties::ppm_antifloat);
59736 }
59737
59738 AutoTransBatch& ppm_antifloat(double value)
59739 {
59740 set_batch_val<double>(Properties::ppm_antifloat, value);
59741 return *this;
59742 }
59743
59744 template <typename T>
59745 AutoTransBatch& ppm_antifloat(T &value)
59746 {
59747 set_batch_val_for_each<T>(Properties::ppm_antifloat, value.begin(), value.end());
59748 return *this;
59749 }
59750
59751 template <typename T>
59752 AutoTransBatch& ppm_antifloat(typename T::iterator it_begin, typename T::iterator it_end)
59753 {
59754 set_batch_val_for_each<T>(Properties::ppm_antifloat, it_begin, it_end);
59755 return *this;
59756 }
59757
59764 std::vector<VectorXd> pctRs()
59765 {
59766 return get_batch_valarray<VectorXd>(Properties::pctRs);
59767 }
59768
59769 AutoTransBatch& pctRs(VectorXd &value)
59770 {
59771 set_batch_val<VectorXd>(Properties::pctRs, value);
59772 return *this;
59773 }
59774
59779 bools XRConst()
59780 {
59781 return get_batch_val<bools>(Properties::XRConst);
59782 }
59783
59784 AutoTransBatch& XRConst(bool value)
59785 {
59786 set_batch_val(Properties::XRConst, int32_t(value));
59787 return *this;
59788 }
59789
59790 AutoTransBatch& XRConst(bools &value)
59791 {
59792 set_batch_val_for_each<std::vector<int32_t>>(Properties::XRConst, value.begin(), value.end());
59793 return *this;
59794 }
59795
59801 {
59802 return BatchInt32ArrayProxy(*this, Properties::LeadLag);
59803 }
59804
59805 AutoTransBatch& LeadLag(string &value)
59806 {
59807 set_batch_val(Properties::LeadLag, value);
59808 return *this;
59809 }
59810
59811 AutoTransBatch& LeadLag(int32_t value)
59812 {
59813 set_batch_val(Properties::LeadLag, value);
59814 return *this;
59815 }
59816
59817 AutoTransBatch& LeadLag(PhaseSequence value)
59818 {
59819 set_batch_val(Properties::LeadLag, int32_t(value));
59820 return *this;
59821 }
59822
59823 AutoTransBatch& LeadLag(strings &value)
59824 {
59825 set_batch_val_for_each<strings>(Properties::LeadLag, value.begin(), value.end());
59826 return *this;
59827 }
59828
59829 AutoTransBatch& LeadLag(std::vector<int32_t> &value)
59830 {
59831 set_batch_val_for_each<std::vector<int32_t>>(Properties::LeadLag, value.begin(), value.end());
59832 return *this;
59833 }
59834
59835 AutoTransBatch& LeadLag(std::vector<PhaseSequence> &value)
59836 {
59837 set_batch_val_for_each<std::vector<PhaseSequence>>(Properties::LeadLag, value.begin(), value.end());
59838 return *this;
59839 }
59840
59845 strings LeadLag_str()
59846 {
59847 return get_batch_val<strings>(Properties::LeadLag);
59848 }
59849
59850 AutoTransBatch& LeadLag_str(string &value)
59851 {
59852 LeadLag(value);
59853 return *this;
59854 }
59855
59856 AutoTransBatch& LeadLag_str(strings &value)
59857 {
59858 LeadLag(value);
59859 return *this;
59860 }
59861
59866 strings WdgCurrents()
59867 {
59868 // []
59869 // StringSilentROFunction
59870 return get_batch_val<strings>(Properties::WdgCurrents);
59871 }
59872
59878 {
59879 return BatchFloat64ArrayProxy(*this, Properties::normamps);
59880 }
59881
59882 AutoTransBatch& normamps(double value)
59883 {
59884 set_batch_val<double>(Properties::normamps, value);
59885 return *this;
59886 }
59887
59888 template <typename T>
59889 AutoTransBatch& normamps(T &value)
59890 {
59891 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
59892 return *this;
59893 }
59894
59895 template <typename T>
59896 AutoTransBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
59897 {
59898 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
59899 return *this;
59900 }
59901
59907 {
59908 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
59909 }
59910
59911 AutoTransBatch& emergamps(double value)
59912 {
59913 set_batch_val<double>(Properties::emergamps, value);
59914 return *this;
59915 }
59916
59917 template <typename T>
59918 AutoTransBatch& emergamps(T &value)
59919 {
59920 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
59921 return *this;
59922 }
59923
59924 template <typename T>
59925 AutoTransBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
59926 {
59927 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
59928 return *this;
59929 }
59930
59936 {
59937 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
59938 }
59939
59940 AutoTransBatch& faultrate(double value)
59941 {
59942 set_batch_val<double>(Properties::faultrate, value);
59943 return *this;
59944 }
59945
59946 template <typename T>
59947 AutoTransBatch& faultrate(T &value)
59948 {
59949 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
59950 return *this;
59951 }
59952
59953 template <typename T>
59954 AutoTransBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
59955 {
59956 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
59957 return *this;
59958 }
59959
59965 {
59966 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
59967 }
59968
59969 AutoTransBatch& pctperm(double value)
59970 {
59971 set_batch_val<double>(Properties::pctperm, value);
59972 return *this;
59973 }
59974
59975 template <typename T>
59976 AutoTransBatch& pctperm(T &value)
59977 {
59978 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
59979 return *this;
59980 }
59981
59982 template <typename T>
59983 AutoTransBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
59984 {
59985 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
59986 return *this;
59987 }
59988
59994 {
59995 return BatchFloat64ArrayProxy(*this, Properties::repair);
59996 }
59997
59998 AutoTransBatch& repair(double value)
59999 {
60000 set_batch_val<double>(Properties::repair, value);
60001 return *this;
60002 }
60003
60004 template <typename T>
60005 AutoTransBatch& repair(T &value)
60006 {
60007 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
60008 return *this;
60009 }
60010
60011 template <typename T>
60012 AutoTransBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
60013 {
60014 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
60015 return *this;
60016 }
60017
60023 {
60024 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
60025 }
60026
60027 AutoTransBatch& basefreq(double value)
60028 {
60029 set_batch_val<double>(Properties::basefreq, value);
60030 return *this;
60031 }
60032
60033 template <typename T>
60034 AutoTransBatch& basefreq(T &value)
60035 {
60036 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
60037 return *this;
60038 }
60039
60040 template <typename T>
60041 AutoTransBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
60042 {
60043 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
60044 return *this;
60045 }
60046
60051 bools enabled()
60052 {
60053 return get_batch_val<bools>(Properties::enabled);
60054 }
60055
60056 AutoTransBatch& enabled(bool value)
60057 {
60058 set_batch_val(Properties::enabled, int32_t(value));
60059 return *this;
60060 }
60061
60062 AutoTransBatch& enabled(bools &value)
60063 {
60064 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
60065 return *this;
60066 }
60067
60074 AutoTransBatch& like(const string &value)
60075 {
60076 set_batch_val(Properties::like, value.c_str());
60077 return *this;
60078 }
60079
60086 AutoTransBatch& like(const char *value)
60087 {
60088 set_batch_val(Properties::like, value);
60089 return *this;
60090 }
60091};
60092
60093
60095{
60096public:
60099
60100 // Shortcuts to class-specific enumerations
60102
60103
60108 DSSBatch(util, RegControl::dss_cls_idx)
60109 {
60110 }
60111
60115 RegControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
60116 DSSBatch(util, RegControl::dss_cls_idx, prop_idx, prop_value)
60117 {
60118 }
60119
60123 RegControlBatch(APIUtil *util, const char* regexp):
60124 DSSBatch(util, RegControl::dss_cls_idx, regexp)
60125 {
60126 }
60127
60128
60129 RegControlBatch& begin_edit()
60130 {
60131 Batch_BeginEdit(pointer, count[0]);
60132 return *this;
60133 }
60134
60135 RegControlBatch& end_edit(int32_t num_edits=1)
60136 {
60137 Batch_EndEdit(pointer, count[0], num_edits);
60138 return *this;
60139 }
60140
60141
60148 strings transformer()
60149 {
60150 return get_batch_val<strings>(Properties::transformer);
60151 }
60152
60154 {
60155 set_batch_val(Properties::transformer, value);
60156 return *this;
60157 }
60158
60159 RegControlBatch& transformer(const string &value)
60160 {
60161 set_batch_val(Properties::transformer, value);
60162 return *this;
60163 }
60164
60171 std::vector<dss::obj::DSSObj> transformer_obj()
60172 {
60173 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::transformer);
60174 }
60175
60177 {
60178 set_batch_val(Properties::transformer, value);
60179 return *this;
60180 }
60181
60187 {
60188 return BatchInt32ArrayProxy(*this, Properties::winding);
60189 }
60190
60191 RegControlBatch& winding(int32_t value)
60192 {
60193 set_batch_val(Properties::winding, value);
60194 return *this;
60195 }
60196
60197 template <typename T>
60198 RegControlBatch& winding(T &value)
60199 {
60200 set_batch_val_for_each<T>(Properties::winding, value.begin(), value.end());
60201 return *this;
60202 }
60203
60204 template <typename T>
60205 RegControlBatch& winding(typename T::iterator it_begin, typename T::iterator it_end)
60206 {
60207 set_batch_val_for_each<T>(Properties::winding, it_begin, it_end);
60208 return *this;
60209 }
60210
60216 {
60217 return BatchFloat64ArrayProxy(*this, Properties::vreg);
60218 }
60219
60220 RegControlBatch& vreg(double value)
60221 {
60222 set_batch_val<double>(Properties::vreg, value);
60223 return *this;
60224 }
60225
60226 template <typename T>
60227 RegControlBatch& vreg(T &value)
60228 {
60229 set_batch_val_for_each<T>(Properties::vreg, value.begin(), value.end());
60230 return *this;
60231 }
60232
60233 template <typename T>
60234 RegControlBatch& vreg(typename T::iterator it_begin, typename T::iterator it_end)
60235 {
60236 set_batch_val_for_each<T>(Properties::vreg, it_begin, it_end);
60237 return *this;
60238 }
60239
60245 {
60246 return BatchFloat64ArrayProxy(*this, Properties::band);
60247 }
60248
60249 RegControlBatch& band(double value)
60250 {
60251 set_batch_val<double>(Properties::band, value);
60252 return *this;
60253 }
60254
60255 template <typename T>
60256 RegControlBatch& band(T &value)
60257 {
60258 set_batch_val_for_each<T>(Properties::band, value.begin(), value.end());
60259 return *this;
60260 }
60261
60262 template <typename T>
60263 RegControlBatch& band(typename T::iterator it_begin, typename T::iterator it_end)
60264 {
60265 set_batch_val_for_each<T>(Properties::band, it_begin, it_end);
60266 return *this;
60267 }
60268
60274 {
60275 return BatchFloat64ArrayProxy(*this, Properties::ptratio);
60276 }
60277
60278 RegControlBatch& ptratio(double value)
60279 {
60280 set_batch_val<double>(Properties::ptratio, value);
60281 return *this;
60282 }
60283
60284 template <typename T>
60285 RegControlBatch& ptratio(T &value)
60286 {
60287 set_batch_val_for_each<T>(Properties::ptratio, value.begin(), value.end());
60288 return *this;
60289 }
60290
60291 template <typename T>
60292 RegControlBatch& ptratio(typename T::iterator it_begin, typename T::iterator it_end)
60293 {
60294 set_batch_val_for_each<T>(Properties::ptratio, it_begin, it_end);
60295 return *this;
60296 }
60297
60303 {
60304 return BatchFloat64ArrayProxy(*this, Properties::CTprim);
60305 }
60306
60307 RegControlBatch& CTprim(double value)
60308 {
60309 set_batch_val<double>(Properties::CTprim, value);
60310 return *this;
60311 }
60312
60313 template <typename T>
60314 RegControlBatch& CTprim(T &value)
60315 {
60316 set_batch_val_for_each<T>(Properties::CTprim, value.begin(), value.end());
60317 return *this;
60318 }
60319
60320 template <typename T>
60321 RegControlBatch& CTprim(typename T::iterator it_begin, typename T::iterator it_end)
60322 {
60323 set_batch_val_for_each<T>(Properties::CTprim, it_begin, it_end);
60324 return *this;
60325 }
60326
60332 {
60333 return BatchFloat64ArrayProxy(*this, Properties::R);
60334 }
60335
60336 RegControlBatch& R(double value)
60337 {
60338 set_batch_val<double>(Properties::R, value);
60339 return *this;
60340 }
60341
60342 template <typename T>
60343 RegControlBatch& R(T &value)
60344 {
60345 set_batch_val_for_each<T>(Properties::R, value.begin(), value.end());
60346 return *this;
60347 }
60348
60349 template <typename T>
60350 RegControlBatch& R(typename T::iterator it_begin, typename T::iterator it_end)
60351 {
60352 set_batch_val_for_each<T>(Properties::R, it_begin, it_end);
60353 return *this;
60354 }
60355
60361 {
60362 return BatchFloat64ArrayProxy(*this, Properties::X);
60363 }
60364
60365 RegControlBatch& X(double value)
60366 {
60367 set_batch_val<double>(Properties::X, value);
60368 return *this;
60369 }
60370
60371 template <typename T>
60372 RegControlBatch& X(T &value)
60373 {
60374 set_batch_val_for_each<T>(Properties::X, value.begin(), value.end());
60375 return *this;
60376 }
60377
60378 template <typename T>
60379 RegControlBatch& X(typename T::iterator it_begin, typename T::iterator it_end)
60380 {
60381 set_batch_val_for_each<T>(Properties::X, it_begin, it_end);
60382 return *this;
60383 }
60384
60389 strings bus()
60390 {
60391 return get_batch_val<strings>(Properties::bus);
60392 }
60393
60394 RegControlBatch& bus(const string &value)
60395 {
60396 set_batch_val(Properties::bus, value.c_str());
60397 return *this;
60398 }
60399
60400 RegControlBatch& bus(strings &value)
60401 {
60402 set_batch_val_for_each<strings>(Properties::bus, value.begin(), value.end());
60403 return *this;
60404 }
60405
60411 {
60412 return BatchFloat64ArrayProxy(*this, Properties::delay);
60413 }
60414
60415 RegControlBatch& delay(double value)
60416 {
60417 set_batch_val<double>(Properties::delay, value);
60418 return *this;
60419 }
60420
60421 template <typename T>
60422 RegControlBatch& delay(T &value)
60423 {
60424 set_batch_val_for_each<T>(Properties::delay, value.begin(), value.end());
60425 return *this;
60426 }
60427
60428 template <typename T>
60429 RegControlBatch& delay(typename T::iterator it_begin, typename T::iterator it_end)
60430 {
60431 set_batch_val_for_each<T>(Properties::delay, it_begin, it_end);
60432 return *this;
60433 }
60434
60440 {
60441 return get_batch_val<bools>(Properties::reversible);
60442 }
60443
60444 RegControlBatch& reversible(bool value)
60445 {
60446 set_batch_val(Properties::reversible, int32_t(value));
60447 return *this;
60448 }
60449
60450 RegControlBatch& reversible(bools &value)
60451 {
60452 set_batch_val_for_each<std::vector<int32_t>>(Properties::reversible, value.begin(), value.end());
60453 return *this;
60454 }
60455
60461 {
60462 return BatchFloat64ArrayProxy(*this, Properties::revvreg);
60463 }
60464
60465 RegControlBatch& revvreg(double value)
60466 {
60467 set_batch_val<double>(Properties::revvreg, value);
60468 return *this;
60469 }
60470
60471 template <typename T>
60472 RegControlBatch& revvreg(T &value)
60473 {
60474 set_batch_val_for_each<T>(Properties::revvreg, value.begin(), value.end());
60475 return *this;
60476 }
60477
60478 template <typename T>
60479 RegControlBatch& revvreg(typename T::iterator it_begin, typename T::iterator it_end)
60480 {
60481 set_batch_val_for_each<T>(Properties::revvreg, it_begin, it_end);
60482 return *this;
60483 }
60484
60490 {
60491 return BatchFloat64ArrayProxy(*this, Properties::revband);
60492 }
60493
60494 RegControlBatch& revband(double value)
60495 {
60496 set_batch_val<double>(Properties::revband, value);
60497 return *this;
60498 }
60499
60500 template <typename T>
60501 RegControlBatch& revband(T &value)
60502 {
60503 set_batch_val_for_each<T>(Properties::revband, value.begin(), value.end());
60504 return *this;
60505 }
60506
60507 template <typename T>
60508 RegControlBatch& revband(typename T::iterator it_begin, typename T::iterator it_end)
60509 {
60510 set_batch_val_for_each<T>(Properties::revband, it_begin, it_end);
60511 return *this;
60512 }
60513
60519 {
60520 return BatchFloat64ArrayProxy(*this, Properties::revR);
60521 }
60522
60523 RegControlBatch& revR(double value)
60524 {
60525 set_batch_val<double>(Properties::revR, value);
60526 return *this;
60527 }
60528
60529 template <typename T>
60530 RegControlBatch& revR(T &value)
60531 {
60532 set_batch_val_for_each<T>(Properties::revR, value.begin(), value.end());
60533 return *this;
60534 }
60535
60536 template <typename T>
60537 RegControlBatch& revR(typename T::iterator it_begin, typename T::iterator it_end)
60538 {
60539 set_batch_val_for_each<T>(Properties::revR, it_begin, it_end);
60540 return *this;
60541 }
60542
60548 {
60549 return BatchFloat64ArrayProxy(*this, Properties::revX);
60550 }
60551
60552 RegControlBatch& revX(double value)
60553 {
60554 set_batch_val<double>(Properties::revX, value);
60555 return *this;
60556 }
60557
60558 template <typename T>
60559 RegControlBatch& revX(T &value)
60560 {
60561 set_batch_val_for_each<T>(Properties::revX, value.begin(), value.end());
60562 return *this;
60563 }
60564
60565 template <typename T>
60566 RegControlBatch& revX(typename T::iterator it_begin, typename T::iterator it_end)
60567 {
60568 set_batch_val_for_each<T>(Properties::revX, it_begin, it_end);
60569 return *this;
60570 }
60571
60577 {
60578 return BatchFloat64ArrayProxy(*this, Properties::tapdelay);
60579 }
60580
60581 RegControlBatch& tapdelay(double value)
60582 {
60583 set_batch_val<double>(Properties::tapdelay, value);
60584 return *this;
60585 }
60586
60587 template <typename T>
60588 RegControlBatch& tapdelay(T &value)
60589 {
60590 set_batch_val_for_each<T>(Properties::tapdelay, value.begin(), value.end());
60591 return *this;
60592 }
60593
60594 template <typename T>
60595 RegControlBatch& tapdelay(typename T::iterator it_begin, typename T::iterator it_end)
60596 {
60597 set_batch_val_for_each<T>(Properties::tapdelay, it_begin, it_end);
60598 return *this;
60599 }
60600
60606 {
60607 return get_batch_val<bools>(Properties::debugtrace);
60608 }
60609
60610 RegControlBatch& debugtrace(bool value)
60611 {
60612 set_batch_val(Properties::debugtrace, int32_t(value));
60613 return *this;
60614 }
60615
60616 RegControlBatch& debugtrace(bools &value)
60617 {
60618 set_batch_val_for_each<std::vector<int32_t>>(Properties::debugtrace, value.begin(), value.end());
60619 return *this;
60620 }
60621
60631 {
60632 return BatchInt32ArrayProxy(*this, Properties::maxtapchange);
60633 }
60634
60635 RegControlBatch& maxtapchange(int32_t value)
60636 {
60637 set_batch_val(Properties::maxtapchange, value);
60638 return *this;
60639 }
60640
60641 template <typename T>
60642 RegControlBatch& maxtapchange(T &value)
60643 {
60644 set_batch_val_for_each<T>(Properties::maxtapchange, value.begin(), value.end());
60645 return *this;
60646 }
60647
60648 template <typename T>
60649 RegControlBatch& maxtapchange(typename T::iterator it_begin, typename T::iterator it_end)
60650 {
60651 set_batch_val_for_each<T>(Properties::maxtapchange, it_begin, it_end);
60652 return *this;
60653 }
60654
60660 {
60661 return get_batch_val<bools>(Properties::inversetime);
60662 }
60663
60664 RegControlBatch& inversetime(bool value)
60665 {
60666 set_batch_val(Properties::inversetime, int32_t(value));
60667 return *this;
60668 }
60669
60670 RegControlBatch& inversetime(bools &value)
60671 {
60672 set_batch_val_for_each<std::vector<int32_t>>(Properties::inversetime, value.begin(), value.end());
60673 return *this;
60674 }
60675
60681 {
60682 return BatchInt32ArrayProxy(*this, Properties::tapwinding);
60683 }
60684
60685 RegControlBatch& tapwinding(int32_t value)
60686 {
60687 set_batch_val(Properties::tapwinding, value);
60688 return *this;
60689 }
60690
60691 template <typename T>
60692 RegControlBatch& tapwinding(T &value)
60693 {
60694 set_batch_val_for_each<T>(Properties::tapwinding, value.begin(), value.end());
60695 return *this;
60696 }
60697
60698 template <typename T>
60699 RegControlBatch& tapwinding(typename T::iterator it_begin, typename T::iterator it_end)
60700 {
60701 set_batch_val_for_each<T>(Properties::tapwinding, it_begin, it_end);
60702 return *this;
60703 }
60704
60710 {
60711 return BatchFloat64ArrayProxy(*this, Properties::vlimit);
60712 }
60713
60714 RegControlBatch& vlimit(double value)
60715 {
60716 set_batch_val<double>(Properties::vlimit, value);
60717 return *this;
60718 }
60719
60720 template <typename T>
60721 RegControlBatch& vlimit(T &value)
60722 {
60723 set_batch_val_for_each<T>(Properties::vlimit, value.begin(), value.end());
60724 return *this;
60725 }
60726
60727 template <typename T>
60728 RegControlBatch& vlimit(typename T::iterator it_begin, typename T::iterator it_end)
60729 {
60730 set_batch_val_for_each<T>(Properties::vlimit, it_begin, it_end);
60731 return *this;
60732 }
60733
60739 {
60740 return BatchInt32ArrayProxy(*this, Properties::PTphase);
60741 }
60742
60743 RegControlBatch& PTphase(string &value)
60744 {
60745 set_batch_val(Properties::PTphase, value);
60746 return *this;
60747 }
60748
60749 RegControlBatch& PTphase(int32_t value)
60750 {
60751 set_batch_val(Properties::PTphase, value);
60752 return *this;
60753 }
60754
60756 {
60757 set_batch_val(Properties::PTphase, int32_t(value));
60758 return *this;
60759 }
60760
60761 RegControlBatch& PTphase(strings &value)
60762 {
60763 set_batch_val_for_each<strings>(Properties::PTphase, value.begin(), value.end());
60764 return *this;
60765 }
60766
60767 RegControlBatch& PTphase(std::vector<int32_t> &value)
60768 {
60769 set_batch_val_for_each<std::vector<int32_t>>(Properties::PTphase, value.begin(), value.end());
60770 return *this;
60771 }
60772
60773 RegControlBatch& PTphase(std::vector<RegControl::RegControlPhaseSelection> &value)
60774 {
60775 set_batch_val_for_each<std::vector<RegControl::RegControlPhaseSelection>>(Properties::PTphase, value.begin(), value.end());
60776 return *this;
60777 }
60778
60783 strings PTphase_str()
60784 {
60785 return get_batch_val<strings>(Properties::PTphase);
60786 }
60787
60788 RegControlBatch& PTphase_str(string &value)
60789 {
60790 PTphase(value);
60791 return *this;
60792 }
60793
60794 RegControlBatch& PTphase_str(strings &value)
60795 {
60796 PTphase(value);
60797 return *this;
60798 }
60799
60805 {
60806 return BatchFloat64ArrayProxy(*this, Properties::revThreshold);
60807 }
60808
60809 RegControlBatch& revThreshold(double value)
60810 {
60811 set_batch_val<double>(Properties::revThreshold, value);
60812 return *this;
60813 }
60814
60815 template <typename T>
60816 RegControlBatch& revThreshold(T &value)
60817 {
60818 set_batch_val_for_each<T>(Properties::revThreshold, value.begin(), value.end());
60819 return *this;
60820 }
60821
60822 template <typename T>
60823 RegControlBatch& revThreshold(typename T::iterator it_begin, typename T::iterator it_end)
60824 {
60825 set_batch_val_for_each<T>(Properties::revThreshold, it_begin, it_end);
60826 return *this;
60827 }
60828
60834 {
60835 return BatchFloat64ArrayProxy(*this, Properties::revDelay);
60836 }
60837
60838 RegControlBatch& revDelay(double value)
60839 {
60840 set_batch_val<double>(Properties::revDelay, value);
60841 return *this;
60842 }
60843
60844 template <typename T>
60845 RegControlBatch& revDelay(T &value)
60846 {
60847 set_batch_val_for_each<T>(Properties::revDelay, value.begin(), value.end());
60848 return *this;
60849 }
60850
60851 template <typename T>
60852 RegControlBatch& revDelay(typename T::iterator it_begin, typename T::iterator it_end)
60853 {
60854 set_batch_val_for_each<T>(Properties::revDelay, it_begin, it_end);
60855 return *this;
60856 }
60857
60863 {
60864 return get_batch_val<bools>(Properties::revNeutral);
60865 }
60866
60867 RegControlBatch& revNeutral(bool value)
60868 {
60869 set_batch_val(Properties::revNeutral, int32_t(value));
60870 return *this;
60871 }
60872
60873 RegControlBatch& revNeutral(bools &value)
60874 {
60875 set_batch_val_for_each<std::vector<int32_t>>(Properties::revNeutral, value.begin(), value.end());
60876 return *this;
60877 }
60878
60883 bools EventLog()
60884 {
60885 return get_batch_val<bools>(Properties::EventLog);
60886 }
60887
60888 RegControlBatch& EventLog(bool value)
60889 {
60890 set_batch_val(Properties::EventLog, int32_t(value));
60891 return *this;
60892 }
60893
60894 RegControlBatch& EventLog(bools &value)
60895 {
60896 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
60897 return *this;
60898 }
60899
60905 {
60906 return BatchFloat64ArrayProxy(*this, Properties::RemotePTRatio);
60907 }
60908
60909 RegControlBatch& RemotePTRatio(double value)
60910 {
60911 set_batch_val<double>(Properties::RemotePTRatio, value);
60912 return *this;
60913 }
60914
60915 template <typename T>
60917 {
60918 set_batch_val_for_each<T>(Properties::RemotePTRatio, value.begin(), value.end());
60919 return *this;
60920 }
60921
60922 template <typename T>
60923 RegControlBatch& RemotePTRatio(typename T::iterator it_begin, typename T::iterator it_end)
60924 {
60925 set_batch_val_for_each<T>(Properties::RemotePTRatio, it_begin, it_end);
60926 return *this;
60927 }
60928
60934 {
60935 return BatchInt32ArrayProxy(*this, Properties::TapNum);
60936 }
60937
60938 RegControlBatch& TapNum(int32_t value)
60939 {
60940 set_batch_val(Properties::TapNum, value);
60941 return *this;
60942 }
60943
60944 template <typename T>
60945 RegControlBatch& TapNum(T &value)
60946 {
60947 set_batch_val_for_each<T>(Properties::TapNum, value.begin(), value.end());
60948 return *this;
60949 }
60950
60951 template <typename T>
60952 RegControlBatch& TapNum(typename T::iterator it_begin, typename T::iterator it_end)
60953 {
60954 set_batch_val_for_each<T>(Properties::TapNum, it_begin, it_end);
60955 return *this;
60956 }
60957
60963 {
60964 set_batch_val(Properties::Reset, int32_t(value));
60965 return *this;
60966 }
60967
60973 {
60974 return BatchFloat64ArrayProxy(*this, Properties::LDC_Z);
60975 }
60976
60977 RegControlBatch& LDC_Z(double value)
60978 {
60979 set_batch_val<double>(Properties::LDC_Z, value);
60980 return *this;
60981 }
60982
60983 template <typename T>
60984 RegControlBatch& LDC_Z(T &value)
60985 {
60986 set_batch_val_for_each<T>(Properties::LDC_Z, value.begin(), value.end());
60987 return *this;
60988 }
60989
60990 template <typename T>
60991 RegControlBatch& LDC_Z(typename T::iterator it_begin, typename T::iterator it_end)
60992 {
60993 set_batch_val_for_each<T>(Properties::LDC_Z, it_begin, it_end);
60994 return *this;
60995 }
60996
61002 {
61003 return BatchFloat64ArrayProxy(*this, Properties::rev_Z);
61004 }
61005
61006 RegControlBatch& rev_Z(double value)
61007 {
61008 set_batch_val<double>(Properties::rev_Z, value);
61009 return *this;
61010 }
61011
61012 template <typename T>
61013 RegControlBatch& rev_Z(T &value)
61014 {
61015 set_batch_val_for_each<T>(Properties::rev_Z, value.begin(), value.end());
61016 return *this;
61017 }
61018
61019 template <typename T>
61020 RegControlBatch& rev_Z(typename T::iterator it_begin, typename T::iterator it_end)
61021 {
61022 set_batch_val_for_each<T>(Properties::rev_Z, it_begin, it_end);
61023 return *this;
61024 }
61025
61030 bools Cogen()
61031 {
61032 return get_batch_val<bools>(Properties::Cogen);
61033 }
61034
61035 RegControlBatch& Cogen(bool value)
61036 {
61037 set_batch_val(Properties::Cogen, int32_t(value));
61038 return *this;
61039 }
61040
61041 RegControlBatch& Cogen(bools &value)
61042 {
61043 set_batch_val_for_each<std::vector<int32_t>>(Properties::Cogen, value.begin(), value.end());
61044 return *this;
61045 }
61046
61052 {
61053 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
61054 }
61055
61056 RegControlBatch& basefreq(double value)
61057 {
61058 set_batch_val<double>(Properties::basefreq, value);
61059 return *this;
61060 }
61061
61062 template <typename T>
61063 RegControlBatch& basefreq(T &value)
61064 {
61065 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
61066 return *this;
61067 }
61068
61069 template <typename T>
61070 RegControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
61071 {
61072 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
61073 return *this;
61074 }
61075
61080 bools enabled()
61081 {
61082 return get_batch_val<bools>(Properties::enabled);
61083 }
61084
61085 RegControlBatch& enabled(bool value)
61086 {
61087 set_batch_val(Properties::enabled, int32_t(value));
61088 return *this;
61089 }
61090
61091 RegControlBatch& enabled(bools &value)
61092 {
61093 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
61094 return *this;
61095 }
61096
61103 RegControlBatch& like(const string &value)
61104 {
61105 set_batch_val(Properties::like, value.c_str());
61106 return *this;
61107 }
61108
61115 RegControlBatch& like(const char *value)
61116 {
61117 set_batch_val(Properties::like, value);
61118 return *this;
61119 }
61120};
61121
61122
61124{
61125public:
61128
61129 // Shortcuts to class-specific enumerations
61136
61137
61142 DSSBatch(util, InvControl::dss_cls_idx)
61143 {
61144 }
61145
61149 InvControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
61150 DSSBatch(util, InvControl::dss_cls_idx, prop_idx, prop_value)
61151 {
61152 }
61153
61157 InvControlBatch(APIUtil *util, const char* regexp):
61158 DSSBatch(util, InvControl::dss_cls_idx, regexp)
61159 {
61160 }
61161
61162
61163 InvControlBatch& begin_edit()
61164 {
61165 Batch_BeginEdit(pointer, count[0]);
61166 return *this;
61167 }
61168
61169 InvControlBatch& end_edit(int32_t num_edits=1)
61170 {
61171 Batch_EndEdit(pointer, count[0], num_edits);
61172 return *this;
61173 }
61174
61175
61182 std::vector<strings> DERList()
61183 {
61184 return get_batch_valarray<strings>(Properties::DERList);
61185 }
61186
61187 InvControlBatch& DERList(strings &value)
61188 {
61189 set_batch_val(Properties::DERList, value);
61190 return *this;
61191 }
61192
61211 {
61212 return BatchInt32ArrayProxy(*this, Properties::Mode);
61213 }
61214
61215 InvControlBatch& Mode(string &value)
61216 {
61217 set_batch_val(Properties::Mode, value);
61218 return *this;
61219 }
61220
61221 InvControlBatch& Mode(int32_t value)
61222 {
61223 set_batch_val(Properties::Mode, value);
61224 return *this;
61225 }
61226
61228 {
61229 set_batch_val(Properties::Mode, int32_t(value));
61230 return *this;
61231 }
61232
61233 InvControlBatch& Mode(strings &value)
61234 {
61235 set_batch_val_for_each<strings>(Properties::Mode, value.begin(), value.end());
61236 return *this;
61237 }
61238
61239 InvControlBatch& Mode(std::vector<int32_t> &value)
61240 {
61241 set_batch_val_for_each<std::vector<int32_t>>(Properties::Mode, value.begin(), value.end());
61242 return *this;
61243 }
61244
61245 InvControlBatch& Mode(std::vector<InvControl::InvControlControlMode> &value)
61246 {
61247 set_batch_val_for_each<std::vector<InvControl::InvControlControlMode>>(Properties::Mode, value.begin(), value.end());
61248 return *this;
61249 }
61250
61268 strings Mode_str()
61269 {
61270 return get_batch_val<strings>(Properties::Mode);
61271 }
61272
61273 InvControlBatch& Mode_str(string &value)
61274 {
61275 Mode(value);
61276 return *this;
61277 }
61278
61279 InvControlBatch& Mode_str(strings &value)
61280 {
61281 Mode(value);
61282 return *this;
61283 }
61284
61297 {
61298 return BatchInt32ArrayProxy(*this, Properties::CombiMode);
61299 }
61300
61301 InvControlBatch& CombiMode(string &value)
61302 {
61303 set_batch_val(Properties::CombiMode, value);
61304 return *this;
61305 }
61306
61307 InvControlBatch& CombiMode(int32_t value)
61308 {
61309 set_batch_val(Properties::CombiMode, value);
61310 return *this;
61311 }
61312
61314 {
61315 set_batch_val(Properties::CombiMode, int32_t(value));
61316 return *this;
61317 }
61318
61319 InvControlBatch& CombiMode(strings &value)
61320 {
61321 set_batch_val_for_each<strings>(Properties::CombiMode, value.begin(), value.end());
61322 return *this;
61323 }
61324
61325 InvControlBatch& CombiMode(std::vector<int32_t> &value)
61326 {
61327 set_batch_val_for_each<std::vector<int32_t>>(Properties::CombiMode, value.begin(), value.end());
61328 return *this;
61329 }
61330
61331 InvControlBatch& CombiMode(std::vector<InvControl::InvControlCombiMode> &value)
61332 {
61333 set_batch_val_for_each<std::vector<InvControl::InvControlCombiMode>>(Properties::CombiMode, value.begin(), value.end());
61334 return *this;
61335 }
61336
61349 {
61350 return get_batch_val<strings>(Properties::CombiMode);
61351 }
61352
61353 InvControlBatch& CombiMode_str(string &value)
61354 {
61355 CombiMode(value);
61356 return *this;
61357 }
61358
61359 InvControlBatch& CombiMode_str(strings &value)
61360 {
61361 CombiMode(value);
61362 return *this;
61363 }
61364
61374 strings vvc_curve1()
61375 {
61376 return get_batch_val<strings>(Properties::vvc_curve1);
61377 }
61378
61380 {
61381 set_batch_val(Properties::vvc_curve1, value);
61382 return *this;
61383 }
61384
61385 InvControlBatch& vvc_curve1(const string &value)
61386 {
61387 set_batch_val(Properties::vvc_curve1, value);
61388 return *this;
61389 }
61390
61400 std::vector<dss::obj::XYcurve> vvc_curve1_obj()
61401 {
61402 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::vvc_curve1);
61403 }
61404
61406 {
61407 set_batch_val(Properties::vvc_curve1, value);
61408 return *this;
61409 }
61410
61426 {
61427 return BatchFloat64ArrayProxy(*this, Properties::hysteresis_offset);
61428 }
61429
61430 InvControlBatch& hysteresis_offset(double value)
61431 {
61432 set_batch_val<double>(Properties::hysteresis_offset, value);
61433 return *this;
61434 }
61435
61436 template <typename T>
61438 {
61439 set_batch_val_for_each<T>(Properties::hysteresis_offset, value.begin(), value.end());
61440 return *this;
61441 }
61442
61443 template <typename T>
61444 InvControlBatch& hysteresis_offset(typename T::iterator it_begin, typename T::iterator it_end)
61445 {
61446 set_batch_val_for_each<T>(Properties::hysteresis_offset, it_begin, it_end);
61447 return *this;
61448 }
61449
61465 {
61466 return BatchInt32ArrayProxy(*this, Properties::voltage_curvex_ref);
61467 }
61468
61469 InvControlBatch& voltage_curvex_ref(string &value)
61470 {
61471 set_batch_val(Properties::voltage_curvex_ref, value);
61472 return *this;
61473 }
61474
61475 InvControlBatch& voltage_curvex_ref(int32_t value)
61476 {
61477 set_batch_val(Properties::voltage_curvex_ref, value);
61478 return *this;
61479 }
61480
61482 {
61483 set_batch_val(Properties::voltage_curvex_ref, int32_t(value));
61484 return *this;
61485 }
61486
61487 InvControlBatch& voltage_curvex_ref(strings &value)
61488 {
61489 set_batch_val_for_each<strings>(Properties::voltage_curvex_ref, value.begin(), value.end());
61490 return *this;
61491 }
61492
61493 InvControlBatch& voltage_curvex_ref(std::vector<int32_t> &value)
61494 {
61495 set_batch_val_for_each<std::vector<int32_t>>(Properties::voltage_curvex_ref, value.begin(), value.end());
61496 return *this;
61497 }
61498
61499 InvControlBatch& voltage_curvex_ref(std::vector<InvControl::InvControlVoltageCurveXRef> &value)
61500 {
61501 set_batch_val_for_each<std::vector<InvControl::InvControlVoltageCurveXRef>>(Properties::voltage_curvex_ref, value.begin(), value.end());
61502 return *this;
61503 }
61504
61520 {
61521 return get_batch_val<strings>(Properties::voltage_curvex_ref);
61522 }
61523
61525 {
61526 voltage_curvex_ref(value);
61527 return *this;
61528 }
61529
61531 {
61532 voltage_curvex_ref(value);
61533 return *this;
61534 }
61535
61549 {
61550 return BatchInt32ArrayProxy(*this, Properties::avgwindowlen);
61551 }
61552
61553 InvControlBatch& avgwindowlen(int32_t value)
61554 {
61555 set_batch_val(Properties::avgwindowlen, value);
61556 return *this;
61557 }
61558
61559 template <typename T>
61560 InvControlBatch& avgwindowlen(T &value)
61561 {
61562 set_batch_val_for_each<T>(Properties::avgwindowlen, value.begin(), value.end());
61563 return *this;
61564 }
61565
61566 template <typename T>
61567 InvControlBatch& avgwindowlen(typename T::iterator it_begin, typename T::iterator it_end)
61568 {
61569 set_batch_val_for_each<T>(Properties::avgwindowlen, it_begin, it_end);
61570 return *this;
61571 }
61572
61584 {
61585 return get_batch_val<strings>(Properties::voltwatt_curve);
61586 }
61587
61589 {
61590 set_batch_val(Properties::voltwatt_curve, value);
61591 return *this;
61592 }
61593
61594 InvControlBatch& voltwatt_curve(const string &value)
61595 {
61596 set_batch_val(Properties::voltwatt_curve, value);
61597 return *this;
61598 }
61599
61610 std::vector<dss::obj::XYcurve> voltwatt_curve_obj()
61611 {
61612 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::voltwatt_curve);
61613 }
61614
61616 {
61617 set_batch_val(Properties::voltwatt_curve, value);
61618 return *this;
61619 }
61620
61628 {
61629 return BatchFloat64ArrayProxy(*this, Properties::DbVMin);
61630 }
61631
61632 InvControlBatch& DbVMin(double value)
61633 {
61634 set_batch_val<double>(Properties::DbVMin, value);
61635 return *this;
61636 }
61637
61638 template <typename T>
61639 InvControlBatch& DbVMin(T &value)
61640 {
61641 set_batch_val_for_each<T>(Properties::DbVMin, value.begin(), value.end());
61642 return *this;
61643 }
61644
61645 template <typename T>
61646 InvControlBatch& DbVMin(typename T::iterator it_begin, typename T::iterator it_end)
61647 {
61648 set_batch_val_for_each<T>(Properties::DbVMin, it_begin, it_end);
61649 return *this;
61650 }
61651
61659 {
61660 return BatchFloat64ArrayProxy(*this, Properties::DbVMax);
61661 }
61662
61663 InvControlBatch& DbVMax(double value)
61664 {
61665 set_batch_val<double>(Properties::DbVMax, value);
61666 return *this;
61667 }
61668
61669 template <typename T>
61670 InvControlBatch& DbVMax(T &value)
61671 {
61672 set_batch_val_for_each<T>(Properties::DbVMax, value.begin(), value.end());
61673 return *this;
61674 }
61675
61676 template <typename T>
61677 InvControlBatch& DbVMax(typename T::iterator it_begin, typename T::iterator it_end)
61678 {
61679 set_batch_val_for_each<T>(Properties::DbVMax, it_begin, it_end);
61680 return *this;
61681 }
61682
61694 {
61695 return BatchFloat64ArrayProxy(*this, Properties::ArGraLowV);
61696 }
61697
61698 InvControlBatch& ArGraLowV(double value)
61699 {
61700 set_batch_val<double>(Properties::ArGraLowV, value);
61701 return *this;
61702 }
61703
61704 template <typename T>
61705 InvControlBatch& ArGraLowV(T &value)
61706 {
61707 set_batch_val_for_each<T>(Properties::ArGraLowV, value.begin(), value.end());
61708 return *this;
61709 }
61710
61711 template <typename T>
61712 InvControlBatch& ArGraLowV(typename T::iterator it_begin, typename T::iterator it_end)
61713 {
61714 set_batch_val_for_each<T>(Properties::ArGraLowV, it_begin, it_end);
61715 return *this;
61716 }
61717
61729 {
61730 return BatchFloat64ArrayProxy(*this, Properties::ArGraHiV);
61731 }
61732
61733 InvControlBatch& ArGraHiV(double value)
61734 {
61735 set_batch_val<double>(Properties::ArGraHiV, value);
61736 return *this;
61737 }
61738
61739 template <typename T>
61740 InvControlBatch& ArGraHiV(T &value)
61741 {
61742 set_batch_val_for_each<T>(Properties::ArGraHiV, value.begin(), value.end());
61743 return *this;
61744 }
61745
61746 template <typename T>
61747 InvControlBatch& ArGraHiV(typename T::iterator it_begin, typename T::iterator it_end)
61748 {
61749 set_batch_val_for_each<T>(Properties::ArGraHiV, it_begin, it_end);
61750 return *this;
61751 }
61752
61766 {
61767 return BatchInt32ArrayProxy(*this, Properties::DynReacavgwindowlen);
61768 }
61769
61770 InvControlBatch& DynReacavgwindowlen(int32_t value)
61771 {
61772 set_batch_val(Properties::DynReacavgwindowlen, value);
61773 return *this;
61774 }
61775
61776 template <typename T>
61778 {
61779 set_batch_val_for_each<T>(Properties::DynReacavgwindowlen, value.begin(), value.end());
61780 return *this;
61781 }
61782
61783 template <typename T>
61784 InvControlBatch& DynReacavgwindowlen(typename T::iterator it_begin, typename T::iterator it_end)
61785 {
61786 set_batch_val_for_each<T>(Properties::DynReacavgwindowlen, it_begin, it_end);
61787 return *this;
61788 }
61789
61804 {
61805 return BatchFloat64ArrayProxy(*this, Properties::deltaQ_Factor);
61806 }
61807
61808 InvControlBatch& deltaQ_Factor(double value)
61809 {
61810 set_batch_val<double>(Properties::deltaQ_Factor, value);
61811 return *this;
61812 }
61813
61814 template <typename T>
61816 {
61817 set_batch_val_for_each<T>(Properties::deltaQ_Factor, value.begin(), value.end());
61818 return *this;
61819 }
61820
61821 template <typename T>
61822 InvControlBatch& deltaQ_Factor(typename T::iterator it_begin, typename T::iterator it_end)
61823 {
61824 set_batch_val_for_each<T>(Properties::deltaQ_Factor, it_begin, it_end);
61825 return *this;
61826 }
61827
61839 {
61840 return BatchFloat64ArrayProxy(*this, Properties::VoltageChangeTolerance);
61841 }
61842
61844 {
61845 set_batch_val<double>(Properties::VoltageChangeTolerance, value);
61846 return *this;
61847 }
61848
61849 template <typename T>
61851 {
61852 set_batch_val_for_each<T>(Properties::VoltageChangeTolerance, value.begin(), value.end());
61853 return *this;
61854 }
61855
61856 template <typename T>
61857 InvControlBatch& VoltageChangeTolerance(typename T::iterator it_begin, typename T::iterator it_end)
61858 {
61859 set_batch_val_for_each<T>(Properties::VoltageChangeTolerance, it_begin, it_end);
61860 return *this;
61861 }
61862
61874 {
61875 return BatchFloat64ArrayProxy(*this, Properties::VarChangeTolerance);
61876 }
61877
61878 InvControlBatch& VarChangeTolerance(double value)
61879 {
61880 set_batch_val<double>(Properties::VarChangeTolerance, value);
61881 return *this;
61882 }
61883
61884 template <typename T>
61886 {
61887 set_batch_val_for_each<T>(Properties::VarChangeTolerance, value.begin(), value.end());
61888 return *this;
61889 }
61890
61891 template <typename T>
61892 InvControlBatch& VarChangeTolerance(typename T::iterator it_begin, typename T::iterator it_end)
61893 {
61894 set_batch_val_for_each<T>(Properties::VarChangeTolerance, it_begin, it_end);
61895 return *this;
61896 }
61897
61913 {
61914 return BatchInt32ArrayProxy(*this, Properties::VoltwattYAxis);
61915 }
61916
61917 InvControlBatch& VoltwattYAxis(string &value)
61918 {
61919 set_batch_val(Properties::VoltwattYAxis, value);
61920 return *this;
61921 }
61922
61923 InvControlBatch& VoltwattYAxis(int32_t value)
61924 {
61925 set_batch_val(Properties::VoltwattYAxis, value);
61926 return *this;
61927 }
61928
61930 {
61931 set_batch_val(Properties::VoltwattYAxis, int32_t(value));
61932 return *this;
61933 }
61934
61935 InvControlBatch& VoltwattYAxis(strings &value)
61936 {
61937 set_batch_val_for_each<strings>(Properties::VoltwattYAxis, value.begin(), value.end());
61938 return *this;
61939 }
61940
61941 InvControlBatch& VoltwattYAxis(std::vector<int32_t> &value)
61942 {
61943 set_batch_val_for_each<std::vector<int32_t>>(Properties::VoltwattYAxis, value.begin(), value.end());
61944 return *this;
61945 }
61946
61947 InvControlBatch& VoltwattYAxis(std::vector<InvControl::InvControlVoltWattYAxis> &value)
61948 {
61949 set_batch_val_for_each<std::vector<InvControl::InvControlVoltWattYAxis>>(Properties::VoltwattYAxis, value.begin(), value.end());
61950 return *this;
61951 }
61952
61968 {
61969 return get_batch_val<strings>(Properties::VoltwattYAxis);
61970 }
61971
61972 InvControlBatch& VoltwattYAxis_str(string &value)
61973 {
61974 VoltwattYAxis(value);
61975 return *this;
61976 }
61977
61978 InvControlBatch& VoltwattYAxis_str(strings &value)
61979 {
61980 VoltwattYAxis(value);
61981 return *this;
61982 }
61983
61997 {
61998 return BatchInt32ArrayProxy(*this, Properties::RateofChangeMode);
61999 }
62000
62001 InvControlBatch& RateofChangeMode(string &value)
62002 {
62003 set_batch_val(Properties::RateofChangeMode, value);
62004 return *this;
62005 }
62006
62007 InvControlBatch& RateofChangeMode(int32_t value)
62008 {
62009 set_batch_val(Properties::RateofChangeMode, value);
62010 return *this;
62011 }
62012
62014 {
62015 set_batch_val(Properties::RateofChangeMode, int32_t(value));
62016 return *this;
62017 }
62018
62019 InvControlBatch& RateofChangeMode(strings &value)
62020 {
62021 set_batch_val_for_each<strings>(Properties::RateofChangeMode, value.begin(), value.end());
62022 return *this;
62023 }
62024
62025 InvControlBatch& RateofChangeMode(std::vector<int32_t> &value)
62026 {
62027 set_batch_val_for_each<std::vector<int32_t>>(Properties::RateofChangeMode, value.begin(), value.end());
62028 return *this;
62029 }
62030
62031 InvControlBatch& RateofChangeMode(std::vector<InvControl::InvControlRateOfChangeMode> &value)
62032 {
62033 set_batch_val_for_each<std::vector<InvControl::InvControlRateOfChangeMode>>(Properties::RateofChangeMode, value.begin(), value.end());
62034 return *this;
62035 }
62036
62050 {
62051 return get_batch_val<strings>(Properties::RateofChangeMode);
62052 }
62053
62055 {
62056 RateofChangeMode(value);
62057 return *this;
62058 }
62059
62060 InvControlBatch& RateofChangeMode_str(strings &value)
62061 {
62062 RateofChangeMode(value);
62063 return *this;
62064 }
62065
62073 {
62074 return BatchFloat64ArrayProxy(*this, Properties::LPFTau);
62075 }
62076
62077 InvControlBatch& LPFTau(double value)
62078 {
62079 set_batch_val<double>(Properties::LPFTau, value);
62080 return *this;
62081 }
62082
62083 template <typename T>
62084 InvControlBatch& LPFTau(T &value)
62085 {
62086 set_batch_val_for_each<T>(Properties::LPFTau, value.begin(), value.end());
62087 return *this;
62088 }
62089
62090 template <typename T>
62091 InvControlBatch& LPFTau(typename T::iterator it_begin, typename T::iterator it_end)
62092 {
62093 set_batch_val_for_each<T>(Properties::LPFTau, it_begin, it_end);
62094 return *this;
62095 }
62096
62104 {
62105 return BatchFloat64ArrayProxy(*this, Properties::RiseFallLimit);
62106 }
62107
62108 InvControlBatch& RiseFallLimit(double value)
62109 {
62110 set_batch_val<double>(Properties::RiseFallLimit, value);
62111 return *this;
62112 }
62113
62114 template <typename T>
62116 {
62117 set_batch_val_for_each<T>(Properties::RiseFallLimit, value.begin(), value.end());
62118 return *this;
62119 }
62120
62121 template <typename T>
62122 InvControlBatch& RiseFallLimit(typename T::iterator it_begin, typename T::iterator it_end)
62123 {
62124 set_batch_val_for_each<T>(Properties::RiseFallLimit, it_begin, it_end);
62125 return *this;
62126 }
62127
62142 {
62143 return BatchFloat64ArrayProxy(*this, Properties::deltaP_Factor);
62144 }
62145
62146 InvControlBatch& deltaP_Factor(double value)
62147 {
62148 set_batch_val<double>(Properties::deltaP_Factor, value);
62149 return *this;
62150 }
62151
62152 template <typename T>
62154 {
62155 set_batch_val_for_each<T>(Properties::deltaP_Factor, value.begin(), value.end());
62156 return *this;
62157 }
62158
62159 template <typename T>
62160 InvControlBatch& deltaP_Factor(typename T::iterator it_begin, typename T::iterator it_end)
62161 {
62162 set_batch_val_for_each<T>(Properties::deltaP_Factor, it_begin, it_end);
62163 return *this;
62164 }
62165
62170 bools EventLog()
62171 {
62172 return get_batch_val<bools>(Properties::EventLog);
62173 }
62174
62175 InvControlBatch& EventLog(bool value)
62176 {
62177 set_batch_val(Properties::EventLog, int32_t(value));
62178 return *this;
62179 }
62180
62181 InvControlBatch& EventLog(bools &value)
62182 {
62183 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
62184 return *this;
62185 }
62186
62198 {
62199 return BatchInt32ArrayProxy(*this, Properties::RefReactivePower);
62200 }
62201
62202 InvControlBatch& RefReactivePower(string &value)
62203 {
62204 set_batch_val(Properties::RefReactivePower, value);
62205 return *this;
62206 }
62207
62208 InvControlBatch& RefReactivePower(int32_t value)
62209 {
62210 set_batch_val(Properties::RefReactivePower, value);
62211 return *this;
62212 }
62213
62215 {
62216 set_batch_val(Properties::RefReactivePower, int32_t(value));
62217 return *this;
62218 }
62219
62220 InvControlBatch& RefReactivePower(strings &value)
62221 {
62222 set_batch_val_for_each<strings>(Properties::RefReactivePower, value.begin(), value.end());
62223 return *this;
62224 }
62225
62226 InvControlBatch& RefReactivePower(std::vector<int32_t> &value)
62227 {
62228 set_batch_val_for_each<std::vector<int32_t>>(Properties::RefReactivePower, value.begin(), value.end());
62229 return *this;
62230 }
62231
62232 InvControlBatch& RefReactivePower(std::vector<InvControl::InvControlReactivePowerReference> &value)
62233 {
62234 set_batch_val_for_each<std::vector<InvControl::InvControlReactivePowerReference>>(Properties::RefReactivePower, value.begin(), value.end());
62235 return *this;
62236 }
62237
62249 {
62250 return get_batch_val<strings>(Properties::RefReactivePower);
62251 }
62252
62254 {
62255 RefReactivePower(value);
62256 return *this;
62257 }
62258
62259 InvControlBatch& RefReactivePower_str(strings &value)
62260 {
62261 RefReactivePower(value);
62262 return *this;
62263 }
62264
62276 {
62277 return BatchFloat64ArrayProxy(*this, Properties::ActivePChangeTolerance);
62278 }
62279
62281 {
62282 set_batch_val<double>(Properties::ActivePChangeTolerance, value);
62283 return *this;
62284 }
62285
62286 template <typename T>
62288 {
62289 set_batch_val_for_each<T>(Properties::ActivePChangeTolerance, value.begin(), value.end());
62290 return *this;
62291 }
62292
62293 template <typename T>
62294 InvControlBatch& ActivePChangeTolerance(typename T::iterator it_begin, typename T::iterator it_end)
62295 {
62296 set_batch_val_for_each<T>(Properties::ActivePChangeTolerance, it_begin, it_end);
62297 return *this;
62298 }
62299
62305 {
62306 return BatchInt32ArrayProxy(*this, Properties::monVoltageCalc);
62307 }
62308
62309 InvControlBatch& monVoltageCalc(string &value)
62310 {
62311 set_batch_val(Properties::monVoltageCalc, value);
62312 return *this;
62313 }
62314
62315 InvControlBatch& monVoltageCalc(int32_t value)
62316 {
62317 set_batch_val(Properties::monVoltageCalc, value);
62318 return *this;
62319 }
62320
62321 InvControlBatch& monVoltageCalc(MonitoredPhase value)
62322 {
62323 set_batch_val(Properties::monVoltageCalc, int32_t(value));
62324 return *this;
62325 }
62326
62327 InvControlBatch& monVoltageCalc(strings &value)
62328 {
62329 set_batch_val_for_each<strings>(Properties::monVoltageCalc, value.begin(), value.end());
62330 return *this;
62331 }
62332
62333 InvControlBatch& monVoltageCalc(std::vector<int32_t> &value)
62334 {
62335 set_batch_val_for_each<std::vector<int32_t>>(Properties::monVoltageCalc, value.begin(), value.end());
62336 return *this;
62337 }
62338
62339 InvControlBatch& monVoltageCalc(std::vector<MonitoredPhase> &value)
62340 {
62341 set_batch_val_for_each<std::vector<MonitoredPhase>>(Properties::monVoltageCalc, value.begin(), value.end());
62342 return *this;
62343 }
62344
62350 {
62351 return get_batch_val<strings>(Properties::monVoltageCalc);
62352 }
62353
62354 InvControlBatch& monVoltageCalc_str(string &value)
62355 {
62356 monVoltageCalc(value);
62357 return *this;
62358 }
62359
62360 InvControlBatch& monVoltageCalc_str(strings &value)
62361 {
62362 monVoltageCalc(value);
62363 return *this;
62364 }
62365
62370 std::vector<strings> monBus()
62371 {
62372 return get_batch_valarray<strings>(Properties::monBus);
62373 }
62374
62375 InvControlBatch& monBus(strings &value)
62376 {
62377 set_batch_val(Properties::monBus, value);
62378 return *this;
62379 }
62380
62385 std::vector<VectorXd> MonBusesVbase()
62386 {
62387 return get_batch_valarray<VectorXd>(Properties::MonBusesVbase);
62388 }
62389
62390 InvControlBatch& MonBusesVbase(VectorXd &value)
62391 {
62392 set_batch_val<VectorXd>(Properties::MonBusesVbase, value);
62393 return *this;
62394 }
62395
62409 {
62410 return get_batch_val<strings>(Properties::voltwattCH_curve);
62411 }
62412
62414 {
62415 set_batch_val(Properties::voltwattCH_curve, value);
62416 return *this;
62417 }
62418
62419 InvControlBatch& voltwattCH_curve(const string &value)
62420 {
62421 set_batch_val(Properties::voltwattCH_curve, value);
62422 return *this;
62423 }
62424
62437 std::vector<dss::obj::XYcurve> voltwattCH_curve_obj()
62438 {
62439 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::voltwattCH_curve);
62440 }
62441
62443 {
62444 set_batch_val(Properties::voltwattCH_curve, value);
62445 return *this;
62446 }
62447
62466 {
62467 return get_batch_val<strings>(Properties::wattpf_curve);
62468 }
62469
62471 {
62472 set_batch_val(Properties::wattpf_curve, value);
62473 return *this;
62474 }
62475
62476 InvControlBatch& wattpf_curve(const string &value)
62477 {
62478 set_batch_val(Properties::wattpf_curve, value);
62479 return *this;
62480 }
62481
62499 std::vector<dss::obj::XYcurve> wattpf_curve_obj()
62500 {
62501 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::wattpf_curve);
62502 }
62503
62505 {
62506 set_batch_val(Properties::wattpf_curve, value);
62507 return *this;
62508 }
62509
62520 {
62521 return get_batch_val<strings>(Properties::wattvar_curve);
62522 }
62523
62525 {
62526 set_batch_val(Properties::wattvar_curve, value);
62527 return *this;
62528 }
62529
62530 InvControlBatch& wattvar_curve(const string &value)
62531 {
62532 set_batch_val(Properties::wattvar_curve, value);
62533 return *this;
62534 }
62535
62545 std::vector<dss::obj::XYcurve> wattvar_curve_obj()
62546 {
62547 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::wattvar_curve);
62548 }
62549
62551 {
62552 set_batch_val(Properties::wattvar_curve, value);
62553 return *this;
62554 }
62555
62560 std::vector<strings> PVSystemList()
62561 {
62562 return get_batch_valarray<strings>(Properties::PVSystemList);
62563 }
62564
62565 InvControlBatch& PVSystemList(strings &value)
62566 {
62567 set_batch_val(Properties::PVSystemList, value);
62568 return *this;
62569 }
62570
62576 {
62577 return BatchFloat64ArrayProxy(*this, Properties::Vsetpoint);
62578 }
62579
62580 InvControlBatch& Vsetpoint(double value)
62581 {
62582 set_batch_val<double>(Properties::Vsetpoint, value);
62583 return *this;
62584 }
62585
62586 template <typename T>
62587 InvControlBatch& Vsetpoint(T &value)
62588 {
62589 set_batch_val_for_each<T>(Properties::Vsetpoint, value.begin(), value.end());
62590 return *this;
62591 }
62592
62593 template <typename T>
62594 InvControlBatch& Vsetpoint(typename T::iterator it_begin, typename T::iterator it_end)
62595 {
62596 set_batch_val_for_each<T>(Properties::Vsetpoint, it_begin, it_end);
62597 return *this;
62598 }
62599
62605 {
62606 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
62607 }
62608
62609 InvControlBatch& basefreq(double value)
62610 {
62611 set_batch_val<double>(Properties::basefreq, value);
62612 return *this;
62613 }
62614
62615 template <typename T>
62616 InvControlBatch& basefreq(T &value)
62617 {
62618 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
62619 return *this;
62620 }
62621
62622 template <typename T>
62623 InvControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
62624 {
62625 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
62626 return *this;
62627 }
62628
62633 bools enabled()
62634 {
62635 return get_batch_val<bools>(Properties::enabled);
62636 }
62637
62638 InvControlBatch& enabled(bool value)
62639 {
62640 set_batch_val(Properties::enabled, int32_t(value));
62641 return *this;
62642 }
62643
62644 InvControlBatch& enabled(bools &value)
62645 {
62646 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
62647 return *this;
62648 }
62649
62656 InvControlBatch& like(const string &value)
62657 {
62658 set_batch_val(Properties::like, value.c_str());
62659 return *this;
62660 }
62661
62668 InvControlBatch& like(const char *value)
62669 {
62670 set_batch_val(Properties::like, value);
62671 return *this;
62672 }
62673};
62674
62675
62677{
62678public:
62681
62686 DSSBatch(util, ExpControl::dss_cls_idx)
62687 {
62688 }
62689
62693 ExpControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
62694 DSSBatch(util, ExpControl::dss_cls_idx, prop_idx, prop_value)
62695 {
62696 }
62697
62701 ExpControlBatch(APIUtil *util, const char* regexp):
62702 DSSBatch(util, ExpControl::dss_cls_idx, regexp)
62703 {
62704 }
62705
62706
62707 ExpControlBatch& begin_edit()
62708 {
62709 Batch_BeginEdit(pointer, count[0]);
62710 return *this;
62711 }
62712
62713 ExpControlBatch& end_edit(int32_t num_edits=1)
62714 {
62715 Batch_EndEdit(pointer, count[0], num_edits);
62716 return *this;
62717 }
62718
62719
62726 std::vector<strings> PVSystemList()
62727 {
62728 return get_batch_valarray<strings>(Properties::PVSystemList);
62729 }
62730
62731 ExpControlBatch& PVSystemList(strings &value)
62732 {
62733 set_batch_val(Properties::PVSystemList, value);
62734 return *this;
62735 }
62736
62744 {
62745 return BatchFloat64ArrayProxy(*this, Properties::Vreg);
62746 }
62747
62748 ExpControlBatch& Vreg(double value)
62749 {
62750 set_batch_val<double>(Properties::Vreg, value);
62751 return *this;
62752 }
62753
62754 template <typename T>
62755 ExpControlBatch& Vreg(T &value)
62756 {
62757 set_batch_val_for_each<T>(Properties::Vreg, value.begin(), value.end());
62758 return *this;
62759 }
62760
62761 template <typename T>
62762 ExpControlBatch& Vreg(typename T::iterator it_begin, typename T::iterator it_end)
62763 {
62764 set_batch_val_for_each<T>(Properties::Vreg, it_begin, it_end);
62765 return *this;
62766 }
62767
62775 {
62776 return BatchFloat64ArrayProxy(*this, Properties::Slope);
62777 }
62778
62779 ExpControlBatch& Slope(double value)
62780 {
62781 set_batch_val<double>(Properties::Slope, value);
62782 return *this;
62783 }
62784
62785 template <typename T>
62786 ExpControlBatch& Slope(T &value)
62787 {
62788 set_batch_val_for_each<T>(Properties::Slope, value.begin(), value.end());
62789 return *this;
62790 }
62791
62792 template <typename T>
62793 ExpControlBatch& Slope(typename T::iterator it_begin, typename T::iterator it_end)
62794 {
62795 set_batch_val_for_each<T>(Properties::Slope, it_begin, it_end);
62796 return *this;
62797 }
62798
62806 {
62807 return BatchFloat64ArrayProxy(*this, Properties::VregTau);
62808 }
62809
62810 ExpControlBatch& VregTau(double value)
62811 {
62812 set_batch_val<double>(Properties::VregTau, value);
62813 return *this;
62814 }
62815
62816 template <typename T>
62817 ExpControlBatch& VregTau(T &value)
62818 {
62819 set_batch_val_for_each<T>(Properties::VregTau, value.begin(), value.end());
62820 return *this;
62821 }
62822
62823 template <typename T>
62824 ExpControlBatch& VregTau(typename T::iterator it_begin, typename T::iterator it_end)
62825 {
62826 set_batch_val_for_each<T>(Properties::VregTau, it_begin, it_end);
62827 return *this;
62828 }
62829
62837 {
62838 return BatchFloat64ArrayProxy(*this, Properties::Qbias);
62839 }
62840
62841 ExpControlBatch& Qbias(double value)
62842 {
62843 set_batch_val<double>(Properties::Qbias, value);
62844 return *this;
62845 }
62846
62847 template <typename T>
62848 ExpControlBatch& Qbias(T &value)
62849 {
62850 set_batch_val_for_each<T>(Properties::Qbias, value.begin(), value.end());
62851 return *this;
62852 }
62853
62854 template <typename T>
62855 ExpControlBatch& Qbias(typename T::iterator it_begin, typename T::iterator it_end)
62856 {
62857 set_batch_val_for_each<T>(Properties::Qbias, it_begin, it_end);
62858 return *this;
62859 }
62860
62866 {
62867 return BatchFloat64ArrayProxy(*this, Properties::VregMin);
62868 }
62869
62870 ExpControlBatch& VregMin(double value)
62871 {
62872 set_batch_val<double>(Properties::VregMin, value);
62873 return *this;
62874 }
62875
62876 template <typename T>
62877 ExpControlBatch& VregMin(T &value)
62878 {
62879 set_batch_val_for_each<T>(Properties::VregMin, value.begin(), value.end());
62880 return *this;
62881 }
62882
62883 template <typename T>
62884 ExpControlBatch& VregMin(typename T::iterator it_begin, typename T::iterator it_end)
62885 {
62886 set_batch_val_for_each<T>(Properties::VregMin, it_begin, it_end);
62887 return *this;
62888 }
62889
62895 {
62896 return BatchFloat64ArrayProxy(*this, Properties::VregMax);
62897 }
62898
62899 ExpControlBatch& VregMax(double value)
62900 {
62901 set_batch_val<double>(Properties::VregMax, value);
62902 return *this;
62903 }
62904
62905 template <typename T>
62906 ExpControlBatch& VregMax(T &value)
62907 {
62908 set_batch_val_for_each<T>(Properties::VregMax, value.begin(), value.end());
62909 return *this;
62910 }
62911
62912 template <typename T>
62913 ExpControlBatch& VregMax(typename T::iterator it_begin, typename T::iterator it_end)
62914 {
62915 set_batch_val_for_each<T>(Properties::VregMax, it_begin, it_end);
62916 return *this;
62917 }
62918
62926 {
62927 return BatchFloat64ArrayProxy(*this, Properties::QmaxLead);
62928 }
62929
62930 ExpControlBatch& QmaxLead(double value)
62931 {
62932 set_batch_val<double>(Properties::QmaxLead, value);
62933 return *this;
62934 }
62935
62936 template <typename T>
62937 ExpControlBatch& QmaxLead(T &value)
62938 {
62939 set_batch_val_for_each<T>(Properties::QmaxLead, value.begin(), value.end());
62940 return *this;
62941 }
62942
62943 template <typename T>
62944 ExpControlBatch& QmaxLead(typename T::iterator it_begin, typename T::iterator it_end)
62945 {
62946 set_batch_val_for_each<T>(Properties::QmaxLead, it_begin, it_end);
62947 return *this;
62948 }
62949
62957 {
62958 return BatchFloat64ArrayProxy(*this, Properties::QmaxLag);
62959 }
62960
62961 ExpControlBatch& QmaxLag(double value)
62962 {
62963 set_batch_val<double>(Properties::QmaxLag, value);
62964 return *this;
62965 }
62966
62967 template <typename T>
62968 ExpControlBatch& QmaxLag(T &value)
62969 {
62970 set_batch_val_for_each<T>(Properties::QmaxLag, value.begin(), value.end());
62971 return *this;
62972 }
62973
62974 template <typename T>
62975 ExpControlBatch& QmaxLag(typename T::iterator it_begin, typename T::iterator it_end)
62976 {
62977 set_batch_val_for_each<T>(Properties::QmaxLag, it_begin, it_end);
62978 return *this;
62979 }
62980
62985 bools EventLog()
62986 {
62987 return get_batch_val<bools>(Properties::EventLog);
62988 }
62989
62990 ExpControlBatch& EventLog(bool value)
62991 {
62992 set_batch_val(Properties::EventLog, int32_t(value));
62993 return *this;
62994 }
62995
62996 ExpControlBatch& EventLog(bools &value)
62997 {
62998 set_batch_val_for_each<std::vector<int32_t>>(Properties::EventLog, value.begin(), value.end());
62999 return *this;
63000 }
63001
63009 {
63010 return BatchFloat64ArrayProxy(*this, Properties::DeltaQ_factor);
63011 }
63012
63013 ExpControlBatch& DeltaQ_factor(double value)
63014 {
63015 set_batch_val<double>(Properties::DeltaQ_factor, value);
63016 return *this;
63017 }
63018
63019 template <typename T>
63021 {
63022 set_batch_val_for_each<T>(Properties::DeltaQ_factor, value.begin(), value.end());
63023 return *this;
63024 }
63025
63026 template <typename T>
63027 ExpControlBatch& DeltaQ_factor(typename T::iterator it_begin, typename T::iterator it_end)
63028 {
63029 set_batch_val_for_each<T>(Properties::DeltaQ_factor, it_begin, it_end);
63030 return *this;
63031 }
63032
63039 bools PreferQ()
63040 {
63041 return get_batch_val<bools>(Properties::PreferQ);
63042 }
63043
63044 ExpControlBatch& PreferQ(bool value)
63045 {
63046 set_batch_val(Properties::PreferQ, int32_t(value));
63047 return *this;
63048 }
63049
63050 ExpControlBatch& PreferQ(bools &value)
63051 {
63052 set_batch_val_for_each<std::vector<int32_t>>(Properties::PreferQ, value.begin(), value.end());
63053 return *this;
63054 }
63055
63063 {
63064 return BatchFloat64ArrayProxy(*this, Properties::Tresponse);
63065 }
63066
63067 ExpControlBatch& Tresponse(double value)
63068 {
63069 set_batch_val<double>(Properties::Tresponse, value);
63070 return *this;
63071 }
63072
63073 template <typename T>
63074 ExpControlBatch& Tresponse(T &value)
63075 {
63076 set_batch_val_for_each<T>(Properties::Tresponse, value.begin(), value.end());
63077 return *this;
63078 }
63079
63080 template <typename T>
63081 ExpControlBatch& Tresponse(typename T::iterator it_begin, typename T::iterator it_end)
63082 {
63083 set_batch_val_for_each<T>(Properties::Tresponse, it_begin, it_end);
63084 return *this;
63085 }
63086
63093 std::vector<strings> DERList()
63094 {
63095 return get_batch_valarray<strings>(Properties::DERList);
63096 }
63097
63098 ExpControlBatch& DERList(strings &value)
63099 {
63100 set_batch_val(Properties::DERList, value);
63101 return *this;
63102 }
63103
63109 {
63110 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
63111 }
63112
63113 ExpControlBatch& basefreq(double value)
63114 {
63115 set_batch_val<double>(Properties::basefreq, value);
63116 return *this;
63117 }
63118
63119 template <typename T>
63120 ExpControlBatch& basefreq(T &value)
63121 {
63122 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
63123 return *this;
63124 }
63125
63126 template <typename T>
63127 ExpControlBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
63128 {
63129 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
63130 return *this;
63131 }
63132
63137 bools enabled()
63138 {
63139 return get_batch_val<bools>(Properties::enabled);
63140 }
63141
63142 ExpControlBatch& enabled(bool value)
63143 {
63144 set_batch_val(Properties::enabled, int32_t(value));
63145 return *this;
63146 }
63147
63148 ExpControlBatch& enabled(bools &value)
63149 {
63150 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
63151 return *this;
63152 }
63153
63160 ExpControlBatch& like(const string &value)
63161 {
63162 set_batch_val(Properties::like, value.c_str());
63163 return *this;
63164 }
63165
63172 ExpControlBatch& like(const char *value)
63173 {
63174 set_batch_val(Properties::like, value);
63175 return *this;
63176 }
63177};
63178
63179
63181{
63182public:
63184 typedef GICLine BatchElementClass;
63185
63190 DSSBatch(util, GICLine::dss_cls_idx)
63191 {
63192 }
63193
63197 GICLineBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
63198 DSSBatch(util, GICLine::dss_cls_idx, prop_idx, prop_value)
63199 {
63200 }
63201
63205 GICLineBatch(APIUtil *util, const char* regexp):
63206 DSSBatch(util, GICLine::dss_cls_idx, regexp)
63207 {
63208 }
63209
63210
63211 GICLineBatch& begin_edit()
63212 {
63213 Batch_BeginEdit(pointer, count[0]);
63214 return *this;
63215 }
63216
63217 GICLineBatch& end_edit(int32_t num_edits=1)
63218 {
63219 Batch_EndEdit(pointer, count[0], num_edits);
63220 return *this;
63221 }
63222
63223
63230 strings bus1()
63231 {
63232 return get_batch_val<strings>(Properties::bus1);
63233 }
63234
63235 GICLineBatch& bus1(const string &value)
63236 {
63237 set_batch_val(Properties::bus1, value.c_str());
63238 return *this;
63239 }
63240
63241 GICLineBatch& bus1(strings &value)
63242 {
63243 set_batch_val_for_each<strings>(Properties::bus1, value.begin(), value.end());
63244 return *this;
63245 }
63246
63255 strings bus2()
63256 {
63257 return get_batch_val<strings>(Properties::bus2);
63258 }
63259
63260 GICLineBatch& bus2(const string &value)
63261 {
63262 set_batch_val(Properties::bus2, value.c_str());
63263 return *this;
63264 }
63265
63266 GICLineBatch& bus2(strings &value)
63267 {
63268 set_batch_val_for_each<strings>(Properties::bus2, value.begin(), value.end());
63269 return *this;
63270 }
63271
63285 {
63286 return BatchFloat64ArrayProxy(*this, Properties::Volts);
63287 }
63288
63289 GICLineBatch& Volts(double value)
63290 {
63291 set_batch_val<double>(Properties::Volts, value);
63292 return *this;
63293 }
63294
63295 template <typename T>
63296 GICLineBatch& Volts(T &value)
63297 {
63298 set_batch_val_for_each<T>(Properties::Volts, value.begin(), value.end());
63299 return *this;
63300 }
63301
63302 template <typename T>
63303 GICLineBatch& Volts(typename T::iterator it_begin, typename T::iterator it_end)
63304 {
63305 set_batch_val_for_each<T>(Properties::Volts, it_begin, it_end);
63306 return *this;
63307 }
63308
63314 {
63315 return BatchFloat64ArrayProxy(*this, Properties::Angle);
63316 }
63317
63318 GICLineBatch& Angle(double value)
63319 {
63320 set_batch_val<double>(Properties::Angle, value);
63321 return *this;
63322 }
63323
63324 template <typename T>
63325 GICLineBatch& Angle(T &value)
63326 {
63327 set_batch_val_for_each<T>(Properties::Angle, value.begin(), value.end());
63328 return *this;
63329 }
63330
63331 template <typename T>
63332 GICLineBatch& Angle(typename T::iterator it_begin, typename T::iterator it_end)
63333 {
63334 set_batch_val_for_each<T>(Properties::Angle, it_begin, it_end);
63335 return *this;
63336 }
63337
63343 {
63344 return BatchFloat64ArrayProxy(*this, Properties::frequency);
63345 }
63346
63347 GICLineBatch& frequency(double value)
63348 {
63349 set_batch_val<double>(Properties::frequency, value);
63350 return *this;
63351 }
63352
63353 template <typename T>
63354 GICLineBatch& frequency(T &value)
63355 {
63356 set_batch_val_for_each<T>(Properties::frequency, value.begin(), value.end());
63357 return *this;
63358 }
63359
63360 template <typename T>
63361 GICLineBatch& frequency(typename T::iterator it_begin, typename T::iterator it_end)
63362 {
63363 set_batch_val_for_each<T>(Properties::frequency, it_begin, it_end);
63364 return *this;
63365 }
63366
63372 {
63373 return BatchInt32ArrayProxy(*this, Properties::phases);
63374 }
63375
63376 GICLineBatch& phases(int32_t value)
63377 {
63378 set_batch_val(Properties::phases, value);
63379 return *this;
63380 }
63381
63382 template <typename T>
63383 GICLineBatch& phases(T &value)
63384 {
63385 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
63386 return *this;
63387 }
63388
63389 template <typename T>
63390 GICLineBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
63391 {
63392 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
63393 return *this;
63394 }
63395
63401 {
63402 return BatchFloat64ArrayProxy(*this, Properties::R);
63403 }
63404
63405 GICLineBatch& R(double value)
63406 {
63407 set_batch_val<double>(Properties::R, value);
63408 return *this;
63409 }
63410
63411 template <typename T>
63412 GICLineBatch& R(T &value)
63413 {
63414 set_batch_val_for_each<T>(Properties::R, value.begin(), value.end());
63415 return *this;
63416 }
63417
63418 template <typename T>
63419 GICLineBatch& R(typename T::iterator it_begin, typename T::iterator it_end)
63420 {
63421 set_batch_val_for_each<T>(Properties::R, it_begin, it_end);
63422 return *this;
63423 }
63424
63430 {
63431 return BatchFloat64ArrayProxy(*this, Properties::X);
63432 }
63433
63434 GICLineBatch& X(double value)
63435 {
63436 set_batch_val<double>(Properties::X, value);
63437 return *this;
63438 }
63439
63440 template <typename T>
63441 GICLineBatch& X(T &value)
63442 {
63443 set_batch_val_for_each<T>(Properties::X, value.begin(), value.end());
63444 return *this;
63445 }
63446
63447 template <typename T>
63448 GICLineBatch& X(typename T::iterator it_begin, typename T::iterator it_end)
63449 {
63450 set_batch_val_for_each<T>(Properties::X, it_begin, it_end);
63451 return *this;
63452 }
63453
63459 {
63460 return BatchFloat64ArrayProxy(*this, Properties::C);
63461 }
63462
63463 GICLineBatch& C(double value)
63464 {
63465 set_batch_val<double>(Properties::C, value);
63466 return *this;
63467 }
63468
63469 template <typename T>
63470 GICLineBatch& C(T &value)
63471 {
63472 set_batch_val_for_each<T>(Properties::C, value.begin(), value.end());
63473 return *this;
63474 }
63475
63476 template <typename T>
63477 GICLineBatch& C(typename T::iterator it_begin, typename T::iterator it_end)
63478 {
63479 set_batch_val_for_each<T>(Properties::C, it_begin, it_end);
63480 return *this;
63481 }
63482
63488 {
63489 return BatchFloat64ArrayProxy(*this, Properties::EN);
63490 }
63491
63492 GICLineBatch& EN(double value)
63493 {
63494 set_batch_val<double>(Properties::EN, value);
63495 return *this;
63496 }
63497
63498 template <typename T>
63499 GICLineBatch& EN(T &value)
63500 {
63501 set_batch_val_for_each<T>(Properties::EN, value.begin(), value.end());
63502 return *this;
63503 }
63504
63505 template <typename T>
63506 GICLineBatch& EN(typename T::iterator it_begin, typename T::iterator it_end)
63507 {
63508 set_batch_val_for_each<T>(Properties::EN, it_begin, it_end);
63509 return *this;
63510 }
63511
63517 {
63518 return BatchFloat64ArrayProxy(*this, Properties::EE);
63519 }
63520
63521 GICLineBatch& EE(double value)
63522 {
63523 set_batch_val<double>(Properties::EE, value);
63524 return *this;
63525 }
63526
63527 template <typename T>
63528 GICLineBatch& EE(T &value)
63529 {
63530 set_batch_val_for_each<T>(Properties::EE, value.begin(), value.end());
63531 return *this;
63532 }
63533
63534 template <typename T>
63535 GICLineBatch& EE(typename T::iterator it_begin, typename T::iterator it_end)
63536 {
63537 set_batch_val_for_each<T>(Properties::EE, it_begin, it_end);
63538 return *this;
63539 }
63540
63546 {
63547 return BatchFloat64ArrayProxy(*this, Properties::Lat1);
63548 }
63549
63550 GICLineBatch& Lat1(double value)
63551 {
63552 set_batch_val<double>(Properties::Lat1, value);
63553 return *this;
63554 }
63555
63556 template <typename T>
63557 GICLineBatch& Lat1(T &value)
63558 {
63559 set_batch_val_for_each<T>(Properties::Lat1, value.begin(), value.end());
63560 return *this;
63561 }
63562
63563 template <typename T>
63564 GICLineBatch& Lat1(typename T::iterator it_begin, typename T::iterator it_end)
63565 {
63566 set_batch_val_for_each<T>(Properties::Lat1, it_begin, it_end);
63567 return *this;
63568 }
63569
63575 {
63576 return BatchFloat64ArrayProxy(*this, Properties::Lon1);
63577 }
63578
63579 GICLineBatch& Lon1(double value)
63580 {
63581 set_batch_val<double>(Properties::Lon1, value);
63582 return *this;
63583 }
63584
63585 template <typename T>
63586 GICLineBatch& Lon1(T &value)
63587 {
63588 set_batch_val_for_each<T>(Properties::Lon1, value.begin(), value.end());
63589 return *this;
63590 }
63591
63592 template <typename T>
63593 GICLineBatch& Lon1(typename T::iterator it_begin, typename T::iterator it_end)
63594 {
63595 set_batch_val_for_each<T>(Properties::Lon1, it_begin, it_end);
63596 return *this;
63597 }
63598
63604 {
63605 return BatchFloat64ArrayProxy(*this, Properties::Lat2);
63606 }
63607
63608 GICLineBatch& Lat2(double value)
63609 {
63610 set_batch_val<double>(Properties::Lat2, value);
63611 return *this;
63612 }
63613
63614 template <typename T>
63615 GICLineBatch& Lat2(T &value)
63616 {
63617 set_batch_val_for_each<T>(Properties::Lat2, value.begin(), value.end());
63618 return *this;
63619 }
63620
63621 template <typename T>
63622 GICLineBatch& Lat2(typename T::iterator it_begin, typename T::iterator it_end)
63623 {
63624 set_batch_val_for_each<T>(Properties::Lat2, it_begin, it_end);
63625 return *this;
63626 }
63627
63633 {
63634 return BatchFloat64ArrayProxy(*this, Properties::Lon2);
63635 }
63636
63637 GICLineBatch& Lon2(double value)
63638 {
63639 set_batch_val<double>(Properties::Lon2, value);
63640 return *this;
63641 }
63642
63643 template <typename T>
63644 GICLineBatch& Lon2(T &value)
63645 {
63646 set_batch_val_for_each<T>(Properties::Lon2, value.begin(), value.end());
63647 return *this;
63648 }
63649
63650 template <typename T>
63651 GICLineBatch& Lon2(typename T::iterator it_begin, typename T::iterator it_end)
63652 {
63653 set_batch_val_for_each<T>(Properties::Lon2, it_begin, it_end);
63654 return *this;
63655 }
63656
63661 strings spectrum()
63662 {
63663 return get_batch_val<strings>(Properties::spectrum);
63664 }
63665
63667 {
63668 set_batch_val(Properties::spectrum, value);
63669 return *this;
63670 }
63671
63672 GICLineBatch& spectrum(const string &value)
63673 {
63674 set_batch_val(Properties::spectrum, value);
63675 return *this;
63676 }
63677
63682 std::vector<dss::obj::Spectrum> spectrum_obj()
63683 {
63684 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
63685 }
63686
63688 {
63689 set_batch_val(Properties::spectrum, value);
63690 return *this;
63691 }
63692
63698 {
63699 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
63700 }
63701
63702 GICLineBatch& basefreq(double value)
63703 {
63704 set_batch_val<double>(Properties::basefreq, value);
63705 return *this;
63706 }
63707
63708 template <typename T>
63709 GICLineBatch& basefreq(T &value)
63710 {
63711 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
63712 return *this;
63713 }
63714
63715 template <typename T>
63716 GICLineBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
63717 {
63718 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
63719 return *this;
63720 }
63721
63726 bools enabled()
63727 {
63728 return get_batch_val<bools>(Properties::enabled);
63729 }
63730
63731 GICLineBatch& enabled(bool value)
63732 {
63733 set_batch_val(Properties::enabled, int32_t(value));
63734 return *this;
63735 }
63736
63737 GICLineBatch& enabled(bools &value)
63738 {
63739 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
63740 return *this;
63741 }
63742
63749 GICLineBatch& like(const string &value)
63750 {
63751 set_batch_val(Properties::like, value.c_str());
63752 return *this;
63753 }
63754
63761 GICLineBatch& like(const char *value)
63762 {
63763 set_batch_val(Properties::like, value);
63764 return *this;
63765 }
63766};
63767
63768
63770{
63771public:
63774
63775 // Shortcuts to class-specific enumerations
63777
63778
63783 DSSBatch(util, GICTransformer::dss_cls_idx)
63784 {
63785 }
63786
63790 GICTransformerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
63791 DSSBatch(util, GICTransformer::dss_cls_idx, prop_idx, prop_value)
63792 {
63793 }
63794
63798 GICTransformerBatch(APIUtil *util, const char* regexp):
63799 DSSBatch(util, GICTransformer::dss_cls_idx, regexp)
63800 {
63801 }
63802
63803
63804 GICTransformerBatch& begin_edit()
63805 {
63806 Batch_BeginEdit(pointer, count[0]);
63807 return *this;
63808 }
63809
63810 GICTransformerBatch& end_edit(int32_t num_edits=1)
63811 {
63812 Batch_EndEdit(pointer, count[0], num_edits);
63813 return *this;
63814 }
63815
63816
63823 strings BusH()
63824 {
63825 return get_batch_val<strings>(Properties::BusH);
63826 }
63827
63828 GICTransformerBatch& BusH(const string &value)
63829 {
63830 set_batch_val(Properties::BusH, value.c_str());
63831 return *this;
63832 }
63833
63834 GICTransformerBatch& BusH(strings &value)
63835 {
63836 set_batch_val_for_each<strings>(Properties::BusH, value.begin(), value.end());
63837 return *this;
63838 }
63839
63844 strings BusNH()
63845 {
63846 return get_batch_val<strings>(Properties::BusNH);
63847 }
63848
63849 GICTransformerBatch& BusNH(const string &value)
63850 {
63851 set_batch_val(Properties::BusNH, value.c_str());
63852 return *this;
63853 }
63854
63855 GICTransformerBatch& BusNH(strings &value)
63856 {
63857 set_batch_val_for_each<strings>(Properties::BusNH, value.begin(), value.end());
63858 return *this;
63859 }
63860
63865 strings BusX()
63866 {
63867 return get_batch_val<strings>(Properties::BusX);
63868 }
63869
63870 GICTransformerBatch& BusX(const string &value)
63871 {
63872 set_batch_val(Properties::BusX, value.c_str());
63873 return *this;
63874 }
63875
63876 GICTransformerBatch& BusX(strings &value)
63877 {
63878 set_batch_val_for_each<strings>(Properties::BusX, value.begin(), value.end());
63879 return *this;
63880 }
63881
63886 strings BusNX()
63887 {
63888 return get_batch_val<strings>(Properties::BusNX);
63889 }
63890
63891 GICTransformerBatch& BusNX(const string &value)
63892 {
63893 set_batch_val(Properties::BusNX, value.c_str());
63894 return *this;
63895 }
63896
63897 GICTransformerBatch& BusNX(strings &value)
63898 {
63899 set_batch_val_for_each<strings>(Properties::BusNX, value.begin(), value.end());
63900 return *this;
63901 }
63902
63908 {
63909 return BatchInt32ArrayProxy(*this, Properties::phases);
63910 }
63911
63912 GICTransformerBatch& phases(int32_t value)
63913 {
63914 set_batch_val(Properties::phases, value);
63915 return *this;
63916 }
63917
63918 template <typename T>
63919 GICTransformerBatch& phases(T &value)
63920 {
63921 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
63922 return *this;
63923 }
63924
63925 template <typename T>
63926 GICTransformerBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
63927 {
63928 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
63929 return *this;
63930 }
63931
63937 {
63938 return BatchInt32ArrayProxy(*this, Properties::Type);
63939 }
63940
63941 GICTransformerBatch& Type(string &value)
63942 {
63943 set_batch_val(Properties::Type, value);
63944 return *this;
63945 }
63946
63947 GICTransformerBatch& Type(int32_t value)
63948 {
63949 set_batch_val(Properties::Type, value);
63950 return *this;
63951 }
63952
63954 {
63955 set_batch_val(Properties::Type, int32_t(value));
63956 return *this;
63957 }
63958
63959 GICTransformerBatch& Type(strings &value)
63960 {
63961 set_batch_val_for_each<strings>(Properties::Type, value.begin(), value.end());
63962 return *this;
63963 }
63964
63965 GICTransformerBatch& Type(std::vector<int32_t> &value)
63966 {
63967 set_batch_val_for_each<std::vector<int32_t>>(Properties::Type, value.begin(), value.end());
63968 return *this;
63969 }
63970
63971 GICTransformerBatch& Type(std::vector<GICTransformer::GICTransformerType> &value)
63972 {
63973 set_batch_val_for_each<std::vector<GICTransformer::GICTransformerType>>(Properties::Type, value.begin(), value.end());
63974 return *this;
63975 }
63976
63981 strings Type_str()
63982 {
63983 return get_batch_val<strings>(Properties::Type);
63984 }
63985
63986 GICTransformerBatch& Type_str(string &value)
63987 {
63988 Type(value);
63989 return *this;
63990 }
63991
63992 GICTransformerBatch& Type_str(strings &value)
63993 {
63994 Type(value);
63995 return *this;
63996 }
63997
64003 {
64004 return BatchFloat64ArrayProxy(*this, Properties::R1);
64005 }
64006
64007 GICTransformerBatch& R1(double value)
64008 {
64009 set_batch_val<double>(Properties::R1, value);
64010 return *this;
64011 }
64012
64013 template <typename T>
64014 GICTransformerBatch& R1(T &value)
64015 {
64016 set_batch_val_for_each<T>(Properties::R1, value.begin(), value.end());
64017 return *this;
64018 }
64019
64020 template <typename T>
64021 GICTransformerBatch& R1(typename T::iterator it_begin, typename T::iterator it_end)
64022 {
64023 set_batch_val_for_each<T>(Properties::R1, it_begin, it_end);
64024 return *this;
64025 }
64026
64032 {
64033 return BatchFloat64ArrayProxy(*this, Properties::R2);
64034 }
64035
64036 GICTransformerBatch& R2(double value)
64037 {
64038 set_batch_val<double>(Properties::R2, value);
64039 return *this;
64040 }
64041
64042 template <typename T>
64043 GICTransformerBatch& R2(T &value)
64044 {
64045 set_batch_val_for_each<T>(Properties::R2, value.begin(), value.end());
64046 return *this;
64047 }
64048
64049 template <typename T>
64050 GICTransformerBatch& R2(typename T::iterator it_begin, typename T::iterator it_end)
64051 {
64052 set_batch_val_for_each<T>(Properties::R2, it_begin, it_end);
64053 return *this;
64054 }
64055
64061 {
64062 return BatchFloat64ArrayProxy(*this, Properties::KVLL1);
64063 }
64064
64065 GICTransformerBatch& KVLL1(double value)
64066 {
64067 set_batch_val<double>(Properties::KVLL1, value);
64068 return *this;
64069 }
64070
64071 template <typename T>
64072 GICTransformerBatch& KVLL1(T &value)
64073 {
64074 set_batch_val_for_each<T>(Properties::KVLL1, value.begin(), value.end());
64075 return *this;
64076 }
64077
64078 template <typename T>
64079 GICTransformerBatch& KVLL1(typename T::iterator it_begin, typename T::iterator it_end)
64080 {
64081 set_batch_val_for_each<T>(Properties::KVLL1, it_begin, it_end);
64082 return *this;
64083 }
64084
64090 {
64091 return BatchFloat64ArrayProxy(*this, Properties::KVLL2);
64092 }
64093
64094 GICTransformerBatch& KVLL2(double value)
64095 {
64096 set_batch_val<double>(Properties::KVLL2, value);
64097 return *this;
64098 }
64099
64100 template <typename T>
64101 GICTransformerBatch& KVLL2(T &value)
64102 {
64103 set_batch_val_for_each<T>(Properties::KVLL2, value.begin(), value.end());
64104 return *this;
64105 }
64106
64107 template <typename T>
64108 GICTransformerBatch& KVLL2(typename T::iterator it_begin, typename T::iterator it_end)
64109 {
64110 set_batch_val_for_each<T>(Properties::KVLL2, it_begin, it_end);
64111 return *this;
64112 }
64113
64119 {
64120 return BatchFloat64ArrayProxy(*this, Properties::MVA);
64121 }
64122
64123 GICTransformerBatch& MVA(double value)
64124 {
64125 set_batch_val<double>(Properties::MVA, value);
64126 return *this;
64127 }
64128
64129 template <typename T>
64130 GICTransformerBatch& MVA(T &value)
64131 {
64132 set_batch_val_for_each<T>(Properties::MVA, value.begin(), value.end());
64133 return *this;
64134 }
64135
64136 template <typename T>
64137 GICTransformerBatch& MVA(typename T::iterator it_begin, typename T::iterator it_end)
64138 {
64139 set_batch_val_for_each<T>(Properties::MVA, it_begin, it_end);
64140 return *this;
64141 }
64142
64147 strings VarCurve()
64148 {
64149 return get_batch_val<strings>(Properties::VarCurve);
64150 }
64151
64153 {
64154 set_batch_val(Properties::VarCurve, value);
64155 return *this;
64156 }
64157
64158 GICTransformerBatch& VarCurve(const string &value)
64159 {
64160 set_batch_val(Properties::VarCurve, value);
64161 return *this;
64162 }
64163
64168 std::vector<dss::obj::XYcurve> VarCurve_obj()
64169 {
64170 return get_batch_val<std::vector<dss::obj::XYcurve>>(Properties::VarCurve);
64171 }
64172
64174 {
64175 set_batch_val(Properties::VarCurve, value);
64176 return *this;
64177 }
64178
64186 {
64187 return BatchFloat64ArrayProxy(*this, Properties::pctR1);
64188 }
64189
64190 GICTransformerBatch& pctR1(double value)
64191 {
64192 set_batch_val<double>(Properties::pctR1, value);
64193 return *this;
64194 }
64195
64196 template <typename T>
64197 GICTransformerBatch& pctR1(T &value)
64198 {
64199 set_batch_val_for_each<T>(Properties::pctR1, value.begin(), value.end());
64200 return *this;
64201 }
64202
64203 template <typename T>
64204 GICTransformerBatch& pctR1(typename T::iterator it_begin, typename T::iterator it_end)
64205 {
64206 set_batch_val_for_each<T>(Properties::pctR1, it_begin, it_end);
64207 return *this;
64208 }
64209
64217 {
64218 return BatchFloat64ArrayProxy(*this, Properties::pctR2);
64219 }
64220
64221 GICTransformerBatch& pctR2(double value)
64222 {
64223 set_batch_val<double>(Properties::pctR2, value);
64224 return *this;
64225 }
64226
64227 template <typename T>
64228 GICTransformerBatch& pctR2(T &value)
64229 {
64230 set_batch_val_for_each<T>(Properties::pctR2, value.begin(), value.end());
64231 return *this;
64232 }
64233
64234 template <typename T>
64235 GICTransformerBatch& pctR2(typename T::iterator it_begin, typename T::iterator it_end)
64236 {
64237 set_batch_val_for_each<T>(Properties::pctR2, it_begin, it_end);
64238 return *this;
64239 }
64240
64250 {
64251 return BatchFloat64ArrayProxy(*this, Properties::K);
64252 }
64253
64254 GICTransformerBatch& K(double value)
64255 {
64256 set_batch_val<double>(Properties::K, value);
64257 return *this;
64258 }
64259
64260 template <typename T>
64261 GICTransformerBatch& K(T &value)
64262 {
64263 set_batch_val_for_each<T>(Properties::K, value.begin(), value.end());
64264 return *this;
64265 }
64266
64267 template <typename T>
64268 GICTransformerBatch& K(typename T::iterator it_begin, typename T::iterator it_end)
64269 {
64270 set_batch_val_for_each<T>(Properties::K, it_begin, it_end);
64271 return *this;
64272 }
64273
64279 {
64280 return BatchFloat64ArrayProxy(*this, Properties::normamps);
64281 }
64282
64283 GICTransformerBatch& normamps(double value)
64284 {
64285 set_batch_val<double>(Properties::normamps, value);
64286 return *this;
64287 }
64288
64289 template <typename T>
64290 GICTransformerBatch& normamps(T &value)
64291 {
64292 set_batch_val_for_each<T>(Properties::normamps, value.begin(), value.end());
64293 return *this;
64294 }
64295
64296 template <typename T>
64297 GICTransformerBatch& normamps(typename T::iterator it_begin, typename T::iterator it_end)
64298 {
64299 set_batch_val_for_each<T>(Properties::normamps, it_begin, it_end);
64300 return *this;
64301 }
64302
64308 {
64309 return BatchFloat64ArrayProxy(*this, Properties::emergamps);
64310 }
64311
64312 GICTransformerBatch& emergamps(double value)
64313 {
64314 set_batch_val<double>(Properties::emergamps, value);
64315 return *this;
64316 }
64317
64318 template <typename T>
64320 {
64321 set_batch_val_for_each<T>(Properties::emergamps, value.begin(), value.end());
64322 return *this;
64323 }
64324
64325 template <typename T>
64326 GICTransformerBatch& emergamps(typename T::iterator it_begin, typename T::iterator it_end)
64327 {
64328 set_batch_val_for_each<T>(Properties::emergamps, it_begin, it_end);
64329 return *this;
64330 }
64331
64337 {
64338 return BatchFloat64ArrayProxy(*this, Properties::faultrate);
64339 }
64340
64341 GICTransformerBatch& faultrate(double value)
64342 {
64343 set_batch_val<double>(Properties::faultrate, value);
64344 return *this;
64345 }
64346
64347 template <typename T>
64349 {
64350 set_batch_val_for_each<T>(Properties::faultrate, value.begin(), value.end());
64351 return *this;
64352 }
64353
64354 template <typename T>
64355 GICTransformerBatch& faultrate(typename T::iterator it_begin, typename T::iterator it_end)
64356 {
64357 set_batch_val_for_each<T>(Properties::faultrate, it_begin, it_end);
64358 return *this;
64359 }
64360
64366 {
64367 return BatchFloat64ArrayProxy(*this, Properties::pctperm);
64368 }
64369
64370 GICTransformerBatch& pctperm(double value)
64371 {
64372 set_batch_val<double>(Properties::pctperm, value);
64373 return *this;
64374 }
64375
64376 template <typename T>
64377 GICTransformerBatch& pctperm(T &value)
64378 {
64379 set_batch_val_for_each<T>(Properties::pctperm, value.begin(), value.end());
64380 return *this;
64381 }
64382
64383 template <typename T>
64384 GICTransformerBatch& pctperm(typename T::iterator it_begin, typename T::iterator it_end)
64385 {
64386 set_batch_val_for_each<T>(Properties::pctperm, it_begin, it_end);
64387 return *this;
64388 }
64389
64395 {
64396 return BatchFloat64ArrayProxy(*this, Properties::repair);
64397 }
64398
64399 GICTransformerBatch& repair(double value)
64400 {
64401 set_batch_val<double>(Properties::repair, value);
64402 return *this;
64403 }
64404
64405 template <typename T>
64406 GICTransformerBatch& repair(T &value)
64407 {
64408 set_batch_val_for_each<T>(Properties::repair, value.begin(), value.end());
64409 return *this;
64410 }
64411
64412 template <typename T>
64413 GICTransformerBatch& repair(typename T::iterator it_begin, typename T::iterator it_end)
64414 {
64415 set_batch_val_for_each<T>(Properties::repair, it_begin, it_end);
64416 return *this;
64417 }
64418
64424 {
64425 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
64426 }
64427
64428 GICTransformerBatch& basefreq(double value)
64429 {
64430 set_batch_val<double>(Properties::basefreq, value);
64431 return *this;
64432 }
64433
64434 template <typename T>
64435 GICTransformerBatch& basefreq(T &value)
64436 {
64437 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
64438 return *this;
64439 }
64440
64441 template <typename T>
64442 GICTransformerBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
64443 {
64444 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
64445 return *this;
64446 }
64447
64452 bools enabled()
64453 {
64454 return get_batch_val<bools>(Properties::enabled);
64455 }
64456
64457 GICTransformerBatch& enabled(bool value)
64458 {
64459 set_batch_val(Properties::enabled, int32_t(value));
64460 return *this;
64461 }
64462
64463 GICTransformerBatch& enabled(bools &value)
64464 {
64465 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
64466 return *this;
64467 }
64468
64475 GICTransformerBatch& like(const string &value)
64476 {
64477 set_batch_val(Properties::like, value.c_str());
64478 return *this;
64479 }
64480
64487 GICTransformerBatch& like(const char *value)
64488 {
64489 set_batch_val(Properties::like, value);
64490 return *this;
64491 }
64492};
64493
64494
64496{
64497public:
64500
64501 // Shortcuts to class-specific enumerations
64503
64504
64509 DSSBatch(util, VSConverter::dss_cls_idx)
64510 {
64511 }
64512
64516 VSConverterBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
64517 DSSBatch(util, VSConverter::dss_cls_idx, prop_idx, prop_value)
64518 {
64519 }
64520
64524 VSConverterBatch(APIUtil *util, const char* regexp):
64525 DSSBatch(util, VSConverter::dss_cls_idx, regexp)
64526 {
64527 }
64528
64529
64530 VSConverterBatch& begin_edit()
64531 {
64532 Batch_BeginEdit(pointer, count[0]);
64533 return *this;
64534 }
64535
64536 VSConverterBatch& end_edit(int32_t num_edits=1)
64537 {
64538 Batch_EndEdit(pointer, count[0], num_edits);
64539 return *this;
64540 }
64541
64542
64548 {
64549 return BatchInt32ArrayProxy(*this, Properties::phases);
64550 }
64551
64552 VSConverterBatch& phases(int32_t value)
64553 {
64554 set_batch_val(Properties::phases, value);
64555 return *this;
64556 }
64557
64558 template <typename T>
64559 VSConverterBatch& phases(T &value)
64560 {
64561 set_batch_val_for_each<T>(Properties::phases, value.begin(), value.end());
64562 return *this;
64563 }
64564
64565 template <typename T>
64566 VSConverterBatch& phases(typename T::iterator it_begin, typename T::iterator it_end)
64567 {
64568 set_batch_val_for_each<T>(Properties::phases, it_begin, it_end);
64569 return *this;
64570 }
64571
64576 strings Bus1()
64577 {
64578 return get_batch_val<strings>(Properties::Bus1);
64579 }
64580
64581 VSConverterBatch& Bus1(const string &value)
64582 {
64583 set_batch_val(Properties::Bus1, value.c_str());
64584 return *this;
64585 }
64586
64587 VSConverterBatch& Bus1(strings &value)
64588 {
64589 set_batch_val_for_each<strings>(Properties::Bus1, value.begin(), value.end());
64590 return *this;
64591 }
64592
64598 {
64599 return BatchFloat64ArrayProxy(*this, Properties::kVac);
64600 }
64601
64602 VSConverterBatch& kVac(double value)
64603 {
64604 set_batch_val<double>(Properties::kVac, value);
64605 return *this;
64606 }
64607
64608 template <typename T>
64609 VSConverterBatch& kVac(T &value)
64610 {
64611 set_batch_val_for_each<T>(Properties::kVac, value.begin(), value.end());
64612 return *this;
64613 }
64614
64615 template <typename T>
64616 VSConverterBatch& kVac(typename T::iterator it_begin, typename T::iterator it_end)
64617 {
64618 set_batch_val_for_each<T>(Properties::kVac, it_begin, it_end);
64619 return *this;
64620 }
64621
64627 {
64628 return BatchFloat64ArrayProxy(*this, Properties::kVdc);
64629 }
64630
64631 VSConverterBatch& kVdc(double value)
64632 {
64633 set_batch_val<double>(Properties::kVdc, value);
64634 return *this;
64635 }
64636
64637 template <typename T>
64638 VSConverterBatch& kVdc(T &value)
64639 {
64640 set_batch_val_for_each<T>(Properties::kVdc, value.begin(), value.end());
64641 return *this;
64642 }
64643
64644 template <typename T>
64645 VSConverterBatch& kVdc(typename T::iterator it_begin, typename T::iterator it_end)
64646 {
64647 set_batch_val_for_each<T>(Properties::kVdc, it_begin, it_end);
64648 return *this;
64649 }
64650
64656 {
64657 return BatchFloat64ArrayProxy(*this, Properties::kW);
64658 }
64659
64660 VSConverterBatch& kW(double value)
64661 {
64662 set_batch_val<double>(Properties::kW, value);
64663 return *this;
64664 }
64665
64666 template <typename T>
64667 VSConverterBatch& kW(T &value)
64668 {
64669 set_batch_val_for_each<T>(Properties::kW, value.begin(), value.end());
64670 return *this;
64671 }
64672
64673 template <typename T>
64674 VSConverterBatch& kW(typename T::iterator it_begin, typename T::iterator it_end)
64675 {
64676 set_batch_val_for_each<T>(Properties::kW, it_begin, it_end);
64677 return *this;
64678 }
64679
64685 {
64686 return BatchInt32ArrayProxy(*this, Properties::Ndc);
64687 }
64688
64689 VSConverterBatch& Ndc(int32_t value)
64690 {
64691 set_batch_val(Properties::Ndc, value);
64692 return *this;
64693 }
64694
64695 template <typename T>
64696 VSConverterBatch& Ndc(T &value)
64697 {
64698 set_batch_val_for_each<T>(Properties::Ndc, value.begin(), value.end());
64699 return *this;
64700 }
64701
64702 template <typename T>
64703 VSConverterBatch& Ndc(typename T::iterator it_begin, typename T::iterator it_end)
64704 {
64705 set_batch_val_for_each<T>(Properties::Ndc, it_begin, it_end);
64706 return *this;
64707 }
64708
64715 {
64716 return BatchFloat64ArrayProxy(*this, Properties::Rac);
64717 }
64718
64719 VSConverterBatch& Rac(double value)
64720 {
64721 set_batch_val<double>(Properties::Rac, value);
64722 return *this;
64723 }
64724
64725 template <typename T>
64726 VSConverterBatch& Rac(T &value)
64727 {
64728 set_batch_val_for_each<T>(Properties::Rac, value.begin(), value.end());
64729 return *this;
64730 }
64731
64732 template <typename T>
64733 VSConverterBatch& Rac(typename T::iterator it_begin, typename T::iterator it_end)
64734 {
64735 set_batch_val_for_each<T>(Properties::Rac, it_begin, it_end);
64736 return *this;
64737 }
64738
64745 {
64746 return BatchFloat64ArrayProxy(*this, Properties::Xac);
64747 }
64748
64749 VSConverterBatch& Xac(double value)
64750 {
64751 set_batch_val<double>(Properties::Xac, value);
64752 return *this;
64753 }
64754
64755 template <typename T>
64756 VSConverterBatch& Xac(T &value)
64757 {
64758 set_batch_val_for_each<T>(Properties::Xac, value.begin(), value.end());
64759 return *this;
64760 }
64761
64762 template <typename T>
64763 VSConverterBatch& Xac(typename T::iterator it_begin, typename T::iterator it_end)
64764 {
64765 set_batch_val_for_each<T>(Properties::Xac, it_begin, it_end);
64766 return *this;
64767 }
64768
64774 {
64775 return BatchFloat64ArrayProxy(*this, Properties::m0);
64776 }
64777
64778 VSConverterBatch& m0(double value)
64779 {
64780 set_batch_val<double>(Properties::m0, value);
64781 return *this;
64782 }
64783
64784 template <typename T>
64785 VSConverterBatch& m0(T &value)
64786 {
64787 set_batch_val_for_each<T>(Properties::m0, value.begin(), value.end());
64788 return *this;
64789 }
64790
64791 template <typename T>
64792 VSConverterBatch& m0(typename T::iterator it_begin, typename T::iterator it_end)
64793 {
64794 set_batch_val_for_each<T>(Properties::m0, it_begin, it_end);
64795 return *this;
64796 }
64797
64803 {
64804 return BatchFloat64ArrayProxy(*this, Properties::d0);
64805 }
64806
64807 VSConverterBatch& d0(double value)
64808 {
64809 set_batch_val<double>(Properties::d0, value);
64810 return *this;
64811 }
64812
64813 template <typename T>
64814 VSConverterBatch& d0(T &value)
64815 {
64816 set_batch_val_for_each<T>(Properties::d0, value.begin(), value.end());
64817 return *this;
64818 }
64819
64820 template <typename T>
64821 VSConverterBatch& d0(typename T::iterator it_begin, typename T::iterator it_end)
64822 {
64823 set_batch_val_for_each<T>(Properties::d0, it_begin, it_end);
64824 return *this;
64825 }
64826
64832 {
64833 return BatchFloat64ArrayProxy(*this, Properties::Mmin);
64834 }
64835
64836 VSConverterBatch& Mmin(double value)
64837 {
64838 set_batch_val<double>(Properties::Mmin, value);
64839 return *this;
64840 }
64841
64842 template <typename T>
64843 VSConverterBatch& Mmin(T &value)
64844 {
64845 set_batch_val_for_each<T>(Properties::Mmin, value.begin(), value.end());
64846 return *this;
64847 }
64848
64849 template <typename T>
64850 VSConverterBatch& Mmin(typename T::iterator it_begin, typename T::iterator it_end)
64851 {
64852 set_batch_val_for_each<T>(Properties::Mmin, it_begin, it_end);
64853 return *this;
64854 }
64855
64861 {
64862 return BatchFloat64ArrayProxy(*this, Properties::Mmax);
64863 }
64864
64865 VSConverterBatch& Mmax(double value)
64866 {
64867 set_batch_val<double>(Properties::Mmax, value);
64868 return *this;
64869 }
64870
64871 template <typename T>
64872 VSConverterBatch& Mmax(T &value)
64873 {
64874 set_batch_val_for_each<T>(Properties::Mmax, value.begin(), value.end());
64875 return *this;
64876 }
64877
64878 template <typename T>
64879 VSConverterBatch& Mmax(typename T::iterator it_begin, typename T::iterator it_end)
64880 {
64881 set_batch_val_for_each<T>(Properties::Mmax, it_begin, it_end);
64882 return *this;
64883 }
64884
64890 {
64891 return BatchFloat64ArrayProxy(*this, Properties::Iacmax);
64892 }
64893
64894 VSConverterBatch& Iacmax(double value)
64895 {
64896 set_batch_val<double>(Properties::Iacmax, value);
64897 return *this;
64898 }
64899
64900 template <typename T>
64901 VSConverterBatch& Iacmax(T &value)
64902 {
64903 set_batch_val_for_each<T>(Properties::Iacmax, value.begin(), value.end());
64904 return *this;
64905 }
64906
64907 template <typename T>
64908 VSConverterBatch& Iacmax(typename T::iterator it_begin, typename T::iterator it_end)
64909 {
64910 set_batch_val_for_each<T>(Properties::Iacmax, it_begin, it_end);
64911 return *this;
64912 }
64913
64919 {
64920 return BatchFloat64ArrayProxy(*this, Properties::Idcmax);
64921 }
64922
64923 VSConverterBatch& Idcmax(double value)
64924 {
64925 set_batch_val<double>(Properties::Idcmax, value);
64926 return *this;
64927 }
64928
64929 template <typename T>
64930 VSConverterBatch& Idcmax(T &value)
64931 {
64932 set_batch_val_for_each<T>(Properties::Idcmax, value.begin(), value.end());
64933 return *this;
64934 }
64935
64936 template <typename T>
64937 VSConverterBatch& Idcmax(typename T::iterator it_begin, typename T::iterator it_end)
64938 {
64939 set_batch_val_for_each<T>(Properties::Idcmax, it_begin, it_end);
64940 return *this;
64941 }
64942
64949 {
64950 return BatchFloat64ArrayProxy(*this, Properties::Vacref);
64951 }
64952
64953 VSConverterBatch& Vacref(double value)
64954 {
64955 set_batch_val<double>(Properties::Vacref, value);
64956 return *this;
64957 }
64958
64959 template <typename T>
64960 VSConverterBatch& Vacref(T &value)
64961 {
64962 set_batch_val_for_each<T>(Properties::Vacref, value.begin(), value.end());
64963 return *this;
64964 }
64965
64966 template <typename T>
64967 VSConverterBatch& Vacref(typename T::iterator it_begin, typename T::iterator it_end)
64968 {
64969 set_batch_val_for_each<T>(Properties::Vacref, it_begin, it_end);
64970 return *this;
64971 }
64972
64979 {
64980 return BatchFloat64ArrayProxy(*this, Properties::Pacref);
64981 }
64982
64983 VSConverterBatch& Pacref(double value)
64984 {
64985 set_batch_val<double>(Properties::Pacref, value);
64986 return *this;
64987 }
64988
64989 template <typename T>
64990 VSConverterBatch& Pacref(T &value)
64991 {
64992 set_batch_val_for_each<T>(Properties::Pacref, value.begin(), value.end());
64993 return *this;
64994 }
64995
64996 template <typename T>
64997 VSConverterBatch& Pacref(typename T::iterator it_begin, typename T::iterator it_end)
64998 {
64999 set_batch_val_for_each<T>(Properties::Pacref, it_begin, it_end);
65000 return *this;
65001 }
65002
65009 {
65010 return BatchFloat64ArrayProxy(*this, Properties::Qacref);
65011 }
65012
65013 VSConverterBatch& Qacref(double value)
65014 {
65015 set_batch_val<double>(Properties::Qacref, value);
65016 return *this;
65017 }
65018
65019 template <typename T>
65020 VSConverterBatch& Qacref(T &value)
65021 {
65022 set_batch_val_for_each<T>(Properties::Qacref, value.begin(), value.end());
65023 return *this;
65024 }
65025
65026 template <typename T>
65027 VSConverterBatch& Qacref(typename T::iterator it_begin, typename T::iterator it_end)
65028 {
65029 set_batch_val_for_each<T>(Properties::Qacref, it_begin, it_end);
65030 return *this;
65031 }
65032
65039 {
65040 return BatchFloat64ArrayProxy(*this, Properties::Vdcref);
65041 }
65042
65043 VSConverterBatch& Vdcref(double value)
65044 {
65045 set_batch_val<double>(Properties::Vdcref, value);
65046 return *this;
65047 }
65048
65049 template <typename T>
65050 VSConverterBatch& Vdcref(T &value)
65051 {
65052 set_batch_val_for_each<T>(Properties::Vdcref, value.begin(), value.end());
65053 return *this;
65054 }
65055
65056 template <typename T>
65057 VSConverterBatch& Vdcref(typename T::iterator it_begin, typename T::iterator it_end)
65058 {
65059 set_batch_val_for_each<T>(Properties::Vdcref, it_begin, it_end);
65060 return *this;
65061 }
65062
65068 {
65069 return BatchInt32ArrayProxy(*this, Properties::VscMode);
65070 }
65071
65072 VSConverterBatch& VscMode(string &value)
65073 {
65074 set_batch_val(Properties::VscMode, value);
65075 return *this;
65076 }
65077
65078 VSConverterBatch& VscMode(int32_t value)
65079 {
65080 set_batch_val(Properties::VscMode, value);
65081 return *this;
65082 }
65083
65085 {
65086 set_batch_val(Properties::VscMode, int32_t(value));
65087 return *this;
65088 }
65089
65090 VSConverterBatch& VscMode(strings &value)
65091 {
65092 set_batch_val_for_each<strings>(Properties::VscMode, value.begin(), value.end());
65093 return *this;
65094 }
65095
65096 VSConverterBatch& VscMode(std::vector<int32_t> &value)
65097 {
65098 set_batch_val_for_each<std::vector<int32_t>>(Properties::VscMode, value.begin(), value.end());
65099 return *this;
65100 }
65101
65102 VSConverterBatch& VscMode(std::vector<VSConverter::VSConverterControlMode> &value)
65103 {
65104 set_batch_val_for_each<std::vector<VSConverter::VSConverterControlMode>>(Properties::VscMode, value.begin(), value.end());
65105 return *this;
65106 }
65107
65112 strings VscMode_str()
65113 {
65114 return get_batch_val<strings>(Properties::VscMode);
65115 }
65116
65117 VSConverterBatch& VscMode_str(string &value)
65118 {
65119 VscMode(value);
65120 return *this;
65121 }
65122
65123 VSConverterBatch& VscMode_str(strings &value)
65124 {
65125 VscMode(value);
65126 return *this;
65127 }
65128
65133 strings spectrum()
65134 {
65135 return get_batch_val<strings>(Properties::spectrum);
65136 }
65137
65139 {
65140 set_batch_val(Properties::spectrum, value);
65141 return *this;
65142 }
65143
65144 VSConverterBatch& spectrum(const string &value)
65145 {
65146 set_batch_val(Properties::spectrum, value);
65147 return *this;
65148 }
65149
65154 std::vector<dss::obj::Spectrum> spectrum_obj()
65155 {
65156 return get_batch_val<std::vector<dss::obj::Spectrum>>(Properties::spectrum);
65157 }
65158
65160 {
65161 set_batch_val(Properties::spectrum, value);
65162 return *this;
65163 }
65164
65170 {
65171 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
65172 }
65173
65174 VSConverterBatch& basefreq(double value)
65175 {
65176 set_batch_val<double>(Properties::basefreq, value);
65177 return *this;
65178 }
65179
65180 template <typename T>
65181 VSConverterBatch& basefreq(T &value)
65182 {
65183 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
65184 return *this;
65185 }
65186
65187 template <typename T>
65188 VSConverterBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
65189 {
65190 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
65191 return *this;
65192 }
65193
65198 bools enabled()
65199 {
65200 return get_batch_val<bools>(Properties::enabled);
65201 }
65202
65203 VSConverterBatch& enabled(bool value)
65204 {
65205 set_batch_val(Properties::enabled, int32_t(value));
65206 return *this;
65207 }
65208
65209 VSConverterBatch& enabled(bools &value)
65210 {
65211 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
65212 return *this;
65213 }
65214
65221 VSConverterBatch& like(const string &value)
65222 {
65223 set_batch_val(Properties::like, value.c_str());
65224 return *this;
65225 }
65226
65233 VSConverterBatch& like(const char *value)
65234 {
65235 set_batch_val(Properties::like, value);
65236 return *this;
65237 }
65238};
65239
65240
65242{
65243public:
65245 typedef Monitor BatchElementClass;
65246
65247 // Shortcuts to class-specific enumerations
65249
65250
65255 DSSBatch(util, Monitor::dss_cls_idx)
65256 {
65257 }
65258
65262 MonitorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
65263 DSSBatch(util, Monitor::dss_cls_idx, prop_idx, prop_value)
65264 {
65265 }
65266
65270 MonitorBatch(APIUtil *util, const char* regexp):
65271 DSSBatch(util, Monitor::dss_cls_idx, regexp)
65272 {
65273 }
65274
65275
65276 MonitorBatch& begin_edit()
65277 {
65278 Batch_BeginEdit(pointer, count[0]);
65279 return *this;
65280 }
65281
65282 MonitorBatch& end_edit(int32_t num_edits=1)
65283 {
65284 Batch_EndEdit(pointer, count[0], num_edits);
65285 return *this;
65286 }
65287
65288
65293 strings element()
65294 {
65295 return get_batch_val<strings>(Properties::element);
65296 }
65297
65299 {
65300 set_batch_val(Properties::element, value);
65301 return *this;
65302 }
65303
65304 MonitorBatch& element(const string &value)
65305 {
65306 set_batch_val(Properties::element, value);
65307 return *this;
65308 }
65309
65314 std::vector<dss::obj::DSSObj> element_obj()
65315 {
65316 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::element);
65317 }
65318
65320 {
65321 set_batch_val(Properties::element, value);
65322 return *this;
65323 }
65324
65330 {
65331 return BatchInt32ArrayProxy(*this, Properties::terminal);
65332 }
65333
65334 MonitorBatch& terminal(int32_t value)
65335 {
65336 set_batch_val(Properties::terminal, value);
65337 return *this;
65338 }
65339
65340 template <typename T>
65341 MonitorBatch& terminal(T &value)
65342 {
65343 set_batch_val_for_each<T>(Properties::terminal, value.begin(), value.end());
65344 return *this;
65345 }
65346
65347 template <typename T>
65348 MonitorBatch& terminal(typename T::iterator it_begin, typename T::iterator it_end)
65349 {
65350 set_batch_val_for_each<T>(Properties::terminal, it_begin, it_end);
65351 return *this;
65352 }
65353
65383 {
65384 return BatchInt32ArrayProxy(*this, Properties::mode);
65385 }
65386
65387 MonitorBatch& mode(int32_t value)
65388 {
65389 set_batch_val(Properties::mode, value);
65390 return *this;
65391 }
65392
65393 template <typename T>
65394 MonitorBatch& mode(T &value)
65395 {
65396 set_batch_val_for_each<T>(Properties::mode, value.begin(), value.end());
65397 return *this;
65398 }
65399
65400 template <typename T>
65401 MonitorBatch& mode(typename T::iterator it_begin, typename T::iterator it_end)
65402 {
65403 set_batch_val_for_each<T>(Properties::mode, it_begin, it_end);
65404 return *this;
65405 }
65406
65416 MonitorBatch& action(int32_t value)
65417 {
65418 set_batch_val(Properties::action, value);
65419 return *this;
65420 }
65421
65432 {
65433 set_batch_val(Properties::action, int32_t(value));
65434 return *this;
65435 }
65436
65446 MonitorBatch& action(const string &value)
65447 {
65448 set_batch_val(Properties::action, value.c_str());
65449 return *this;
65450 }
65451
65461 MonitorBatch& action(const char *value)
65462 {
65463 set_batch_val(Properties::action, value);
65464 return *this;
65465 }
65466
65471 bools residual()
65472 {
65473 return get_batch_val<bools>(Properties::residual);
65474 }
65475
65476 MonitorBatch& residual(bool value)
65477 {
65478 set_batch_val(Properties::residual, int32_t(value));
65479 return *this;
65480 }
65481
65482 MonitorBatch& residual(bools &value)
65483 {
65484 set_batch_val_for_each<std::vector<int32_t>>(Properties::residual, value.begin(), value.end());
65485 return *this;
65486 }
65487
65492 bools VIPolar()
65493 {
65494 return get_batch_val<bools>(Properties::VIPolar);
65495 }
65496
65497 MonitorBatch& VIPolar(bool value)
65498 {
65499 set_batch_val(Properties::VIPolar, int32_t(value));
65500 return *this;
65501 }
65502
65503 MonitorBatch& VIPolar(bools &value)
65504 {
65505 set_batch_val_for_each<std::vector<int32_t>>(Properties::VIPolar, value.begin(), value.end());
65506 return *this;
65507 }
65508
65513 bools PPolar()
65514 {
65515 return get_batch_val<bools>(Properties::PPolar);
65516 }
65517
65518 MonitorBatch& PPolar(bool value)
65519 {
65520 set_batch_val(Properties::PPolar, int32_t(value));
65521 return *this;
65522 }
65523
65524 MonitorBatch& PPolar(bools &value)
65525 {
65526 set_batch_val_for_each<std::vector<int32_t>>(Properties::PPolar, value.begin(), value.end());
65527 return *this;
65528 }
65529
65535 {
65536 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
65537 }
65538
65539 MonitorBatch& basefreq(double value)
65540 {
65541 set_batch_val<double>(Properties::basefreq, value);
65542 return *this;
65543 }
65544
65545 template <typename T>
65546 MonitorBatch& basefreq(T &value)
65547 {
65548 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
65549 return *this;
65550 }
65551
65552 template <typename T>
65553 MonitorBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
65554 {
65555 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
65556 return *this;
65557 }
65558
65563 bools enabled()
65564 {
65565 return get_batch_val<bools>(Properties::enabled);
65566 }
65567
65568 MonitorBatch& enabled(bool value)
65569 {
65570 set_batch_val(Properties::enabled, int32_t(value));
65571 return *this;
65572 }
65573
65574 MonitorBatch& enabled(bools &value)
65575 {
65576 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
65577 return *this;
65578 }
65579
65586 MonitorBatch& like(const string &value)
65587 {
65588 set_batch_val(Properties::like, value.c_str());
65589 return *this;
65590 }
65591
65598 MonitorBatch& like(const char *value)
65599 {
65600 set_batch_val(Properties::like, value);
65601 return *this;
65602 }
65603};
65604
65605
65607{
65608public:
65611
65612 // Shortcuts to class-specific enumerations
65614
65615
65620 DSSBatch(util, EnergyMeter::dss_cls_idx)
65621 {
65622 }
65623
65627 EnergyMeterBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
65628 DSSBatch(util, EnergyMeter::dss_cls_idx, prop_idx, prop_value)
65629 {
65630 }
65631
65635 EnergyMeterBatch(APIUtil *util, const char* regexp):
65636 DSSBatch(util, EnergyMeter::dss_cls_idx, regexp)
65637 {
65638 }
65639
65640
65641 EnergyMeterBatch& begin_edit()
65642 {
65643 Batch_BeginEdit(pointer, count[0]);
65644 return *this;
65645 }
65646
65647 EnergyMeterBatch& end_edit(int32_t num_edits=1)
65648 {
65649 Batch_EndEdit(pointer, count[0], num_edits);
65650 return *this;
65651 }
65652
65653
65658 strings element()
65659 {
65660 return get_batch_val<strings>(Properties::element);
65661 }
65662
65664 {
65665 set_batch_val(Properties::element, value);
65666 return *this;
65667 }
65668
65669 EnergyMeterBatch& element(const string &value)
65670 {
65671 set_batch_val(Properties::element, value);
65672 return *this;
65673 }
65674
65679 std::vector<dss::obj::DSSObj> element_obj()
65680 {
65681 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::element);
65682 }
65683
65685 {
65686 set_batch_val(Properties::element, value);
65687 return *this;
65688 }
65689
65695 {
65696 return BatchInt32ArrayProxy(*this, Properties::terminal);
65697 }
65698
65699 EnergyMeterBatch& terminal(int32_t value)
65700 {
65701 set_batch_val(Properties::terminal, value);
65702 return *this;
65703 }
65704
65705 template <typename T>
65706 EnergyMeterBatch& terminal(T &value)
65707 {
65708 set_batch_val_for_each<T>(Properties::terminal, value.begin(), value.end());
65709 return *this;
65710 }
65711
65712 template <typename T>
65713 EnergyMeterBatch& terminal(typename T::iterator it_begin, typename T::iterator it_end)
65714 {
65715 set_batch_val_for_each<T>(Properties::terminal, it_begin, it_end);
65716 return *this;
65717 }
65718
65732 EnergyMeterBatch& action(int32_t value)
65733 {
65734 set_batch_val(Properties::action, value);
65735 return *this;
65736 }
65737
65752 {
65753 set_batch_val(Properties::action, int32_t(value));
65754 return *this;
65755 }
65756
65770 EnergyMeterBatch& action(const string &value)
65771 {
65772 set_batch_val(Properties::action, value.c_str());
65773 return *this;
65774 }
65775
65789 EnergyMeterBatch& action(const char *value)
65790 {
65791 set_batch_val(Properties::action, value);
65792 return *this;
65793 }
65794
65808 std::vector<strings> option()
65809 {
65810 return get_batch_valarray<strings>(Properties::option);
65811 }
65812
65813 EnergyMeterBatch& option(strings &value)
65814 {
65815 set_batch_val(Properties::option, value);
65816 return *this;
65817 }
65818
65824 {
65825 return BatchFloat64ArrayProxy(*this, Properties::kVAnormal);
65826 }
65827
65828 EnergyMeterBatch& kVAnormal(double value)
65829 {
65830 set_batch_val<double>(Properties::kVAnormal, value);
65831 return *this;
65832 }
65833
65834 template <typename T>
65835 EnergyMeterBatch& kVAnormal(T &value)
65836 {
65837 set_batch_val_for_each<T>(Properties::kVAnormal, value.begin(), value.end());
65838 return *this;
65839 }
65840
65841 template <typename T>
65842 EnergyMeterBatch& kVAnormal(typename T::iterator it_begin, typename T::iterator it_end)
65843 {
65844 set_batch_val_for_each<T>(Properties::kVAnormal, it_begin, it_end);
65845 return *this;
65846 }
65847
65853 {
65854 return BatchFloat64ArrayProxy(*this, Properties::kVAemerg);
65855 }
65856
65857 EnergyMeterBatch& kVAemerg(double value)
65858 {
65859 set_batch_val<double>(Properties::kVAemerg, value);
65860 return *this;
65861 }
65862
65863 template <typename T>
65864 EnergyMeterBatch& kVAemerg(T &value)
65865 {
65866 set_batch_val_for_each<T>(Properties::kVAemerg, value.begin(), value.end());
65867 return *this;
65868 }
65869
65870 template <typename T>
65871 EnergyMeterBatch& kVAemerg(typename T::iterator it_begin, typename T::iterator it_end)
65872 {
65873 set_batch_val_for_each<T>(Properties::kVAemerg, it_begin, it_end);
65874 return *this;
65875 }
65876
65881 std::vector<VectorXd> peakcurrent()
65882 {
65883 return get_batch_valarray<VectorXd>(Properties::peakcurrent);
65884 }
65885
65886 EnergyMeterBatch& peakcurrent(VectorXd &value)
65887 {
65888 set_batch_val<VectorXd>(Properties::peakcurrent, value);
65889 return *this;
65890 }
65891
65899 std::vector<strings> Zonelist()
65900 {
65901 return get_batch_valarray<strings>(Properties::Zonelist);
65902 }
65903
65904 EnergyMeterBatch& Zonelist(strings &value)
65905 {
65906 set_batch_val(Properties::Zonelist, value);
65907 return *this;
65908 }
65909
65915 {
65916 return get_batch_val<bools>(Properties::LocalOnly);
65917 }
65918
65919 EnergyMeterBatch& LocalOnly(bool value)
65920 {
65921 set_batch_val(Properties::LocalOnly, int32_t(value));
65922 return *this;
65923 }
65924
65925 EnergyMeterBatch& LocalOnly(bools &value)
65926 {
65927 set_batch_val_for_each<std::vector<int32_t>>(Properties::LocalOnly, value.begin(), value.end());
65928 return *this;
65929 }
65930
65935 std::vector<VectorXd> Mask()
65936 {
65937 return get_batch_valarray<VectorXd>(Properties::Mask);
65938 }
65939
65940 EnergyMeterBatch& Mask(VectorXd &value)
65941 {
65942 set_batch_val<VectorXd>(Properties::Mask, value);
65943 return *this;
65944 }
65945
65950 bools Losses()
65951 {
65952 return get_batch_val<bools>(Properties::Losses);
65953 }
65954
65955 EnergyMeterBatch& Losses(bool value)
65956 {
65957 set_batch_val(Properties::Losses, int32_t(value));
65958 return *this;
65959 }
65960
65961 EnergyMeterBatch& Losses(bools &value)
65962 {
65963 set_batch_val_for_each<std::vector<int32_t>>(Properties::Losses, value.begin(), value.end());
65964 return *this;
65965 }
65966
65972 {
65973 return get_batch_val<bools>(Properties::LineLosses);
65974 }
65975
65976 EnergyMeterBatch& LineLosses(bool value)
65977 {
65978 set_batch_val(Properties::LineLosses, int32_t(value));
65979 return *this;
65980 }
65981
65982 EnergyMeterBatch& LineLosses(bools &value)
65983 {
65984 set_batch_val_for_each<std::vector<int32_t>>(Properties::LineLosses, value.begin(), value.end());
65985 return *this;
65986 }
65987
65993 {
65994 return get_batch_val<bools>(Properties::XfmrLosses);
65995 }
65996
65997 EnergyMeterBatch& XfmrLosses(bool value)
65998 {
65999 set_batch_val(Properties::XfmrLosses, int32_t(value));
66000 return *this;
66001 }
66002
66003 EnergyMeterBatch& XfmrLosses(bools &value)
66004 {
66005 set_batch_val_for_each<std::vector<int32_t>>(Properties::XfmrLosses, value.begin(), value.end());
66006 return *this;
66007 }
66008
66014 {
66015 return get_batch_val<bools>(Properties::SeqLosses);
66016 }
66017
66018 EnergyMeterBatch& SeqLosses(bool value)
66019 {
66020 set_batch_val(Properties::SeqLosses, int32_t(value));
66021 return *this;
66022 }
66023
66024 EnergyMeterBatch& SeqLosses(bools &value)
66025 {
66026 set_batch_val_for_each<std::vector<int32_t>>(Properties::SeqLosses, value.begin(), value.end());
66027 return *this;
66028 }
66029
66035 {
66036 return get_batch_val<bools>(Properties::threePaseLosses);
66037 }
66038
66040 {
66041 set_batch_val(Properties::threePaseLosses, int32_t(value));
66042 return *this;
66043 }
66044
66045 EnergyMeterBatch& threePaseLosses(bools &value)
66046 {
66047 set_batch_val_for_each<std::vector<int32_t>>(Properties::threePaseLosses, value.begin(), value.end());
66048 return *this;
66049 }
66050
66056 {
66057 return get_batch_val<bools>(Properties::VbaseLosses);
66058 }
66059
66060 EnergyMeterBatch& VbaseLosses(bool value)
66061 {
66062 set_batch_val(Properties::VbaseLosses, int32_t(value));
66063 return *this;
66064 }
66065
66066 EnergyMeterBatch& VbaseLosses(bools &value)
66067 {
66068 set_batch_val_for_each<std::vector<int32_t>>(Properties::VbaseLosses, value.begin(), value.end());
66069 return *this;
66070 }
66071
66077 {
66078 return get_batch_val<bools>(Properties::PhaseVoltageReport);
66079 }
66080
66082 {
66083 set_batch_val(Properties::PhaseVoltageReport, int32_t(value));
66084 return *this;
66085 }
66086
66088 {
66089 set_batch_val_for_each<std::vector<int32_t>>(Properties::PhaseVoltageReport, value.begin(), value.end());
66090 return *this;
66091 }
66092
66098 {
66099 return BatchFloat64ArrayProxy(*this, Properties::Int_Rate);
66100 }
66101
66102 EnergyMeterBatch& Int_Rate(double value)
66103 {
66104 set_batch_val<double>(Properties::Int_Rate, value);
66105 return *this;
66106 }
66107
66108 template <typename T>
66109 EnergyMeterBatch& Int_Rate(T &value)
66110 {
66111 set_batch_val_for_each<T>(Properties::Int_Rate, value.begin(), value.end());
66112 return *this;
66113 }
66114
66115 template <typename T>
66116 EnergyMeterBatch& Int_Rate(typename T::iterator it_begin, typename T::iterator it_end)
66117 {
66118 set_batch_val_for_each<T>(Properties::Int_Rate, it_begin, it_end);
66119 return *this;
66120 }
66121
66127 {
66128 return BatchFloat64ArrayProxy(*this, Properties::Int_Duration);
66129 }
66130
66131 EnergyMeterBatch& Int_Duration(double value)
66132 {
66133 set_batch_val<double>(Properties::Int_Duration, value);
66134 return *this;
66135 }
66136
66137 template <typename T>
66139 {
66140 set_batch_val_for_each<T>(Properties::Int_Duration, value.begin(), value.end());
66141 return *this;
66142 }
66143
66144 template <typename T>
66145 EnergyMeterBatch& Int_Duration(typename T::iterator it_begin, typename T::iterator it_end)
66146 {
66147 set_batch_val_for_each<T>(Properties::Int_Duration, it_begin, it_end);
66148 return *this;
66149 }
66150
66156 {
66157 return BatchFloat64ArrayProxy(*this, Properties::SAIFI);
66158 }
66159
66160 EnergyMeterBatch& SAIFI(double value)
66161 {
66162 set_batch_val<double>(Properties::SAIFI, value);
66163 return *this;
66164 }
66165
66166 template <typename T>
66167 EnergyMeterBatch& SAIFI(T &value)
66168 {
66169 set_batch_val_for_each<T>(Properties::SAIFI, value.begin(), value.end());
66170 return *this;
66171 }
66172
66173 template <typename T>
66174 EnergyMeterBatch& SAIFI(typename T::iterator it_begin, typename T::iterator it_end)
66175 {
66176 set_batch_val_for_each<T>(Properties::SAIFI, it_begin, it_end);
66177 return *this;
66178 }
66179
66185 {
66186 return BatchFloat64ArrayProxy(*this, Properties::SAIFIkW);
66187 }
66188
66189 EnergyMeterBatch& SAIFIkW(double value)
66190 {
66191 set_batch_val<double>(Properties::SAIFIkW, value);
66192 return *this;
66193 }
66194
66195 template <typename T>
66196 EnergyMeterBatch& SAIFIkW(T &value)
66197 {
66198 set_batch_val_for_each<T>(Properties::SAIFIkW, value.begin(), value.end());
66199 return *this;
66200 }
66201
66202 template <typename T>
66203 EnergyMeterBatch& SAIFIkW(typename T::iterator it_begin, typename T::iterator it_end)
66204 {
66205 set_batch_val_for_each<T>(Properties::SAIFIkW, it_begin, it_end);
66206 return *this;
66207 }
66208
66214 {
66215 return BatchFloat64ArrayProxy(*this, Properties::SAIDI);
66216 }
66217
66218 EnergyMeterBatch& SAIDI(double value)
66219 {
66220 set_batch_val<double>(Properties::SAIDI, value);
66221 return *this;
66222 }
66223
66224 template <typename T>
66225 EnergyMeterBatch& SAIDI(T &value)
66226 {
66227 set_batch_val_for_each<T>(Properties::SAIDI, value.begin(), value.end());
66228 return *this;
66229 }
66230
66231 template <typename T>
66232 EnergyMeterBatch& SAIDI(typename T::iterator it_begin, typename T::iterator it_end)
66233 {
66234 set_batch_val_for_each<T>(Properties::SAIDI, it_begin, it_end);
66235 return *this;
66236 }
66237
66243 {
66244 return BatchFloat64ArrayProxy(*this, Properties::CAIDI);
66245 }
66246
66247 EnergyMeterBatch& CAIDI(double value)
66248 {
66249 set_batch_val<double>(Properties::CAIDI, value);
66250 return *this;
66251 }
66252
66253 template <typename T>
66254 EnergyMeterBatch& CAIDI(T &value)
66255 {
66256 set_batch_val_for_each<T>(Properties::CAIDI, value.begin(), value.end());
66257 return *this;
66258 }
66259
66260 template <typename T>
66261 EnergyMeterBatch& CAIDI(typename T::iterator it_begin, typename T::iterator it_end)
66262 {
66263 set_batch_val_for_each<T>(Properties::CAIDI, it_begin, it_end);
66264 return *this;
66265 }
66266
66272 {
66273 return BatchFloat64ArrayProxy(*this, Properties::CustInterrupts);
66274 }
66275
66276 EnergyMeterBatch& CustInterrupts(double value)
66277 {
66278 set_batch_val<double>(Properties::CustInterrupts, value);
66279 return *this;
66280 }
66281
66282 template <typename T>
66284 {
66285 set_batch_val_for_each<T>(Properties::CustInterrupts, value.begin(), value.end());
66286 return *this;
66287 }
66288
66289 template <typename T>
66290 EnergyMeterBatch& CustInterrupts(typename T::iterator it_begin, typename T::iterator it_end)
66291 {
66292 set_batch_val_for_each<T>(Properties::CustInterrupts, it_begin, it_end);
66293 return *this;
66294 }
66295
66301 {
66302 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
66303 }
66304
66305 EnergyMeterBatch& basefreq(double value)
66306 {
66307 set_batch_val<double>(Properties::basefreq, value);
66308 return *this;
66309 }
66310
66311 template <typename T>
66312 EnergyMeterBatch& basefreq(T &value)
66313 {
66314 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
66315 return *this;
66316 }
66317
66318 template <typename T>
66319 EnergyMeterBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
66320 {
66321 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
66322 return *this;
66323 }
66324
66329 bools enabled()
66330 {
66331 return get_batch_val<bools>(Properties::enabled);
66332 }
66333
66334 EnergyMeterBatch& enabled(bool value)
66335 {
66336 set_batch_val(Properties::enabled, int32_t(value));
66337 return *this;
66338 }
66339
66340 EnergyMeterBatch& enabled(bools &value)
66341 {
66342 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
66343 return *this;
66344 }
66345
66352 EnergyMeterBatch& like(const string &value)
66353 {
66354 set_batch_val(Properties::like, value.c_str());
66355 return *this;
66356 }
66357
66364 EnergyMeterBatch& like(const char *value)
66365 {
66366 set_batch_val(Properties::like, value);
66367 return *this;
66368 }
66369};
66370
66371
66373{
66374public:
66376 typedef Sensor BatchElementClass;
66377
66382 DSSBatch(util, Sensor::dss_cls_idx)
66383 {
66384 }
66385
66389 SensorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value):
66390 DSSBatch(util, Sensor::dss_cls_idx, prop_idx, prop_value)
66391 {
66392 }
66393
66397 SensorBatch(APIUtil *util, const char* regexp):
66398 DSSBatch(util, Sensor::dss_cls_idx, regexp)
66399 {
66400 }
66401
66402
66403 SensorBatch& begin_edit()
66404 {
66405 Batch_BeginEdit(pointer, count[0]);
66406 return *this;
66407 }
66408
66409 SensorBatch& end_edit(int32_t num_edits=1)
66410 {
66411 Batch_EndEdit(pointer, count[0], num_edits);
66412 return *this;
66413 }
66414
66415
66420 strings element()
66421 {
66422 return get_batch_val<strings>(Properties::element);
66423 }
66424
66426 {
66427 set_batch_val(Properties::element, value);
66428 return *this;
66429 }
66430
66431 SensorBatch& element(const string &value)
66432 {
66433 set_batch_val(Properties::element, value);
66434 return *this;
66435 }
66436
66441 std::vector<dss::obj::DSSObj> element_obj()
66442 {
66443 return get_batch_val<std::vector<dss::obj::DSSObj>>(Properties::element);
66444 }
66445
66447 {
66448 set_batch_val(Properties::element, value);
66449 return *this;
66450 }
66451
66457 {
66458 return BatchInt32ArrayProxy(*this, Properties::terminal);
66459 }
66460
66461 SensorBatch& terminal(int32_t value)
66462 {
66463 set_batch_val(Properties::terminal, value);
66464 return *this;
66465 }
66466
66467 template <typename T>
66468 SensorBatch& terminal(T &value)
66469 {
66470 set_batch_val_for_each<T>(Properties::terminal, value.begin(), value.end());
66471 return *this;
66472 }
66473
66474 template <typename T>
66475 SensorBatch& terminal(typename T::iterator it_begin, typename T::iterator it_end)
66476 {
66477 set_batch_val_for_each<T>(Properties::terminal, it_begin, it_end);
66478 return *this;
66479 }
66480
66487 {
66488 return BatchFloat64ArrayProxy(*this, Properties::kvbase);
66489 }
66490
66491 SensorBatch& kvbase(double value)
66492 {
66493 set_batch_val<double>(Properties::kvbase, value);
66494 return *this;
66495 }
66496
66497 template <typename T>
66498 SensorBatch& kvbase(T &value)
66499 {
66500 set_batch_val_for_each<T>(Properties::kvbase, value.begin(), value.end());
66501 return *this;
66502 }
66503
66504 template <typename T>
66505 SensorBatch& kvbase(typename T::iterator it_begin, typename T::iterator it_end)
66506 {
66507 set_batch_val_for_each<T>(Properties::kvbase, it_begin, it_end);
66508 return *this;
66509 }
66510
66515 bools clear()
66516 {
66517 return get_batch_val<bools>(Properties::clear);
66518 }
66519
66520 SensorBatch& clear(bool value)
66521 {
66522 set_batch_val(Properties::clear, int32_t(value));
66523 return *this;
66524 }
66525
66526 SensorBatch& clear(bools &value)
66527 {
66528 set_batch_val_for_each<std::vector<int32_t>>(Properties::clear, value.begin(), value.end());
66529 return *this;
66530 }
66531
66536 std::vector<VectorXd> kVs()
66537 {
66538 return get_batch_valarray<VectorXd>(Properties::kVs);
66539 }
66540
66541 SensorBatch& kVs(VectorXd &value)
66542 {
66543 set_batch_val<VectorXd>(Properties::kVs, value);
66544 return *this;
66545 }
66546
66551 std::vector<VectorXd> currents()
66552 {
66553 return get_batch_valarray<VectorXd>(Properties::currents);
66554 }
66555
66556 SensorBatch& currents(VectorXd &value)
66557 {
66558 set_batch_val<VectorXd>(Properties::currents, value);
66559 return *this;
66560 }
66561
66567 std::vector<VectorXd> kWs()
66568 {
66569 return get_batch_valarray<VectorXd>(Properties::kWs);
66570 }
66571
66572 SensorBatch& kWs(VectorXd &value)
66573 {
66574 set_batch_val<VectorXd>(Properties::kWs, value);
66575 return *this;
66576 }
66577
66582 std::vector<VectorXd> kvars()
66583 {
66584 return get_batch_valarray<VectorXd>(Properties::kvars);
66585 }
66586
66587 SensorBatch& kvars(VectorXd &value)
66588 {
66589 set_batch_val<VectorXd>(Properties::kvars, value);
66590 return *this;
66591 }
66592
66600 {
66601 return BatchInt32ArrayProxy(*this, Properties::conn);
66602 }
66603
66604 SensorBatch& conn(string &value)
66605 {
66606 set_batch_val(Properties::conn, value);
66607 return *this;
66608 }
66609
66610 SensorBatch& conn(int32_t value)
66611 {
66612 set_batch_val(Properties::conn, value);
66613 return *this;
66614 }
66615
66616 SensorBatch& conn(Connection value)
66617 {
66618 set_batch_val(Properties::conn, int32_t(value));
66619 return *this;
66620 }
66621
66622 SensorBatch& conn(strings &value)
66623 {
66624 set_batch_val_for_each<strings>(Properties::conn, value.begin(), value.end());
66625 return *this;
66626 }
66627
66628 SensorBatch& conn(std::vector<int32_t> &value)
66629 {
66630 set_batch_val_for_each<std::vector<int32_t>>(Properties::conn, value.begin(), value.end());
66631 return *this;
66632 }
66633
66634 SensorBatch& conn(std::vector<Connection> &value)
66635 {
66636 set_batch_val_for_each<std::vector<Connection>>(Properties::conn, value.begin(), value.end());
66637 return *this;
66638 }
66639
66646 strings conn_str()
66647 {
66648 return get_batch_val<strings>(Properties::conn);
66649 }
66650
66651 SensorBatch& conn_str(string &value)
66652 {
66653 conn(value);
66654 return *this;
66655 }
66656
66657 SensorBatch& conn_str(strings &value)
66658 {
66659 conn(value);
66660 return *this;
66661 }
66662
66668 {
66669 return BatchInt32ArrayProxy(*this, Properties::Deltadirection);
66670 }
66671
66672 SensorBatch& Deltadirection(int32_t value)
66673 {
66674 set_batch_val(Properties::Deltadirection, value);
66675 return *this;
66676 }
66677
66678 template <typename T>
66679 SensorBatch& Deltadirection(T &value)
66680 {
66681 set_batch_val_for_each<T>(Properties::Deltadirection, value.begin(), value.end());
66682 return *this;
66683 }
66684
66685 template <typename T>
66686 SensorBatch& Deltadirection(typename T::iterator it_begin, typename T::iterator it_end)
66687 {
66688 set_batch_val_for_each<T>(Properties::Deltadirection, it_begin, it_end);
66689 return *this;
66690 }
66691
66697 {
66698 return BatchFloat64ArrayProxy(*this, Properties::pctError);
66699 }
66700
66701 SensorBatch& pctError(double value)
66702 {
66703 set_batch_val<double>(Properties::pctError, value);
66704 return *this;
66705 }
66706
66707 template <typename T>
66708 SensorBatch& pctError(T &value)
66709 {
66710 set_batch_val_for_each<T>(Properties::pctError, value.begin(), value.end());
66711 return *this;
66712 }
66713
66714 template <typename T>
66715 SensorBatch& pctError(typename T::iterator it_begin, typename T::iterator it_end)
66716 {
66717 set_batch_val_for_each<T>(Properties::pctError, it_begin, it_end);
66718 return *this;
66719 }
66720
66726 {
66727 return BatchFloat64ArrayProxy(*this, Properties::Weight);
66728 }
66729
66730 SensorBatch& Weight(double value)
66731 {
66732 set_batch_val<double>(Properties::Weight, value);
66733 return *this;
66734 }
66735
66736 template <typename T>
66737 SensorBatch& Weight(T &value)
66738 {
66739 set_batch_val_for_each<T>(Properties::Weight, value.begin(), value.end());
66740 return *this;
66741 }
66742
66743 template <typename T>
66744 SensorBatch& Weight(typename T::iterator it_begin, typename T::iterator it_end)
66745 {
66746 set_batch_val_for_each<T>(Properties::Weight, it_begin, it_end);
66747 return *this;
66748 }
66749
66755 {
66756 return BatchFloat64ArrayProxy(*this, Properties::basefreq);
66757 }
66758
66759 SensorBatch& basefreq(double value)
66760 {
66761 set_batch_val<double>(Properties::basefreq, value);
66762 return *this;
66763 }
66764
66765 template <typename T>
66766 SensorBatch& basefreq(T &value)
66767 {
66768 set_batch_val_for_each<T>(Properties::basefreq, value.begin(), value.end());
66769 return *this;
66770 }
66771
66772 template <typename T>
66773 SensorBatch& basefreq(typename T::iterator it_begin, typename T::iterator it_end)
66774 {
66775 set_batch_val_for_each<T>(Properties::basefreq, it_begin, it_end);
66776 return *this;
66777 }
66778
66783 bools enabled()
66784 {
66785 return get_batch_val<bools>(Properties::enabled);
66786 }
66787
66788 SensorBatch& enabled(bool value)
66789 {
66790 set_batch_val(Properties::enabled, int32_t(value));
66791 return *this;
66792 }
66793
66794 SensorBatch& enabled(bools &value)
66795 {
66796 set_batch_val_for_each<std::vector<int32_t>>(Properties::enabled, value.begin(), value.end());
66797 return *this;
66798 }
66799
66806 SensorBatch& like(const string &value)
66807 {
66808 set_batch_val(Properties::like, value.c_str());
66809 return *this;
66810 }
66811
66818 SensorBatch& like(const char *value)
66819 {
66820 set_batch_val(Properties::like, value);
66821 return *this;
66822 }
66823};
66824
66825const char LineCode::dss_cls_name[] = "LineCode";
66826const char LoadShape::dss_cls_name[] = "LoadShape";
66827const char TShape::dss_cls_name[] = "TShape";
66828const char PriceShape::dss_cls_name[] = "PriceShape";
66829const char XYcurve::dss_cls_name[] = "XYcurve";
66830const char GrowthShape::dss_cls_name[] = "GrowthShape";
66831const char TCC_Curve::dss_cls_name[] = "TCC_Curve";
66832const char Spectrum::dss_cls_name[] = "Spectrum";
66833const char WireData::dss_cls_name[] = "WireData";
66834const char CNData::dss_cls_name[] = "CNData";
66835const char TSData::dss_cls_name[] = "TSData";
66836const char LineSpacing::dss_cls_name[] = "LineSpacing";
66837const char LineGeometry::dss_cls_name[] = "LineGeometry";
66838const char XfmrCode::dss_cls_name[] = "XfmrCode";
66839const char Line::dss_cls_name[] = "Line";
66840const char Vsource::dss_cls_name[] = "Vsource";
66841const char Isource::dss_cls_name[] = "Isource";
66842const char VCCS::dss_cls_name[] = "VCCS";
66843const char Load::dss_cls_name[] = "Load";
66844const char Transformer::dss_cls_name[] = "Transformer";
66845const char Capacitor::dss_cls_name[] = "Capacitor";
66846const char Reactor::dss_cls_name[] = "Reactor";
66847const char CapControl::dss_cls_name[] = "CapControl";
66848const char Fault::dss_cls_name[] = "Fault";
66849const char Generator::dss_cls_name[] = "Generator";
66850const char GenDispatcher::dss_cls_name[] = "GenDispatcher";
66851const char Storage::dss_cls_name[] = "Storage";
66852const char StorageController::dss_cls_name[] = "StorageController";
66853const char Relay::dss_cls_name[] = "Relay";
66854const char Recloser::dss_cls_name[] = "Recloser";
66855const char Fuse::dss_cls_name[] = "Fuse";
66856const char SwtControl::dss_cls_name[] = "SwtControl";
66857const char PVSystem::dss_cls_name[] = "PVSystem";
66858const char UPFC::dss_cls_name[] = "UPFC";
66859const char UPFCControl::dss_cls_name[] = "UPFCControl";
66860const char ESPVLControl::dss_cls_name[] = "ESPVLControl";
66861const char IndMach012::dss_cls_name[] = "IndMach012";
66862const char GICsource::dss_cls_name[] = "GICsource";
66863const char AutoTrans::dss_cls_name[] = "AutoTrans";
66864const char RegControl::dss_cls_name[] = "RegControl";
66865const char InvControl::dss_cls_name[] = "InvControl";
66866const char ExpControl::dss_cls_name[] = "ExpControl";
66867const char GICLine::dss_cls_name[] = "GICLine";
66868const char GICTransformer::dss_cls_name[] = "GICTransformer";
66869const char VSConverter::dss_cls_name[] = "VSConverter";
66870const char Monitor::dss_cls_name[] = "Monitor";
66871const char EnergyMeter::dss_cls_name[] = "EnergyMeter";
66872const char Sensor::dss_cls_name[] = "Sensor";
66873
66874}} // namespace dss::obj
66875#endif // DSS_CPP_OBJ_API
66876
66877/*
66878sample.cpp -- Minimal sample
66879
66880compile with something like
66881g++ --std=c++17 -I../dss_capi/include -I../klusolve/build/eigen-3.3.9/ -l../dss_capi/lib/linux_x64 -ldss_capi -o sample sample.cpp
66882
66883#include <iostream>
66884#include "dss_cpp_obj.h"
66885int main()
66886{
66887 using std::cout;
66888 using std::endl;
66889 using dss::obj::Load;
66890 using dss::obj::LoadBatch;
66891 using dss::obj::LineGeometry;
66892
66893 dss::APIUtil util;
66894
66895 Text_Set_Command("redirect '../electricdss-tst/Version8/Distrib/IEEETestCases/NEVTestCase/NEVMASTER.DSS'");
66896 util.check_for_error();
66897 Load load(&util, 1);
66898 LineGeometry line_geo(&util, "quadcircuit");
66899
66900 cout <<
66901 load.name() << endl <<
66902 load.bus1() << endl <<
66903 load.kW() << endl <<
66904 load.kvar() << endl <<
66905 endl;
66906
66907 load.kW(1500).kvar(200).bus1("blabla.1.2");
66908 cout << load.name() << " " << load.kW() << " " << load.kvar() << endl << endl;
66909
66910 LoadBatch(&util).kW() *= 5;
66911
66912 cout << load.name() << " " << load.kW() << " " << load.kvar() << endl << endl;
66913
66914 cout <<
66915 line_geo.name() << endl <<
66916 line_geo.nconds() << endl <<
66917 line_geo.x() << endl <<
66918 endl;
66919
66920 auto wires = line_geo.wires_obj();
66921 for (auto &w: wires)
66922 {
66923 cout << w.name() << ": " << w.radius() << " " << w.radunits_str() << endl;
66924 }
66925
66926 LoadBatch new_batch = util.create<LoadBatch>("myload", 25);
66927 new_batch.kW(1200.0).kvar(900.0).model(Load::LoadModel::ZIPV).end_edit();
66928
66929 return 0;
66930}
66931*/
66932
Definition: dss_obj.hpp:58782
std::vector< VectorXi > conn()
Connection of this winding {Series, wye*, Delta, LN, LL }.
Definition: dss_obj.hpp:58937
std::vector< VectorXd > tap()
Per unit tap that this winding is on.
Definition: dss_obj.hpp:59016
std::vector< strings > buses()
Use this to specify all the bus connections at once using an array.
Definition: dss_obj.hpp:59129
BatchFloat64ArrayProxy XXT()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:59304
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:59906
strings WdgCurrents()
(Read only) Makes winding currents available via return on query (? AutoTrans.TX.WdgCurrents).
Definition: dss_obj.hpp:59866
BatchInt32ArrayProxy Core()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:59061
bools sub()
={Yes|No} Designates whether this AutoTrans is to be considered a substation.Default is No.
Definition: dss_obj.hpp:59613
AutoTransBatch(APIUtil *util)
Create a batch of all AutoTrans elements.
Definition: dss_obj.hpp:58794
BatchFloat64ArrayProxy flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:59439
std::vector< VectorXi > NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:59664
BatchInt32ArrayProxy windings()
Number of windings, this AutoTranss.
Definition: dss_obj.hpp:58862
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:60022
BatchFloat64ArrayProxy m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:59410
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:59964
std::vector< strings > conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:59181
AutoTransBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all AutoTrans elements that match an integer property value.
Definition: dss_obj.hpp:58802
AutoTransBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:60086
strings Core_str()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:59106
BatchFloat64ArrayProxy n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:59381
AutoTransBatch(APIUtil *util, const char *regexp)
Create a batch of all AutoTrans elements that match a regular expression.
Definition: dss_obj.hpp:58810
std::vector< VectorXd > kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:59201
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:60051
BatchInt32ArrayProxy LeadLag()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:59800
bools XRConst()
={Yes|No} Default is NO.
Definition: dss_obj.hpp:59779
BatchFloat64ArrayProxy XHT()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:59275
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:59877
std::vector< VectorXd > Rdcohms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:59046
std::vector< VectorXd > pctRs()
Use this property to specify all the winding ac resistances using an array.
Definition: dss_obj.hpp:59764
BatchFloat64ArrayProxy pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:59704
std::vector< VectorXd > taps()
Use this to specify the p.u.
Definition: dss_obj.hpp:59231
BatchFloat64ArrayProxy pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:59526
BatchFloat64ArrayProxy normhkVA()
Normal maximum kVA rating of H winding (winding 1+2).
Definition: dss_obj.hpp:59555
std::vector< VectorXd > kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:59216
std::vector< strings > bus()
Bus connection spec for this winding.
Definition: dss_obj.hpp:58920
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:59935
BatchFloat64ArrayProxy hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:59468
BatchFloat64ArrayProxy XHX()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:59246
BatchFloat64ArrayProxy ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:59733
std::vector< strings > conn_str()
Connection of this winding {Series, wye*, Delta, LN, LL }.
Definition: dss_obj.hpp:58972
strings subname()
Substation Name.
Definition: dss_obj.hpp:59683
BatchFloat64ArrayProxy emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1+2).
Definition: dss_obj.hpp:59584
std::vector< VectorXd > MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:59634
BatchInt32ArrayProxy wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:58891
BatchFloat64ArrayProxy pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:59497
std::vector< VectorXd > kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:58986
AutoTransBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:60074
std::vector< VectorXd > pctR()
Percent ac resistance this winding.
Definition: dss_obj.hpp:59031
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:59993
std::vector< VectorXd > MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:59649
BatchFloat64ArrayProxy thermal()
Thermal time constant of the AutoTrans in hours.
Definition: dss_obj.hpp:59352
BatchInt32ArrayProxy phases()
Number of phases this AutoTrans.
Definition: dss_obj.hpp:58833
strings LeadLag_str()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:59845
std::vector< VectorXi > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:59146
std::vector< VectorXd > XSCarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:59337
std::vector< VectorXd > kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:59001
Definition: dss_obj.hpp:23647
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:24541
AutoTrans(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:23725
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:24616
VectorXd kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:24076
CoreType Core()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:23961
AutoTrans & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:23776
bool sub()
={Yes|No} Designates whether this AutoTrans is to be considered a substation.Default is No.
Definition: dss_obj.hpp:24320
VectorXd taps()
Use this to specify the p.u.
Definition: dss_obj.hpp:24106
VectorXd pctR()
Percent ac resistance this winding.
Definition: dss_obj.hpp:23931
AutoTrans(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:23745
string subname()
Substation Name.
Definition: dss_obj.hpp:24380
strings conn_str()
Connection of this winding {Series, wye*, Delta, LN, LL }.
Definition: dss_obj.hpp:23871
AutoTrans & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:24633
double XXT()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:24151
double n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:24200
AutoTrans & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:23766
double XHX()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:24121
VectorXd MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:24335
int32_t wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:23816
double ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:24416
VectorXd Rdcohms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:23946
strings buses()
Use this to specify all the bus connections at once using an array.
Definition: dss_obj.hpp:24015
AutoTransConnection
AutoTrans: Connection (DSS enumeration for AutoTrans)
Definition: dss_obj.hpp:23711
int32_t phases()
Number of phases this AutoTrans.
Definition: dss_obj.hpp:23786
double repair()
Hours to repair.
Definition: dss_obj.hpp:24586
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:24571
VectorXd kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:23886
double XHT()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:24136
AutoTrans & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:24645
double normamps()
Normal rated current.
Definition: dss_obj.hpp:24526
double pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:24275
VectorXd kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:24091
VectorXd pctRs()
Use this property to specify all the winding ac resistances using an array.
Definition: dss_obj.hpp:24433
VectorXd tap()
Per unit tap that this winding is on.
Definition: dss_obj.hpp:23916
double pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:24401
int32_t windings()
Number of windings, this AutoTranss.
Definition: dss_obj.hpp:23801
double m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:24215
VectorXd kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:23901
string LeadLag_str()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:24496
string WdgCurrents()
(Read only) Makes winding currents available via return on query (? AutoTrans.TX.WdgCurrents).
Definition: dss_obj.hpp:24515
std::vector< AutoTransConnection > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:24032
AutoTrans & LeadLag_str(const string &value)
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:24505
VectorXi NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:24365
VectorXd XSCarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:24170
PhaseSequence LeadLag()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:24463
double emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1+2).
Definition: dss_obj.hpp:24305
double flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:24230
double normhkVA()
Normal maximum kVA rating of H winding (winding 1+2).
Definition: dss_obj.hpp:24290
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:23758
std::vector< AutoTransConnection > conn()
Connection of this winding {Series, wye*, Delta, LN, LL }.
Definition: dss_obj.hpp:23848
strings conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:24055
double pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:24260
double thermal()
Thermal time constant of the AutoTrans in hours.
Definition: dss_obj.hpp:24185
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:24601
strings bus()
Bus connection spec for this winding.
Definition: dss_obj.hpp:23831
double hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:24245
VectorXd MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:24350
AutoTrans & Core_str(const string &value)
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:24003
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:24556
string Core_str()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:23994
bool XRConst()
={Yes|No} Default is NO.
Definition: dss_obj.hpp:24448
AutoTrans(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:23732
Definition: dss_obj.hpp:656
Definition: dss_obj.hpp:33750
BatchFloat64ArrayProxy DiaIns()
Diameter over insulation layer; same units as radius; no default.
Definition: dss_obj.hpp:33971
BatchInt32ArrayProxy radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34277
CNDataBatch(APIUtil *util, const char *regexp)
Create a batch of all CNData elements that match a regular expression.
Definition: dss_obj.hpp:33774
BatchInt32ArrayProxy Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34087
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:34460
BatchFloat64ArrayProxy Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:34029
strings GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34227
BatchFloat64ArrayProxy radius()
Outside radius of conductor.
Definition: dss_obj.hpp:34248
BatchFloat64ArrayProxy Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:34475
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:34430
BatchFloat64ArrayProxy EpsR()
Insulation layer relative permittivity; default is 2.3.
Definition: dss_obj.hpp:33913
CNDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all CNData elements that match an integer property value.
Definition: dss_obj.hpp:33766
CNDataBatch(APIUtil *util)
Create a batch of all CNData elements.
Definition: dss_obj.hpp:33758
BatchFloat64ArrayProxy normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:34343
BatchFloat64ArrayProxy diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:34401
BatchFloat64ArrayProxy Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:34058
strings radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34322
CNDataBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:34518
BatchFloat64ArrayProxy DiaCable()
Diameter over cable; same units as radius; no default.
Definition: dss_obj.hpp:34000
BatchFloat64ArrayProxy emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:34372
strings Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34132
CNDataBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:34506
BatchFloat64ArrayProxy DiaStrand()
Diameter of a concentric neutral strand; same units as core conductor radius; no default.
Definition: dss_obj.hpp:33826
BatchInt32ArrayProxy GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34182
BatchFloat64ArrayProxy GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:34153
BatchFloat64ArrayProxy GmrStrand()
Geometric mean radius of a concentric neutral strand; same units as core conductor GMR; defaults to 0...
Definition: dss_obj.hpp:33855
BatchFloat64ArrayProxy InsLayer()
Insulation layer thickness; same units as radius; no default.
Definition: dss_obj.hpp:33942
BatchFloat64ArrayProxy Rstrand()
AC resistance of a concentric neutral strand; same units as core conductor resistance; no default.
Definition: dss_obj.hpp:33884
BatchInt32ArrayProxy k()
Number of concentric neutral strands; default is 2.
Definition: dss_obj.hpp:33797
Definition: dss_obj.hpp:4139
double DiaCable()
Diameter over cable; same units as radius; no default.
Definition: dss_obj.hpp:4340
double InsLayer()
Insulation layer thickness; same units as radius; no default.
Definition: dss_obj.hpp:4310
CNData & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:4215
CNData & Runits_str(const string &value)
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4427
double radius()
Outside radius of conductor.
Definition: dss_obj.hpp:4504
CNData(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:4174
string Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4418
double diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:4601
DimensionUnits Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4385
double Rstrand()
AC resistance of a concentric neutral strand; same units as core conductor resistance; no default.
Definition: dss_obj.hpp:4280
CNData & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:4225
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:4616
CNData & radunits_str(const string &value)
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4561
DimensionUnits radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4519
string radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4552
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:4207
double Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:4355
CNData(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:4181
CNData(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:4194
CNData & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:4664
CNData & GMRunits_str(const string &value)
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4494
string GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4485
double Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:4647
int32_t k()
Number of concentric neutral strands; default is 2.
Definition: dss_obj.hpp:4235
DimensionUnits GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4452
double GmrStrand()
Geometric mean radius of a concentric neutral strand; same units as core conductor GMR; defaults to 0...
Definition: dss_obj.hpp:4265
CNData & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:4676
double DiaStrand()
Diameter of a concentric neutral strand; same units as core conductor radius; no default.
Definition: dss_obj.hpp:4250
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:4632
double normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:4571
double emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:4586
double Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:4370
double EpsR()
Insulation layer relative permittivity; default is 2.3.
Definition: dss_obj.hpp:4295
double GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:4437
double DiaIns()
Diameter over insulation layer; same units as radius; no default.
Definition: dss_obj.hpp:4325
Definition: dss_obj.hpp:45265
BatchFloat64ArrayProxy CTratio()
Ratio of the CT from line amps to control ampere setting for current and kvar control types.
Definition: dss_obj.hpp:45516
strings element()
Full object name of the circuit element, typically a line or transformer, to which the capacitor cont...
Definition: dss_obj.hpp:45316
CapControlBatch(APIUtil *util, const char *regexp)
Create a batch of all CapControl elements that match a regular expression.
Definition: dss_obj.hpp:45293
BatchFloat64ArrayProxy Vmax()
Maximum voltage, in volts.
Definition: dss_obj.hpp:45661
CapControlBatch(APIUtil *util)
Create a batch of all CapControl elements.
Definition: dss_obj.hpp:45277
strings capacitor()
Name of Capacitor element which the CapControl controls.
Definition: dss_obj.hpp:45383
strings type_str()
{Current | voltage | kvar | PF | time } Control type.
Definition: dss_obj.hpp:45466
BatchInt32ArrayProxy CTPhase()
Number of the phase being monitored for CURRENT control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:45777
std::vector< dss::obj::DSSObj > element_obj()
Full object name of the circuit element, typically a line or transformer, to which the capacitor cont...
Definition: dss_obj.hpp:45337
BatchFloat64ArrayProxy ONsetting()
Value at which the control arms to switch the capacitor ON (or ratchet up a step).
Definition: dss_obj.hpp:45553
BatchFloat64ArrayProxy PTratio()
Ratio of the PT that converts the monitored voltage to the control voltage.
Definition: dss_obj.hpp:45487
BatchFloat64ArrayProxy Delay()
Time delay, in seconds, from when the control is armed before it sends out the switching command to t...
Definition: dss_obj.hpp:45611
BatchInt32ArrayProxy terminal()
Number of the terminal of the circuit element to which the CapControl is connected.
Definition: dss_obj.hpp:45352
BatchFloat64ArrayProxy OFFsetting()
Value at which the control arms to switch the capacitor OFF.
Definition: dss_obj.hpp:45582
strings VBus()
Name of bus to use for voltage override function.
Definition: dss_obj.hpp:45909
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:46032
BatchInt32ArrayProxy PTPhase()
Number of the phase being monitored for VOLTAGE control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:45843
strings CTPhase_str()
Number of the phase being monitored for CURRENT control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:45822
strings PTPhase_str()
Number of the phase being monitored for VOLTAGE control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:45888
bools EventLog()
{Yes/True* | No/False} Default is YES for CapControl.
Definition: dss_obj.hpp:45930
CapControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all CapControl elements that match an integer property value.
Definition: dss_obj.hpp:45285
BatchInt32ArrayProxy type()
{Current | voltage | kvar | PF | time } Control type.
Definition: dss_obj.hpp:45421
bools VoltOverride()
{Yes | No} Default is No.
Definition: dss_obj.hpp:45640
CapControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:46096
std::vector< dss::obj::Capacitor > capacitor_obj()
Name of Capacitor element which the CapControl controls.
Definition: dss_obj.hpp:45406
CapControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:46084
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:46061
BatchFloat64ArrayProxy pctMinkvar()
For PF control option, min percent of total bank kvar at which control will close capacitor switch.
Definition: dss_obj.hpp:45993
strings UserData()
String (in quotes or parentheses if necessary) that gets passed to the user-written CapControl model ...
Definition: dss_obj.hpp:45972
strings UserModel()
Name of DLL containing user-written CapControl model, overriding the default model.
Definition: dss_obj.hpp:45951
CapControlBatch & Reset(bool value)
{Yes | No} If Yes, forces Reset of this CapControl.
Definition: dss_obj.hpp:46022
BatchFloat64ArrayProxy Vmin()
Minimum voltage, in volts.
Definition: dss_obj.hpp:45690
BatchFloat64ArrayProxy DeadTime()
Dead time after capacitor is turned OFF before it can be turned back ON.
Definition: dss_obj.hpp:45748
BatchFloat64ArrayProxy DelayOFF()
Time delay, in seconds, for control to turn OFF when present state is ON.
Definition: dss_obj.hpp:45719
Definition: dss_obj.hpp:13031
double PTratio()
Ratio of the PT that converts the monitored voltage to the control voltage.
Definition: dss_obj.hpp:13289
CapControl & Reset(bool value)
{Yes | No} If Yes, forces Reset of this CapControl.
Definition: dss_obj.hpp:13644
double Vmax()
Maximum voltage, in volts.
Definition: dss_obj.hpp:13387
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:13669
double DelayOFF()
Time delay, in seconds, for control to turn OFF when present state is ON.
Definition: dss_obj.hpp:13417
double Vmin()
Minimum voltage, in volts.
Definition: dss_obj.hpp:13402
CapControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:13105
double ONsetting()
Value at which the control arms to switch the capacitor ON (or ratchet up a step).
Definition: dss_obj.hpp:13327
string CTPhase_str()
Number of the phase being monitored for CURRENT control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13480
string PTPhase_str()
Number of the phase being monitored for VOLTAGE control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13532
CapControlType
CapControl: Type (DSS enumeration for CapControl)
Definition: dss_obj.hpp:13072
CapControl & CTPhase_str(const string &value)
Number of the phase being monitored for CURRENT control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13489
double CTratio()
Ratio of the CT from line amps to control ampere setting for current and kvar control types.
Definition: dss_obj.hpp:13304
CapControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:13092
CapControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:13698
string UserData()
String (in quotes or parentheses if necessary) that gets passed to the user-written CapControl model ...
Definition: dss_obj.hpp:13608
int32_t terminal()
Number of the terminal of the circuit element to which the CapControl is connected.
Definition: dss_obj.hpp:13182
bool VoltOverride()
{Yes | No} Default is No.
Definition: dss_obj.hpp:13372
string type_str()
{Current | voltage | kvar | PF | time } Control type.
Definition: dss_obj.hpp:13270
int32_t PTPhase()
Number of the phase being monitored for VOLTAGE control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13499
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:13118
string UserModel()
Name of DLL containing user-written CapControl model, overriding the default model.
Definition: dss_obj.hpp:13587
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:13654
string capacitor()
Name of Capacitor element which the CapControl controls.
Definition: dss_obj.hpp:13199
CapControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:13126
dss::obj::DSSObj element_obj()
Full object name of the circuit element, typically a line or transformer, to which the capacitor cont...
Definition: dss_obj.hpp:13167
CapControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:13686
CapControl & type_str(const string &value)
{Current | voltage | kvar | PF | time } Control type.
Definition: dss_obj.hpp:13279
CapControl & PTPhase_str(const string &value)
Number of the phase being monitored for VOLTAGE control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13541
string element()
Full object name of the circuit element, typically a line or transformer, to which the capacitor cont...
Definition: dss_obj.hpp:13146
double pctMinkvar()
For PF control option, min percent of total bank kvar at which control will close capacitor switch.
Definition: dss_obj.hpp:13629
dss::obj::Capacitor capacitor_obj()
Name of Capacitor element which the CapControl controls.
Definition: dss_obj.hpp:13222
CapControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:13136
CapControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:13085
CapControlType type()
{Current | voltage | kvar | PF | time } Control type.
Definition: dss_obj.hpp:13237
double DeadTime()
Dead time after capacitor is turned OFF before it can be turned back ON.
Definition: dss_obj.hpp:13432
string VBus()
Name of bus to use for voltage override function.
Definition: dss_obj.hpp:13551
double Delay()
Time delay, in seconds, from when the control is armed before it sends out the switching command to t...
Definition: dss_obj.hpp:13357
double OFFsetting()
Value at which the control arms to switch the capacitor OFF.
Definition: dss_obj.hpp:13342
bool EventLog()
{Yes/True* | No/False} Default is YES for CapControl.
Definition: dss_obj.hpp:13572
int32_t CTPhase()
Number of the phase being monitored for CURRENT control or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:13447
Definition: dss_obj.hpp:43876
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:44238
CapacitorBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:44447
CapacitorBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:44435
BatchInt32ArrayProxy conn()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN
Definition: dss_obj.hpp:44044
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:44267
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:44383
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:43971
std::vector< VectorXd > cuf()
ARRAY of Capacitance, each phase, for each step, microfarads.
Definition: dss_obj.hpp:44130
std::vector< VectorXd > R()
ARRAY of series resistance in each phase (line), ohms.
Definition: dss_obj.hpp:44145
CapacitorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Capacitor elements that match an integer property value.
Definition: dss_obj.hpp:43892
strings bus1()
Name of first bus of 2-terminal capacitor.
Definition: dss_obj.hpp:43927
strings bus2()
Name of 2nd bus.
Definition: dss_obj.hpp:43950
CapacitorBatch(APIUtil *util)
Create a batch of all Capacitor elements.
Definition: dss_obj.hpp:43884
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:44296
std::vector< VectorXd > kvar()
Total kvar, if one step, or ARRAY of kvar ratings for each step.
Definition: dss_obj.hpp:44000
strings conn_str()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN
Definition: dss_obj.hpp:44089
std::vector< VectorXd > cmatrix()
Nodal cap.
Definition: dss_obj.hpp:44114
BatchInt32ArrayProxy Numsteps()
Number of steps in this capacitor bank.
Definition: dss_obj.hpp:44190
CapacitorBatch(APIUtil *util, const char *regexp)
Create a batch of all Capacitor elements that match a regular expression.
Definition: dss_obj.hpp:43900
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:44325
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:44412
std::vector< VectorXi > states()
ARRAY of integers {1|0} states representing the state of each step (on|off).
Definition: dss_obj.hpp:44219
std::vector< VectorXd > XL()
ARRAY of series inductive reactance(s) in each phase (line) for filter, ohms at base frequency.
Definition: dss_obj.hpp:44160
BatchFloat64ArrayProxy kv()
For 2, 3-phase, kV phase-phase.
Definition: dss_obj.hpp:44015
std::vector< VectorXd > Harm()
ARRAY of harmonics to which each step is tuned.
Definition: dss_obj.hpp:44175
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:44354
Definition: dss_obj.hpp:11926
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:11993
Connection conn()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN
Definition: dss_obj.hpp:12114
string bus1()
Name of first bus of 2-terminal capacitor.
Definition: dss_obj.hpp:12025
VectorXd cmatrix()
Nodal cap.
Definition: dss_obj.hpp:12170
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:12321
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:12069
Capacitor(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:11967
double normamps()
Normal rated current.
Definition: dss_obj.hpp:12276
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:12351
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:12366
VectorXd cuf()
ARRAY of Capacitance, each phase, for each step, microfarads.
Definition: dss_obj.hpp:12186
VectorXi states()
ARRAY of integers {1|0} states representing the state of each step (on|off).
Definition: dss_obj.hpp:12261
VectorXd XL()
ARRAY of series inductive reactance(s) in each phase (line) for filter, ohms at base frequency.
Definition: dss_obj.hpp:12216
VectorXd kvar()
Total kvar, if one step, or ARRAY of kvar ratings for each step.
Definition: dss_obj.hpp:12084
VectorXd Harm()
ARRAY of harmonics to which each step is tuned.
Definition: dss_obj.hpp:12231
Capacitor & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:12395
Capacitor & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:12383
string bus2()
Name of 2nd bus.
Definition: dss_obj.hpp:12048
int32_t Numsteps()
Number of steps in this capacitor bank.
Definition: dss_obj.hpp:12246
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:12291
Capacitor & conn_str(const string &value)
={wye | delta |LN |LL} Default is wye, which is equivalent to LN
Definition: dss_obj.hpp:12156
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:12306
double kv()
For 2, 3-phase, kV phase-phase.
Definition: dss_obj.hpp:12099
Capacitor(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:11960
VectorXd R()
ARRAY of series resistance in each phase (line), ohms.
Definition: dss_obj.hpp:12201
Capacitor & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:12001
Capacitor(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:11980
string conn_str()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN
Definition: dss_obj.hpp:12147
double repair()
Hours to repair.
Definition: dss_obj.hpp:12336
Capacitor & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:12011
Definition: dss_obj.hpp:360
DSSBatch(APIUtil *util, int32_t cls_idx, const char *regexp)
Create a batch of all elements that match a regular expression.
Definition: dss_obj.hpp:387
DSSBatch(APIUtil *util, int32_t cls_idx, int32_t prop_idx, int32_t prop_value)
Create a batch of all elements that match an integer property value.
Definition: dss_obj.hpp:378
DSSBatch(APIUtil *util)
Create an uninitialized batch instance.
Definition: dss_obj.hpp:396
DSSBatch(APIUtil *util, int32_t cls_idx)
Create a batch of all elements in the DSS class.
Definition: dss_obj.hpp:369
Definition: dss_obj.hpp:182
Definition: dss_obj.hpp:57076
ESPVLControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:57470
std::vector< strings > StorageList()
Array list of Storage objects to be dispatched by Local Controller.
Definition: dss_obj.hpp:57376
ESPVLControlBatch(APIUtil *util, const char *regexp)
Create a batch of all ESPVLControl elements that match a regular expression.
Definition: dss_obj.hpp:57104
BatchInt32ArrayProxy Type()
Type of controller.
Definition: dss_obj.hpp:57192
BatchInt32ArrayProxy Terminal()
Number of the terminal of the circuit element to which the ESPVLControl control is connected.
Definition: dss_obj.hpp:57163
ESPVLControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all ESPVLControl elements that match an integer property value.
Definition: dss_obj.hpp:57096
std::vector< dss::obj::DSSObj > Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:57148
strings Type_str()
Type of controller.
Definition: dss_obj.hpp:57237
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:57406
ESPVLControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:57458
std::vector< VectorXd > LocalControlWeights()
Array of proportional weights corresponding to each ESPVLControl local controller in the LocalControl...
Definition: dss_obj.hpp:57331
std::vector< strings > PVSystemList()
Array list of PVSystem objects to be dispatched by a Local Controller.
Definition: dss_obj.hpp:57346
std::vector< VectorXd > PVSystemWeights()
Array of proportional weights corresponding to each PVSystem in the PVSystemList.
Definition: dss_obj.hpp:57361
std::vector< VectorXd > StorageWeights()
Array of proportional weights corresponding to each Storage object in the StorageControlList.
Definition: dss_obj.hpp:57391
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:57435
strings Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:57127
ESPVLControlBatch(APIUtil *util)
Create a batch of all ESPVLControl elements.
Definition: dss_obj.hpp:57088
BatchFloat64ArrayProxy kvarlimit()
Max kvar to be delivered through the element.
Definition: dss_obj.hpp:57287
std::vector< strings > LocalControlList()
Array list of ESPVLControl local controller objects to be dispatched by System Controller.
Definition: dss_obj.hpp:57316
BatchFloat64ArrayProxy kWBand()
Bandwidth (kW) of the dead band around the target limit.No dispatch changes are attempted if the powe...
Definition: dss_obj.hpp:57258
Definition: dss_obj.hpp:22275
ESPVLControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:22356
dss::obj::DSSObj Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:22397
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:22348
VectorXd PVSystemWeights()
Array of proportional weights corresponding to each PVSystem in the PVSystemList.
Definition: dss_obj.hpp:22554
ESPVLControlType
ESPVLControl: Type (DSS enumeration for ESPVLControl)
Definition: dss_obj.hpp:22305
VectorXd StorageWeights()
Array of proportional weights corresponding to each Storage object in the StorageControlList.
Definition: dss_obj.hpp:22584
ESPVLControl & Type_str(const string &value)
Type of controller.
Definition: dss_obj.hpp:22469
ESPVLControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:22335
double kvarlimit()
Max kvar to be delivered through the element.
Definition: dss_obj.hpp:22494
int32_t Terminal()
Number of the terminal of the circuit element to which the ESPVLControl control is connected.
Definition: dss_obj.hpp:22412
ESPVLControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:22322
ESPVLControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:22643
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:22599
ESPVLControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:22366
ESPVLControlType Type()
Type of controller.
Definition: dss_obj.hpp:22427
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:22614
strings StorageList()
Array list of Storage objects to be dispatched by Local Controller.
Definition: dss_obj.hpp:22569
strings PVSystemList()
Array list of PVSystem objects to be dispatched by a Local Controller.
Definition: dss_obj.hpp:22539
ESPVLControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:22315
VectorXd LocalControlWeights()
Array of proportional weights corresponding to each ESPVLControl local controller in the LocalControl...
Definition: dss_obj.hpp:22524
ESPVLControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:22631
string Type_str()
Type of controller.
Definition: dss_obj.hpp:22460
double kWBand()
Bandwidth (kW) of the dead band around the target limit.No dispatch changes are attempted if the powe...
Definition: dss_obj.hpp:22479
strings LocalControlList()
Array list of ESPVLControl local controller objects to be dispatched by System Controller.
Definition: dss_obj.hpp:22509
string Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:22376
Definition: dss_obj.hpp:65607
BatchFloat64ArrayProxy SAIFI()
(Read only) Makes SAIFI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:66155
bools LocalOnly()
{Yes | No} Default is NO.
Definition: dss_obj.hpp:65914
EnergyMeterBatch & action(int32_t value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:65732
EnergyMeterBatch(APIUtil *util)
Create a batch of all EnergyMeter elements.
Definition: dss_obj.hpp:65619
BatchFloat64ArrayProxy Int_Duration()
Average annual duration, in hr, of interruptions for head of the meter zone (source side of zone or f...
Definition: dss_obj.hpp:66126
EnergyMeterBatch & action(EnergyMeter::EnergyMeterAction value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:65751
BatchFloat64ArrayProxy CAIDI()
(Read only) Makes CAIDI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:66242
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:66300
BatchFloat64ArrayProxy SAIDI()
(Read only) Makes SAIDI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:66213
bools LineLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:65971
bools VbaseLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:66055
EnergyMeterBatch & action(const string &value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:65770
BatchFloat64ArrayProxy kVAemerg()
Upper limit on kVA load in the zone, Emergency configuration.
Definition: dss_obj.hpp:65852
std::vector< strings > Zonelist()
ARRAY of full element names for this meter's zone.
Definition: dss_obj.hpp:65899
EnergyMeterBatch(APIUtil *util, const char *regexp)
Create a batch of all EnergyMeter elements that match a regular expression.
Definition: dss_obj.hpp:65635
std::vector< strings > option()
Enter a string ARRAY of any combination of the following.
Definition: dss_obj.hpp:65808
BatchInt32ArrayProxy terminal()
Number of the terminal of the circuit element to which the monitor is connected.
Definition: dss_obj.hpp:65694
std::vector< dss::obj::DSSObj > element_obj()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:65679
BatchFloat64ArrayProxy SAIFIkW()
(Read only) Makes SAIFIkW result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:66184
bools SeqLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:66013
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:66329
std::vector< VectorXd > peakcurrent()
ARRAY of current magnitudes representing the peak currents measured at this location for the load all...
Definition: dss_obj.hpp:65881
EnergyMeterBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:66352
BatchFloat64ArrayProxy Int_Rate()
Average number of annual interruptions for head of the meter zone (source side of zone or feeder).
Definition: dss_obj.hpp:66097
BatchFloat64ArrayProxy kVAnormal()
Upper limit on kVA load in the zone, Normal configuration.
Definition: dss_obj.hpp:65823
bools XfmrLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:65992
EnergyMeterBatch & action(const char *value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:65789
std::vector< VectorXd > Mask()
Mask for adding registers whenever all meters are totalized.
Definition: dss_obj.hpp:65935
bools Losses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:65950
EnergyMeterBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all EnergyMeter elements that match an integer property value.
Definition: dss_obj.hpp:65627
bools PhaseVoltageReport()
{Yes | No} Default is NO.
Definition: dss_obj.hpp:66076
BatchFloat64ArrayProxy CustInterrupts()
(Read only) Makes Total Customer Interrupts value result available via return on query (?...
Definition: dss_obj.hpp:66271
strings element()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:65658
bools threePaseLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:66034
EnergyMeterBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:66364
Definition: dss_obj.hpp:29022
double SAIDI()
(Read only) Makes SAIDI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:29549
bool Losses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29384
EnergyMeter & action(const char *value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:29257
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:29594
EnergyMeter(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:29086
string element()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:29140
bool LocalOnly()
{Yes | No} Default is NO.
Definition: dss_obj.hpp:29354
double CAIDI()
(Read only) Makes CAIDI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:29564
bool VbaseLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29459
bool SeqLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29429
double Int_Rate()
Average number of annual interruptions for head of the meter zone (source side of zone or feeder).
Definition: dss_obj.hpp:29489
VectorXd Mask()
Mask for adding registers whenever all meters are totalized.
Definition: dss_obj.hpp:29369
double kVAnormal()
Upper limit on kVA load in the zone, Normal configuration.
Definition: dss_obj.hpp:29291
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:29112
bool threePaseLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29444
bool XfmrLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29414
EnergyMeterAction
EnergyMeter: Action (DSS enumeration for EnergyMeter)
Definition: dss_obj.hpp:29065
EnergyMeter & action(EnergyMeterAction value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:29219
EnergyMeter & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:29120
EnergyMeter(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:29099
VectorXd peakcurrent()
ARRAY of current magnitudes representing the peak currents measured at this location for the load all...
Definition: dss_obj.hpp:29321
bool LineLosses()
{Yes | No} Default is YES.
Definition: dss_obj.hpp:29399
dss::obj::DSSObj element_obj()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:29161
EnergyMeter & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:29626
EnergyMeter & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:29638
double SAIFIkW()
(Read only) Makes SAIFIkW result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:29534
double CustInterrupts()
(Read only) Makes Total Customer Interrupts value result available via return on query (?...
Definition: dss_obj.hpp:29579
double kVAemerg()
Upper limit on kVA load in the zone, Emergency configuration.
Definition: dss_obj.hpp:29306
bool PhaseVoltageReport()
{Yes | No} Default is NO.
Definition: dss_obj.hpp:29474
double SAIFI()
(Read only) Makes SAIFI result available via return on query (? energymeter.myMeter....
Definition: dss_obj.hpp:29519
EnergyMeter & action(int32_t value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:29200
strings Zonelist()
ARRAY of full element names for this meter's zone.
Definition: dss_obj.hpp:29339
EnergyMeter(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:29079
strings option()
Enter a string ARRAY of any combination of the following.
Definition: dss_obj.hpp:29276
EnergyMeter & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:29130
int32_t terminal()
Number of the terminal of the circuit element to which the monitor is connected.
Definition: dss_obj.hpp:29176
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:29609
EnergyMeter & action(const string &value)
{Clear (reset) | Save | Take | Zonedump | Allocate | Reduce}
Definition: dss_obj.hpp:29238
double Int_Duration()
Average annual duration, in hr, of interruptions for head of the meter zone (source side of zone or f...
Definition: dss_obj.hpp:29504
Definition: dss_obj.hpp:62677
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:63108
bools EventLog()
{Yes/True* | No/False} Default is No for ExpControl.
Definition: dss_obj.hpp:62985
BatchFloat64ArrayProxy Slope()
Per-unit reactive power injection / per-unit voltage deviation from Vreg; defaults to 50.
Definition: dss_obj.hpp:62774
ExpControlBatch(APIUtil *util)
Create a batch of all ExpControl elements.
Definition: dss_obj.hpp:62685
BatchFloat64ArrayProxy VregMin()
Lower limit on adaptive Vreg; defaults to 0.95 per-unit.
Definition: dss_obj.hpp:62865
BatchFloat64ArrayProxy Tresponse()
Open-loop response time for changes in Q.
Definition: dss_obj.hpp:63062
BatchFloat64ArrayProxy QmaxLead()
Limit on leading (inductive) reactive power injection, in per-unit of base kva; defaults to 0....
Definition: dss_obj.hpp:62925
ExpControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:63160
ExpControlBatch(APIUtil *util, const char *regexp)
Create a batch of all ExpControl elements that match a regular expression.
Definition: dss_obj.hpp:62701
ExpControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all ExpControl elements that match an integer property value.
Definition: dss_obj.hpp:62693
BatchFloat64ArrayProxy QmaxLag()
Limit on lagging (capacitive) reactive power injection, in per-unit of base kva; defaults to 0....
Definition: dss_obj.hpp:62956
BatchFloat64ArrayProxy Vreg()
Per-unit voltage at which reactive power is zero; defaults to 1.0.
Definition: dss_obj.hpp:62743
BatchFloat64ArrayProxy VregMax()
Upper limit on adaptive Vreg; defaults to 1.05 per-unit.
Definition: dss_obj.hpp:62894
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:63137
std::vector< strings > PVSystemList()
Array list of PVSystems to be controlled.
Definition: dss_obj.hpp:62726
BatchFloat64ArrayProxy VregTau()
Time constant for adaptive Vreg.
Definition: dss_obj.hpp:62805
bools PreferQ()
{Yes/True* | No/False} Default is No for ExpControl.
Definition: dss_obj.hpp:63039
BatchFloat64ArrayProxy DeltaQ_factor()
Convergence parameter; Defaults to 0.7.
Definition: dss_obj.hpp:63008
BatchFloat64ArrayProxy Qbias()
Equilibrium per-unit reactive power when V=Vreg; defaults to 0.
Definition: dss_obj.hpp:62836
std::vector< strings > DERList()
Alternative to PVSystemList for CIM export and import.
Definition: dss_obj.hpp:63093
ExpControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:63172
Definition: dss_obj.hpp:26773
ExpControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:26844
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:27096
double Slope()
Per-unit reactive power injection / per-unit voltage deviation from Vreg; defaults to 50.
Definition: dss_obj.hpp:26900
double VregTau()
Time constant for adaptive Vreg.
Definition: dss_obj.hpp:26917
ExpControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:26803
double DeltaQ_factor()
Convergence parameter; Defaults to 0.7.
Definition: dss_obj.hpp:27030
double Qbias()
Equilibrium per-unit reactive power when V=Vreg; defaults to 0.
Definition: dss_obj.hpp:26934
strings DERList()
Alternative to PVSystemList for CIM export and import.
Definition: dss_obj.hpp:27081
double VregMax()
Upper limit on adaptive Vreg; defaults to 1.05 per-unit.
Definition: dss_obj.hpp:26964
double VregMin()
Lower limit on adaptive Vreg; defaults to 0.95 per-unit.
Definition: dss_obj.hpp:26949
ExpControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:26810
bool PreferQ()
{Yes/True* | No/False} Default is No for ExpControl.
Definition: dss_obj.hpp:27047
double QmaxLead()
Limit on leading (inductive) reactive power injection, in per-unit of base kva; defaults to 0....
Definition: dss_obj.hpp:26981
double QmaxLag()
Limit on lagging (capacitive) reactive power injection, in per-unit of base kva; defaults to 0....
Definition: dss_obj.hpp:26998
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:26836
ExpControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:27140
ExpControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:26854
double Vreg()
Per-unit voltage at which reactive power is zero; defaults to 1.0.
Definition: dss_obj.hpp:26883
double Tresponse()
Open-loop response time for changes in Q.
Definition: dss_obj.hpp:27064
ExpControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:26823
ExpControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:27128
strings PVSystemList()
Array list of PVSystems to be controlled.
Definition: dss_obj.hpp:26866
bool EventLog()
{Yes/True* | No/False} Default is No for ExpControl.
Definition: dss_obj.hpp:27013
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:27111
Definition: dss_obj.hpp:46105
FaultBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:46579
FaultBatch(APIUtil *util)
Create a batch of all Fault elements.
Definition: dss_obj.hpp:46113
strings bus2()
Name of 2nd bus of the 2-terminal Fault object.
Definition: dss_obj.hpp:46180
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:46382
BatchInt32ArrayProxy phases()
Number of Phases.
Definition: dss_obj.hpp:46201
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:46527
strings bus1()
Name of first bus.
Definition: dss_obj.hpp:46157
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:46498
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:46469
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:46556
FaultBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:46591
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:46411
BatchFloat64ArrayProxy pctstddev()
Percent standard deviation in resistance to assume for Monte Carlo fault (MF) solution mode for GAUSS...
Definition: dss_obj.hpp:46259
BatchFloat64ArrayProxy MinAmps()
Minimum amps that can sustain a temporary fault.
Definition: dss_obj.hpp:46353
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:46440
BatchFloat64ArrayProxy r()
Resistance, each phase, ohms.
Definition: dss_obj.hpp:46230
std::vector< VectorXd > Gmatrix()
Use this to specify a nodal conductance (G) matrix to represent some arbitrary resistance network.
Definition: dss_obj.hpp:46288
BatchFloat64ArrayProxy ONtime()
Time (sec) at which the fault is established for time varying simulations.
Definition: dss_obj.hpp:46303
FaultBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Fault elements that match an integer property value.
Definition: dss_obj.hpp:46121
bools temporary()
{Yes | No} Default is No.
Definition: dss_obj.hpp:46332
FaultBatch(APIUtil *util, const char *regexp)
Create a batch of all Fault elements that match a regular expression.
Definition: dss_obj.hpp:46129
Definition: dss_obj.hpp:13707
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:13770
string bus1()
Name of first bus.
Definition: dss_obj.hpp:13803
Fault(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:13737
Fault & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:14059
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:13982
Fault(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:13744
string bus2()
Name of 2nd bus of the 2-terminal Fault object.
Definition: dss_obj.hpp:13826
double repair()
Hours to repair.
Definition: dss_obj.hpp:14012
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:13967
Fault & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:13788
bool temporary()
{Yes | No} Default is No.
Definition: dss_obj.hpp:13922
double pctstddev()
Percent standard deviation in resistance to assume for Monte Carlo fault (MF) solution mode for GAUSS...
Definition: dss_obj.hpp:13877
Fault(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:13757
double ONtime()
Time (sec) at which the fault is established for time varying simulations.
Definition: dss_obj.hpp:13907
Fault & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:14071
VectorXd Gmatrix()
Use this to specify a nodal conductance (G) matrix to represent some arbitrary resistance network.
Definition: dss_obj.hpp:13892
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:14027
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:13997
double normamps()
Normal rated current.
Definition: dss_obj.hpp:13952
Fault & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:13778
double MinAmps()
Minimum amps that can sustain a temporary fault.
Definition: dss_obj.hpp:13937
int32_t phases()
Number of Phases.
Definition: dss_obj.hpp:13847
double r()
Resistance, each phase, ohms.
Definition: dss_obj.hpp:13862
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:14042
Definition: dss_obj.hpp:54040
std::vector< strings > State_str()
ARRAY of strings {Open | Closed} representing the Actual state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:54436
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:54479
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:54450
std::vector< VectorXi > State()
ARRAY of strings {Open | Closed} representing the Actual state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:54403
BatchInt32ArrayProxy SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Fuse.
Definition: dss_obj.hpp:54193
FuseBatch & Action(int32_t value)
DEPRECATED.
Definition: dss_obj.hpp:54316
strings FuseCurve()
Name of the TCC Curve object that determines the fuse blowing.
Definition: dss_obj.hpp:54222
FuseBatch(APIUtil *util, const char *regexp)
Create a batch of all Fuse elements that match a regular expression.
Definition: dss_obj.hpp:54069
FuseBatch(APIUtil *util)
Create a batch of all Fuse elements.
Definition: dss_obj.hpp:54053
FuseBatch & Action(Fuse::FuseAction value)
DEPRECATED.
Definition: dss_obj.hpp:54326
FuseBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:54514
FuseBatch & Action(const char *value)
DEPRECATED.
Definition: dss_obj.hpp:54346
BatchFloat64ArrayProxy RatedCurrent()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:54258
std::vector< dss::obj::TCC_Curve > FuseCurve_obj()
Name of the TCC Curve object that determines the fuse blowing.
Definition: dss_obj.hpp:54243
strings SwitchedObj()
Name of circuit element switch that the Fuse controls.
Definition: dss_obj.hpp:54157
std::vector< dss::obj::DSSObj > MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:54113
FuseBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:54502
FuseBatch & Action(const string &value)
DEPRECATED.
Definition: dss_obj.hpp:54336
BatchFloat64ArrayProxy Delay()
Fixed delay time (sec) added to Fuse blowing time determined from the TCC curve.
Definition: dss_obj.hpp:54287
std::vector< dss::obj::DSSObj > SwitchedObj_obj()
Name of circuit element switch that the Fuse controls.
Definition: dss_obj.hpp:54178
BatchInt32ArrayProxy MonitoredTerm()
Number of the terminal of the circuit element to which the Fuse is connected.
Definition: dss_obj.hpp:54128
strings MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:54092
std::vector< strings > Normal_str()
ARRAY of strings {Open | Closed} representing the Normal state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:54389
std::vector< VectorXi > Normal()
ARRAY of strings {Open | Closed} representing the Normal state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:54356
FuseBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Fuse elements that match an integer property value.
Definition: dss_obj.hpp:54061
Definition: dss_obj.hpp:19770
string SwitchedObj()
Name of circuit element switch that the Fuse controls.
Definition: dss_obj.hpp:19931
Fuse & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:20204
strings Normal_str()
ARRAY of strings {Open | Closed} representing the Normal state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:20109
Fuse(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:19839
dss::obj::DSSObj MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:19901
int32_t SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Fuse.
Definition: dss_obj.hpp:19967
strings State_str()
ARRAY of strings {Open | Closed} representing the Actual state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:20145
Fuse(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:19826
dss::obj::TCC_Curve FuseCurve_obj()
Name of the TCC Curve object that determines the fuse blowing.
Definition: dss_obj.hpp:20003
std::vector< FuseState > Normal()
ARRAY of strings {Open | Closed} representing the Normal state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:20088
double Delay()
Fixed delay time (sec) added to Fuse blowing time determined from the TCC curve.
Definition: dss_obj.hpp:20033
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:20175
Fuse & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:19860
Fuse & Action(const char *value)
DEPRECATED.
Definition: dss_obj.hpp:20078
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:20160
string MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:19880
string FuseCurve()
Name of the TCC Curve object that determines the fuse blowing.
Definition: dss_obj.hpp:19982
Fuse & Action(FuseAction value)
DEPRECATED.
Definition: dss_obj.hpp:20058
Fuse & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:20192
Fuse & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:19870
Fuse & Action(int32_t value)
DEPRECATED.
Definition: dss_obj.hpp:20048
std::vector< FuseState > State()
ARRAY of strings {Open | Closed} representing the Actual state of the fuse in each phase of the contr...
Definition: dss_obj.hpp:20124
Fuse & Action(const string &value)
DEPRECATED.
Definition: dss_obj.hpp:20068
int32_t MonitoredTerm()
Number of the terminal of the circuit element to which the Fuse is connected.
Definition: dss_obj.hpp:19916
FuseAction
Fuse: Action (DSS enumeration for Fuse)
Definition: dss_obj.hpp:19799
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:19852
double RatedCurrent()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:20018
dss::obj::DSSObj SwitchedObj_obj()
Name of circuit element switch that the Fuse controls.
Definition: dss_obj.hpp:19952
Fuse(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:19819
FuseState
Fuse: State (DSS enumeration for Fuse)
Definition: dss_obj.hpp:19809
Definition: dss_obj.hpp:63181
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:63726
strings bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:63255
BatchFloat64ArrayProxy Lat1()
Latitude of Bus1 (degrees)
Definition: dss_obj.hpp:63545
BatchFloat64ArrayProxy Lat2()
Latitude of Bus2 (degrees)
Definition: dss_obj.hpp:63603
BatchFloat64ArrayProxy EE()
Eastward Electric field (V/km).
Definition: dss_obj.hpp:63516
BatchFloat64ArrayProxy EN()
Northward Electric field (V/km).
Definition: dss_obj.hpp:63487
BatchFloat64ArrayProxy Lon1()
Longitude of Bus1 (degrees)
Definition: dss_obj.hpp:63574
BatchFloat64ArrayProxy C()
Value of line blocking capacitance in microfarads.
Definition: dss_obj.hpp:63458
BatchFloat64ArrayProxy frequency()
Source frequency.
Definition: dss_obj.hpp:63342
BatchFloat64ArrayProxy Lon2()
Longitude of Bus2 (degrees)
Definition: dss_obj.hpp:63632
strings spectrum()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:63661
GICLineBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:63761
BatchFloat64ArrayProxy Volts()
Voltage magnitude, in volts, of the GIC voltage induced across this line.
Definition: dss_obj.hpp:63284
BatchFloat64ArrayProxy Angle()
Phase angle in degrees of first phase.
Definition: dss_obj.hpp:63313
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:63371
std::vector< dss::obj::Spectrum > spectrum_obj()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:63682
BatchFloat64ArrayProxy basefreq()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:63697
GICLineBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all GICLine elements that match an integer property value.
Definition: dss_obj.hpp:63197
strings bus1()
Name of bus to which the main terminal (1) is connected.
Definition: dss_obj.hpp:63230
GICLineBatch(APIUtil *util)
Create a batch of all GICLine elements.
Definition: dss_obj.hpp:63189
GICLineBatch(APIUtil *util, const char *regexp)
Create a batch of all GICLine elements that match a regular expression.
Definition: dss_obj.hpp:63205
BatchFloat64ArrayProxy X()
Reactance at base frequency, ohms.
Definition: dss_obj.hpp:63429
GICLineBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:63749
BatchFloat64ArrayProxy R()
Resistance of line, ohms of impedance in series with GIC voltage source.
Definition: dss_obj.hpp:63400
Definition: dss_obj.hpp:27149
GICLine & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:27232
GICLine & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:27573
string spectrum()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:27493
GICLine(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:27181
double Lon2()
Longitude of Bus2 (degrees)
Definition: dss_obj.hpp:27478
double X()
Reactance at base frequency, ohms.
Definition: dss_obj.hpp:27373
double Angle()
Phase angle in degrees of first phase.
Definition: dss_obj.hpp:27313
double C()
Value of line blocking capacitance in microfarads.
Definition: dss_obj.hpp:27388
double EN()
Northward Electric field (V/km).
Definition: dss_obj.hpp:27403
GICLine(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:27201
GICLine & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:27222
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:27343
GICLine(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:27188
double basefreq()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:27529
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:27214
double Lat1()
Latitude of Bus1 (degrees)
Definition: dss_obj.hpp:27433
double Lon1()
Longitude of Bus1 (degrees)
Definition: dss_obj.hpp:27448
double R()
Resistance of line, ohms of impedance in series with GIC voltage source.
Definition: dss_obj.hpp:27358
double EE()
Eastward Electric field (V/km).
Definition: dss_obj.hpp:27418
string bus1()
Name of bus to which the main terminal (1) is connected.
Definition: dss_obj.hpp:27244
double frequency()
Source frequency.
Definition: dss_obj.hpp:27328
GICLine & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:27561
dss::obj::Spectrum spectrum_obj()
Inherited Property for all PCElements.
Definition: dss_obj.hpp:27514
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:27544
double Volts()
Voltage magnitude, in volts, of the GIC voltage induced across this line.
Definition: dss_obj.hpp:27298
double Lat2()
Latitude of Bus2 (degrees)
Definition: dss_obj.hpp:27463
string bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:27269
Definition: dss_obj.hpp:63770
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:64365
BatchInt32ArrayProxy phases()
Number of Phases.
Definition: dss_obj.hpp:63907
BatchInt32ArrayProxy Type()
Type of transformer: {GSU* | Auto | YY}.
Definition: dss_obj.hpp:63936
strings VarCurve()
Optional.
Definition: dss_obj.hpp:64147
GICTransformerBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:64475
GICTransformerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all GICTransformer elements that match an integer property value.
Definition: dss_obj.hpp:63790
GICTransformerBatch(APIUtil *util)
Create a batch of all GICTransformer elements.
Definition: dss_obj.hpp:63782
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:64278
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:64423
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:64336
strings Type_str()
Type of transformer: {GSU* | Auto | YY}.
Definition: dss_obj.hpp:63981
GICTransformerBatch(APIUtil *util, const char *regexp)
Create a batch of all GICTransformer elements that match a regular expression.
Definition: dss_obj.hpp:63798
BatchFloat64ArrayProxy MVA()
Optional.
Definition: dss_obj.hpp:64118
BatchFloat64ArrayProxy R2()
Resistance, each phase, ohms for X winding, (Common winding, if Auto).
Definition: dss_obj.hpp:64031
strings BusNH()
Name of Neutral bus for H, or first, winding.
Definition: dss_obj.hpp:63844
BatchFloat64ArrayProxy pctR2()
Optional.
Definition: dss_obj.hpp:64216
BatchFloat64ArrayProxy KVLL2()
Optional.
Definition: dss_obj.hpp:64089
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:64452
BatchFloat64ArrayProxy KVLL1()
Optional.
Definition: dss_obj.hpp:64060
BatchFloat64ArrayProxy R1()
Resistance, each phase, ohms for H winding, (Series winding, if Auto).
Definition: dss_obj.hpp:64002
strings BusX()
Name of Low-side(X) bus, if type=Auto or YY.
Definition: dss_obj.hpp:63865
BatchFloat64ArrayProxy K()
Mvar K factor.
Definition: dss_obj.hpp:64249
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:64307
strings BusH()
Name of High-side(H) bus.
Definition: dss_obj.hpp:63823
strings BusNX()
Name of Neutral bus for X, or Second, winding.
Definition: dss_obj.hpp:63886
std::vector< dss::obj::XYcurve > VarCurve_obj()
Optional.
Definition: dss_obj.hpp:64168
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:64394
BatchFloat64ArrayProxy pctR1()
Optional.
Definition: dss_obj.hpp:64185
GICTransformerBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:64487
Definition: dss_obj.hpp:27582
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:28055
double normamps()
Normal rated current.
Definition: dss_obj.hpp:28010
GICTransformer(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:27639
double KVLL1()
Optional.
Definition: dss_obj.hpp:27876
double pctR1()
Optional.
Definition: dss_obj.hpp:27959
string BusX()
Name of Low-side(X) bus, if type=Auto or YY.
Definition: dss_obj.hpp:27737
GICTransformer & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:28117
string VarCurve()
Optional.
Definition: dss_obj.hpp:27921
GICTransformerType Type()
Type of transformer: {GSU* | Auto | YY}.
Definition: dss_obj.hpp:27794
double repair()
Hours to repair.
Definition: dss_obj.hpp:28070
GICTransformer & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:27673
dss::obj::XYcurve VarCurve_obj()
Optional.
Definition: dss_obj.hpp:27942
string Type_str()
Type of transformer: {GSU* | Auto | YY}.
Definition: dss_obj.hpp:27827
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:27665
GICTransformer & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:28129
GICTransformer(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:27652
int32_t phases()
Number of Phases.
Definition: dss_obj.hpp:27779
GICTransformerType
GICTransformer: Type (DSS enumeration for GICTransformer)
Definition: dss_obj.hpp:27621
double pctR2()
Optional.
Definition: dss_obj.hpp:27976
GICTransformer(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:27632
GICTransformer & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:27683
string BusNX()
Name of Neutral bus for X, or Second, winding.
Definition: dss_obj.hpp:27758
GICTransformer & Type_str(const string &value)
Type of transformer: {GSU* | Auto | YY}.
Definition: dss_obj.hpp:27836
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:28040
string BusNH()
Name of Neutral bus for H, or first, winding.
Definition: dss_obj.hpp:27716
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:28025
string BusH()
Name of High-side(H) bus.
Definition: dss_obj.hpp:27695
double K()
Mvar K factor.
Definition: dss_obj.hpp:27995
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:28085
double R1()
Resistance, each phase, ohms for H winding, (Series winding, if Auto).
Definition: dss_obj.hpp:27846
double KVLL2()
Optional.
Definition: dss_obj.hpp:27891
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:28100
double MVA()
Optional.
Definition: dss_obj.hpp:27906
double R2()
Resistance, each phase, ohms for X winding, (Common winding, if Auto).
Definition: dss_obj.hpp:27861
Definition: dss_obj.hpp:58328
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:58470
GICsourceBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:58773
BatchFloat64ArrayProxy basefreq()
Not used.
Definition: dss_obj.hpp:58709
BatchFloat64ArrayProxy Lat1()
Latitude of Bus1 of the line(degrees)
Definition: dss_obj.hpp:58557
BatchFloat64ArrayProxy EN()
Northward Electric field (V/km).
Definition: dss_obj.hpp:58499
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:58738
GICsourceBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:58761
std::vector< dss::obj::Spectrum > spectrum_obj()
Not used.
Definition: dss_obj.hpp:58694
BatchFloat64ArrayProxy Lon2()
Longitude of Bus2 of the line (degrees)
Definition: dss_obj.hpp:58644
BatchFloat64ArrayProxy frequency()
Source frequency.
Definition: dss_obj.hpp:58441
GICsourceBatch(APIUtil *util)
Create a batch of all GICsource elements.
Definition: dss_obj.hpp:58336
BatchFloat64ArrayProxy Volts()
Voltage magnitude, in volts, of the GIC voltage induced across the associated line.
Definition: dss_obj.hpp:58383
BatchFloat64ArrayProxy Lon1()
Longitude of Bus1 of the line (degrees)
Definition: dss_obj.hpp:58586
strings spectrum()
Not used.
Definition: dss_obj.hpp:58673
BatchFloat64ArrayProxy EE()
Eastward Electric field (V/km).
Definition: dss_obj.hpp:58528
BatchFloat64ArrayProxy Lat2()
Latitude of Bus2 of the line (degrees)
Definition: dss_obj.hpp:58615
GICsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all GICsource elements that match an integer property value.
Definition: dss_obj.hpp:58344
GICsourceBatch(APIUtil *util, const char *regexp)
Create a batch of all GICsource elements that match a regular expression.
Definition: dss_obj.hpp:58352
BatchFloat64ArrayProxy angle()
Phase angle in degrees of first phase.
Definition: dss_obj.hpp:58412
Definition: dss_obj.hpp:23312
double EN()
Northward Electric field (V/km).
Definition: dss_obj.hpp:23468
GICsource & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:23626
GICsource & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:23638
double Lat2()
Latitude of Bus2 of the line (degrees)
Definition: dss_obj.hpp:23528
dss::obj::Spectrum spectrum_obj()
Not used.
Definition: dss_obj.hpp:23579
double Volts()
Voltage magnitude, in volts, of the GIC voltage induced across the associated line.
Definition: dss_obj.hpp:23408
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:23372
double Lat1()
Latitude of Bus1 of the line(degrees)
Definition: dss_obj.hpp:23498
double angle()
Phase angle in degrees of first phase.
Definition: dss_obj.hpp:23423
GICsource(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:23359
GICsource(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:23346
double EE()
Eastward Electric field (V/km).
Definition: dss_obj.hpp:23483
GICsource & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:23390
double Lon2()
Longitude of Bus2 of the line (degrees)
Definition: dss_obj.hpp:23543
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:23453
double Lon1()
Longitude of Bus1 of the line (degrees)
Definition: dss_obj.hpp:23513
GICsource & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:23380
GICsource(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:23339
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:23609
string spectrum()
Not used.
Definition: dss_obj.hpp:23558
double basefreq()
Not used.
Definition: dss_obj.hpp:23594
double frequency()
Source frequency.
Definition: dss_obj.hpp:23438
Definition: dss_obj.hpp:48034
BatchFloat64ArrayProxy kWLimit()
kW Limit for the monitored element.
Definition: dss_obj.hpp:48146
GenDispatcherBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:48315
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:48263
GenDispatcherBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all GenDispatcher elements that match an integer property value.
Definition: dss_obj.hpp:48050
std::vector< VectorXd > Weights()
GenDispatcher.Weights.
Definition: dss_obj.hpp:48248
std::vector< dss::obj::DSSObj > Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:48102
BatchFloat64ArrayProxy kvarlimit()
Max kvar to be delivered through the element.
Definition: dss_obj.hpp:48204
GenDispatcherBatch(APIUtil *util, const char *regexp)
Create a batch of all GenDispatcher elements that match a regular expression.
Definition: dss_obj.hpp:48058
BatchInt32ArrayProxy Terminal()
Number of the terminal of the circuit element to which the GenDispatcher control is connected.
Definition: dss_obj.hpp:48117
strings Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:48081
BatchFloat64ArrayProxy kWBand()
Bandwidth (kW) of the dead band around the target limit.No dispatch changes are attempted if the powe...
Definition: dss_obj.hpp:48175
GenDispatcherBatch(APIUtil *util)
Create a batch of all GenDispatcher elements.
Definition: dss_obj.hpp:48042
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:48292
std::vector< strings > GenList()
Array list of generators to be dispatched.
Definition: dss_obj.hpp:48233
GenDispatcherBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:48327
Definition: dss_obj.hpp:15156
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:15212
int32_t Terminal()
Number of the terminal of the circuit element to which the GenDispatcher control is connected.
Definition: dss_obj.hpp:15276
double kWLimit()
kW Limit for the monitored element.
Definition: dss_obj.hpp:15291
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:15381
dss::obj::DSSObj Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:15261
GenDispatcher & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:15230
GenDispatcher & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:15410
GenDispatcher & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:15398
GenDispatcher(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:15186
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:15366
GenDispatcher(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:15179
string Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:15240
GenDispatcher(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:15199
double kvarlimit()
Max kvar to be delivered through the element.
Definition: dss_obj.hpp:15321
double kWBand()
Bandwidth (kW) of the dead band around the target limit.No dispatch changes are attempted if the powe...
Definition: dss_obj.hpp:15306
VectorXd Weights()
GenDispatcher.Weights.
Definition: dss_obj.hpp:15351
GenDispatcher & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:15220
strings GenList()
Array list of generators to be dispatched.
Definition: dss_obj.hpp:15336
Definition: dss_obj.hpp:46600
BatchFloat64ArrayProxy kv()
Nominal rated (1.0 per unit) voltage, kV, for Generator.
Definition: dss_obj.hpp:46702
GeneratorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Generator elements that match an integer property value.
Definition: dss_obj.hpp:46621
GeneratorBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:48013
BatchInt32ArrayProxy dispmode()
{Default* | Loadlevel | Price } Default = Default.
Definition: dss_obj.hpp:47025
strings bus1()
Bus to which the Generator is connected.
Definition: dss_obj.hpp:46681
GeneratorBatch(APIUtil *util, const char *regexp)
Create a batch of all Generator elements that match a regular expression.
Definition: dss_obj.hpp:46629
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:47961
BatchFloat64ArrayProxy H()
Per unit mass constant of the machine.
Definition: dss_obj.hpp:47565
BatchFloat64ArrayProxy dispvalue()
Dispatch value.
Definition: dss_obj.hpp:47093
BatchFloat64ArrayProxy pctReserve()
It is a number between 0 and 100 representing the reserve level in percentage of FuelkWh.
Definition: dss_obj.hpp:47886
strings ShaftModel()
Name of user-written DLL containing a Shaft model, which models the prime mover and determines the po...
Definition: dss_obj.hpp:47665
BatchFloat64ArrayProxy D()
Damping constant.
Definition: dss_obj.hpp:47594
BatchFloat64ArrayProxy FuelkWh()
{*0}Is the nominal level of fuel for the generator (kWh).
Definition: dss_obj.hpp:47828
BatchInt32ArrayProxy conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:47122
GeneratorBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:48025
BatchFloat64ArrayProxy DutyStart()
Starting time offset [hours] into the duty cycle shape for this generator, defaults to 0.
Definition: dss_obj.hpp:47707
strings conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:47167
BatchFloat64ArrayProxy Vpu()
Per Unit voltage set point for Model = 3 (typical power flow model).
Definition: dss_obj.hpp:47283
bools forceon()
{Yes | No} Forces generator ON despite requirements of other dispatch modes.
Definition: dss_obj.hpp:47399
BatchInt32ArrayProxy cls()
An arbitrary integer number representing the class of Generator so that Generator values may be segre...
Definition: dss_obj.hpp:47254
GeneratorBatch & Refuel(bool value)
It is a boolean value (Yes/True, No/False) that can be used to manually refuel the generator when nee...
Definition: dss_obj.hpp:47915
BatchFloat64ArrayProxy maxkvar()
Maximum kvar limit for Model = 3.
Definition: dss_obj.hpp:47312
strings ShaftData()
String (in quotes or parentheses) that gets passed to user-written shaft dynamic model for defining t...
Definition: dss_obj.hpp:47686
BatchFloat64ArrayProxy pvfactor()
Deceleration factor for P-V generator model (Model=3).
Definition: dss_obj.hpp:47370
strings daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:46953
std::vector< dss::obj::LoadShape > daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:46974
BatchFloat64ArrayProxy kVA()
kVA rating of electrical machine.
Definition: dss_obj.hpp:47420
bools UseFuel()
{Yes | *No}.
Definition: dss_obj.hpp:47807
BatchFloat64ArrayProxy Xd()
Per unit synchronous reactance of machine.
Definition: dss_obj.hpp:47478
std::vector< dss::obj::LoadShape > duty_obj()
Load shape to use for duty cycle dispatch simulations such as for wind generation.
Definition: dss_obj.hpp:47010
strings duty()
Load shape to use for duty cycle dispatch simulations such as for wind generation.
Definition: dss_obj.hpp:46989
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic voltage or current spectrum for this generator.
Definition: dss_obj.hpp:47946
BatchInt32ArrayProxy status()
={Fixed | Variable*}.
Definition: dss_obj.hpp:47188
BatchFloat64ArrayProxy kvar()
Specify the base kvar.
Definition: dss_obj.hpp:46793
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:47990
strings status_str()
={Fixed | Variable*}.
Definition: dss_obj.hpp:47233
bools debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:47736
GeneratorBatch(APIUtil *util)
Create a batch of all Generator elements.
Definition: dss_obj.hpp:46613
BatchInt32ArrayProxy phases()
Number of Phases, this Generator.
Definition: dss_obj.hpp:46652
BatchFloat64ArrayProxy XRdp()
Default is 20.
Definition: dss_obj.hpp:47778
strings spectrum()
Name of harmonic voltage or current spectrum for this generator.
Definition: dss_obj.hpp:47925
BatchFloat64ArrayProxy MVA()
MVA rating of electrical machine.
Definition: dss_obj.hpp:47449
BatchFloat64ArrayProxy Xdpp()
Per unit subtransient reactance of the machine.
Definition: dss_obj.hpp:47536
BatchFloat64ArrayProxy Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:46859
BatchFloat64ArrayProxy Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:46888
bools Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:47757
strings yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:46917
std::vector< dss::obj::LoadShape > yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:46938
BatchFloat64ArrayProxy minkvar()
Minimum kvar limit for Model = 3.
Definition: dss_obj.hpp:47341
strings dispmode_str()
{Default* | Loadlevel | Price } Default = Default.
Definition: dss_obj.hpp:47070
BatchInt32ArrayProxy model()
Integer code for the model to use for generation variation with voltage.
Definition: dss_obj.hpp:46830
BatchFloat64ArrayProxy kW()
Total base kW for the Generator.
Definition: dss_obj.hpp:46732
BatchFloat64ArrayProxy pctFuel()
It is a number between 0 and 100 representing the current amount of fuel avaiable in percentage of Fu...
Definition: dss_obj.hpp:47857
strings UserModel()
Name of DLL containing user-written model, which computes the terminal currents for Dynamics studies,...
Definition: dss_obj.hpp:47623
strings UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:47644
BatchFloat64ArrayProxy Xdp()
Per unit transient reactance of the machine.
Definition: dss_obj.hpp:47507
BatchFloat64ArrayProxy pf()
Generator power factor.
Definition: dss_obj.hpp:46764
Definition: dss_obj.hpp:14080
string bus1()
Bus to which the Generator is connected.
Definition: dss_obj.hpp:14239
Generator & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:15147
GeneratorStatus status()
={Fixed | Variable*}.
Definition: dss_obj.hpp:14606
double dispvalue()
Dispatch value.
Definition: dss_obj.hpp:14539
double kVA()
kVA rating of electrical machine.
Definition: dss_obj.hpp:14748
string UserModel()
Name of DLL containing user-written model, which computes the terminal currents for Dynamics studies,...
Definition: dss_obj.hpp:14853
double Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:14347
string dispmode_str()
{Default* | Loadlevel | Price } Default = Default.
Definition: dss_obj.hpp:14518
double XRdp()
Default is 20.
Definition: dss_obj.hpp:14982
string daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:14413
Generator & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:14204
double Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:14362
dss::obj::LoadShape yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:14398
Generator & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:15135
double kW()
Total base kW for the Generator.
Definition: dss_obj.hpp:14276
bool debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:14952
string ShaftData()
String (in quotes or parentheses) that gets passed to user-written shaft dynamic model for defining t...
Definition: dss_obj.hpp:14916
double Xdpp()
Per unit subtransient reactance of the machine.
Definition: dss_obj.hpp:14808
Generator & dispmode_str(const string &value)
{Default* | Loadlevel | Price } Default = Default.
Definition: dss_obj.hpp:14527
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:14196
double minkvar()
Minimum kvar limit for Model = 3.
Definition: dss_obj.hpp:14703
int32_t phases()
Number of Phases, this Generator.
Definition: dss_obj.hpp:14224
Connection conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:14554
double pctFuel()
It is a number between 0 and 100 representing the current amount of fuel avaiable in percentage of Fu...
Definition: dss_obj.hpp:15027
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:15118
string yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:14377
Generator & conn_str(const string &value)
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:14596
double Vpu()
Per Unit voltage set point for Model = 3 (typical power flow model).
Definition: dss_obj.hpp:14673
Generator & status_str(const string &value)
={Fixed | Variable*}.
Definition: dss_obj.hpp:14648
double DutyStart()
Starting time offset [hours] into the duty cycle shape for this generator, defaults to 0.
Definition: dss_obj.hpp:14937
string UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:14874
double Xd()
Per unit synchronous reactance of machine.
Definition: dss_obj.hpp:14778
dss::obj::Spectrum spectrum_obj()
Name of harmonic voltage or current spectrum for this generator.
Definition: dss_obj.hpp:15088
Generator & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:14214
int32_t model()
Integer code for the model to use for generation variation with voltage.
Definition: dss_obj.hpp:14332
string spectrum()
Name of harmonic voltage or current spectrum for this generator.
Definition: dss_obj.hpp:15067
double kv()
Nominal rated (1.0 per unit) voltage, kV, for Generator.
Definition: dss_obj.hpp:14260
double maxkvar()
Maximum kvar limit for Model = 3.
Definition: dss_obj.hpp:14688
dss::obj::LoadShape duty_obj()
Load shape to use for duty cycle dispatch simulations such as for wind generation.
Definition: dss_obj.hpp:14470
double kvar()
Specify the base kvar.
Definition: dss_obj.hpp:14309
GeneratorDispatchMode dispmode()
{Default* | Loadlevel | Price } Default = Default.
Definition: dss_obj.hpp:14485
dss::obj::LoadShape daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:14434
Generator & Refuel(bool value)
It is a boolean value (Yes/True, No/False) that can be used to manually refuel the generator when nee...
Definition: dss_obj.hpp:15057
Generator(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:14183
double pctReserve()
It is a number between 0 and 100 representing the reserve level in percentage of FuelkWh.
Definition: dss_obj.hpp:15042
bool UseFuel()
{Yes | *No}.
Definition: dss_obj.hpp:14997
double pvfactor()
Deceleration factor for P-V generator model (Model=3).
Definition: dss_obj.hpp:14718
double FuelkWh()
{*0}Is the nominal level of fuel for the generator (kWh).
Definition: dss_obj.hpp:15012
double pf()
Generator power factor.
Definition: dss_obj.hpp:14294
double H()
Per unit mass constant of the machine.
Definition: dss_obj.hpp:14823
string ShaftModel()
Name of user-written DLL containing a Shaft model, which models the prime mover and determines the po...
Definition: dss_obj.hpp:14895
int32_t cls()
An arbitrary integer number representing the class of Generator so that Generator values may be segre...
Definition: dss_obj.hpp:14658
Generator(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:14163
string duty()
Load shape to use for duty cycle dispatch simulations such as for wind generation.
Definition: dss_obj.hpp:14449
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:15103
GeneratorStatus
Generator: Status (DSS enumeration for Generator)
Definition: dss_obj.hpp:14153
double Xdp()
Per unit transient reactance of the machine.
Definition: dss_obj.hpp:14793
double D()
Damping constant.
Definition: dss_obj.hpp:14838
GeneratorDispatchMode
Generator: Dispatch Mode (DSS enumeration for Generator)
Definition: dss_obj.hpp:14142
Generator(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:14170
double MVA()
MVA rating of electrical machine.
Definition: dss_obj.hpp:14763
bool Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:14967
string status_str()
={Fixed | Variable*}.
Definition: dss_obj.hpp:14639
string conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:14587
bool forceon()
{Yes | No} Forces generator ON despite requirements of other dispatch modes.
Definition: dss_obj.hpp:14733
Definition: dss_obj.hpp:32697
BatchInt32ArrayProxy npts()
Number of points to expect in subsequent vector.
Definition: dss_obj.hpp:32744
strings csvfile()
Switch input of growth curve data to a csv file containing (year, mult) points, one per line.
Definition: dss_obj.hpp:32810
std::vector< VectorXd > year()
Array of year values, or a text file spec, corresponding to the multipliers.
Definition: dss_obj.hpp:32773
GrowthShapeBatch(APIUtil *util, const char *regexp)
Create a batch of all GrowthShape elements that match a regular expression.
Definition: dss_obj.hpp:32721
GrowthShapeBatch(APIUtil *util)
Create a batch of all GrowthShape elements.
Definition: dss_obj.hpp:32705
strings sngfile()
Switch input of growth curve data to a binary file of singles containing (year, mult) points,...
Definition: dss_obj.hpp:32831
GrowthShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all GrowthShape elements that match an integer property value.
Definition: dss_obj.hpp:32713
GrowthShapeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:32887
GrowthShapeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:32875
std::vector< VectorXd > mult()
Array of growth multiplier values, or a text file spec, corresponding to the year values.
Definition: dss_obj.hpp:32795
strings dblfile()
Switch input of growth curve data to a binary file of doubles containing (year, mult) points,...
Definition: dss_obj.hpp:32852
Definition: dss_obj.hpp:3157
int32_t npts()
Number of points to expect in subsequent vector.
Definition: dss_obj.hpp:3238
GrowthShape & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:3218
GrowthShape & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:3228
string sngfile()
Switch input of growth curve data to a binary file of singles containing (year, mult) points,...
Definition: dss_obj.hpp:3311
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:3210
VectorXd mult()
Array of growth multiplier values, or a text file spec, corresponding to the year values.
Definition: dss_obj.hpp:3275
GrowthShape & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:3367
string csvfile()
Switch input of growth curve data to a csv file containing (year, mult) points, one per line.
Definition: dss_obj.hpp:3290
VectorXd year()
Array of year values, or a text file spec, corresponding to the multipliers.
Definition: dss_obj.hpp:3253
GrowthShape(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:3177
string dblfile()
Switch input of growth curve data to a binary file of doubles containing (year, mult) points,...
Definition: dss_obj.hpp:3332
GrowthShape & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:3355
GrowthShape(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:3184
GrowthShape(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:3197
Definition: dss_obj.hpp:57479
BatchFloat64ArrayProxy MaxSlip()
Max slip value to allow.
Definition: dss_obj.hpp:57995
BatchInt32ArrayProxy conn()
Connection of stator: Delta or Wye.
Definition: dss_obj.hpp:57668
BatchFloat64ArrayProxy kv()
Nominal rated (1.0 per unit) voltage, kV.
Definition: dss_obj.hpp:57580
strings bus1()
Bus to which the Induction Machine is connected.
Definition: dss_obj.hpp:57559
BatchFloat64ArrayProxy puRs()
Per unit stator resistance.
Definition: dss_obj.hpp:57821
BatchFloat64ArrayProxy D()
Damping constant.
Definition: dss_obj.hpp:57792
BatchFloat64ArrayProxy pf()
[Read Only] Present power factor for the machine.
Definition: dss_obj.hpp:57639
strings conn_str()
Connection of stator: Delta or Wye.
Definition: dss_obj.hpp:57713
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:58284
strings Yearly()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:58090
BatchFloat64ArrayProxy Slip()
Initial slip value.
Definition: dss_obj.hpp:57966
BatchInt32ArrayProxy SlipOption()
Option for slip model.
Definition: dss_obj.hpp:58024
strings spectrum()
Name of harmonic voltage or current spectrum for this IndMach012.
Definition: dss_obj.hpp:58219
strings Daily()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:58126
std::vector< dss::obj::LoadShape > Yearly_obj()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:58111
BatchFloat64ArrayProxy puXs()
Per unit stator leakage reactance.
Definition: dss_obj.hpp:57850
strings SlipOption_str()
Option for slip model.
Definition: dss_obj.hpp:58069
BatchFloat64ArrayProxy H()
Per unit mass constant of the machine.
Definition: dss_obj.hpp:57763
std::vector< dss::obj::LoadShape > Daily_obj()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:58147
strings Duty()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:58162
IndMach012Batch(APIUtil *util)
Create a batch of all IndMach012 elements.
Definition: dss_obj.hpp:57491
BatchFloat64ArrayProxy kVA()
Rated kVA for the machine.
Definition: dss_obj.hpp:57734
BatchFloat64ArrayProxy kW()
Shaft Power, kW, for the Induction Machine.
Definition: dss_obj.hpp:57610
BatchFloat64ArrayProxy puRr()
Per unit rotor resistance.
Definition: dss_obj.hpp:57879
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:58255
IndMach012Batch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:58307
BatchFloat64ArrayProxy puXr()
Per unit rotor leakage reactance.
Definition: dss_obj.hpp:57908
BatchInt32ArrayProxy phases()
Number of Phases, this Induction Machine.
Definition: dss_obj.hpp:57530
std::vector< dss::obj::LoadShape > Duty_obj()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:58183
IndMach012Batch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:58319
BatchFloat64ArrayProxy puXm()
Per unit magnetizing reactance.Default is 4.0.
Definition: dss_obj.hpp:57937
bools Debugtrace()
[Yes | No*] Write DebugTrace file.
Definition: dss_obj.hpp:58198
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic voltage or current spectrum for this IndMach012.
Definition: dss_obj.hpp:58240
IndMach012Batch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all IndMach012 elements that match an integer property value.
Definition: dss_obj.hpp:57499
IndMach012Batch(APIUtil *util, const char *regexp)
Create a batch of all IndMach012 elements that match a regular expression.
Definition: dss_obj.hpp:57507
Definition: dss_obj.hpp:22652
IndMach012 & SlipOption_str(const string &value)
Option for slip model.
Definition: dss_obj.hpp:23090
IndMach012 & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:22754
double puXs()
Per unit stator leakage reactance.
Definition: dss_obj.hpp:22958
dss::obj::LoadShape Daily_obj()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:23157
double Slip()
Initial slip value.
Definition: dss_obj.hpp:23018
double kW()
Shaft Power, kW, for the Induction Machine.
Definition: dss_obj.hpp:22816
double puRs()
Per unit stator resistance.
Definition: dss_obj.hpp:22943
IndMach012SlipOption
IndMach012: Slip Option (DSS enumeration for IndMach012)
Definition: dss_obj.hpp:22693
IndMach012SlipOption SlipOption()
Option for slip model.
Definition: dss_obj.hpp:23048
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:23274
double MaxSlip()
Max slip value to allow.
Definition: dss_obj.hpp:23033
double H()
Per unit mass constant of the machine.
Definition: dss_obj.hpp:22913
Connection conn()
Connection of stator: Delta or Wye.
Definition: dss_obj.hpp:22846
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:22736
IndMach012 & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:23303
double pf()
[Read Only] Present power factor for the machine.
Definition: dss_obj.hpp:22831
IndMach012(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:22710
int32_t phases()
Number of Phases, this Induction Machine.
Definition: dss_obj.hpp:22764
IndMach012 & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:22744
double puRr()
Per unit rotor resistance.
Definition: dss_obj.hpp:22973
IndMach012(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:22723
bool Debugtrace()
[Yes | No*] Write DebugTrace file.
Definition: dss_obj.hpp:23208
string bus1()
Bus to which the Induction Machine is connected.
Definition: dss_obj.hpp:22779
string Duty()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:23172
string SlipOption_str()
Option for slip model.
Definition: dss_obj.hpp:23081
dss::obj::Spectrum spectrum_obj()
Name of harmonic voltage or current spectrum for this IndMach012.
Definition: dss_obj.hpp:23244
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:23259
double puXr()
Per unit rotor leakage reactance.
Definition: dss_obj.hpp:22988
IndMach012(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:22703
string Daily()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:23136
string conn_str()
Connection of stator: Delta or Wye.
Definition: dss_obj.hpp:22879
IndMach012 & conn_str(const string &value)
Connection of stator: Delta or Wye.
Definition: dss_obj.hpp:22888
double puXm()
Per unit magnetizing reactance.Default is 4.0.
Definition: dss_obj.hpp:23003
string Yearly()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:23100
string spectrum()
Name of harmonic voltage or current spectrum for this IndMach012.
Definition: dss_obj.hpp:23223
double kv()
Nominal rated (1.0 per unit) voltage, kV.
Definition: dss_obj.hpp:22800
double kVA()
Rated kVA for the machine.
Definition: dss_obj.hpp:22898
double D()
Damping constant.
Definition: dss_obj.hpp:22928
dss::obj::LoadShape Yearly_obj()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:23121
IndMach012 & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:23291
dss::obj::LoadShape Duty_obj()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:23193
Definition: dss_obj.hpp:61124
strings Mode_str()
Smart inverter function in which the InvControl will control the PC elements specified in DERList,...
Definition: dss_obj.hpp:61268
BatchFloat64ArrayProxy hysteresis_offset()
Required for VOLTVAR mode, and defaults to 0.
Definition: dss_obj.hpp:61425
BatchFloat64ArrayProxy DbVMin()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:61627
std::vector< strings > PVSystemList()
Deprecated, use DERList instead.
Definition: dss_obj.hpp:62560
BatchInt32ArrayProxy RateofChangeMode()
Required for VOLTWATT and VOLTVAR mode.
Definition: dss_obj.hpp:61996
InvControlBatch(APIUtil *util, const char *regexp)
Create a batch of all InvControl elements that match a regular expression.
Definition: dss_obj.hpp:61157
BatchFloat64ArrayProxy LPFTau()
Not required.
Definition: dss_obj.hpp:62072
strings voltage_curvex_ref_str()
Required for VOLTVAR and VOLTWATT modes, and defaults to rated.
Definition: dss_obj.hpp:61519
BatchFloat64ArrayProxy ActivePChangeTolerance()
Required for VOLTWATT.
Definition: dss_obj.hpp:62275
InvControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:62668
strings wattpf_curve()
Required for WATTPF mode.
Definition: dss_obj.hpp:62465
BatchFloat64ArrayProxy VarChangeTolerance()
Required for VOLTVAR and DYNAMICREACCURR modes.
Definition: dss_obj.hpp:61873
std::vector< strings > DERList()
Array list of PVSystem and/or Storage elements to be controlled.
Definition: dss_obj.hpp:61182
strings wattvar_curve()
Required for WATTVAR mode.
Definition: dss_obj.hpp:62519
std::vector< dss::obj::XYcurve > vvc_curve1_obj()
Required for VOLTVAR mode.
Definition: dss_obj.hpp:61400
BatchFloat64ArrayProxy Vsetpoint()
Required for Active Voltage Regulation (AVR).
Definition: dss_obj.hpp:62575
strings vvc_curve1()
Required for VOLTVAR mode.
Definition: dss_obj.hpp:61374
std::vector< VectorXd > MonBusesVbase()
Array list of rated voltages of the buses and their nodes presented in the monBus property.
Definition: dss_obj.hpp:62385
std::vector< dss::obj::XYcurve > voltwattCH_curve_obj()
Required for VOLTWATT mode for Storage element in CHARGING state.
Definition: dss_obj.hpp:62437
BatchInt32ArrayProxy RefReactivePower()
Required for any mode that has VOLTVAR, DYNAMICREACCURR and WATTVAR.
Definition: dss_obj.hpp:62197
BatchInt32ArrayProxy Mode()
Smart inverter function in which the InvControl will control the PC elements specified in DERList,...
Definition: dss_obj.hpp:61210
InvControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all InvControl elements that match an integer property value.
Definition: dss_obj.hpp:61149
BatchInt32ArrayProxy DynReacavgwindowlen()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 1 seconds (1s).
Definition: dss_obj.hpp:61765
strings voltwattCH_curve()
Required for VOLTWATT mode for Storage element in CHARGING state.
Definition: dss_obj.hpp:62408
bools EventLog()
{Yes/True* | No/False} Default is YES for InvControl.
Definition: dss_obj.hpp:62170
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:62633
InvControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:62656
std::vector< dss::obj::XYcurve > wattvar_curve_obj()
Required for WATTVAR mode.
Definition: dss_obj.hpp:62545
BatchInt32ArrayProxy avgwindowlen()
Required for VOLTVAR mode and VOLTWATT mode, and defaults to 0 seconds (0s).
Definition: dss_obj.hpp:61548
InvControlBatch(APIUtil *util)
Create a batch of all InvControl elements.
Definition: dss_obj.hpp:61141
BatchInt32ArrayProxy VoltwattYAxis()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:61912
strings RateofChangeMode_str()
Required for VOLTWATT and VOLTVAR mode.
Definition: dss_obj.hpp:62049
BatchFloat64ArrayProxy ArGraLowV()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:61693
BatchInt32ArrayProxy voltage_curvex_ref()
Required for VOLTVAR and VOLTWATT modes, and defaults to rated.
Definition: dss_obj.hpp:61464
std::vector< dss::obj::XYcurve > voltwatt_curve_obj()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:61610
BatchFloat64ArrayProxy VoltageChangeTolerance()
Defaults to 0.0001 per-unit voltage.
Definition: dss_obj.hpp:61838
strings VoltwattYAxis_str()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:61967
std::vector< dss::obj::XYcurve > wattpf_curve_obj()
Required for WATTPF mode.
Definition: dss_obj.hpp:62499
BatchInt32ArrayProxy monVoltageCalc()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:62304
strings RefReactivePower_str()
Required for any mode that has VOLTVAR, DYNAMICREACCURR and WATTVAR.
Definition: dss_obj.hpp:62248
std::vector< strings > monBus()
Name of monitored bus used by the voltage-dependente control modes.
Definition: dss_obj.hpp:62370
BatchFloat64ArrayProxy RiseFallLimit()
Not required.
Definition: dss_obj.hpp:62103
BatchFloat64ArrayProxy deltaQ_Factor()
Required for the VOLTVAR and DYNAMICREACCURR modes.
Definition: dss_obj.hpp:61803
BatchFloat64ArrayProxy deltaP_Factor()
Required for the VOLTWATT modes.
Definition: dss_obj.hpp:62141
strings voltwatt_curve()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:61583
BatchInt32ArrayProxy CombiMode()
Combination of smart inverter functions in which the InvControl will control the PC elements in DERLi...
Definition: dss_obj.hpp:61296
BatchFloat64ArrayProxy DbVMax()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 1....
Definition: dss_obj.hpp:61658
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:62604
strings monVoltageCalc_str()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:62349
strings CombiMode_str()
Combination of smart inverter functions in which the InvControl will control the PC elements in DERLi...
Definition: dss_obj.hpp:61348
BatchFloat64ArrayProxy ArGraHiV()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:61728
Definition: dss_obj.hpp:25376
double DbVMin()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:25963
InvControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:25515
string VoltwattYAxis_str()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:26179
double RiseFallLimit()
Not required.
Definition: dss_obj.hpp:26303
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:25528
double ActivePChangeTolerance()
Required for VOLTWATT.
Definition: dss_obj.hpp:26433
string voltage_curvex_ref_str()
Required for VOLTVAR and VOLTWATT modes, and defaults to rated.
Definition: dss_obj.hpp:25861
dss::obj::XYcurve wattvar_curve_obj()
Required for WATTVAR mode.
Definition: dss_obj.hpp:26675
double ArGraLowV()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:26001
double ArGraHiV()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 0....
Definition: dss_obj.hpp:26022
InvControlVoltWattYAxis VoltwattYAxis()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:26136
string voltwatt_curve()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:25919
InvControlVoltWattYAxis
InvControl: Volt-watt Y-Axis (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25462
double LPFTau()
Not required.
Definition: dss_obj.hpp:26286
int32_t DynReacavgwindowlen()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 1 seconds (1s).
Definition: dss_obj.hpp:26045
InvControlVoltageCurveXRef
InvControl: Voltage Curve X Ref (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25451
strings DERList()
Array list of PVSystem and/or Storage elements to be controlled.
Definition: dss_obj.hpp:25558
InvControl & RateofChangeMode_str(const string &value)
Required for VOLTWATT and VOLTVAR mode.
Definition: dss_obj.hpp:26274
InvControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:26752
double deltaP_Factor()
Required for the VOLTWATT modes.
Definition: dss_obj.hpp:26327
InvControlControlMode Mode()
Smart inverter function in which the InvControl will control the PC elements specified in DERList,...
Definition: dss_obj.hpp:25586
dss::obj::XYcurve voltwatt_curve_obj()
Required for VOLTWATT mode.
Definition: dss_obj.hpp:25946
double deltaQ_Factor()
Required for the VOLTVAR and DYNAMICREACCURR modes.
Definition: dss_obj.hpp:26069
double VarChangeTolerance()
Required for VOLTVAR and DYNAMICREACCURR modes.
Definition: dss_obj.hpp:26111
int32_t monVoltageCalc()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:26448
string vvc_curve1()
Required for VOLTVAR mode.
Definition: dss_obj.hpp:25742
InvControl & monVoltageCalc_str(const string &value)
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:26490
dss::obj::XYcurve vvc_curve1_obj()
Required for VOLTVAR mode.
Definition: dss_obj.hpp:25768
string voltwattCH_curve()
Required for VOLTWATT mode for Storage element in CHARGING state.
Definition: dss_obj.hpp:26538
VectorXd MonBusesVbase()
Array list of rated voltages of the buses and their nodes presented in the monBus property.
Definition: dss_obj.hpp:26515
InvControl & RefReactivePower_str(const string &value)
Required for any mode that has VOLTVAR, DYNAMICREACCURR and WATTVAR.
Definition: dss_obj.hpp:26417
InvControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:26764
InvControlVoltageCurveXRef voltage_curvex_ref()
Required for VOLTVAR and VOLTWATT modes, and defaults to rated.
Definition: dss_obj.hpp:25818
string RefReactivePower_str()
Required for any mode that has VOLTVAR, DYNAMICREACCURR and WATTVAR.
Definition: dss_obj.hpp:26402
InvControlRateOfChangeMode
InvControl: Rate-of-change Mode (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25474
string CombiMode_str()
Combination of smart inverter functions in which the InvControl will control the PC elements in DERLi...
Definition: dss_obj.hpp:25711
InvControlRateOfChangeMode RateofChangeMode()
Required for VOLTWATT and VOLTVAR mode.
Definition: dss_obj.hpp:26216
dss::obj::XYcurve wattpf_curve_obj()
Required for WATTPF mode.
Definition: dss_obj.hpp:26629
InvControl & VoltwattYAxis_str(const string &value)
Required for VOLTWATT mode.
Definition: dss_obj.hpp:26198
InvControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:25495
InvControl & voltage_curvex_ref_str(const string &value)
Required for VOLTVAR and VOLTWATT modes, and defaults to rated.
Definition: dss_obj.hpp:25880
int32_t avgwindowlen()
Required for VOLTVAR mode and VOLTWATT mode, and defaults to 0 seconds (0s).
Definition: dss_obj.hpp:25898
InvControlCombiMode
InvControl: Combi Mode (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25441
InvControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:25536
string wattpf_curve()
Required for WATTPF mode.
Definition: dss_obj.hpp:26595
strings monBus()
Name of monitored bus used by the voltage-dependente control modes.
Definition: dss_obj.hpp:26500
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:26735
bool EventLog()
{Yes/True* | No/False} Default is YES for InvControl.
Definition: dss_obj.hpp:26342
InvControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:25502
string Mode_str()
Smart inverter function in which the InvControl will control the PC elements specified in DERList,...
Definition: dss_obj.hpp:25632
strings PVSystemList()
Deprecated, use DERList instead.
Definition: dss_obj.hpp:26690
InvControl & Mode_str(const string &value)
Smart inverter function in which the InvControl will control the PC elements specified in DERList,...
Definition: dss_obj.hpp:25654
InvControlReactivePowerReference RefReactivePower()
Required for any mode that has VOLTVAR, DYNAMICREACCURR and WATTVAR.
Definition: dss_obj.hpp:26363
string RateofChangeMode_str()
Required for VOLTWATT and VOLTVAR mode.
Definition: dss_obj.hpp:26257
double Vsetpoint()
Required for Active Voltage Regulation (AVR).
Definition: dss_obj.hpp:26705
InvControl & CombiMode_str(const string &value)
Combination of smart inverter functions in which the InvControl will control the PC elements in DERLi...
Definition: dss_obj.hpp:25727
InvControlCombiMode CombiMode()
Combination of smart inverter functions in which the InvControl will control the PC elements in DERLi...
Definition: dss_obj.hpp:25671
double DbVMax()
Required for the dynamic reactive current mode (DYNAMICREACCURR), and defaults to 1....
Definition: dss_obj.hpp:25980
double VoltageChangeTolerance()
Defaults to 0.0001 per-unit voltage.
Definition: dss_obj.hpp:26090
dss::obj::XYcurve voltwattCH_curve_obj()
Required for VOLTWATT mode for Storage element in CHARGING state.
Definition: dss_obj.hpp:26567
InvControlReactivePowerReference
InvControl: Reactive Power Reference (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25485
InvControlControlMode
InvControl: Control Mode (DSS enumeration for InvControl)
Definition: dss_obj.hpp:25427
InvControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:25546
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:26720
double hysteresis_offset()
Required for VOLTVAR mode, and defaults to 0.
Definition: dss_obj.hpp:25793
string wattvar_curve()
Required for WATTVAR mode.
Definition: dss_obj.hpp:26649
string monVoltageCalc_str()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:26481
Definition: dss_obj.hpp:39845
strings Yearly()
LOADSHAPE object to use for the per-unit current for YEARLY-mode simulations.
Definition: dss_obj.hpp:40168
BatchFloat64ArrayProxy frequency()
Source frequency.
Definition: dss_obj.hpp:39974
std::vector< dss::obj::LoadShape > Duty_obj()
LOADSHAPE object to use for the per-unit current for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:40281
IsourceBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:40421
IsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Isource elements that match an integer property value.
Definition: dss_obj.hpp:39861
strings Bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:40300
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:40386
BatchFloat64ArrayProxy angle()
Phase angle in degrees of first phase: e.g.,Angle=10.3.
Definition: dss_obj.hpp:39945
std::vector< dss::obj::Spectrum > spectrum_obj()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:40342
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:40357
BatchFloat64ArrayProxy amps()
Magnitude of current source, each phase, in Amps.
Definition: dss_obj.hpp:39915
std::vector< dss::obj::LoadShape > Daily_obj()
LOADSHAPE object to use for the per-unit current for DAILY-mode simulations.
Definition: dss_obj.hpp:40237
BatchInt32ArrayProxy scantype()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:40032
IsourceBatch(APIUtil *util)
Create a batch of all Isource elements.
Definition: dss_obj.hpp:39853
strings Duty()
LOADSHAPE object to use for the per-unit current for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:40256
strings scantype_str()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:40077
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:40003
strings Daily()
LOADSHAPE object to use for the per-unit current for DAILY-mode simulations.
Definition: dss_obj.hpp:40212
strings sequence_str()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:40143
IsourceBatch(APIUtil *util, const char *regexp)
Create a batch of all Isource elements that match a regular expression.
Definition: dss_obj.hpp:39869
strings bus1()
Name of bus to which source is connected.
Definition: dss_obj.hpp:39894
BatchInt32ArrayProxy sequence()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:40098
strings spectrum()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:40321
IsourceBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:40409
std::vector< dss::obj::LoadShape > Yearly_obj()
LOADSHAPE object to use for the per-unit current for YEARLY-mode simulations.
Definition: dss_obj.hpp:40193
Definition: dss_obj.hpp:8763
Isource & sequence_str(const string &value)
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:9030
Isource & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:9277
dss::obj::LoadShape Duty_obj()
LOADSHAPE object to use for the per-unit current for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:9157
Isource & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:8842
Isource(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:8811
Isource & scantype_str(const string &value)
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8978
dss::obj::LoadShape Daily_obj()
LOADSHAPE object to use for the per-unit current for DAILY-mode simulations.
Definition: dss_obj.hpp:9113
double angle()
Phase angle in degrees of first phase: e.g.,Angle=10.3.
Definition: dss_obj.hpp:8891
double amps()
Magnitude of current source, each phase, in Amps.
Definition: dss_obj.hpp:8875
double frequency()
Source frequency.
Definition: dss_obj.hpp:8906
Isource(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:8791
Isource & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:9265
string spectrum()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:9197
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:9248
string sequence_str()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:9021
string scantype_str()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8969
SequenceType sequence()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:8988
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:8921
dss::obj::Spectrum spectrum_obj()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:9218
string Daily()
LOADSHAPE object to use for the per-unit current for DAILY-mode simulations.
Definition: dss_obj.hpp:9088
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:9233
string bus1()
Name of bus to which source is connected.
Definition: dss_obj.hpp:8854
Isource(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:8798
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:8824
dss::obj::LoadShape Yearly_obj()
LOADSHAPE object to use for the per-unit current for YEARLY-mode simulations.
Definition: dss_obj.hpp:9069
string Yearly()
LOADSHAPE object to use for the per-unit current for YEARLY-mode simulations.
Definition: dss_obj.hpp:9044
string Duty()
LOADSHAPE object to use for the per-unit current for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:9132
ScanType scantype()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8936
Isource & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:8832
string Bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:9176
Definition: dss_obj.hpp:37372
bools Switch()
{y/n | T/F} Default= no/false.
Definition: dss_obj.hpp:37780
strings units_str()
Length Units = {none | mi|kft|km|m|Ft|in|cm } Default is None - assumes length units match impedance ...
Definition: dss_obj.hpp:37969
LineBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:38648
BatchFloat64ArrayProxy rho()
Default=100 meter ohms.
Definition: dss_obj.hpp:37859
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:38625
LineBatch(APIUtil *util)
Create a batch of all Line elements.
Definition: dss_obj.hpp:37380
BatchFloat64ArrayProxy Rg()
Carson earth return resistance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:37801
LineBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Line elements that match an integer property value.
Definition: dss_obj.hpp:37388
std::vector< strings > tscables()
Array of TSData names for use in a cable constants calculation.
Definition: dss_obj.hpp:38219
LineBatch(APIUtil *util, const char *regexp)
Create a batch of all Line elements that match a regular expression.
Definition: dss_obj.hpp:37396
BatchFloat64ArrayProxy B1()
Alternate way to specify C1.
Definition: dss_obj.hpp:38276
std::vector< dss::obj::LineGeometry > geometry_obj()
Geometry code for LineGeometry Object.
Definition: dss_obj.hpp:37909
BatchFloat64ArrayProxy r1()
Positive-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:37560
BatchInt32ArrayProxy units()
Length Units = {none | mi|kft|km|m|Ft|in|cm } Default is None - assumes length units match impedance ...
Definition: dss_obj.hpp:37924
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:38334
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:38480
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:38451
std::vector< strings > cncables()
Array of CNData names for use in a cable constants calculation.
Definition: dss_obj.hpp:38159
BatchFloat64ArrayProxy x1()
Positive-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:37589
strings bus1()
Name of bus to which first terminal is connected.
Definition: dss_obj.hpp:37422
BatchFloat64ArrayProxy C1()
Positive-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:37676
strings linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:38430
strings spacing()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:37992
std::vector< dss::obj::LineCode > linecode_obj()
Name of linecode object describing line impedances.
Definition: dss_obj.hpp:37487
std::vector< VectorXd > xmatrix()
Reactance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:37749
BatchFloat64ArrayProxy x0()
Zero-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:37647
strings linecode()
Name of linecode object describing line impedances.
Definition: dss_obj.hpp:37465
std::vector< std::vector< dss::obj::CNData > > cncables_obj()
Array of CNData names for use in a cable constants calculation.
Definition: dss_obj.hpp:38195
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:38364
BatchFloat64ArrayProxy B0()
Alternate way to specify C0.
Definition: dss_obj.hpp:38305
LineBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:38660
BatchFloat64ArrayProxy Xg()
Carson earth return reactance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:37830
strings bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:37443
strings geometry()
Geometry code for LineGeometry Object.
Definition: dss_obj.hpp:37888
std::vector< std::vector< dss::obj::WireData > > wires_obj()
Array of WireData names for use in an overhead line constants calculation.
Definition: dss_obj.hpp:38069
BatchFloat64ArrayProxy faultrate()
Failure rate PER UNIT LENGTH per year.
Definition: dss_obj.hpp:38509
BatchFloat64ArrayProxy length()
Length of line.
Definition: dss_obj.hpp:37502
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:38538
BatchFloat64ArrayProxy r0()
Zero-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:37618
std::vector< std::vector< dss::obj::TSData > > tscables_obj()
Array of TSData names for use in a cable constants calculation.
Definition: dss_obj.hpp:38255
std::vector< dss::obj::LineSpacing > spacing_obj()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:38015
BatchInt32ArrayProxy phases()
Number of phases, this line.
Definition: dss_obj.hpp:37531
BatchInt32ArrayProxy earthmodel()
One of {Carson | FullCarson | Deri}.
Definition: dss_obj.hpp:38090
BatchInt32ArrayProxy linetype()
Code designating the type of line.
Definition: dss_obj.hpp:38382
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:38567
BatchFloat64ArrayProxy C0()
Zero-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:37705
std::vector< strings > wires()
Array of WireData names for use in an overhead line constants calculation.
Definition: dss_obj.hpp:38033
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:38596
std::vector< VectorXd > cmatrix()
Nodal Capacitance matrix, lower triangle, nf per unit length.Order of the matrix is the number of pha...
Definition: dss_obj.hpp:37764
strings earthmodel_str()
One of {Carson | FullCarson | Deri}.
Definition: dss_obj.hpp:38135
std::vector< VectorXd > rmatrix()
Resistance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:37734
Definition: dss_obj.hpp:30035
strings linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:30850
LineCodeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all LineCode elements that match an integer property value.
Definition: dss_obj.hpp:30051
BatchFloat64ArrayProxy r1()
Positive-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:30111
BatchInt32ArrayProxy linetype()
Code designating the type of line.
Definition: dss_obj.hpp:30802
BatchInt32ArrayProxy neutral()
Designates which conductor is the "neutral" conductor that will be eliminated by Kron reduction.
Definition: dss_obj.hpp:30667
BatchFloat64ArrayProxy Xg()
Carson earth return reactance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:30609
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:30754
std::vector< VectorXd > xmatrix()
Reactance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:30366
LineCodeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:30873
BatchFloat64ArrayProxy C0()
Zero-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:30256
std::vector< VectorXd > cmatrix()
Nodal Capacitance matrix, lower triangle, nf per unit length.Order of the matrix is the number of pha...
Definition: dss_obj.hpp:30381
BatchFloat64ArrayProxy Rg()
Carson earth return resistance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:30580
BatchFloat64ArrayProxy x1()
Positive-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:30140
BatchFloat64ArrayProxy x0()
Zero-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:30198
BatchInt32ArrayProxy units()
One of (ohms per ...) {none|mi|km|kft|m|me|ft|in|cm}.
Definition: dss_obj.hpp:30285
LineCodeBatch(APIUtil *util)
Create a batch of all LineCode elements.
Definition: dss_obj.hpp:30043
BatchFloat64ArrayProxy B1()
Alternate way to specify C1.
Definition: dss_obj.hpp:30696
BatchFloat64ArrayProxy faultrate()
Number of faults per unit length per year.
Definition: dss_obj.hpp:30483
BatchFloat64ArrayProxy pctperm()
Percentage of the faults that become permanent.
Definition: dss_obj.hpp:30512
BatchFloat64ArrayProxy emergamps()
Emergency ampere limit on line (usually one-hour rating).
Definition: dss_obj.hpp:30454
BatchInt32ArrayProxy nphases()
Number of phases in the line this line code data represents.
Definition: dss_obj.hpp:30082
BatchFloat64ArrayProxy C1()
Positive-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:30227
BatchFloat64ArrayProxy r0()
Zero-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:30169
BatchFloat64ArrayProxy rho()
Default=100 meter ohms.
Definition: dss_obj.hpp:30638
LineCodeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:30885
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:30541
strings units_str()
One of (ohms per ...) {none|mi|km|kft|m|me|ft|in|cm}.
Definition: dss_obj.hpp:30330
LineCodeBatch(APIUtil *util, const char *regexp)
Create a batch of all LineCode elements that match a regular expression.
Definition: dss_obj.hpp:30059
std::vector< VectorXd > rmatrix()
Resistance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:30351
BatchFloat64ArrayProxy B0()
Alternate way to specify C0.
Definition: dss_obj.hpp:30725
BatchFloat64ArrayProxy baseFreq()
Frequency at which impedances are specified.
Definition: dss_obj.hpp:30396
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:30784
BatchFloat64ArrayProxy normamps()
Normal ampere limit on line.
Definition: dss_obj.hpp:30425
LineCodeBatch & Kron(bool value)
Kron = Y/N.
Definition: dss_obj.hpp:30570
Definition: dss_obj.hpp:965
double x0()
Zero-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:1127
VectorXd xmatrix()
Reactance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:1239
LineCode & linetype_str(const string &value)
Code designating the type of line.
Definition: dss_obj.hpp:1541
LineCode & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:1553
LineCode(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:1026
double Xg()
Carson earth return reactance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:1384
LineCode & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:1565
double C1()
Positive-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:1142
double rho()
Default=100 meter ohms.
Definition: dss_obj.hpp:1399
LineCode & Kron(bool value)
Kron = Y/N.
Definition: dss_obj.hpp:1359
LineCode & units_str(const string &value)
One of (ohms per ...) {none|mi|km|kft|m|me|ft|in|cm}.
Definition: dss_obj.hpp:1214
LineCode & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:1057
VectorXd cmatrix()
Nodal Capacitance matrix, lower triangle, nf per unit length.Order of the matrix is the number of pha...
Definition: dss_obj.hpp:1254
string linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:1529
double Rg()
Carson earth return resistance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:1369
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:1459
LineCode & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:1047
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:1039
double x1()
Positive-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:1097
double r0()
Zero-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:1112
double baseFreq()
Frequency at which impedances are specified.
Definition: dss_obj.hpp:1269
double C0()
Zero-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:1157
string units_str()
One of (ohms per ...) {none|mi|km|kft|m|me|ft|in|cm}.
Definition: dss_obj.hpp:1205
LineCode(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:1013
LineType linetype()
Code designating the type of line.
Definition: dss_obj.hpp:1493
double repair()
Hours to repair.
Definition: dss_obj.hpp:1344
int32_t nphases()
Number of phases in the line this line code data represents.
Definition: dss_obj.hpp:1067
double faultrate()
Number of faults per unit length per year.
Definition: dss_obj.hpp:1314
double pctperm()
Percentage of the faults that become permanent.
Definition: dss_obj.hpp:1329
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:1475
double B1()
Alternate way to specify C1.
Definition: dss_obj.hpp:1429
double emergamps()
Emergency ampere limit on line (usually one-hour rating).
Definition: dss_obj.hpp:1299
double normamps()
Normal ampere limit on line.
Definition: dss_obj.hpp:1284
DimensionUnits units()
One of (ohms per ...) {none|mi|km|kft|m|me|ft|in|cm}.
Definition: dss_obj.hpp:1172
LineCode(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:1006
int32_t neutral()
Designates which conductor is the "neutral" conductor that will be eliminated by Kron reduction.
Definition: dss_obj.hpp:1414
VectorXd rmatrix()
Resistance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:1224
double B0()
Alternate way to specify C0.
Definition: dss_obj.hpp:1444
double r1()
Positive-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:1082
Definition: dss_obj.hpp:35499
std::vector< std::vector< dss::obj::CNData > > cncable_obj()
Code from CNData.
Definition: dss_obj.hpp:36005
BatchFloat64ArrayProxy normamps()
Normal ampacity, amperes for the line.
Definition: dss_obj.hpp:35787
std::vector< strings > tscable()
Code from TSData.
Definition: dss_obj.hpp:36027
std::vector< VectorXd > x()
x coordinate.
Definition: dss_obj.hpp:35691
LineGeometryBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:36317
std::vector< std::vector< dss::obj::CNData > > cncables_obj()
Array of CNData names for cable parameter calculation.
Definition: dss_obj.hpp:36119
BatchInt32ArrayProxy nphases()
Number of phases.
Definition: dss_obj.hpp:35575
LineGeometryBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:36329
LineGeometryBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all LineGeometry elements that match an integer property value.
Definition: dss_obj.hpp:35515
std::vector< std::vector< dss::obj::WireData > > wire_obj()
Code from WireData.
Definition: dss_obj.hpp:35670
std::vector< std::vector< dss::obj::WireData > > wires_obj()
Array of WireData names for use in a line constants calculation.
Definition: dss_obj.hpp:35949
std::vector< strings > wires()
Array of WireData names for use in a line constants calculation.
Definition: dss_obj.hpp:35912
BatchInt32ArrayProxy nconds()
Number of conductors in this geometry.
Definition: dss_obj.hpp:35546
strings units_str()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:35766
std::vector< std::vector< dss::obj::TSData > > tscable_obj()
Code from TSData.
Definition: dss_obj.hpp:36061
BatchFloat64ArrayProxy emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:35816
bools reduce()
{Yes | No} Default = no.
Definition: dss_obj.hpp:35845
std::vector< dss::obj::LineSpacing > spacing_obj()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:35893
std::vector< strings > cncables()
Array of CNData names for cable parameter calculation.
Definition: dss_obj.hpp:36084
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:36198
BatchInt32ArrayProxy linetype()
Code designating the type of line.
Definition: dss_obj.hpp:36246
LineGeometryBatch(APIUtil *util, const char *regexp)
Create a batch of all LineGeometry elements that match a regular expression.
Definition: dss_obj.hpp:35523
strings spacing()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:35869
std::vector< strings > wire()
Code from WireData.
Definition: dss_obj.hpp:35635
BatchInt32ArrayProxy units()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:35721
std::vector< strings > tscables()
Array of TSData names for cable parameter calculation.
Definition: dss_obj.hpp:36142
std::vector< std::vector< dss::obj::TSData > > tscables_obj()
Array of TSData names for cable parameter calculation.
Definition: dss_obj.hpp:36177
LineGeometryBatch(APIUtil *util)
Create a batch of all LineGeometry elements.
Definition: dss_obj.hpp:35507
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:36228
std::vector< VectorXd > h()
Height of conductor.
Definition: dss_obj.hpp:35706
std::vector< strings > cncable()
Code from CNData.
Definition: dss_obj.hpp:35971
BatchInt32ArrayProxy cond()
Set this = number of the conductor you wish to define.
Definition: dss_obj.hpp:35604
strings linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:36294
Definition: dss_obj.hpp:5430
LineType linetype()
Code designating the type of line.
Definition: dss_obj.hpp:6012
double normamps()
Normal ampacity, amperes for the line.
Definition: dss_obj.hpp:5691
LineGeometry & units_str(const string &value)
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5681
LineGeometry(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:5470
int32_t nconds()
Number of conductors in this geometry.
Definition: dss_obj.hpp:5524
std::vector< dss::obj::CNData > cncable_obj()
Code from CNData.
Definition: dss_obj.hpp:5845
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:5978
strings tscable()
Code from TSData.
Definition: dss_obj.hpp:5861
LineGeometry & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:6084
strings tscables()
Array of TSData names for cable parameter calculation.
Definition: dss_obj.hpp:5940
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:5496
string spacing()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:5739
strings wire()
Code from WireData.
Definition: dss_obj.hpp:5571
VectorXd x()
x coordinate.
Definition: dss_obj.hpp:5609
string linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:6048
string units_str()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5672
int32_t cond()
Set this = number of the conductor you wish to define.
Definition: dss_obj.hpp:5554
std::vector< dss::obj::WireData > wires_obj()
Array of WireData names for use in a line constants calculation.
Definition: dss_obj.hpp:5807
LineGeometry(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:5463
VectorXd h()
Height of conductor.
Definition: dss_obj.hpp:5624
LineGeometry & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:5514
strings cncable()
Code from CNData.
Definition: dss_obj.hpp:5823
LineGeometry(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:5483
strings wires()
Array of WireData names for use in a line constants calculation.
Definition: dss_obj.hpp:5782
std::vector< dss::obj::TSData > tscables_obj()
Array of TSData names for cable parameter calculation.
Definition: dss_obj.hpp:5963
std::vector< dss::obj::TSData > tscable_obj()
Code from TSData.
Definition: dss_obj.hpp:5883
int32_t nphases()
Number of phases.
Definition: dss_obj.hpp:5539
std::vector< dss::obj::CNData > cncables_obj()
Array of CNData names for cable parameter calculation.
Definition: dss_obj.hpp:5923
LineGeometry & linetype_str(const string &value)
Code designating the type of line.
Definition: dss_obj.hpp:6060
double emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:5706
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:5994
LineGeometry & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:6072
dss::obj::LineSpacing spacing_obj()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:5763
bool reduce()
{Yes | No} Default = no.
Definition: dss_obj.hpp:5721
std::vector< dss::obj::WireData > wire_obj()
Code from WireData.
Definition: dss_obj.hpp:5594
strings cncables()
Array of CNData names for cable parameter calculation.
Definition: dss_obj.hpp:5900
LineGeometry & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:5504
DimensionUnits units()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5639
Definition: dss_obj.hpp:35275
BatchInt32ArrayProxy nconds()
Number of wires in this geometry.
Definition: dss_obj.hpp:35322
strings units_str()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:35455
BatchInt32ArrayProxy nphases()
Number of retained phase conductors.
Definition: dss_obj.hpp:35351
std::vector< VectorXd > x()
Array of wire X coordinates.
Definition: dss_obj.hpp:35380
BatchInt32ArrayProxy units()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:35410
LineSpacingBatch(APIUtil *util)
Create a batch of all LineSpacing elements.
Definition: dss_obj.hpp:35283
LineSpacingBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all LineSpacing elements that match an integer property value.
Definition: dss_obj.hpp:35291
LineSpacingBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:35478
std::vector< VectorXd > h()
Array of wire Heights.
Definition: dss_obj.hpp:35395
LineSpacingBatch(APIUtil *util, const char *regexp)
Create a batch of all LineSpacing elements that match a regular expression.
Definition: dss_obj.hpp:35299
LineSpacingBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:35490
Definition: dss_obj.hpp:5215
int32_t nconds()
Number of wires in this geometry.
Definition: dss_obj.hpp:5295
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:5267
int32_t nphases()
Number of retained phase conductors.
Definition: dss_obj.hpp:5310
LineSpacing(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:5234
LineSpacing & units_str(const string &value)
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5397
LineSpacing(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:5241
string units_str()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5388
DimensionUnits units()
Units for x and h: {mi|kft|km|m|Ft|in|cm } Initial default is "ft", but defaults to last unit defined...
Definition: dss_obj.hpp:5355
LineSpacing(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:5254
LineSpacing & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:5285
VectorXd x()
Array of wire X coordinates.
Definition: dss_obj.hpp:5325
LineSpacing & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:5409
LineSpacing & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:5275
LineSpacing & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:5421
VectorXd h()
Array of wire Heights.
Definition: dss_obj.hpp:5340
Definition: dss_obj.hpp:6874
string units_str()
Length Units = {none | mi|kft|km|m|Ft|in|cm } Default is None - assumes length units match impedance ...
Definition: dss_obj.hpp:7364
Line(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:6932
double r0()
Zero-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:7129
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:6958
DimensionUnits units()
Length Units = {none | mi|kft|km|m|Ft|in|cm } Default is None - assumes length units match impedance ...
Definition: dss_obj.hpp:7331
Line & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:7830
double Rg()
Carson earth return resistance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:7250
bool Switch()
{y/n | T/F} Default= no/false.
Definition: dss_obj.hpp:7235
double C0()
Zero-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:7174
std::vector< dss::obj::CNData > cncables_obj()
Array of CNData names for use in a cable constants calculation.
Definition: dss_obj.hpp:7544
std::vector< dss::obj::TSData > tscables_obj()
Array of TSData names for use in a cable constants calculation.
Definition: dss_obj.hpp:7586
string linecode()
Name of linecode object describing line impedances.
Definition: dss_obj.hpp:7032
double rho()
Default=100 meter ohms.
Definition: dss_obj.hpp:7280
Line(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:6945
Line & units_str(const string &value)
Length Units = {none | mi|kft|km|m|Ft|in|cm } Default is None - assumes length units match impedance ...
Definition: dss_obj.hpp:7373
string geometry()
Geometry code for LineGeometry Object.
Definition: dss_obj.hpp:7295
dss::obj::LineCode linecode_obj()
Name of linecode object describing line impedances.
Definition: dss_obj.hpp:7054
double Xg()
Carson earth return reactance per unit length used to compute impedance values at base frequency.
Definition: dss_obj.hpp:7265
Line & earthmodel_str(const string &value)
One of {Carson | FullCarson | Deri}.
Definition: dss_obj.hpp:7507
VectorXd rmatrix()
Resistance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:7189
double x0()
Zero-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:7144
Line & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:6976
std::vector< dss::obj::WireData > wires_obj()
Array of WireData names for use in an overhead line constants calculation.
Definition: dss_obj.hpp:7450
dss::obj::LineGeometry geometry_obj()
Geometry code for LineGeometry Object.
Definition: dss_obj.hpp:7316
Line(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:6925
string earthmodel_str()
One of {Carson | FullCarson | Deri}.
Definition: dss_obj.hpp:7498
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:7798
Line & linetype_str(const string &value)
Code designating the type of line.
Definition: dss_obj.hpp:7713
double normamps()
Normal rated current.
Definition: dss_obj.hpp:7723
LineType linetype()
Code designating the type of line.
Definition: dss_obj.hpp:7665
double r1()
Positive-sequence Resistance, ohms per unit length.
Definition: dss_obj.hpp:7099
double C1()
Positive-sequence capacitance, nf per unit length.
Definition: dss_obj.hpp:7159
string spacing()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:7385
int32_t phases()
Number of phases, this line.
Definition: dss_obj.hpp:7084
string bus1()
Name of bus to which first terminal is connected.
Definition: dss_obj.hpp:6989
double faultrate()
Failure rate PER UNIT LENGTH per year.
Definition: dss_obj.hpp:7753
Line & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:6966
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:7631
double x1()
Positive-sequence Reactance, ohms per unit length.
Definition: dss_obj.hpp:7114
dss::obj::LineSpacing spacing_obj()
Reference to a LineSpacing for use in a line constants calculation.
Definition: dss_obj.hpp:7408
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:7647
strings tscables()
Array of TSData names for use in a cable constants calculation.
Definition: dss_obj.hpp:7562
VectorXd xmatrix()
Reactance matrix, lower triangle, ohms per unit length.
Definition: dss_obj.hpp:7204
strings wires()
Array of WireData names for use in an overhead line constants calculation.
Definition: dss_obj.hpp:7426
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:7768
double B1()
Alternate way to specify C1.
Definition: dss_obj.hpp:7601
double length()
Length of line.
Definition: dss_obj.hpp:7069
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:7738
strings cncables()
Array of CNData names for use in a cable constants calculation.
Definition: dss_obj.hpp:7520
string bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:7010
double B0()
Alternate way to specify C0.
Definition: dss_obj.hpp:7616
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:7813
double repair()
Hours to repair.
Definition: dss_obj.hpp:7783
VectorXd cmatrix()
Nodal Capacitance matrix, lower triangle, nf per unit length.Order of the matrix is the number of pha...
Definition: dss_obj.hpp:7219
string linetype_str()
Code designating the type of line.
Definition: dss_obj.hpp:7701
Line & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:7842
EarthModel earthmodel()
One of {Carson | FullCarson | Deri}.
Definition: dss_obj.hpp:7465
Definition: dss_obj.hpp:40970
strings status_str()
={Variable | Fixed | Exempt}.
Definition: dss_obj.hpp:41540
BatchFloat64ArrayProxy kW()
Total base kW for the load.
Definition: dss_obj.hpp:41108
BatchFloat64ArrayProxy pctstddev()
Percent Std deviation value for load to use for monte carlo studies if no loadshape is assigned to th...
Definition: dss_obj.hpp:41829
strings duty()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:41270
strings conn_str()
={wye or LN | delta or LL}.
Definition: dss_obj.hpp:41387
BatchFloat64ArrayProxy Cfactor()
Factor relating average kW to peak kW.
Definition: dss_obj.hpp:41978
strings yearly()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:41198
BatchInt32ArrayProxy phases()
Number of Phases, this load.
Definition: dss_obj.hpp:41022
BatchFloat64ArrayProxy Vminnorm()
Minimum per unit voltage for load EEN evaluations, Normal limit.
Definition: dss_obj.hpp:41648
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic current spectrum for this load.
Definition: dss_obj.hpp:42264
std::vector< dss::obj::LoadShape > CVRcurve_obj()
Default is NONE.
Definition: dss_obj.hpp:42028
std::vector< dss::obj::LoadShape > duty_obj()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:41291
BatchFloat64ArrayProxy kvar()
Specify the base kvar for specifying load as kW & kvar.
Definition: dss_obj.hpp:41408
BatchFloat64ArrayProxy allocationfactor()
Default = 0.5.
Definition: dss_obj.hpp:41735
LoadBatch(APIUtil *util, const char *regexp)
Create a batch of all Load elements that match a regular expression.
Definition: dss_obj.hpp:40999
BatchFloat64ArrayProxy CVRvars()
Percent reduction in reactive power (vars) per 1% reduction in voltage from 100% rated.
Definition: dss_obj.hpp:41891
BatchInt32ArrayProxy NumCust()
Number of customers, this load.
Definition: dss_obj.hpp:42043
std::vector< dss::obj::LoadShape > yearly_obj()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:41219
std::vector< dss::obj::LoadShape > daily_obj()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:41255
BatchFloat64ArrayProxy Vlowpu()
Default = 0.50.
Definition: dss_obj.hpp:42152
std::vector< VectorXd > ZIPV()
Array of 7 coefficients:
Definition: dss_obj.hpp:42077
BatchInt32ArrayProxy conn()
={wye or LN | delta or LL}.
Definition: dss_obj.hpp:41342
strings bus1()
Bus to which the load is connected.
Definition: dss_obj.hpp:41051
BatchFloat64ArrayProxy CVRwatts()
Percent reduction in active power (watts) per 1% reduction in voltage from 100% rated.
Definition: dss_obj.hpp:41860
BatchFloat64ArrayProxy xfkVA()
Default = 0.0.
Definition: dss_obj.hpp:41706
LoadBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:42331
BatchFloat64ArrayProxy Rneut()
Default is -1.
Definition: dss_obj.hpp:41437
strings CVRcurve()
Default is NONE.
Definition: dss_obj.hpp:42007
BatchFloat64ArrayProxy XRharm()
X/R ratio of the special harmonics mode reactance specified by the puXHARM property at fundamental fr...
Definition: dss_obj.hpp:42214
BatchFloat64ArrayProxy kwhdays()
Length of kWh billing period in days (24 hr days).
Definition: dss_obj.hpp:41949
BatchFloat64ArrayProxy Vminpu()
Default = 0.95.
Definition: dss_obj.hpp:41590
BatchFloat64ArrayProxy Xneut()
Neutral reactance of wye(star)-connected load in actual ohms.
Definition: dss_obj.hpp:41466
BatchFloat64ArrayProxy RelWeight()
Relative weighting factor for reliability calcs.
Definition: dss_obj.hpp:42123
LoadBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Load elements that match an integer property value.
Definition: dss_obj.hpp:40991
BatchFloat64ArrayProxy kVA()
Specify base Load in kVA (and power factor)
Definition: dss_obj.hpp:41771
BatchFloat64ArrayProxy puXharm()
Special reactance, pu (based on kVA, kV properties), for the series impedance branch in the load mode...
Definition: dss_obj.hpp:42185
strings spectrum()
Name of harmonic current spectrum for this load.
Definition: dss_obj.hpp:42243
BatchFloat64ArrayProxy Vminemerg()
Minimum per unit voltage for load UE evaluations, Emergency limit.
Definition: dss_obj.hpp:41677
BatchFloat64ArrayProxy pctmean()
Percent mean value for load to use for monte carlo studies if no loadshape is assigned to this load.
Definition: dss_obj.hpp:41800
BatchFloat64ArrayProxy kV()
Nominal rated (1.0 per unit) voltage, kV, for load.
Definition: dss_obj.hpp:41072
BatchFloat64ArrayProxy pctSeriesRL()
Percent of load that is series R-L for Harmonic studies.
Definition: dss_obj.hpp:42092
BatchInt32ArrayProxy cls()
An arbitrary integer number representing the class of load so that load values may be segregated by l...
Definition: dss_obj.hpp:41561
BatchInt32ArrayProxy model()
Integer code for the model to use for load variation with voltage.
Definition: dss_obj.hpp:41177
strings growth()
Characteristic to use for growth factors by years.
Definition: dss_obj.hpp:41306
BatchFloat64ArrayProxy Vmaxpu()
Default = 1.05.
Definition: dss_obj.hpp:41619
std::vector< dss::obj::GrowthShape > growth_obj()
Characteristic to use for growth factors by years.
Definition: dss_obj.hpp:41327
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:42308
LoadBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:42343
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:42279
BatchFloat64ArrayProxy pf()
Load power factor.
Definition: dss_obj.hpp:41137
strings daily()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:41234
BatchFloat64ArrayProxy kwh()
kWh billed for this period.
Definition: dss_obj.hpp:41920
LoadBatch(APIUtil *util)
Create a batch of all Load elements.
Definition: dss_obj.hpp:40983
BatchInt32ArrayProxy status()
={Variable | Fixed | Exempt}.
Definition: dss_obj.hpp:41495
Definition: dss_obj.hpp:30894
LoadShapeBatch(APIUtil *util, const char *regexp)
Create a batch of all LoadShape elements that match a regular expression.
Definition: dss_obj.hpp:30922
strings dblfile()
Switch input of active power load curve data to a binary file of doubles containing (hour,...
Definition: dss_obj.hpp:31151
LoadShapeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:31507
std::vector< VectorXd > mult()
Array of multiplier values for active power (P) or other key value (such as pu V for Vsource).
Definition: dss_obj.hpp:31016
BatchFloat64ArrayProxy interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:30976
strings PQCSVFile()
Switch input to a CSV text file containing (active, reactive) power (P, Q) multiplier pairs,...
Definition: dss_obj.hpp:31450
std::vector< VectorXd > qmult()
Array of multiplier values for reactive power (Q).
Definition: dss_obj.hpp:31224
LoadShapeBatch(APIUtil *util)
Create a batch of all LoadShape elements.
Definition: dss_obj.hpp:30906
BatchFloat64ArrayProxy Pmax()
kW value at the time of max power.
Definition: dss_obj.hpp:31260
bools MemoryMapping()
{Yes | No* | True | False*} Enables the memory mapping functionality for dealing with large amounts o...
Definition: dss_obj.hpp:31472
LoadShapeBatch & action(const char *value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:31210
BatchFloat64ArrayProxy sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:31318
LoadShapeBatch & action(const string &value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:31198
LoadShapeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:31495
LoadShapeBatch & action(LoadShape::LoadShapeAction value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:31186
bools UseActual()
{Yes | No* | True | False*} If true, signifies to Load, Generator, Vsource, or other objects to use t...
Definition: dss_obj.hpp:31239
LoadShapeBatch & action(int32_t value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:31174
strings sngfile()
Switch input of active power load curve data to a binary file of singles containing (hour,...
Definition: dss_obj.hpp:31130
BatchFloat64ArrayProxy minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:31347
std::vector< VectorXd > Pmult()
Synonym for "mult".
Definition: dss_obj.hpp:31434
BatchInt32ArrayProxy npts()
Max number of points to expect in load shape vectors.
Definition: dss_obj.hpp:30945
BatchFloat64ArrayProxy Qmax()
kvar value at the time of max kW power.
Definition: dss_obj.hpp:31289
std::vector< VectorXd > hour()
Array of hour values.
Definition: dss_obj.hpp:31034
BatchFloat64ArrayProxy Qbase()
Base Q value for normalization.
Definition: dss_obj.hpp:31405
strings csvfile()
Switch input of active power load curve data to a CSV text file containing (hour, mult) points,...
Definition: dss_obj.hpp:31109
BatchFloat64ArrayProxy Pbase()
Base P value for normalization.
Definition: dss_obj.hpp:31376
LoadShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all LoadShape elements that match an integer property value.
Definition: dss_obj.hpp:30914
BatchFloat64ArrayProxy mean()
Mean of the active power multipliers.
Definition: dss_obj.hpp:31049
BatchFloat64ArrayProxy stddev()
Standard deviation of active power multipliers.
Definition: dss_obj.hpp:31080
Definition: dss_obj.hpp:1574
LoadShape & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:1664
double Pmax()
kW value at the time of max power.
Definition: dss_obj.hpp:1937
LoadShape & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:2094
int32_t npts()
Max number of points to expect in load shape vectors.
Definition: dss_obj.hpp:1684
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:1656
string dblfile()
Switch input of active power load curve data to a binary file of doubles containing (hour,...
Definition: dss_obj.hpp:1834
string csvfile()
Switch input of active power load curve data to a CSV text file containing (hour, mult) points,...
Definition: dss_obj.hpp:1792
double Qbase()
Base Q value for normalization.
Definition: dss_obj.hpp:2012
LoadShape & action(LoadShapeAction value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:1869
VectorXd qmult()
Array of multiplier values for reactive power (Q).
Definition: dss_obj.hpp:1907
LoadShape & action(const char *value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:1893
double minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:1982
VectorXd mult()
Array of multiplier values for active power (P) or other key value (such as pu V for Vsource).
Definition: dss_obj.hpp:1727
string PQCSVFile()
Switch input to a CSV text file containing (active, reactive) power (P, Q) multiplier pairs,...
Definition: dss_obj.hpp:2043
LoadShape & action(int32_t value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:1857
string sngfile()
Switch input of active power load curve data to a binary file of singles containing (hour,...
Definition: dss_obj.hpp:1813
LoadShape & action(const string &value)
{NORMALIZE | DblSave | SngSave} After defining load curve data, setting action=normalize will modify ...
Definition: dss_obj.hpp:1881
double sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:1967
LoadShape(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:1630
LoadShape(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:1623
bool UseActual()
{Yes | No* | True | False*} If true, signifies to Load, Generator, Vsource, or other objects to use t...
Definition: dss_obj.hpp:1922
VectorXd hour()
Array of hour values.
Definition: dss_obj.hpp:1745
LoadShape & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:2082
double mean()
Mean of the active power multipliers.
Definition: dss_obj.hpp:1760
double Qmax()
kvar value at the time of max kW power.
Definition: dss_obj.hpp:1952
double stddev()
Standard deviation of active power multipliers.
Definition: dss_obj.hpp:1777
LoadShape(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:1643
VectorXd Pmult()
Synonym for "mult".
Definition: dss_obj.hpp:2027
LoadShapeAction
LoadShape: Action (DSS enumeration for LoadShape)
Definition: dss_obj.hpp:1612
double interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:1701
bool MemoryMapping()
{Yes | No* | True | False*} Enables the memory mapping functionality for dealing with large amounts o...
Definition: dss_obj.hpp:2065
LoadShape & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:1674
double Pbase()
Base P value for normalization.
Definition: dss_obj.hpp:1997
Definition: dss_obj.hpp:9732
double Vlowpu()
Default = 0.50.
Definition: dss_obj.hpp:10630
Load & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:10747
double pctstddev()
Percent Std deviation value for load to use for monte carlo studies if no loadshape is assigned to th...
Definition: dss_obj.hpp:10433
double Vminnorm()
Minimum per unit voltage for load EEN evaluations, Normal limit.
Definition: dss_obj.hpp:10336
string bus1()
Bus to which the load is connected.
Definition: dss_obj.hpp:9893
double RelWeight()
Relative weighting factor for reliability calcs.
Definition: dss_obj.hpp:10615
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:10715
LoadModel model()
Integer code for the model to use for load variation with voltage.
Definition: dss_obj.hpp:9977
double CVRwatts()
Percent reduction in active power (watts) per 1% reduction in voltage from 100% rated.
Definition: dss_obj.hpp:10450
dss::obj::Spectrum spectrum_obj()
Name of harmonic current spectrum for this load.
Definition: dss_obj.hpp:10700
double kwh()
kWh billed for this period.
Definition: dss_obj.hpp:10482
string conn_str()
={wye or LN | delta or LL}.
Definition: dss_obj.hpp:10175
Load & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:9868
dss::obj::LoadShape daily_obj()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:10055
double kvar()
Specify the base kvar for specifying load as kW & kvar.
Definition: dss_obj.hpp:10194
Load(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:9824
double Vmaxpu()
Default = 1.05.
Definition: dss_obj.hpp:10321
double Xneut()
Neutral reactance of wye(star)-connected load in actual ohms.
Definition: dss_obj.hpp:10224
Load & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:9858
double allocationfactor()
Default = 0.5.
Definition: dss_obj.hpp:10381
dss::obj::LoadShape CVRcurve_obj()
Default is NONE.
Definition: dss_obj.hpp:10548
string daily()
LOADSHAPE object to use for daily simulations.
Definition: dss_obj.hpp:10034
string CVRcurve()
Default is NONE.
Definition: dss_obj.hpp:10527
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:10730
double kW()
Total base kW for the load.
Definition: dss_obj.hpp:9936
int32_t phases()
Number of Phases, this load.
Definition: dss_obj.hpp:9878
double Rneut()
Default is -1.
Definition: dss_obj.hpp:10209
LoadStatus
Load: Status (DSS enumeration for Load)
Definition: dss_obj.hpp:9806
double Vminemerg()
Minimum per unit voltage for load UE evaluations, Emergency limit.
Definition: dss_obj.hpp:10351
int32_t NumCust()
Number of customers, this load.
Definition: dss_obj.hpp:10563
double XRharm()
X/R ratio of the special harmonics mode reactance specified by the puXHARM property at fundamental fr...
Definition: dss_obj.hpp:10664
string spectrum()
Name of harmonic current spectrum for this load.
Definition: dss_obj.hpp:10679
int32_t cls()
An arbitrary integer number representing the class of load so that load values may be segregated by l...
Definition: dss_obj.hpp:10291
double pctSeriesRL()
Percent of load that is series R-L for Harmonic studies.
Definition: dss_obj.hpp:10598
double CVRvars()
Percent reduction in reactive power (vars) per 1% reduction in voltage from 100% rated.
Definition: dss_obj.hpp:10467
Load & conn_str(const string &value)
={wye or LN | delta or LL}.
Definition: dss_obj.hpp:10184
dss::obj::GrowthShape growth_obj()
Characteristic to use for growth factors by years.
Definition: dss_obj.hpp:10127
dss::obj::LoadShape duty_obj()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:10091
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:9850
double pctmean()
Percent mean value for load to use for monte carlo studies if no loadshape is assigned to this load.
Definition: dss_obj.hpp:10418
double Vminpu()
Default = 0.95.
Definition: dss_obj.hpp:10306
string yearly()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:9998
Load(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:9817
double pf()
Load power factor.
Definition: dss_obj.hpp:9951
string growth()
Characteristic to use for growth factors by years.
Definition: dss_obj.hpp:10106
Load(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:9837
double kVA()
Specify base Load in kVA (and power factor)
Definition: dss_obj.hpp:10403
double puXharm()
Special reactance, pu (based on kVA, kV properties), for the series impedance branch in the load mode...
Definition: dss_obj.hpp:10649
double Cfactor()
Factor relating average kW to peak kW.
Definition: dss_obj.hpp:10512
Load & status_str(const string &value)
={Variable | Fixed | Exempt}.
Definition: dss_obj.hpp:10281
double xfkVA()
Default = 0.0.
Definition: dss_obj.hpp:10366
Load & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:10759
double kwhdays()
Length of kWh billing period in days (24 hr days).
Definition: dss_obj.hpp:10497
dss::obj::LoadShape yearly_obj()
LOADSHAPE object to use for yearly simulations.
Definition: dss_obj.hpp:10019
LoadModel
Load: Model (DSS enumeration for Load)
Definition: dss_obj.hpp:9790
string duty()
LOADSHAPE object to use for duty cycle simulations.
Definition: dss_obj.hpp:10070
double kV()
Nominal rated (1.0 per unit) voltage, kV, for load.
Definition: dss_obj.hpp:9914
LoadStatus status()
={Variable | Fixed | Exempt}.
Definition: dss_obj.hpp:10239
string status_str()
={Variable | Fixed | Exempt}.
Definition: dss_obj.hpp:10272
VectorXd ZIPV()
Array of 7 coefficients:
Definition: dss_obj.hpp:10583
Connection conn()
={wye or LN | delta or LL}.
Definition: dss_obj.hpp:10142
Definition: dss_obj.hpp:65242
MonitorBatch & action(const char *value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:65461
bools residual()
{Yes/True | No/False} Default = No.
Definition: dss_obj.hpp:65471
bools VIPolar()
{Yes/True | No/False} Default = YES.
Definition: dss_obj.hpp:65492
MonitorBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:65598
BatchInt32ArrayProxy terminal()
Number of the terminal of the circuit element to which the monitor is connected.
Definition: dss_obj.hpp:65329
std::vector< dss::obj::DSSObj > element_obj()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:65314
MonitorBatch(APIUtil *util)
Create a batch of all Monitor elements.
Definition: dss_obj.hpp:65254
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:65563
MonitorBatch(APIUtil *util, const char *regexp)
Create a batch of all Monitor elements that match a regular expression.
Definition: dss_obj.hpp:65270
BatchInt32ArrayProxy mode()
Bitmask integer designating the values the monitor is to capture: 0 = Voltages and currents at design...
Definition: dss_obj.hpp:65382
MonitorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Monitor elements that match an integer property value.
Definition: dss_obj.hpp:65262
MonitorBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:65586
bools PPolar()
{Yes/True | No/False} Default = YES.
Definition: dss_obj.hpp:65513
MonitorBatch & action(Monitor::MonitorAction value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:65431
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:65534
MonitorBatch & action(const string &value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:65446
MonitorBatch & action(int32_t value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:65416
strings element()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:65293
Definition: dss_obj.hpp:28674
Monitor(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:28733
int32_t terminal()
Number of the terminal of the circuit element to which the monitor is connected.
Definition: dss_obj.hpp:28810
dss::obj::DSSObj element_obj()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:28795
Monitor & action(MonitorAction value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:28884
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:28969
Monitor(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:28713
MonitorAction
Monitor: Action (DSS enumeration for Monitor)
Definition: dss_obj.hpp:28700
Monitor & action(const char *value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:28914
bool PPolar()
{Yes/True | No/False} Default = YES.
Definition: dss_obj.hpp:28954
int32_t mode()
Bitmask integer designating the values the monitor is to capture: 0 = Voltages and currents at design...
Definition: dss_obj.hpp:28849
bool VIPolar()
{Yes/True | No/False} Default = YES.
Definition: dss_obj.hpp:28939
string element()
Name (Full Object name) of element to which the monitor is connected.
Definition: dss_obj.hpp:28774
Monitor & action(const string &value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:28899
Monitor & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:29001
Monitor(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:28720
Monitor & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:28754
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:28984
Monitor & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:28764
Monitor & action(int32_t value)
{Clear | Save | Take | Process} (C)lears or (S)aves current buffer.
Definition: dss_obj.hpp:28869
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:28746
Monitor & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:29013
bool residual()
{Yes/True | No/False} Default = No.
Definition: dss_obj.hpp:28924
Definition: dss_obj.hpp:54971
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:56241
BatchInt32ArrayProxy phases()
Number of Phases, this PVSystem element.
Definition: dss_obj.hpp:55018
bools Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:55647
strings Tdaily()
Temperature shape to use for daily simulations.
Definition: dss_obj.hpp:55833
strings duty()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:55761
BatchFloat64ArrayProxy kvar()
Get/set the present kvar value.
Definition: dss_obj.hpp:55310
BatchFloat64ArrayProxy pctPmpp()
Upper limit on active power as a percentage of Pmpp.
Definition: dss_obj.hpp:55155
std::vector< dss::obj::LoadShape > daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:55746
std::vector< dss::obj::XYcurve > EffCurve_obj()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:55447
bools debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:55976
BatchFloat64ArrayProxy Temperature()
Get/set the present Temperature.
Definition: dss_obj.hpp:55184
BatchInt32ArrayProxy conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:55244
strings UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:55955
PVSystemBatch(APIUtil *util)
Create a batch of all PVSystem elements.
Definition: dss_obj.hpp:54979
bools VarFollowInverter()
Boolean variable (Yes|No) or (True|False).
Definition: dss_obj.hpp:55997
std::vector< dss::obj::XYcurve > PTCurve_obj()
An XYCurve object, previously defined, that describes the PV array PER UNIT Pmpp vs Temperature curve...
Definition: dss_obj.hpp:55483
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:56270
BatchFloat64ArrayProxy DutyStart()
Starting time offset [hours] into the duty cycle shape for this PVSystem, defaults to 0.
Definition: dss_obj.hpp:56018
BatchFloat64ArrayProxy pctX()
Equivalent percent internal reactance, ohms.
Definition: dss_obj.hpp:55527
BatchFloat64ArrayProxy pctR()
Equivalent percent internal resistance, ohms.
Definition: dss_obj.hpp:55498
PVSystemBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:56305
std::vector< dss::obj::TShape > Tduty_obj()
Temperature shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:55890
std::vector< dss::obj::TShape > Tyearly_obj()
Temperature shape to use for yearly simulations.
Definition: dss_obj.hpp:55818
strings spectrum()
Name of harmonic voltage or current spectrum for this PVSystem element.
Definition: dss_obj.hpp:56205
BatchFloat64ArrayProxy Pmpp()
Get/set the rated max power of the PV array for 1.0 kW/sq-m irradiance and a user-selected array temp...
Definition: dss_obj.hpp:55126
BatchFloat64ArrayProxy pctPminNoVars()
Minimum active power as percentage of Pmpp under which there is no vars production/absorption.
Definition: dss_obj.hpp:56089
PVSystemBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all PVSystem elements that match an integer property value.
Definition: dss_obj.hpp:54987
bools WattPriority()
{Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority
Definition: dss_obj.hpp:56047
bools LimitCurrent()
Limits current magnitude to Vminpu value for both 1-phase and 3-phase PVSystems similar to Generator ...
Definition: dss_obj.hpp:55668
strings daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:55725
BatchInt32ArrayProxy cls()
An arbitrary integer number representing the class of PVSystem element so that PVSystem values may be...
Definition: dss_obj.hpp:55905
PVSystemBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:56293
BatchFloat64ArrayProxy kvarMax()
Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:56147
strings Tyearly()
Temperature shape to use for yearly simulations.
Definition: dss_obj.hpp:55797
PVSystemBatch(APIUtil *util, const char *regexp)
Create a batch of all PVSystem elements that match a regular expression.
Definition: dss_obj.hpp:54995
strings PTCurve()
An XYCurve object, previously defined, that describes the PV array PER UNIT Pmpp vs Temperature curve...
Definition: dss_obj.hpp:55462
BatchFloat64ArrayProxy kvarMaxAbs()
Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:56176
strings yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:55689
BatchFloat64ArrayProxy pf()
Nominally, the power factor for the output power.
Definition: dss_obj.hpp:55215
strings EffCurve()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:55426
BatchInt32ArrayProxy model()
Integer code (default=1) for the model to use for power output variation with voltage.
Definition: dss_obj.hpp:55560
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic voltage or current spectrum for this PVSystem element.
Definition: dss_obj.hpp:56226
BatchFloat64ArrayProxy irradiance()
Get/set the present irradiance value in kW/sq-m.
Definition: dss_obj.hpp:55097
strings UserModel()
Name of DLL containing user-written model, which computes the terminal currents for Dynamics studies,...
Definition: dss_obj.hpp:55934
strings Tduty()
Temperature shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:55869
bools PFPriority()
{Yes/No*‍/True/False} Set inverter to operate with PF priority when in constant PF mode.
Definition: dss_obj.hpp:56068
std::vector< dss::obj::LoadShape > duty_obj()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:55782
BatchFloat64ArrayProxy kVA()
kVA rating of inverter.
Definition: dss_obj.hpp:55339
BatchFloat64ArrayProxy pctCutin()
% cut-in power – % of kVA rating of inverter.
Definition: dss_obj.hpp:55368
BatchFloat64ArrayProxy Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:55618
BatchFloat64ArrayProxy Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:55589
BatchFloat64ArrayProxy pctCutout()
% cut-out power – % of kVA rating of inverter.
Definition: dss_obj.hpp:55397
std::vector< dss::obj::TShape > Tdaily_obj()
Temperature shape to use for daily simulations.
Definition: dss_obj.hpp:55854
BatchFloat64ArrayProxy kv()
Nominal rated (1.0 per unit) voltage, kV, for PVSystem element.
Definition: dss_obj.hpp:55068
strings bus1()
Bus to which the PVSystem element is connected.
Definition: dss_obj.hpp:55047
strings conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:55289
std::vector< dss::obj::LoadShape > yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:55710
BatchFloat64ArrayProxy pctPminkvarMax()
Minimum active power as percentage of Pmpp that allows the inverter to produce/absorb reactive power ...
Definition: dss_obj.hpp:56118
Definition: dss_obj.hpp:20621
PVSystem & conn_str(const string &value)
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:20909
double pctR()
Equivalent percent internal resistance, ohms.
Definition: dss_obj.hpp:21051
double Temperature()
Get/set the present Temperature.
Definition: dss_obj.hpp:20835
PVSystem(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:20698
dss::obj::LoadShape duty_obj()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:21253
double pctPminNoVars()
Minimum active power as percentage of Pmpp under which there is no vars production/absorption.
Definition: dss_obj.hpp:21508
string bus1()
Bus to which the PVSystem element is connected.
Definition: dss_obj.hpp:20754
int32_t model()
Integer code (default=1) for the model to use for power output variation with voltage.
Definition: dss_obj.hpp:21085
double pctPminkvarMax()
Minimum active power as percentage of Pmpp that allows the inverter to produce/absorb reactive power ...
Definition: dss_obj.hpp:21523
string Tyearly()
Temperature shape to use for yearly simulations.
Definition: dss_obj.hpp:21268
int32_t phases()
Number of Phases, this PVSystem element.
Definition: dss_obj.hpp:20739
double pctCutin()
% cut-in power – % of kVA rating of inverter.
Definition: dss_obj.hpp:20949
double kVA()
kVA rating of inverter.
Definition: dss_obj.hpp:20934
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:21604
string spectrum()
Name of harmonic voltage or current spectrum for this PVSystem element.
Definition: dss_obj.hpp:21568
double kvar()
Get/set the present kvar value.
Definition: dss_obj.hpp:20919
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:21619
PVSystem(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:20678
bool LimitCurrent()
Limits current magnitude to Vminpu value for both 1-phase and 3-phase PVSystems similar to Generator ...
Definition: dss_obj.hpp:21145
double Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:21115
int32_t cls()
An arbitrary integer number representing the class of PVSystem element so that PVSystem values may be...
Definition: dss_obj.hpp:21376
dss::obj::Spectrum spectrum_obj()
Name of harmonic voltage or current spectrum for this PVSystem element.
Definition: dss_obj.hpp:21589
string Tduty()
Temperature shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:21340
string Tdaily()
Temperature shape to use for daily simulations.
Definition: dss_obj.hpp:21304
string UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:21412
double DutyStart()
Starting time offset [hours] into the duty cycle shape for this PVSystem, defaults to 0.
Definition: dss_obj.hpp:21463
double pctCutout()
% cut-out power – % of kVA rating of inverter.
Definition: dss_obj.hpp:20964
double kvarMaxAbs()
Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:21553
string PTCurve()
An XYCurve object, previously defined, that describes the PV array PER UNIT Pmpp vs Temperature curve...
Definition: dss_obj.hpp:21015
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:20711
dss::obj::LoadShape yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:21181
string conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:20900
bool WattPriority()
{Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority
Definition: dss_obj.hpp:21478
dss::obj::XYcurve PTCurve_obj()
An XYCurve object, previously defined, that describes the PV array PER UNIT Pmpp vs Temperature curve...
Definition: dss_obj.hpp:21036
bool PFPriority()
{Yes/No*‍/True/False} Set inverter to operate with PF priority when in constant PF mode.
Definition: dss_obj.hpp:21493
PVSystem & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:21636
dss::obj::TShape Tduty_obj()
Temperature shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:21361
string EffCurve()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:20979
PVSystem(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:20685
string yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:21160
double irradiance()
Get/set the present irradiance value in kW/sq-m.
Definition: dss_obj.hpp:20790
string UserModel()
Name of DLL containing user-written model, which computes the terminal currents for Dynamics studies,...
Definition: dss_obj.hpp:21391
double kv()
Nominal rated (1.0 per unit) voltage, kV, for PVSystem element.
Definition: dss_obj.hpp:20775
double pctX()
Equivalent percent internal reactance, ohms.
Definition: dss_obj.hpp:21066
double pf()
Nominally, the power factor for the output power.
Definition: dss_obj.hpp:20852
double Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:21100
dss::obj::LoadShape daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:21217
dss::obj::TShape Tdaily_obj()
Temperature shape to use for daily simulations.
Definition: dss_obj.hpp:21325
PVSystem & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:20719
Connection conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:20867
string duty()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:21232
dss::obj::TShape Tyearly_obj()
Temperature shape to use for yearly simulations.
Definition: dss_obj.hpp:21289
bool VarFollowInverter()
Boolean variable (Yes|No) or (True|False).
Definition: dss_obj.hpp:21448
dss::obj::XYcurve EffCurve_obj()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:21000
double Pmpp()
Get/set the rated max power of the PV array for 1.0 kW/sq-m irradiance and a user-selected array temp...
Definition: dss_obj.hpp:20805
PVSystem & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:20729
double kvarMax()
Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:21538
double pctPmpp()
Upper limit on active power as a percentage of Pmpp.
Definition: dss_obj.hpp:20820
bool debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:21433
PVSystem & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:21648
bool Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:21130
string daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:21196
Definition: dss_obj.hpp:31909
PriceShapeBatch(APIUtil *util, const char *regexp)
Create a batch of all PriceShape elements that match a regular expression.
Definition: dss_obj.hpp:31937
std::vector< VectorXd > hour()
Array of hour values.
Definition: dss_obj.hpp:32043
BatchFloat64ArrayProxy interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:31991
PriceShapeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:32293
PriceShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all PriceShape elements that match an integer property value.
Definition: dss_obj.hpp:31929
BatchFloat64ArrayProxy minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:32210
BatchFloat64ArrayProxy mean()
Mean of the Price curve values.
Definition: dss_obj.hpp:32058
PriceShapeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:32281
PriceShapeBatch & action(int32_t value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:32239
PriceShapeBatch & action(const char *value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:32269
PriceShapeBatch & action(const string &value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:32259
PriceShapeBatch(APIUtil *util)
Create a batch of all PriceShape elements.
Definition: dss_obj.hpp:31921
strings dblfile()
Switch input of Price curve data to a binary file of doubles containing (hour, Price) points,...
Definition: dss_obj.hpp:32160
PriceShapeBatch & action(PriceShape::PriceShapeAction value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:32249
strings csvfile()
Switch input of Price curve data to a csv file containing (hour, Price) points, or simply (Price) val...
Definition: dss_obj.hpp:32118
std::vector< VectorXd > price()
Array of Price values.
Definition: dss_obj.hpp:32025
BatchFloat64ArrayProxy sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:32181
BatchInt32ArrayProxy npts()
Max number of points to expect in price shape vectors.
Definition: dss_obj.hpp:31960
BatchFloat64ArrayProxy stddev()
Standard deviation of the Prices.
Definition: dss_obj.hpp:32089
strings sngfile()
Switch input of Price curve data to a binary file of singles containing (hour, Price) points,...
Definition: dss_obj.hpp:32139
Definition: dss_obj.hpp:2461
double interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:2578
double sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:2726
string sngfile()
Switch input of Price curve data to a binary file of singles containing (hour, Price) points,...
Definition: dss_obj.hpp:2684
PriceShape & action(const char *value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:2786
PriceShape & action(const string &value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:2776
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:2533
double minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:2741
PriceShape(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:2520
double mean()
Mean of the Price curve values.
Definition: dss_obj.hpp:2631
PriceShape & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:2551
PriceShape & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:2810
PriceShapeAction
PriceShape: Action (DSS enumeration for PriceShape)
Definition: dss_obj.hpp:2490
PriceShape & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:2798
PriceShape & action(int32_t value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:2756
string dblfile()
Switch input of Price curve data to a binary file of doubles containing (hour, Price) points,...
Definition: dss_obj.hpp:2705
PriceShape & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:2541
double stddev()
Standard deviation of the Prices.
Definition: dss_obj.hpp:2648
PriceShape & action(PriceShapeAction value)
{DblSave | SngSave} After defining Price curve data... Setting action=DblSave or SngSave will cause t...
Definition: dss_obj.hpp:2766
VectorXd hour()
Array of hour values.
Definition: dss_obj.hpp:2616
VectorXd price()
Array of Price values.
Definition: dss_obj.hpp:2598
int32_t npts()
Max number of points to expect in price shape vectors.
Definition: dss_obj.hpp:2561
PriceShape(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:2500
string csvfile()
Switch input of Price curve data to a csv file containing (hour, Price) points, or simply (Price) val...
Definition: dss_obj.hpp:2663
PriceShape(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:2507
Definition: dss_obj.hpp:44456
std::vector< complex > Z0()
Zer0-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:44902
std::vector< VectorXd > Rmatrix()
Resistance matrix, lower triangle, ohms at base frequency.
Definition: dss_obj.hpp:44704
BatchFloat64ArrayProxy kvar()
Total kvar, all phases.
Definition: dss_obj.hpp:44580
ReactorBatch(APIUtil *util)
Create a batch of all Reactor elements.
Definition: dss_obj.hpp:44464
std::vector< complex > Z1()
Positive-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:44848
BatchFloat64ArrayProxy X()
Reactance, each phase, ohms at base frequency.
Definition: dss_obj.hpp:44784
BatchFloat64ArrayProxy Rp()
Resistance in parallel with R and X (the entire branch).
Definition: dss_obj.hpp:44813
std::vector< VectorXd > Xmatrix()
Reactance matrix, lower triangle, ohms at base frequency.
Definition: dss_obj.hpp:44719
strings bus2()
Name of 2nd bus.
Definition: dss_obj.hpp:44530
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:45047
std::vector< dss::obj::XYcurve > LCurve_obj()
Name of XYCurve object, previously defined, describing per-unit variation of phase inductance,...
Definition: dss_obj.hpp:45003
std::vector< dss::obj::XYcurve > RCurve_obj()
Name of XYCurve object, previously defined, describing per-unit variation of phase resistance,...
Definition: dss_obj.hpp:44967
strings RCurve()
Name of XYCurve object, previously defined, describing per-unit variation of phase resistance,...
Definition: dss_obj.hpp:44946
std::vector< complex > Z2()
Negative-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:44875
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:45221
ReactorBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:45256
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:45163
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:45076
ReactorBatch(APIUtil *util, const char *regexp)
Create a batch of all Reactor elements that match a regular expression.
Definition: dss_obj.hpp:44480
ReactorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Reactor elements that match an integer property value.
Definition: dss_obj.hpp:44472
std::vector< complex > Z()
Alternative way of defining R and X properties.
Definition: dss_obj.hpp:44925
strings conn_str()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN.
Definition: dss_obj.hpp:44683
bools Parallel()
{Yes | No} Default=No.
Definition: dss_obj.hpp:44734
ReactorBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:45244
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:45192
BatchInt32ArrayProxy conn()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN.
Definition: dss_obj.hpp:44638
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:44551
strings LCurve()
Name of XYCurve object, previously defined, describing per-unit variation of phase inductance,...
Definition: dss_obj.hpp:44982
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:45105
BatchFloat64ArrayProxy R()
Resistance (in series with reactance), each phase, ohms.
Definition: dss_obj.hpp:44755
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:45134
BatchFloat64ArrayProxy LmH()
Inductance, mH.
Definition: dss_obj.hpp:45018
BatchFloat64ArrayProxy kv()
For 2, 3-phase, kV phase-phase.
Definition: dss_obj.hpp:44609
strings bus1()
Name of first bus.
Definition: dss_obj.hpp:44507
Definition: dss_obj.hpp:12404
Reactor & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:13022
Reactor(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:12464
double kvar()
Total kvar, all phases.
Definition: dss_obj.hpp:12568
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:12933
Reactor & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:13010
double normamps()
Normal rated current.
Definition: dss_obj.hpp:12903
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:12918
complex Z0()
Zer0-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:12786
Reactor(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:12444
bool Parallel()
{Yes | No} Default=No.
Definition: dss_obj.hpp:12680
Reactor & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:12485
complex Z2()
Negative-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:12766
string bus1()
Name of first bus.
Definition: dss_obj.hpp:12509
double X()
Reactance, each phase, ohms at base frequency.
Definition: dss_obj.hpp:12710
string bus2()
Name of 2nd bus.
Definition: dss_obj.hpp:12532
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:12993
VectorXd Rmatrix()
Resistance matrix, lower triangle, ohms at base frequency.
Definition: dss_obj.hpp:12650
VectorXd Xmatrix()
Reactance matrix, lower triangle, ohms at base frequency.
Definition: dss_obj.hpp:12665
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:12553
string LCurve()
Name of XYCurve object, previously defined, describing per-unit variation of phase inductance,...
Definition: dss_obj.hpp:12852
double Rp()
Resistance in parallel with R and X (the entire branch).
Definition: dss_obj.hpp:12725
Reactor(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:12451
double R()
Resistance (in series with reactance), each phase, ohms.
Definition: dss_obj.hpp:12695
double kv()
For 2, 3-phase, kV phase-phase.
Definition: dss_obj.hpp:12583
Reactor & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:12495
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:12477
complex Z1()
Positive-sequence impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:12746
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:12948
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:12978
double LmH()
Inductance, mH.
Definition: dss_obj.hpp:12888
Connection conn()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN.
Definition: dss_obj.hpp:12598
string RCurve()
Name of XYCurve object, previously defined, describing per-unit variation of phase resistance,...
Definition: dss_obj.hpp:12816
string conn_str()
={wye | delta |LN |LL} Default is wye, which is equivalent to LN.
Definition: dss_obj.hpp:12631
dss::obj::XYcurve RCurve_obj()
Name of XYCurve object, previously defined, describing per-unit variation of phase resistance,...
Definition: dss_obj.hpp:12837
Reactor & conn_str(const string &value)
={wye | delta |LN |LL} Default is wye, which is equivalent to LN.
Definition: dss_obj.hpp:12640
dss::obj::XYcurve LCurve_obj()
Name of XYCurve object, previously defined, describing per-unit variation of phase inductance,...
Definition: dss_obj.hpp:12873
double repair()
Hours to repair.
Definition: dss_obj.hpp:12963
complex Z()
Alternative way of defining R and X properties.
Definition: dss_obj.hpp:12802
Definition: dss_obj.hpp:53080
BatchFloat64ArrayProxy Delay()
Fixed delay time (sec) added to Recloser trip time.
Definition: dss_obj.hpp:53624
strings SwitchedObj()
Name of circuit element switch that the Recloser controls.
Definition: dss_obj.hpp:53197
strings Normal_str()
{Open | Closed} Normal state of the recloser.
Definition: dss_obj.hpp:53880
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:53996
std::vector< dss::obj::TCC_Curve > PhaseDelayed_obj()
Name of the TCC Curve object that determines the Phase Delayed trip.
Definition: dss_obj.hpp:53348
std::vector< VectorXd > RecloseIntervals()
Array of reclose intervals.
Definition: dss_obj.hpp:53609
strings State_str()
{Open | Closed} Actual state of the recloser.
Definition: dss_obj.hpp:53946
BatchFloat64ArrayProxy Reset()
Reset time in sec for Recloser.
Definition: dss_obj.hpp:53551
RecloserBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:54031
BatchInt32ArrayProxy Shots()
Total Number of fast and delayed shots to lockout.
Definition: dss_obj.hpp:53580
BatchFloat64ArrayProxy PhaseInst()
Actual amps for instantaneous phase trip which is assumed to happen in 0.01 sec + Delay Time.
Definition: dss_obj.hpp:53493
BatchFloat64ArrayProxy PhaseTrip()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:53435
strings Action_str()
DEPRECATED.
Definition: dss_obj.hpp:53698
strings PhaseFast()
Name of the TCC Curve object that determines the Phase Fast trip.
Definition: dss_obj.hpp:53291
RecloserBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:54019
BatchFloat64ArrayProxy TDPhFast()
Time dial for Phase Fast trip curve.
Definition: dss_obj.hpp:53719
BatchFloat64ArrayProxy TDPhDelayed()
Time dial for Phase Delayed trip curve.
Definition: dss_obj.hpp:53777
std::vector< dss::obj::DSSObj > SwitchedObj_obj()
Name of circuit element switch that the Recloser controls.
Definition: dss_obj.hpp:53218
strings MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:53132
BatchFloat64ArrayProxy GroundTrip()
Multiplier or actual ground amps (3I0) for the ground TCC curve.
Definition: dss_obj.hpp:53464
BatchInt32ArrayProxy Normal()
{Open | Closed} Normal state of the recloser.
Definition: dss_obj.hpp:53835
std::vector< dss::obj::TCC_Curve > GroundFast_obj()
Name of the TCC Curve object that determines the Ground Fast trip.
Definition: dss_obj.hpp:53384
RecloserBatch(APIUtil *util)
Create a batch of all Recloser elements.
Definition: dss_obj.hpp:53093
BatchInt32ArrayProxy SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Recloser.
Definition: dss_obj.hpp:53233
std::vector< dss::obj::TCC_Curve > PhaseFast_obj()
Name of the TCC Curve object that determines the Phase Fast trip.
Definition: dss_obj.hpp:53312
BatchFloat64ArrayProxy TDGrFast()
Time dial for Ground Fast trip curve.
Definition: dss_obj.hpp:53748
BatchInt32ArrayProxy Action()
DEPRECATED.
Definition: dss_obj.hpp:53653
BatchFloat64ArrayProxy TDGrDelayed()
Time dial for Ground Delayed trip curve.
Definition: dss_obj.hpp:53806
BatchFloat64ArrayProxy GroundInst()
Actual amps for instantaneous ground trip which is assumed to happen in 0.01 sec + Delay Time....
Definition: dss_obj.hpp:53522
BatchInt32ArrayProxy State()
{Open | Closed} Actual state of the recloser.
Definition: dss_obj.hpp:53901
std::vector< dss::obj::TCC_Curve > GroundDelayed_obj()
Name of the TCC Curve object that determines the Ground Delayed trip.
Definition: dss_obj.hpp:53420
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:53967
strings GroundFast()
Name of the TCC Curve object that determines the Ground Fast trip.
Definition: dss_obj.hpp:53363
BatchInt32ArrayProxy NumFast()
Number of Fast (fuse saving) operations.
Definition: dss_obj.hpp:53262
std::vector< dss::obj::DSSObj > MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:53153
BatchInt32ArrayProxy MonitoredTerm()
Number of the terminal of the circuit element to which the Recloser is connected.
Definition: dss_obj.hpp:53168
strings GroundDelayed()
Name of the TCC Curve object that determines the Ground Delayed trip.
Definition: dss_obj.hpp:53399
RecloserBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Recloser elements that match an integer property value.
Definition: dss_obj.hpp:53101
strings PhaseDelayed()
Name of the TCC Curve object that determines the Phase Delayed trip.
Definition: dss_obj.hpp:53327
RecloserBatch(APIUtil *util, const char *regexp)
Create a batch of all Recloser elements that match a regular expression.
Definition: dss_obj.hpp:53109
Definition: dss_obj.hpp:18994
double TDGrFast()
Time dial for Ground Fast trip curve.
Definition: dss_obj.hpp:19568
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:19092
RecloserState
Recloser: State (DSS enumeration for Recloser)
Definition: dss_obj.hpp:19048
int32_t NumFast()
Number of Fast (fuse saving) operations.
Definition: dss_obj.hpp:19222
dss::obj::TCC_Curve GroundDelayed_obj()
Name of the TCC Curve object that determines the Ground Delayed trip.
Definition: dss_obj.hpp:19366
int32_t Shots()
Total Number of fast and delayed shots to lockout.
Definition: dss_obj.hpp:19456
int32_t SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Recloser.
Definition: dss_obj.hpp:19207
Recloser & State_str(const string &value)
{Open | Closed} Actual state of the recloser.
Definition: dss_obj.hpp:19707
dss::obj::DSSObj MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:19141
double PhaseTrip()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:19381
double Reset()
Reset time in sec for Recloser.
Definition: dss_obj.hpp:19441
VectorXd RecloseIntervals()
Array of reclose intervals.
Definition: dss_obj.hpp:19471
RecloserState State()
{Open | Closed} Actual state of the recloser.
Definition: dss_obj.hpp:19665
double TDGrDelayed()
Time dial for Ground Delayed trip curve.
Definition: dss_obj.hpp:19598
string MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:19120
Recloser & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:19110
dss::obj::TCC_Curve GroundFast_obj()
Name of the TCC Curve object that determines the Ground Fast trip.
Definition: dss_obj.hpp:19330
string GroundDelayed()
Name of the TCC Curve object that determines the Ground Delayed trip.
Definition: dss_obj.hpp:19345
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:19732
string Normal_str()
{Open | Closed} Normal state of the recloser.
Definition: dss_obj.hpp:19646
dss::obj::TCC_Curve PhaseFast_obj()
Name of the TCC Curve object that determines the Phase Fast trip.
Definition: dss_obj.hpp:19258
dss::obj::TCC_Curve PhaseDelayed_obj()
Name of the TCC Curve object that determines the Phase Delayed trip.
Definition: dss_obj.hpp:19294
string PhaseDelayed()
Name of the TCC Curve object that determines the Phase Delayed trip.
Definition: dss_obj.hpp:19273
RecloserAction Action()
DEPRECATED.
Definition: dss_obj.hpp:19501
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:19717
Recloser & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:19761
Recloser(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:19059
string GroundFast()
Name of the TCC Curve object that determines the Ground Fast trip.
Definition: dss_obj.hpp:19309
RecloserAction
Recloser: Action (DSS enumeration for Recloser)
Definition: dss_obj.hpp:19037
RecloserState Normal()
{Open | Closed} Normal state of the recloser.
Definition: dss_obj.hpp:19613
dss::obj::DSSObj SwitchedObj_obj()
Name of circuit element switch that the Recloser controls.
Definition: dss_obj.hpp:19192
double Delay()
Fixed delay time (sec) added to Recloser trip time.
Definition: dss_obj.hpp:19486
double GroundInst()
Actual amps for instantaneous ground trip which is assumed to happen in 0.01 sec + Delay Time....
Definition: dss_obj.hpp:19426
string PhaseFast()
Name of the TCC Curve object that determines the Phase Fast trip.
Definition: dss_obj.hpp:19237
double TDPhDelayed()
Time dial for Phase Delayed trip curve.
Definition: dss_obj.hpp:19583
int32_t MonitoredTerm()
Number of the terminal of the circuit element to which the Recloser is connected.
Definition: dss_obj.hpp:19156
Recloser & Normal_str(const string &value)
{Open | Closed} Normal state of the recloser.
Definition: dss_obj.hpp:19655
Recloser & Action_str(const string &value)
DEPRECATED.
Definition: dss_obj.hpp:19543
string SwitchedObj()
Name of circuit element switch that the Recloser controls.
Definition: dss_obj.hpp:19171
string Action_str()
DEPRECATED.
Definition: dss_obj.hpp:19534
string State_str()
{Open | Closed} Actual state of the recloser.
Definition: dss_obj.hpp:19698
double PhaseInst()
Actual amps for instantaneous phase trip which is assumed to happen in 0.01 sec + Delay Time.
Definition: dss_obj.hpp:19411
Recloser & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:19749
Recloser & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:19100
double TDPhFast()
Time dial for Phase Fast trip curve.
Definition: dss_obj.hpp:19553
Recloser(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:19066
Recloser(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:19079
double GroundTrip()
Multiplier or actual ground amps (3I0) for the ground TCC curve.
Definition: dss_obj.hpp:19396
Definition: dss_obj.hpp:60095
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:61080
BatchFloat64ArrayProxy delay()
Time delay, in seconds, from when the voltage goes out of band to when the tap changing begins.
Definition: dss_obj.hpp:60410
RegControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all RegControl elements that match an integer property value.
Definition: dss_obj.hpp:60115
RegControlBatch(APIUtil *util, const char *regexp)
Create a batch of all RegControl elements that match a regular expression.
Definition: dss_obj.hpp:60123
BatchFloat64ArrayProxy revDelay()
Time Delay in seconds (s) for executing the reversing action once the threshold for reversing has bee...
Definition: dss_obj.hpp:60833
strings bus()
Name of a bus (busname.nodename) in the system to use as the controlled bus instead of the bus to whi...
Definition: dss_obj.hpp:60389
BatchFloat64ArrayProxy CTprim()
Rating, in Amperes, of the primary CT rating for which the line amps convert to control rated amps....
Definition: dss_obj.hpp:60302
RegControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:61103
BatchFloat64ArrayProxy vreg()
Voltage regulator setting, in VOLTS, for the winding being controlled.
Definition: dss_obj.hpp:60215
BatchFloat64ArrayProxy R()
R setting on the line drop compensator in the regulator, expressed in VOLTS.
Definition: dss_obj.hpp:60331
BatchFloat64ArrayProxy tapdelay()
Delay in sec between tap changes.
Definition: dss_obj.hpp:60576
RegControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:61115
BatchInt32ArrayProxy TapNum()
An integer number indicating the tap position that the controlled transformer winding tap position is...
Definition: dss_obj.hpp:60933
std::vector< dss::obj::DSSObj > transformer_obj()
Name of Transformer or AutoTrans element to which the RegControl is connected.
Definition: dss_obj.hpp:60171
BatchFloat64ArrayProxy ptratio()
Ratio of the PT that converts the controlled winding voltage to the regulator control voltage.
Definition: dss_obj.hpp:60273
BatchFloat64ArrayProxy LDC_Z()
Z value for Beckwith LDC_Z control option.
Definition: dss_obj.hpp:60972
RegControlBatch(APIUtil *util)
Create a batch of all RegControl elements.
Definition: dss_obj.hpp:60107
strings PTphase_str()
For multi-phase transformers, the number of the phase being monitored or one of { MAX | MIN} for all ...
Definition: dss_obj.hpp:60783
RegControlBatch & Reset(bool value)
{Yes | No} If Yes, forces Reset of this RegControl.
Definition: dss_obj.hpp:60962
BatchInt32ArrayProxy tapwinding()
Winding containing the actual taps, if different than the WINDING property.
Definition: dss_obj.hpp:60680
BatchInt32ArrayProxy maxtapchange()
Maximum allowable tap change per control iteration in STATIC control mode.
Definition: dss_obj.hpp:60630
bools Cogen()
{Yes|No*} Default is No.
Definition: dss_obj.hpp:61030
BatchFloat64ArrayProxy vlimit()
Voltage Limit for bus to which regulated winding is connected (e.g.
Definition: dss_obj.hpp:60709
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:61051
BatchFloat64ArrayProxy revvreg()
Voltage setting in volts for operation in the reverse direction.
Definition: dss_obj.hpp:60460
BatchInt32ArrayProxy winding()
Number of the winding of the transformer element that the RegControl is monitoring.
Definition: dss_obj.hpp:60186
bools debugtrace()
{Yes | No* } Default is no.
Definition: dss_obj.hpp:60605
BatchFloat64ArrayProxy band()
Bandwidth in VOLTS for the controlled bus (see help for ptratio property).
Definition: dss_obj.hpp:60244
BatchFloat64ArrayProxy rev_Z()
Reverse Z value for Beckwith LDC_Z control option.
Definition: dss_obj.hpp:61001
bools revNeutral()
{Yes | No*} Default is no.
Definition: dss_obj.hpp:60862
BatchInt32ArrayProxy PTphase()
For multi-phase transformers, the number of the phase being monitored or one of { MAX | MIN} for all ...
Definition: dss_obj.hpp:60738
BatchFloat64ArrayProxy revX()
X line drop compensator setting for reverse direction.
Definition: dss_obj.hpp:60547
strings transformer()
Name of Transformer or AutoTrans element to which the RegControl is connected.
Definition: dss_obj.hpp:60148
BatchFloat64ArrayProxy X()
X setting on the line drop compensator in the regulator, expressed in VOLTS.
Definition: dss_obj.hpp:60360
bools inversetime()
{Yes | No* } Default is no.
Definition: dss_obj.hpp:60659
BatchFloat64ArrayProxy revR()
R line drop compensator setting for reverse direction.
Definition: dss_obj.hpp:60518
BatchFloat64ArrayProxy RemotePTRatio()
When regulating a bus (the Bus= property is set), the PT ratio required to convert actual voltage at ...
Definition: dss_obj.hpp:60904
bools EventLog()
{Yes/True* | No/False} Default is YES for regulator control.
Definition: dss_obj.hpp:60883
BatchFloat64ArrayProxy revband()
Bandwidth for operating in the reverse direction.
Definition: dss_obj.hpp:60489
BatchFloat64ArrayProxy revThreshold()
kW reverse power threshold for reversing the direction of the regulator.
Definition: dss_obj.hpp:60804
bools reversible()
{Yes |No*} Indicates whether or not the regulator can be switched to regulate in the reverse directio...
Definition: dss_obj.hpp:60439
Definition: dss_obj.hpp:24654
string bus()
Name of a bus (busname.nodename) in the system to use as the controlled bus instead of the bus to whi...
Definition: dss_obj.hpp:24921
RegControl & PTphase_str(const string &value)
For multi-phase transformers, the number of the phase being monitored or one of { MAX | MIN} for all ...
Definition: dss_obj.hpp:25168
double revband()
Bandwidth for operating in the reverse direction.
Definition: dss_obj.hpp:24987
bool reversible()
{Yes |No*} Indicates whether or not the regulator can be switched to regulate in the reverse directio...
Definition: dss_obj.hpp:24957
double X()
X setting on the line drop compensator in the regulator, expressed in VOLTS.
Definition: dss_obj.hpp:24906
RegControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:24722
double revX()
X line drop compensator setting for reverse direction.
Definition: dss_obj.hpp:25017
int32_t maxtapchange()
Maximum allowable tap change per control iteration in STATIC control mode.
Definition: dss_obj.hpp:25066
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:24748
double tapdelay()
Delay in sec between tap changes.
Definition: dss_obj.hpp:25032
int32_t PTphase()
For multi-phase transformers, the number of the phase being monitored or one of { MAX | MIN} for all ...
Definition: dss_obj.hpp:25126
int32_t tapwinding()
Winding containing the actual taps, if different than the WINDING property.
Definition: dss_obj.hpp:25096
RegControl & Reset(bool value)
{Yes | No} If Yes, forces Reset of this RegControl.
Definition: dss_obj.hpp:25268
RegControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:24766
RegControlPhaseSelection
RegControl: Phase Selection (DSS enumeration for RegControl)
Definition: dss_obj.hpp:24705
RegControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:25367
bool EventLog()
{Yes/True* | No/False} Default is YES for regulator control.
Definition: dss_obj.hpp:25223
int32_t TapNum()
An integer number indicating the tap position that the controlled transformer winding tap position is...
Definition: dss_obj.hpp:25253
double band()
Bandwidth in VOLTS for the controlled bus (see help for ptratio property).
Definition: dss_obj.hpp:24846
RegControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:24756
double LDC_Z()
Z value for Beckwith LDC_Z control option.
Definition: dss_obj.hpp:25278
double ptratio()
Ratio of the PT that converts the controlled winding voltage to the regulator control voltage.
Definition: dss_obj.hpp:24861
string transformer()
Name of Transformer or AutoTrans element to which the RegControl is connected.
Definition: dss_obj.hpp:24778
double vreg()
Voltage regulator setting, in VOLTS, for the winding being controlled.
Definition: dss_obj.hpp:24831
double R()
R setting on the line drop compensator in the regulator, expressed in VOLTS.
Definition: dss_obj.hpp:24891
double rev_Z()
Reverse Z value for Beckwith LDC_Z control option.
Definition: dss_obj.hpp:25293
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:25338
int32_t winding()
Number of the winding of the transformer element that the RegControl is monitoring.
Definition: dss_obj.hpp:24816
double RemotePTRatio()
When regulating a bus (the Bus= property is set), the PT ratio required to convert actual voltage at ...
Definition: dss_obj.hpp:25238
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:25323
double CTprim()
Rating, in Amperes, of the primary CT rating for which the line amps convert to control rated amps....
Definition: dss_obj.hpp:24876
bool Cogen()
{Yes|No*} Default is No.
Definition: dss_obj.hpp:25308
double vlimit()
Voltage Limit for bus to which regulated winding is connected (e.g.
Definition: dss_obj.hpp:25111
double delay()
Time delay, in seconds, from when the voltage goes out of band to when the tap changing begins.
Definition: dss_obj.hpp:24942
double revThreshold()
kW reverse power threshold for reversing the direction of the regulator.
Definition: dss_obj.hpp:25178
string PTphase_str()
For multi-phase transformers, the number of the phase being monitored or one of { MAX | MIN} for all ...
Definition: dss_obj.hpp:25159
RegControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:24735
double revR()
R line drop compensator setting for reverse direction.
Definition: dss_obj.hpp:25002
RegControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:24715
double revDelay()
Time Delay in seconds (s) for executing the reversing action once the threshold for reversing has bee...
Definition: dss_obj.hpp:25193
bool debugtrace()
{Yes | No* } Default is no.
Definition: dss_obj.hpp:25047
bool inversetime()
{Yes | No* } Default is no.
Definition: dss_obj.hpp:25081
double revvreg()
Voltage setting in volts for operation in the reverse direction.
Definition: dss_obj.hpp:24972
dss::obj::DSSObj transformer_obj()
Name of Transformer or AutoTrans element to which the RegControl is connected.
Definition: dss_obj.hpp:24801
RegControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:25355
bool revNeutral()
{Yes | No*} Default is no.
Definition: dss_obj.hpp:25208
Definition: dss_obj.hpp:51360
BatchFloat64ArrayProxy overtrip()
Trip setting (high value) for Generic relay variable.
Definition: dss_obj.hpp:52217
RelayBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Relay elements that match an integer property value.
Definition: dss_obj.hpp:51382
bools DistReverse()
{Yes/True* | No/False} Default is No; reverse direction for distance and td21 types.
Definition: dss_obj.hpp:52586
BatchFloat64ArrayProxy DOC_DelayInner()
Trip time delay (sec) for operation in inner zone for DOC relay, defined when "DOC_TripSettingMag" or...
Definition: dss_obj.hpp:52884
std::vector< dss::obj::TCC_Curve > Overvoltcurve_obj()
TCC Curve object to use for overvoltage relay.
Definition: dss_obj.hpp:52000
BatchFloat64ArrayProxy TDPhase()
Time dial for Phase trip curve.
Definition: dss_obj.hpp:51761
bools EventLog()
{Yes/True* | No/False} Default is Yes for Relay.
Definition: dss_obj.hpp:52544
BatchFloat64ArrayProxy DOC_TiltAngleLow()
Tilt angle for lower current magnitudes.
Definition: dss_obj.hpp:52739
BatchFloat64ArrayProxy Breakertime()
Fixed delay time (sec) added to relay time.
Definition: dss_obj.hpp:52275
BatchInt32ArrayProxy State()
{Open | Closed} Actual state of the relay.
Definition: dss_obj.hpp:52673
strings type_str()
One of a legal relay type: Current Voltage Reversepower 46 (neg seq current) 47 (neg seq voltage) Gen...
Definition: dss_obj.hpp:51610
BatchFloat64ArrayProxy Z0mag()
Zero sequence reach impedance in primary ohms for Distance and TD21 functions.
Definition: dss_obj.hpp:52428
BatchInt32ArrayProxy type()
One of a legal relay type: Current Voltage Reversepower 46 (neg seq current) 47 (neg seq voltage) Gen...
Definition: dss_obj.hpp:51554
BatchFloat64ArrayProxy PhaseTrip()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:51703
BatchFloat64ArrayProxy DOC_TiltAngleHigh()
Tilt angle for higher current magnitudes.
Definition: dss_obj.hpp:52768
BatchInt32ArrayProxy MonitoredTerm()
Number of the terminal of the circuit element to which the Relay is connected.
Definition: dss_obj.hpp:51449
BatchInt32ArrayProxy Normal()
{Open | Closed} Normal state of the relay.
Definition: dss_obj.hpp:52607
std::vector< dss::obj::TCC_Curve > Phasecurve_obj()
Name of the TCC Curve object that determines the phase trip.
Definition: dss_obj.hpp:51652
BatchInt32ArrayProxy SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Relay.
Definition: dss_obj.hpp:51514
BatchFloat64ArrayProxy kvbase()
Voltage base (kV) for the relay.
Definition: dss_obj.hpp:52051
std::vector< dss::obj::TCC_Curve > Undervoltcurve_obj()
TCC Curve object to use for undervoltage relay.
Definition: dss_obj.hpp:52036
RelayBatch(APIUtil *util, const char *regexp)
Create a batch of all Relay elements that match a regular expression.
Definition: dss_obj.hpp:51390
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:53007
BatchFloat64ArrayProxy PhaseInst()
Actual amps (Current relay) or kW (reverse power relay) for instantaneous phase trip which is assumed...
Definition: dss_obj.hpp:51819
BatchFloat64ArrayProxy isqt46()
Negative Sequence I-squared-t trip value for 46 relay (neg seq current).
Definition: dss_obj.hpp:52167
strings Groundcurve()
Name of the TCC Curve object that determines the ground trip.
Definition: dss_obj.hpp:51667
BatchFloat64ArrayProxy GroundInst()
Actual amps for instantaneous ground trip which is assumed to happen in 0.01 sec + Delay Time....
Definition: dss_obj.hpp:51848
strings Variable()
Name of variable in PC Elements being monitored.
Definition: dss_obj.hpp:52196
BatchFloat64ArrayProxy BaseAmps46()
Base current, Amps, for 46 relay (neg seq current).
Definition: dss_obj.hpp:52109
BatchFloat64ArrayProxy DOC_TripSettingHigh()
Trip setting for higher current magnitude.
Definition: dss_obj.hpp:52826
strings action_str()
DEPRECATED.
Definition: dss_obj.hpp:52349
BatchFloat64ArrayProxy Z0ang()
Zero sequence reach impedance angle in degrees for Distance and TD21 functions.
Definition: dss_obj.hpp:52457
BatchFloat64ArrayProxy Reset()
Reset time in sec for relay.
Definition: dss_obj.hpp:51877
BatchFloat64ArrayProxy DOC_PhaseCurveInner()
Name of the TCC Curve object that determines the phase trip for operation in inner zone for DOC relay...
Definition: dss_obj.hpp:52913
std::vector< VectorXd > RecloseIntervals()
Array of reclose intervals.
Definition: dss_obj.hpp:51935
BatchInt32ArrayProxy Shots()
Number of shots to lockout.
Definition: dss_obj.hpp:51906
BatchFloat64ArrayProxy pctPickup47()
Percent voltage pickup for 47 relay (Neg seq voltage).
Definition: dss_obj.hpp:52080
BatchFloat64ArrayProxy undertrip()
Trip setting (low value) for Generic relay variable.
Definition: dss_obj.hpp:52246
strings Phasecurve()
Name of the TCC Curve object that determines the phase trip.
Definition: dss_obj.hpp:51631
std::vector< dss::obj::DSSObj > MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:51434
BatchFloat64ArrayProxy Mphase()
Phase reach multiplier in per-unit for Distance and TD21 functions.
Definition: dss_obj.hpp:52486
strings Overvoltcurve()
TCC Curve object to use for overvoltage relay.
Definition: dss_obj.hpp:51979
std::vector< dss::obj::TCC_Curve > Groundcurve_obj()
Name of the TCC Curve object that determines the ground trip.
Definition: dss_obj.hpp:51688
BatchFloat64ArrayProxy DOC_TripSettingMag()
Trip setting for current magnitude (define a circle for the relay characteristics).
Definition: dss_obj.hpp:52855
bools DebugTrace()
{Yes/True* | No/False} Default is No for Relay.
Definition: dss_obj.hpp:52565
strings MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:51413
strings DOC_TDPhaseInner()
Time dial for "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:52971
strings Undervoltcurve()
TCC Curve object to use for undervoltage relay.
Definition: dss_obj.hpp:52015
BatchFloat64ArrayProxy DOC_TripSettingLow()
Trip setting for lower current magnitude.
Definition: dss_obj.hpp:52797
strings Normal_str()
{Open | Closed} Normal state of the relay.
Definition: dss_obj.hpp:52652
BatchFloat64ArrayProxy Delay()
Trip time delay (sec) for DEFINITE TIME relays.
Definition: dss_obj.hpp:51950
strings SwitchedObj()
Name of circuit element switch that the Relay controls.
Definition: dss_obj.hpp:51478
BatchInt32ArrayProxy action()
DEPRECATED.
Definition: dss_obj.hpp:52304
RelayBatch(APIUtil *util)
Create a batch of all Relay elements.
Definition: dss_obj.hpp:51374
BatchFloat64ArrayProxy Z1ang()
Positive sequence reach impedance angle in degrees for Distance and TD21 functions.
Definition: dss_obj.hpp:52399
RelayBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:53059
BatchFloat64ArrayProxy pctPickup46()
Percent pickup current for 46 relay (neg seq current).
Definition: dss_obj.hpp:52138
BatchFloat64ArrayProxy GroundTrip()
Multiplier or actual ground amps (3I0) for the ground TCC curve.
Definition: dss_obj.hpp:51732
BatchFloat64ArrayProxy Mground()
Ground reach multiplier in per-unit for Distance and TD21 functions.
Definition: dss_obj.hpp:52515
BatchFloat64ArrayProxy DOC_PhaseTripInner()
Multiplier for the "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:52942
std::vector< dss::obj::DSSObj > SwitchedObj_obj()
Name of circuit element switch that the Relay controls.
Definition: dss_obj.hpp:51499
std::vector< dss::obj::TCC_Curve > DOC_TDPhaseInner_obj()
Time dial for "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:52992
BatchFloat64ArrayProxy Z1mag()
Positive sequence reach impedance in primary ohms for Distance and TD21 functions.
Definition: dss_obj.hpp:52370
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:53036
strings State_str()
{Open | Closed} Actual state of the relay.
Definition: dss_obj.hpp:52718
BatchFloat64ArrayProxy TDGround()
Time dial for Ground trip curve.
Definition: dss_obj.hpp:51790
RelayBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:53071
Definition: dss_obj.hpp:17704
double Mground()
Ground reach multiplier in per-unit for Distance and TD21 functions.
Definition: dss_obj.hpp:18621
string Variable()
Name of variable in PC Elements being monitored.
Definition: dss_obj.hpp:18428
RelayAction
Relay: Action (DSS enumeration for Relay)
Definition: dss_obj.hpp:17789
bool EventLog()
{Yes/True* | No/False} Default is Yes for Relay.
Definition: dss_obj.hpp:18636
double Z0ang()
Zero sequence reach impedance angle in degrees for Distance and TD21 functions.
Definition: dss_obj.hpp:18591
double Z0mag()
Zero sequence reach impedance in primary ohms for Distance and TD21 functions.
Definition: dss_obj.hpp:18576
RelayState State()
{Open | Closed} Actual state of the relay.
Definition: dss_obj.hpp:18733
bool DebugTrace()
{Yes/True* | No/False} Default is No for Relay.
Definition: dss_obj.hpp:18651
double DOC_TripSettingHigh()
Trip setting for higher current magnitude.
Definition: dss_obj.hpp:18830
double undertrip()
Trip setting (low value) for Generic relay variable.
Definition: dss_obj.hpp:18464
double DOC_TripSettingMag()
Trip setting for current magnitude (define a circle for the relay characteristics).
Definition: dss_obj.hpp:18845
string action_str()
DEPRECATED.
Definition: dss_obj.hpp:18527
int32_t Shots()
Number of shots to lockout.
Definition: dss_obj.hpp:18236
double DOC_PhaseTripInner()
Multiplier for the "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:18890
double DOC_DelayInner()
Trip time delay (sec) for operation in inner zone for DOC relay, defined when "DOC_TripSettingMag" or...
Definition: dss_obj.hpp:18860
RelayType
Relay: Type (DSS enumeration for Relay)
Definition: dss_obj.hpp:17772
RelayState
Relay: State (DSS enumeration for Relay)
Definition: dss_obj.hpp:17800
double pctPickup47()
Percent voltage pickup for 47 relay (Neg seq voltage).
Definition: dss_obj.hpp:18368
Relay & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:18973
double Reset()
Reset time in sec for relay.
Definition: dss_obj.hpp:18221
bool DistReverse()
{Yes/True* | No/False} Default is No; reverse direction for distance and td21 types.
Definition: dss_obj.hpp:18666
int32_t SwitchedTerm()
Number of the terminal of the controlled element in which the switch is controlled by the Relay.
Definition: dss_obj.hpp:17959
double pctPickup46()
Percent pickup current for 46 relay (neg seq current).
Definition: dss_obj.hpp:18398
VectorXd RecloseIntervals()
Array of reclose intervals.
Definition: dss_obj.hpp:18251
double GroundTrip()
Multiplier or actual ground amps (3I0) for the ground TCC curve.
Definition: dss_obj.hpp:18146
string SwitchedObj()
Name of circuit element switch that the Relay controls.
Definition: dss_obj.hpp:17923
string Undervoltcurve()
TCC Curve object to use for undervoltage relay.
Definition: dss_obj.hpp:18317
Relay & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:17862
string MonitoredObj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:17872
double Breakertime()
Fixed delay time (sec) added to relay time.
Definition: dss_obj.hpp:18479
RelayAction action()
DEPRECATED.
Definition: dss_obj.hpp:18494
Relay & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:18985
RelayType type()
One of a legal relay type: Current Voltage Reversepower 46 (neg seq current) 47 (neg seq voltage) Gen...
Definition: dss_obj.hpp:17985
double DOC_TiltAngleHigh()
Tilt angle for higher current magnitudes.
Definition: dss_obj.hpp:18800
double BaseAmps46()
Base current, Amps, for 46 relay (neg seq current).
Definition: dss_obj.hpp:18383
double Mphase()
Phase reach multiplier in per-unit for Distance and TD21 functions.
Definition: dss_obj.hpp:18606
dss::obj::DSSObj MonitoredObj_obj()
Full object name of the circuit element, typically a line, transformer, load, or generator,...
Definition: dss_obj.hpp:17893
dss::obj::TCC_Curve DOC_TDPhaseInner_obj()
Time dial for "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:18926
Relay & type_str(const string &value)
One of a legal relay type: Current Voltage Reversepower 46 (neg seq current) 47 (neg seq voltage) Gen...
Definition: dss_obj.hpp:18049
string DOC_TDPhaseInner()
Time dial for "DOC_PhaseCurveInner" TCC curve.
Definition: dss_obj.hpp:18905
double isqt46()
Negative Sequence I-squared-t trip value for 46 relay (neg seq current).
Definition: dss_obj.hpp:18413
Relay & action_str(const string &value)
DEPRECATED.
Definition: dss_obj.hpp:18536
double kvbase()
Voltage base (kV) for the relay.
Definition: dss_obj.hpp:18353
Relay(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:17831
string type_str()
One of a legal relay type: Current Voltage Reversepower 46 (neg seq current) 47 (neg seq voltage) Gen...
Definition: dss_obj.hpp:18029
Relay & State_str(const string &value)
{Open | Closed} Actual state of the relay.
Definition: dss_obj.hpp:18775
dss::obj::TCC_Curve Groundcurve_obj()
Name of the TCC Curve object that determines the ground trip.
Definition: dss_obj.hpp:18116
double DOC_TiltAngleLow()
Tilt angle for lower current magnitudes.
Definition: dss_obj.hpp:18785
double PhaseInst()
Actual amps (Current relay) or kW (reverse power relay) for instantaneous phase trip which is assumed...
Definition: dss_obj.hpp:18191
double TDPhase()
Time dial for Phase trip curve.
Definition: dss_obj.hpp:18161
double DOC_PhaseCurveInner()
Name of the TCC Curve object that determines the phase trip for operation in inner zone for DOC relay...
Definition: dss_obj.hpp:18875
Relay & Normal_str(const string &value)
{Open | Closed} Normal state of the relay.
Definition: dss_obj.hpp:18723
double overtrip()
Trip setting (high value) for Generic relay variable.
Definition: dss_obj.hpp:18449
dss::obj::TCC_Curve Undervoltcurve_obj()
TCC Curve object to use for undervoltage relay.
Definition: dss_obj.hpp:18338
Relay(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:17818
double Z1mag()
Positive sequence reach impedance in primary ohms for Distance and TD21 functions.
Definition: dss_obj.hpp:18546
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:18941
string Phasecurve()
Name of the TCC Curve object that determines the phase trip.
Definition: dss_obj.hpp:18059
double DOC_TripSettingLow()
Trip setting for lower current magnitude.
Definition: dss_obj.hpp:18815
Relay & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:17852
double Delay()
Trip time delay (sec) for DEFINITE TIME relays.
Definition: dss_obj.hpp:18266
string Overvoltcurve()
TCC Curve object to use for overvoltage relay.
Definition: dss_obj.hpp:18281
double GroundInst()
Actual amps for instantaneous ground trip which is assumed to happen in 0.01 sec + Delay Time....
Definition: dss_obj.hpp:18206
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:17844
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:18956
string Groundcurve()
Name of the TCC Curve object that determines the ground trip.
Definition: dss_obj.hpp:18095
dss::obj::TCC_Curve Overvoltcurve_obj()
TCC Curve object to use for overvoltage relay.
Definition: dss_obj.hpp:18302
double Z1ang()
Positive sequence reach impedance angle in degrees for Distance and TD21 functions.
Definition: dss_obj.hpp:18561
double PhaseTrip()
Multiplier or actual phase amps for the phase TCC curve.
Definition: dss_obj.hpp:18131
dss::obj::DSSObj SwitchedObj_obj()
Name of circuit element switch that the Relay controls.
Definition: dss_obj.hpp:17944
double TDGround()
Time dial for Ground trip curve.
Definition: dss_obj.hpp:18176
int32_t MonitoredTerm()
Number of the terminal of the circuit element to which the Relay is connected.
Definition: dss_obj.hpp:17908
Relay(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:17811
dss::obj::TCC_Curve Phasecurve_obj()
Name of the TCC Curve object that determines the phase trip.
Definition: dss_obj.hpp:18080
string State_str()
{Open | Closed} Actual state of the relay.
Definition: dss_obj.hpp:18766
RelayState Normal()
{Open | Closed} Normal state of the relay.
Definition: dss_obj.hpp:18681
string Normal_str()
{Open | Closed} Normal state of the relay.
Definition: dss_obj.hpp:18714
Definition: dss_obj.hpp:66373
BatchFloat64ArrayProxy pctError()
Assumed percent error in the measurement.
Definition: dss_obj.hpp:66696
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:66783
SensorBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:66818
BatchFloat64ArrayProxy Weight()
Weighting factor: Default is 1.
Definition: dss_obj.hpp:66725
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:66754
BatchFloat64ArrayProxy kvbase()
Voltage base for the sensor, in kV.
Definition: dss_obj.hpp:66486
SensorBatch(APIUtil *util, const char *regexp)
Create a batch of all Sensor elements that match a regular expression.
Definition: dss_obj.hpp:66397
strings conn_str()
Voltage sensor Connection: { wye | delta | LN | LL }.
Definition: dss_obj.hpp:66646
bools clear()
{ Yes | No }.
Definition: dss_obj.hpp:66515
BatchInt32ArrayProxy conn()
Voltage sensor Connection: { wye | delta | LN | LL }.
Definition: dss_obj.hpp:66599
std::vector< VectorXd > kWs()
Array of Active power (kW) measurements at the sensor.
Definition: dss_obj.hpp:66567
std::vector< VectorXd > currents()
Array of Currents (amps) measured by the current sensor.
Definition: dss_obj.hpp:66551
strings element()
Name (Full Object name) of element to which the Sensor is connected.
Definition: dss_obj.hpp:66420
SensorBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:66806
SensorBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Sensor elements that match an integer property value.
Definition: dss_obj.hpp:66389
std::vector< dss::obj::DSSObj > element_obj()
Name (Full Object name) of element to which the Sensor is connected.
Definition: dss_obj.hpp:66441
std::vector< VectorXd > kvars()
Array of Reactive power (kvar) measurements at the sensor.
Definition: dss_obj.hpp:66582
BatchInt32ArrayProxy terminal()
Number of the terminal of the circuit element to which the Sensor is connected.
Definition: dss_obj.hpp:66456
SensorBatch(APIUtil *util)
Create a batch of all Sensor elements.
Definition: dss_obj.hpp:66381
std::vector< VectorXd > kVs()
Array of Voltages (kV) measured by the voltage sensor.
Definition: dss_obj.hpp:66536
BatchInt32ArrayProxy Deltadirection()
{1 or -1} Default is 1: 1-2, 2-3, 3-1.
Definition: dss_obj.hpp:66667
Definition: dss_obj.hpp:29647
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:29982
dss::obj::DSSObj element_obj()
Name (Full Object name) of element to which the Sensor is connected.
Definition: dss_obj.hpp:29757
Connection conn()
Voltage sensor Connection: { wye | delta | LN | LL }.
Definition: dss_obj.hpp:29881
VectorXd kvars()
Array of Reactive power (kvar) measurements at the sensor.
Definition: dss_obj.hpp:29864
Sensor & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:29726
double pctError()
Assumed percent error in the measurement.
Definition: dss_obj.hpp:29952
VectorXd kVs()
Array of Voltages (kV) measured by the voltage sensor.
Definition: dss_obj.hpp:29818
Sensor & conn_str(const string &value)
Voltage sensor Connection: { wye | delta | LN | LL }.
Definition: dss_obj.hpp:29927
string conn_str()
Voltage sensor Connection: { wye | delta | LN | LL }.
Definition: dss_obj.hpp:29916
int32_t Deltadirection()
{1 or -1} Default is 1: 1-2, 2-3, 3-1.
Definition: dss_obj.hpp:29937
VectorXd kWs()
Array of Active power (kW) measurements at the sensor.
Definition: dss_obj.hpp:29849
int32_t terminal()
Number of the terminal of the circuit element to which the Sensor is connected.
Definition: dss_obj.hpp:29772
string element()
Name (Full Object name) of element to which the Sensor is connected.
Definition: dss_obj.hpp:29736
double kvbase()
Voltage base for the sensor, in kV.
Definition: dss_obj.hpp:29788
Sensor(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:29675
VectorXd currents()
Array of Currents (amps) measured by the current sensor.
Definition: dss_obj.hpp:29833
Sensor(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:29695
Sensor & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:30014
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:29997
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:29708
Sensor & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:30026
Sensor(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:29682
bool clear()
{ Yes | No }.
Definition: dss_obj.hpp:29803
double Weight()
Weighting factor: Default is 1.
Definition: dss_obj.hpp:29967
Sensor & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:29716
Definition: dss_obj.hpp:33031
SpectrumBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Spectrum elements that match an integer property value.
Definition: dss_obj.hpp:33047
SpectrumBatch(APIUtil *util, const char *regexp)
Create a batch of all Spectrum elements that match a regular expression.
Definition: dss_obj.hpp:33055
std::vector< VectorXd > pctmag()
Array of magnitude values, assumed to be in PERCENT.
Definition: dss_obj.hpp:33128
std::vector< VectorXd > angle()
Array of phase angle values, degrees.You can also use the syntax angle = (file=filename) !...
Definition: dss_obj.hpp:33146
std::vector< VectorXd > harmonic()
Array of harmonic values.
Definition: dss_obj.hpp:33110
BatchInt32ArrayProxy NumHarm()
Number of frequencies in this spectrum.
Definition: dss_obj.hpp:33078
SpectrumBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:33184
SpectrumBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:33196
strings CSVFile()
File of spectrum points with (harmonic, magnitude-percent, angle-degrees) values, one set of 3 per li...
Definition: dss_obj.hpp:33161
SpectrumBatch(APIUtil *util)
Create a batch of all Spectrum elements.
Definition: dss_obj.hpp:33039
Definition: dss_obj.hpp:3528
int32_t NumHarm()
Number of frequencies in this spectrum.
Definition: dss_obj.hpp:3608
Spectrum & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:3700
Spectrum & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:3598
Spectrum & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:3712
Spectrum & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:3588
VectorXd pctmag()
Array of magnitude values, assumed to be in PERCENT.
Definition: dss_obj.hpp:3644
Spectrum(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:3567
VectorXd harmonic()
Array of harmonic values.
Definition: dss_obj.hpp:3626
VectorXd angle()
Array of phase angle values, degrees.You can also use the syntax angle = (file=filename) !...
Definition: dss_obj.hpp:3662
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:3580
Spectrum(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:3547
Spectrum(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:3554
string CSVFile()
File of spectrum points with (harmonic, magnitude-percent, angle-degrees) values, one set of 3 per li...
Definition: dss_obj.hpp:3677
Definition: dss_obj.hpp:48336
strings bus1()
Bus to which the Storage element is connected.
Definition: dss_obj.hpp:48417
BatchFloat64ArrayProxy kvar()
Get/set the requested kvar value.
Definition: dss_obj.hpp:48566
strings State_str()
{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.
Definition: dss_obj.hpp:49150
bools PFPriority()
If set to true, priority is given to power factor and WattPriority is neglected.
Definition: dss_obj.hpp:48851
BatchFloat64ArrayProxy pf()
Get/set the requested PF value.
Definition: dss_obj.hpp:48599
bools VarFollowInverter()
Boolean variable (Yes|No) or (True|False).
Definition: dss_obj.hpp:48751
BatchFloat64ArrayProxy pctDischarge()
Discharge rate (output power) in percentage of rated kW.
Definition: dss_obj.hpp:49171
BatchFloat64ArrayProxy pctPminkvarMax()
Minimum active power as percentage of kWrated that allows the inverter to produce/absorb reactive pow...
Definition: dss_obj.hpp:48901
BatchInt32ArrayProxy conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:48471
strings spectrum()
Name of harmonic voltage or current spectrum for this Storage element.
Definition: dss_obj.hpp:49932
BatchFloat64ArrayProxy kvarMaxAbs()
Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:48801
BatchFloat64ArrayProxy pctCutout()
Cut-out power as a percentage of inverter kVA rating.
Definition: dss_obj.hpp:48686
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic voltage or current spectrum for this Storage element.
Definition: dss_obj.hpp:49953
StorageBatch(APIUtil *util, const char *regexp)
Create a batch of all Storage elements that match a regular expression.
Definition: dss_obj.hpp:48365
BatchFloat64ArrayProxy pctstored()
Present amount of energy stored, % of rated kWh.
Definition: dss_obj.hpp:49046
BatchFloat64ArrayProxy pctIdlingkW()
Percentage of rated kW consumed by idling losses.
Definition: dss_obj.hpp:49287
StorageBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:50032
std::vector< dss::obj::LoadShape > daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:49564
BatchFloat64ArrayProxy pctCharge()
Charging rate (input power) in percentage of rated kW.
Definition: dss_obj.hpp:49200
std::vector< dss::obj::LoadShape > yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:49528
BatchFloat64ArrayProxy kWrated()
kW rating of power output.
Definition: dss_obj.hpp:48930
BatchInt32ArrayProxy State()
{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.
Definition: dss_obj.hpp:49105
strings DynaData()
String (in quotes or parentheses if necessary) that gets passed to the user-written dynamics model Ed...
Definition: dss_obj.hpp:49848
std::vector< dss::obj::LoadShape > duty_obj()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:49608
StorageBatch(APIUtil *util)
Create a batch of all Storage elements.
Definition: dss_obj.hpp:48349
strings DynaDLL()
Name of DLL containing user-written dynamics model, which computes the terminal currents for Dynamics...
Definition: dss_obj.hpp:49827
BatchFloat64ArrayProxy pctkWrated()
Upper limit on active power as a percentage of kWrated.
Definition: dss_obj.hpp:48959
BatchFloat64ArrayProxy kvarMax()
Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:48772
strings EffCurve()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:48715
BatchInt32ArrayProxy phases()
Number of Phases, this Storage element.
Definition: dss_obj.hpp:48388
StorageBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:50020
strings UserModel()
Name of DLL containing user-written model, which computes the terminal currents for both power flow a...
Definition: dss_obj.hpp:49869
BatchFloat64ArrayProxy pctEffDischarge()
Percentage efficiency for DISCHARGING the Storage element.
Definition: dss_obj.hpp:49258
BatchFloat64ArrayProxy ChargeTrigger()
Dispatch trigger value for charging the Storage.
Definition: dss_obj.hpp:49740
bools Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:49465
BatchFloat64ArrayProxy pctCutin()
Cut-in power as a percentage of inverter kVA rating.
Definition: dss_obj.hpp:48657
std::vector< dss::obj::XYcurve > EffCurve_obj()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:48736
BatchFloat64ArrayProxy kWhrated()
Rated Storage capacity in kWh.
Definition: dss_obj.hpp:48988
BatchInt32ArrayProxy DispMode()
{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".
Definition: dss_obj.hpp:49631
BatchFloat64ArrayProxy DischargeTrigger()
Dispatch trigger value for discharging the Storage.
Definition: dss_obj.hpp:49707
bools LimitCurrent()
Limits current magnitude to Vminpu value for both 1-phase and 3-phase Storage similar to Generator Mo...
Definition: dss_obj.hpp:49486
BatchFloat64ArrayProxy Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:49436
strings DispMode_str()
{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".
Definition: dss_obj.hpp:49684
BatchFloat64ArrayProxy pctreserve()
Percentage of rated kWh Storage capacity to be held in reserve for normal operation.
Definition: dss_obj.hpp:49076
bools WattPriority()
{Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority.
Definition: dss_obj.hpp:48830
BatchFloat64ArrayProxy TimeChargeTrig()
Time of day in fractional hours (0230 = 2.5) at which Storage element will automatically go into char...
Definition: dss_obj.hpp:49769
BatchInt32ArrayProxy cls()
An arbitrary integer number representing the class of Storage element so that Storage values may be s...
Definition: dss_obj.hpp:49798
BatchFloat64ArrayProxy pctX()
Equivalent percentage internal reactance, ohms.
Definition: dss_obj.hpp:49345
bools debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:49911
strings daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:49543
strings yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:49507
strings conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:48516
BatchFloat64ArrayProxy pctPminNoVars()
Minimum active power as percentage of kWrated under which there is no vars production/absorption.
Definition: dss_obj.hpp:48872
BatchFloat64ArrayProxy pctEffCharge()
Percentage efficiency for CHARGING the Storage element.
Definition: dss_obj.hpp:49229
StorageBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Storage elements that match an integer property value.
Definition: dss_obj.hpp:48357
BatchFloat64ArrayProxy kW()
Get/set the requested kW value.
Definition: dss_obj.hpp:48537
BatchFloat64ArrayProxy kWhstored()
Present amount of energy stored, kWh.
Definition: dss_obj.hpp:49017
BatchFloat64ArrayProxy kv()
Nominal rated (1.0 per unit) voltage, kV, for Storage element.
Definition: dss_obj.hpp:48442
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:49968
BatchFloat64ArrayProxy kVA()
Indicates the inverter nameplate capability (in kVA).
Definition: dss_obj.hpp:48628
BatchFloat64ArrayProxy Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:49407
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:49997
BatchFloat64ArrayProxy pctR()
Equivalent percentage internal resistance, ohms.
Definition: dss_obj.hpp:49316
BatchInt32ArrayProxy model()
Integer code (default=1) for the model to be used for power output variation with voltage.
Definition: dss_obj.hpp:49378
strings UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:49890
strings duty()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:49583
Definition: dss_obj.hpp:50041
BatchInt32ArrayProxy MonPhase()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:50158
BatchFloat64ArrayProxy kWhActual()
(Read only).
Definition: dss_obj.hpp:50807
BatchFloat64ArrayProxy kWBandLow()
Alternative way of specifying the bandwidth.
Definition: dss_obj.hpp:50369
BatchFloat64ArrayProxy pctRatekW()
Sets the kW discharge rate in % of rated capacity for each element of the fleet.
Definition: dss_obj.hpp:50662
BatchFloat64ArrayProxy Tup()
Duration, hrs, of upramp part for SCHEDULE mode.
Definition: dss_obj.hpp:51052
strings Yearly()
Dispatch loadshape object, If any, for Yearly solution Mode.
Definition: dss_obj.hpp:50894
BatchFloat64ArrayProxy TimeDischargeTrigger()
Default time of day (hr) for initiating Discharging of the fleet.
Definition: dss_obj.hpp:50604
BatchFloat64ArrayProxy TimeChargeTrigger()
Default time of day (hr) for initiating charging in Time control mode.
Definition: dss_obj.hpp:50633
BatchFloat64ArrayProxy kWActual()
(Read only).
Definition: dss_obj.hpp:50836
BatchInt32ArrayProxy ModeDischarge()
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the...
Definition: dss_obj.hpp:50442
StorageControllerBatch(APIUtil *util)
Create a batch of all StorageController elements.
Definition: dss_obj.hpp:50054
BatchInt32ArrayProxy ModeCharge()
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this...
Definition: dss_obj.hpp:50530
BatchFloat64ArrayProxy pctRateCharge()
Sets the kW charging rate in % of rated capacity for each element of the fleet.
Definition: dss_obj.hpp:50691
BatchInt32ArrayProxy Terminal()
Number of the terminal of the circuit element to which the StorageController2 control is connected.
Definition: dss_obj.hpp:50129
strings MonPhase_str()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:50203
BatchFloat64ArrayProxy kWTarget()
kW/kamps target for Discharging.
Definition: dss_obj.hpp:50224
BatchFloat64ArrayProxy kWTotal()
(Read only).
Definition: dss_obj.hpp:50778
StorageControllerBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:51339
BatchFloat64ArrayProxy kWThreshold()
Threshold, kW, for Follow mode.
Definition: dss_obj.hpp:51139
BatchFloat64ArrayProxy pctReserve()
Use this property to change the % reserve for each Storage element under control of this controller.
Definition: dss_obj.hpp:50720
strings Duty()
Dispatch loadshape object, If any, for Dutycycle solution mode.
Definition: dss_obj.hpp:50966
std::vector< VectorXd > SeasonTargetsLow()
An array of doubles specifying the targets to be used during a QSTS simulation.
Definition: dss_obj.hpp:51272
StorageControllerBatch(APIUtil *util, const char *regexp)
Create a batch of all StorageController elements that match a regular expression.
Definition: dss_obj.hpp:50070
strings Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:50093
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:51316
BatchFloat64ArrayProxy TFlat()
Duration, hrs, of flat part for SCHEDULE mode.
Definition: dss_obj.hpp:51081
strings ModeCharge_str()
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this...
Definition: dss_obj.hpp:50583
std::vector< strings > ElementList()
Array list of Storage elements to be controlled.
Definition: dss_obj.hpp:50398
BatchInt32ArrayProxy Seasons()
With this property the user can specify the number of targets to be used by the controller using the ...
Definition: dss_obj.hpp:51228
BatchInt32ArrayProxy InhibitTime()
Hours (integer) to inhibit Discharging after going into Charge mode.
Definition: dss_obj.hpp:51023
BatchFloat64ArrayProxy kWneed()
(Read only).
Definition: dss_obj.hpp:50865
BatchFloat64ArrayProxy kWTargetLow()
kW/kamps target for Charging.
Definition: dss_obj.hpp:50253
strings Daily()
Dispatch loadshape object, If any, for Daily solution mode.
Definition: dss_obj.hpp:50930
BatchFloat64ArrayProxy ResetLevel()
The level of charge required for allowing the storage to discharge again after reaching the reserve s...
Definition: dss_obj.hpp:51199
StorageControllerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all StorageController elements that match an integer property value.
Definition: dss_obj.hpp:50062
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:51287
std::vector< dss::obj::LoadShape > Yearly_obj()
Dispatch loadshape object, If any, for Yearly solution Mode.
Definition: dss_obj.hpp:50915
BatchFloat64ArrayProxy DispFactor()
Defaults to 1 (disabled).
Definition: dss_obj.hpp:51170
strings ModeDischarge_str()
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the...
Definition: dss_obj.hpp:50501
BatchFloat64ArrayProxy pctkWBandLow()
Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value.
Definition: dss_obj.hpp:50340
BatchFloat64ArrayProxy kWhTotal()
(Read only).
Definition: dss_obj.hpp:50749
std::vector< VectorXd > SeasonTargets()
An array of doubles specifying the targets to be used during a QSTS simulation.
Definition: dss_obj.hpp:51257
BatchFloat64ArrayProxy kWBand()
Alternative way of specifying the bandwidth.
Definition: dss_obj.hpp:50311
BatchFloat64ArrayProxy Tdn()
Duration, hrs, of downramp part for SCHEDULE mode.
Definition: dss_obj.hpp:51110
std::vector< dss::obj::LoadShape > Duty_obj()
Dispatch loadshape object, If any, for Dutycycle solution mode.
Definition: dss_obj.hpp:50987
std::vector< VectorXd > Weights()
Array of proportional weights corresponding to each Storage element in the ElementList.
Definition: dss_obj.hpp:50413
std::vector< dss::obj::LoadShape > Daily_obj()
Dispatch loadshape object, If any, for Daily solution mode.
Definition: dss_obj.hpp:50951
BatchFloat64ArrayProxy pctkWBand()
Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value.
Definition: dss_obj.hpp:50282
StorageControllerBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:51351
std::vector< dss::obj::DSSObj > Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:50114
bools EventLog()
{Yes/True | No/False} Default is No.
Definition: dss_obj.hpp:51002
Definition: dss_obj.hpp:16689
StorageController & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:16823
double pctkWBand()
Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value.
Definition: dss_obj.hpp:16966
string Daily()
Dispatch loadshape object, If any, for Daily solution mode.
Definition: dss_obj.hpp:17412
int32_t MonPhase()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:16884
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:17651
dss::obj::DSSObj Element_obj()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:16854
StorageControllerChargemode
StorageController: Charge mode (DSS enumeration for StorageController)
Definition: dss_obj.hpp:16760
double kWBandLow()
Alternative way of specifying the bandwidth.
Definition: dss_obj.hpp:17011
double Tdn()
Duration, hrs, of downramp part for SCHEDULE mode.
Definition: dss_obj.hpp:17544
StorageController & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:16813
double kWTarget()
kW/kamps target for Discharging.
Definition: dss_obj.hpp:16936
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:16805
string Yearly()
Dispatch loadshape object, If any, for Yearly solution Mode.
Definition: dss_obj.hpp:17376
double kWhTotal()
(Read only).
Definition: dss_obj.hpp:17301
double pctRateCharge()
Sets the kW charging rate in % of rated capacity for each element of the fleet.
Definition: dss_obj.hpp:17271
dss::obj::LoadShape Duty_obj()
Dispatch loadshape object, If any, for Dutycycle solution mode.
Definition: dss_obj.hpp:17469
double pctReserve()
Use this property to change the % reserve for each Storage element under control of this controller.
Definition: dss_obj.hpp:17286
StorageController & MonPhase_str(const string &value)
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:16926
string ModeDischarge_str()
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the...
Definition: dss_obj.hpp:17117
string Element()
Full object name of the circuit element, typically a line or transformer, which the control is monito...
Definition: dss_obj.hpp:16833
int32_t Terminal()
Number of the terminal of the circuit element to which the StorageController2 control is connected.
Definition: dss_obj.hpp:16869
double TimeDischargeTrigger()
Default time of day (hr) for initiating Discharging of the fleet.
Definition: dss_obj.hpp:17226
StorageControllerDischargemode
StorageController: Discharge mode (DSS enumeration for StorageController)
Definition: dss_obj.hpp:16745
StorageController(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:16779
double pctkWBandLow()
Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value.
Definition: dss_obj.hpp:16996
int32_t InhibitTime()
Hours (integer) to inhibit Discharging after going into Charge mode.
Definition: dss_obj.hpp:17499
double kWhActual()
(Read only).
Definition: dss_obj.hpp:17331
strings ElementList()
Array list of Storage elements to be controlled.
Definition: dss_obj.hpp:17026
double kWneed()
(Read only).
Definition: dss_obj.hpp:17361
StorageController(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:16792
StorageController & ModeDischarge_str(const string &value)
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the...
Definition: dss_obj.hpp:17140
double kWActual()
(Read only).
Definition: dss_obj.hpp:17346
string Duty()
Dispatch loadshape object, If any, for Dutycycle solution mode.
Definition: dss_obj.hpp:17448
double kWTotal()
(Read only).
Definition: dss_obj.hpp:17316
StorageController(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:16772
VectorXd SeasonTargetsLow()
An array of doubles specifying the targets to be used during a QSTS simulation.
Definition: dss_obj.hpp:17636
double TimeChargeTrigger()
Default time of day (hr) for initiating charging in Time control mode.
Definition: dss_obj.hpp:17241
double kWTargetLow()
kW/kamps target for Charging.
Definition: dss_obj.hpp:16951
double Tup()
Duration, hrs, of upramp part for SCHEDULE mode.
Definition: dss_obj.hpp:17514
string MonPhase_str()
Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.
Definition: dss_obj.hpp:16917
StorageController & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:17695
double kWBand()
Alternative way of specifying the bandwidth.
Definition: dss_obj.hpp:16981
double kWThreshold()
Threshold, kW, for Follow mode.
Definition: dss_obj.hpp:17559
VectorXd Weights()
Array of proportional weights corresponding to each Storage element in the ElementList.
Definition: dss_obj.hpp:17041
double ResetLevel()
The level of charge required for allowing the storage to discharge again after reaching the reserve s...
Definition: dss_obj.hpp:17591
double pctRatekW()
Sets the kW discharge rate in % of rated capacity for each element of the fleet.
Definition: dss_obj.hpp:17256
StorageController & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:17683
StorageControllerChargemode ModeCharge()
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this...
Definition: dss_obj.hpp:17158
int32_t Seasons()
With this property the user can specify the number of targets to be used by the controller using the ...
Definition: dss_obj.hpp:17606
dss::obj::LoadShape Yearly_obj()
Dispatch loadshape object, If any, for Yearly solution Mode.
Definition: dss_obj.hpp:17397
double TFlat()
Duration, hrs, of flat part for SCHEDULE mode.
Definition: dss_obj.hpp:17529
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:17666
VectorXd SeasonTargets()
An array of doubles specifying the targets to be used during a QSTS simulation.
Definition: dss_obj.hpp:17621
string ModeCharge_str()
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this...
Definition: dss_obj.hpp:17199
dss::obj::LoadShape Daily_obj()
Dispatch loadshape object, If any, for Daily solution mode.
Definition: dss_obj.hpp:17433
StorageController & ModeCharge_str(const string &value)
{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this...
Definition: dss_obj.hpp:17216
StorageControllerDischargemode ModeDischarge()
{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the...
Definition: dss_obj.hpp:17070
bool EventLog()
{Yes/True | No/False} Default is No.
Definition: dss_obj.hpp:17484
double DispFactor()
Defaults to 1 (disabled).
Definition: dss_obj.hpp:17576
Definition: dss_obj.hpp:15419
bool PFPriority()
If set to true, priority is given to power factor and WattPriority is neglected.
Definition: dss_obj.hpp:15871
string conn_str()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:15662
double kvar()
Get/set the requested kvar value.
Definition: dss_obj.hpp:15696
StorageDispatchMode DispMode()
{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".
Definition: dss_obj.hpp:16367
double ChargeTrigger()
Dispatch trigger value for charging the Storage.
Definition: dss_obj.hpp:16456
StorageDispatchMode
Storage: Dispatch Mode (DSS enumeration for Storage)
Definition: dss_obj.hpp:15500
double kWrated()
kW rating of power output.
Definition: dss_obj.hpp:15916
double Vmaxpu()
Default = 1.10.
Definition: dss_obj.hpp:16198
double pctPminkvarMax()
Minimum active power as percentage of kWrated that allows the inverter to produce/absorb reactive pow...
Definition: dss_obj.hpp:15901
double kv()
Nominal rated (1.0 per unit) voltage, kV, for Storage element.
Definition: dss_obj.hpp:15614
Storage & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:16668
string spectrum()
Name of harmonic voltage or current spectrum for this Storage element.
Definition: dss_obj.hpp:16600
double kW()
Get/set the requested kW value.
Definition: dss_obj.hpp:15681
double pctEffCharge()
Percentage efficiency for CHARGING the Storage element.
Definition: dss_obj.hpp:16089
dss::obj::LoadShape daily_obj()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:16300
double pf()
Get/set the requested PF value.
Definition: dss_obj.hpp:15715
string UserData()
String (in quotes or parentheses) that gets passed to user-written model for defining the data requir...
Definition: dss_obj.hpp:16564
double pctkWrated()
Upper limit on active power as a percentage of kWrated.
Definition: dss_obj.hpp:15931
double pctX()
Equivalent percentage internal reactance, ohms.
Definition: dss_obj.hpp:16149
double pctCharge()
Charging rate (input power) in percentage of rated kW.
Definition: dss_obj.hpp:16074
bool Balanced()
{Yes | No*} Default is No.
Definition: dss_obj.hpp:16213
double pctR()
Equivalent percentage internal resistance, ohms.
Definition: dss_obj.hpp:16134
double pctreserve()
Percentage of rated kWh Storage capacity to be held in reserve for normal operation.
Definition: dss_obj.hpp:15992
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:16636
bool WattPriority()
{Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority.
Definition: dss_obj.hpp:15856
Storage & DispMode_str(const string &value)
{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".
Definition: dss_obj.hpp:16425
string yearly()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:16243
Storage & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:16680
int32_t phases()
Number of Phases, this Storage element.
Definition: dss_obj.hpp:15574
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:15546
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:16651
string duty()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:16319
string UserModel()
Name of DLL containing user-written model, which computes the terminal currents for both power flow a...
Definition: dss_obj.hpp:16543
double TimeChargeTrig()
Time of day in fractional hours (0230 = 2.5) at which Storage element will automatically go into char...
Definition: dss_obj.hpp:16471
bool debugtrace()
{Yes | No } Default is no.
Definition: dss_obj.hpp:16585
double pctPminNoVars()
Minimum active power as percentage of kWrated under which there is no vars production/absorption.
Definition: dss_obj.hpp:15886
double pctEffDischarge()
Percentage efficiency for DISCHARGING the Storage element.
Definition: dss_obj.hpp:16104
dss::obj::XYcurve EffCurve_obj()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:15796
StorageState State()
{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.
Definition: dss_obj.hpp:16007
double pctIdlingkW()
Percentage of rated kW consumed by idling losses.
Definition: dss_obj.hpp:16119
Storage & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:15564
double DischargeTrigger()
Dispatch trigger value for discharging the Storage.
Definition: dss_obj.hpp:16437
double kvarMaxAbs()
Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:15841
bool LimitCurrent()
Limits current magnitude to Vminpu value for both 1-phase and 3-phase Storage similar to Generator Mo...
Definition: dss_obj.hpp:16228
Storage(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:15520
double kVA()
Indicates the inverter nameplate capability (in kVA).
Definition: dss_obj.hpp:15730
StorageState
Storage: State (DSS enumeration for Storage)
Definition: dss_obj.hpp:15489
double kvarMax()
Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the invert...
Definition: dss_obj.hpp:15826
Storage(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:15533
Storage(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:15513
double Vminpu()
Default = 0.90.
Definition: dss_obj.hpp:16183
dss::obj::LoadShape yearly_obj()
Dispatch shape to use for yearly simulations.
Definition: dss_obj.hpp:16264
string bus1()
Bus to which the Storage element is connected.
Definition: dss_obj.hpp:15589
double kWhstored()
Present amount of energy stored, kWh.
Definition: dss_obj.hpp:15961
double pctDischarge()
Discharge rate (output power) in percentage of rated kW.
Definition: dss_obj.hpp:16059
string State_str()
{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.
Definition: dss_obj.hpp:16040
string DynaDLL()
Name of DLL containing user-written dynamics model, which computes the terminal currents for Dynamics...
Definition: dss_obj.hpp:16501
Storage & State_str(const string &value)
{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.
Definition: dss_obj.hpp:16049
double pctCutout()
Cut-out power as a percentage of inverter kVA rating.
Definition: dss_obj.hpp:15760
double pctCutin()
Cut-in power as a percentage of inverter kVA rating.
Definition: dss_obj.hpp:15745
string DynaData()
String (in quotes or parentheses if necessary) that gets passed to the user-written dynamics model Ed...
Definition: dss_obj.hpp:16522
dss::obj::Spectrum spectrum_obj()
Name of harmonic voltage or current spectrum for this Storage element.
Definition: dss_obj.hpp:16621
double pctstored()
Present amount of energy stored, % of rated kWh.
Definition: dss_obj.hpp:15976
Storage & conn_str(const string &value)
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:15671
dss::obj::LoadShape duty_obj()
Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.
Definition: dss_obj.hpp:16344
Connection conn()
={wye|LN|delta|LL}.
Definition: dss_obj.hpp:15629
string EffCurve()
An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kV...
Definition: dss_obj.hpp:15775
int32_t cls()
An arbitrary integer number representing the class of Storage element so that Storage values may be s...
Definition: dss_obj.hpp:16486
string DispMode_str()
{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".
Definition: dss_obj.hpp:16408
string daily()
Dispatch shape to use for daily simulations.
Definition: dss_obj.hpp:16279
int32_t model()
Integer code (default=1) for the model to be used for power output variation with voltage.
Definition: dss_obj.hpp:16168
bool VarFollowInverter()
Boolean variable (Yes|No) or (True|False).
Definition: dss_obj.hpp:15811
Storage & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:15554
double kWhrated()
Rated Storage capacity in kWh.
Definition: dss_obj.hpp:15946
Definition: dss_obj.hpp:54523
strings State_str()
{Open | Closed] Present state of the switch.
Definition: dss_obj.hpp:54867
strings SwitchedObj()
Name of circuit element switch that the SwtControl operates.
Definition: dss_obj.hpp:54575
bools Lock()
{Yes | No} Delayed action.
Definition: dss_obj.hpp:54706
BatchFloat64ArrayProxy Delay()
Operating time delay (sec) of the switch.
Definition: dss_obj.hpp:54727
strings Action_str()
{Open | Close} After specified delay time, and if not locked, causes the controlled switch to open or...
Definition: dss_obj.hpp:54685
SwtControlBatch(APIUtil *util)
Create a batch of all SwtControl elements.
Definition: dss_obj.hpp:54536
SwtControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:54950
BatchInt32ArrayProxy State()
{Open | Closed] Present state of the switch.
Definition: dss_obj.hpp:54822
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:54927
strings Normal_str()
{Open | Closed] Normal state of the switch.
Definition: dss_obj.hpp:54801
SwtControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all SwtControl elements that match an integer property value.
Definition: dss_obj.hpp:54544
SwtControlBatch(APIUtil *util, const char *regexp)
Create a batch of all SwtControl elements that match a regular expression.
Definition: dss_obj.hpp:54552
BatchInt32ArrayProxy SwitchedTerm()
Terminal number of the controlled element switch.
Definition: dss_obj.hpp:54611
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:54898
BatchInt32ArrayProxy Normal()
{Open | Closed] Normal state of the switch.
Definition: dss_obj.hpp:54756
SwtControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:54962
BatchInt32ArrayProxy Action()
{Open | Close} After specified delay time, and if not locked, causes the controlled switch to open or...
Definition: dss_obj.hpp:54640
SwtControlBatch & Reset(bool value)
{Yes | No} If Yes, forces Reset of switch to Normal state and removes Lock independently of any inter...
Definition: dss_obj.hpp:54888
std::vector< dss::obj::DSSObj > SwitchedObj_obj()
Name of circuit element switch that the SwtControl operates.
Definition: dss_obj.hpp:54596
Definition: dss_obj.hpp:20213
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:20568
bool Lock()
{Yes | No} Delayed action.
Definition: dss_obj.hpp:20424
SwtControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:20600
double Delay()
Operating time delay (sec) of the switch.
Definition: dss_obj.hpp:20439
SwtControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:20612
SwtControlAction
SwtControl: Action (DSS enumeration for SwtControl)
Definition: dss_obj.hpp:20240
string Normal_str()
{Open | Closed] Normal state of the switch.
Definition: dss_obj.hpp:20487
SwtControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:20280
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:20293
string SwitchedObj()
Name of circuit element switch that the SwtControl operates.
Definition: dss_obj.hpp:20321
SwtControl & State_str(const string &value)
{Open | Closed] Present state of the switch.
Definition: dss_obj.hpp:20548
string State_str()
{Open | Closed] Present state of the switch.
Definition: dss_obj.hpp:20539
SwtControlState State()
{Open | Closed] Present state of the switch.
Definition: dss_obj.hpp:20506
int32_t SwitchedTerm()
Terminal number of the controlled element switch.
Definition: dss_obj.hpp:20357
SwtControlAction Action()
{Open | Close} After specified delay time, and if not locked, causes the controlled switch to open or...
Definition: dss_obj.hpp:20372
SwtControl & Action_str(const string &value)
{Open | Close} After specified delay time, and if not locked, causes the controlled switch to open or...
Definition: dss_obj.hpp:20414
string Action_str()
{Open | Close} After specified delay time, and if not locked, causes the controlled switch to open or...
Definition: dss_obj.hpp:20405
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:20583
SwtControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:20267
dss::obj::DSSObj SwitchedObj_obj()
Name of circuit element switch that the SwtControl operates.
Definition: dss_obj.hpp:20342
SwtControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:20260
SwtControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:20301
SwtControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:20311
SwtControl & Reset(bool value)
{Yes | No} If Yes, forces Reset of switch to Normal state and removes Lock independently of any inter...
Definition: dss_obj.hpp:20558
SwtControlState
SwtControl: State (DSS enumeration for SwtControl)
Definition: dss_obj.hpp:20250
SwtControl & Normal_str(const string &value)
{Open | Closed] Normal state of the switch.
Definition: dss_obj.hpp:20496
SwtControlState Normal()
{Open | Closed] Normal state of the switch.
Definition: dss_obj.hpp:20454
Definition: dss_obj.hpp:32896
std::vector< VectorXd > T_array()
Array of time values in sec.
Definition: dss_obj.hpp:32993
TCC_CurveBatch(APIUtil *util)
Create a batch of all TCC_Curve elements.
Definition: dss_obj.hpp:32904
TCC_CurveBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all TCC_Curve elements that match an integer property value.
Definition: dss_obj.hpp:32912
TCC_CurveBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:33010
TCC_CurveBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:33022
std::vector< VectorXd > C_array()
Array of current (or voltage) values corresponding to time values (see help on T_Array).
Definition: dss_obj.hpp:32972
TCC_CurveBatch(APIUtil *util, const char *regexp)
Create a batch of all TCC_Curve elements that match a regular expression.
Definition: dss_obj.hpp:32920
BatchInt32ArrayProxy npts()
Number of points to expect in time-current arrays.
Definition: dss_obj.hpp:32943
Definition: dss_obj.hpp:3376
TCC_Curve(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:3400
VectorXd C_array()
Array of current (or voltage) values corresponding to time values (see help on T_Array).
Definition: dss_obj.hpp:3469
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:3426
int32_t npts()
Number of points to expect in time-current arrays.
Definition: dss_obj.hpp:3454
TCC_Curve & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:3507
TCC_Curve(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:3413
TCC_Curve(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:3393
TCC_Curve & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:3519
VectorXd T_array()
Array of time values in sec.
Definition: dss_obj.hpp:3490
TCC_Curve & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:3444
TCC_Curve & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:3434
Definition: dss_obj.hpp:34527
BatchFloat64ArrayProxy Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:34777
TSDataBatch(APIUtil *util, const char *regexp)
Create a batch of all TSData elements that match a regular expression.
Definition: dss_obj.hpp:34551
BatchInt32ArrayProxy Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34835
BatchFloat64ArrayProxy TapeLayer()
Tape shield thickness; same units as radius; no default.
Definition: dss_obj.hpp:34603
TSDataBatch(APIUtil *util)
Create a batch of all TSData elements.
Definition: dss_obj.hpp:34535
strings radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:35070
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:35208
BatchInt32ArrayProxy GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34930
TSDataBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:35266
BatchFloat64ArrayProxy emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:35120
strings GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34975
BatchFloat64ArrayProxy EpsR()
Insulation layer relative permittivity; default is 2.3.
Definition: dss_obj.hpp:34661
TSDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all TSData elements that match an integer property value.
Definition: dss_obj.hpp:34543
BatchFloat64ArrayProxy DiaShield()
Diameter over tape shield; same units as radius; no default.
Definition: dss_obj.hpp:34574
BatchFloat64ArrayProxy radius()
Outside radius of conductor.
Definition: dss_obj.hpp:34996
TSDataBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:35254
BatchFloat64ArrayProxy Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:34806
BatchFloat64ArrayProxy diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:35149
BatchFloat64ArrayProxy DiaIns()
Diameter over insulation layer; same units as radius; no default.
Definition: dss_obj.hpp:34719
BatchFloat64ArrayProxy InsLayer()
Insulation layer thickness; same units as radius; no default.
Definition: dss_obj.hpp:34690
BatchFloat64ArrayProxy normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:35091
strings Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:34880
BatchFloat64ArrayProxy GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:34901
BatchFloat64ArrayProxy DiaCable()
Diameter over cable; same units as radius; no default.
Definition: dss_obj.hpp:34748
BatchFloat64ArrayProxy Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:35223
BatchFloat64ArrayProxy TapeLap()
Tape Lap in percent; default 20.0.
Definition: dss_obj.hpp:34632
BatchInt32ArrayProxy radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:35025
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:35178
Definition: dss_obj.hpp:4685
double emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:5116
double TapeLap()
Tape Lap in percent; default 20.0.
Definition: dss_obj.hpp:4810
TSData(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:4726
string radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:5082
TSData & GMRunits_str(const string &value)
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:5024
double Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:4900
double EpsR()
Insulation layer relative permittivity; default is 2.3.
Definition: dss_obj.hpp:4825
TSData & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:5194
TSData & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:5206
double TapeLayer()
Tape shield thickness; same units as radius; no default.
Definition: dss_obj.hpp:4795
TSData & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:4760
double Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:4885
TSData & Runits_str(const string &value)
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4957
TSData & radunits_str(const string &value)
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:5091
double radius()
Outside radius of conductor.
Definition: dss_obj.hpp:5034
double DiaIns()
Diameter over insulation layer; same units as radius; no default.
Definition: dss_obj.hpp:4855
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:4752
double DiaShield()
Diameter over tape shield; same units as radius; no default.
Definition: dss_obj.hpp:4780
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:5162
TSData & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:4770
double GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:4967
double normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:5101
string GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:5015
double InsLayer()
Insulation layer thickness; same units as radius; no default.
Definition: dss_obj.hpp:4840
double diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:5131
double Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:5177
DimensionUnits GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4982
DimensionUnits radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:5049
TSData(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:4739
string Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4948
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:5146
DimensionUnits Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4915
TSData(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:4719
double DiaCable()
Diameter over cable; same units as radius; no default.
Definition: dss_obj.hpp:4870
Definition: dss_obj.hpp:31516
strings sngfile()
Switch input of temperature curve data to a binary file of singles containing (hour,...
Definition: dss_obj.hpp:31746
strings dblfile()
Switch input of temperature curve data to a binary file of doubles containing (hour,...
Definition: dss_obj.hpp:31767
TShapeBatch & action(TShape::TShapeAction value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:31856
TShapeBatch & action(const char *value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:31876
TShapeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:31888
std::vector< VectorXd > temp()
Array of temperature values.
Definition: dss_obj.hpp:31632
TShapeBatch & action(int32_t value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:31846
TShapeBatch & action(const string &value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:31866
std::vector< VectorXd > hour()
Array of hour values.
Definition: dss_obj.hpp:31650
strings csvfile()
Switch input of temperature curve data to a csv file containing (hour, Temp) points,...
Definition: dss_obj.hpp:31725
BatchFloat64ArrayProxy interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:31598
BatchFloat64ArrayProxy sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:31788
TShapeBatch(APIUtil *util, const char *regexp)
Create a batch of all TShape elements that match a regular expression.
Definition: dss_obj.hpp:31544
BatchFloat64ArrayProxy minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:31817
TShapeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:31900
BatchFloat64ArrayProxy stddev()
Standard deviation of the temperatures.
Definition: dss_obj.hpp:31696
BatchFloat64ArrayProxy mean()
Mean of the temperature curve values.
Definition: dss_obj.hpp:31665
TShapeBatch(APIUtil *util)
Create a batch of all TShape elements.
Definition: dss_obj.hpp:31528
BatchInt32ArrayProxy npts()
Max number of points to expect in temperature shape vectors.
Definition: dss_obj.hpp:31567
TShapeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all TShape elements that match an integer property value.
Definition: dss_obj.hpp:31536
Definition: dss_obj.hpp:2103
double interval()
Time interval for fixed interval data, hrs.
Definition: dss_obj.hpp:2220
TShape & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:2452
double stddev()
Standard deviation of the temperatures.
Definition: dss_obj.hpp:2290
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:2175
string sngfile()
Switch input of temperature curve data to a binary file of singles containing (hour,...
Definition: dss_obj.hpp:2326
TShape(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:2149
VectorXd temp()
Array of temperature values.
Definition: dss_obj.hpp:2240
string csvfile()
Switch input of temperature curve data to a csv file containing (hour, Temp) points,...
Definition: dss_obj.hpp:2305
TShape & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:2440
TShape & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:2183
TShape & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:2193
TShape(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:2142
TShape & action(const string &value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:2418
double mean()
Mean of the temperature curve values.
Definition: dss_obj.hpp:2273
double minterval()
Specify fixed interval in MINUTES.
Definition: dss_obj.hpp:2383
TShape & action(const char *value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:2428
TShapeAction
TShape: Action (DSS enumeration for TShape)
Definition: dss_obj.hpp:2132
VectorXd hour()
Array of hour values.
Definition: dss_obj.hpp:2258
TShape & action(TShapeAction value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:2408
string dblfile()
Switch input of temperature curve data to a binary file of doubles containing (hour,...
Definition: dss_obj.hpp:2347
double sinterval()
Specify fixed interval in SECONDS.
Definition: dss_obj.hpp:2368
TShape & action(int32_t value)
{DblSave | SngSave} After defining temperature curve data... Setting action=DblSave or SngSave will c...
Definition: dss_obj.hpp:2398
int32_t npts()
Max number of points to expect in temperature shape vectors.
Definition: dss_obj.hpp:2203
TShape(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:2162
Definition: dss_obj.hpp:42352
BatchFloat64ArrayProxy XLT()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:42815
std::vector< VectorXd > kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:42563
strings XfmrCode()
Name of a library entry for transformer properties.
Definition: dss_obj.hpp:43311
TransformerBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:43855
BatchFloat64ArrayProxy pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:43037
strings LeadLag_str()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:43500
BatchFloat64ArrayProxy n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:42892
BatchFloat64ArrayProxy pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:43008
BatchFloat64ArrayProxy pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:43745
std::vector< strings > bus()
Bus connection spec for this winding.
Definition: dss_obj.hpp:42486
std::vector< VectorXd > Xscarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:42848
BatchInt32ArrayProxy Core()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:43532
BatchFloat64ArrayProxy faultrate()
Failure rate per year.
Definition: dss_obj.hpp:43716
std::vector< VectorXd > MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:43145
TransformerBatch(APIUtil *util)
Create a batch of all Transformer elements.
Definition: dss_obj.hpp:42360
std::vector< VectorXd > MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:43160
TransformerBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Transformer elements that match an integer property value.
Definition: dss_obj.hpp:42368
std::vector< VectorXd > pctRs()
Use this property to specify all the winding resistances using an array.
Definition: dss_obj.hpp:43275
BatchFloat64ArrayProxy repair()
Hours to repair.
Definition: dss_obj.hpp:43774
BatchFloat64ArrayProxy normamps()
Normal rated current.
Definition: dss_obj.hpp:43658
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:43803
BatchFloat64ArrayProxy XHT()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:42786
TransformerBatch(APIUtil *util, const char *regexp)
Create a batch of all Transformer elements that match a regular expression.
Definition: dss_obj.hpp:42376
BatchFloat64ArrayProxy flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:42950
BatchFloat64ArrayProxy m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:42921
BatchFloat64ArrayProxy XHL()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:42757
std::vector< dss::obj::XfmrCode > XfmrCode_obj()
Name of a library entry for transformer properties.
Definition: dss_obj.hpp:43332
bools XRConst()
={Yes|No} Default is NO.
Definition: dss_obj.hpp:43347
strings Core_str()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:43577
BatchInt32ArrayProxy phases()
Number of phases this transformer.
Definition: dss_obj.hpp:42399
BatchFloat64ArrayProxy hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:42979
strings subname()
Substation Name.
Definition: dss_obj.hpp:43194
TransformerBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:43867
bools sub()
={Yes|No} Designates whether this transformer is to be considered a substation.Default is No.
Definition: dss_obj.hpp:43124
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the transfomer, to be used only when defining seasona...
Definition: dss_obj.hpp:43613
std::vector< VectorXd > RdcOhms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:43598
BatchFloat64ArrayProxy ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:43244
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:43832
std::vector< VectorXd > Xneut()
Neutral reactance of wye(star)-connected winding in actual ohms.
Definition: dss_obj.hpp:42623
std::vector< VectorXd > kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:42548
std::vector< VectorXd > kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:42712
std::vector< strings > conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:42692
BatchFloat64ArrayProxy X23()
Alternative to XLT for specifying the percent reactance from winding 2 to winding 3....
Definition: dss_obj.hpp:43426
std::vector< VectorXd > Rneut()
Default = -1.
Definition: dss_obj.hpp:42608
strings WdgCurrents()
(Read only) Makes winding currents available via return on query (? Transformer.TX....
Definition: dss_obj.hpp:43521
std::vector< VectorXd > tap()
Per unit tap that this winding is on.
Definition: dss_obj.hpp:42578
BatchInt32ArrayProxy LeadLag()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:43455
BatchInt32ArrayProxy windings()
Number of windings, this transformers.
Definition: dss_obj.hpp:42428
BatchFloat64ArrayProxy X12()
Alternative to XHL for specifying the percent reactance from winding 1 to winding 2.
Definition: dss_obj.hpp:43368
std::vector< VectorXi > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:42657
BatchFloat64ArrayProxy X13()
Alternative to XHT for specifying the percent reactance from winding 1 to winding 3.
Definition: dss_obj.hpp:43397
BatchFloat64ArrayProxy pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:43215
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:43643
BatchInt32ArrayProxy wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:42457
std::vector< VectorXd > kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:42727
std::vector< strings > buses()
Use this to specify all the bus connections at once using an array.
Definition: dss_obj.hpp:42640
strings bank()
Name of the bank this transformer is part of, for CIM, MultiSpeak, and other interfaces.
Definition: dss_obj.hpp:43290
BatchFloat64ArrayProxy emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:43687
std::vector< strings > conn_str()
Connection of this winding {wye*, Delta, LN, LL}.
Definition: dss_obj.hpp:42534
BatchFloat64ArrayProxy thermal()
Thermal time constant of the transformer in hours.
Definition: dss_obj.hpp:42863
std::vector< VectorXd > pctR()
Percent resistance this winding.
Definition: dss_obj.hpp:42593
BatchFloat64ArrayProxy emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:43095
std::vector< VectorXi > conn()
Connection of this winding {wye*, Delta, LN, LL}.
Definition: dss_obj.hpp:42501
std::vector< VectorXd > taps()
Use this to specify the p.u.
Definition: dss_obj.hpp:42742
std::vector< VectorXi > NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:43175
BatchFloat64ArrayProxy normhkVA()
Normal maximum kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:43066
Definition: dss_obj.hpp:10768
double pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:11473
Transformer & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:10889
Transformer(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:10845
int32_t wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:10929
VectorXd taps()
Use this to specify the p.u.
Definition: dss_obj.hpp:11178
Transformer & Core_str(const string &value)
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:11742
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:11873
double n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:11272
VectorXd kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:11010
Transformer & LeadLag_str(const string &value)
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:11679
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:10871
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:11888
double emergamps()
Maximum or emerg current.
Definition: dss_obj.hpp:11813
double hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:11317
strings bus()
Bus connection spec for this winding.
Definition: dss_obj.hpp:10944
strings buses()
Use this to specify all the bus connections at once using an array.
Definition: dss_obj.hpp:11087
double repair()
Hours to repair.
Definition: dss_obj.hpp:11858
VectorXd Rneut()
Default = -1.
Definition: dss_obj.hpp:11055
int32_t phases()
Number of phases this transformer.
Definition: dss_obj.hpp:10899
double normhkVA()
Normal maximum kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:11362
double XLT()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:11223
VectorXd pctR()
Percent resistance this winding.
Definition: dss_obj.hpp:11040
VectorXd MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:11422
string WdgCurrents()
(Read only) Makes winding currents available via return on query (? Transformer.TX....
Definition: dss_obj.hpp:11689
double faultrate()
Failure rate per year.
Definition: dss_obj.hpp:11828
double thermal()
Thermal time constant of the transformer in hours.
Definition: dss_obj.hpp:11257
string bank()
Name of the bank this transformer is part of, for CIM, MultiSpeak, and other interfaces.
Definition: dss_obj.hpp:11520
double emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:11377
VectorXd Xneut()
Neutral reactance of wye(star)-connected winding in actual ohms.
Definition: dss_obj.hpp:11070
Transformer(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:10858
string XfmrCode()
Name of a library entry for transformer properties.
Definition: dss_obj.hpp:11541
VectorXd pctRs()
Use this property to specify all the winding resistances using an array.
Definition: dss_obj.hpp:11505
VectorXd RdcOhms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:11752
double XHL()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:11193
Transformer & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:10879
strings conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:11127
VectorXd tap()
Per unit tap that this winding is on.
Definition: dss_obj.hpp:11025
VectorXd kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:11148
VectorXd kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:10995
dss::obj::XfmrCode XfmrCode_obj()
Name of a library entry for transformer properties.
Definition: dss_obj.hpp:11562
string Core_str()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:11733
int32_t windings()
Number of windings, this transformers.
Definition: dss_obj.hpp:10914
string LeadLag_str()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:11670
VectorXd MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:11407
double pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:11332
strings conn_str()
Connection of this winding {wye*, Delta, LN, LL}.
Definition: dss_obj.hpp:10980
int32_t Seasons()
Defines the number of ratings to be defined for the transfomer, to be used only when defining seasona...
Definition: dss_obj.hpp:11767
std::vector< Connection > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:11104
Transformer(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:10838
string subname()
Substation Name.
Definition: dss_obj.hpp:11452
VectorXd Xscarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:11242
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:11783
double normamps()
Normal rated current.
Definition: dss_obj.hpp:11798
double pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:11347
double flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:11302
PhaseSequence LeadLag()
{Lead | Lag (default) | ANSI (default) | Euro } Designation in mixed Delta-wye connections the relati...
Definition: dss_obj.hpp:11637
std::vector< Connection > conn()
Connection of this winding {wye*, Delta, LN, LL}.
Definition: dss_obj.hpp:10959
double X13()
Alternative to XHT for specifying the percent reactance from winding 1 to winding 3.
Definition: dss_obj.hpp:11607
double ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:11488
VectorXd kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:11163
double X23()
Alternative to XLT for specifying the percent reactance from winding 2 to winding 3....
Definition: dss_obj.hpp:11622
CoreType Core()
{Shell*|5-leg|3-Leg|1-phase|core-1-phase|4-leg} Core Type.
Definition: dss_obj.hpp:11700
Transformer & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:11917
bool XRConst()
={Yes|No} Default is NO.
Definition: dss_obj.hpp:11577
bool sub()
={Yes|No} Designates whether this transformer is to be considered a substation.Default is No.
Definition: dss_obj.hpp:11392
double m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:11287
double pctperm()
Percent of failures that become permanent.
Definition: dss_obj.hpp:11843
double X12()
Alternative to XHL for specifying the percent reactance from winding 1 to winding 2.
Definition: dss_obj.hpp:11592
double XHT()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:11208
VectorXi NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:11437
Transformer & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:11905
Definition: dss_obj.hpp:56314
BatchFloat64ArrayProxy pf()
Power factor target at the input terminal.
Definition: dss_obj.hpp:56438
UPFCBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:56932
BatchFloat64ArrayProxy Tol1()
Tolerance in pu for the series PI controller Tol1=0.02 is the format used to define 2% tolerance (Def...
Definition: dss_obj.hpp:56555
BatchFloat64ArrayProxy refkv()
Base Voltage expected at the output of the UPFC.
Definition: dss_obj.hpp:56409
BatchInt32ArrayProxy Mode()
Integer used to define the control mode of the UPFC:
Definition: dss_obj.hpp:56591
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:56496
UPFCBatch(APIUtil *util)
Create a batch of all UPFC elements.
Definition: dss_obj.hpp:56322
std::vector< dss::obj::XYcurve > LossCurve_obj()
Name of the XYCurve for describing the losses behavior as a function of the voltage at the input of t...
Definition: dss_obj.hpp:56670
BatchFloat64ArrayProxy VHLimit()
High limit for the voltage at the input of the UPFC, if the voltage is above this value the UPFC turn...
Definition: dss_obj.hpp:56685
BatchFloat64ArrayProxy VpqMax()
Maximum voltage (in volts) delivered by the series voltage source (Default = 24 V)
Definition: dss_obj.hpp:56620
strings LossCurve()
Name of the XYCurve for describing the losses behavior as a function of the voltage at the input of t...
Definition: dss_obj.hpp:56649
BatchFloat64ArrayProxy Xs()
Reactance of the series transformer of the UPFC, ohms (default=0.7540 ... 2 mH)
Definition: dss_obj.hpp:56525
BatchFloat64ArrayProxy kvarLimit()
Maximum amount of reactive power (kvar) that can be absorved by the UPFC (Default = 5)
Definition: dss_obj.hpp:56803
BatchFloat64ArrayProxy frequency()
UPFC working frequency.
Definition: dss_obj.hpp:56467
BatchFloat64ArrayProxy VLLimit()
low limit for the voltage at the input of the UPFC, if voltage is below this value the UPFC turns off...
Definition: dss_obj.hpp:56714
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:56897
BatchFloat64ArrayProxy CLimit()
Current Limit for the UPFC, if the current passing through the UPFC is higher than this value the UPF...
Definition: dss_obj.hpp:56743
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:56853
UPFCBatch(APIUtil *util, const char *regexp)
Create a batch of all UPFC elements that match a regular expression.
Definition: dss_obj.hpp:56338
UPFCBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:56920
strings bus1()
Name of bus to which the input terminal (1) is connected.
Definition: dss_obj.hpp:56363
UPFCBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all UPFC elements that match an integer property value.
Definition: dss_obj.hpp:56330
strings bus2()
Name of bus to which the output terminal (2) is connected.
Definition: dss_obj.hpp:56386
BatchFloat64ArrayProxy refkv2()
Base Voltage expected at the output of the UPFC for control modes 4 and 5.
Definition: dss_obj.hpp:56774
strings spectrum()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:56832
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:56868
Definition: dss_obj.hpp:56941
UPFCControlBatch(APIUtil *util)
Create a batch of all UPFCControl elements.
Definition: dss_obj.hpp:56949
UPFCControlBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:57067
UPFCControlBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all UPFCControl elements that match an integer property value.
Definition: dss_obj.hpp:56957
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:57003
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:57032
UPFCControlBatch(APIUtil *util, const char *regexp)
Create a batch of all UPFCControl elements that match a regular expression.
Definition: dss_obj.hpp:56965
std::vector< strings > UPFCList()
The list of all the UPFC devices to be controlled by this controller, If left empty,...
Definition: dss_obj.hpp:56988
UPFCControlBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:57055
Definition: dss_obj.hpp:22129
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:22237
UPFCControl(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:22153
UPFCControl & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:22254
UPFCControl & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:22197
UPFCControl(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:22166
UPFCControl & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:22187
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:22222
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:22179
UPFCControl & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:22266
strings UPFCList()
The list of all the UPFC devices to be controlled by this controller, If left empty,...
Definition: dss_obj.hpp:22207
UPFCControl(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:22146
Definition: dss_obj.hpp:21657
dss::obj::Spectrum spectrum_obj()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:22061
UPFC(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:21710
string LossCurve()
Name of the XYCurve for describing the losses behavior as a function of the voltage at the input of t...
Definition: dss_obj.hpp:21927
double refkv()
Base Voltage expected at the output of the UPFC.
Definition: dss_obj.hpp:21799
double refkv2()
Base Voltage expected at the output of the UPFC for control modes 4 and 5.
Definition: dss_obj.hpp:22010
double CLimit()
Current Limit for the UPFC, if the current passing through the UPFC is higher than this value the UPF...
Definition: dss_obj.hpp:21993
string spectrum()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:22040
UPFC(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:21690
UPFC & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:21741
double pf()
Power factor target at the input terminal.
Definition: dss_obj.hpp:21814
int32_t Mode()
Integer used to define the control mode of the UPFC:
Definition: dss_obj.hpp:21897
string bus2()
Name of bus to which the output terminal (2) is connected.
Definition: dss_obj.hpp:21776
double Xs()
Reactance of the series transformer of the UPFC, ohms (default=0.7540 ... 2 mH)
Definition: dss_obj.hpp:21859
double kvarLimit()
Maximum amount of reactive power (kvar) that can be absorved by the UPFC (Default = 5)
Definition: dss_obj.hpp:22025
string bus1()
Name of bus to which the input terminal (1) is connected.
Definition: dss_obj.hpp:21753
double Tol1()
Tolerance in pu for the series PI controller Tol1=0.02 is the format used to define 2% tolerance (Def...
Definition: dss_obj.hpp:21875
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:21844
double VHLimit()
High limit for the voltage at the input of the UPFC, if the voltage is above this value the UPFC turn...
Definition: dss_obj.hpp:21963
UPFC & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:21731
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:21723
double VpqMax()
Maximum voltage (in volts) delivered by the series voltage source (Default = 24 V)
Definition: dss_obj.hpp:21912
dss::obj::XYcurve LossCurve_obj()
Name of the XYCurve for describing the losses behavior as a function of the voltage at the input of t...
Definition: dss_obj.hpp:21948
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:22091
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:22076
double VLLimit()
low limit for the voltage at the input of the UPFC, if voltage is below this value the UPFC turns off...
Definition: dss_obj.hpp:21978
UPFC & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:22120
UPFC(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:21697
UPFC & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:22108
double frequency()
UPFC working frequency.
Definition: dss_obj.hpp:21829
Definition: dss_obj.hpp:40430
strings bp2()
XYCurve defining the output piece-wise linear block.
Definition: dss_obj.hpp:40652
std::vector< dss::obj::XYcurve > bp2_obj()
XYCurve defining the output piece-wise linear block.
Definition: dss_obj.hpp:40673
BatchFloat64ArrayProxy imaxpu()
Maximum output current in per-unit of rated; defaults to 1.1.
Definition: dss_obj.hpp:40774
bools rmsmode()
True if only Hz is used to represent a phase-locked loop (PLL), ignoring the BP1, BP2 and time-domain...
Definition: dss_obj.hpp:40753
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:40926
strings bus1()
Name of bus to which source is connected.
Definition: dss_obj.hpp:40479
BatchFloat64ArrayProxy vrated()
Rated line-to-line voltage, in Volts.
Definition: dss_obj.hpp:40558
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:40500
BatchFloat64ArrayProxy vrmstau()
Time constant in sensing Vrms for the PLL; defaults to 0.0015.
Definition: dss_obj.hpp:40803
std::vector< dss::obj::Spectrum > spectrum_obj()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:40882
VCCSBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:40961
BatchFloat64ArrayProxy ppct()
Steady-state operating output, in percent of rated.
Definition: dss_obj.hpp:40587
VCCSBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:40949
strings bp1()
XYCurve defining the input piece-wise linear block.
Definition: dss_obj.hpp:40616
BatchFloat64ArrayProxy prated()
Total rated power, in Watts.
Definition: dss_obj.hpp:40529
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:40897
VCCSBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all VCCS elements that match an integer property value.
Definition: dss_obj.hpp:40446
VCCSBatch(APIUtil *util)
Create a batch of all VCCS elements.
Definition: dss_obj.hpp:40438
std::vector< dss::obj::XYcurve > filter_obj()
XYCurve defining the digital filter coefficients (x numerator, y denominator).
Definition: dss_obj.hpp:40709
std::vector< dss::obj::XYcurve > bp1_obj()
XYCurve defining the input piece-wise linear block.
Definition: dss_obj.hpp:40637
BatchFloat64ArrayProxy irmstau()
Time constant in producing Irms from the PLL; defaults to 0.0015.
Definition: dss_obj.hpp:40832
strings filter()
XYCurve defining the digital filter coefficients (x numerator, y denominator).
Definition: dss_obj.hpp:40688
BatchFloat64ArrayProxy fsample()
Sample frequency [Hz} for the digital filter.
Definition: dss_obj.hpp:40724
strings spectrum()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:40861
VCCSBatch(APIUtil *util, const char *regexp)
Create a batch of all VCCS elements that match a regular expression.
Definition: dss_obj.hpp:40454
Definition: dss_obj.hpp:9286
double imaxpu()
Maximum output current in per-unit of rated; defaults to 1.1.
Definition: dss_obj.hpp:9598
VCCS & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:9357
dss::obj::XYcurve bp2_obj()
XYCurve defining the output piece-wise linear block.
Definition: dss_obj.hpp:9517
dss::obj::XYcurve bp1_obj()
XYCurve defining the input piece-wise linear block.
Definition: dss_obj.hpp:9481
string filter()
XYCurve defining the digital filter coefficients (x numerator, y denominator).
Definition: dss_obj.hpp:9532
VCCS(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:9316
VCCS & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:9711
string bp1()
XYCurve defining the input piece-wise linear block.
Definition: dss_obj.hpp:9460
VCCS(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:9336
double irmstau()
Time constant in producing Irms from the PLL; defaults to 0.0015.
Definition: dss_obj.hpp:9628
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:9679
double vrated()
Rated line-to-line voltage, in Volts.
Definition: dss_obj.hpp:9430
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:9694
VCCS(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:9323
string bp2()
XYCurve defining the output piece-wise linear block.
Definition: dss_obj.hpp:9496
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:9349
string bus1()
Name of bus to which source is connected.
Definition: dss_obj.hpp:9379
double prated()
Total rated power, in Watts.
Definition: dss_obj.hpp:9415
string spectrum()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:9643
double ppct()
Steady-state operating output, in percent of rated.
Definition: dss_obj.hpp:9445
VCCS & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:9367
VCCS & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:9723
bool rmsmode()
True if only Hz is used to represent a phase-locked loop (PLL), ignoring the BP1, BP2 and time-domain...
Definition: dss_obj.hpp:9583
dss::obj::Spectrum spectrum_obj()
Harmonic spectrum assumed for this source.
Definition: dss_obj.hpp:9664
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:9400
double vrmstau()
Time constant in sensing Vrms for the PLL; defaults to 0.0015.
Definition: dss_obj.hpp:9613
double fsample()
Sample frequency [Hz} for the digital filter.
Definition: dss_obj.hpp:9568
dss::obj::XYcurve filter_obj()
XYCurve defining the digital filter coefficients (x numerator, y denominator).
Definition: dss_obj.hpp:9553
Definition: dss_obj.hpp:64496
BatchFloat64ArrayProxy Idcmax()
Maximum value of DC current, per-unit of nominal.
Definition: dss_obj.hpp:64918
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:65169
BatchFloat64ArrayProxy Xac()
AC reactance (ohms) for the converter transformer, plus any series reactors.
Definition: dss_obj.hpp:64744
VSConverterBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all VSConverter elements that match an integer property value.
Definition: dss_obj.hpp:64516
BatchFloat64ArrayProxy Qacref()
Reference total AC reactive power, Vars.
Definition: dss_obj.hpp:65008
VSConverterBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:65221
VSConverterBatch(APIUtil *util)
Create a batch of all VSConverter elements.
Definition: dss_obj.hpp:64508
strings spectrum()
Name of harmonic spectrum for this device.
Definition: dss_obj.hpp:65133
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:65198
VSConverterBatch(APIUtil *util, const char *regexp)
Create a batch of all VSConverter elements that match a regular expression.
Definition: dss_obj.hpp:64524
BatchFloat64ArrayProxy m0()
Fixed or initial value of the modulation index.
Definition: dss_obj.hpp:64773
BatchFloat64ArrayProxy Vdcref()
Reference DC voltage, Volts.
Definition: dss_obj.hpp:65038
BatchInt32ArrayProxy Ndc()
Number of DC conductors.
Definition: dss_obj.hpp:64684
BatchInt32ArrayProxy phases()
Number of AC plus DC conductors.
Definition: dss_obj.hpp:64547
strings Bus1()
Name of converter bus, containing both AC and DC conductors.
Definition: dss_obj.hpp:64576
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic spectrum for this device.
Definition: dss_obj.hpp:65154
BatchFloat64ArrayProxy Vacref()
Reference AC line-to-neutral voltage, RMS Volts.
Definition: dss_obj.hpp:64948
BatchFloat64ArrayProxy Mmax()
Maximum value of modulation index.
Definition: dss_obj.hpp:64860
BatchFloat64ArrayProxy Pacref()
Reference total AC real power, Watts.
Definition: dss_obj.hpp:64978
BatchFloat64ArrayProxy Iacmax()
Maximum value of AC line current, per-unit of nominal.
Definition: dss_obj.hpp:64889
BatchInt32ArrayProxy VscMode()
Control Mode (Fixed|PacVac|PacQac|VdcVac|VdcQac).
Definition: dss_obj.hpp:65067
BatchFloat64ArrayProxy Rac()
AC resistance (ohms) for the converter transformer, plus any series reactors.
Definition: dss_obj.hpp:64714
BatchFloat64ArrayProxy kVac()
Nominal AC line-neutral voltage in kV.
Definition: dss_obj.hpp:64597
BatchFloat64ArrayProxy Mmin()
Minimum value of modulation index.
Definition: dss_obj.hpp:64831
VSConverterBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:65233
strings VscMode_str()
Control Mode (Fixed|PacVac|PacQac|VdcVac|VdcQac).
Definition: dss_obj.hpp:65112
BatchFloat64ArrayProxy kVdc()
Nominal DC voltage in kV.
Definition: dss_obj.hpp:64626
BatchFloat64ArrayProxy d0()
Fixed or initial value of the power angle in degrees.
Definition: dss_obj.hpp:64802
BatchFloat64ArrayProxy kW()
Nominal converter power in kW.
Definition: dss_obj.hpp:64655
Definition: dss_obj.hpp:28138
double kW()
Nominal converter power in kW.
Definition: dss_obj.hpp:28317
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:28636
dss::obj::Spectrum spectrum_obj()
Name of harmonic spectrum for this device.
Definition: dss_obj.hpp:28606
double Mmax()
Maximum value of modulation index.
Definition: dss_obj.hpp:28424
VSConverter & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:28241
double Rac()
AC resistance (ohms) for the converter transformer, plus any series reactors.
Definition: dss_obj.hpp:28348
double m0()
Fixed or initial value of the modulation index.
Definition: dss_obj.hpp:28379
double Mmin()
Minimum value of modulation index.
Definition: dss_obj.hpp:28409
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:28223
VSConverter(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:28197
VSConverter & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:28653
double Xac()
AC reactance (ohms) for the converter transformer, plus any series reactors.
Definition: dss_obj.hpp:28364
double Qacref()
Reference total AC reactive power, Vars.
Definition: dss_obj.hpp:28502
VSConverter & VscMode_str(const string &value)
Control Mode (Fixed|PacVac|PacQac|VdcVac|VdcQac).
Definition: dss_obj.hpp:28575
VSConverter & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:28231
double kVdc()
Nominal DC voltage in kV.
Definition: dss_obj.hpp:28302
double Iacmax()
Maximum value of AC line current, per-unit of nominal.
Definition: dss_obj.hpp:28439
double Pacref()
Reference total AC real power, Watts.
Definition: dss_obj.hpp:28486
VSConverter(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:28190
VSConverter(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:28210
string spectrum()
Name of harmonic spectrum for this device.
Definition: dss_obj.hpp:28585
double d0()
Fixed or initial value of the power angle in degrees.
Definition: dss_obj.hpp:28394
int32_t phases()
Number of AC plus DC conductors.
Definition: dss_obj.hpp:28251
VSConverter & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:28665
double Vacref()
Reference AC line-to-neutral voltage, RMS Volts.
Definition: dss_obj.hpp:28470
string VscMode_str()
Control Mode (Fixed|PacVac|PacQac|VdcVac|VdcQac).
Definition: dss_obj.hpp:28566
double Vdcref()
Reference DC voltage, Volts.
Definition: dss_obj.hpp:28518
VSConverterControlMode
VSConverter: Control Mode (DSS enumeration for VSConverter)
Definition: dss_obj.hpp:28177
int32_t Ndc()
Number of DC conductors.
Definition: dss_obj.hpp:28332
double kVac()
Nominal AC line-neutral voltage in kV.
Definition: dss_obj.hpp:28287
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:28621
VSConverterControlMode VscMode()
Control Mode (Fixed|PacVac|PacQac|VdcVac|VdcQac).
Definition: dss_obj.hpp:28533
double Idcmax()
Maximum value of DC current, per-unit of nominal.
Definition: dss_obj.hpp:28454
string Bus1()
Name of converter bus, containing both AC and DC conductors.
Definition: dss_obj.hpp:28266
Definition: dss_obj.hpp:38669
VsourceBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:39824
BatchInt32ArrayProxy phases()
Number of phases.
Definition: dss_obj.hpp:38862
BatchInt32ArrayProxy scantype()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:39187
BatchFloat64ArrayProxy baseMVA()
Default value is 100.
Definition: dss_obj.hpp:39488
bools enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:39801
std::vector< complex > puZ0()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:39446
BatchInt32ArrayProxy Sequence()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:39253
strings Daily()
LOADSHAPE object to use for the per-unit voltage for DAILY-mode simulations.
Definition: dss_obj.hpp:39565
strings Model_str()
{Thevenin* | Ideal} Specifies whether the Vsource is to be considered a Thevenin short circuit model ...
Definition: dss_obj.hpp:39694
strings bus1()
Name of bus to which the main terminal (1) is connected.
Definition: dss_obj.hpp:38724
strings bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:39323
BatchFloat64ArrayProxy R1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39068
std::vector< complex > Z0()
Zero-sequence equivalent source impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:39377
BatchInt32ArrayProxy Model()
{Thevenin* | Ideal} Specifies whether the Vsource is to be considered a Thevenin short circuit model ...
Definition: dss_obj.hpp:39649
VsourceBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all Vsource elements that match an integer property value.
Definition: dss_obj.hpp:38689
BatchFloat64ArrayProxy X0()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39158
BatchFloat64ArrayProxy pu()
Per unit of the base voltage that the source is actually operating at.
Definition: dss_obj.hpp:38775
strings scantype_str()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:39232
std::vector< complex > Z2()
Negative-sequence equivalent source impedance, ohms, as a 2-element array representing a complex numb...
Definition: dss_obj.hpp:39404
BatchFloat64ArrayProxy X1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39098
BatchFloat64ArrayProxy basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:39772
strings Yearly()
LOADSHAPE object to use for the per-unit voltage for YEARLY-mode simulations.
Definition: dss_obj.hpp:39521
strings Duty()
LOADSHAPE object to use for the per-unit voltage for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:39609
std::vector< complex > puZ2()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:39467
std::vector< dss::obj::LoadShape > Duty_obj()
LOADSHAPE object to use for the per-unit voltage for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:39634
BatchFloat64ArrayProxy Isc1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39038
BatchFloat64ArrayProxy MVAsc3()
MVA Short circuit, 3-phase fault.
Definition: dss_obj.hpp:38891
std::vector< dss::obj::LoadShape > Daily_obj()
LOADSHAPE object to use for the per-unit voltage for DAILY-mode simulations.
Definition: dss_obj.hpp:39590
VsourceBatch(APIUtil *util)
Create a batch of all Vsource elements.
Definition: dss_obj.hpp:38681
std::vector< complex > puZideal()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:39715
strings Sequence_str()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:39298
BatchFloat64ArrayProxy x0r0()
Zero-sequence X/R ratio.Default = 3.
Definition: dss_obj.hpp:38978
BatchFloat64ArrayProxy MVAsc1()
MVA Short Circuit, 1-phase fault.
Definition: dss_obj.hpp:38920
BatchFloat64ArrayProxy basekv()
Base Source kV, usually phase-phase (L-L) unless you are making a positive-sequence model or 1-phase ...
Definition: dss_obj.hpp:38745
std::vector< dss::obj::LoadShape > Yearly_obj()
LOADSHAPE object to use for the per-unit voltage for YEARLY-mode simulations.
Definition: dss_obj.hpp:39546
BatchFloat64ArrayProxy angle()
Phase angle in degrees of first phase: e.g.,Angle=10.3.
Definition: dss_obj.hpp:38804
strings spectrum()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:39736
BatchFloat64ArrayProxy x1r1()
Positive-sequence X/R ratio.
Definition: dss_obj.hpp:38949
VsourceBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:39836
VsourceBatch(APIUtil *util, const char *regexp)
Create a batch of all Vsource elements that match a regular expression.
Definition: dss_obj.hpp:38697
std::vector< complex > puZ1()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:39425
std::vector< dss::obj::Spectrum > spectrum_obj()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:39757
BatchFloat64ArrayProxy frequency()
Source frequency.
Definition: dss_obj.hpp:38833
BatchFloat64ArrayProxy R0()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39128
BatchFloat64ArrayProxy Isc3()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:39008
std::vector< complex > Z1()
Positive-sequence equivalent source impedance, ohms, as a 2-element array representing a complex numb...
Definition: dss_obj.hpp:39350
Definition: dss_obj.hpp:7851
string Yearly()
LOADSHAPE object to use for the per-unit voltage for YEARLY-mode simulations.
Definition: dss_obj.hpp:8480
string Daily()
LOADSHAPE object to use for the per-unit voltage for DAILY-mode simulations.
Definition: dss_obj.hpp:8524
double R1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8167
dss::obj::LoadShape Daily_obj()
LOADSHAPE object to use for the per-unit voltage for DAILY-mode simulations.
Definition: dss_obj.hpp:8549
complex Z2()
Negative-sequence equivalent source impedance, ohms, as a 2-element array representing a complex numb...
Definition: dss_obj.hpp:8405
int32_t phases()
Number of phases.
Definition: dss_obj.hpp:8059
double X1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8183
double basefreq()
Base Frequency for ratings.
Definition: dss_obj.hpp:8710
double frequency()
Source frequency.
Definition: dss_obj.hpp:8044
dss::obj::LoadShape Duty_obj()
LOADSHAPE object to use for the per-unit voltage for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:8593
string bus1()
Name of bus to which the main terminal (1) is connected.
Definition: dss_obj.hpp:7977
Vsource(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:7919
dss::obj::Spectrum spectrum_obj()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:8695
Vsource(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:7912
double X0()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8215
complex Z0()
Zero-sequence equivalent source impedance, ohms, as a 2-element array representing a complex number.
Definition: dss_obj.hpp:8385
Vsource & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:7963
bool enabled()
{Yes|No or True|False} Indicates whether this element is enabled.
Definition: dss_obj.hpp:8725
double Isc1()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8151
Vsource & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:8742
double pu()
Per unit of the base voltage that the source is actually operating at.
Definition: dss_obj.hpp:8014
ScanType scantype()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8230
dss::obj::LoadShape Yearly_obj()
LOADSHAPE object to use for the per-unit voltage for YEARLY-mode simulations.
Definition: dss_obj.hpp:8505
complex puZideal()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:8660
double R0()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8199
complex puZ1()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:8419
Vsource(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:7932
string spectrum()
Name of harmonic spectrum for this source.
Definition: dss_obj.hpp:8674
VSourceModel Model()
{Thevenin* | Ideal} Specifies whether the Vsource is to be considered a Thevenin short circuit model ...
Definition: dss_obj.hpp:8608
double MVAsc1()
MVA Short Circuit, 1-phase fault.
Definition: dss_obj.hpp:8089
complex puZ0()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:8433
Vsource & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:7953
Vsource & Sequence_str(const string &value)
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:8324
Vsource & Model_str(const string &value)
{Thevenin* | Ideal} Specifies whether the Vsource is to be considered a Thevenin short circuit model ...
Definition: dss_obj.hpp:8650
double MVAsc3()
MVA Short circuit, 3-phase fault.
Definition: dss_obj.hpp:8074
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:7945
VSourceModel
VSource: Model (DSS enumeration for Vsource)
Definition: dss_obj.hpp:7902
string Duty()
LOADSHAPE object to use for the per-unit voltage for DUTYCYCLE-mode simulations.
Definition: dss_obj.hpp:8568
SequenceType Sequence()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:8282
Vsource & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:8754
double Isc3()
Alternate method of defining the source impedance.
Definition: dss_obj.hpp:8135
string scantype_str()
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8263
string Sequence_str()
{pos*| neg | zero} Set the phase angles for the specified symmetrical component sequence for non-harm...
Definition: dss_obj.hpp:8315
double baseMVA()
Default value is 100.
Definition: dss_obj.hpp:8461
double angle()
Phase angle in degrees of first phase: e.g.,Angle=10.3.
Definition: dss_obj.hpp:8029
Vsource & scantype_str(const string &value)
{pos*| zero | none} Maintain specified sequence for harmonic solution.
Definition: dss_obj.hpp:8272
complex Z1()
Positive-sequence equivalent source impedance, ohms, as a 2-element array representing a complex numb...
Definition: dss_obj.hpp:8365
double basekv()
Base Source kV, usually phase-phase (L-L) unless you are making a positive-sequence model or 1-phase ...
Definition: dss_obj.hpp:7998
string Model_str()
{Thevenin* | Ideal} Specifies whether the Vsource is to be considered a Thevenin short circuit model ...
Definition: dss_obj.hpp:8641
complex puZ2()
2-element array: e.g., [1 2].
Definition: dss_obj.hpp:8447
double x1r1()
Positive-sequence X/R ratio.
Definition: dss_obj.hpp:8104
double x0r0()
Zero-sequence X/R ratio.Default = 3.
Definition: dss_obj.hpp:8119
string bus2()
Name of bus to which 2nd terminal is connected.
Definition: dss_obj.hpp:8338
Definition: dss_obj.hpp:33205
BatchFloat64ArrayProxy Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:33252
strings GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33450
strings radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33545
BatchFloat64ArrayProxy Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:33281
BatchInt32ArrayProxy radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33500
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:33653
BatchFloat64ArrayProxy GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:33376
WireDataBatch(APIUtil *util, const char *regexp)
Create a batch of all WireData elements that match a regular expression.
Definition: dss_obj.hpp:33229
BatchFloat64ArrayProxy emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:33595
BatchInt32ArrayProxy Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33310
WireDataBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:33741
WireDataBatch(APIUtil *util)
Create a batch of all WireData elements.
Definition: dss_obj.hpp:33213
WireDataBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all WireData elements that match an integer property value.
Definition: dss_obj.hpp:33221
BatchFloat64ArrayProxy normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:33566
BatchInt32ArrayProxy GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33405
BatchFloat64ArrayProxy radius()
Outside radius of conductor.
Definition: dss_obj.hpp:33471
BatchFloat64ArrayProxy diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:33624
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:33683
WireDataBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:33729
strings Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:33355
BatchFloat64ArrayProxy Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:33698
Definition: dss_obj.hpp:3721
double Rac()
Resistance at 60 Hz per unit length.
Definition: dss_obj.hpp:3824
WireData & GMRunits_str(const string &value)
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3948
WireData & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:4130
double emergamps()
Emergency ampacity, amperes.
Definition: dss_obj.hpp:4040
double diam()
Diameter; Alternative method for entering radius.
Definition: dss_obj.hpp:4055
int32_t Seasons()
Defines the number of ratings to be defined for the wire, to be used only when defining seasonal rati...
Definition: dss_obj.hpp:4070
DimensionUnits radunits()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3973
WireData & Runits_str(const string &value)
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3881
WireData & radunits_str(const string &value)
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4015
double GMRac()
GMR at 60 Hz.
Definition: dss_obj.hpp:3891
WireData(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:3748
DimensionUnits GMRunits()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3906
double normamps()
Normal ampacity, amperes.
Definition: dss_obj.hpp:4025
double Capradius()
Equivalent conductor radius for capacitance calcs.
Definition: dss_obj.hpp:4101
double radius()
Outside radius of conductor.
Definition: dss_obj.hpp:3958
string Runits_str()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3872
double Rdc()
dc Resistance, ohms per unit length (see Runits).
Definition: dss_obj.hpp:3809
WireData(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:3768
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:3781
WireData & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:3799
string GMRunits_str()
Units for GMR: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3939
DimensionUnits Runits()
Length units for resistance: ohms per {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:3839
string radunits_str()
Units for outside radius: {mi|kft|km|m|Ft|in|cm|mm} Default=none.
Definition: dss_obj.hpp:4006
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:4086
WireData(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:3755
WireData & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:3789
WireData & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:4118
Definition: dss_obj.hpp:32302
strings sngfile()
Switch input of X-Y curve data to a binary file of SINGLES containing X, Y points packed one after an...
Definition: dss_obj.hpp:32458
strings dblfile()
Switch input of X-Y curve data to a binary file of DOUBLES containing X, Y points packed one after an...
Definition: dss_obj.hpp:32479
std::vector< VectorXd > Yarray()
Alternate way to enter Y values.
Definition: dss_obj.hpp:32402
std::vector< VectorXd > Points()
One way to enter the points in a curve.
Definition: dss_obj.hpp:32382
std::vector< VectorXd > Xarray()
Alternate way to enter X values.
Definition: dss_obj.hpp:32422
BatchFloat64ArrayProxy Xshift()
Shift X property values (in/out) by this amount of offset.
Definition: dss_obj.hpp:32558
BatchFloat64ArrayProxy x()
Enter a value and then retrieve the interpolated Y value from the Y property.
Definition: dss_obj.hpp:32500
XYcurveBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:32676
BatchFloat64ArrayProxy Yscale()
Scale Y property values (in/out) by this factor.
Definition: dss_obj.hpp:32645
XYcurveBatch(APIUtil *util)
Create a batch of all XYcurve elements.
Definition: dss_obj.hpp:32310
XYcurveBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all XYcurve elements that match an integer property value.
Definition: dss_obj.hpp:32318
BatchFloat64ArrayProxy Yshift()
Shift Y property values (in/out) by this amount of offset.
Definition: dss_obj.hpp:32587
BatchInt32ArrayProxy npts()
Max number of points to expect in curve.
Definition: dss_obj.hpp:32349
BatchFloat64ArrayProxy Xscale()
Scale X property values (in/out) by this factor.
Definition: dss_obj.hpp:32616
BatchFloat64ArrayProxy y()
Enter a value and then retrieve the interpolated X value from the X property.
Definition: dss_obj.hpp:32529
strings csvfile()
Switch input of X-Y curve data to a CSV file containing X, Y points one per line.
Definition: dss_obj.hpp:32437
XYcurveBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:32688
XYcurveBatch(APIUtil *util, const char *regexp)
Create a batch of all XYcurve elements that match a regular expression.
Definition: dss_obj.hpp:32326
Definition: dss_obj.hpp:2819
XYcurve(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:2853
XYcurve(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:2846
double Yshift()
Shift Y property values (in/out) by this amount of offset.
Definition: dss_obj.hpp:3089
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:2879
XYcurve & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:3136
int32_t npts()
Max number of points to expect in curve.
Definition: dss_obj.hpp:2907
VectorXd Xarray()
Alternate way to enter X values.
Definition: dss_obj.hpp:2966
double y()
Enter a value and then retrieve the interpolated X value from the X property.
Definition: dss_obj.hpp:3059
double x()
Enter a value and then retrieve the interpolated Y value from the Y property.
Definition: dss_obj.hpp:3044
double Xshift()
Shift X property values (in/out) by this amount of offset.
Definition: dss_obj.hpp:3074
XYcurve & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:2897
string dblfile()
Switch input of X-Y curve data to a binary file of DOUBLES containing X, Y points packed one after an...
Definition: dss_obj.hpp:3023
string csvfile()
Switch input of X-Y curve data to a CSV file containing X, Y points one per line.
Definition: dss_obj.hpp:2981
VectorXd Points()
One way to enter the points in a curve.
Definition: dss_obj.hpp:2926
XYcurve & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:2887
VectorXd Yarray()
Alternate way to enter Y values.
Definition: dss_obj.hpp:2946
XYcurve & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:3148
double Yscale()
Scale Y property values (in/out) by this factor.
Definition: dss_obj.hpp:3119
double Xscale()
Scale X property values (in/out) by this factor.
Definition: dss_obj.hpp:3104
string sngfile()
Switch input of X-Y curve data to a binary file of SINGLES containing X, Y points packed one after an...
Definition: dss_obj.hpp:3002
XYcurve(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:2866
Definition: dss_obj.hpp:36338
BatchFloat64ArrayProxy pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:36962
BatchFloat64ArrayProxy n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:36846
std::vector< VectorXi > NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:37108
BatchFloat64ArrayProxy pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:36991
std::vector< VectorXd > kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:36681
std::vector< VectorXd > kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:36519
BatchInt32ArrayProxy windings()
Number of windings, this transformers.
Definition: dss_obj.hpp:36414
BatchInt32ArrayProxy wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:36443
std::vector< strings > conn_str()
Connection of this winding.
Definition: dss_obj.hpp:36505
BatchFloat64ArrayProxy X13()
Alternative to XHT for specifying the percent reactance from winding 1 to winding 3.
Definition: dss_obj.hpp:37231
BatchInt32ArrayProxy Seasons()
Defines the number of ratings to be defined for the transfomer, to be used only when defining seasona...
Definition: dss_obj.hpp:37304
BatchFloat64ArrayProxy thermal()
Thermal time constant of the transformer in hours.
Definition: dss_obj.hpp:36817
BatchFloat64ArrayProxy normhkVA()
Normal maximum kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:37020
std::vector< VectorXd > Rneut()
Default = -1.
Definition: dss_obj.hpp:36579
std::vector< VectorXi > conn()
Connection of this winding.
Definition: dss_obj.hpp:36472
BatchFloat64ArrayProxy Xht()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:36740
std::vector< VectorXd > kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:36666
BatchFloat64ArrayProxy hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:36933
std::vector< strings > conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:36646
std::vector< VectorXd > pctRs()
Use this property to specify all the winding resistances using an array.
Definition: dss_obj.hpp:37187
XfmrCodeBatch & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:37351
BatchFloat64ArrayProxy Xlt()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:36769
std::vector< VectorXd > tap()
Per unit tap that this winding is normally on.
Definition: dss_obj.hpp:36549
BatchFloat64ArrayProxy Xhl()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:36711
BatchFloat64ArrayProxy emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:37049
BatchFloat64ArrayProxy ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:37156
XfmrCodeBatch(APIUtil *util, const char *regexp)
Create a batch of all XfmrCode elements that match a regular expression.
Definition: dss_obj.hpp:36362
BatchInt32ArrayProxy phases()
Number of phases this transformer.
Definition: dss_obj.hpp:36385
std::vector< VectorXd > pctR()
Percent resistance this winding.
Definition: dss_obj.hpp:36564
BatchFloat64ArrayProxy X12()
Alternative to XHL for specifying the percent reactance from winding 1 to winding 2.
Definition: dss_obj.hpp:37202
BatchFloat64ArrayProxy X23()
Alternative to XLT for specifying the percent reactance from winding 2 to winding 3....
Definition: dss_obj.hpp:37260
std::vector< VectorXd > MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:37093
std::vector< VectorXd > kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:36534
XfmrCodeBatch & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:37363
std::vector< VectorXi > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:36611
XfmrCodeBatch(APIUtil *util, int32_t prop_idx, int32_t prop_value)
Create a batch of all XfmrCode elements that match an integer property value.
Definition: dss_obj.hpp:36354
BatchFloat64ArrayProxy pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:37127
std::vector< VectorXd > MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:37078
BatchFloat64ArrayProxy flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:36904
std::vector< VectorXd > Xscarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:36802
std::vector< VectorXd > Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:37334
std::vector< VectorXd > RdcOhms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:37289
std::vector< VectorXd > Xneut()
Neutral reactance of wye(star)-connected winding in actual ohms.
Definition: dss_obj.hpp:36594
std::vector< VectorXd > taps()
Use this to specify the normal p.u.
Definition: dss_obj.hpp:36696
XfmrCodeBatch(APIUtil *util)
Create a batch of all XfmrCode elements.
Definition: dss_obj.hpp:36346
BatchFloat64ArrayProxy m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:36875
Definition: dss_obj.hpp:6093
int32_t phases()
Number of phases this transformer.
Definition: dss_obj.hpp:6207
double X13()
Alternative to XHT for specifying the percent reactance from winding 1 to winding 3.
Definition: dss_obj.hpp:6775
VectorXd Xneut()
Neutral reactance of wye(star)-connected winding in actual ohms.
Definition: dss_obj.hpp:6363
double emerghkVA()
Emergency (contingency) kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:6653
int32_t Seasons()
Defines the number of ratings to be defined for the transfomer, to be used only when defining seasona...
Definition: dss_obj.hpp:6820
VectorXd Rneut()
Default = -1.
Definition: dss_obj.hpp:6348
double pctimag()
Percent magnetizing current.
Definition: dss_obj.hpp:6713
VectorXd RdcOhms()
Winding dc resistance in OHMS.
Definition: dss_obj.hpp:6805
double pctnoloadloss()
Percent no load losses at rated excitatation voltage.
Definition: dss_obj.hpp:6623
VectorXd MaxTap()
Max per unit tap for the active winding.
Definition: dss_obj.hpp:6668
int32_t windings()
Number of windings, this transformers.
Definition: dss_obj.hpp:6222
XfmrCode(APIUtil *util, int32_t idx)
Create a wrapper for an element given by the integer index "idx".
Definition: dss_obj.hpp:6153
double hsrise()
Hot spot temperature rise, deg C.
Definition: dss_obj.hpp:6593
XfmrCode(APIUtil *util, char *name)
Create a wrapper for an element given its name.
Definition: dss_obj.hpp:6166
VectorXi NumTaps()
Total number of taps between min and max tap.
Definition: dss_obj.hpp:6698
VectorXd kV()
For 2-or 3-phase, enter phase-phase kV rating.
Definition: dss_obj.hpp:6288
double Xlt()
Use this to specify the percent reactance, L-T (winding 2 to winding 3).
Definition: dss_obj.hpp:6499
double n()
n Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:6548
XfmrCode & like(const string &value)
Make like another object, e.g.
Definition: dss_obj.hpp:6853
VectorXd Ratings()
An array of ratings to be used when the seasonal ratings flag is True.
Definition: dss_obj.hpp:6836
double m()
m Exponent for thermal properties in IEEE C57.
Definition: dss_obj.hpp:6563
double flrise()
Temperature rise, deg C, for full load.
Definition: dss_obj.hpp:6578
VectorXd kVA()
Base kVA rating of the winding.
Definition: dss_obj.hpp:6303
double ppm_antifloat()
Default=1 ppm.
Definition: dss_obj.hpp:6728
strings conn_str()
Connection of this winding.
Definition: dss_obj.hpp:6273
XfmrCode & end_edit(int32_t num_edits=1)
Finalizes an object edition.
Definition: dss_obj.hpp:6197
VectorXd kVAs()
Use this to specify the kVA ratings of all windings at once using an array.
Definition: dss_obj.hpp:6439
double pctloadloss()
Percent load loss at full load.
Definition: dss_obj.hpp:6608
const char * name()
Returns the object's name.
Definition: dss_obj.hpp:6179
double Xhl()
Use this to specify the percent reactance, H-L (winding 1 to winding 2).
Definition: dss_obj.hpp:6469
double thermal()
Thermal time constant of the transformer in hours.
Definition: dss_obj.hpp:6533
double Xht()
Use this to specify the percent reactance, H-T (winding 1 to winding 3).
Definition: dss_obj.hpp:6484
VectorXd MinTap()
Min per unit tap for the active winding.
Definition: dss_obj.hpp:6683
std::vector< Connection > conn()
Connection of this winding.
Definition: dss_obj.hpp:6252
XfmrCode & like(const char *value)
Make like another object, e.g.
Definition: dss_obj.hpp:6865
strings conns_str()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:6403
int32_t wdg()
Set this = to the number of the winding you wish to define.
Definition: dss_obj.hpp:6237
XfmrCode(APIUtil *util=nullptr, void *ptr_=nullptr)
Create wrapper directly by a given object handle/pointer.
Definition: dss_obj.hpp:6146
double normhkVA()
Normal maximum kVA rating of H winding (winding 1).
Definition: dss_obj.hpp:6638
VectorXd Xscarray()
Use this to specify the percent reactance between all pairs of windings as an array.
Definition: dss_obj.hpp:6518
std::vector< Connection > conns()
Use this to specify all the Winding connections at once using an array.
Definition: dss_obj.hpp:6380
double X23()
Alternative to XLT for specifying the percent reactance from winding 2 to winding 3....
Definition: dss_obj.hpp:6790
VectorXd kVs()
Use this to specify the kV ratings of all windings at once using an array.
Definition: dss_obj.hpp:6424
VectorXd taps()
Use this to specify the normal p.u.
Definition: dss_obj.hpp:6454
double X12()
Alternative to XHL for specifying the percent reactance from winding 1 to winding 2.
Definition: dss_obj.hpp:6760
VectorXd pctRs()
Use this property to specify all the winding resistances using an array.
Definition: dss_obj.hpp:6745
VectorXd pctR()
Percent resistance this winding.
Definition: dss_obj.hpp:6333
VectorXd tap()
Per unit tap that this winding is normally on.
Definition: dss_obj.hpp:6318
XfmrCode & begin_edit()
Marks an object for edition.
Definition: dss_obj.hpp:6187
DSS_CAPI_DLL char * Obj_GetName(void *obj)
Returns the object name (direct access, no copy is done, no disposal required by the user; read only!...
Definition: dss_common.hpp:42
Definition: dss_obj.hpp:23652
Definition: dss_obj.hpp:4144
Definition: dss_obj.hpp:13036
Definition: dss_obj.hpp:11931
Definition: dss_obj.hpp:22280
Definition: dss_obj.hpp:29027
Definition: dss_obj.hpp:26778
Definition: dss_obj.hpp:13712
Definition: dss_obj.hpp:19775
Definition: dss_obj.hpp:27154
Definition: dss_obj.hpp:27587
Definition: dss_obj.hpp:23317
Definition: dss_obj.hpp:15161
Definition: dss_obj.hpp:14085
Definition: dss_obj.hpp:3162
Definition: dss_obj.hpp:22657
Definition: dss_obj.hpp:25381
Definition: dss_obj.hpp:8768
Definition: dss_obj.hpp:970
Definition: dss_obj.hpp:5435
Definition: dss_obj.hpp:5220
Definition: dss_obj.hpp:6879
Definition: dss_obj.hpp:1579
Definition: dss_obj.hpp:9737
Definition: dss_obj.hpp:28679
Definition: dss_obj.hpp:20626
Definition: dss_obj.hpp:2466
Definition: dss_obj.hpp:12409
Definition: dss_obj.hpp:18999
Definition: dss_obj.hpp:24659
Definition: dss_obj.hpp:17709
Definition: dss_obj.hpp:29652
Definition: dss_obj.hpp:3533
Definition: dss_obj.hpp:16694
Definition: dss_obj.hpp:15424
Definition: dss_obj.hpp:20218
Definition: dss_obj.hpp:3381
Definition: dss_obj.hpp:4690
Definition: dss_obj.hpp:2108
Definition: dss_obj.hpp:10773
Definition: dss_obj.hpp:22134
Definition: dss_obj.hpp:21662
Definition: dss_obj.hpp:9291
Definition: dss_obj.hpp:28143
Definition: dss_obj.hpp:7856
Definition: dss_obj.hpp:3726
Definition: dss_obj.hpp:2824
Definition: dss_obj.hpp:6098