HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SIM_ColliderNone.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  */
7 
8 #ifndef __SIM_ColliderNone_h__
9 #define __SIM_ColliderNone_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_Collider.h"
13 
14 /// This class implements a collider that doesn't actually detect collisions.
15 /// Use this collider as a place holder when a collider is required but
16 /// no actual collision detection is needed.
18 {
19 protected:
20  /// This SIM_ColliderNone constructor.
21  explicit SIM_ColliderNone(const SIM_DataFactory *factory);
22  /// This SIM_ColliderNone destructor.
23  virtual ~SIM_ColliderNone();
24 
25  /// Required override of the collision detection function.
26  /// This implementation does nothing.
27  virtual bool collideObjectsSubclass(SIM_Engine &engine,
28  SIM_Object &object,
29  SIM_Object &affector,
30  const SIM_Time &starttime,
31  const SIM_Time &endtime,
32  SIM_ImpactApplyType impactapplytype,
33  int impactflags) const;
34  /// There is no point in interpolating the affector, since we
35  /// never even look at it. So return false here.
36  virtual bool getAffectorInterpolatedToEndTimeSubclass() const;
37 
38 private:
39  static const SIM_DopDescription *getColliderNoneDopDescription();
40 
44  "No Collider",
45  getColliderNoneDopDescription());
46 };
47 
48 #endif
49 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:45
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:58
SIM_ImpactApplyType
Defines the possible affector types when doing collision detection.
Definition: SIM_Collider.h:56
virtual bool collideObjectsSubclass(SIM_Engine &engine, SIM_Object &object, SIM_Object &affector, const SIM_Time &starttime, const SIM_Time &endtime, SIM_ImpactApplyType impactapplytype, int impactflags) const
virtual bool getAffectorInterpolatedToEndTimeSubclass() const
#define SIM_API
Definition: SIM_API.h:10