gwnavruntime/collision/icollisioninterface.h Source File

icollisioninterface.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 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 #pragma once
9 
14 
15 namespace Kaim
16 {
17  class Vec3f;
18  class CollisionData;
19 }
20 
21 namespace Kaim
22 {
23 
25 class ICollisionInterface : public RefCountBaseV<ICollisionInterface, MemStat_WorldFwk>
26 {
27 public:
28  virtual ~ICollisionInterface() {}
29 
30  // The data within collisionData will be added to the world.
31  virtual KyResult AddCollisionData(Ptr<CollisionData> collisionData) = 0;
32 
33  // The data within collisionData will be removed from the world.
34  virtual KyResult RemoveCollisionData(Ptr<CollisionData> collisionData) = 0;
35 
36  // Perform any processing that may be necessary.
37  virtual KyResult Update() = 0;
38 
39  // Perform RayCast from a to b, return CollisionQueryDidNotHit if no hit.
40  virtual CollisionRayCastResult RayCast(const Vec3f& a, const Vec3f& b) = 0;
41 };
42 
43 } // Kaim
44 
An abstract interface for an object that can perform collision queries.
Definition: icollisioninterface.h:25
Navigation return code class.
Definition: types.h:108
CollisionRayCastResult
CollisionRayCastResult.
Definition: collisiontypes.h:15
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
3d vector using 32bits floating points.
Definition: vec3f.h:16