OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimTDpt.h
Go to the documentation of this file.
1 // ossimTDpt
2 // storage class for tie point (no height, no projection information)
3 // based on ossimDpt
4 //
5 #ifndef ossimTDpt_HEADER
6 #define ossimTDpt_HEADER
7 
8 #include <iostream>
9 
10 #include <ossim/base/ossimDpt.h>
11 
12 // Forward class declarations.
13 class ossimIpt;
14 class ossimFpt;
15 class ossimDpt3d;
16 class ossimGpt;
17 
19 {
20 public:
21 
22  inline ossimTDpt() : ossimDpt(), tie(), score(0.0) {}
23 
24  inline ossimTDpt(const ossimDpt& aPt, const ossimDpt& aTie, const ossim_float64& aScore) : ossimDpt(aPt), tie(aTie), score(aScore) {}
25 
26  inline ossimTDpt(const ossimTDpt& tpt) : ossimDpt(tpt), tie(tpt.tie), score(tpt.score) {}
27 
28  const ossimTDpt& operator=(const ossimTDpt&);
29 
30  inline void setMasterPoint(const ossimDpt& mPt) { ossimDpt::operator=(mPt); }
31  inline const ossimDpt& getMasterPoint()const { return *this; }
32  inline ossimDpt& refMasterPoint() { return *this; }
33 
34  inline void setSlavePoint(const ossimDpt& sPt) { tie=sPt; }
35  inline const ossimDpt& getSlavePoint()const { return tie; }
36  inline ossimDpt& refSlavePoint() { return tie; }
37 
38  void makeNan()
39  {
41  tie.makeNan();
42  score=ossim::nan();
43  }
44 
45  bool hasNans()const
46  {
47  return (ossimDpt::hasNans() || tie.hasNans() || (ossim::isnan(score)));
48  }
49 
50  bool isNan()const
51  {
52  return (ossimDpt::isNan() && tie.isNan() && (ossim::isnan(score)));
53  }
54 
55  std::ostream& print(std::ostream& os) const;
56  std::ostream& printTab(std::ostream& os) const;
57 
59  const ossimTDpt& pt);
60 
69  ossimTDpt& pt);
70 
71  //***
72  // Public data members:
73  //***
76 };
77 
78 inline const ossimTDpt& ossimTDpt::operator=(const ossimTDpt& pt)
79 {
80  if (this != &pt)
81  {
83  tie = pt.tie;
84  score = pt.score;
85  }
86 
87  return *this;
88 }
89 
90 #endif /* #ifndef ossimTDpt_HEADER */
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
bool isNan() const
Definition: ossimTDpt.h:50
#define OSSIMDLLEXPORT
const ossimDpt & getSlavePoint() const
Definition: ossimTDpt.h:35
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
ossimTDpt(const ossimDpt &aPt, const ossimDpt &aTie, const ossim_float64 &aScore)
Definition: ossimTDpt.h:24
friend OSSIMDLLEXPORT std::ostream & operator<<(std::ostream &os, const ossimDpt &pt)
Definition: ossimDpt.cpp:148
friend OSSIMDLLEXPORT std::istream & operator>>(std::istream &is, ossimDpt &pt)
Method to input the formatted string of the "operator<<".
Definition: ossimDpt.cpp:198
bool isNan() const
Definition: ossimDpt.h:72
void setSlavePoint(const ossimDpt &sPt)
Definition: ossimTDpt.h:34
ossimTDpt(const ossimTDpt &tpt)
Definition: ossimTDpt.h:26
double ossim_float64
void makeNan()
Definition: ossimTDpt.h:38
std::ostream & print(std::ostream &os, ossim_uint32 precision=15) const
Definition: ossimDpt.cpp:118
const ossimDpt & operator=(const ossimFpt &)
Definition: ossimDpt.cpp:70
bool hasNans() const
Definition: ossimTDpt.h:45
bool hasNans() const
Definition: ossimDpt.h:67
ossimTDpt()
Definition: ossimTDpt.h:22
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
void setMasterPoint(const ossimDpt &mPt)
Definition: ossimTDpt.h:30
ossimDpt & refMasterPoint()
Definition: ossimTDpt.h:32
const ossimDpt & getMasterPoint() const
Definition: ossimTDpt.h:31
ossimDpt & refSlavePoint()
Definition: ossimTDpt.h:36
const ossimTDpt & operator=(const ossimTDpt &)
Definition: ossimTDpt.h:78
void makeNan()
Definition: ossimDpt.h:65
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91