gwnavruntime/visualsystem/visualboxvertices.h Source File

visualboxvertices.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 
9 
10 
11 // primary contact: GUAL - secondary contact: MAMU
12 #ifndef Navigation_VisualBoxVertices_H
13 #define Navigation_VisualBoxVertices_H
14 
15 
18 
19 
20 namespace Kaim
21 {
22 
23 class Box3f;
24 class Transform;
25 class OrientedBox2d;
26 
27 // H----------G
28 // /| /|
29 // / | / |
30 // E----------F |
31 // | | | |
32 // | D-------|--C
33 // | / | /
34 // |/ |/
35 // A----------B
36 
37 /*
38 VisualSystem module internal class.
39 Allows to store oriented box vertices.
40 There are many ways to initialize the oriented box vertices positions : InitFrom...(...).
41 */
42 class VisualBoxVertices
43 {
44  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_VisualSystem)
45 
46 public:
47  void InitFromCenter(const Vec3f& center, KyFloat32 halfWidth);
48  void InitFromBox(const Box3f& box);
49  void InitFromSegment(const Vec3f& P, const Vec3f& Q, KyFloat32 halfWidth);
50  void InitFromWall(const Vec3f& P, const Vec3f& Q, KyFloat32 upHeight, KyFloat32 downHeight, KyFloat32 halfWidth);
51  void InitFromTransformExtent(const Transform& transform, const Box3f& extents);
52  void InitFromOrientedBox2d(const OrientedBox2d& orientedBox2d);
53 public:
54  Vec3f A, B, C, D, E, F, G, H;
55 };
56 
57 
58 }
59 
60 
61 #endif
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43