2007-10-03 17:02:39 +00:00
|
|
|
#ifndef CONDUCTOR_PROFILE_H
|
|
|
|
#define CONDUCTOR_PROFILE_H
|
|
|
|
#include <QList>
|
|
|
|
#include "qet.h"
|
|
|
|
class Conductor;
|
|
|
|
class ConductorSegmentProfile;
|
|
|
|
/**
|
|
|
|
Cette classe contient le profil (= les caracteristiques essentielles) d'un
|
|
|
|
conducteur.
|
|
|
|
*/
|
|
|
|
class ConductorProfile {
|
|
|
|
public:
|
|
|
|
// constructeurs, destructeur
|
|
|
|
ConductorProfile();
|
|
|
|
ConductorProfile(Conductor *conductor);
|
|
|
|
ConductorProfile(const ConductorProfile &);
|
|
|
|
ConductorProfile &operator=(const ConductorProfile &);
|
|
|
|
virtual ~ConductorProfile();
|
|
|
|
|
|
|
|
// attributs
|
|
|
|
public:
|
2007-10-21 16:10:21 +00:00
|
|
|
/// Segment composant le profil du conducteur
|
2007-10-03 17:02:39 +00:00
|
|
|
QList<ConductorSegmentProfile *> segments;
|
2007-10-21 16:10:21 +00:00
|
|
|
/// Orientation de la borne de depart du profil
|
2007-10-03 17:02:39 +00:00
|
|
|
QET::Orientation beginOrientation;
|
2007-10-21 16:10:21 +00:00
|
|
|
/// Orientation de la borne d'arrivee du profil
|
2007-10-03 17:02:39 +00:00
|
|
|
QET::Orientation endOrientation;
|
|
|
|
|
|
|
|
// methodes
|
|
|
|
public:
|
|
|
|
bool isNull() const;
|
|
|
|
void setNull();
|
|
|
|
qreal width() const;
|
|
|
|
qreal height() const;
|
|
|
|
uint nbSegments(QET::ConductorSegmentType) const;
|
|
|
|
QList<ConductorSegmentProfile *> horizontalSegments();
|
|
|
|
QList<ConductorSegmentProfile *> verticalSegments();
|
|
|
|
void fromConductor(Conductor *);
|
|
|
|
};
|
|
|
|
QDebug &operator<<(QDebug d, ConductorProfile &);
|
|
|
|
#endif
|