ciao.
Ho un modello ad oggetti piuttosto complesso da cui devo estrarre solo una serie di informazioni geometriche che mi servono per un importatore della geometria.

Il modello è gia fatto , lo ho estratto dal suo schema xsd e posso chiaramente "mettere le mani" sui sorgenti c++ generati automaticamente dallo schema.

Ora, un oggetto che contiene delle informazioni su molti campi diversi(dall ingegneria ai materiali , ai costi ecc...)ha un "percorso" per arrivare alle informazioni che mi interessano:
per es:
per il CBeam che è un CProduct che contiene una CProductRepresentation che contiene una RepresentationItem che contiene(finalmente .... ) una CGeometricRepresentationItem che contiene molte delle informazioni che mi servono.
Le altre informazioni sono nelle classi che ho elencato precedentemente e posso estrarle per cosi dire di passaggio.

E' una buona tecnica creare per es una funzione nel CBeam che "carica" in una classe tutte le informazioni che mi servono dal CBeam e richiama una funzione sul CProduct , che "carica" le informazioni che mi servono dal CProduct e richiama una funzione sul CProductRepresentation e cosi via?

in questo modo mi basta richiamare una funzione sul CBeam
codice:
CBeam::ExtractGeometricInformations(CGemetricInformation * pGeometricInformations){
  pGeometricInformations->Name = this->GetName();
  m_pProduct->ExtractGemetricInformations(pGeometricInformations);
}
poi...
CProduct::ExtractGeometricInformations(CGemetricInformation * pGeometricInformations){
  pGeometricInformations->Productxxx = this->Getxxx();
  m_pProductRepresentation->ExtractGemetricInformations(pGeometricInformations);
}
e cosi via

per avere tutte le informazioni che mi servono nell oggetto pGeometricInformations e procedere all importazione.

Inoltre ho una serie di oggetti che funzionano allo stesso modo :
CColumn,CWall,CSlab ecc....

posso rendere generica l'estrazione delle informazioni .

Mi chiedo se questa genericità, che per ora sfrutto non implementando ripetutamente lo stesso codice di estrazione dell informazione(le stesse classi vengono richiamate da n oggetti generici)possa essere sfruttata in qualche altro modo.

grazie.