LCOV - code coverage report
Current view: top level - alma/ASDM - FocusRow.cc (source / functions) Hit Total Coverage
Test: ctest_coverage.info Lines: 0 271 0.0 %
Date: 2023-11-06 10:06:49 Functions: 0 53 0.0 %

          Line data    Source code
       1             : 
       2             : /*
       3             :  * ALMA - Atacama Large Millimeter Array
       4             :  * (c) European Southern Observatory, 2002
       5             :  * (c) Associated Universities Inc., 2002
       6             :  * Copyright by ESO (in the framework of the ALMA collaboration),
       7             :  * Copyright by AUI (in the framework of the ALMA collaboration),
       8             :  * All rights reserved.
       9             :  * 
      10             :  * This library is free software; you can redistribute it and/or
      11             :  * modify it under the terms of the GNU Lesser General Public
      12             :  * License as published by the Free software Foundation; either
      13             :  * version 2.1 of the License, or (at your option) any later version.
      14             :  * 
      15             :  * This library is distributed in the hope that it will be useful,
      16             :  * but WITHOUT ANY WARRANTY, without even the implied warranty of
      17             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      18             :  * Lesser General Public License for more details.
      19             :  * 
      20             :  * You should have received a copy of the GNU Lesser General Public
      21             :  * License along with this library; if not, write to the Free Software
      22             :  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
      23             :  * MA 02111-1307  USA
      24             :  *
      25             :  * Warning!
      26             :  *  -------------------------------------------------------------------- 
      27             :  * | This is generated code!  Do not modify this file.                  |
      28             :  * | If you do, all changes will be lost when the file is re-generated. |
      29             :  *  --------------------------------------------------------------------
      30             :  *
      31             :  * File FocusRow.cpp
      32             :  */
      33             :  
      34             : #include <vector>
      35             : #include <set>
      36             : 
      37             : #include <alma/ASDM/ASDM.h>
      38             : #include <alma/ASDM/FocusRow.h>
      39             : #include <alma/ASDM/FocusTable.h>
      40             : 
      41             : #include <alma/ASDM/AntennaTable.h>
      42             : #include <alma/ASDM/AntennaRow.h>
      43             : 
      44             : #include <alma/ASDM/FocusModelTable.h>
      45             : #include <alma/ASDM/FocusModelRow.h>
      46             :         
      47             : 
      48             : using asdm::ASDM;
      49             : using asdm::FocusRow;
      50             : using asdm::FocusTable;
      51             : 
      52             : using asdm::AntennaTable;
      53             : using asdm::AntennaRow;
      54             : 
      55             : using asdm::FocusModelTable;
      56             : using asdm::FocusModelRow;
      57             : 
      58             : 
      59             : #include <alma/ASDM/Parser.h>
      60             : 
      61             : #include <alma/ASDM/EnumerationParser.h>
      62             : #include <alma/ASDM/ASDMValuesParser.h>
      63             :  
      64             : #include <alma/ASDM/InvalidArgumentException.h>
      65             : 
      66             : using namespace std;
      67             : 
      68             : namespace asdm {
      69           0 :         FocusRow::~FocusRow() {
      70           0 :         }
      71             : 
      72             :         /**
      73             :          * Return the table to which this row belongs.
      74             :          */
      75           0 :         FocusTable &FocusRow::getTable() const {
      76           0 :                 return table;
      77             :         }
      78             : 
      79           0 :         bool FocusRow::isAdded() const {
      80           0 :                 return hasBeenAdded;
      81             :         }       
      82             : 
      83           0 :         void FocusRow::isAdded(bool added) {
      84           0 :                 hasBeenAdded = added;
      85           0 :         }
      86             :         
      87             : #ifndef WITHOUT_ACS
      88             :         using asdmIDL::FocusRowIDL;
      89             : #endif
      90             :         
      91             : #ifndef WITHOUT_ACS
      92             :         /**
      93             :          * Return this row in the form of an IDL struct.
      94             :          * @return The values of this row as a FocusRowIDL struct.
      95             :          */
      96             :         FocusRowIDL *FocusRow::toIDL() const {
      97             :                 FocusRowIDL *x = new FocusRowIDL ();
      98             :                 
      99             :                 // Fill the IDL structure.
     100             :         
     101             :                 
     102             :         
     103             :                 
     104             :                 
     105             :                 
     106             :                         
     107             :                 x->timeInterval = timeInterval.toIDLArrayTimeInterval();
     108             :                         
     109             :                 
     110             :         
     111             : 
     112             :         
     113             :                 
     114             :                 
     115             :                 
     116             :                         
     117             :                                 
     118             :                 x->focusTracking = focusTracking;
     119             :                                 
     120             :                         
     121             :                 
     122             :         
     123             : 
     124             :         
     125             :                 
     126             :                 
     127             :                 
     128             :                         
     129             :                 x->focusOffset.length(focusOffset.size());
     130             :                 for (unsigned int i = 0; i < focusOffset.size(); ++i) {
     131             :                         
     132             :                         x->focusOffset[i] = focusOffset.at(i).toIDLLength();
     133             :                         
     134             :                 }
     135             :                         
     136             :                 
     137             :         
     138             : 
     139             :         
     140             :                 
     141             :                 
     142             :                 
     143             :                         
     144             :                 x->focusRotationOffset.length(focusRotationOffset.size());
     145             :                 for (unsigned int i = 0; i < focusRotationOffset.size(); ++i) {
     146             :                         
     147             :                         x->focusRotationOffset[i] = focusRotationOffset.at(i).toIDLAngle();
     148             :                         
     149             :                 }
     150             :                         
     151             :                 
     152             :         
     153             : 
     154             :         
     155             :                 
     156             :                 
     157             :                 x->measuredFocusPositionExists = measuredFocusPositionExists;
     158             :                 
     159             :                 
     160             :                         
     161             :                 x->measuredFocusPosition.length(measuredFocusPosition.size());
     162             :                 for (unsigned int i = 0; i < measuredFocusPosition.size(); ++i) {
     163             :                         
     164             :                         x->measuredFocusPosition[i] = measuredFocusPosition.at(i).toIDLLength();
     165             :                         
     166             :                 }
     167             :                         
     168             :                 
     169             :         
     170             : 
     171             :         
     172             :                 
     173             :                 
     174             :                 x->measuredFocusRotationExists = measuredFocusRotationExists;
     175             :                 
     176             :                 
     177             :                         
     178             :                 x->measuredFocusRotation.length(measuredFocusRotation.size());
     179             :                 for (unsigned int i = 0; i < measuredFocusRotation.size(); ++i) {
     180             :                         
     181             :                         x->measuredFocusRotation[i] = measuredFocusRotation.at(i).toIDLAngle();
     182             :                         
     183             :                 }
     184             :                         
     185             :                 
     186             :         
     187             : 
     188             :         
     189             :         
     190             :                 
     191             :         
     192             :         
     193             :                 
     194             :                 
     195             :                 
     196             :                         
     197             :                 x->antennaId = antennaId.toIDLTag();
     198             :                         
     199             :                                 
     200             :         
     201             : 
     202             :         
     203             :         
     204             :                 
     205             :                 
     206             :                 
     207             :                         
     208             :                                 
     209             :                 x->focusModelId = focusModelId;
     210             :                                 
     211             :                         
     212             :                                 
     213             :         
     214             : 
     215             :         
     216             :                 
     217             :         
     218             : 
     219             :         
     220             : 
     221             :                 
     222             :                 return x;
     223             :         
     224             :         }
     225             :         
     226             :         void FocusRow::toIDL(asdmIDL::FocusRowIDL& x) const {
     227             :                 // Set the x's fields.
     228             :         
     229             :                 
     230             :         
     231             :                 
     232             :                 
     233             :                 
     234             :                         
     235             :                 x.timeInterval = timeInterval.toIDLArrayTimeInterval();
     236             :                         
     237             :                 
     238             :         
     239             : 
     240             :         
     241             :                 
     242             :                 
     243             :                 
     244             :                         
     245             :                                 
     246             :                 x.focusTracking = focusTracking;
     247             :                                 
     248             :                         
     249             :                 
     250             :         
     251             : 
     252             :         
     253             :                 
     254             :                 
     255             :                 
     256             :                         
     257             :                 x.focusOffset.length(focusOffset.size());
     258             :                 for (unsigned int i = 0; i < focusOffset.size(); ++i) {
     259             :                         
     260             :                         x.focusOffset[i] = focusOffset.at(i).toIDLLength();
     261             :                         
     262             :                 }
     263             :                         
     264             :                 
     265             :         
     266             : 
     267             :         
     268             :                 
     269             :                 
     270             :                 
     271             :                         
     272             :                 x.focusRotationOffset.length(focusRotationOffset.size());
     273             :                 for (unsigned int i = 0; i < focusRotationOffset.size(); ++i) {
     274             :                         
     275             :                         x.focusRotationOffset[i] = focusRotationOffset.at(i).toIDLAngle();
     276             :                         
     277             :                 }
     278             :                         
     279             :                 
     280             :         
     281             : 
     282             :         
     283             :                 
     284             :                 
     285             :                 x.measuredFocusPositionExists = measuredFocusPositionExists;
     286             :                 
     287             :                 
     288             :                         
     289             :                 x.measuredFocusPosition.length(measuredFocusPosition.size());
     290             :                 for (unsigned int i = 0; i < measuredFocusPosition.size(); ++i) {
     291             :                         
     292             :                         x.measuredFocusPosition[i] = measuredFocusPosition.at(i).toIDLLength();
     293             :                         
     294             :                 }
     295             :                         
     296             :                 
     297             :         
     298             : 
     299             :         
     300             :                 
     301             :                 
     302             :                 x.measuredFocusRotationExists = measuredFocusRotationExists;
     303             :                 
     304             :                 
     305             :                         
     306             :                 x.measuredFocusRotation.length(measuredFocusRotation.size());
     307             :                 for (unsigned int i = 0; i < measuredFocusRotation.size(); ++i) {
     308             :                         
     309             :                         x.measuredFocusRotation[i] = measuredFocusRotation.at(i).toIDLAngle();
     310             :                         
     311             :                 }
     312             :                         
     313             :                 
     314             :         
     315             : 
     316             :         
     317             :         
     318             :                 
     319             :         
     320             :         
     321             :                 
     322             :                 
     323             :                 
     324             :                         
     325             :                 x.antennaId = antennaId.toIDLTag();
     326             :                         
     327             :                                 
     328             :         
     329             : 
     330             :         
     331             :         
     332             :                 
     333             :                 
     334             :                 
     335             :                         
     336             :                                 
     337             :                 x.focusModelId = focusModelId;
     338             :                                 
     339             :                         
     340             :                                 
     341             :         
     342             : 
     343             :         
     344             :                 
     345             :         
     346             : 
     347             :         
     348             : 
     349             :         
     350             :         }
     351             : #endif
     352             :         
     353             : 
     354             : #ifndef WITHOUT_ACS
     355             :         /**
     356             :          * Fill the values of this row from the IDL struct FocusRowIDL.
     357             :          * @param x The IDL struct containing the values used to fill this row.
     358             :          */
     359             :         void FocusRow::setFromIDL (FocusRowIDL x){
     360             :                 try {
     361             :                 // Fill the values from x.
     362             :         
     363             :                 
     364             :         
     365             :                 
     366             :                 
     367             :                         
     368             :                 setTimeInterval(ArrayTimeInterval (x.timeInterval));
     369             :                         
     370             :                 
     371             :                 
     372             :         
     373             : 
     374             :         
     375             :                 
     376             :                 
     377             :                         
     378             :                 setFocusTracking(x.focusTracking);
     379             :                         
     380             :                 
     381             :                 
     382             :         
     383             : 
     384             :         
     385             :                 
     386             :                 
     387             :                         
     388             :                 focusOffset .clear();
     389             :                 for (unsigned int i = 0; i <x.focusOffset.length(); ++i) {
     390             :                         
     391             :                         focusOffset.push_back(Length (x.focusOffset[i]));
     392             :                         
     393             :                 }
     394             :                         
     395             :                 
     396             :                 
     397             :         
     398             : 
     399             :         
     400             :                 
     401             :                 
     402             :                         
     403             :                 focusRotationOffset .clear();
     404             :                 for (unsigned int i = 0; i <x.focusRotationOffset.length(); ++i) {
     405             :                         
     406             :                         focusRotationOffset.push_back(Angle (x.focusRotationOffset[i]));
     407             :                         
     408             :                 }
     409             :                         
     410             :                 
     411             :                 
     412             :         
     413             : 
     414             :         
     415             :                 
     416             :                 measuredFocusPositionExists = x.measuredFocusPositionExists;
     417             :                 if (x.measuredFocusPositionExists) {
     418             :                 
     419             :                 
     420             :                         
     421             :                 measuredFocusPosition .clear();
     422             :                 for (unsigned int i = 0; i <x.measuredFocusPosition.length(); ++i) {
     423             :                         
     424             :                         measuredFocusPosition.push_back(Length (x.measuredFocusPosition[i]));
     425             :                         
     426             :                 }
     427             :                         
     428             :                 
     429             :                 
     430             :                 }
     431             :                 
     432             :         
     433             : 
     434             :         
     435             :                 
     436             :                 measuredFocusRotationExists = x.measuredFocusRotationExists;
     437             :                 if (x.measuredFocusRotationExists) {
     438             :                 
     439             :                 
     440             :                         
     441             :                 measuredFocusRotation .clear();
     442             :                 for (unsigned int i = 0; i <x.measuredFocusRotation.length(); ++i) {
     443             :                         
     444             :                         measuredFocusRotation.push_back(Angle (x.measuredFocusRotation[i]));
     445             :                         
     446             :                 }
     447             :                         
     448             :                 
     449             :                 
     450             :                 }
     451             :                 
     452             :         
     453             : 
     454             :         
     455             :         
     456             :                 
     457             :         
     458             :                 
     459             :                 
     460             :                         
     461             :                 setAntennaId(Tag (x.antennaId));
     462             :                         
     463             :                 
     464             :                 
     465             :         
     466             : 
     467             :         
     468             :                 
     469             :                 
     470             :                         
     471             :                 setFocusModelId(x.focusModelId);
     472             :                         
     473             :                 
     474             :                 
     475             :         
     476             : 
     477             :         
     478             :                 
     479             :         
     480             : 
     481             :         
     482             : 
     483             :                 } catch (const IllegalAccessException &err) {
     484             :                         throw ConversionException (err.getMessage(),"Focus");
     485             :                 }
     486             :         }
     487             : #endif
     488             :         
     489             :         /**
     490             :          * Return this row in the form of an XML string.
     491             :          * @return The values of this row as an XML string.
     492             :          */
     493           0 :         string FocusRow::toXML() const {
     494           0 :                 string buf;
     495           0 :                 buf.append("<row> \n");
     496             :                 
     497             :         
     498             :                 
     499             :         
     500             :                 
     501             :                 
     502           0 :                 Parser::toXML(timeInterval, "timeInterval", buf);
     503             :                 
     504             :                 
     505             :         
     506             : 
     507             :         
     508             :                 
     509             :                 
     510           0 :                 Parser::toXML(focusTracking, "focusTracking", buf);
     511             :                 
     512             :                 
     513             :         
     514             : 
     515             :         
     516             :                 
     517             :                 
     518           0 :                 Parser::toXML(focusOffset, "focusOffset", buf);
     519             :                 
     520             :                 
     521             :         
     522             : 
     523             :         
     524             :                 
     525             :                 
     526           0 :                 Parser::toXML(focusRotationOffset, "focusRotationOffset", buf);
     527             :                 
     528             :                 
     529             :         
     530             : 
     531             :         
     532             :                 
     533           0 :                 if (measuredFocusPositionExists) {
     534             :                 
     535             :                 
     536           0 :                 Parser::toXML(measuredFocusPosition, "measuredFocusPosition", buf);
     537             :                 
     538             :                 
     539             :                 }
     540             :                 
     541             :         
     542             : 
     543             :         
     544             :                 
     545           0 :                 if (measuredFocusRotationExists) {
     546             :                 
     547             :                 
     548           0 :                 Parser::toXML(measuredFocusRotation, "measuredFocusRotation", buf);
     549             :                 
     550             :                 
     551             :                 }
     552             :                 
     553             :         
     554             : 
     555             :         
     556             :         
     557             :                 
     558             :         
     559             :                 
     560             :                 
     561           0 :                 Parser::toXML(antennaId, "antennaId", buf);
     562             :                 
     563             :                 
     564             :         
     565             : 
     566             :         
     567             :                 
     568             :                 
     569           0 :                 Parser::toXML(focusModelId, "focusModelId", buf);
     570             :                 
     571             :                 
     572             :         
     573             : 
     574             :         
     575             :                 
     576             :         
     577             : 
     578             :         
     579             : 
     580             :                 
     581           0 :                 buf.append("</row>\n");
     582           0 :                 return buf;
     583             :         }
     584             : 
     585             :         /**
     586             :          * Fill the values of this row from an XML string 
     587             :          * that was produced by the toXML() method.
     588             :          * @param x The XML string being used to set the values of this row.
     589             :          */
     590           0 :         void FocusRow::setFromXML (string rowDoc) {
     591           0 :                 Parser row(rowDoc);
     592           0 :                 string s = "";
     593             :                 try {
     594             :         
     595             :                 
     596             :         
     597             :                 
     598             :                         
     599           0 :                 setTimeInterval(Parser::getArrayTimeInterval("timeInterval","Focus",rowDoc));
     600             :                         
     601             :                 
     602             :         
     603             : 
     604             :         
     605             :                 
     606             :                         
     607           0 :                 setFocusTracking(Parser::getBoolean("focusTracking","Focus",rowDoc));
     608             :                         
     609             :                 
     610             :         
     611             : 
     612             :         
     613             :                 
     614             :                         
     615             :                                         
     616           0 :                 setFocusOffset(Parser::get1DLength("focusOffset","Focus",rowDoc));
     617             :                                 
     618             :                         
     619             :                 
     620             :         
     621             : 
     622             :         
     623             :                 
     624             :                         
     625             :                                         
     626           0 :                 setFocusRotationOffset(Parser::get1DAngle("focusRotationOffset","Focus",rowDoc));
     627             :                                 
     628             :                         
     629             :                 
     630             :         
     631             : 
     632             :         
     633             :                 
     634           0 :         if (row.isStr("<measuredFocusPosition>")) {
     635             :                         
     636             :                                                                 
     637           0 :                         setMeasuredFocusPosition(Parser::get1DLength("measuredFocusPosition","Focus",rowDoc));
     638             :                                 
     639             :                         
     640             :                 }
     641             :                 
     642             :         
     643             : 
     644             :         
     645             :                 
     646           0 :         if (row.isStr("<measuredFocusRotation>")) {
     647             :                         
     648             :                                                                 
     649           0 :                         setMeasuredFocusRotation(Parser::get1DAngle("measuredFocusRotation","Focus",rowDoc));
     650             :                                 
     651             :                         
     652             :                 }
     653             :                 
     654             :         
     655             : 
     656             :         
     657             :         
     658             :                 
     659             :         
     660             :                 
     661             :                         
     662           0 :                 setAntennaId(Parser::getTag("antennaId","Antenna",rowDoc));
     663             :                         
     664             :                 
     665             :         
     666             : 
     667             :         
     668             :                 
     669             :                         
     670           0 :                 setFocusModelId(Parser::getInteger("focusModelId","Focus",rowDoc));
     671             :                         
     672             :                 
     673             :         
     674             : 
     675             :         
     676             :                 
     677             :         
     678             : 
     679             :         
     680             : 
     681           0 :                 } catch (const IllegalAccessException &err) {
     682           0 :                         throw ConversionException (err.getMessage(),"Focus");
     683             :                 }
     684           0 :         }
     685             :         
     686           0 :         void FocusRow::toBin(EndianOSStream& eoss) {
     687             :         
     688             :         
     689             :         
     690             :         
     691             :                 
     692           0 :         antennaId.toBin(eoss);
     693             :                 
     694             :         
     695             : 
     696             :         
     697             :         
     698             :                 
     699           0 :         timeInterval.toBin(eoss);
     700             :                 
     701             :         
     702             : 
     703             :         
     704             :         
     705             :                 
     706             :                                                 
     707           0 :                         eoss.writeBoolean(focusTracking);
     708             :                                 
     709             :                 
     710             :         
     711             : 
     712             :         
     713             :         
     714             :                 
     715           0 :         Length::toBin(focusOffset, eoss);
     716             :                 
     717             :         
     718             : 
     719             :         
     720             :         
     721             :                 
     722           0 :         Angle::toBin(focusRotationOffset, eoss);
     723             :                 
     724             :         
     725             : 
     726             :         
     727             :         
     728             :                 
     729             :                                                 
     730           0 :                         eoss.writeInt(focusModelId);
     731             :                                 
     732             :                 
     733             :         
     734             : 
     735             : 
     736             :         
     737             :         
     738           0 :         eoss.writeBoolean(measuredFocusPositionExists);
     739           0 :         if (measuredFocusPositionExists) {
     740             :         
     741             :         
     742             :         
     743             :                 
     744           0 :         Length::toBin(measuredFocusPosition, eoss);
     745             :                 
     746             :         
     747             : 
     748             :         }
     749             : 
     750           0 :         eoss.writeBoolean(measuredFocusRotationExists);
     751           0 :         if (measuredFocusRotationExists) {
     752             :         
     753             :         
     754             :         
     755             :                 
     756           0 :         Angle::toBin(measuredFocusRotation, eoss);
     757             :                 
     758             :         
     759             : 
     760             :         }
     761             : 
     762           0 :         }
     763             :         
     764           0 : void FocusRow::antennaIdFromBin(EndianIStream& eis) {
     765             :                 
     766             :         
     767             :                 
     768             :                 
     769           0 :                 antennaId =  Tag::fromBin(eis);
     770             :                 
     771             :         
     772             :         
     773           0 : }
     774           0 : void FocusRow::timeIntervalFromBin(EndianIStream& eis) {
     775             :                 
     776             :         
     777             :                 
     778             :                 
     779           0 :                 timeInterval =  ArrayTimeInterval::fromBin(eis);
     780             :                 
     781             :         
     782             :         
     783           0 : }
     784           0 : void FocusRow::focusTrackingFromBin(EndianIStream& eis) {
     785             :                 
     786             :         
     787             :         
     788             :                 
     789             :                         
     790           0 :                 focusTracking =  eis.readBoolean();
     791             :                         
     792             :                 
     793             :         
     794             :         
     795           0 : }
     796           0 : void FocusRow::focusOffsetFromBin(EndianIStream& eis) {
     797             :                 
     798             :         
     799             :                 
     800             :                 
     801             :                         
     802             :         
     803           0 :         focusOffset = Length::from1DBin(eis);   
     804             :         
     805             : 
     806             :                 
     807             :         
     808             :         
     809           0 : }
     810           0 : void FocusRow::focusRotationOffsetFromBin(EndianIStream& eis) {
     811             :                 
     812             :         
     813             :                 
     814             :                 
     815             :                         
     816             :         
     817           0 :         focusRotationOffset = Angle::from1DBin(eis);    
     818             :         
     819             : 
     820             :                 
     821             :         
     822             :         
     823           0 : }
     824           0 : void FocusRow::focusModelIdFromBin(EndianIStream& eis) {
     825             :                 
     826             :         
     827             :         
     828             :                 
     829             :                         
     830           0 :                 focusModelId =  eis.readInt();
     831             :                         
     832             :                 
     833             :         
     834             :         
     835           0 : }
     836             : 
     837           0 : void FocusRow::measuredFocusPositionFromBin(EndianIStream& eis) {
     838             :                 
     839           0 :         measuredFocusPositionExists = eis.readBoolean();
     840           0 :         if (measuredFocusPositionExists) {
     841             :                 
     842             :         
     843             :                 
     844             :                 
     845             :                         
     846             :         
     847           0 :         measuredFocusPosition = Length::from1DBin(eis); 
     848             :         
     849             : 
     850             :                 
     851             :         
     852             : 
     853             :         }
     854             :         
     855           0 : }
     856           0 : void FocusRow::measuredFocusRotationFromBin(EndianIStream& eis) {
     857             :                 
     858           0 :         measuredFocusRotationExists = eis.readBoolean();
     859           0 :         if (measuredFocusRotationExists) {
     860             :                 
     861             :         
     862             :                 
     863             :                 
     864             :                         
     865             :         
     866           0 :         measuredFocusRotation = Angle::from1DBin(eis);  
     867             :         
     868             : 
     869             :                 
     870             :         
     871             : 
     872             :         }
     873             :         
     874           0 : }
     875             :         
     876             :         
     877           0 :         FocusRow* FocusRow::fromBin(EndianIStream& eis, FocusTable& table, const vector<string>& attributesSeq) {
     878           0 :                 FocusRow* row = new  FocusRow(table);
     879             :                 
     880           0 :                 map<string, FocusAttributeFromBin>::iterator iter ;
     881           0 :                 for (unsigned int i = 0; i < attributesSeq.size(); i++) {
     882           0 :                         iter = row->fromBinMethods.find(attributesSeq.at(i));
     883           0 :                         if (iter != row->fromBinMethods.end()) {
     884           0 :                                 (row->*(row->fromBinMethods[ attributesSeq.at(i) ] ))(eis);                       
     885             :                         }
     886             :                         else {
     887           0 :                                 BinaryAttributeReaderFunctor* functorP = table.getUnknownAttributeBinaryReader(attributesSeq.at(i));
     888           0 :                                 if (functorP)
     889           0 :                                         (*functorP)(eis);
     890             :                                 else
     891           0 :                                         throw ConversionException("There is not method to read an attribute '"+attributesSeq.at(i)+"'.", "FocusTable");
     892             :                         }
     893             :                                 
     894             :                 }                               
     895           0 :                 return row;
     896             :         }
     897             : 
     898             :         //
     899             :         // A collection of methods to set the value of the attributes from their textual value in the XML representation
     900             :         // of one row.
     901             :         //
     902             :         
     903             :         // Convert a string into an Tag 
     904           0 :         void FocusRow::antennaIdFromText(const string & s) {
     905             :                  
     906             :           
     907           0 :                 antennaId = ASDMValuesParser::parse<Tag>(s);
     908             :           
     909             :                 
     910           0 :         }
     911             :         
     912             :         
     913             :         // Convert a string into an ArrayTimeInterval 
     914           0 :         void FocusRow::timeIntervalFromText(const string & s) {
     915             :                  
     916             :           
     917           0 :                 timeInterval = ASDMValuesParser::parse<ArrayTimeInterval>(s);
     918             :           
     919             :                 
     920           0 :         }
     921             :         
     922             :         
     923             :         // Convert a string into an boolean 
     924           0 :         void FocusRow::focusTrackingFromText(const string & s) {
     925             :                  
     926             :           
     927           0 :                 focusTracking = ASDMValuesParser::parse<bool>(s);
     928             :           
     929             :                 
     930           0 :         }
     931             :         
     932             :         
     933             :         // Convert a string into an Length 
     934           0 :         void FocusRow::focusOffsetFromText(const string & s) {
     935             :                  
     936             :           
     937           0 :                 focusOffset = ASDMValuesParser::parse1D<Length>(s);
     938             :           
     939             :                 
     940           0 :         }
     941             :         
     942             :         
     943             :         // Convert a string into an Angle 
     944           0 :         void FocusRow::focusRotationOffsetFromText(const string & s) {
     945             :                  
     946             :           
     947           0 :                 focusRotationOffset = ASDMValuesParser::parse1D<Angle>(s);
     948             :           
     949             :                 
     950           0 :         }
     951             :         
     952             :         
     953             :         // Convert a string into an int 
     954           0 :         void FocusRow::focusModelIdFromText(const string & s) {
     955             :                  
     956             :           
     957           0 :                 focusModelId = ASDMValuesParser::parse<int>(s);
     958             :           
     959             :                 
     960           0 :         }
     961             :         
     962             : 
     963             :         
     964             :         // Convert a string into an Length 
     965           0 :         void FocusRow::measuredFocusPositionFromText(const string & s) {
     966           0 :                 measuredFocusPositionExists = true;
     967             :                  
     968             :           
     969           0 :                 measuredFocusPosition = ASDMValuesParser::parse1D<Length>(s);
     970             :           
     971             :                 
     972           0 :         }
     973             :         
     974             :         
     975             :         // Convert a string into an Angle 
     976           0 :         void FocusRow::measuredFocusRotationFromText(const string & s) {
     977           0 :                 measuredFocusRotationExists = true;
     978             :                  
     979             :           
     980           0 :                 measuredFocusRotation = ASDMValuesParser::parse1D<Angle>(s);
     981             :           
     982             :                 
     983           0 :         }
     984             :         
     985             :         
     986             :         
     987           0 :         void FocusRow::fromText(const std::string& attributeName, const std::string&  t) {
     988           0 :                 map<string, FocusAttributeFromText>::iterator iter;
     989           0 :                 if ((iter = fromTextMethods.find(attributeName)) == fromTextMethods.end())
     990           0 :                         throw ConversionException("I do not know what to do with '"+attributeName+"' and its content '"+t+"' (while parsing an XML document)", "FocusTable");
     991           0 :                 (this->*(iter->second))(t);
     992           0 :         }
     993             :                         
     994             :         ////////////////////////////////////////////////
     995             :         // Intrinsic Table Attributes getters/setters //
     996             :         ////////////////////////////////////////////////
     997             :         
     998             :         
     999             : 
    1000             :         
    1001             :         /**
    1002             :          * Get timeInterval.
    1003             :          * @return timeInterval as ArrayTimeInterval
    1004             :          */
    1005           0 :         ArrayTimeInterval FocusRow::getTimeInterval() const {
    1006             :         
    1007           0 :                 return timeInterval;
    1008             :         }
    1009             : 
    1010             :         /**
    1011             :          * Set timeInterval with the specified ArrayTimeInterval.
    1012             :          * @param timeInterval The ArrayTimeInterval value to which timeInterval is to be set.
    1013             :          
    1014             :         
    1015             :                 
    1016             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    1017             :                 
    1018             :          */
    1019           0 :         void FocusRow::setTimeInterval (ArrayTimeInterval timeInterval)  {
    1020             :         
    1021             :         
    1022           0 :                 if (hasBeenAdded) {
    1023             :                 
    1024           0 :                         throw IllegalAccessException("timeInterval", "Focus");
    1025             :                 
    1026             :                 }
    1027             :         
    1028           0 :                 this->timeInterval = timeInterval;
    1029             :         
    1030           0 :         }
    1031             :         
    1032             :         
    1033             : 
    1034             :         
    1035             : 
    1036             :         
    1037             :         /**
    1038             :          * Get focusTracking.
    1039             :          * @return focusTracking as bool
    1040             :          */
    1041           0 :         bool FocusRow::getFocusTracking() const {
    1042             :         
    1043           0 :                 return focusTracking;
    1044             :         }
    1045             : 
    1046             :         /**
    1047             :          * Set focusTracking with the specified bool.
    1048             :          * @param focusTracking The bool value to which focusTracking is to be set.
    1049             :          
    1050             :         
    1051             :                 
    1052             :          */
    1053           0 :         void FocusRow::setFocusTracking (bool focusTracking)  {
    1054             :         
    1055             :         
    1056           0 :                 if (hasBeenAdded) {
    1057             :                 
    1058             :                 }
    1059             :         
    1060           0 :                 this->focusTracking = focusTracking;
    1061             :         
    1062           0 :         }
    1063             :         
    1064             :         
    1065             : 
    1066             :         
    1067             : 
    1068             :         
    1069             :         /**
    1070             :          * Get focusOffset.
    1071             :          * @return focusOffset as std::vector<Length >
    1072             :          */
    1073           0 :         std::vector<Length > FocusRow::getFocusOffset() const {
    1074             :         
    1075           0 :                 return focusOffset;
    1076             :         }
    1077             : 
    1078             :         /**
    1079             :          * Set focusOffset with the specified std::vector<Length >.
    1080             :          * @param focusOffset The std::vector<Length > value to which focusOffset is to be set.
    1081             :          
    1082             :         
    1083             :                 
    1084             :          */
    1085           0 :         void FocusRow::setFocusOffset (std::vector<Length > focusOffset)  {
    1086             :         
    1087             :         
    1088           0 :                 if (hasBeenAdded) {
    1089             :                 
    1090             :                 }
    1091             :         
    1092           0 :                 this->focusOffset = focusOffset;
    1093             :         
    1094           0 :         }
    1095             :         
    1096             :         
    1097             : 
    1098             :         
    1099             : 
    1100             :         
    1101             :         /**
    1102             :          * Get focusRotationOffset.
    1103             :          * @return focusRotationOffset as std::vector<Angle >
    1104             :          */
    1105           0 :         std::vector<Angle > FocusRow::getFocusRotationOffset() const {
    1106             :         
    1107           0 :                 return focusRotationOffset;
    1108             :         }
    1109             : 
    1110             :         /**
    1111             :          * Set focusRotationOffset with the specified std::vector<Angle >.
    1112             :          * @param focusRotationOffset The std::vector<Angle > value to which focusRotationOffset is to be set.
    1113             :          
    1114             :         
    1115             :                 
    1116             :          */
    1117           0 :         void FocusRow::setFocusRotationOffset (std::vector<Angle > focusRotationOffset)  {
    1118             :         
    1119             :         
    1120           0 :                 if (hasBeenAdded) {
    1121             :                 
    1122             :                 }
    1123             :         
    1124           0 :                 this->focusRotationOffset = focusRotationOffset;
    1125             :         
    1126           0 :         }
    1127             :         
    1128             :         
    1129             : 
    1130             :         
    1131             :         /**
    1132             :          * The attribute measuredFocusPosition is optional. Return true if this attribute exists.
    1133             :          * @return true if and only if the measuredFocusPosition attribute exists. 
    1134             :          */
    1135           0 :         bool FocusRow::isMeasuredFocusPositionExists() const {
    1136           0 :                 return measuredFocusPositionExists;
    1137             :         }
    1138             :         
    1139             : 
    1140             :         
    1141             :         /**
    1142             :          * Get measuredFocusPosition, which is optional.
    1143             :          * @return measuredFocusPosition as std::vector<Length >
    1144             :          * @throw IllegalAccessException If measuredFocusPosition does not exist.
    1145             :          */
    1146           0 :         std::vector<Length > FocusRow::getMeasuredFocusPosition() const  {
    1147           0 :                 if (!measuredFocusPositionExists) {
    1148           0 :                         throw IllegalAccessException("measuredFocusPosition", "Focus");
    1149             :                 }
    1150             :         
    1151           0 :                 return measuredFocusPosition;
    1152             :         }
    1153             : 
    1154             :         /**
    1155             :          * Set measuredFocusPosition with the specified std::vector<Length >.
    1156             :          * @param measuredFocusPosition The std::vector<Length > value to which measuredFocusPosition is to be set.
    1157             :          
    1158             :         
    1159             :          */
    1160           0 :         void FocusRow::setMeasuredFocusPosition (std::vector<Length > measuredFocusPosition) {
    1161             :         
    1162           0 :                 this->measuredFocusPosition = measuredFocusPosition;
    1163             :         
    1164           0 :                 measuredFocusPositionExists = true;
    1165             :         
    1166           0 :         }
    1167             :         
    1168             :         
    1169             :         /**
    1170             :          * Mark measuredFocusPosition, which is an optional field, as non-existent.
    1171             :          */
    1172           0 :         void FocusRow::clearMeasuredFocusPosition () {
    1173           0 :                 measuredFocusPositionExists = false;
    1174           0 :         }
    1175             :         
    1176             : 
    1177             :         
    1178             :         /**
    1179             :          * The attribute measuredFocusRotation is optional. Return true if this attribute exists.
    1180             :          * @return true if and only if the measuredFocusRotation attribute exists. 
    1181             :          */
    1182           0 :         bool FocusRow::isMeasuredFocusRotationExists() const {
    1183           0 :                 return measuredFocusRotationExists;
    1184             :         }
    1185             :         
    1186             : 
    1187             :         
    1188             :         /**
    1189             :          * Get measuredFocusRotation, which is optional.
    1190             :          * @return measuredFocusRotation as std::vector<Angle >
    1191             :          * @throw IllegalAccessException If measuredFocusRotation does not exist.
    1192             :          */
    1193           0 :         std::vector<Angle > FocusRow::getMeasuredFocusRotation() const  {
    1194           0 :                 if (!measuredFocusRotationExists) {
    1195           0 :                         throw IllegalAccessException("measuredFocusRotation", "Focus");
    1196             :                 }
    1197             :         
    1198           0 :                 return measuredFocusRotation;
    1199             :         }
    1200             : 
    1201             :         /**
    1202             :          * Set measuredFocusRotation with the specified std::vector<Angle >.
    1203             :          * @param measuredFocusRotation The std::vector<Angle > value to which measuredFocusRotation is to be set.
    1204             :          
    1205             :         
    1206             :          */
    1207           0 :         void FocusRow::setMeasuredFocusRotation (std::vector<Angle > measuredFocusRotation) {
    1208             :         
    1209           0 :                 this->measuredFocusRotation = measuredFocusRotation;
    1210             :         
    1211           0 :                 measuredFocusRotationExists = true;
    1212             :         
    1213           0 :         }
    1214             :         
    1215             :         
    1216             :         /**
    1217             :          * Mark measuredFocusRotation, which is an optional field, as non-existent.
    1218             :          */
    1219           0 :         void FocusRow::clearMeasuredFocusRotation () {
    1220           0 :                 measuredFocusRotationExists = false;
    1221           0 :         }
    1222             :         
    1223             : 
    1224             :         
    1225             :         ///////////////////////////////////////////////
    1226             :         // Extrinsic Table Attributes getters/setters//
    1227             :         ///////////////////////////////////////////////
    1228             :         
    1229             :         
    1230             : 
    1231             :         
    1232             :         /**
    1233             :          * Get antennaId.
    1234             :          * @return antennaId as Tag
    1235             :          */
    1236           0 :         Tag FocusRow::getAntennaId() const {
    1237             :         
    1238           0 :                 return antennaId;
    1239             :         }
    1240             : 
    1241             :         /**
    1242             :          * Set antennaId with the specified Tag.
    1243             :          * @param antennaId The Tag value to which antennaId is to be set.
    1244             :          
    1245             :         
    1246             :                 
    1247             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    1248             :                 
    1249             :          */
    1250           0 :         void FocusRow::setAntennaId (Tag antennaId)  {
    1251             :         
    1252             :         
    1253           0 :                 if (hasBeenAdded) {
    1254             :                 
    1255           0 :                         throw IllegalAccessException("antennaId", "Focus");
    1256             :                 
    1257             :                 }
    1258             :         
    1259           0 :                 this->antennaId = antennaId;
    1260             :         
    1261           0 :         }
    1262             :         
    1263             :         
    1264             : 
    1265             :         
    1266             : 
    1267             :         
    1268             :         /**
    1269             :          * Get focusModelId.
    1270             :          * @return focusModelId as int
    1271             :          */
    1272           0 :         int FocusRow::getFocusModelId() const {
    1273             :         
    1274           0 :                 return focusModelId;
    1275             :         }
    1276             : 
    1277             :         /**
    1278             :          * Set focusModelId with the specified int.
    1279             :          * @param focusModelId The int value to which focusModelId is to be set.
    1280             :          
    1281             :         
    1282             :                 
    1283             :          */
    1284           0 :         void FocusRow::setFocusModelId (int focusModelId)  {
    1285             :         
    1286             :         
    1287           0 :                 if (hasBeenAdded) {
    1288             :                 
    1289             :                 }
    1290             :         
    1291           0 :                 this->focusModelId = focusModelId;
    1292             :         
    1293           0 :         }
    1294             :         
    1295             :         
    1296             : 
    1297             : 
    1298             :         //////////////////////////////////////
    1299             :         // Links Attributes getters/setters //
    1300             :         //////////////////////////////////////
    1301             :         
    1302             :         
    1303             :         
    1304             :         
    1305             :                 
    1306             : 
    1307             :         /**
    1308             :          * Returns the pointer to the row in the Antenna table having Antenna.antennaId == antennaId
    1309             :          * @return a AntennaRow*
    1310             :          * 
    1311             :          
    1312             :          */
    1313           0 :          AntennaRow* FocusRow::getAntennaUsingAntennaId() {
    1314             :          
    1315           0 :                 return table.getContainer().getAntenna().getRowByKey(antennaId);
    1316             :          }
    1317             :          
    1318             : 
    1319             :         
    1320             : 
    1321             :         
    1322             :         
    1323             :         
    1324             :                 
    1325             : 
    1326             :         // ===> Slice link from a row of Focus table to a collection of row of FocusModel table.
    1327             :         
    1328             :         /**
    1329             :          * Get the collection of row in the FocusModel table having their attribut focusModelId == this->focusModelId
    1330             :          */
    1331           0 :         vector <FocusModelRow *> FocusRow::getFocusModels() {
    1332             :                 
    1333           0 :                         return table.getContainer().getFocusModel().getRowByFocusModelId(focusModelId);
    1334             :                 
    1335             :         }
    1336             :         
    1337             : 
    1338             :         
    1339             : 
    1340             :         
    1341             :         /**
    1342             :          * Create a FocusRow.
    1343             :          * <p>
    1344             :          * This constructor is private because only the
    1345             :          * table can create rows.  All rows know the table
    1346             :          * to which they belong.
    1347             :          * @param table The table to which this row belongs.
    1348             :          */ 
    1349           0 :         FocusRow::FocusRow (FocusTable &t) : table(t) {
    1350           0 :                 hasBeenAdded = false;
    1351             :                 
    1352             :         
    1353             :         
    1354             : 
    1355             :         
    1356             : 
    1357             :         
    1358             : 
    1359             :         
    1360             : 
    1361             :         
    1362           0 :                 measuredFocusPositionExists = false;
    1363             :         
    1364             : 
    1365             :         
    1366           0 :                 measuredFocusRotationExists = false;
    1367             :         
    1368             : 
    1369             :         
    1370             :         
    1371             : 
    1372             :         
    1373             : 
    1374             :         
    1375             :         
    1376             :         
    1377             :         
    1378             : 
    1379             :         
    1380             : 
    1381             :         
    1382             : 
    1383             :         
    1384             : 
    1385             :         
    1386             : 
    1387             :         
    1388             : 
    1389             :         
    1390             :         
    1391           0 :          fromBinMethods["antennaId"] = &FocusRow::antennaIdFromBin; 
    1392           0 :          fromBinMethods["timeInterval"] = &FocusRow::timeIntervalFromBin; 
    1393           0 :          fromBinMethods["focusTracking"] = &FocusRow::focusTrackingFromBin; 
    1394           0 :          fromBinMethods["focusOffset"] = &FocusRow::focusOffsetFromBin; 
    1395           0 :          fromBinMethods["focusRotationOffset"] = &FocusRow::focusRotationOffsetFromBin; 
    1396           0 :          fromBinMethods["focusModelId"] = &FocusRow::focusModelIdFromBin; 
    1397             :                 
    1398             :         
    1399           0 :          fromBinMethods["measuredFocusPosition"] = &FocusRow::measuredFocusPositionFromBin; 
    1400           0 :          fromBinMethods["measuredFocusRotation"] = &FocusRow::measuredFocusRotationFromBin; 
    1401             :         
    1402             :         
    1403             :         
    1404             :         
    1405             :                                  
    1406           0 :         fromTextMethods["antennaId"] = &FocusRow::antennaIdFromText;
    1407             :                  
    1408             :         
    1409             :                                  
    1410           0 :         fromTextMethods["timeInterval"] = &FocusRow::timeIntervalFromText;
    1411             :                  
    1412             :         
    1413             :                                  
    1414           0 :         fromTextMethods["focusTracking"] = &FocusRow::focusTrackingFromText;
    1415             :                  
    1416             :         
    1417             :                                  
    1418           0 :         fromTextMethods["focusOffset"] = &FocusRow::focusOffsetFromText;
    1419             :                  
    1420             :         
    1421             :                                  
    1422           0 :         fromTextMethods["focusRotationOffset"] = &FocusRow::focusRotationOffsetFromText;
    1423             :                  
    1424             :         
    1425             :                                  
    1426           0 :         fromTextMethods["focusModelId"] = &FocusRow::focusModelIdFromText;
    1427             :                  
    1428             :         
    1429             : 
    1430             :          
    1431             :                                 
    1432           0 :         fromTextMethods["measuredFocusPosition"] = &FocusRow::measuredFocusPositionFromText;
    1433             :                         
    1434             :          
    1435             :                                 
    1436           0 :         fromTextMethods["measuredFocusRotation"] = &FocusRow::measuredFocusRotationFromText;
    1437             :                         
    1438             :                 
    1439           0 :         }
    1440             :         
    1441           0 :         FocusRow::FocusRow (FocusTable &t, FocusRow *row) : table(t) {
    1442           0 :                 hasBeenAdded = false;
    1443             :                 
    1444           0 :                 if (row == 0) {
    1445             :         
    1446             :         
    1447             :         
    1448             : 
    1449             :         
    1450             : 
    1451             :         
    1452             : 
    1453             :         
    1454             : 
    1455             :         
    1456           0 :                 measuredFocusPositionExists = false;
    1457             :         
    1458             : 
    1459             :         
    1460           0 :                 measuredFocusRotationExists = false;
    1461             :         
    1462             : 
    1463             :         
    1464             :         
    1465             : 
    1466             :         
    1467             :                 
    1468             :                 }
    1469             :                 else {
    1470             :         
    1471             :                 
    1472           0 :                         antennaId = row->antennaId;
    1473             :                 
    1474           0 :                         timeInterval = row->timeInterval;
    1475             :                 
    1476             :                 
    1477             :                 
    1478             :                 
    1479           0 :                         focusTracking = row->focusTracking;
    1480             :                 
    1481           0 :                         focusOffset = row->focusOffset;
    1482             :                 
    1483           0 :                         focusRotationOffset = row->focusRotationOffset;
    1484             :                 
    1485           0 :                         focusModelId = row->focusModelId;
    1486             :                 
    1487             :                 
    1488             :                 
    1489             :                 
    1490           0 :                 if (row->measuredFocusPositionExists) {
    1491           0 :                         measuredFocusPosition = row->measuredFocusPosition;          
    1492           0 :                         measuredFocusPositionExists = true;
    1493             :                 }
    1494             :                 else
    1495           0 :                         measuredFocusPositionExists = false;
    1496             :                 
    1497           0 :                 if (row->measuredFocusRotationExists) {
    1498           0 :                         measuredFocusRotation = row->measuredFocusRotation;          
    1499           0 :                         measuredFocusRotationExists = true;
    1500             :                 }
    1501             :                 else
    1502           0 :                         measuredFocusRotationExists = false;
    1503             :                 
    1504             :                 }
    1505             :                 
    1506           0 :                  fromBinMethods["antennaId"] = &FocusRow::antennaIdFromBin; 
    1507           0 :                  fromBinMethods["timeInterval"] = &FocusRow::timeIntervalFromBin; 
    1508           0 :                  fromBinMethods["focusTracking"] = &FocusRow::focusTrackingFromBin; 
    1509           0 :                  fromBinMethods["focusOffset"] = &FocusRow::focusOffsetFromBin; 
    1510           0 :                  fromBinMethods["focusRotationOffset"] = &FocusRow::focusRotationOffsetFromBin; 
    1511           0 :                  fromBinMethods["focusModelId"] = &FocusRow::focusModelIdFromBin; 
    1512             :                         
    1513             :         
    1514           0 :                  fromBinMethods["measuredFocusPosition"] = &FocusRow::measuredFocusPositionFromBin; 
    1515           0 :                  fromBinMethods["measuredFocusRotation"] = &FocusRow::measuredFocusRotationFromBin; 
    1516             :                         
    1517           0 :         }
    1518             : 
    1519             :         
    1520           0 :         bool FocusRow::compareNoAutoInc(Tag antennaId, ArrayTimeInterval timeInterval, bool focusTracking, std::vector<Length > focusOffset, std::vector<Angle > focusRotationOffset, int focusModelId) {
    1521             :                 bool result;
    1522           0 :                 result = true;
    1523             :                 
    1524             :         
    1525             :                 
    1526           0 :                 result = result && (this->antennaId == antennaId);
    1527             :                 
    1528           0 :                 if (!result) return false;
    1529             :         
    1530             : 
    1531             :         
    1532             :                 
    1533           0 :                 result = result && (this->timeInterval.overlaps(timeInterval));
    1534             :                 
    1535           0 :                 if (!result) return false;
    1536             :         
    1537             : 
    1538             :         
    1539             :                 
    1540           0 :                 result = result && (this->focusTracking == focusTracking);
    1541             :                 
    1542           0 :                 if (!result) return false;
    1543             :         
    1544             : 
    1545             :         
    1546             :                 
    1547           0 :                 result = result && (this->focusOffset == focusOffset);
    1548             :                 
    1549           0 :                 if (!result) return false;
    1550             :         
    1551             : 
    1552             :         
    1553             :                 
    1554           0 :                 result = result && (this->focusRotationOffset == focusRotationOffset);
    1555             :                 
    1556           0 :                 if (!result) return false;
    1557             :         
    1558             : 
    1559             :         
    1560             :                 
    1561           0 :                 result = result && (this->focusModelId == focusModelId);
    1562             :                 
    1563           0 :                 if (!result) return false;
    1564             :         
    1565             : 
    1566           0 :                 return result;
    1567             :         }       
    1568             :         
    1569             :         
    1570             :         
    1571           0 :         bool FocusRow::compareRequiredValue(bool focusTracking, std::vector<Length > focusOffset, std::vector<Angle > focusRotationOffset, int focusModelId) {
    1572             :                 bool result;
    1573           0 :                 result = true;
    1574             :                 
    1575             :         
    1576           0 :                 if (!(this->focusTracking == focusTracking)) return false;
    1577             :         
    1578             : 
    1579             :         
    1580           0 :                 if (!(this->focusOffset == focusOffset)) return false;
    1581             :         
    1582             : 
    1583             :         
    1584           0 :                 if (!(this->focusRotationOffset == focusRotationOffset)) return false;
    1585             :         
    1586             : 
    1587             :         
    1588           0 :                 if (!(this->focusModelId == focusModelId)) return false;
    1589             :         
    1590             : 
    1591           0 :                 return result;
    1592             :         }
    1593             :         
    1594             :         
    1595             :         /**
    1596             :          * Return true if all required attributes of the value part are equal to their homologues
    1597             :          * in x and false otherwise.
    1598             :          *
    1599             : 
    1600             :          * @param x a pointer on the FocusRow whose required attributes of the value part 
    1601             : 
    1602             :          * will be compared with those of this.
    1603             :          * @return a boolean.
    1604             :          */
    1605           0 :         bool FocusRow::equalByRequiredValue(FocusRow*  x ) {
    1606             :                 
    1607             :                         
    1608           0 :                 if (this->focusTracking != x->focusTracking) return false;
    1609             :                         
    1610           0 :                 if (this->focusOffset != x->focusOffset) return false;
    1611             :                         
    1612           0 :                 if (this->focusRotationOffset != x->focusRotationOffset) return false;
    1613             :                         
    1614           0 :                 if (this->focusModelId != x->focusModelId) return false;
    1615             :                         
    1616             :                 
    1617           0 :                 return true;
    1618             :         }       
    1619             :         
    1620             : /*
    1621             :          map<string, FocusAttributeFromBin> FocusRow::initFromBinMethods() {
    1622             :                 map<string, FocusAttributeFromBin> result;
    1623             :                 
    1624             :                 result["antennaId"] = &FocusRow::antennaIdFromBin;
    1625             :                 result["timeInterval"] = &FocusRow::timeIntervalFromBin;
    1626             :                 result["focusTracking"] = &FocusRow::focusTrackingFromBin;
    1627             :                 result["focusOffset"] = &FocusRow::focusOffsetFromBin;
    1628             :                 result["focusRotationOffset"] = &FocusRow::focusRotationOffsetFromBin;
    1629             :                 result["focusModelId"] = &FocusRow::focusModelIdFromBin;
    1630             :                 
    1631             :                 
    1632             :                 result["measuredFocusPosition"] = &FocusRow::measuredFocusPositionFromBin;
    1633             :                 result["measuredFocusRotation"] = &FocusRow::measuredFocusRotationFromBin;
    1634             :                         
    1635             :                 
    1636             :                 return result;  
    1637             :         }
    1638             : */      
    1639             : } // End namespace asdm
    1640             :  

Generated by: LCOV version 1.16