QElectroTech  0.8-dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ConductorSegment Class Reference

#include <conductorsegment.h>

Collaboration diagram for ConductorSegment:
Collaboration graph

Public Member Functions

 ConductorSegment (const QPointF &, const QPointF &, ConductorSegment *=nullptr, ConductorSegment *=nullptr)
 
virtual ~ConductorSegment ()
 
void moveX (const qreal &)
 
void moveY (const qreal &)
 
ConductorSegmentpreviousSegment () const
 
ConductorSegmentnextSegment () const
 
bool hasPreviousSegment () const
 
bool hasNextSegment () const
 
void setPreviousSegment (ConductorSegment *)
 
void setNextSegment (ConductorSegment *)
 
bool isStatic () const
 
bool isFirstSegment () const
 
bool isLastSegment () const
 
QPointF firstPoint () const
 
QPointF secondPoint () const
 
void setFirstPoint (const QPointF &)
 
void setSecondPoint (const QPointF &)
 
QPointF middle () const
 
bool isHorizontal () const
 
bool isVertical () const
 
QET::ConductorSegmentType type () const
 
qreal length () const
 
bool isPoint () const
 
bool canMove1stPointX (const qreal &, qreal &) const
 
bool canMove2ndPointX (const qreal &, qreal &) const
 
bool canMove1stPointY (const qreal &, qreal &) const
 
bool canMove2ndPointY (const qreal &, qreal &) const
 

Private Member Functions

 ConductorSegment (const ConductorSegment &)
 

Private Attributes

ConductorSegmentprevious_segment
 
ConductorSegmentnext_segment
 
QPointF point1
 
QPointF point2
 

Detailed Description

This class represents a conductor segment.

Constructor & Destructor Documentation

◆ ConductorSegment() [1/2]

ConductorSegment::ConductorSegment ( const QPointF &  p1,
const QPointF &  p2,
ConductorSegment cs1 = nullptr,
ConductorSegment cs2 = nullptr 
)

Constructeur

Parameters
p1Le point
p2
cs1Le segment precedent
cs2Le segment suivant
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~ConductorSegment()

ConductorSegment::~ConductorSegment ( )
virtual

Destructeur - Relie le segment precedent au suivant

Here is the call graph for this function:

◆ ConductorSegment() [2/2]

ConductorSegment::ConductorSegment ( const ConductorSegment )
private

Member Function Documentation

◆ canMove1stPointX()

bool ConductorSegment::canMove1stPointX ( const qreal &  asked_dx,
qreal &  possible_dx 
) const

Permet de savoir s'il est possible de deplacer le premier point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre.

Parameters
asked_dxLa valeur du mouvement demande
possible_dxLa valeur du mouvement possible (au maximum)
Returns
true si le mouvement est possible ; false s'il doit etre limite

On ne bouge jamais le premier point d'un segment statique.

Si le segment precedent n'est pas statique, le mouvement est possible.

Si le segment precedent est vertical, le mouvement est possible : il induira la creation d'un segment horizontal supplementaire.

Il se peut que le mouvement doive etre limite de facon a ce que le segment statique conserve une taille minimale.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ canMove1stPointY()

bool ConductorSegment::canMove1stPointY ( const qreal &  asked_dy,
qreal &  possible_dy 
) const

Permet de savoir s'il est possible de deplacer le premier point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre.

Parameters
asked_dyLa valeur du mouvement demande
possible_dyLa valeur du mouvement possible (au maximum)
Returns
true si le mouvement est possible ; false s'il doit etre limite

On ne bouge jamais le premier point d'un segment statique.

Si le segment precedent n'est pas statique, le mouvement est possible.

Si le segment precedent est horizontal, le mouvement est possible : il induira la creation d'un segment vertical supplementaire.

Il se peut que le mouvement doive etre limite de facon a ce que le segment statique conserve une taille minimale.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ canMove2ndPointX()

bool ConductorSegment::canMove2ndPointX ( const qreal &  asked_dx,
qreal &  possible_dx 
) const

Permet de savoir s'il est possible de deplacer le second point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre.

Parameters
asked_dxLa valeur du mouvement demande
possible_dxLa valeur du mouvement possible (au maximum)
Returns
true si le mouvement est possible ; false s'il doit etre limite

On ne modifie jamais l'abscisse du second point d'un segment statique.

Si le segment suivant n'est pas statique, le mouvement est possible.

Si le segment suivant est vertical, le mouvement est possible : il induira la creation d'un segment horizontal supplementaire.

Il se peut que le mouvement doive etre limite de facon a ce que le segment statique conserve une taille minimale.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ canMove2ndPointY()

bool ConductorSegment::canMove2ndPointY ( const qreal &  asked_dy,
qreal &  possible_dy 
) const

Permet de savoir s'il est possible de deplacer le second point du segment sans creer d'incoherence. La valeur du mouvement maximum qu'il est possible de faire sans incoherence est stockee dans le second parametre.

Parameters
asked_dyLa valeur du mouvement demande
possible_dyLa valeur du mouvement possible (au maximum)
Returns
true si le mouvement est possible ; false s'il doit etre limite

On ne modifie jamais l'abscisse du second point d'un segment statique.

Si le segment suivant n'est pas statique, le mouvement est possible.

Si le segment suivant est horizontal, le mouvement est possible : il induira la creation d'un segment vertical supplementaire.

Il se peut que le mouvement doive etre limite de facon a ce que le segment statique conserve une taille minimale.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ firstPoint()

QPointF ConductorSegment::firstPoint ( ) const
Returns
le premier point du segment
Here is the caller graph for this function:

◆ hasNextSegment()

bool ConductorSegment::hasNextSegment ( ) const
Returns
true si le segment a un segment suivant, false sinon
Here is the caller graph for this function:

◆ hasPreviousSegment()

bool ConductorSegment::hasPreviousSegment ( ) const
Returns
true si le segment a un segment precedent, false sinon
Here is the caller graph for this function:

◆ isFirstSegment()

bool ConductorSegment::isFirstSegment ( ) const
Returns
true si ce segment est le premier du conducteur
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isHorizontal()

bool ConductorSegment::isHorizontal ( ) const
Returns
true si le segment est horizontal, false sinon
Here is the caller graph for this function:

◆ isLastSegment()

bool ConductorSegment::isLastSegment ( ) const
Returns
true si ce segment est le dernier du conducteur
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isPoint()

bool ConductorSegment::isPoint ( ) const
Returns
true si les deux points constituant le segment sont egaux

◆ isStatic()

bool ConductorSegment::isStatic ( ) const
Returns
true si ce segment est un segment statique, cad un segment relie a une borne
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isVertical()

bool ConductorSegment::isVertical ( ) const
Returns
true si le segment est vertical, false sinon
Here is the caller graph for this function:

◆ length()

qreal ConductorSegment::length ( ) const
Returns
La longueur du conducteur
Here is the call graph for this function:
Here is the caller graph for this function:

◆ middle()

QPointF ConductorSegment::middle ( ) const
Returns
Le centre du rectangle delimitant le conducteur
Here is the caller graph for this function:

◆ moveX()

void ConductorSegment::moveX ( const qreal &  dx)

Gere les mouvements sur l'axe horizontal

Parameters
dxtaille du deplacement en pixels
Here is the call graph for this function:

◆ moveY()

void ConductorSegment::moveY ( const qreal &  dy)

Gere les mouvements sur l'axe vertical

Parameters
dytaille du deplacement en pixels
Here is the call graph for this function:

◆ nextSegment()

ConductorSegment * ConductorSegment::nextSegment ( ) const
Returns
Le segment suivant
Here is the caller graph for this function:

◆ previousSegment()

ConductorSegment * ConductorSegment::previousSegment ( ) const
Returns
Le segment precedent
Here is the caller graph for this function:

◆ secondPoint()

QPointF ConductorSegment::secondPoint ( ) const
Returns
le second point du segment
Here is the caller graph for this function:

◆ setFirstPoint()

void ConductorSegment::setFirstPoint ( const QPointF &  p)

Permet de changer la position du premier point du segment

Parameters
pLa nouvelle position du premier point
Here is the caller graph for this function:

◆ setNextSegment()

void ConductorSegment::setNextSegment ( ConductorSegment ns)

Change le segment suivant

Parameters
nsLe nouveau segment suivant
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPreviousSegment()

void ConductorSegment::setPreviousSegment ( ConductorSegment ps)

Change le segment precedent

Parameters
psLe nouveau segment precedent
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSecondPoint()

void ConductorSegment::setSecondPoint ( const QPointF &  p)

Permet de changer la position du second point du segment

Parameters
pLa nouvelle position du second point
Here is the caller graph for this function:

◆ type()

QET::ConductorSegmentType ConductorSegment::type ( ) const
Returns
QET::Horizontal si le segment est horizontal, QET::Vertical sinon
Here is the call graph for this function:

Member Data Documentation

◆ next_segment

ConductorSegment* ConductorSegment::next_segment
private

◆ point1

QPointF ConductorSegment::point1
private

◆ point2

QPointF ConductorSegment::point2
private

◆ previous_segment

ConductorSegment* ConductorSegment::previous_segment
private

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