~ubuntu-branches/ubuntu/wily/slic3r/wily-proposed

« back to all changes in this revision

Viewing changes to xs/xsp/BoundingBox.xsp

  • Committer: Package Import Robot
  • Author(s): Chow Loong Jin
  • Date: 2014-06-17 01:27:26 UTC
  • Revision ID: package-import@ubuntu.com-20140617012726-2wrs4zdo251nr4vg
Tags: upstream-1.1.4+dfsg
ImportĀ upstreamĀ versionĀ 1.1.4+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%module{Slic3r::XS};
 
2
 
 
3
%{
 
4
#include <myinit.h>
 
5
#include "BoundingBox.hpp"
 
6
#include "Point.hpp"
 
7
%}
 
8
 
 
9
%name{Slic3r::Geometry::BoundingBox} class BoundingBox {
 
10
    ~BoundingBox();
 
11
    Clone<BoundingBox> clone()
 
12
        %code{% RETVAL = THIS; %};
 
13
    void merge(BoundingBox* bb) %code{% THIS->merge(*bb); %};
 
14
    void merge_point(Point* point) %code{% THIS->merge(*point); %};
 
15
    void scale(double factor);
 
16
    void translate(double x, double y);
 
17
    Polygon* polygon()
 
18
        %code{% RETVAL = new Polygon(); THIS->polygon(RETVAL); %};
 
19
    Clone<Point> size();
 
20
    Clone<Point> center();
 
21
    Clone<Point> min_point() %code{% RETVAL = THIS->min; %};
 
22
    Clone<Point> max_point() %code{% RETVAL = THIS->max; %};
 
23
    double x_min() %code{% RETVAL = THIS->min.x; %};
 
24
    double x_max() %code{% RETVAL = THIS->max.x; %};
 
25
    double y_min() %code{% RETVAL = THIS->min.y; %};
 
26
    double y_max() %code{% RETVAL = THIS->max.y; %};
 
27
    
 
28
%{
 
29
 
 
30
BoundingBox*
 
31
new_from_points(CLASS, points)
 
32
    char*   CLASS
 
33
    Points  points
 
34
    CODE:
 
35
        RETVAL = new BoundingBox(points);
 
36
    OUTPUT:
 
37
        RETVAL
 
38
 
 
39
%}
 
40
};
 
41
 
 
42
%name{Slic3r::Geometry::BoundingBoxf3} class BoundingBoxf3 {
 
43
    ~BoundingBoxf3();
 
44
    Clone<BoundingBoxf3> clone()
 
45
        %code{% RETVAL = THIS; %};
 
46
    void merge(BoundingBoxf3* bb) %code{% THIS->merge(*bb); %};
 
47
    void scale(double factor);
 
48
    void translate(double x, double y, double z);
 
49
    Clone<Pointf3> size();
 
50
    Clone<Pointf3> center();
 
51
    double x_min() %code{% RETVAL = THIS->min.x; %};
 
52
    double x_max() %code{% RETVAL = THIS->max.x; %};
 
53
    double y_min() %code{% RETVAL = THIS->min.y; %};
 
54
    double y_max() %code{% RETVAL = THIS->max.y; %};
 
55
    double z_min() %code{% RETVAL = THIS->min.z; %};
 
56
    double z_max() %code{% RETVAL = THIS->max.z; %};
 
57
};