Jpp  17.0.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends | List of all members
JGEOMETRY3D::JPolyline3D Class Reference

Data structure for polyline in three dimensions. More...

#include <JPolyline3D.hh>

Inheritance diagram for JGEOMETRY3D::JPolyline3D:
std::vector< JGEOMETRY3D::JPosition3D > JMARKOV::JPhotonPath

Public Member Functions

 JPolyline3D ()
 default constructor More...
 
 JPolyline3D (int size)
 Constructor with given size. More...
 
const JPolyline3DgetPolyline () const
 Get polyline. More...
 
JPolyline3DgetPolyline ()
 Get polyline. More...
 
JPolyline3Dtransform (const JMatrix3D &T)
 Transform all vertices. More...
 
JPolyline3Drotate (const JRotation3D &R)
 Rotate all vertices. More...
 
JPolyline3Drotate_back (const JRotation3D &R)
 Rotate back all vertices. More...
 
JPolyline3Drotate (const JRotation3X &R)
 Rotate all vertices around X-axis. More...
 
JPolyline3Drotate_back (const JRotation3X &R)
 Rotate all vertices back around X-axis. More...
 
JPolyline3Drotate (const JRotation3Y &R)
 Rotate all vertices around Y-axis. More...
 
JPolyline3Drotate_back (const JRotation3Y &R)
 Rotate all vertices back around Y-axis. More...
 
JPolyline3Drotate (const JRotation3Z &R)
 Rotate all vertices around Z-axis. More...
 
JPolyline3Drotate_back (const JRotation3Z &R)
 Rotate all vertices back around Z-axis. More...
 
void transform (const JRotation3D &R, const JVector3D &pos)
 Transform all vertices of the polyline with a rotation and offset. More...
 
void transform_back (const JRotation3D &R, const JVector3D &pos)
 Transform back all vertices of the polyline. More...
 

Friends

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

Detailed Description

Data structure for polyline in three dimensions.

A polyline is a series of connected line segments.

Definition at line 25 of file JPolyline3D.hh.

Constructor & Destructor Documentation

JGEOMETRY3D::JPolyline3D::JPolyline3D ( )
inline

default constructor

Definition at line 29 of file JPolyline3D.hh.

29 {}
JGEOMETRY3D::JPolyline3D::JPolyline3D ( int  size)
inline

Constructor with given size.

Definition at line 33 of file JPolyline3D.hh.

33  {
34  if(size>0) resize(size) ;
35  }

Member Function Documentation

const JPolyline3D& JGEOMETRY3D::JPolyline3D::getPolyline ( ) const
inline

Get polyline.

Returns
polyline

Definition at line 43 of file JPolyline3D.hh.

43  {
44  return static_cast<const JPolyline3D&>(*this);
45  }
Data structure for polyline in three dimensions.
Definition: JPolyline3D.hh:25
JPolyline3D& JGEOMETRY3D::JPolyline3D::getPolyline ( )
inline

Get polyline.

Returns
polyline

Definition at line 52 of file JPolyline3D.hh.

53  {
54  return static_cast<JPolyline3D&>(*this);
55  }
Data structure for polyline in three dimensions.
Definition: JPolyline3D.hh:25
JPolyline3D& JGEOMETRY3D::JPolyline3D::transform ( const JMatrix3D T)
inline

Transform all vertices.

Parameters
Tmatrix

Definition at line 62 of file JPolyline3D.hh.

62  {
63  for( iterator it=begin(); it!=end() ; ++it ) it->transform(T) ;
64  return *this;
65  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate ( const JRotation3D R)
inline

Rotate all vertices.

Parameters
Rrotation matrix

Definition at line 72 of file JPolyline3D.hh.

73  {
74  for( iterator it=begin(); it!=end() ; ++it ) it->rotate(R);
75  return *this;
76  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate_back ( const JRotation3D R)
inline

Rotate back all vertices.

Parameters
Rrotation matrix

Definition at line 83 of file JPolyline3D.hh.

83  {
84  for( iterator it=begin(); it!=end() ; ++it ) it->rotate_back(R) ;
85  return *this;
86  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate ( const JRotation3X R)
inline

Rotate all vertices around X-axis.

Parameters
Rrotation matrix

Definition at line 93 of file JPolyline3D.hh.

93  {
94  for( iterator it=begin(); it!=end() ; ++it ) it->rotate(R);
95  return *this;
96  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate_back ( const JRotation3X R)
inline

Rotate all vertices back around X-axis.

Parameters
Rrotation matrix

Definition at line 103 of file JPolyline3D.hh.

103  {
104  for( iterator it=begin(); it!=end() ; ++it ) it->rotate_back(R) ;
105  return *this;
106  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate ( const JRotation3Y R)
inline

Rotate all vertices around Y-axis.

Parameters
Rrotation matrix

Definition at line 114 of file JPolyline3D.hh.

114  {
115  for( iterator it=begin(); it!=end() ; ++it ) it->rotate(R);
116  return *this;
117  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate_back ( const JRotation3Y R)
inline

Rotate all vertices back around Y-axis.

Parameters
Rrotation matrix

Definition at line 125 of file JPolyline3D.hh.

125  {
126  for( iterator it=begin(); it!=end() ; ++it ) it->rotate_back(R) ;
127  return *this;
128  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate ( const JRotation3Z R)
inline

Rotate all vertices around Z-axis.

Parameters
Rrotation matrix

Definition at line 135 of file JPolyline3D.hh.

135  {
136  for( iterator it=begin(); it!=end() ; ++it ) it->rotate(R);
137  return *this;
138  }
JPolyline3D& JGEOMETRY3D::JPolyline3D::rotate_back ( const JRotation3Z R)
inline

Rotate all vertices back around Z-axis.

Parameters
Rrotation matrix

Definition at line 145 of file JPolyline3D.hh.

145  {
146  for( iterator it=begin(); it!=end() ; ++it ) it->rotate_back(R) ;
147  return *this;
148  }
void JGEOMETRY3D::JPolyline3D::transform ( const JRotation3D R,
const JVector3D pos 
)
inline

Transform all vertices of the polyline with a rotation and offset.

See the corresponding function in JPosition3D for more information

Parameters
Rrotation matrix
posposition of origin (after rotation)

Definition at line 157 of file JPolyline3D.hh.

157  {
158  for( iterator it=begin(); it!=end() ; ++it ) it->transform(R,pos) ;
159  }
void JGEOMETRY3D::JPolyline3D::transform_back ( const JRotation3D R,
const JVector3D pos 
)
inline

Transform back all vertices of the polyline.

Parameters
Rrotation matrix
pospolyline of origin (before rotation)

Definition at line 167 of file JPolyline3D.hh.

167  {
168  for( iterator it=begin(); it!=end() ; ++it ) it->transform_back(R,pos) ;
169  }

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JPolyline3D polyline 
)
friend

Read polyline from input.

Parameters
ininput stream
polylinepolyline
Returns
input stream

Definition at line 179 of file JPolyline3D.hh.

179  {
180  int n = -1 ;
181  in >> n ;
182  polyline.resize(n) ;
183  for( iterator it=polyline.begin(); it!=polyline.end() ; ++it ) {
184  in >> *it ;
185  }
186  return in;
187  }
const int n
Definition: JPolint.hh:676
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
std::ostream& operator<< ( std::ostream &  out,
const JPolyline3D polyline 
)
friend

Write polyline to output.

Parameters
outoutput stream
polylinepolyline
Returns
output stream

Definition at line 196 of file JPolyline3D.hh.

197  {
198  out << polyline.size() ;
199  for( const_iterator it=polyline.begin(); it!=polyline.end() ; ++it ) {
200  out << *it ;
201  }
202  return out;
203  }

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