Skip to content

Commit ea04e2e

Browse files
committed
[graphics] minor update (thanks to Simon's advice)
1 parent 534ee5c commit ea04e2e

File tree

3 files changed

+22
-25
lines changed

3 files changed

+22
-25
lines changed

python/src/graphics/figures/codac2_py_Figure2D.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,11 @@ void export_Figure2D(py::module& m)
108108

109109
.def("draw_line", &Figure2D::draw_line,
110110
VOID_FIGURE2D_DRAW_LINE_CONST_VECTOR_REF_CONST_VECTOR_REF_CONST_STYLEPROPERTIES_REF,
111-
"c1"_a, "c2"_a, "s"_a=StyleProperties())
111+
"a"_a, "b"_a, "s"_a=StyleProperties())
112112

113113
.def("draw_arrow", &Figure2D::draw_arrow,
114114
VOID_FIGURE2D_DRAW_ARROW_CONST_VECTOR_REF_CONST_VECTOR_REF_FLOAT_CONST_STYLEPROPERTIES_REF,
115-
"c1"_a, "c2"_a, "tip_length"_a, "s"_a=StyleProperties())
115+
"a"_a, "b"_a, "tip_length"_a, "s"_a=StyleProperties())
116116

117117
.def("draw_polyline", (void(Figure2D::*)(const std::vector<Vector>&,const StyleProperties&))&Figure2D::draw_polyline,
118118
VOID_FIGURE2D_DRAW_POLYLINE_CONST_VECTOR_VECTOR_REF_CONST_STYLEPROPERTIES_REF,
@@ -241,11 +241,11 @@ void export_Figure2D(py::module& m)
241241

242242
.def_static("draw_line", &DefaultView::draw_line,
243243
STATIC_VOID_DEFAULTVIEW_DRAW_LINE_CONST_VECTOR_REF_CONST_VECTOR_REF_CONST_STYLEPROPERTIES_REF,
244-
"c1"_a, "c2"_a, "s"_a=StyleProperties())
244+
"a"_a, "b"_a, "s"_a=StyleProperties())
245245

246246
.def_static("draw_arrow", &DefaultView::draw_arrow,
247247
STATIC_VOID_DEFAULTVIEW_DRAW_ARROW_CONST_VECTOR_REF_CONST_VECTOR_REF_FLOAT_CONST_STYLEPROPERTIES_REF,
248-
"c1"_a, "c2"_a, "tip_length"_a, "s"_a=StyleProperties())
248+
"a"_a, "b"_a, "tip_length"_a, "s"_a=StyleProperties())
249249

250250
.def_static("draw_polyline", (void(*)(const std::vector<Vector>&,const StyleProperties&))&DefaultView::draw_polyline,
251251
STATIC_VOID_DEFAULTVIEW_DRAW_POLYLINE_CONST_VECTOR_VECTOR_REF_CONST_STYLEPROPERTIES_REF,

src/graphics/figures/codac2_Figure2D.cpp

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -138,24 +138,22 @@ void Figure2D::draw_ring(const Vector& c, const Interval& r, const StyleProperti
138138
output_fig->draw_ring(c,r,s);
139139
}
140140

141-
void Figure2D::draw_line(const Vector& x, const Vector& y, const StyleProperties& s)
141+
void Figure2D::draw_line(const Vector& a, const Vector& b, const StyleProperties& s)
142142
{
143-
assert_release(x.size() == y.size());
144-
assert_release(x.size() == 2);
145-
vector<Vector> values = {x,y};
143+
assert_release(a.size() == b.size());
144+
assert_release(a.size() == 2);
145+
vector<Vector> values = {a,b};
146146

147-
for(const auto& output_fig : _output_figures)
148-
output_fig->draw_polyline(values,1e-3*scaled_unit(),s);
147+
draw_polyline(values,s);
149148
}
150149

151-
void Figure2D::draw_arrow(const Vector& x, const Vector& y, float tip_length, const StyleProperties& s)
150+
void Figure2D::draw_arrow(const Vector& a, const Vector& b, float tip_length, const StyleProperties& s)
152151
{
153-
assert_release(x.size() == y.size());
154-
assert_release(x.size() == 2);
155-
vector<Vector> values = {x,y};
152+
assert_release(a.size() == b.size());
153+
assert_release(a.size() == 2);
154+
vector<Vector> values = {a,b};
156155

157-
for(const auto& output_fig : _output_figures)
158-
output_fig->draw_polyline(values,tip_length,s);
156+
draw_polyline(values,tip_length,s);
159157
}
160158

161159
void Figure2D::draw_polyline(const vector<Vector>& x, const StyleProperties& s)
@@ -236,14 +234,13 @@ void Figure2D::draw_trajectory(const SampledTrajectory<Vector>& x, const ColorMa
236234
{
237235
assert_release(this->size() <= x.size());
238236

239-
std::vector<Vector> values(2);
240-
values[0] = x.begin()->second;
241-
for (auto it = std::next(x.begin()); it != x.end(); ++it)
237+
double range = x.rbegin()->first - x.begin()->first;
238+
239+
for(auto it = x.begin(); std::next(it) != x.end(); ++it)
242240
{
243-
values[1] = it->second;
244-
Color color = cmap.color((it->first - x.begin()->first) / (x.rbegin()->first - x.begin()->first));
245-
draw_polyline(values, color);
246-
values[0] = values[1];
241+
draw_polyline(
242+
{ it->second, std::next(it)->second },
243+
cmap.color((it->first - x.begin()->first) / range));
247244
}
248245
}
249246

src/graphics/figures/codac2_Figure2D.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ namespace codac2
8686
void draw_box(const IntervalVector& x, const StyleProperties& s = StyleProperties());
8787
void draw_circle(const Vector& c, double r, const StyleProperties& s = StyleProperties());
8888
void draw_ring(const Vector& c, const Interval& r, const StyleProperties& s = StyleProperties());
89-
void draw_line(const Vector& x1, const Vector& x2, const StyleProperties& s = StyleProperties());
90-
void draw_arrow(const Vector& x1, const Vector& x2, float tip_length, const StyleProperties& s = StyleProperties());
89+
void draw_line(const Vector& a, const Vector& b, const StyleProperties& s = StyleProperties());
90+
void draw_arrow(const Vector& a, const Vector& b, float tip_length, const StyleProperties& s = StyleProperties());
9191
void draw_polyline(const std::vector<Vector>& x, const StyleProperties& s = StyleProperties());
9292
void draw_polyline(const std::vector<Vector>& x, float tip_length, const StyleProperties& s = StyleProperties());
9393
void draw_polygone(const std::vector<Vector>& x, const StyleProperties& s = StyleProperties());

0 commit comments

Comments
 (0)