- sclgraf.shq [c+]
[..] La fonction [shq] drawArrowshq
Code
int drawarrow_shq_xpl(){
scltracefa(§, ƒ, ∅);
scltracefc("scl-%s (%s) : %s\n\n", sclver(), sclsec(), temps_char(0));
shq::beginDrawing(PRM_BEGINDRAWING_SHQ); // <Initializes the
"connection"
shq::newFigure("drawarrow_shq"); // <Creates a new
figure
int tirn=40, tiri;
double xA, xB, yA, yB, cd;
scltracefc("rande=%d\n", ∞ns);
shq::newGroup("Bagad Gwer","[vert]darkGreen");
shq::newGroup("Bagad Melen","darkYellow[carotte]");
shq::newGroup("Bagad Glaz","[bleu]darkBlue");
shq::newGroup("Bagad Ruz","darkRed[chaire]");
double r=/*(double)RAND_MAX*/1;
double tip_length, tip_factor=1/5;
for(tiri=0;tiri<tirn;tiri++){
xA=((double)rand())/((double)∞ns)*r;
xB=((double)rand())/((double)∞ns)*r;
yA=((double)rand())/((double)∞ns)*r;
yB=((double)rand())/((double)∞ns)*r;
if(tiri%4==0){
if(xB>xA){ cd=xB; xB=xA; xA=cd; }
if(yB>yA){ cd=yB; yB=yA; yA=cd; }
tip_length=tip_factor*√((xB-xA)*(xB-xA)+(yB-yA)*(yB-yA));
xA+=r; yA+=r; xB+=r; yB+=r;
shq::drawArrow(xA, yA, xB, yB, tip_length,
shq::Params("group","Bagad Gwer"));
}
else if(tiri%4==1){
if(xB<xA){ cd=xB; xB=xA; xA=cd; }
if(yB>yA){ cd=yB; yB=yA; yA=cd; }
tip_length=tip_factor*√((xB-xA)*(xB-xA)+(yB-yA)*(yB-yA));
xA-=r; yA+=r; xB-=r; yB+=r;
shq::drawArrow(xA, yA, xB, yB, tip_length,
shq::Params("group","Bagad Melen"));
}
else if(tiri%4==2) {
if(xB<xA){ cd=xB; xB=xA; xA=cd; }
if(yB<yA){ cd=yB; yB=yA; yA=cd; }
tip_length=tip_factor*√((xB-xA)*(xB-xA)+(yB-yA)*(yB-yA));
xA-=r; yA-=r; xB-=r; yB-=r;
shq::drawArrow(xA, yA, xB, yB, tip_length,
shq::Params("group","Bagad Glaz"));
}
else{
if(xB>xA){ cd=xB; xB=xA; xA=cd; }
if(yB<yA){ cd=yB; yB=yA; yA=cd; }
tip_length=tip_factor*√((xB-xA)*(xB-xA)+(yB-yA)*(yB-yA));
xA+=r; yA-=r; xB+=r; yB-=r;
shq::drawArrow(xA, yA, xB, yB, tip_length,
shq::Params("group","Bagad Ruz"));
}
}
shq::axisAuto("drawarrow_shq");
shq::axisEqual("drawarrow_shq");
shq::axisLabels("[m]", "[m]", "drawarrow_shq");
shq::saveImage("./srt/drawarrow_shq.svg");
shq::endDrawing(); // <Closes the
"connection"
scltracefe(§, ƒ, ∅);
return 0;
}
/* ƒ décorée par
le 04-05-2025 16:47:37 */
Sortie
[>..\xpl\src\sclgraf.shq.xpl.cpp.drawarrow_shq_xpl]
scl-25.04 (gwin64) : 04-05-2025 16:47:37
rande=32767
[<..\xpl\src\sclgraf.shq.xpl.cpp.drawarrow_shq_xpl]