2 Physics Effects Copyright(C) 2010 Sony Computer Entertainment Inc.
\r
5 Physics Effects is open software; you can redistribute it and/or
\r
6 modify it under the terms of the BSD License.
\r
8 Physics Effects is distributed in the hope that it will be useful,
\r
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
\r
11 See the BSD License for more details.
\r
13 A copy of the BSD License is distributed with
\r
14 Physics Effects under the filename: physics_effects_license.txt
\r
17 #ifndef _SCE_PFX_RAY_H
\r
18 #define _SCE_PFX_RAY_H
\r
20 #include "../base/pfx_common.h"
\r
21 #include "pfx_sub_data.h"
\r
24 namespace PhysicsEffects {
\r
26 #define SCE_PFX_RAY_FACET_MODE_FRONT_ONLY 0
\r
27 #define SCE_PFX_RAY_FACET_MODE_BACK_ONLY 1
\r
28 #define SCE_PFX_RAY_FACET_MODE_FRONT_AND_BACK 2
\r
30 struct SCE_PFX_ALIGNED(16) PfxRayInput
\r
32 PfxVector3 m_startPosition;
\r
33 PfxVector3 m_direction;
\r
34 PfxUInt32 m_contactFilterSelf;
\r
35 PfxUInt32 m_contactFilterTarget;
\r
36 PfxUInt8 m_facetMode;
\r
37 SCE_PFX_PADDING(1,7)
\r
41 m_contactFilterSelf = m_contactFilterTarget = 0xffffffff;
\r
42 m_facetMode = SCE_PFX_RAY_FACET_MODE_FRONT_ONLY;
\r
46 struct SCE_PFX_ALIGNED(16) PfxRayOutput
\r
48 PfxVector3 m_contactPoint;
\r
49 PfxVector3 m_contactNormal;
\r
50 PfxFloat m_variable;
\r
51 PfxUInt16 m_objectId;
\r
53 PfxBool m_contactFlag : 1;
\r
54 PfxSubData m_subData;
\r
56 } //namespace PhysicsEffects
\r
59 #endif // _SCE_PFX_RAY_H
\r