1 // Created on: 2013-12-20
2 // Created by: Denis BOGOLEPOV
3 // Copyright (c) 2013-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
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.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #include <BVH_DistanceField.hxx>
17 #include <BVH_LinearBuilder.hxx>
18 #include <BVH_BinnedBuilder.hxx>
19 #include <BVH_SweepPlaneBuilder.hxx>
20 #include <BVH_SpatialMedianBuilder.hxx>
22 IMPLEMENT_STANDARD_RTTIEXT(BVH_BuilderTransient, Standard_Transient)
23 IMPLEMENT_STANDARD_RTTIEXT(BVH_TreeBaseTransient, Standard_Transient)
24 IMPLEMENT_STANDARD_RTTIEXT(BVH_ObjectTransient, Standard_Transient)
26 // Specific instantiations of struct templates to avoid compilation warnings
28 template class NCollection_Vec2<Standard_Real>;
29 template class NCollection_Vec3<Standard_Real>;
30 template class NCollection_Vec4<Standard_Real>;
31 template class NCollection_Mat3<Standard_Real>;
32 template class NCollection_Mat4<Standard_Real>;
34 template class BVH_Box<Standard_Real, 2>;
35 template class BVH_Box<Standard_Real, 3>;
36 template class BVH_Box<Standard_Real, 4>;
38 template class BVH_Box<Standard_ShortReal, 2>;
39 template class BVH_Box<Standard_ShortReal, 3>;
40 template class BVH_Box<Standard_ShortReal, 4>;
42 template class BVH_Set<Standard_Real, 2>;
43 template class BVH_Set<Standard_Real, 3>;
44 template class BVH_Set<Standard_Real, 4>;
46 template class BVH_Set<Standard_ShortReal, 2>;
47 template class BVH_Set<Standard_ShortReal, 3>;
48 template class BVH_Set<Standard_ShortReal, 4>;
50 template class BVH_Object<Standard_Real, 2>;
51 template class BVH_Object<Standard_Real, 3>;
52 template class BVH_Object<Standard_Real, 4>;
54 template class BVH_Object<Standard_ShortReal, 2>;
55 template class BVH_Object<Standard_ShortReal, 3>;
56 template class BVH_Object<Standard_ShortReal, 4>;
58 template class BVH_ObjectSet<Standard_Real, 2>;
59 template class BVH_ObjectSet<Standard_Real, 3>;
60 template class BVH_ObjectSet<Standard_Real, 4>;
62 template class BVH_ObjectSet<Standard_ShortReal, 2>;
63 template class BVH_ObjectSet<Standard_ShortReal, 3>;
64 template class BVH_ObjectSet<Standard_ShortReal, 4>;
66 template class BVH_Geometry<Standard_Real, 2>;
67 template class BVH_Geometry<Standard_Real, 3>;
68 template class BVH_Geometry<Standard_Real, 4>;
70 template class BVH_Geometry<Standard_ShortReal, 2>;
71 template class BVH_Geometry<Standard_ShortReal, 3>;
72 template class BVH_Geometry<Standard_ShortReal, 4>;
74 template class BVH_Tree<Standard_Real, 2>;
75 template class BVH_Tree<Standard_Real, 3>;
76 template class BVH_Tree<Standard_Real, 4>;
78 template class BVH_Tree<Standard_ShortReal, 2>;
79 template class BVH_Tree<Standard_ShortReal, 3>;
80 template class BVH_Tree<Standard_ShortReal, 4>;
82 template class BVH_Builder<Standard_Real, 2>;
83 template class BVH_Builder<Standard_Real, 3>;
84 template class BVH_Builder<Standard_Real, 4>;
86 template class BVH_Builder<Standard_ShortReal, 2>;
87 template class BVH_Builder<Standard_ShortReal, 3>;
88 template class BVH_Builder<Standard_ShortReal, 4>;
90 template class BVH_BinnedBuilder<Standard_Real, 2>;
91 template class BVH_BinnedBuilder<Standard_Real, 3>;
92 template class BVH_BinnedBuilder<Standard_Real, 4>;
94 template class BVH_BinnedBuilder<Standard_ShortReal, 2>;
95 template class BVH_BinnedBuilder<Standard_ShortReal, 3>;
96 template class BVH_BinnedBuilder<Standard_ShortReal, 4>;
98 template class BVH_QuickSorter<Standard_Real, 3>;
99 template class BVH_QuickSorter<Standard_Real, 4>;
101 template class BVH_QuickSorter<Standard_ShortReal, 3>;
102 template class BVH_QuickSorter<Standard_ShortReal, 4>;
104 template class BVH_RadixSorter<Standard_Real, 2>;
105 template class BVH_RadixSorter<Standard_Real, 3>;
106 template class BVH_RadixSorter<Standard_Real, 4>;
108 template class BVH_RadixSorter<Standard_ShortReal, 2>;
109 template class BVH_RadixSorter<Standard_ShortReal, 3>;
110 template class BVH_RadixSorter<Standard_ShortReal, 4>;
112 template class BVH_LinearBuilder<Standard_Real, 2>;
113 template class BVH_LinearBuilder<Standard_Real, 3>;
114 template class BVH_LinearBuilder<Standard_Real, 4>;
116 template class BVH_LinearBuilder<Standard_ShortReal, 2>;
117 template class BVH_LinearBuilder<Standard_ShortReal, 3>;
118 template class BVH_LinearBuilder<Standard_ShortReal, 4>;
120 template class BVH_SweepPlaneBuilder<Standard_Real, 2>;
121 template class BVH_SweepPlaneBuilder<Standard_Real, 3>;
122 template class BVH_SweepPlaneBuilder<Standard_Real, 4>;
124 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 2>;
125 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 3>;
126 template class BVH_SweepPlaneBuilder<Standard_ShortReal, 4>;
128 template class BVH_SpatialMedianBuilder<Standard_Real, 2>;
129 template class BVH_SpatialMedianBuilder<Standard_Real, 3>;
130 template class BVH_SpatialMedianBuilder<Standard_Real, 4>;
132 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 2>;
133 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 3>;
134 template class BVH_SpatialMedianBuilder<Standard_ShortReal, 4>;
136 template class BVH_PrimitiveSet<Standard_Real, 2>;
137 template class BVH_PrimitiveSet<Standard_Real, 3>;
138 template class BVH_PrimitiveSet<Standard_Real, 4>;
140 template class BVH_PrimitiveSet<Standard_ShortReal, 2>;
141 template class BVH_PrimitiveSet<Standard_ShortReal, 3>;
142 template class BVH_PrimitiveSet<Standard_ShortReal, 4>;
144 template class BVH_Triangulation<Standard_Real, 2>;
145 template class BVH_Triangulation<Standard_Real, 3>;
146 template class BVH_Triangulation<Standard_Real, 4>;
148 template class BVH_Triangulation<Standard_ShortReal, 2>;
149 template class BVH_Triangulation<Standard_ShortReal, 3>;
150 template class BVH_Triangulation<Standard_ShortReal, 4>;
152 template class BVH_DistanceField<Standard_Real, 3>;
153 template class BVH_DistanceField<Standard_Real, 4>;
155 template class BVH_DistanceField<Standard_ShortReal, 3>;
156 template class BVH_DistanceField<Standard_ShortReal, 4>;
158 template class BVH_Transform<Standard_Real, 4>;
159 template class BVH_Transform<Standard_ShortReal, 4>;