0025234: Implementing LBVH builder
[occt.git] / src / BVH / BVH.cxx
1 // Created on: 2013-12-20
2 // Created by: Denis BOGOLEPOV
3 // Copyright (c) 2013-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #include <BVH_Geometry.hxx>
17 #include <BVH_Triangulation.hxx>
18 #include <BVH_LinearBuilder.hxx>
19 #include <BVH_BinnedBuilder.hxx>
20 #include <BVH_SweepPlaneBuilder.hxx>
21 #include <BVH_SpatialMedianBuilder.hxx>
22
23 // Specific instantiations of struct templates to avoid compilation warnings
24
25 template class BVH_Box<Standard_Real, 2>;
26 template class BVH_Box<Standard_Real, 3>;
27 template class BVH_Box<Standard_Real, 4>;
28
29 template class BVH_Box<Standard_ShortReal, 2>;
30 template class BVH_Box<Standard_ShortReal, 3>;
31 template class BVH_Box<Standard_ShortReal, 4>;
32
33 template class BVH_Set<Standard_Real, 2>;
34 template class BVH_Set<Standard_Real, 3>;
35 template class BVH_Set<Standard_Real, 4>;
36
37 template class BVH_Set<Standard_ShortReal, 2>;
38 template class BVH_Set<Standard_ShortReal, 3>;
39 template class BVH_Set<Standard_ShortReal, 4>;
40
41 template class BVH_Object<Standard_Real, 2>;
42 template class BVH_Object<Standard_Real, 3>;
43 template class BVH_Object<Standard_Real, 4>;
44
45 template class BVH_Object<Standard_ShortReal, 2>;
46 template class BVH_Object<Standard_ShortReal, 3>;
47 template class BVH_Object<Standard_ShortReal, 4>;
48
49 template class BVH_ObjectSet<Standard_Real, 2>;
50 template class BVH_ObjectSet<Standard_Real, 3>;
51 template class BVH_ObjectSet<Standard_Real, 4>;
52
53 template class BVH_ObjectSet<Standard_ShortReal, 2>;
54 template class BVH_ObjectSet<Standard_ShortReal, 3>;
55 template class BVH_ObjectSet<Standard_ShortReal, 4>;
56
57 template class BVH_Geometry<Standard_Real, 2>;
58 template class BVH_Geometry<Standard_Real, 3>;
59 template class BVH_Geometry<Standard_Real, 4>;
60
61 template class BVH_Geometry<Standard_ShortReal, 2>;
62 template class BVH_Geometry<Standard_ShortReal, 3>;
63 template class BVH_Geometry<Standard_ShortReal, 4>;
64
65 template class BVH_Tree<Standard_Real, 2>;
66 template class BVH_Tree<Standard_Real, 3>;
67 template class BVH_Tree<Standard_Real, 4>;
68
69 template class BVH_Tree<Standard_ShortReal, 2>;
70 template class BVH_Tree<Standard_ShortReal, 3>;
71 template class BVH_Tree<Standard_ShortReal, 4>;
72
73 template class BVH_Builder<Standard_Real, 2>;
74 template class BVH_Builder<Standard_Real, 3>;
75 template class BVH_Builder<Standard_Real, 4>;
76
77 template class BVH_Builder<Standard_ShortReal, 2>;
78 template class BVH_Builder<Standard_ShortReal, 3>;
79 template class BVH_Builder<Standard_ShortReal, 4>;
80
81 template class BVH_BinnedBuilder<Standard_Real, 2>;
82 template class BVH_BinnedBuilder<Standard_Real, 3>;
83 template class BVH_BinnedBuilder<Standard_Real, 4>;
84
85 template class BVH_BinnedBuilder<Standard_ShortReal, 2>;
86 template class BVH_BinnedBuilder<Standard_ShortReal, 3>;
87 template class BVH_BinnedBuilder<Standard_ShortReal, 4>;
88
89 template class BVH_LinearBuilder<Standard_Real, 3>;
90 template class BVH_LinearBuilder<Standard_Real, 4>;
91
92 template class BVH_LinearBuilder<Standard_ShortReal, 3>;
93 template class BVH_LinearBuilder<Standard_ShortReal, 4>;
94
95 template class BVH_SweepPlaneBuilder<Standard_Real, 2>;
96 template class BVH_SweepPlaneBuilder<Standard_Real, 3>;
97 template class BVH_SweepPlaneBuilder<Standard_Real, 4>;
98
99 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 2>;
100 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 3>;
101 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 4>;
102
103 template class BVH_SpatialMedianBuilder<Standard_Real, 2>;
104 template class BVH_SpatialMedianBuilder<Standard_Real, 3>;
105 template class BVH_SpatialMedianBuilder<Standard_Real, 4>;
106
107 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 2>;
108 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 3>;
109 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 4>;
110
111 template class BVH_PrimitiveSet<Standard_Real, 2>;
112 template class BVH_PrimitiveSet<Standard_Real, 3>;
113 template class BVH_PrimitiveSet<Standard_Real, 4>;
114
115 template class BVH_PrimitiveSet<Standard_ShortReal, 2>;
116 template class BVH_PrimitiveSet<Standard_ShortReal, 3>;
117 template class BVH_PrimitiveSet<Standard_ShortReal, 4>;
118
119 template class BVH_Triangulation<Standard_Real, 2>;
120 template class BVH_Triangulation<Standard_Real, 3>;
121 template class BVH_Triangulation<Standard_Real, 4>;
122
123 template class BVH_Triangulation<Standard_ShortReal, 2>;
124 template class BVH_Triangulation<Standard_ShortReal, 3>;
125 template class BVH_Triangulation<Standard_ShortReal, 4>;
126
127 template class BVH_Transform<Standard_Real, 4>;
128 template class BVH_Transform<Standard_ShortReal, 4>;