HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_ColliderLabel.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_ColliderLabel_h__
9 #define __SIM_ColliderLabel_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_OptionsUser.h"
13 #include "SIM_DataUtils.h"
14 
15 /// This class associates a string label with an object that is used to
16 /// help determine what SIM_Collider subclass to use when performing
17 /// collision detection between a pair of objects. In addition to holding
18 /// the collider label for an object, SIM_Colliders may be attached as
19 /// subdata to this data to explicitly specify a SIM_Collider to use
20 /// when colliding this object with another. The SIM_Collider with the
21 /// subdata name that matches the other object's collider label is used
22 /// as the collider for the two objects. For more information on determining
23 /// the right SIM_Collider to use for a pair of objects, see
24 /// SIM_Object::getCollider().
26  public SIM_OptionsUser
27 {
28 public:
29  /// Control the label that helps determine the proper collider to use
30  /// for this object.
32 
33 protected:
34  explicit SIM_ColliderLabel(const SIM_DataFactory *factory);
35  ~SIM_ColliderLabel() override;
36 
37 private:
38  static const SIM_DopDescription *getColliderLabelDopDescription();
39 
42  SIM_Data,
43  "Collider Label",
44  getColliderLabelDopDescription());
45 };
46 
47 #endif
48 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
#define SIM_API
Definition: SIM_API.h:12
#define SIM_NAME_COLLIDERLABEL
Definition: SIM_Names.h:84