some perl bindings

This commit is contained in:
Michael Kirsch 2019-06-30 22:03:39 +02:00 committed by Joseph Lenox
parent 098d428bb0
commit 9e39077035

View File

@ -4,11 +4,114 @@
#include <xsinit.h>
#include "libslic3r/libslic3r.h"
#include "libslic3r/TransformationMatrix.hpp"
#include "libslic3r/Point.hpp"
%}
%name{Slic3r::TransformationMatrix} class TransformationMatrix {
TransformationMatrix();
~TransformationMatrix();
Clone<TransformationMatrix> clone()
%code{% RETVAL=THIS; %};
%code{% RETVAL=THIS; %};
Clone<TransformationMatrix> inverse()
%code{% RETVAL = THIS->inverse(); %};
double determinante();
double m11()
%code%{ RETVAL = THIS->m11; %};
void set_m11(double value)
%code%{ THIS->m11 = value; %};
double m12()
%code%{ RETVAL = THIS->m12; %};
void set_m12(double value)
%code%{ THIS->m12 = value; %};
double m13()
%code%{ RETVAL = THIS->m13; %};
void set_m13(double value)
%code%{ THIS->m13 = value; %};
double m14()
%code%{ RETVAL = THIS->m14; %};
void set_m14(double value)
%code%{ THIS->m14 = value; %};
double m21()
%code%{ RETVAL = THIS->m21; %};
void set_m21(double value)
%code%{ THIS->m21 = value; %};
double m22()
%code%{ RETVAL = THIS->m22; %};
void set_m22(double value)
%code%{ THIS->m22 = value; %};
double m23()
%code%{ RETVAL = THIS->m23; %};
void set_m23(double value)
%code%{ THIS->m23 = value; %};
double m24()
%code%{ RETVAL = THIS->m24; %};
void set_m24(double value)
%code%{ THIS->m24 = value; %};
double m31()
%code%{ RETVAL = THIS->m31; %};
void set_m31(double value)
%code%{ THIS->m31 = value; %};
double m32()
%code%{ RETVAL = THIS->m32; %};
void set_m32(double value)
%code%{ THIS->m32 = value; %};
double m33()
%code%{ RETVAL = THIS->m33; %};
void set_m33(double value)
%code%{ THIS->m33 = value; %};
double m34()
%code%{ RETVAL = THIS->m34; %};
void set_m34(double value)
%code%{ THIS->m34 = value; %};
void set_elements(
double m11, double m12, double m13, double m14,
double m21, double m22, double m23, double m24,
double m31, double m32, double m33, double m34)
%code{% *THIS = TransformationMatrix(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34); %};
void set_eye()
%code{% *THIS = TransformationMatrix::mat_eye(); %};
void set_scale_xyz(double x, double y, double z)
%code{% *THIS = TransformationMatrix::mat_scale(x, y, z); %};
void set_scale_uni(double scale)
%code{% *THIS = TransformationMatrix::mat_scale(scale); %};
void set_mirror_xyz(Axis axis)
%code{% *THIS = TransformationMatrix::mat_mirror(axis); %};
void set_mirror_vec(Pointf3* normal)
%code{% *THIS = TransformationMatrix::mat_mirror(*(normal)); %};
void set_translation_xyz(double x, double y, double z)
%code{% *THIS = TransformationMatrix::mat_translation(x, y, z); %};
void set_translation_vec(Pointf3* vector)
%code{% *THIS = TransformationMatrix::mat_translation(*(vector)); %};
void set_rotation_ang_xyz(double angle_rad, Axis axis)
%code{% *THIS = TransformationMatrix::mat_rotation(angle_rad, axis); %};
void set_rotation_ang_arb_axis(double angle_rad, Pointf3* axis)
%code{% *THIS = TransformationMatrix::mat_rotation(angle_rad, *(axis)); %};
void set_rotation_quat(double q1, double q2, double q3, double q4)
%code{% *THIS = TransformationMatrix::mat_rotation(q1, q2, q3, q4); %};
void set_rotation_vec_vec(Pointf3* origin, Pointf3* target)
%code{% *THIS = TransformationMatrix::mat_rotation(*(origin), *(target)); %};
void set_multiply(TransformationMatrix* left, TransformationMatrix* right)
%code{% *THIS = TransformationMatrix::multiply(*(left), *(right)); %};
};