Opened 14 years ago
Last modified 14 years ago
#799 new enhancement
Eliminar de un modelo los objetos o componentes inactivos
| Reported by: | Pedro Gea | Owned by: | Pedro Gea |
|---|---|---|---|
| Priority: | major | Milestone: | Next |
| Component: | Models | Keywords: | |
| Cc: | libarra@… |
Description
Se solicita la creación de un método que permita eliminar de un modelo los objetos o componentes inactivos. De esto modo se puede aligerar el modelo manteniendo sólo lo que está activo.
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](/mms/chrome/site/logomms.png)
Buenas tardes Pedro, te adjunto el código que tengo para ir eliminando los objetos o componentes inactivos.
NameBlock model_du = (MMS::Container::GetModel(1)::Duplicate(?))::GetModel(2); // Borrando MCombinations Set mComb = model_du::GetMCombinations(?); Set del_mCom = { Set mComb_null = Select(mComb, Real(NameBlock nb) { Not(nb::IsActive(?)) }); Set EvalSet(mComb_null, Real(NameBlock nb) { nb::Delete(?) }) }; // Desactivando expterms nulos en la estimacion Set exp_act = model_du::GetSubmodel(output)::GetExpTerms_Active(?); Set exp_act_no = EvalSet(exp_act, Real(NameBlock nb) { NameBlock nb_ = nb::GetInput(?); Serie sr_f = SubSer(nb_::GetData(?), iniEst, endEst); Real nulo = And(EQ(MinS(sr_f), 0), EQ(MaxS(sr_f), 0)); Real IF(nulo, nb::SetIsActive(0), 1) }); // Borrando MVariables Set mVar = model_du::GetMVariables(?); Set del_mVar = { Set mVar_null = Select(mVar, Real(NameBlock nb) { Not(nb::IsActive(?)) }); Set EvalSet(mVar_null, Real(NameBlock nb) { nb::Delete(?) }) }; // Borrando SubModels Set mMod = model_du::GetSubmodels(?); Set mMod_del = { Set mMod_null = Select(mMod, Real(NameBlock nb) { Not(nb::IsActive(?)) }); Set EvalSet(mMod_null, Real(NameBlock nb) { nb::Delete(?) }) };