hctConvexHullUtilityInterface.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:4k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /* 
  2.  * 
  3.  * Confidential Information of Telekinesys Research Limited (t/a Havok). Not for disclosure or distribution without Havok's
  4.  * prior written consent. This software contains code, techniques and know-how which is confidential and proprietary to Havok.
  5.  * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2009 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
  6.  * 
  7.  */
  8. #ifndef INC_HK_MAX_CONVEX_HULL_UTILITY_INTERFACE__H
  9. #define INC_HK_MAX_CONVEX_HULL_UTILITY_INTERFACE__H
  10. #include <iFnPub.h>
  11. /*
  12. ** C++ Interface to the Create Convex Hull Utility.
  13. **
  14. ** Exposed to MAXScript as hctConvexHullUtility
  15. **
  16. ** The methods here correspond to the methods and properties (get/set) exposed to MaxScript.
  17. ** Those, in turn, correspond to the fields exposed to the 3ds max UI
  18. **
  19. */
  20. // Class ID
  21. #define HK_CONVEX_HULL_UTILITY_CLASS_ID Class_ID(0x2c7f91ed, 0xa114e3b5)
  22. // Reference number of the PBlock
  23. #define PBLOCK_ConvexHullUtility 0
  24. // Param block IDs
  25. enum
  26. {
  27. PB_CONVEX_HULL_UTILITY_PBLOCK,
  28. };
  29. // Normal Parameters
  30. enum
  31. {
  32. PA_CONVEX_HULL_UTILITY_MAXVERTS,
  33. PA_CONVEX_HULL_UTILITY_SAMPLES,
  34. PA_CONVEX_HULL_UTILITY_STEPS,
  35. PA_CONVEX_HULL_UTILITY_MIN_WEIGHT,
  36. };
  37. //
  38. // Function publishing
  39. //
  40. #define HK_CONVEX_HULL_UTILITY_FPINTERFACE_ID Interface_ID(0x62ed5ad1, 0xdf34ffa1)
  41. enum
  42. {
  43. FPI_CanCreateHull,
  44. FPI_CreateHull,
  45. FPI_CreateMultiHull,
  46. FPI_CreateSkinHull,
  47. FPI_CreateSkinMultiHull,
  48. FPI_GetMaxVerts,
  49. FPI_SetMaxVerts,
  50. FPI_GetSamples,
  51. FPI_SetSamples,
  52. FPI_GetSteps,
  53. FPI_SetSteps,
  54. FPI_GetMinWeight,
  55. FPI_SetMinWeight,
  56. };
  57. class hctConvexHullUtilityFPInterface : public FPStaticInterface
  58. {
  59. public:
  60. virtual BOOL iCanCreateHull() = 0;
  61. virtual INode* iCreateHull (INode* node) = 0;
  62. virtual INode* iCreateMultiHull (Tab<INode*>& nodes) = 0;
  63. virtual INode* iCreateSkinHull (INode* node) = 0;
  64. virtual INode* iCreateSkinMultiHull (Tab<INode*>& nodes) = 0;
  65. virtual void iSetMaxVerts (int maxVerts) = 0;
  66. virtual int iGetMaxVerts () = 0;
  67. virtual void iSetSamples (int samples) = 0;
  68. virtual int iGetSamples () = 0;
  69. virtual void iSetSteps (int steps ) = 0;
  70. virtual int iGetSteps () = 0;
  71. virtual void iSetMinWeight (float minWeight) = 0;
  72. virtual float iGetMinWeight () = 0;
  73. };
  74. //
  75. // Action publishing
  76. //
  77. #define HK_CONVEX_HULL_UTILITY_ACTIONS_ID Interface_ID(0xf1ed017a, 0xca3ad12f)
  78. enum
  79. {
  80. ACT_GenerateHullEnabled,
  81. ACT_GenerateHull,
  82. ACT_GenerateSkinHullEnabled,
  83. ACT_GenerateSkinHull,
  84. };
  85. class hctConvexHullUtilityActions : public FPStaticInterface
  86. {
  87. public:
  88. virtual BOOL iGenerateHullEnabled() = 0;
  89. virtual BOOL iGenerateSkinHullEnabled() = 0;
  90. virtual FPStatus iGenerateHull() = 0;
  91. virtual FPStatus iGenerateSkinHull() = 0;
  92. };
  93. #endif //INC_HK_MAX_CONVEX_HULL_UTILITY_INTERFACE__H
  94. /*
  95. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  96. * Confidential Information of Havok.  (C) Copyright 1999-2009
  97. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  98. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  99. * rights, and intellectual property rights in the Havok software remain in
  100. * Havok and/or its suppliers.
  101. * Use of this software for evaluation purposes is subject to and indicates
  102. * acceptance of the End User licence Agreement for this product. A copy of
  103. * the license is included with this software and is also available at www.havok.com/tryhavok.
  104. */