@@ -77,7 +77,7 @@ class cAppli_BlockInstrInitCam; // appli for computing initial value of poses in
7777 /* ============ Classes for camera calibration ====================== */
7878
7979// / class for representing one camera embeded in a "Rigid Block of Instrument"
80- class cIrbCal_Cam1 // : public cMemCheck
80+ class cIrbCal_Cam1 : public cMemCheck
8181{
8282 public :
8383 cIrbCal_Cam1 (); // < required for serialisation
@@ -120,7 +120,7 @@ void AddData(const cAuxAr2007 & anAux,cIrbCal_Cam1 & aCam);
120120
121121
122122// / class for representing the set of cameras embedded in a bloc
123- class cIrbCal_CamSet // : public cMemCheck
123+ class cIrbCal_CamSet : public cMemCheck
124124{
125125 public :
126126 friend cAppli_EditBlockInstr;
@@ -161,7 +161,7 @@ void AddData(const cAuxAr2007 & anAux,cIrbCal_CamSet & aCam);
161161 /* ============ Classes for clinometers calibration ====================== */
162162
163163// / class for representing one clino embeded in a "Rigid Block of Instrument""
164- class cIrbCal_Clino1 // : public cMemCheck
164+ class cIrbCal_Clino1 : public cMemCheck
165165{
166166 public :
167167 cIrbCal_Clino1 (); // < required for serialisation
@@ -177,14 +177,15 @@ class cIrbCal_Clino1 // : public cMemCheck
177177void AddData (const cAuxAr2007 & anAux,cIrbCal_Clino1 & aClino);
178178
179179// / class for representing a set of clino
180- class cIrbCal_ClinoSet // : public cMemCheck
180+ class cIrbCal_ClinoSet : public cMemCheck
181181{
182182 public :
183183 friend cIrbCal_Block;
184184 friend cAppli_EditBlockInstr;
185185
186186 cIrbCal_ClinoSet ();
187187 void AddData (const cAuxAr2007 & anAux);
188+ std::vector<std::string> VNames () const ;
188189 private :
189190 cIrbCal_Clino1 * ClinoFromName (const std::string& aName);
190191 void AddClino (const std::string &,bool SVP=false );
@@ -193,6 +194,8 @@ class cIrbCal_ClinoSet // : public cMemCheck
193194 cIrbCal_Block * mCalBlock ;
194195
195196};
197+ void AddData (const cAuxAr2007 & anAux,cIrbCal_ClinoSet & aClino);
198+
196199
197200// / class for storing a relative orientation extern constraint ( for ex orthoganility of clino) between 2 instrument
198201
@@ -253,12 +256,12 @@ class cIrb_Desc1Intsr
253256
254257 void AddData (const cAuxAr2007 & anAux);
255258 void AddNewSigma (const cIrb_SigmaInstr&);
256- const cIrb_SigmaInstr & Sigma () const ;
257259 void SetSigma (const cIrb_SigmaInstr&);
260+ void ResetSigma ();
258261
259-
260- eTyInstr Type () const ;
261- const std::string & NameInstr () const ;
262+ const cIrb_SigmaInstr & Sigma () const ; // < Accessor
263+ eTyInstr Type () const ; // < Accessor
264+ const std::string & NameInstr () const ; // < Accessor
262265
263266 private :
264267 eTyInstr mType ;
@@ -270,7 +273,7 @@ void AddData(const cAuxAr2007 & anAux,cIrb_Desc1Intsr & aDesc);
270273
271274
272275// / class for representing the structure/calibration of instruments possibly used
273- class cIrbCal_Block // : public cMemCheck
276+ class cIrbCal_Block : public cMemCheck
274277{
275278 public :
276279 friend cIrbComp_Block;
@@ -288,7 +291,11 @@ class cIrbCal_Block // : public cMemCheck
288291
289292 const std::map<tNamePair,cIrb_SigmaInstr> & SigmaPair () const ;
290293 void SetSigmaPair ( const std::map<tNamePair,cIrb_SigmaInstr> & );
291- const cIrb_Desc1Intsr & SigmaInd (const std::string &) const ;
294+ void SetSigmaIndiv ( const std::map<tNamePair,cIrb_SigmaInstr> & );
295+
296+ const cIrb_Desc1Intsr & DescrIndiv (const std::string &) const ;
297+ cIrb_Desc1Intsr & NC_DescrIndiv (const std::string &) ;
298+
292299
293300 void AvgPairSigma (); // < Set all sigma of pairs to global average (in the same type)
294301 void AvgIndivSigma (); // < Set all sigma of object ir global average
@@ -311,7 +318,7 @@ class cIrbCal_Block // : public cMemCheck
311318 cIrbCal_ClinoSet mSetClinos ; // < Clinos used in the bloc
312319
313320 std::map<tNamePair,cIrb_SigmaInstr> mSigmaPair ; // < Sigmas between pair of instr
314- std::map<std::string,cIrb_Desc1Intsr> mSigmaInd ; // < Sigmas of each instrument
321+ std::map<std::string,cIrb_Desc1Intsr> mDescrIndiv ; // < Sigmas of each instrument
315322 std::map<tNamePair,cIrb_CstrRelRot> mCstrRelRot ;
316323
317324};
@@ -324,7 +331,7 @@ void AddData(const cAuxAr2007 & anAux,cIrbCal_Block & aRBoI);
324331/* ************************************************************ */
325332
326333// / class for storing poses in a cIrbComp_Cam1
327- class cIrbComp_Cam1 // : public cMemCheck
334+ class cIrbComp_Cam1 : public cMemCheck
328335{
329336 public :
330337 cIrbComp_Cam1 ();
@@ -346,7 +353,7 @@ class cIrbComp_Cam1 //: public cMemCheck
346353 cSensorCamPC * mCamPC ;
347354};
348355
349- class cIrbComp_CamSet // : public cMemCheck
356+ class cIrbComp_CamSet : public cMemCheck
350357{
351358 public :
352359 friend cIrbComp_Block;
@@ -369,8 +376,27 @@ class cIrbComp_CamSet // : public cMemCheck
369376 std::vector<cIrbComp_Cam1> mVCompPoses ;
370377};
371378
379+
380+ class cIrbComp_Clino1 : public cMemCheck
381+ {
382+ public :
383+ cIrbComp_Clino1 (tREAL8 anAngle);
384+ private :
385+ tREAL8 mAngle ;
386+ };
387+
388+ class cIrbComp_ClinoSet : public cMemCheck
389+ {
390+ public :
391+ cIrbComp_ClinoSet ();
392+ void SetClinoValues (const cOneMesureClino&);
393+
394+ private :
395+ std::vector<cIrbComp_Clino1> mVCompClinos ;
396+ };
397+
372398// / class for storing one time stamp in cIrbComp_Block
373- class cIrbComp_TimeS // : public cMemCheck
399+ class cIrbComp_TimeS : public cMemCheck
374400{
375401 public :
376402 friend cIrbComp_Block;
@@ -380,16 +406,27 @@ class cIrbComp_TimeS //: public cMemCheck
380406 cIrbComp_CamSet & SetCams (); // < Accessor
381407
382408 const cIrbComp_Block & CompBlock () const ; // < Accessor
409+ const cIrbCal_Block & CalBlock () const ; // < Accessor or Accessor
383410 // cIrbComp_Block & CompBlock() ; //< Accessor
411+
412+ // if not SVP and cannot compute : error
413+ void ComputePoseInstrument (bool SVP = false );
414+ void SetClinoValues (const cOneMesureClino&);
415+
384416 private :
385417 cIrbComp_TimeS (const cIrbComp_TimeS&) = delete ;
386418 const cIrbComp_Block & mCompBlock ;
387419 cIrbComp_CamSet mSetCams ;
420+ cIrbComp_ClinoSet mSetClino ;
421+
422+ /* * Not sure which role will play the notion of "pose of the instrument"*/
423+ bool mPoseInstrIsInit ;
424+ tPoseR mPoseInstr ;
388425};
389426
390427// / class for using a rigid bloc in computation (calibration/compensation)
391428// cIrbComp_Block
392- class cIrbComp_Block // : public cMemCheck
429+ class cIrbComp_Block : public cMemCheck
393430{
394431 public :
395432 typedef std::tuple<tREAL8,tPoseR,cIrb_SigmaInstr> tResCompCal;
@@ -414,6 +451,8 @@ class cIrbComp_Block //: public cMemCheck
414451 const tContTimeS & DataTS () const ; // < Accessor
415452 tContTimeS & DataTS (); // < Accessor
416453
454+ // compute pose of instrument for all time stamp
455+ void ComputePoseInstrument (bool SVP = false );
417456
418457
419458 // Add an image if orientation exist (via PhProj)
@@ -424,6 +463,10 @@ class cIrbComp_Block //: public cMemCheck
424463 // for a given pair K1/K2 the 'best' relative pose and its sigma
425464 tResCompCal ComputeCalibCamsInit (int aK1,int aK2) const ;
426465
466+ //
467+ void SetClinoValues (const cSetMeasureClino&,bool OkNewTimeS=false );
468+ // / call previous by using std measure on phproj
469+ void SetClinoValues (bool OkNewTimeS=false );
427470 private :
428471 // / non copiable, too "dangerous"
429472 cIrbComp_Block (const cIrbComp_Block & ) = delete ;
0 commit comments