OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Public Attributes | Friends | List of all members
ossimTDpt Class Reference

#include <ossimTDpt.h>

Inheritance diagram for ossimTDpt:
ossimDpt

Public Member Functions

 ossimTDpt ()
 
 ossimTDpt (const ossimDpt &aPt, const ossimDpt &aTie, const ossim_float64 &aScore)
 
 ossimTDpt (const ossimTDpt &tpt)
 
const ossimTDptoperator= (const ossimTDpt &)
 
void setMasterPoint (const ossimDpt &mPt)
 
const ossimDptgetMasterPoint () const
 
ossimDptrefMasterPoint ()
 
void setSlavePoint (const ossimDpt &sPt)
 
const ossimDptgetSlavePoint () const
 
ossimDptrefSlavePoint ()
 
void makeNan ()
 
bool hasNans () const
 
bool isNan () const
 
std::ostream & print (std::ostream &os) const
 
std::ostream & printTab (std::ostream &os) const
 
- Public Member Functions inherited from ossimDpt
 ossimDpt ()
 
 ossimDpt (double anX, double aY)
 
 ossimDpt (const ossimFpt &pt)
 
 ossimDpt (const ossimIpt &pt)
 
 ossimDpt (const ossimDpt3d &pt)
 
 ossimDpt (const ossimGpt &pt)
 
const ossimDptoperator= (const ossimFpt &)
 
const ossimDptoperator= (const ossimIpt &)
 
const ossimDptoperator= (const ossimDpt3d &)
 
const ossimDptoperator= (const ossimGpt &)
 
bool operator== (const ossimDpt &pt) const
 
bool operator!= (const ossimDpt &pt) const
 
void makeNan ()
 
bool hasNans () const
 
bool isNan () const
 
double length () const
 
ossimDpt operator+ (const ossimDpt &p) const
 
ossimDpt operator- (const ossimDpt &p) const
 
const ossimDptoperator+= (const ossimDpt &p)
 
const ossimDptoperator-= (const ossimDpt &p)
 
ossimDpt operator* (const double &d) const
 
ossimDpt operator/ (const double &d) const
 
const ossimDptoperator*= (const double &d)
 
ossim_float64 operator* (const ossimDpt &pt) const
 Dot product. More...
 
std::ostream & print (std::ostream &os, ossim_uint32 precision=15) const
 
ossimString toString (ossim_uint32 precision=15) const
 
void toPoint (const std::string &s)
 Initializes this point from string. More...
 
bool isEqualTo (const ossimDpt &rhs, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
double mean () const
 Returns the average of x and y. More...
 

Public Attributes

ossimDpt tie
 
ossim_float64 score
 
- Public Attributes inherited from ossimDpt
union {
   double   x
 
   double   samp
 
   double   u
 
   double   lon
 
}; 
 
union {
   double   y
 
   double   line
 
   double   v
 
   double   lat
 
}; 
 

Friends

OSSIMDLLEXPORT std::ostream & operator<< (std::ostream &os, const ossimTDpt &pt)
 
OSSIMDLLEXPORT std::istream & operator>> (std::istream &is, ossimTDpt &pt)
 Method to input the formatted string of the "operator<<". More...
 

Detailed Description

Definition at line 18 of file ossimTDpt.h.

Constructor & Destructor Documentation

◆ ossimTDpt() [1/3]

ossimTDpt::ossimTDpt ( )
inline

Definition at line 22 of file ossimTDpt.h.

22 : ossimDpt(), tie(), score(0.0) {}
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
ossimDpt()
Definition: ossimDpt.h:33

◆ ossimTDpt() [2/3]

ossimTDpt::ossimTDpt ( const ossimDpt aPt,
const ossimDpt aTie,
const ossim_float64 aScore 
)
inline

Definition at line 24 of file ossimTDpt.h.

24 : ossimDpt(aPt), tie(aTie), score(aScore) {}
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
ossimDpt()
Definition: ossimDpt.h:33

◆ ossimTDpt() [3/3]

ossimTDpt::ossimTDpt ( const ossimTDpt tpt)
inline

Definition at line 26 of file ossimTDpt.h.

26 : ossimDpt(tpt), tie(tpt.tie), score(tpt.score) {}
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
ossimDpt()
Definition: ossimDpt.h:33

Member Function Documentation

◆ getMasterPoint()

const ossimDpt& ossimTDpt::getMasterPoint ( ) const
inline

Definition at line 31 of file ossimTDpt.h.

31 { return *this; }

◆ getSlavePoint()

const ossimDpt& ossimTDpt::getSlavePoint ( ) const
inline

Definition at line 35 of file ossimTDpt.h.

35 { return tie; }
ossimDpt tie
Definition: ossimTDpt.h:74

◆ hasNans()

bool ossimTDpt::hasNans ( ) const
inline

Definition at line 45 of file ossimTDpt.h.

References ossimDpt::hasNans(), and ossim::isnan().

46  {
47  return (ossimDpt::hasNans() || tie.hasNans() || (ossim::isnan(score)));
48  }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
bool hasNans() const
Definition: ossimDpt.h:67
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ isNan()

bool ossimTDpt::isNan ( ) const
inline

Definition at line 50 of file ossimTDpt.h.

References ossimDpt::isNan(), and ossim::isnan().

51  {
52  return (ossimDpt::isNan() && tie.isNan() && (ossim::isnan(score)));
53  }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
bool isNan() const
Definition: ossimDpt.h:72
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ makeNan()

void ossimTDpt::makeNan ( )
inline

Definition at line 38 of file ossimTDpt.h.

References ossimDpt::makeNan(), and ossim::nan().

Referenced by operator>>().

39  {
41  tie.makeNan();
42  score=ossim::nan();
43  }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
void makeNan()
Definition: ossimDpt.h:65

◆ operator=()

const ossimTDpt & ossimTDpt::operator= ( const ossimTDpt pt)
inline

Definition at line 78 of file ossimTDpt.h.

References ossimDpt::operator=(), score, and tie.

79 {
80  if (this != &pt)
81  {
83  tie = pt.tie;
84  score = pt.score;
85  }
86 
87  return *this;
88 }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
const ossimDpt & operator=(const ossimFpt &)
Definition: ossimDpt.cpp:70

◆ print()

std::ostream & ossimTDpt::print ( std::ostream &  os) const

Definition at line 9 of file ossimTDpt.cpp.

References ossim::isnan(), score, and tie.

Referenced by operator<<().

10 {
11  os << "( ";
12  os << dynamic_cast<const ossimDpt&>(*this);
13  os << ", ";
14  os << tie;
15  os << ", ";
16  if (ossim::isnan(score) == false)
17  {
18  os << std::setiosflags(std::ios::fixed) << std::setprecision(15);
19  os << score;
20  }
21  else
22  {
23  os << "nan";
24  }
25  os << " )";
26 
27  return os;
28 }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ printTab()

std::ostream & ossimTDpt::printTab ( std::ostream &  os) const

Definition at line 30 of file ossimTDpt.cpp.

References score, tie, ossimDpt::x, and ossimDpt::y.

31 {
32  os << std::setiosflags(std::ios::fixed) << std::setprecision(15);
33  os<< x ;
34  os<<"\t"<< y;
35  os<<"\t"<< tie.x;
36  os<<"\t"<< tie.y;
37  os<<"\t"<< score;
38 
39  return os;
40 }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
double y
Definition: ossimDpt.h:165
double x
Definition: ossimDpt.h:164

◆ refMasterPoint()

ossimDpt& ossimTDpt::refMasterPoint ( )
inline

Definition at line 32 of file ossimTDpt.h.

32 { return *this; }

◆ refSlavePoint()

ossimDpt& ossimTDpt::refSlavePoint ( )
inline

Definition at line 36 of file ossimTDpt.h.

36 { return tie; }
ossimDpt tie
Definition: ossimTDpt.h:74

◆ setMasterPoint()

void ossimTDpt::setMasterPoint ( const ossimDpt mPt)
inline

Definition at line 30 of file ossimTDpt.h.

References ossimDpt::operator=().

30 { ossimDpt::operator=(mPt); }
const ossimDpt & operator=(const ossimFpt &)
Definition: ossimDpt.cpp:70

◆ setSlavePoint()

void ossimTDpt::setSlavePoint ( const ossimDpt sPt)
inline

Definition at line 34 of file ossimTDpt.h.

34 { tie=sPt; }
ossimDpt tie
Definition: ossimTDpt.h:74

Friends And Related Function Documentation

◆ operator<<

OSSIMDLLEXPORT std::ostream& operator<< ( std::ostream &  os,
const ossimTDpt pt 
)
friend

Definition at line 42 of file ossimTDpt.cpp.

43 {
44  return pt.print(os);
45 }
std::ostream & print(std::ostream &os) const
Definition: ossimTDpt.cpp:9

◆ operator>>

OSSIMDLLEXPORT std::istream& operator>> ( std::istream &  is,
ossimTDpt pt 
)
friend

Method to input the formatted string of the "operator<<".

Expected format: ( ( ossimDpt ), ( ossimDpt ), 0.50000000000000 ) –*this-— , -—tie--—, —score-----—

Definition at line 47 of file ossimTDpt.cpp.

48 {
49  //---
50  // Expected input format:
51  // ( (ossimDPt), (ossimDpt), score )
52  // score is real or nan
53  //---
54 
55  // Start with a nan point.
56  pt.makeNan();
57  // Check the stream.
58  if (!is) return is;
59 
60  ossimString tempString;
61 
62  // Gobble the "(".
63  is >> tempString;
64 
65  //get the first point
66  is>>dynamic_cast<ossimDpt&>(pt);
67 
68  // Eat the ",".
69  char c;
70  is.get(c);
71 
72  //get the second point
73  is>>pt.tie;
74 
75  // Eat the second ",".
76  is.get(c);
77 
78  // Get the score
79  const int SZ = 64; // real number buffer size
80  char tempChars[SZ];
81  is.get(tempChars, SZ, ',');
82  if (!is) return is;
83  tempChars[SZ-1] = '\0';
84  tempString = tempChars;
85  tempString.trim();
86  if (tempString == "nan")
87  {
88  pt.score = ossim::nan();
89  }
90  else
91  {
92  pt.score = tempString.toDouble();
93  }
94 
95  // Gobble the trailing ")".
96  is >> tempString;
97 
98  // Finished
99  return is;
100 }
ossimDpt tie
Definition: ossimTDpt.h:74
ossim_float64 score
Definition: ossimTDpt.h:75
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
void makeNan()
Definition: ossimTDpt.h:38

Member Data Documentation

◆ score

ossim_float64 ossimTDpt::score

Definition at line 75 of file ossimTDpt.h.

Referenced by operator=(), operator>>(), print(), and printTab().

◆ tie

ossimDpt ossimTDpt::tie

Definition at line 74 of file ossimTDpt.h.

Referenced by operator=(), operator>>(), print(), and printTab().


The documentation for this class was generated from the following files: