#ifndef __FIELD_SOLVEGRIDREF__ #define __FIELD_SOLVEGRIDREF__ namespace XMLIOSERVER { void CField::solveGridRef(void) { CDomain* domain = NULL; CAxis* axis = NULL ; if (domain_ref.hasValue()) { if (CDomain::HasObject(domain_ref)) domain = CDomain::GetObject(domain_ref) ; else throw XMLIOSERVER::XMLIOUndefinedValueException("Référence au domaine nommé \'"+ (string)domain_ref +"\' incorrecte") ; } if (axis_ref.hasValue()) { if (CAxis::HasObject(axis_ref)) axis = CAxis::GetObject(axis_ref) ; else throw XMLIOSERVER::XMLIOUndefinedValueException("Référence à l'axe nommé \'"+ (string)axis_ref +"\' incorrecte") ; } if (grid_ref.hasValue()) { if (CGrid::HasObject(grid_ref)) grid = CGrid::GetObject(grid_ref) ; else throw XMLIOSERVER::XMLIOUndefinedValueException("Référence à la grille nommée \'"+ (string)grid_ref +"\' incorrecte"); } if (grid_ref.hasValue()) { if (domain_ref.hasValue()) WARNING("Définition conjointe de la grille et du domaine, la grille prévaut..." ); if (axis_ref.hasValue()) WARNING("Définition conjointe de la grille et de l'axe vertical, la grille prévaut...") ; } else { if (domain_ref.hasValue()) { if (axis_ref.hasValue()) grid = CGrid::CreateObject(domain, axis) ; else grid = CGrid::CreateObject(domain) ; } else ERROR("Le domaine horizontal pour le champ X n'est pas défini") ; } grid->solveReference() ; } } #endif //__FIELD_SOLVEGRIDREF__