Show
Ignore:
Timestamp:
05/14/09 17:16:45 (15 years ago)
Author:
smidl
Message:

Barcelona

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • applications/pmsm/pmsm_ui.h

    r332 r342  
    127127}; 
    128128UIREGISTER ( UIpmsmCRB ); 
     129 
     130class UIpmsmCRBMz: public UIbuilder { 
     131        public: 
     132                UIpmsmCRBMz():UIbuilder("pmsmCRBMz"){}; 
     133                bdmroot* build ( Setting &S ) const { 
     134                        diffbifn* IM; UIbuild(S["IM"],IM); 
     135                        diffbifn* OM; UIbuild(S["OM"],OM); 
     136                 
     137                //parameters 
     138                        pmsmCRBMz* E; E=new pmsmCRBMz; 
     139                 
     140                //statistics 
     141                        int dim=IM->dimension(); 
     142                        vec mu0; 
     143                        mat P0; 
     144                        if (S.exists("mu0")){mu0=getvec(S["mu0"]);}else{mu0=zeros(dim);}; 
     145                        if (S.exists("dP0")){P0=diag(getvec(S["dP0"]));}else{ 
     146                                if (S.exists("P0")){mu0=getmat(S["P0"],dim);}else{P0=eye(dim);}; 
     147                        } 
     148                        E->set_statistics(mu0,P0); 
     149                 
     150                        E->set_parameters(IM, OM, diag(getvec(S["dQ"])), diag(getvec(S["dR"]))); 
     151 
     152                //connect 
     153                        RV* drv; UIbuild(S["drv"],drv); 
     154                        E->set_drv(*drv); 
     155                        RV* rv; UIbuild(S["rv"],rv); 
     156                        E->set_rv(*rv); 
     157                        return E; 
     158                }        
     159}; 
     160UIREGISTER ( UIpmsmCRBMz );