#include <gcu/crystalline.h>
Public Member Functions | |
CrystalLine () | |
virtual | ~CrystalLine () |
CrystalLine (CrystalLineType Type, double X1, double Y1, double Z1, double X2, double Y2, double Z2, double r, float red, float green, float blue, float alpha) | |
CrystalLine (CrystalLine &clLine) | |
CrystalLine & | operator= (CrystalLine &clLine) |
double | X1 (void) |
double | Y1 (void) |
double | Z1 (void) |
double | X2 (void) |
double | Y2 (void) |
double | Z2 (void) |
double | Xmax () |
double | Ymax () |
double | Zmax () |
double | Xmin () |
double | Ymin () |
double | Zmin () |
double | Long () |
CrystalLineType | Type () |
void | SetPosition (double x, double y, double z, double x1, double y1, double z1) |
void | SetColor (float red, float green, float blue, float alpha) |
void | GetColor (double *red, double *green, double *blue, double *alpha) |
void | SetRadius (double r) |
double | GetRadius () |
bool | operator== (CrystalLine &clLine) |
virtual void | Move (double x, double y, double z) |
double | ScalProd (int h, int k, int l) |
void | Cleave () |
void | NetToCartesian (double a, double b, double c, double alpha, double beta, double gamma) |
double | Distance (double x, double y, double z, bool bFixed) |
bool | IsCleaved () |
void | GetRotation (double &x, double &y, double &z, double &th) |
virtual xmlNodePtr | Save (xmlDocPtr xml) const |
virtual bool | Load (xmlNodePtr node) |
Protected Attributes | |
float | m_fBlue |
float | m_fRed |
float | m_fGreen |
float | m_fAlpha |
double | m_dx |
double | m_dy |
double | m_dz |
double | m_dx2 |
double | m_dy2 |
double | m_dz2 |
double | m_dr |
int | m_nCleave |
CrystalLineType | m_nType |
Definition at line 54 of file crystalline.h.
gcu::CrystalLine::CrystalLine | ( | ) |
The default constructor of CrystalLine.
virtual gcu::CrystalLine::~CrystalLine | ( | ) | [virtual] |
The destructior of CrystaLine
gcu::CrystalLine::CrystalLine | ( | CrystalLineType | Type, | |
double | X1, | |||
double | Y1, | |||
double | Z1, | |||
double | X2, | |||
double | Y2, | |||
double | Z2, | |||
double | r, | |||
float | red, | |||
float | green, | |||
float | blue, | |||
float | alpha | |||
) |
Type,: | the type (CrystalLineType) of the new line. | |
X1,: | the x coordinate of the first end of the new line. | |
Y1,: | the y coordinate of the first end of the new line. | |
Z1,: | the z coordinate of the first end of the new line. | |
X2,: | the x coordinate of the second end of the new line. | |
Y2,: | the y coordinate of the second end of the new line. | |
Z2,: | the z coordinate of the second end of the new line. | |
r,: | the radius of the cylinder which will represent the new line. | |
red,: | the red component of the cylinder which will represent the new line. | |
green,: | the green component of the cylinder which will represent the new line. | |
blue,: | the blue component of the cylinder which will represent the new line. | |
alpha,: | the alpha component of the cylinder which will represent the new line. |
gcu::CrystalLine::CrystalLine | ( | CrystalLine & | clLine | ) |
clLine,: | the line to duplicate. |
CrystalLine& gcu::CrystalLine::operator= | ( | CrystalLine & | clLine | ) |
clLine,: | the line to copy. |
double gcu::CrystalLine::X1 | ( | void | ) | [inline] |
Definition at line 101 of file crystalline.h.
References m_dx.
double gcu::CrystalLine::Y1 | ( | void | ) | [inline] |
Definition at line 105 of file crystalline.h.
References m_dy.
double gcu::CrystalLine::Z1 | ( | void | ) | [inline] |
Definition at line 109 of file crystalline.h.
References m_dz.
double gcu::CrystalLine::X2 | ( | void | ) | [inline] |
Definition at line 113 of file crystalline.h.
References m_dx2.
double gcu::CrystalLine::Y2 | ( | void | ) | [inline] |
Definition at line 117 of file crystalline.h.
References m_dy2.
double gcu::CrystalLine::Z2 | ( | void | ) | [inline] |
Definition at line 121 of file crystalline.h.
References m_dz2.
double gcu::CrystalLine::Xmax | ( | ) |
double gcu::CrystalLine::Ymax | ( | ) |
double gcu::CrystalLine::Zmax | ( | ) |
double gcu::CrystalLine::Xmin | ( | ) |
double gcu::CrystalLine::Ymin | ( | ) |
double gcu::CrystalLine::Zmin | ( | ) |
double gcu::CrystalLine::Long | ( | ) | [inline] |
CrystalLineType gcu::CrystalLine::Type | ( | ) | [inline] |
Definition at line 153 of file crystalline.h.
References m_nType.
void gcu::CrystalLine::SetPosition | ( | double | x, | |
double | y, | |||
double | z, | |||
double | x1, | |||
double | y1, | |||
double | z1 | |||
) |
x,: | the new x coordinate of the first end of the new line. | |
y,: | the new y coordinate of the first end of the new line. | |
z,: | the new z coordinate of the first end of the new line. | |
x1,: | the new x coordinate of the second end of the new line. | |
y1,: | the new y coordinate of the second end of the new line. | |
z1,: | the new z coordinate of the second end of the new line. |
void gcu::CrystalLine::SetColor | ( | float | red, | |
float | green, | |||
float | blue, | |||
float | alpha | |||
) |
red,: | the red component of the new color of the line. | |
green,: | the green component of the new color of the line. | |
blue,: | the blue component of the new color of the line. | |
alpha,: | the alpha component of the new color of the line. |
void gcu::CrystalLine::GetColor | ( | double * | red, | |
double * | green, | |||
double * | blue, | |||
double * | alpha | |||
) |
red,: | a pointer to the location to which the red component of the color of the line will be copied. | |
green,: | a pointer to the location to which the green component of the new color of the line will be copied. | |
blue,: | a pointer to the location to which the blue component of the new color of the line will be copied. | |
alpha,: | a pointer to the location to which the alpha component of the new color of the line will be copied. |
void gcu::CrystalLine::SetRadius | ( | double | r | ) |
r,: | the new radius of the cylinder representing the line. |
double gcu::CrystalLine::GetRadius | ( | ) | [inline] |
Definition at line 192 of file crystalline.h.
References m_dr.
bool gcu::CrystalLine::operator== | ( | CrystalLine & | clLine | ) |
clLine,: | a CrystalLine instance. |
virtual void gcu::CrystalLine::Move | ( | double | x, | |
double | y, | |||
double | z | |||
) | [virtual] |
x,: | the x component of the transation vector. | |
y,: | the y component of the transation vector. | |
z,: | the z component of the transation vector. |
double gcu::CrystalLine::ScalProd | ( | int | h, | |
int | k, | |||
int | l | |||
) |
h,: | the h Miller index of a plane. | |
k,: | the k Miller index of a plane. | |
l,: | the l Miller index of a plane. |
void gcu::CrystalLine::Cleave | ( | ) | [inline] |
Method used to cleave a line. The inverse operation does not exist since the whole crystal must be recalculated after a change in the definition.
Definition at line 221 of file crystalline.h.
References m_nCleave.
void gcu::CrystalLine::NetToCartesian | ( | double | a, | |
double | b, | |||
double | c, | |||
double | alpha, | |||
double | beta, | |||
double | gamma | |||
) |
a,: | the a parameter of the unit cell. | |
b,: | the b parameter of the unit cell. | |
c,: | the c parameter of the unit cell. | |
alpha,: | the alpha angle of the unit cell. | |
beta,: | the beta angle of the unit cell. | |
gamma,: | the gamma angle of the unit cell. |
double gcu::CrystalLine::Distance | ( | double | x, | |
double | y, | |||
double | z, | |||
bool | bFixed | |||
) |
x,: | the x coordinate of the center. | |
y,: | the y coordinate of the center. | |
z,: | the z coordinate of the center. | |
bFixed,: | tells if cleaved lines are taken into account. |
bool gcu::CrystalLine::IsCleaved | ( | ) | [inline] |
Definition at line 251 of file crystalline.h.
References m_nCleave.
void gcu::CrystalLine::GetRotation | ( | double & | x, | |
double & | y, | |||
double & | z, | |||
double & | th | |||
) |
x,: | the x component of the vector of the rotation axis. | |
y,: | the y component of the vector of the rotation axis. | |
z,: | the z component of the vector of the rotation axis. | |
th,: | the angle of the rotation. |
virtual xmlNodePtr gcu::CrystalLine::Save | ( | xmlDocPtr | xml | ) | const [virtual] |
xml,: | the xmlDoc used to save the document. |
virtual bool gcu::CrystalLine::Load | ( | xmlNodePtr | node | ) | [virtual] |
node,: | a pointer to the xmlNode containing the serialized line. |
float gcu::CrystalLine::m_fBlue [protected] |
The blue component of the color of the cylinder representing the line.
Definition at line 280 of file crystalline.h.
float gcu::CrystalLine::m_fRed [protected] |
The red component of the color of the cylinder representing the line.
Definition at line 284 of file crystalline.h.
float gcu::CrystalLine::m_fGreen [protected] |
The green component of the color of the cylinder representing the line.
Definition at line 288 of file crystalline.h.
float gcu::CrystalLine::m_fAlpha [protected] |
The alpha component of the color of the cylinder representing the line.
Definition at line 292 of file crystalline.h.
double gcu::CrystalLine::m_dx [protected] |
The x coordinate of the first end of the line.
Definition at line 296 of file crystalline.h.
Referenced by X1().
double gcu::CrystalLine::m_dy [protected] |
The y coordinate of the first end of the line.
Definition at line 300 of file crystalline.h.
Referenced by Y1().
double gcu::CrystalLine::m_dz [protected] |
The z coordinate of the first end of the line.
Definition at line 304 of file crystalline.h.
Referenced by Z1().
double gcu::CrystalLine::m_dx2 [protected] |
The x coordinate of the second end of the line.
Definition at line 308 of file crystalline.h.
Referenced by X2().
double gcu::CrystalLine::m_dy2 [protected] |
The x coordinate of the second end of the line.
Definition at line 312 of file crystalline.h.
Referenced by Y2().
double gcu::CrystalLine::m_dz2 [protected] |
The x coordinate of the second end of the line.
Definition at line 316 of file crystalline.h.
Referenced by Z2().
double gcu::CrystalLine::m_dr [protected] |
The radius of the cylinder representing the line.
Definition at line 320 of file crystalline.h.
Referenced by GetRadius().
int gcu::CrystalLine::m_nCleave [protected] |
When cleavages (see CrystalCleavage class documentation) are defined, the line might be cleaved. m_nCleave is the number of CrystalCleavage instances which remove the line. If this member is not 0, the line will not be displayed.
Definition at line 326 of file crystalline.h.
Referenced by Cleave(), and IsCleaved().
CrystalLineType gcu::CrystalLine::m_nType [protected] |
The type of the CrystalLine instance. Possible values are:
Definition at line 335 of file crystalline.h.
Referenced by Type().