12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- %module{Slic3r::XS};
- %{
- #include <myinit.h>
- #include "PolylineCollection.hpp"
- %}
- %name{Slic3r::Polyline::Collection} class PolylineCollection {
- ~PolylineCollection();
- PolylineCollection* clone()
- %code{% const char* CLASS = "Slic3r::Polyline::Collection"; RETVAL = new PolylineCollection(*THIS); %};
- void clear()
- %code{% THIS->polylines.clear(); %};
- PolylineCollection* chained_path(bool no_reverse)
- %code{% const char* CLASS = "Slic3r::Polyline::Collection"; RETVAL = THIS->chained_path(no_reverse); %};
- PolylineCollection* chained_path_from(Point* start_near, bool no_reverse)
- %code{% const char* CLASS = "Slic3r::Polyline::Collection"; RETVAL = THIS->chained_path_from(start_near, no_reverse); %};
- int count()
- %code{% RETVAL = THIS->polylines.size(); %};
- Point* leftmost_point()
- %code{% const char* CLASS = "Slic3r::Point"; RETVAL = THIS->leftmost_point(); %};
- %{
- PolylineCollection*
- PolylineCollection::new(...)
- CODE:
- RETVAL = new PolylineCollection ();
- // ST(0) is class name, others are Polylines
- RETVAL->polylines.resize(items-1);
- for (unsigned int i = 1; i < items; i++) {
- // Note: a COPY of the input is stored
- RETVAL->polylines[i-1].from_SV_check(ST(i));
- }
- OUTPUT:
- RETVAL
- SV*
- PolylineCollection::arrayref()
- CODE:
- AV* av = newAV();
- av_fill(av, THIS->polylines.size()-1);
- int i = 0;
- for (Polylines::iterator it = THIS->polylines.begin(); it != THIS->polylines.end(); ++it) {
- av_store(av, i++, (*it).to_SV_ref());
- }
- RETVAL = newRV_noinc((SV*)av);
- OUTPUT:
- RETVAL
- SV*
- PolylineCollection::pp()
- CODE:
- AV* av = newAV();
- av_fill(av, THIS->polylines.size()-1);
- int i = 0;
- for (Polylines::iterator it = THIS->polylines.begin(); it != THIS->polylines.end(); ++it) {
- av_store(av, i++, (*it).to_SV_pureperl());
- }
- RETVAL = newRV_noinc((SV*)av);
- OUTPUT:
- RETVAL
- void
- PolylineCollection::append(...)
- CODE:
- for (unsigned int i = 1; i < items; i++) {
- Polyline polyline;
- polyline.from_SV_check( ST(i) );
- THIS->polylines.push_back(polyline);
- }
- %}
- };
|