Slic3r/xs/xsp
Petr Ledvina 115aa6885f Implement type checking for XS objects
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).

Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.

Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.

Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
..
BoundingBox.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Clipper.xsp Ported traverse_pt() to XS 2013-11-23 23:21:59 +01:00
Config.xsp Workaround for upstream module bug causing command line option parsing for multi-boolean options like retract-layer-change and wipe 2014-04-19 19:14:41 +02:00
ExPolygon.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
ExPolygonCollection.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
ExtrusionEntityCollection.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
ExtrusionLoop.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
ExtrusionPath.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Flow.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Geometry.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Line.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Point.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Polygon.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Polyline.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
PolylineCollection.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
Print.xsp Adapt plater to the new split config 2014-01-02 22:06:58 +01:00
Surface.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
SurfaceCollection.xsp Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account) 2014-02-10 13:19:44 +01:00
TriangleMesh.xsp Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
XS.xsp Ported get_layer_range() to C 2013-06-23 15:33:07 +02:00
my.map Implement type checking for XS objects 2014-04-27 19:38:56 +02:00
mytype.map New XS framework for C and C++ code 2013-06-22 17:16:45 +02:00
typemap.xspt Implement type checking for XS objects 2014-04-27 19:38:56 +02:00