Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
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
 
 JPolyline3D (int size)
 Constructor with given size.
 
const JPolyline3DgetPolyline () const
 Get polyline.
 
JPolyline3DgetPolyline ()
 Get polyline.
 
JPolyline3Dtransform (const JMatrix3D &T)
 Transform all vertices.
 
JPolyline3Drotate (const JRotation3D &R)
 Rotate all vertices.
 
JPolyline3Drotate_back (const JRotation3D &R)
 Rotate back all vertices.
 
JPolyline3Drotate (const JRotation3X &R)
 Rotate all vertices around X-axis.
 
JPolyline3Drotate_back (const JRotation3X &R)
 Rotate all vertices back around X-axis.
 
JPolyline3Drotate (const JRotation3Y &R)
 Rotate all vertices around Y-axis.
 
JPolyline3Drotate_back (const JRotation3Y &R)
 Rotate all vertices back around Y-axis.
 
JPolyline3Drotate (const JRotation3Z &R)
 Rotate all vertices around Z-axis.
 
JPolyline3Drotate_back (const JRotation3Z &R)
 Rotate all vertices back around Z-axis.
 
void transform (const JRotation3D &R, const JVector3D &pos)
 Transform all vertices of the polyline with a rotation and offset.
 
void transform_back (const JRotation3D &R, const JVector3D &pos)
 Transform back all vertices of the polyline.
 

Friends

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

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

◆ JPolyline3D() [1/2]

JGEOMETRY3D::JPolyline3D::JPolyline3D ( )
inline

default constructor

Definition at line 29 of file JPolyline3D.hh.

29{}

◆ JPolyline3D() [2/2]

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

◆ getPolyline() [1/2]

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 }
JPolyline3D()
default constructor

◆ getPolyline() [2/2]

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 }

◆ transform() [1/2]

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 }

◆ rotate() [1/4]

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 }

◆ rotate_back() [1/4]

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 }

◆ rotate() [2/4]

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 }

◆ rotate_back() [2/4]

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 }

◆ rotate() [3/4]

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 }

◆ rotate_back() [3/4]

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 }

◆ rotate() [4/4]

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 }

◆ rotate_back() [4/4]

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 }

◆ transform() [2/2]

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 }

◆ transform_back()

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 Symbol Documentation

◆ operator>>

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:791

◆ operator<<

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: