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 | 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 JPolyline3D & getPolyline () const
 Get polyline. More...
 
JPolyline3D & getPolyline ()
 Get polyline. More...
 
JPolyline3D & transform (const JMatrix3D &T)
 Transform all vertices. More...
 
JPolyline3D & rotate (const JRotation3D &R)
 Rotate all vertices. More...
 
JPolyline3D & rotate_back (const JRotation3D &R)
 Rotate back all vertices. More...
 
JPolyline3D & rotate (const JRotation3X &R)
 Rotate all vertices around X-axis. More...
 
JPolyline3D & rotate_back (const JRotation3X &R)
 Rotate all vertices back around X-axis. More...
 
JPolyline3D & rotate (const JRotation3Y &R)
 Rotate all vertices around Y-axis. More...
 
JPolyline3D & rotate_back (const JRotation3Y &R)
 Rotate all vertices back around Y-axis. More...
 
JPolyline3D & rotate (const JRotation3Z &R)
 Rotate all vertices around Z-axis. More...
 
JPolyline3D & rotate_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:660
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
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: