@@ -2,8 +2,6 @@ module Clipper
2
2
3
3
using Cxx
4
4
5
- include (" Basic.jl" )
6
-
7
5
# Export Clipper types
8
6
export Path, Paths, IntPoint
9
7
@@ -80,7 +78,12 @@ typealias __ClipperPolyTree Union(pcpp"ClipperLib::PolyTree",
80
78
typealias __ClipperPolyNode Union (pcpp " ClipperLib::PolyNode" ,
81
79
cpcpp " ClipperLib::PolyNode" ,
82
80
vcpp " ClipperLib::PolyNode" ,
83
- rcpp " ClipperLib::PolyNode" )
81
+ rcpp " ClipperLib::PolyNode" ,
82
+ Cxx. CppRef{cpcpp " ClipperLib::PolyNode" , (false ,false ,false )})
83
+
84
+ typealias __ClipperPolyNodeArray Union (Cxx. CppValue{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::vector" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},Cxx. CppValue{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::allocator" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},)},(false ,false ,false )})},(false ,false ,false )},
85
+ Cxx. CppPtr{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::vector" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},Cxx. CppValue{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::allocator" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},)},(false ,false ,false )})},(false ,false ,false )},
86
+ Cxx. CppRef{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::vector" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},Cxx. CppValue{Cxx. CppTemplate{Cxx. CppBaseType{symbol (" std::allocator" )},(Cxx. CppPtr{Cxx. CppValue{Cxx. CppBaseType{symbol (" ClipperLib::PolyNode" )},(false ,false ,false )},(false ,false ,false )},)},(false ,false ,false )})},(false ,false ,false )})
84
87
85
88
typealias __ClipperClipperOffset Union (pcpp " ClipperLib::ClipperOffset" ,
86
89
cpcpp " ClipperLib::ClipperOffset" ,
@@ -917,62 +920,82 @@ end
917
920
# Some "julian" encapsulation of Clipper types.
918
921
#
919
922
920
- function x (ip:: __ClipperIntPoint )
923
+ @inline function x (ip:: __ClipperIntPoint )
921
924
@cxx ip-> X
922
925
end
923
- function y (ip:: __ClipperIntPoint )
926
+ @inline function y (ip:: __ClipperIntPoint )
924
927
@cxx ip-> Y
925
928
end
926
- function == (i1:: __ClipperIntPoint , i2:: __ClipperIntPoint )
929
+ @inline function == (i1:: __ClipperIntPoint , i2:: __ClipperIntPoint )
927
930
x (i1) == x (i2) && y (i1) == y (i2)
928
931
end
929
- function Base. isequal (i1:: __ClipperIntPoint , i2:: __ClipperIntPoint )
932
+ @inline function Base. isequal (i1:: __ClipperIntPoint , i2:: __ClipperIntPoint )
930
933
isequal (x (i1),x (i2)) && isequal (y (i1),y (i2))
931
934
end
932
935
933
- function Base. push! (a:: __ClipperPath ,
936
+ @inline function Base. push! (a:: __ClipperPath ,
934
937
b:: __ClipperIntPoint )
935
938
@cxx a-> push_back (b)
936
939
end
937
940
941
+ <<<<<< < HEAD
938
942
function Base. push! (a:: __ClipperPath , b:: (Int, Int) )
939
943
push! (a, IntPoint (b... ))
940
944
end
941
945
942
946
function Base. push! (a:: __ClipperPaths ,
947
+ ====== =
948
+ @inline function Base. push! (a:: __ClipperPaths ,
949
+ >>>>>> > master
943
950
b:: __ClipperPath )
944
951
@cxx a-> push_back (b)
945
952
end
946
953
947
- function Base. length (p:: __ClipperPath )
954
+ @inline function Base. length (p:: __ClipperPath )
948
955
@cxx p-> size ()
949
956
end
950
957
951
- function Base. length (p:: __ClipperPaths )
958
+ @inline function Base. length (p:: __ClipperPaths )
952
959
@cxx p-> size ()
953
960
end
954
961
955
- function Base. getindex (p:: __ClipperPath , i:: Integer )
956
- @cxx p-> at (i- 1 )
962
+ @inline function Base. length (p:: __ClipperPolyNodeArray )
963
+ @cxx p-> size ()
964
+ end
965
+
966
+ @inline function Base. getindex (p:: __ClipperPath , i:: Integer )
967
+ icxx " $p[$i-1];"
968
+ end
969
+
970
+ @inline function Base. getindex (p:: __ClipperPaths , i:: Integer )
971
+ icxx " $p[$i-1];"
972
+ end
973
+
974
+ @inline function Base. getindex (p:: __ClipperPolyNodeArray , i:: Integer )
975
+ icxx " $p[$i-1];"
957
976
end
958
977
959
- function Base. getindex (p :: __ClipperPaths , i:: Integer )
960
- @cxx p -> at ( i- 1 )
978
+ @inline function Base. setindex! (path :: __ClipperPath , pt :: __ClipperIntPoint , i:: Integer )
979
+ icxx " $path[$ i-1] = $pt; "
961
980
end
962
981
963
- function Base. isempty (p:: __ClipperPath )
982
+ @inline function Base. setindex! (paths:: __ClipperPaths , path:: __ClipperPath , i:: Integer )
983
+ icxx " $paths[$i-1] = $path;"
984
+ end
985
+
986
+ @inline function Base. isempty (p:: __ClipperPath )
964
987
length (p) == 0
965
988
end
966
989
967
- function Base. isempty (p:: __ClipperPaths )
990
+ @inline function Base. isempty (p:: __ClipperPaths )
968
991
length (p) == 0
969
992
end
970
993
971
- function Base. endof (p:: __ClipperPath )
994
+ @inline function Base. endof (p:: __ClipperPath )
972
995
length (p)
973
996
end
974
997
975
- function Base. endof (p:: __ClipperPaths )
998
+ @inline function Base. endof (p:: __ClipperPaths )
976
999
length (p)
977
1000
end
978
1001
@@ -1014,4 +1037,7 @@ function Base.show(io::IO, p::__ClipperPaths)
1014
1037
end
1015
1038
end
1016
1039
1040
+ # Clipper basic interface
1041
+ include (" Basic.jl" )
1042
+
1017
1043
end # module
0 commit comments