def METHOD_NAME(self, elm_idx, bus_idx, time_idx=None):
    """
    :param elm_idx:
    :param bus_idx:
    :param time_idx:
    :return:
    """
    if time_idx is None:
        tidx = elm_idx
    else:
        tidx = np.ix_(elm_idx, time_idx)
    data = HvdcData(nhvdc=len(elm_idx), nbus=len(bus_idx))
    data.names = self.names[elm_idx]
    data.active = self.active[elm_idx]
    data.dispatchable = self.dispatchable[elm_idx]
    data.rate = self.rate[tidx]
    data.contingency_rate = self.contingency_rate[tidx]
    data.Pset = self.Pset[tidx]
    data.r = self.r[elm_idx]
    data.Vset_f = self.Vset_f[tidx]
    data.Vset_t = self.Vset_t[tidx]
    data.angle_droop = self.angle_droop[elm_idx]
    data.control_mode = self.control_mode[elm_idx]
    data.Qmin_f = self.Qmin_f[elm_idx]
    data.Qmax_f = self.Qmax_f[elm_idx]
    data.Qmin_t = self.Qmin_t[elm_idx]
    data.Qmax_t = self.Qmax_t[elm_idx]
    data.C_hvdc_bus_f = self.C_hvdc_bus_f[np.ix_(elm_idx, bus_idx)]
    data.C_hvdc_bus_t = self.C_hvdc_bus_t[np.ix_(elm_idx, bus_idx)]
    return data