Source code for py_dss_interface.models.LoadShapes.LoadShapes
# -*- encoding: utf-8 -*-
"""
Created by eniocc at 11/10/2020
"""
from py_dss_interface.models.LoadShapes.LoadShapesF import LoadShapesF
from py_dss_interface.models.LoadShapes.LoadShapesI import LoadShapesI
from py_dss_interface.models.LoadShapes.LoadShapesS import LoadShapesS
from py_dss_interface.models.LoadShapes.LoadShapesV import LoadShapesV
from typing import List
[docs]class LoadShapes(LoadShapesF, LoadShapesI, LoadShapesS, LoadShapesV):
"""
This interface implements the LoadShape (ILoadShape) interface of OpenDSS by declaring 4 procedures for accessing
the different properties included in this interface: .
"""
def __init__(self, obj_dss):
super().__init__(obj_dss)
@property
def count(self) -> int:
"""Returns the number of LoadShape objects currently _defined in LoadShape collection."""
return LoadShapesI._count(self)
[docs] def first(self) -> int:
"""sets the first loadshape active and return integer index of the loadshape. Returns 0 if no more."""
return LoadShapesI._first(self)
@property
def hr_interval(self) -> float:
"""Gets the fixed interval time value, hours.
Sets the fixed interval time value, hours."""
return LoadShapesF._hr_interval(self)
@hr_interval.setter
def hr_interval(self, arg: float):
LoadShapesF._hr_interval_write(self, arg)
@property
def min_interval(self) -> float:
"""Gets the fixed interval time value, in minutes.
Sets the fixed interval time value, in minutes."""
return LoadShapesF._min_interval(self)
@min_interval.setter
def min_interval(self, arg: float):
LoadShapesF._min_interval_write(self, arg)
@property
def name(self) -> str:
"""Gets the name of the active LoadShape object.
Sets the name of the active LoadShape object."""
return LoadShapesS._name(self)
@name.setter
def name(self, arg: str):
LoadShapesS._name_write(self, arg)
@property
def names(self) -> List[str]:
"""Gets a variant array of strings containing names of all LoadShape objects currently defined."""
return LoadShapesV._names(self)
[docs] def next(self) -> int:
"""Sets the next loadshape active and return integer index of the loadshape. Returns 0 if no more."""
return LoadShapesI._next(self)
[docs] def normalize(self) -> int:
"""Normalizes the P and Q curves based on either Pbase, Qbase or simply the peak value of the curve."""
return LoadShapesI._normalize(self)
@property
def npts(self) -> int:
"""Gets the number of points in active LoadShape.
Sets the number of points in active LoadShape."""
return LoadShapesI._npts(self)
@npts.setter
def npts(self, arg: int):
LoadShapesI._npts_write(self, arg)
@property
def p_base(self) -> float:
"""Gets the base for normalizing P curve. If left at zero, the peak value is used.
Sets the base for normalizing P curve. If left at zero, the peak value is used."""
return LoadShapesF._p_base(self)
@p_base.setter
def p_base(self, arg: float):
LoadShapesF._p_base_write(self, arg)
@property
def p_mult(self) -> List[float]:
"""Gets a variant array of doubles for the P multiplier in the LoadShape.
Sets a variant array of doubles for the P multiplier in the LoadShape."""
return LoadShapesV._p_mult(self)
@p_mult.setter
def p_mult(self, arg: List[float]):
LoadShapesV._p_mult_write(self, arg)
@property
def q_base(self) -> float:
"""Gets the base for normalizing Q curve. If left at zero, the peak value is used.
Sets the base for normalizing Q curve. If left at zero, the peak value is used."""
return LoadShapesF._q_base(self)
@q_base.setter
def q_base(self, arg: float):
LoadShapesF._q_base_write(self, arg)
@property
def q_mult(self) -> List[float]:
"""Gets a variant array of doubles for the Q multiplier in the LoadShape.
Sets a variant array of doubles for the Q multiplier in the LoadShape."""
return LoadShapesV._q_mult(self)
@q_mult.setter
def q_mult(self, arg: List[float]):
LoadShapesV._q_mult_write(self, arg)
@property
def s_interval(self) -> float:
"""Gets the fixed interval data time interval, seconds.
Sets the fixed interval data time interval, seconds."""
return LoadShapesF._s_interval(self)
@s_interval.setter
def s_interval(self, arg: float):
LoadShapesF._s_interval_write(self, arg)
@property
def time_array(self) -> List[float]:
"""Gets a time array in hours corresponding to P and Q multipliers when the Interval = 0.
Sets a time array in hours corresponding to P and Q multipliers when the Interval = 0."""
return LoadShapesV._time_array(self)
@time_array.setter
def time_array(self, arg: List[float]):
LoadShapesV._time_array_write(self, arg)
@property
def use_actual(self) -> int:
"""Gets a TRUE/FALSE (1/0) to let Loads know to use the actual value in the curve rather than use the value as
a multiplier.
Sets a TRUE/FALSE (1/0 - Argument) to let Loads know to use the actual value in the curve rather than use
the value as a multiplier."""
return LoadShapesI._use_actual(self)
@use_actual.setter
def use_actual(self, arg: int):
LoadShapesI._use_actual_write(self, arg)