Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Friends | List of all members
JUTM::JUTMPosition Class Reference

Data structure for UTM position. More...

#include <JUTMPosition.hh>

Inheritance diagram for JUTM::JUTMPosition:
JMATH::JMath< JFirst_t, JSecond_t > JDETECTOR::JDetectorHeader JDETECTOR::JTripod JDETECTOR::JDetector JDETECTOR::JMonteCarloDetector JDYNAMICS::JDynamics

Public Member Functions

 JUTMPosition ()
 Default constructor. More...
 
 JUTMPosition (const JVector3D &pos)
 Constructor. More...
 
 JUTMPosition (const double east, const double north, const double z)
 Constructor. More...
 
const JUTMPositiongetUTMPosition () const
 Get UTM position. More...
 
void setUTMPosition (const JUTMPosition &position)
 Set UTM position. More...
 
JPosition3D getPosition () const
 Get position. More...
 
 operator JPosition3D () const
 Type conversion operator. More...
 
double getUTMEast () const
 Get UTM east. More...
 
double getUTMNorth () const
 Get UTM north. More...
 
double getUTMZ () const
 Get UTM Z. More...
 
JUTMPositionnegate ()
 Negate UTM position. More...
 
JUTMPositionadd (const JUTMPosition &pos)
 Add UTM position. More...
 
JUTMPositionsub (const JUTMPosition &pos)
 Subtract UTM position. More...
 
JUTMPositionmul (const double factor)
 Scale UTM position. More...
 
JUTMPositiondiv (const double factor)
 Scale UTM position. More...
 
double getDisplacement (const JUTMPosition &position) const
 Get displacement to position. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Protected Attributes

double east
 
double north
 
double z
 

Friends

std::istream & operator>> (std::istream &in, JUTMPosition &pos)
 Read UTM position from input. More...
 
std::ostream & operator<< (std::ostream &out, const JUTMPosition &pos)
 Write UTM position to output. More...
 
JReaderoperator>> (JReader &in, JUTMPosition &pos)
 Read UTM position from input. More...
 
JWriteroperator<< (JWriter &out, const JUTMPosition &pos)
 Write UTM position to output. More...
 

Detailed Description

Data structure for UTM position.

The z-coordinate corresponds to the depth where z = 0 is at sea level.

Definition at line 36 of file JUTMPosition.hh.

Constructor & Destructor Documentation

JUTM::JUTMPosition::JUTMPosition ( )
inline

Default constructor.

Definition at line 43 of file JUTMPosition.hh.

43  :
44  east (0.0),
45  north(0.0),
46  z (0.0)
47  {}
JUTM::JUTMPosition::JUTMPosition ( const JVector3D pos)
inline

Constructor.

Parameters
posUTM position

Definition at line 55 of file JUTMPosition.hh.

55  :
56  east (pos.getX()),
57  north(pos.getY()),
58  z (pos.getZ())
59  {}
JUTM::JUTMPosition::JUTMPosition ( const double  east,
const double  north,
const double  z 
)
inline

Constructor.

Parameters
eastUTM East
northUTM North
zUTM Z

Definition at line 69 of file JUTMPosition.hh.

72  {
73  this->east = east;
74  this->north = north;
75  this->z = z;
76  }

Member Function Documentation

const JUTMPosition& JUTM::JUTMPosition::getUTMPosition ( ) const
inline

Get UTM position.

Returns
position

Definition at line 84 of file JUTMPosition.hh.

85  {
86  return static_cast<const JUTMPosition&>(*this);
87  }
Data structure for UTM position.
Definition: JUTMPosition.hh:36
void JUTM::JUTMPosition::setUTMPosition ( const JUTMPosition position)
inline

Set UTM position.

Parameters
positionposition

Definition at line 95 of file JUTMPosition.hh.

96  {
97  static_cast<JUTMPosition&>(*this) = position;
98  }
Data structure for UTM position.
Definition: JUTMPosition.hh:36
JPosition3D JUTM::JUTMPosition::getPosition ( ) const
inline

Get position.

Returns
position

Definition at line 106 of file JUTMPosition.hh.

107  {
108  return JPosition3D(east, north, z);
109  }
JUTM::JUTMPosition::operator JPosition3D ( ) const
inline

Type conversion operator.

Returns
position

Definition at line 117 of file JUTMPosition.hh.

118  {
119  return getPosition();
120  }
JPosition3D getPosition() const
Get position.
double JUTM::JUTMPosition::getUTMEast ( ) const
inline

Get UTM east.

Returns
UTM East

Definition at line 128 of file JUTMPosition.hh.

129  {
130  return this->east;
131  }
double JUTM::JUTMPosition::getUTMNorth ( ) const
inline

Get UTM north.

Returns
UTM North

Definition at line 139 of file JUTMPosition.hh.

140  {
141  return this->north;
142  }
double JUTM::JUTMPosition::getUTMZ ( ) const
inline

Get UTM Z.

Returns
UTM Z

Definition at line 150 of file JUTMPosition.hh.

151  {
152  return this->z;
153  }
JUTMPosition& JUTM::JUTMPosition::negate ( )
inline

Negate UTM position.

Returns
this UTM position

Definition at line 161 of file JUTMPosition.hh.

162  {
163  east = -east;
164  north = -north;
165  z = -z;
166 
167  return *this;
168  }
JUTMPosition& JUTM::JUTMPosition::add ( const JUTMPosition pos)
inline

Add UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 177 of file JUTMPosition.hh.

178  {
179  east += pos.getUTMEast();
180  north += pos.getUTMNorth();
181  z += pos.getUTMZ();
182 
183  return *this;
184  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
JUTMPosition& JUTM::JUTMPosition::sub ( const JUTMPosition pos)
inline

Subtract UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 193 of file JUTMPosition.hh.

194  {
195  east -= pos.getUTMEast();
196  north -= pos.getUTMNorth();
197  z -= pos.getUTMZ();
198 
199  return *this;
200  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
JUTMPosition& JUTM::JUTMPosition::mul ( const double  factor)
inline

Scale UTM position.

Parameters
factormultiplication factor
Returns
this UTM position

Definition at line 209 of file JUTMPosition.hh.

210  {
211  east *= factor;
212  north *= factor;
213  z *= factor;
214 
215  return *this;
216  }
JUTMPosition& JUTM::JUTMPosition::div ( const double  factor)
inline

Scale UTM position.

Parameters
factordivision factor
Returns
this UTM position

Definition at line 225 of file JUTMPosition.hh.

226  {
227  east /= factor;
228  north /= factor;
229  z /= factor;
230 
231  return *this;
232  }
double JUTM::JUTMPosition::getDisplacement ( const JUTMPosition position) const
inline

Get displacement to position.

The displacement corresponds to the 2D distance in the (East,North) plane.

Parameters
positionposition
Returns
displacement

Definition at line 243 of file JUTMPosition.hh.

244  {
245  const double x = this->getUTMEast() - position.getUTMEast();
246  const double y = this->getUTMNorth() - position.getUTMNorth();
247 
248  return sqrt(x*x + y*y);
249  }
double getUTMEast() const
Get UTM east.
double getUTMNorth() const
Get UTM north.
template<class JFirst_t, class JSecond_t = JNullType>
JFirst_t& JMATH::JMath< JFirst_t, JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 357 of file JMath.hh.

358  {
359  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
360  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JUTMPosition pos 
)
friend

Read UTM position from input.

Parameters
ininput stream
posUTM position
Returns
input stream

Definition at line 259 of file JUTMPosition.hh.

260  {
261  return in >> pos.east >> pos.north >> pos.z;
262  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:38
std::ostream& operator<< ( std::ostream &  out,
const JUTMPosition pos 
)
friend

Write UTM position to output.

Parameters
outoutput stream
posUTM position
Returns
output stream

Definition at line 272 of file JUTMPosition.hh.

273  {
274  const JFormat format[] = { JFormat(out, getFormat<JUTMPosition>(JFormat_t(12, 3, std::ios::fixed | std::ios::showpos))),
275  JFormat(out, getFormat<JPosition3D> (JFormat_t( 9, 3, std::ios::fixed | std::ios::showpos))) };
276 
277  return out << format[0] << pos.east << ' '
278  << format[0] << pos.north << ' '
279  << format[1] << pos.z;
280  }
Auxiliary class to temporarily define format specifications.
Definition: JManip.hh:632
Data structure for format specifications.
Definition: JManip.hh:522
JReader& operator>> ( JReader in,
JUTMPosition pos 
)
friend

Read UTM position from input.

Parameters
ininput stream
posUTM position
Returns
input stream

Definition at line 291 of file JUTMPosition.hh.

292  {
293  return in >> pos.east >> pos.north >> pos.z;
294  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:38
JWriter& operator<< ( JWriter out,
const JUTMPosition pos 
)
friend

Write UTM position to output.

Parameters
outoutput stream
posUTM position
Returns
output stream

Definition at line 304 of file JUTMPosition.hh.

305  {
306  return out << pos.east << pos.north << pos.z;
307  }

Member Data Documentation

double JUTM::JUTMPosition::east
protected

Definition at line 311 of file JUTMPosition.hh.

double JUTM::JUTMPosition::north
protected

Definition at line 312 of file JUTMPosition.hh.

double JUTM::JUTMPosition::z
protected

Definition at line 313 of file JUTMPosition.hh.


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