Changeset 841 in Sophya for trunk/SophyaLib/SkyMap/localmap.cc
- Timestamp:
- Apr 7, 2000, 5:51:36 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/SkyMap/localmap.cc
r809 r841 550 550 //-- 551 551 552 //*******************************************************************553 // class FIO_LocalMap<T>554 // Les objets delegues pour la gestion de persistance555 //*******************************************************************556 557 //++558 template <class T>559 FIO_LocalMap<T>::FIO_LocalMap()560 //561 //--562 {563 dobj= new LocalMap<T>;564 ownobj= true;565 }566 //++567 template <class T>568 FIO_LocalMap<T>::FIO_LocalMap(string const& filename)569 //570 //--571 {572 dobj= new LocalMap<T>;573 dobj->DataBlock().SetTemp(true);574 ownobj= true;575 Read(filename);576 }577 578 //++579 template <class T>580 FIO_LocalMap<T>::FIO_LocalMap(const LocalMap<T>& obj)581 //582 //--583 {584 dobj= new LocalMap<T>(obj, true);585 dobj->DataBlock().SetTemp(true);586 ownobj= true;587 }588 589 template <class T>590 FIO_LocalMap<T>::FIO_LocalMap(LocalMap<T>* obj)591 {592 dobj= obj;593 ownobj= false;594 }595 596 //++597 template <class T>598 FIO_LocalMap<T>::~FIO_LocalMap()599 //600 //--601 {602 if (ownobj && dobj) delete dobj;603 }604 605 //++606 template <class T>607 AnyDataObj* FIO_LocalMap<T>::DataObj()608 //609 //--610 {611 return(dobj);612 }613 614 //++615 template <class T>616 void FIO_LocalMap<T>::SetDataObj(AnyDataObj & o)617 //618 //--619 {620 LocalMap<T> * po = dynamic_cast< LocalMap<T> * >(&o);621 if (po == NULL) return;622 if (ownobj && dobj) delete dobj;623 dobj = po; ownobj = false;624 }625 626 //++627 template <class T>628 void FIO_LocalMap<T>::ReadSelf(PInPersist& is)629 //630 //--631 {632 633 if(dobj == NULL)634 {635 dobj= new LocalMap<T>;636 dobj->DataBlock().SetTemp(true);637 ownobj= true;638 }639 640 // Pour savoir s'il y avait un DVList Info associe641 char strg[256];642 is.GetLine(strg, 255);643 bool hadinfo= false;644 if(strncmp(strg+strlen(strg)-7, "HasInfo", 7) == 0) hadinfo= true;645 if(hadinfo)646 { // Lecture eventuelle du DVList Info647 is >> dobj->Info();648 }649 650 int_4 nSzX;651 is.GetI4(nSzX);652 // dobj->setSize_x(nSzX);653 654 int_4 nSzY;655 is.GetI4(nSzY);656 // dobj->setSize_y(nSzY);657 658 int_4 nPix;659 is.GetI4(nPix);660 // dobj->setNbPixels(nPix);661 dobj->ReSize(nSzX, nSzY);662 string ss("local mapping is done");663 string sso;664 is.GetStr(sso);665 if(sso == ss)666 {667 cout<<" ReadSelf:: local mapping"<<endl;668 int_4 x0, y0;669 double theta, phi, angle;670 is.GetI4(x0);671 is.GetI4(y0);672 is.GetR8(theta);673 is.GetR8(phi);674 is.GetR8(angle);675 dobj->SetOrigin(theta, phi, x0, y0, angle);676 677 double angleX, angleY;678 is.GetR8(angleX);679 is.GetR8(angleY);680 dobj->SetSize(angleX, angleY);681 }682 683 // On lit le DataBlock;684 FIO_NDataBlock<T> fio_nd(&dobj->DataBlock());685 fio_nd.Read(is);686 }687 688 //++689 template <class T>690 void FIO_LocalMap<T>::WriteSelf(POutPersist& os) const691 //692 //--693 {694 if(dobj == NULL)695 {696 cout << " FIO_LocalMap::WriteSelf:: dobj= null " << endl;697 return;698 }699 700 char strg[256];701 int_4 nSzX= dobj->Size_x();702 int_4 nSzY= dobj->Size_y();703 int_4 nPix= dobj->NbPixels();704 705 if(dobj->ptrInfo())706 {707 sprintf(strg,"LocalMap: NPixX=%6d NPixY=%9d HasInfo",nSzX,nSzY);708 os.PutLine(strg);709 os << dobj->Info();710 }711 else712 {713 sprintf(strg,"LocalMap: NPixX=%6d NPixY=%9d ",nSzX,nSzY);714 os.PutLine(strg);715 }716 717 os.PutI4(nSzX);718 os.PutI4(nSzY);719 os.PutI4(nPix);720 721 if(dobj->LocalMap_isDone())722 {723 string ss("local mapping is done");724 os.PutStr(ss);725 int_4 x0, y0;726 double theta, phi, angle;727 dobj->Origin(theta, phi, x0, y0, angle);728 os.PutI4(x0);729 os.PutI4(y0);730 os.PutR8(theta);731 os.PutR8(phi);732 os.PutR8(angle);733 734 double angleX, angleY;735 dobj->Aperture(angleX, angleY);736 os.PutR8(angleX);737 os.PutR8(angleY);738 }739 else740 {741 string ss("no local mapping");742 os.PutStr(ss);743 }744 745 // On ecrit le dataBlock746 FIO_NDataBlock<T> fio_nd(&dobj->DataBlock());747 fio_nd.Write(os);748 }749 552 750 553 #ifdef __CXX_PRAGMA_TEMPLATES__ … … 753 556 #pragma define_template LocalMap< complex<r_8> > 754 557 #pragma define_template LocalMap< complex<r_4> > 755 #pragma define_template FIO_LocalMap<r_8>756 #pragma define_template FIO_LocalMap<r_4>757 #pragma define_template FIO_LocalMap< complex<r_4> >758 #pragma define_template FIO_LocalMap< complex<r_8> >759 558 #endif 760 559 #if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES) … … 763 562 template class LocalMap< complex<r_8> >; 764 563 template class LocalMap< complex<r_4> >; 765 template class FIO_LocalMap<r_8>;766 template class FIO_LocalMap<r_4>;767 template class FIO_LocalMap< complex<r_4> >;768 template class FIO_LocalMap< complex<r_8> >;769 564 #endif
Note:
See TracChangeset
for help on using the changeset viewer.