Flow123d  release_2.2.0-914-gf1a3a4f
Public Member Functions | Private Attributes | Friends | List of all members
Plucker Class Reference

Plucker coordinates representing line given by points A,B. More...

#include <plucker.hh>

Public Member Functions

 Plucker ()
 
 Plucker (const arma::vec3 &a, const arma::vec3 &b)
 Creates Plucker coordinates of a line AB. More...
 
 Plucker (const Plucker &p)
 Copy constructor. More...
 
 ~Plucker ()
 Destructor. More...
 
double scale () const
 
double operator[] (const unsigned int index) const
 Returns Plucker coordinate of index. More...
 
double operator* (const Plucker &b)
 Compute product of two Plucker coordinates. More...
 
void clear ()
 Sets the flag computed on false. More...
 
bool is_computed () const
 Return true if Plucker coordinates have been computed already. More...
 
void compute (const arma::vec3 &a, const arma::vec3 &b)
 Compute Plucker coordinates and set computed to true. More...
 
arma::vec3 get_u_vector () const
 Gets directional vector U. More...
 
arma::vec3 get_ua_vector () const
 Gets cross product vector UxA. More...
 
arma::vec6 get_plucker_coords () const
 Gets Plucker coordinates. More...
 

Private Attributes

arma::vec6 coordinates_
 Plucker coordinates. More...
 
double scale_
 
bool computed_
 True, if Plucker coordinates are computed; false otherwise. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Plucker &p)
 Friend output operator. More...
 

Detailed Description

Plucker coordinates representing line given by points A,B.

Plucker class represents a line by 6 dimensional vector. After inserting a three-dimensional points A and B, which represents the line, class creates plucker coordinates of the line.

Class also can compute a product of two plucker coordinates.

Description of Plücker Coordinates: https://en.wikipedia.org/wiki/Pl%C3%BCcker_coordinates

Empty constructor is used for passing object to pointers from different places coordinates data are filled after calling method "compute" a flag "computed" is for comparison if coordinates data are filled

question: is compute() used from outside ? answer: Yes

Definition at line 47 of file plucker.hh.

Constructor & Destructor Documentation

Plucker::Plucker ( )
inline

Default constructor. Plucker coordinates are not computed.

Definition at line 107 of file plucker.hh.

Plucker::Plucker ( const arma::vec3 a,
const arma::vec3 b 
)
inline

Creates Plucker coordinates of a line AB.

Parameters
a- A point from AB line
b- B point from AB line

Definition at line 110 of file plucker.hh.

Plucker::Plucker ( const Plucker p)
inline

Copy constructor.

Definition at line 114 of file plucker.hh.

Plucker::~Plucker ( )
inline

Destructor.

Definition at line 67 of file plucker.hh.

Member Function Documentation

void Plucker::clear ( )
inline

Sets the flag computed on false.

Definition at line 122 of file plucker.hh.

Here is the caller graph for this function:

void Plucker::compute ( const arma::vec3 a,
const arma::vec3 b 
)

Compute Plucker coordinates and set computed to true.

Parameters
aA point from AB line
bB point from AB line (order of points determines orientation!)

Definition at line 11 of file plucker.cc.

Here is the caller graph for this function:

arma::vec6 Plucker::get_plucker_coords ( ) const
inline

Gets Plucker coordinates.

Definition at line 136 of file plucker.hh.

Here is the caller graph for this function:

arma::vec3 Plucker::get_u_vector ( ) const
inline

Gets directional vector U.

Definition at line 128 of file plucker.hh.

Here is the caller graph for this function:

arma::vec3 Plucker::get_ua_vector ( ) const
inline

Gets cross product vector UxA.

Definition at line 132 of file plucker.hh.

Here is the caller graph for this function:

bool Plucker::is_computed ( ) const
inline

Return true if Plucker coordinates have been computed already.

Definition at line 125 of file plucker.hh.

Here is the caller graph for this function:

double Plucker::operator* ( const Plucker b)

Compute product of two Plucker coordinates.

Definition at line 7 of file plucker.cc.

Here is the caller graph for this function:

double Plucker::operator[] ( const unsigned int  index) const
inline

Returns Plucker coordinate of index.

Definition at line 118 of file plucker.hh.

Here is the caller graph for this function:

double Plucker::scale ( ) const
inline

Definition at line 69 of file plucker.hh.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Plucker p 
)
friend

Friend output operator.

Member Data Documentation

bool Plucker::computed_
private

True, if Plucker coordinates are computed; false otherwise.

Definition at line 52 of file plucker.hh.

arma::vec6 Plucker::coordinates_
private

Plucker coordinates.

Definition at line 50 of file plucker.hh.

double Plucker::scale_
private

Definition at line 51 of file plucker.hh.


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