0032289: Visualization - add NCollection_Mat3 for 3x3 matrix similar to NCollection_Mat4
[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_QuickSorter.hxx>
18 #include <BVH_RadixSorter.hxx>
19 #include <BVH_Triangulation.hxx>
20 #include <BVH_DistanceField.hxx>
21 #include <BVH_LinearBuilder.hxx>
22 #include <BVH_BinnedBuilder.hxx>
23 #include <BVH_SweepPlaneBuilder.hxx>
24 #include <BVH_SpatialMedianBuilder.hxx>
25
26 #include <Standard_Real.hxx>
27
28 IMPLEMENT_STANDARD_RTTIEXT(BVH_BuilderTransient,  Standard_Transient)
29 IMPLEMENT_STANDARD_RTTIEXT(BVH_TreeBaseTransient, Standard_Transient)
30 IMPLEMENT_STANDARD_RTTIEXT(BVH_ObjectTransient,   Standard_Transient)
31
32 // Specific instantiations of struct templates to avoid compilation warnings
33
34 template class NCollection_Vec2<Standard_Real>;
35 template class NCollection_Vec3<Standard_Real>;
36 template class NCollection_Vec4<Standard_Real>;
37 template class NCollection_Mat3<Standard_Real>;
38 template class NCollection_Mat4<Standard_Real>;
39
40 template class BVH_Box<Standard_Real, 2>;
41 template class BVH_Box<Standard_Real, 3>;
42 template class BVH_Box<Standard_Real, 4>;
43
44 template class BVH_Box<Standard_ShortReal, 2>;
45 template class BVH_Box<Standard_ShortReal, 3>;
46 template class BVH_Box<Standard_ShortReal, 4>;
47
48 template class BVH_Set<Standard_Real, 2>;
49 template class BVH_Set<Standard_Real, 3>;
50 template class BVH_Set<Standard_Real, 4>;
51
52 template class BVH_Set<Standard_ShortReal, 2>;
53 template class BVH_Set<Standard_ShortReal, 3>;
54 template class BVH_Set<Standard_ShortReal, 4>;
55
56 template class BVH_Object<Standard_Real, 2>;
57 template class BVH_Object<Standard_Real, 3>;
58 template class BVH_Object<Standard_Real, 4>;
59
60 template class BVH_Object<Standard_ShortReal, 2>;
61 template class BVH_Object<Standard_ShortReal, 3>;
62 template class BVH_Object<Standard_ShortReal, 4>;
63
64 template class BVH_ObjectSet<Standard_Real, 2>;
65 template class BVH_ObjectSet<Standard_Real, 3>;
66 template class BVH_ObjectSet<Standard_Real, 4>;
67
68 template class BVH_ObjectSet<Standard_ShortReal, 2>;
69 template class BVH_ObjectSet<Standard_ShortReal, 3>;
70 template class BVH_ObjectSet<Standard_ShortReal, 4>;
71
72 template class BVH_Geometry<Standard_Real, 2>;
73 template class BVH_Geometry<Standard_Real, 3>;
74 template class BVH_Geometry<Standard_Real, 4>;
75
76 template class BVH_Geometry<Standard_ShortReal, 2>;
77 template class BVH_Geometry<Standard_ShortReal, 3>;
78 template class BVH_Geometry<Standard_ShortReal, 4>;
79
80 template class BVH_Tree<Standard_Real, 2>;
81 template class BVH_Tree<Standard_Real, 3>;
82 template class BVH_Tree<Standard_Real, 4>;
83
84 template class BVH_Tree<Standard_ShortReal, 2>;
85 template class BVH_Tree<Standard_ShortReal, 3>;
86 template class BVH_Tree<Standard_ShortReal, 4>;
87
88 template class BVH_Builder<Standard_Real, 2>;
89 template class BVH_Builder<Standard_Real, 3>;
90 template class BVH_Builder<Standard_Real, 4>;
91
92 template class BVH_Builder<Standard_ShortReal, 2>;
93 template class BVH_Builder<Standard_ShortReal, 3>;
94 template class BVH_Builder<Standard_ShortReal, 4>;
95
96 template class BVH_BinnedBuilder<Standard_Real, 2>;
97 template class BVH_BinnedBuilder<Standard_Real, 3>;
98 template class BVH_BinnedBuilder<Standard_Real, 4>;
99
100 template class BVH_BinnedBuilder<Standard_ShortReal, 2>;
101 template class BVH_BinnedBuilder<Standard_ShortReal, 3>;
102 template class BVH_BinnedBuilder<Standard_ShortReal, 4>;
103
104 template class BVH_QuickSorter<Standard_Real, 3>;
105 template class BVH_QuickSorter<Standard_Real, 4>;
106
107 template class BVH_QuickSorter<Standard_ShortReal, 3>;
108 template class BVH_QuickSorter<Standard_ShortReal, 4>;
109
110 template class BVH_RadixSorter<Standard_Real, 2>;
111 template class BVH_RadixSorter<Standard_Real, 3>;
112 template class BVH_RadixSorter<Standard_Real, 4>;
113
114 template class BVH_RadixSorter<Standard_ShortReal, 2>;
115 template class BVH_RadixSorter<Standard_ShortReal, 3>;
116 template class BVH_RadixSorter<Standard_ShortReal, 4>;
117
118 template class BVH_LinearBuilder<Standard_Real, 2>;
119 template class BVH_LinearBuilder<Standard_Real, 3>;
120 template class BVH_LinearBuilder<Standard_Real, 4>;
121
122 template class BVH_LinearBuilder<Standard_ShortReal, 2>;
123 template class BVH_LinearBuilder<Standard_ShortReal, 3>;
124 template class BVH_LinearBuilder<Standard_ShortReal, 4>;
125
126 template class BVH_SweepPlaneBuilder<Standard_Real, 2>;
127 template class BVH_SweepPlaneBuilder<Standard_Real, 3>;
128 template class BVH_SweepPlaneBuilder<Standard_Real, 4>;
129
130 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 2>;
131 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 3>;
132 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 4>;
133
134 template class BVH_SpatialMedianBuilder<Standard_Real, 2>;
135 template class BVH_SpatialMedianBuilder<Standard_Real, 3>;
136 template class BVH_SpatialMedianBuilder<Standard_Real, 4>;
137
138 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 2>;
139 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 3>;
140 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 4>;
141
142 template class BVH_PrimitiveSet<Standard_Real, 2>;
143 template class BVH_PrimitiveSet<Standard_Real, 3>;
144 template class BVH_PrimitiveSet<Standard_Real, 4>;
145
146 template class BVH_PrimitiveSet<Standard_ShortReal, 2>;
147 template class BVH_PrimitiveSet<Standard_ShortReal, 3>;
148 template class BVH_PrimitiveSet<Standard_ShortReal, 4>;
149
150 template class BVH_Triangulation<Standard_Real, 2>;
151 template class BVH_Triangulation<Standard_Real, 3>;
152 template class BVH_Triangulation<Standard_Real, 4>;
153
154 template class BVH_Triangulation<Standard_ShortReal, 2>;
155 template class BVH_Triangulation<Standard_ShortReal, 3>;
156 template class BVH_Triangulation<Standard_ShortReal, 4>;
157
158 template class BVH_DistanceField<Standard_Real, 3>;
159 template class BVH_DistanceField<Standard_Real, 4>;
160
161 template class BVH_DistanceField<Standard_ShortReal, 3>;
162 template class BVH_DistanceField<Standard_ShortReal, 4>;
163
164 template class BVH_Transform<Standard_Real, 4>;
165 template class BVH_Transform<Standard_ShortReal, 4>;