#include <BALL/VIEW/DATATYPE/vertex2.h>
Public Member Functions | |
Constructors | |
Vertex2 () | |
Vertex2 (const Vertex2 &vertex) | |
Destructors | |
virtual | ~Vertex2 () |
virtual void | clear () |
Assignment methods | |
void | set (const Vertex2 &vertex) |
const Vertex2 & | operator= (const Vertex2 &vertex) |
void | swap (Vertex2 &vertex) |
Accessors: inspectors and mutators | |
void | setVertex1 (const Vector3 &v) |
void | setVertex1 (const float x, const float y, const float z) |
Vector3 & | getVertex1 () |
const Vector3 & | getVertex1 () const |
void | getVertex1 (Vector3 &v) const |
void | getVertex1 (float &x, float &y, float &z) const |
void | setVertex1Address (const Vector3 &v) |
void | setDefaultVertex1Address () |
Vector3 * | getVertex1Address () const |
void | setVertex2 (const Vector3 &v) |
void | setVertex2 (const float x, const float y, const float z) |
Vector3 & | getVertex2 () |
const Vector3 & | getVertex2 () const |
void | getVertex2 (Vector3 &v) const |
void | getVertex2 (float &x, float &y, float &z) const |
void | setVertex2Address (const Vector3 &v) |
void | setDefaultVertex2Address () |
Vector3 * | getVertex2Address () const |
void | setVertices (const Vector3 &vertex1, const Vector3 &vertex2) |
void | setVertices (const float vertex1_x, const float vertex1_y, const float vertex1_z, const float vertex2_x, const float vertex2_y, const float vertex2_z) |
void | setVertexAddresses (const Vector3 &vertex1, const Vector3 &vertex2) |
void | getVertices (Vector3 &vertex1, Vector3 &vertex2) |
void | getVertices (float &vertex1_x, float &vertex1_y, float &vertex1_z, float &vertex2_x, float &vertex2_y, float &vertex2_z) |
void | setDefaultVertexAddresses () |
Predicates | |
bool | isDefaultVertex1Address () const |
bool | isDefaultVertex2Address () const |
bool | isDefaultVertexAddresses () const |
debuggers and diagnostics | |
virtual bool | isValid () const |
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
Private Attributes | |
Vector3 | vertex1_ |
Vector3 | vertex2_ |
Vector3 * | vertex1_ptr_ |
Vector3 * | vertex2_ptr_ |
Vertex2 is a base class for all GeometricObject 's that have two vertices. It provides the derived class with methods for accessing that vertices. Further there is the possibility to give an address to a Vector3 as vertice. So if the values of these given vectors changes, the values of the vectors changes as well. To avoid segmentation faults these vector addresses must be valid as long as the Vertex2 exists.
Definition at line 32 of file vertex2.h.
BALL::VIEW::Vertex2::Vertex2 | ( | ) |
Default Constructor. The vectors are set to (0.0, 0.0, 0.0). The vertex addresses are set to the addresses of the own vectors.
BALL::VIEW::Vertex2::Vertex2 | ( | const Vertex2 & | vertex | ) |
Copy constructor.
virtual BALL::VIEW::Vertex2::~Vertex2 | ( | ) | [virtual] |
Destructor.
virtual void BALL::VIEW::Vertex2::clear | ( | ) | [virtual] |
Explicit default initialization. Set the vectors to the vector (0.0, 0.0, 0.0). The vertex addresses are set to the addresses of the own vectors .
Reimplemented in BALL::VIEW::Line, BALL::VIEW::Tube, BALL::VIEW::TwoColoredLine, and BALL::VIEW::TwoColoredTube.
virtual void BALL::VIEW::Vertex2::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [virtual] |
Internal value dump. Dump the current state to the output ostream s with dumping depth depth.
s | output stream where to output the state | |
depth | the dumping depth |
Reimplemented in BALL::VIEW::Line, BALL::VIEW::Tube, BALL::VIEW::TwoColoredLine, and BALL::VIEW::TwoColoredTube.
Access the components of the first vector by using float.
void BALL::VIEW::Vertex2::getVertex1 | ( | Vector3 & | v | ) | const |
Inspection of the first vector . Access the first vector of this vertex by using Vector3.
v | the vector receiving the first vector |
const Vector3& BALL::VIEW::Vertex2::getVertex1 | ( | ) | const |
Non-mutable inspection of the first vector
Vector3& BALL::VIEW::Vertex2::getVertex1 | ( | ) |
Mutable inspection of the first vector
Vector3* BALL::VIEW::Vertex2::getVertex1Address | ( | ) | const |
Mutable inspection of the first vertex address.
Inspection of the components of the second vector .
void BALL::VIEW::Vertex2::getVertex2 | ( | Vector3 & | v | ) | const |
Inspection of the second vector . Access the second vector of this vertex by using Vector3.
v | the vector receiving the second vector |
const Vector3& BALL::VIEW::Vertex2::getVertex2 | ( | ) | const |
Non-mutable inspection of the second vector . For further information see getVertex2.
Vector3& BALL::VIEW::Vertex2::getVertex2 | ( | ) |
Mutable inspection of the second vector.
Vector3* BALL::VIEW::Vertex2::getVertex2Address | ( | ) | const |
Mutable inspection of the second vertex address .
void BALL::VIEW::Vertex2::getVertices | ( | float & | vertex1_x, | |
float & | vertex1_y, | |||
float & | vertex1_z, | |||
float & | vertex2_x, | |||
float & | vertex2_y, | |||
float & | vertex2_z | |||
) |
Access the components of the first and second vector of this vertex2 by using float.
Inspection of the first and second vector .
vertex1 | the vector receiving the first vector | |
vertex2 | the vector receiving the second vector |
bool BALL::VIEW::Vertex2::isDefaultVertex1Address | ( | ) | const |
first vertex address test. Tests if the first vertex address points to the first vector .
true
if the first vertex address points to the first vector . false
otherwise bool BALL::VIEW::Vertex2::isDefaultVertex2Address | ( | ) | const |
second vertex address test. Test if the second vertex address points to the second vector .
true
if the second vertex address points to the second vector . false
otherwise bool BALL::VIEW::Vertex2::isDefaultVertexAddresses | ( | ) | const |
both vertex addresses test.
true
if both vertex addresses each points to its own vector . false
otherwise virtual bool BALL::VIEW::Vertex2::isValid | ( | ) | const [virtual] |
Internal state and consistency self-validation. Calls Vector3::isValid.
Reimplemented in BALL::VIEW::Line, BALL::VIEW::Tube, BALL::VIEW::TwoColoredLine, and BALL::VIEW::TwoColoredTube.
Assignment operator. Calls set. The vectors and the vertex addresses are initialized to the vectors and the vertex addresses of the vertex2 vertex.
void BALL::VIEW::Vertex2::set | ( | const Vertex2 & | vertex | ) |
Assignment. The vectors and the vertex addresses are initialized to the vectors and vertex addresses of the vertex2 vertex.
void BALL::VIEW::Vertex2::setDefaultVertex1Address | ( | ) |
Change the first vector address to the default address. So the value of the first vector will no longer be ignored and all access methods will return it again. This method unhooks the object from any other objects prio connected with setVertex1Address.
void BALL::VIEW::Vertex2::setDefaultVertex2Address | ( | ) |
Change the second vector address to the default address. This method resets the second vertex address to the second vector of this vertex2. So the value of the second vector of this vertex2 will no longer be ignored and all access methods will return it again. This method unhooks the object from any other objects prio connected with setVertex2Address.
void BALL::VIEW::Vertex2::setDefaultVertexAddresses | ( | ) |
Change the first and second vector address to the default addresses. This method resets the first and second vertex address to the first and second vector . So the value of the first and second vector will no longer be ignored and all access methods will return them again. This method unhooks the object from any other objects prio connected with setVertexAddresses.
Change the first vector .
void BALL::VIEW::Vertex2::setVertex1 | ( | const Vector3 & | v | ) |
void BALL::VIEW::Vertex2::setVertex1Address | ( | const Vector3 & | v | ) |
Change the vector address of the first vector. If a vector address is given the value of the first vector of this vertex2 is ignored. Instead if the method getVertex1 (or any other access method concerning the first vector) are called the value of the vector given by the vertex address is returned. The vector to which the first vertex address points must exist and be valid as long as this vertex2 exists. An object that uses this method can hook itself onto another object (speaking in terms of position). If the object changes its first position so the object derived from this vertex2 changes its first position.
v | the new first vector address |
Change the second vector .
void BALL::VIEW::Vertex2::setVertex2 | ( | const Vector3 & | v | ) |
void BALL::VIEW::Vertex2::setVertex2Address | ( | const Vector3 & | v | ) |
Change the vector address of the second vector . If a vector address is given the value of the first vector of this vertex2 is ignored. Instead if the method getVertex2 (or any other access method concerning the second vector) are called the value of the vector given by the vertex address is returned. The vector to which the second vertex address points must exist and be valid as long as this vertex2 exists. An object that uses this method can hook itself onto another object (speaking in terms of position). If the object changes its second position so the object derived from this vertex2 changes its second position.
v | the new second vector address |
Change the vector addresses of the first and second vector. See setVertex1Address or setVertex2Address for further information concerning vector addresses.
vertex1 | the new first vector address | |
vertex2 | the new second vector address |
void BALL::VIEW::Vertex2::setVertices | ( | const float | vertex1_x, | |
const float | vertex1_y, | |||
const float | vertex1_z, | |||
const float | vertex2_x, | |||
const float | vertex2_y, | |||
const float | vertex2_z | |||
) |
Change the first and second vector .
Change the first and second vector .
vertex1 | the new first vector | |
vertex2 | the new second vector |
void BALL::VIEW::Vertex2::swap | ( | Vertex2 & | vertex | ) |
Swapping of vertices.
Vector3 BALL::VIEW::Vertex2::vertex1_ [private] |
Vector3* BALL::VIEW::Vertex2::vertex1_ptr_ [private] |
Vector3 BALL::VIEW::Vertex2::vertex2_ [private] |
Vector3* BALL::VIEW::Vertex2::vertex2_ptr_ [private] |