1 /* Copyright Jukka Jyl�nki
2
3    Licensed under the Apache License, Version 2.0 (the "License");
4    you may not use this file except in compliance with the License.
5    You may obtain a copy of the License at
6
7        http://www.apache.org/licenses/LICENSE-2.0
8
9    Unless required by applicable law or agreed to in writing, software
10    distributed under the License is distributed on an "AS IS" BASIS,
11    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12    See the License for the specific language governing permissions and
13    limitations under the License. */
14
15 /** @file HitInfo.h
16         @author Jukka Jyl�nki
17         @brief */
18 #pragma once
19
20 MATH_BEGIN_NAMESPACE
21
22 struct HitInfo
23 {
24         enum HitResult
25         {
26                 NoHit,
27                 Intersect,
28                 AInsideB,
29                 BInsideA
30         };
31
32         /// Specifies the result of the intersection test.
33         HitResult result;
34
35         /// Stores the point of intersection.
36         float3 point;
37
38         /// Specifies the surface normal of the 'this' object at the point of intersection.
39         float3 normalA;
40
41         /// Specifies the surface normal of the other object at the point of intersection.
42         float3 normalB;
43 };
44
45 #ifdef MATH_QT_INTEROP
46 Q_DECLARE_METATYPE(HitInfo)
47 Q_DECLARE_METATYPE(HitInfo*)
48 #endif
49
50 MATH_END_NAMESPACE

Go back to previous page