Meilleure gestion des styles de traits (epaisseur, style) et de formes (remplissage) ; ajout de la forme "ellipse"

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@33 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2006-11-21 09:42:34 +00:00
parent 6305019380
commit dfc4f26144
23 changed files with 241 additions and 153 deletions

View File

@@ -145,6 +145,7 @@ void ElementPerso::paint(QPainter *qp, const QStyleOptionGraphicsItem *) {
bool ElementPerso::parseElement(QDomElement &e, QPainter &qp, Schema *s) { bool ElementPerso::parseElement(QDomElement &e, QPainter &qp, Schema *s) {
if (e.tagName() == "borne") return(parseBorne(e, s)); if (e.tagName() == "borne") return(parseBorne(e, s));
else if (e.tagName() == "ligne") return(parseLigne(e, qp)); else if (e.tagName() == "ligne") return(parseLigne(e, qp));
else if (e.tagName() == "ellipse") return(parseEllipse(e, qp));
else if (e.tagName() == "cercle") return(parseCercle(e, qp)); else if (e.tagName() == "cercle") return(parseCercle(e, qp));
else if (e.tagName() == "polygone") return(parsePolygone(e, qp)); else if (e.tagName() == "polygone") return(parsePolygone(e, qp));
else return(true); // on n'est pas chiant, on ignore l'element inconnu else return(true); // on n'est pas chiant, on ignore l'element inconnu
@@ -157,14 +158,8 @@ bool ElementPerso::parseLigne(QDomElement &e, QPainter &qp) {
if (!attributeIsAReal(e, QString("y1"), &y1)) return(false); if (!attributeIsAReal(e, QString("y1"), &y1)) return(false);
if (!attributeIsAReal(e, QString("x2"), &x2)) return(false); if (!attributeIsAReal(e, QString("x2"), &x2)) return(false);
if (!attributeIsAReal(e, QString("y2"), &y2)) return(false); if (!attributeIsAReal(e, QString("y2"), &y2)) return(false);
/// @todo : gerer l'antialiasing (mieux que ca !) et le type de trait
setQPainterAntiAliasing(&qp, e.attribute("antialias") == "true");
qp.save(); qp.save();
if (e.attribute("style") == "dashed") { setPainterStyle(e, qp);
QPen t = qp.pen();
t.setStyle(Qt::DashLine);
qp.setPen(t);
}
qp.drawLine(QLineF(x1, y1, x2, y2)); qp.drawLine(QLineF(x1, y1, x2, y2));
qp.restore(); qp.restore();
return(true); return(true);
@@ -176,9 +171,24 @@ bool ElementPerso::parseCercle(QDomElement &e, QPainter &qp) {
if (!attributeIsAReal(e, QString("x"), &cercle_x)) return(false); if (!attributeIsAReal(e, QString("x"), &cercle_x)) return(false);
if (!attributeIsAReal(e, QString("y"), &cercle_y)) return(false); if (!attributeIsAReal(e, QString("y"), &cercle_y)) return(false);
if (!attributeIsAReal(e, QString("rayon"), &cercle_r)) return(false); if (!attributeIsAReal(e, QString("rayon"), &cercle_r)) return(false);
/// @todo : gerer l'antialiasing (mieux que ca !) et le type de trait qp.save();
setQPainterAntiAliasing(&qp, e.attribute("antialias") == "true"); setPainterStyle(e, qp);
qp.drawEllipse(QRectF(cercle_x, cercle_y, cercle_r, cercle_r)); qp.drawEllipse(QRectF(cercle_x, cercle_y, cercle_r, cercle_r));
qp.restore();
return(true);
}
bool ElementPerso::parseEllipse(QDomElement &e, QPainter &qp) {
// verifie la presence des attributs obligatoires
double ellipse_x, ellipse_y, ellipse_l, ellipse_h;
if (!attributeIsAReal(e, QString("x"), &ellipse_x)) return(false);
if (!attributeIsAReal(e, QString("y"), &ellipse_y)) return(false);
if (!attributeIsAReal(e, QString("largeur"), &ellipse_l)) return(false);
if (!attributeIsAReal(e, QString("hauteur"), &ellipse_h)) return(false);
qp.save();
setPainterStyle(e, qp);
qp.drawEllipse(QRectF(ellipse_x, ellipse_y, ellipse_l, ellipse_h));
qp.restore();
return(true); return(true);
} }
@@ -196,8 +206,10 @@ bool ElementPerso::parsePolygone(QDomElement &e, QPainter &qp) {
e.attribute(QString("y%1").arg(j)).toDouble() e.attribute(QString("y%1").arg(j)).toDouble()
); );
} }
setQPainterAntiAliasing(&qp, e.attribute("antialias") == "true"); qp.save();
setPainterStyle(e, qp);
qp.drawPolygon(points, i-1); qp.drawPolygon(points, i-1);
qp.restore();
return(true); return(true);
} }
@@ -218,10 +230,10 @@ bool ElementPerso::parseBorne(QDomElement &e, Schema *s) {
return(true); return(true);
} }
void ElementPerso::setQPainterAntiAliasing(QPainter *qp, bool aa) { void ElementPerso::setQPainterAntiAliasing(QPainter &qp, bool aa) {
qp -> setRenderHint(QPainter::Antialiasing, aa); qp.setRenderHint(QPainter::Antialiasing, aa);
qp -> setRenderHint(QPainter::TextAntialiasing, aa); qp.setRenderHint(QPainter::TextAntialiasing, aa);
qp -> setRenderHint(QPainter::SmoothPixmapTransform, aa); qp.setRenderHint(QPainter::SmoothPixmapTransform, aa);
} }
bool ElementPerso::attributeIsAnInteger(QDomElement &e, QString nom_attribut, int *entier) { bool ElementPerso::attributeIsAnInteger(QDomElement &e, QString nom_attribut, int *entier) {
@@ -272,3 +284,77 @@ bool ElementPerso::validOrientationAttribute(QDomElement &e) {
ori = ori_d; ori = ori_d;
return(true); return(true);
} }
/**
Applique les parametres de style definis dans l'attribut "style" de
l'element XML e au QPainter qp
Les styles possibles sont :
- line-style : style du trait
- dashed : trait en pointilles
- normal : trait plein [par defaut]
- line-weight : epaiseur du trait
- thin : trait fin
- normal : trait d'epaisseur 1 [par defaut]
- filling : remplissage de la forme
- white : remplissage blanc
- black : remplissage noir
- none : pas de remplissage [par defaut]
Les autres valeurs ne sont pas prises en compte.
@param e L'element XML a parser
@param qp Le QPainter a modifier en fonction des styles
*/
void ElementPerso::setPainterStyle(QDomElement &e, QPainter &qp) {
// recupere le QPen et la QBrush du QPainter
QPen pen = qp.pen();
QBrush brush = qp.brush();
// attributs par defaut
pen.setJoinStyle(Qt::MiterJoin);
pen.setCapStyle(Qt::SquareCap);
pen.setColor(Qt::black);
pen.setStyle(Qt::SolidLine);
pen.setWidthF(1.0);
brush.setStyle(Qt::NoBrush);
// recupere la liste des couples style / valeur
QStringList styles = e.attribute("style").split(";", QString::SkipEmptyParts);
// agit sur le QPen et la QBrush en fonction des valeurs rencontrees
QRegExp rx("^\\s*([a-z-]+)\\s*:\\s*([a-z-]+)\\s*$");
foreach (QString style, styles) {
if (rx.exactMatch(style)) {
QString style_name = rx.cap(1);
QString style_value = rx.cap(2);
if (style_name == "line-style") {
if (style_value == "dashed") pen.setStyle(Qt::DashLine);
else if (style_value == "normal") pen.setStyle(Qt::SolidLine);
} else if (style_name == "line-weight") {
if (style_value == "thin") pen.setWidth(0);
else if (style_value == "normal") pen.setWidthF(1.0);
} else if (style_name == "filling") {
if (style_value == "white") {
brush.setStyle(Qt::SolidPattern);
brush.setColor(Qt::white);
} else if (style_value == "black") {
brush.setStyle(Qt::SolidPattern);
brush.setColor(Qt::black);
} else if (style_value == "none") {
brush.setStyle(Qt::NoBrush);
}
}
}
}
/*line-style:dashed;
if (e.attribute("style") == "dashed") {
pen.setStyle(Qt::DashLine);
}*/
// affectation du QPen et de la QBrush modifies au QPainter
qp.setPen(pen);
qp.setBrush(brush);
// mise en place (ou non) de l'antialiasing
setQPainterAntiAliasing(qp, e.attribute("antialias") == "true");
}

View File

@@ -20,13 +20,15 @@
QPicture dessin; QPicture dessin;
bool parseElement(QDomElement &, QPainter &, Schema *); bool parseElement(QDomElement &, QPainter &, Schema *);
bool parseLigne(QDomElement &, QPainter &); bool parseLigne(QDomElement &, QPainter &);
bool parseEllipse(QDomElement &, QPainter &);
bool parseCercle(QDomElement &, QPainter &); bool parseCercle(QDomElement &, QPainter &);
bool parsePolygone(QDomElement &, QPainter &); bool parsePolygone(QDomElement &, QPainter &);
bool parseBorne(QDomElement &, Schema *); bool parseBorne(QDomElement &, Schema *);
void setQPainterAntiAliasing(QPainter *, bool); void setQPainterAntiAliasing(QPainter &, bool);
bool attributeIsAnInteger(QDomElement &, QString, int * = NULL); bool attributeIsAnInteger(QDomElement &, QString, int * = NULL);
bool attributeIsAReal(QDomElement &, QString, double * = NULL); bool attributeIsAReal(QDomElement &, QString, double * = NULL);
bool validOrientationAttribute(QDomElement &); bool validOrientationAttribute(QDomElement &);
void setPainterStyle(QDomElement &, QPainter &);
int nb_bornes; int nb_bornes;
}; };
#endif #endif

View File

@@ -6,13 +6,13 @@
</names> </names>
<description> <description>
<!--Bobine--> <!--Bobine-->
<ligne x1="-20" y1="-20" x2="-20" y2="20" antialias="false" style="normal" /> <ligne x1="-20" y1="-20" x2="-20" y2="20" antialias="false" />
<ligne x1="-20" y1="20" x2="40" y2="20" antialias="false" style="normal" /> <ligne x1="-20" y1="20" x2="40" y2="20" antialias="false" />
<ligne x1="40" y1="20" x2="40" y2="-20" antialias="false" style="normal" /> <ligne x1="40" y1="20" x2="40" y2="-20" antialias="false" />
<ligne x1="40" y1="-20" x2="-20" y2="-20" antialias="false" style="normal" /> <ligne x1="40" y1="-20" x2="-20" y2="-20" antialias="false" />
<!--Fils--> <!--Fils-->
<ligne x1="0" y1="-20" x2="0" y2="-40" antialias="false" style="normal" /> <ligne x1="0" y1="-20" x2="0" y2="-40" antialias="false" />
<ligne x1="0" y1="20" x2="0" y2="40" antialias="false" style="normal" /> <ligne x1="0" y1="20" x2="0" y2="40" antialias="false" />
<!--Borne A2--> <!--Borne A2-->
<borne orientation="s" x="0" y="40" /> <borne orientation="s" x="0" y="40" />
<!--Borne A1--> <!--Borne A1-->

View File

@@ -6,14 +6,14 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Poussoir--> <!--Poussoir-->
<ligne x1="-20" y1="20" x2="-20" y2="40" antialias="false" style="dashed" /> <ligne x1="-20" y1="20" x2="-20" y2="40" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="20" x2="-15" y2="20" antialias="false" style="dashed" /> <ligne x1="-20" y1="20" x2="-15" y2="20" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="40" x2="-15" y2="40" antialias="false" style="dashed" /> <ligne x1="-20" y1="40" x2="-15" y2="40" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="30" x2="-5" y2="30" antialias="false" style="dashed" /> <ligne x1="-20" y1="30" x2="-5" y2="30" antialias="false" style="line-style:dashed;" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,15 +6,15 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<ligne x1="15" y1="20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="15" y1="20" x2="0" y2="20" antialias="false" />
<!--Poussoir--> <!--Poussoir-->
<ligne x1="-20" y1="20" x2="-20" y2="40" antialias="false" style="dashed" /> <ligne x1="-20" y1="20" x2="-20" y2="40" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="20" x2="-15" y2="20" antialias="false" style="dashed" /> <ligne x1="-20" y1="20" x2="-15" y2="20" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="40" x2="-15" y2="40" antialias="false" style="dashed" /> <ligne x1="-20" y1="40" x2="-15" y2="40" antialias="false" style="line-style:dashed;" />
<ligne x1="-20" y1="30" x2="5" y2="30" antialias="false" style="dashed" /> <ligne x1="-20" y1="30" x2="5" y2="30" antialias="false" style="line-style:dashed;" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,12 +6,12 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Partie Capteur--> <!--Partie Capteur-->
<ligne x1="-7.5" y1="25" x2="-7.5" y2="35" antialias="false" style="normal" /> <ligne x1="-7.5" y1="25" x2="-7.5" y2="35" antialias="false" />
<ligne x1="-7.5" y1="35" x2="-2.5" y2="35" antialias="false" style="normal" /> <ligne x1="-7.5" y1="35" x2="-2.5" y2="35" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,13 +6,13 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<ligne x1="15" y1="20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="15" y1="20" x2="0" y2="20" antialias="false" />
<!--Modification Capteur--> <!--Modification Capteur-->
<ligne x1="2.5" y1="25" x2="2.5" y2="35" antialias="false" style="normal" /> <ligne x1="2.5" y1="25" x2="2.5" y2="35" antialias="false" />
<ligne x1="7.5" y1="25" x2="2.5" y2="25" antialias="false" style="normal" /> <ligne x1="7.5" y1="25" x2="2.5" y2="25" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,9 +6,9 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,10 +6,10 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<ligne x1="15" y1="20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="15" y1="20" x2="0" y2="20" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,12 +6,12 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Partie Disjoncteur--> <!--Partie Disjoncteur-->
<ligne x1="-5" y1="19" x2="5" y2="9" antialias="true" style="normal" /> <ligne x1="-5" y1="19" x2="5" y2="9" antialias="true" />
<ligne x1="5" y1="19" x2="-5" y2="9" antialias="true" style="normal" /> <ligne x1="5" y1="19" x2="-5" y2="9" antialias="true" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,14 +6,14 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Partie Disjoncteur--> <!--Partie Disjoncteur-->
<ligne x1="-5" y1="19" x2="5" y2="9" antialias="true" style="normal" /> <ligne x1="-5" y1="19" x2="5" y2="9" antialias="true" />
<ligne x1="5" y1="19" x2="-5" y2="9" antialias="true" style="normal" /> <ligne x1="5" y1="19" x2="-5" y2="9" antialias="true" />
<!--Partie sectioneur--> <!--Partie sectioneur-->
<ligne x1="-5" y1="20" x2="5" y2="20" antialias="false" style="normal" /> <ligne x1="-5" y1="20" x2="5" y2="20" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,11 +6,11 @@
</names> </names>
<description> <description>
<!--Contact--> <!--Contact-->
<ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" style="normal" /> <ligne x1="-10" y1="20" x2="0" y2="40" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Partie Sectionneur--> <!--Partie Sectionneur-->
<ligne x1="-5" y1="20" x2="5" y2="20" antialias="false" style="normal" /> <ligne x1="-5" y1="20" x2="5" y2="20" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -6,12 +6,12 @@
</names> </names>
<description> <description>
<!--Lampe--> <!--Lampe-->
<cercle x="-10" y="20" rayon="20" antialias="true" style="normal" /> <cercle x="-10" y="20" rayon="20" antialias="true" style="filling:white;" />
<ligne x1="-7" y1="23" x2="7" y2="37" antialias="true" style="normal" /> <ligne x1="-7" y1="23" x2="7" y2="37" antialias="true" />
<ligne x1="7" y1="23" x2="-7" y2="37" antialias="true" style="normal" /> <ligne x1="7" y1="23" x2="-7" y2="37" antialias="true" />
<!--Fils--> <!--Fils-->
<ligne x1="0" y1="0" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="20" antialias="false" />
<ligne x1="0" y1="40" x2="0" y2="60" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="60" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
<borne orientation="s" x="0" y="60" /> <borne orientation="s" x="0" y="60" />

View File

@@ -5,8 +5,8 @@
<name lang="en">Input</name> <name lang="en">Input</name>
</names> </names>
<description> <description>
<polygone x1="-7.5" y1="-13" x2="7.5" y2="-13" x3="0" y3="0" antialias="true" style="normal" /> <polygone x1="-7.5" y1="-13" x2="7.5" y2="-13" x3="0" y3="0" antialias="true" />
<ligne x1="0" y1="0" x2="0" y2="13" antialias="false" style="normal" /> <ligne x1="0" y1="0" x2="0" y2="13" antialias="false" />
<borne orientation="s" x="0" y="15" /> <borne orientation="s" x="0" y="15" />
</description> </description>
</definition> </definition>

View File

@@ -6,24 +6,24 @@
</names> </names>
<description> <description>
<!--Rotor--> <!--Rotor-->
<cercle x="-20" y="-20" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="-20" rayon="40" antialias="true" />
<!--Balait inférieur--> <!--Balait inférieur-->
<ligne x1="-14" y1="-25" x2="-14" y2="-14" antialias="false" style="normal" /> <ligne x1="-14" y1="-25" x2="-14" y2="-14" antialias="false" />
<ligne x1="14" y1="-25" x2="14" y2="-14" antialias="false" style="normal" /> <ligne x1="14" y1="-25" x2="14" y2="-14" antialias="false" />
<ligne x1="14" y1="-25" x2="-14" y2="-25" antialias="false" style="normal" /> <ligne x1="14" y1="-25" x2="-14" y2="-25" antialias="false" />
<!--Fil inférieur--> <!--Fil inférieur-->
<ligne x1="0" y1="-40" x2="0" y2="-25" antialias="false" style="normal" /> <ligne x1="0" y1="-40" x2="0" y2="-25" antialias="false" />
<!--Balait supérieur--> <!--Balait supérieur-->
<ligne x1="-14" y1="25" x2="-14" y2="14" antialias="false" style="normal" /> <ligne x1="-14" y1="25" x2="-14" y2="14" antialias="false" />
<ligne x1="14" y1="25" x2="14" y2="14" antialias="false" style="normal" /> <ligne x1="14" y1="25" x2="14" y2="14" antialias="false" />
<ligne x1="14" y1="25" x2="-14" y2="25" antialias="false" style="normal" /> <ligne x1="14" y1="25" x2="-14" y2="25" antialias="false" />
<!--Fil superieur--> <!--Fil superieur-->
<ligne x1="0" y1="40" x2="0" y2="25" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="25" antialias="false" />
<!--Lettre M--> <!--Lettre M-->
<ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" />
<ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" style="normal" /> <ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" />
<ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" style="normal" /> <ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" />
<ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="0" y="-40" /> <borne orientation="n" x="0" y="-40" />
<borne orientation="s" x="0" y="40" /> <borne orientation="s" x="0" y="40" />

View File

@@ -5,20 +5,20 @@
<name lang="en">Three-phase induction motor</name> <name lang="en">Three-phase induction motor</name>
</names> </names>
<description> <description>
<cercle x="-20" y="-20" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="-20" rayon="40" antialias="true" />
<!--U--> <!--U-->
<ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" style="normal" /> <ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" />
<ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" style="normal" /> <ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" />
<!--V--> <!--V-->
<ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" style="normal" /> <ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" />
<!--W--> <!--W-->
<ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" style="normal" /> <ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" />
<ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" style="normal" /> <ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" />
<!--Lettre M--> <!--Lettre M-->
<ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" />
<ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" style="normal" /> <ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" />
<ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" style="normal" /> <ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" />
<ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="n" x="-20" y="-40" /> <borne orientation="n" x="-20" y="-40" />
<borne orientation="n" x="0" y="-40" /> <borne orientation="n" x="0" y="-40" />

View File

@@ -5,28 +5,28 @@
<name lang="en">Three-phase induction motor (not coupled)</name> <name lang="en">Three-phase induction motor (not coupled)</name>
</names> </names>
<description> <description>
<cercle x="-20" y="-20" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="-20" rayon="40" antialias="true" />
<!--U1--> <!--U1-->
<ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" style="normal" /> <ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" />
<ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" style="normal" /> <ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" />
<!--V1--> <!--V1-->
<ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" style="normal" /> <ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" />
<!--W1--> <!--W1-->
<ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" style="normal" /> <ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" />
<ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" style="normal" /> <ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" />
<!--U2--> <!--U2-->
<ligne x1="-20" y1="40" x2="-20" y2="20" antialias="false" style="normal" /> <ligne x1="-20" y1="40" x2="-20" y2="20" antialias="false" />
<ligne x1="-20" y1="20" x2="-14" y2="14" antialias="true" style="normal" /> <ligne x1="-20" y1="20" x2="-14" y2="14" antialias="true" />
<!--V2--> <!--V2-->
<ligne x1="0" y1="40" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="40" x2="0" y2="20" antialias="false" />
<!--W2--> <!--W2-->
<ligne x1="20" y1="40" x2="20" y2="20" antialias="false" style="normal" /> <ligne x1="20" y1="40" x2="20" y2="20" antialias="false" />
<ligne x1="20" y1="20" x2="14" y2="14" antialias="true" style="normal" /> <ligne x1="20" y1="20" x2="14" y2="14" antialias="true" />
<!--Lettre M--> <!--Lettre M-->
<ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="-10" x2="-10" y2="10" antialias="false" />
<ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" style="normal" /> <ligne x1="-10" y1="-10" x2="0" y2="0" antialias="true" />
<ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" style="normal" /> <ligne x1="0" y1="0" x2="10" y2="-10" antialias="true" />
<ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="10" y1="-10" x2="10" y2="10" antialias="false" />
<!--Bornes Supérieurs--> <!--Bornes Supérieurs-->
<borne orientation="n" x="-20" y="-40" /> <borne orientation="n" x="-20" y="-40" />
<borne orientation="n" x="0" y="-40" /> <borne orientation="n" x="0" y="-40" />

View File

@@ -6,9 +6,9 @@
</names> </names>
<description> <description>
<!--Diode--> <!--Diode-->
<polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" style="normal" /> <polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" />
<ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" />
<ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="s" x="0" y="20" /> <borne orientation="s" x="0" y="20" />
<borne orientation="n" x="0" y="-20" /> <borne orientation="n" x="0" y="-20" />

View File

@@ -6,12 +6,12 @@
</names> </names>
<description> <description>
<!--Diode--> <!--Diode-->
<polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" style="normal" /> <polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" />
<ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" />
<ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" />
<!--Gachette--> <!--Gachette-->
<ligne x1="-5" y1="10" x2="-10" y2="15" antialias="true" style="normal" /> <ligne x1="-5" y1="10" x2="-10" y2="15" antialias="true" />
<ligne x1="-10" y1="15" x2="-15" y2="15" antialias="false" style="normal" /> <ligne x1="-10" y1="15" x2="-15" y2="15" antialias="false" />
<!--Borne Diode--> <!--Borne Diode-->
<borne orientation="s" x="0" y="20" /> <borne orientation="s" x="0" y="20" />
<borne orientation="n" x="0" y="-20" /> <borne orientation="n" x="0" y="-20" />

View File

@@ -6,12 +6,12 @@
</names> </names>
<description> <description>
<!--Diode--> <!--Diode-->
<polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" style="normal" /> <polygone x1="-10" y1="-10" x2="10" y2="-10" x3="0" y3="10" antialias="true" />
<ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" style="normal" /> <ligne x1="0" y1="-20" x2="0" y2="20" antialias="false" />
<ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" />
<!--Zener--> <!--Zener-->
<ligne x1="-10" y1="10" x2="-10" y2="5" antialias="false" style="normal" /> <ligne x1="-10" y1="10" x2="-10" y2="5" antialias="false" />
<ligne x1="10" y1="10" x2="10" y2="15" antialias="false" style="normal" /> <ligne x1="10" y1="10" x2="10" y2="15" antialias="false" />
<!--Bornes--> <!--Bornes-->
<borne orientation="s" x="0" y="20" /> <borne orientation="s" x="0" y="20" />
<borne orientation="n" x="0" y="-20" /> <borne orientation="n" x="0" y="-20" />

View File

@@ -6,10 +6,10 @@
</names> </names>
<description> <description>
<!--Terre--> <!--Terre-->
<ligne x1="0" y1="-0" x2="0" y2="10" antialias="false" style="normal" /> <ligne x1="0" y1="-0" x2="0" y2="10" antialias="false" />
<ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" style="normal" /> <ligne x1="-10" y1="10" x2="10" y2="10" antialias="false" />
<ligne x1="-6" y1="14" x2="6" y2="14" antialias="false" style="normal" /> <ligne x1="-6" y1="14" x2="6" y2="14" antialias="false" />
<ligne x1="-2" y1="18" x2="2" y2="18" antialias="false" style="normal" /> <ligne x1="-2" y1="18" x2="2" y2="18" antialias="false" />
<!--Borne--> <!--Borne-->
<borne orientation="n" x="0" y="0" /> <borne orientation="n" x="0" y="0" />
</description> </description>

View File

@@ -6,20 +6,20 @@
</names> </names>
<description> <description>
<!--Transforateur--> <!--Transforateur-->
<cercle x="-20" y="-20" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="-20" rayon="40" antialias="true" />
<cercle x="-20" y="0" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="0" rayon="40" antialias="true" />
<!--Phase 1--> <!--Phase 1-->
<ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" style="normal" /> <ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" />
<ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" style="normal" /> <ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" />
<!--Neutre 1--> <!--Neutre 1-->
<ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" style="normal" /> <ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" />
<ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" style="normal" /> <ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" />
<!--Phase 2--> <!--Phase 2-->
<ligne x1="-20" y1="60" x2="-20" y2="40" antialias="false" style="normal" /> <ligne x1="-20" y1="60" x2="-20" y2="40" antialias="false" />
<ligne x1="-20" y1="40" x2="-14" y2="34" antialias="true" style="normal" /> <ligne x1="-20" y1="40" x2="-14" y2="34" antialias="true" />
<!--Neutre 2--> <!--Neutre 2-->
<ligne x1="20" y1="60" x2="20" y2="40" antialias="false" style="normal" /> <ligne x1="20" y1="60" x2="20" y2="40" antialias="false" />
<ligne x1="20" y1="40" x2="14" y2="34" antialias="true" style="normal" /> <ligne x1="20" y1="40" x2="14" y2="34" antialias="true" />
<!--Bornes supérieurs--> <!--Bornes supérieurs-->
<borne orientation="n" x="-20" y="-40" /> <borne orientation="n" x="-20" y="-40" />
<borne orientation="n" x="20" y="-40" /> <borne orientation="n" x="20" y="-40" />

View File

@@ -6,24 +6,24 @@
</names> </names>
<description> <description>
<!--Transformateur--> <!--Transformateur-->
<cercle x="-20" y="-20" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="-20" rayon="40" antialias="true" />
<cercle x="-20" y="0" rayon="40" antialias="true" style="normal" /> <cercle x="-20" y="0" rayon="40" antialias="true" />
<!--U1--> <!--U1-->
<ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" style="normal" /> <ligne x1="-20" y1="-40" x2="-20" y2="-20" antialias="false" />
<ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" style="normal" /> <ligne x1="-20" y1="-20" x2="-14" y2="-14" antialias="true" />
<!--V1--> <!--V1-->
<ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" style="dashed" /> <ligne x1="0" y1="-40" x2="0" y2="-20" antialias="false" style="line-style:dashed;" />
<!--W1--> <!--W1-->
<ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" style="normal" /> <ligne x1="20" y1="-40" x2="20" y2="-20" antialias="false" />
<ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" style="normal" /> <ligne x1="20" y1="-20" x2="14" y2="-14" antialias="true" />
<!--U2--> <!--U2-->
<ligne x1="-20" y1="60" x2="-20" y2="40" antialias="false" style="normal" /> <ligne x1="-20" y1="60" x2="-20" y2="40" antialias="false" />
<ligne x1="-20" y1="40" x2="-14" y2="34" antialias="true" style="normal" /> <ligne x1="-20" y1="40" x2="-14" y2="34" antialias="true" />
<!--V2--> <!--V2-->
<ligne x1="0" y1="60" x2="0" y2="40" antialias="false" style="normal" /> <ligne x1="0" y1="60" x2="0" y2="40" antialias="false" />
<!--W2--> <!--W2-->
<ligne x1="20" y1="60" x2="20" y2="40" antialias="false" style="normal" /> <ligne x1="20" y1="60" x2="20" y2="40" antialias="false" />
<ligne x1="20" y1="40" x2="14" y2="34" antialias="true" style="normal" /> <ligne x1="20" y1="40" x2="14" y2="34" antialias="true" />
<!--Bornes supérieurs--> <!--Bornes supérieurs-->
<borne orientation="n" x="-20" y="-40" /> <borne orientation="n" x="-20" y="-40" />
<borne orientation="n" x="0" y="-40" /> <borne orientation="n" x="0" y="-40" />