Jpp  15.0.1
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
JDETECTOR::JAnchor Class Reference

Data structure for anchor position on sea bed. More...

#include <JAnchor.hh>

Inheritance diagram for JDETECTOR::JAnchor:
JLANG::JObjectID JGEOMETRY2D::JPosition2D JLANG::JComparable< JObjectID > JLANG::JComparable< JObjectID, int > JGEOMETRY2D::JVector2D JMATH::JMath< JFirst_t, JSecond_t >

Public Member Functions

 JAnchor ()
 Default constructor. More...
 
 JAnchor (const int id, const double x, const double y)
 Constructor. More...
 
int getID () const
 Get identifier. More...
 
int & getID ()
 Get identifier. More...
 
void setID (const int id)
 Set identifier. More...
 
bool less (const JObjectID &object) const
 Less than method. More...
 
bool less (const int id) const
 Less than method. More...
 
bool more (const int id) const
 More than method. More...
 
const JPosition2D & getPosition () const
 Get position. More...
 
JPosition2D & getPosition ()
 Get position. More...
 
void setPosition (const JVector2D &pos)
 Set position. More...
 
 operator JAngle2D () const
 Type conversion operator. More...
 
 operator JVersor2D () const
 Type conversion operator. More...
 
JPosition2D & rotate (const JRotation2D &R)
 Rotate. More...
 
JPosition2D & rotate_back (const JRotation2D &R)
 Rotate back. More...
 
double getDot (const JAngle2D &angle) const
 Get dot product. More...
 
double getDot (const JVersor2D &versor) const
 Get dot product. More...
 
double getDot (const JVector2D &point) const
 Get dot product. More...
 
double getPerpDot (const JAngle2D &angle) const
 Get perpendicular dot product. More...
 
double getPerpDot (const JVersor2D &dir) const
 Get perpendicular dot product. More...
 
double getPerpDot (const JVector2D &point) const
 Get perpendicular dot product. More...
 
double getX () const
 Get x position. More...
 
double getY () const
 Get y position. More...
 
JVector2D & negate ()
 Negate vector. More...
 
JVector2D & add (const JVector2D &vector)
 Add vector. More...
 
JVector2D & sub (const JVector2D &vector)
 Subtract vector. More...
 
JVector2D & mul (const double factor)
 Scale vector. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
JVector2D & div (const double factor)
 Scale vector. More...
 
JVector2D & transform (const JMatrix2D &T)
 Transform. More...
 
bool equals (const JVector2D &vector, const double precision=std::numeric_limits< double >::min()) const
 Check equality. More...
 
double getLengthSquared () const
 Get length squared. More...
 
double getLength () const
 Get length. More...
 
double getDistanceSquared (const JVector2D &point) const
 Get squared of distance to point. More...
 
double getDistance (const JVector2D &point) const
 Get distance to point. More...
 

Protected Attributes

int __id
 
double __x
 
double __y
 

Friends

std::istream & operator>> (std::istream &in, JAnchor &anchor)
 Read JAnchor from input. More...
 
std::ostream & operator<< (std::ostream &out, const JAnchor &anchor)
 Write JAnchor to output. More...
 

Detailed Description

Data structure for anchor position on sea bed.

Definition at line 24 of file JAnchor.hh.

Constructor & Destructor Documentation

JDETECTOR::JAnchor::JAnchor ( )
inline

Default constructor.

Definition at line 32 of file JAnchor.hh.

32  :
33  JObjectID(),
34  JPosition2D()
35  {}
JPosition2D()
Default constructor.
Definition: JPosition2D.hh:44
JObjectID()
Default constructor.
Definition: JObjectID.hh:30
JDETECTOR::JAnchor::JAnchor ( const int  id,
const double  x,
const double  y 
)
inline

Constructor.

Parameters
ididentifier
xx position
yy position

Definition at line 45 of file JAnchor.hh.

47  :
48  JObjectID(id),
49  JPosition2D(x, y)
50  {}
JPosition2D()
Default constructor.
Definition: JPosition2D.hh:44
JObjectID()
Default constructor.
Definition: JObjectID.hh:30

Member Function Documentation

int JLANG::JObjectID::getID ( ) const
inlineinherited

Get identifier.

Returns
identifier

Definition at line 50 of file JObjectID.hh.

51  {
52  return __id;
53  }
int& JLANG::JObjectID::getID ( )
inlineinherited

Get identifier.

Returns
identifier

Definition at line 61 of file JObjectID.hh.

62  {
63  return __id;
64  }
void JLANG::JObjectID::setID ( const int  id)
inlineinherited

Set identifier.

Parameters
ididentifier

Definition at line 72 of file JObjectID.hh.

73  {
74  this->__id = id;
75  }
bool JLANG::JObjectID::less ( const JObjectID &  object) const
inlineinherited

Less than method.

Parameters
objectobject identifier
Returns
true if this identifier less than given identifier; else false

Definition at line 84 of file JObjectID.hh.

85  {
86  return this->getID() < object.getID();
87  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
bool JLANG::JObjectID::less ( const int  id) const
inlineinherited

Less than method.

Parameters
ididentifier
Returns
true if this identifier less than given identifier; else false

Definition at line 96 of file JObjectID.hh.

97  {
98  return this->getID() < id;
99  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
bool JLANG::JObjectID::more ( const int  id) const
inlineinherited

More than method.

Parameters
ididentifier
Returns
true if this identifier greater than given identifier; else false

Definition at line 108 of file JObjectID.hh.

109  {
110  return this->getID() > id;
111  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
const JPosition2D& JGEOMETRY2D::JPosition2D::getPosition ( ) const
inlineinherited

Get position.

Returns
position

Definition at line 98 of file JPosition2D.hh.

99  {
100  return static_cast<const JPosition2D&>(*this);
101  }
Data structure for position in two dimensions.
Definition: JPosition2D.hh:31
JPosition2D& JGEOMETRY2D::JPosition2D::getPosition ( )
inlineinherited

Get position.

Returns
position

Definition at line 109 of file JPosition2D.hh.

110  {
111  return static_cast<JPosition2D&>(*this);
112  }
Data structure for position in two dimensions.
Definition: JPosition2D.hh:31
void JGEOMETRY2D::JPosition2D::setPosition ( const JVector2D &  pos)
inlineinherited

Set position.

Parameters
posposition

Definition at line 120 of file JPosition2D.hh.

121  {
122  static_cast<JVector2D&>(*this) = pos;
123  }
Data structure for vector in two dimensions.
Definition: JVector2D.hh:32
JGEOMETRY2D::JPosition2D::operator JAngle2D ( ) const
inlineinherited

Type conversion operator.

Returns
angle

Definition at line 131 of file JPosition2D.hh.

132  {
133  return JAngle2D(getX(), getY());
134  }
Data structure for angle in two dimensions.
Definition: JAngle2D.hh:33
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
JGEOMETRY2D::JPosition2D::operator JVersor2D ( ) const
inlineinherited

Type conversion operator.

Returns
direction

Definition at line 142 of file JPosition2D.hh.

143  {
144  return JVersor2D(getX(), getY());
145  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
Data structure for normalised vector in two dimensions.
Definition: JVersor2D.hh:20
double getX() const
Get x position.
Definition: JVector2D.hh:63
JPosition2D& JGEOMETRY2D::JPosition2D::rotate ( const JRotation2D &  R)
inlineinherited

Rotate.

Parameters
Rrotation matrix
Returns
this position

Definition at line 154 of file JPosition2D.hh.

155  {
156  R.rotate(__x, __y);
157 
158  return *this;
159  }
void rotate(double &__x, double &__y) const
Rotate.
Definition: JRotation2D.hh:96
JPosition2D& JGEOMETRY2D::JPosition2D::rotate_back ( const JRotation2D &  R)
inlineinherited

Rotate back.

Parameters
Rrotation matrix
Returns
this position

Definition at line 168 of file JPosition2D.hh.

169  {
170  R.rotate_back(__x, __y);
171 
172  return *this;
173  }
void rotate_back(double &__x, double &__y) const
Rotate back.
Definition: JRotation2D.hh:112
double JGEOMETRY2D::JPosition2D::getDot ( const JAngle2D &  angle) const
inlineinherited

Get dot product.

Parameters
angleangle
Returns
dot product

Definition at line 182 of file JPosition2D.hh.

183  {
184  return
185  getX() * angle.getDX() +
186  getY() * angle.getDY();
187  }
double getDX() const
Get x direction.
Definition: JAngle2D.hh:83
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double getDY() const
Get y direction.
Definition: JAngle2D.hh:94
double JGEOMETRY2D::JPosition2D::getDot ( const JVersor2D &  versor) const
inlineinherited

Get dot product.

Parameters
versorversor
Returns
dot product

Definition at line 196 of file JPosition2D.hh.

197  {
198  return
199  getX() * versor.getDX() +
200  getY() * versor.getDY();
201  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getDX() const
Get x direction.
Definition: JVersor2D.hh:53
double getX() const
Get x position.
Definition: JVector2D.hh:63
double getDY() const
Get y direction.
Definition: JVersor2D.hh:64
double JGEOMETRY2D::JVector2D::getDot ( const JVector2D &  point) const
inlineinherited

Get dot product.

Parameters
pointvector
Returns
dot product

Definition at line 235 of file JVector2D.hh.

236  {
237  return
238  getX() * point.getX() +
239  getY() * point.getY();
240  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double JGEOMETRY2D::JPosition2D::getPerpDot ( const JAngle2D &  angle) const
inlineinherited

Get perpendicular dot product.

Parameters
angleangle
Returns
perpendicular dot product

Definition at line 210 of file JPosition2D.hh.

211  {
212  return
213  getX() * angle.getDY() -
214  getY() * angle.getDX();
215  }
double getDX() const
Get x direction.
Definition: JAngle2D.hh:83
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double getDY() const
Get y direction.
Definition: JAngle2D.hh:94
double JGEOMETRY2D::JPosition2D::getPerpDot ( const JVersor2D &  dir) const
inlineinherited

Get perpendicular dot product.

Parameters
dirdirection
Returns
perpendicular dot product

Definition at line 224 of file JPosition2D.hh.

225  {
226  return
227  getX() * dir.getDY() -
228  getY() * dir.getDX();
229  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getDX() const
Get x direction.
Definition: JVersor2D.hh:53
double getX() const
Get x position.
Definition: JVector2D.hh:63
double getDY() const
Get y direction.
Definition: JVersor2D.hh:64
double JGEOMETRY2D::JVector2D::getPerpDot ( const JVector2D &  point) const
inlineinherited

Get perpendicular dot product.

Parameters
pointvector
Returns
perpendicular dot product

Definition at line 249 of file JVector2D.hh.

250  {
251  return
252  getX() * point.getY() -
253  getY() * point.getX();
254  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double JGEOMETRY2D::JVector2D::getX ( ) const
inlineinherited

Get x position.

Returns
x position

Definition at line 63 of file JVector2D.hh.

64  {
65  return __x;
66  }
double JGEOMETRY2D::JVector2D::getY ( ) const
inlineinherited

Get y position.

Returns
y position

Definition at line 74 of file JVector2D.hh.

75  {
76  return __y;
77  }
JVector2D& JGEOMETRY2D::JVector2D::negate ( )
inlineinherited

Negate vector.

Returns
this vector

Definition at line 85 of file JVector2D.hh.

86  {
87  __x = -__x;
88  __y = -__y;
89 
90  return *this;
91  }
JVector2D& JGEOMETRY2D::JVector2D::add ( const JVector2D &  vector)
inlineinherited

Add vector.

Parameters
vectorvector
Returns
this vector

Definition at line 100 of file JVector2D.hh.

101  {
102  __x += vector.getX();
103  __y += vector.getY();
104 
105  return *this;
106  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
JVector2D& JGEOMETRY2D::JVector2D::sub ( const JVector2D &  vector)
inlineinherited

Subtract vector.

Parameters
vectorvector
Returns
this vector

Definition at line 115 of file JVector2D.hh.

116  {
117  __x -= vector.getX();
118  __y -= vector.getY();
119 
120  return *this;
121  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
JVector2D& JGEOMETRY2D::JVector2D::mul ( const double  factor)
inlineinherited

Scale vector.

Parameters
factormultiplication factor
Returns
this vector

Definition at line 130 of file JVector2D.hh.

131  {
132  __x *= factor;
133  __y *= factor;
134 
135  return *this;
136  }
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
JVector2D& JGEOMETRY2D::JVector2D::div ( const double  factor)
inlineinherited

Scale vector.

Parameters
factordivision factor
Returns
this vector

Definition at line 145 of file JVector2D.hh.

146  {
147  __x /= factor;
148  __y /= factor;
149 
150  return *this;
151  }
JVector2D& JGEOMETRY2D::JVector2D::transform ( const JMatrix2D &  T)
inlineinherited

Transform.

Parameters
Tmatrix
Returns
this vector

Definition at line 160 of file JVector2D.hh.

161  {
162  T.transform(__x, __y);
163 
164  return *this;
165  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
bool JGEOMETRY2D::JVector2D::equals ( const JVector2D &  vector,
const double  precision = std::numeric_limits<double>::min() 
) const
inlineinherited

Check equality.

Parameters
vectorvector
precisionprecision
Returns
true if vectors are equal; else false

Definition at line 175 of file JVector2D.hh.

177  {
178  return (fabs(getX() - vector.getX()) <= precision &&
179  fabs(getY() - vector.getY()) <= precision);
180  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double JGEOMETRY2D::JVector2D::getLengthSquared ( ) const
inlineinherited

Get length squared.

Returns
square of length

Definition at line 188 of file JVector2D.hh.

189  {
190  return getX()*getX() + getY()*getY();
191  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
double JGEOMETRY2D::JVector2D::getLength ( ) const
inlineinherited

Get length.

Returns
length

Definition at line 199 of file JVector2D.hh.

200  {
201  return sqrt(getLengthSquared());
202  }
double getLengthSquared() const
Get length squared.
Definition: JVector2D.hh:188
double JGEOMETRY2D::JVector2D::getDistanceSquared ( const JVector2D &  point) const
inlineinherited

Get squared of distance to point.

Parameters
pointpoint
Returns
square of distance

Definition at line 211 of file JVector2D.hh.

212  {
213  return JVector2D(point).sub(*this).getLengthSquared();
214  }
JVector2D()
Default constructor.
Definition: JVector2D.hh:39
double JGEOMETRY2D::JVector2D::getDistance ( const JVector2D &  point) const
inlineinherited

Get distance to point.

Parameters
pointpoint
Returns
distance

Definition at line 223 of file JVector2D.hh.

224  {
225  return sqrt(getDistanceSquared(point));
226  }
double getDistanceSquared(const JVector2D &point) const
Get squared of distance to point.
Definition: JVector2D.hh:211

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JAnchor &  anchor 
)
friend

Read JAnchor from input.

Parameters
ininput stream
anchorJAnchor
Returns
input stream

Definition at line 60 of file JAnchor.hh.

61  {
62  int id;
63  double x, y;
64 
65  if (in >> id >> x >> y)
66  anchor = JAnchor(id, x, y);
67 
68  return in;
69  }
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:41
JAnchor()
Default constructor.
Definition: JAnchor.hh:32
std::ostream& operator<< ( std::ostream &  out,
const JAnchor &  anchor 
)
friend

Write JAnchor to output.

Parameters
outoutput stream
anchorJAnchor
Returns
output stream

Definition at line 79 of file JAnchor.hh.

80  {
81  out << anchor.getID();
82  out << ' ';
83  out << anchor.getX();
84  out << ' ';
85  out << anchor.getY();
86 
87  return out;
88  }
double getY() const
Get y position.
Definition: JVector2D.hh:74
double getX() const
Get x position.
Definition: JVector2D.hh:63
int getID() const
Get identifier.
Definition: JObjectID.hh:50

Member Data Documentation

int JLANG::JObjectID::__id
protectedinherited

Definition at line 140 of file JObjectID.hh.

double JGEOMETRY2D::JVector2D::__x
protectedinherited

Definition at line 257 of file JVector2D.hh.

double JGEOMETRY2D::JVector2D::__y
protectedinherited

Definition at line 258 of file JVector2D.hh.


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