integration/gwnavruntimeglue/bulletcollisioninterface/bulletblobs.h Source File

bulletblobs.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 #ifndef KyRuntimeGlue_BulletBlobs_H
8 #define KyRuntimeGlue_BulletBlobs_H
9 
17 
18 class btStridingMeshInterface;
19 
20 enum RuntimeGlueCategories
21 {
22  Blob_RuntimeGlue_Visibility = 0,
23 };
24 
25 enum VisibilityCategory
26 {
27  Blob_RuntimeGlue_Visibility_btStridingMeshInterfaceBlob = 0,
28  Blob_RuntimeGlue_Count
29 };
30 
31 #define VISIBILITY_ROOT_BLOB_CLASS(blob_category, blob_class_name, blob_version) \
32  KY_NAMESPACE_ROOT_BLOB_CLASS(RuntimeGlue, blob_category, blob_class_name, blob_version)
33 
34 class btStridingMeshInterfaceBlobBuilder : public Kaim::BaseBlobBuilder<Kaim::IndexedMeshArrayBlob>
35 {
36 public:
37  explicit btStridingMeshInterfaceBlobBuilder(btStridingMeshInterface* triangleMesh) : m_meshInterface(triangleMesh) {}
38 
39  void DoBuild();
40 
41  btStridingMeshInterface* m_meshInterface;
42 };
43 
44 //class btQuantizedBvhFloatBlobBuilder : public Kaim::BaseBlobBuilder<btQuantizedBvhFloatBlob>
45 //{
46 //public:
47 // btTriangleMeshShapeBlob() {}
48 //
49 // void DoBuild()
50 // {
51 // m_triangleMeshShapeData->m_meshInterface;
52 // }
53 //
54 // btTriangleMeshShapeData* m_triangleMeshShapeData;
55 //};
56 //
57 //class btTriangleMeshShapeBlob
58 //{
59 //public:
60 // btStridingMeshInterfaceBlob m_meshInterface;
61 // //btQuantizedBvhFloatData *m_quantizedFloatBvh;
62 // float m_collisionMargin;
63 //};
64 
65 class CollisionSystemBlobCategoryBuilder : public Kaim::IBlobCategoryBuilder
66 {
67 public:
68  CollisionSystemBlobCategoryBuilder() : IBlobCategoryBuilder(Kaim::Blob_RuntimeGlue, Blob_RuntimeGlue_Visibility, Blob_RuntimeGlue_Count){}
69 
70  virtual void Build(Kaim::BlobCategory* category) const
71  {
72  //category->AddBlobType<btStridingMeshInterfaceBlob>();
73  }
74 };
75 
76 #endif // KyRuntimeGlue_BulletBlobs_H
Definition: gamekitcrowddispersion.h:20
BaseBlobBuilder is an abstract base class that builds a blob within a contiguous block of memory...
Definition: baseblobbuilder.h:30
The BlobCategory class represents a collection of blob types.
Definition: blobcategory.h:25
virtual void DoBuild()=0
Implement this function in any class that derives from BaseBlobBuilder.