hkpEntity.inl
上传用户: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. inline hkpMotion* hkpEntity::getMotion()
  9. {
  10. return &m_motion;
  11. }
  12. inline hkpSimulationIsland* hkpEntity::getSimulationIsland() const
  13. {
  14. return m_simulationIsland;
  15. }
  16. hkpAction* hkpEntity::getAction(int i)
  17. {
  18. return m_actions[i];
  19. }
  20. int hkpEntity::getNumActions() const
  21. {
  22. return m_actions.getSize();
  23. }
  24. inline const hkSmallArray<hkpEntityListener*>& hkpEntity::getEntityListeners() const
  25. {
  26. #ifdef HK_DEBUG_MULTI_THREADING
  27. checkReadOnly();
  28. #endif
  29. if ( !m_extendedListeners )
  30. {
  31. m_extendedListeners = new ExtendedListeners;
  32. }
  33. return m_extendedListeners->m_entityListeners;
  34. }
  35. inline const hkSmallArray<hkpEntityActivationListener*>& hkpEntity::getEntityActivationListeners() const
  36. {
  37. #ifdef HK_DEBUG_MULTI_THREADING
  38. checkReadOnly();
  39. #endif
  40. if ( !m_extendedListeners )
  41. {
  42. m_extendedListeners = new ExtendedListeners;
  43. }
  44. return m_extendedListeners->m_activationListeners;
  45. }
  46. inline const hkSmallArray<hkpCollisionListener*>& hkpEntity::getCollisionListeners() const
  47. {
  48. #ifdef HK_DEBUG_MULTI_THREADING
  49. checkReadOnly();
  50. #endif
  51. return m_collisionListeners;
  52. }
  53. inline bool hkpEntity::areCollisionListenersAdded() const
  54. {
  55. return m_collisionListeners.getSize() > 0;
  56. }
  57. inline hkUint16 hkpEntity::getProcessContactCallbackDelay() const
  58. {
  59. return m_processContactCallbackDelay;
  60. }
  61. inline void hkpEntity::setProcessContactCallbackDelay( hkUint16 delay )
  62. {
  63. m_processContactCallbackDelay = delay;
  64. }
  65. inline hkpMaterial& hkpEntity::getMaterial()
  66. {
  67. return m_material;
  68. }
  69. inline const hkpMaterial& hkpEntity::getMaterial() const
  70. {
  71. return m_material;
  72. }
  73. inline hkdBreakableBody* hkpEntity::getBreakableBody() const
  74. {
  75. return reinterpret_cast<hkdBreakableBody*>(m_breakableBody);
  76. }
  77. inline hkBool hkpEntity::isFixed() const
  78. {
  79. return m_motion.m_type == hkpMotion::MOTION_FIXED;
  80. }
  81. hkBool hkpEntity::isFixedOrKeyframed() const
  82. {
  83. return (m_motion.m_type == hkpMotion::MOTION_FIXED) || (m_motion.m_type == hkpMotion::MOTION_KEYFRAMED);
  84. }
  85. inline hkUint32 hkpEntity::getUid() const
  86. {
  87. return m_uid;
  88. }
  89. const hkSmallArray<struct hkConstraintInternal>&  hkpEntity::getConstraintMasters() const
  90. {
  91. #ifdef HK_DEBUG_MULTI_THREADING
  92. return getConstraintMastersImpl();
  93. #else
  94. return m_constraintsMaster;
  95. #endif
  96. }
  97. hkSmallArray<struct hkConstraintInternal>&  hkpEntity::getConstraintMastersRw()
  98. {
  99. #ifdef HK_DEBUG_MULTI_THREADING
  100. return getConstraintMastersRwImpl();
  101. #else
  102. return m_constraintsMaster;
  103. #endif
  104. }
  105. const hkArray<class hkpConstraintInstance*>&  hkpEntity::getConstraintSlaves() const
  106. {
  107. #ifdef HK_DEBUG_MULTI_THREADING
  108. return getConstraintSlavesImpl();
  109. #else
  110. return m_constraintsSlave;
  111. #endif
  112. }
  113. /*
  114. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  115. * Confidential Information of Havok.  (C) Copyright 1999-2009
  116. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  117. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  118. * rights, and intellectual property rights in the Havok software remain in
  119. * Havok and/or its suppliers.
  120. * Use of this software for evaluation purposes is subject to and indicates
  121. * acceptance of the End User licence Agreement for this product. A copy of
  122. * the license is included with this software and is also available at www.havok.com/tryhavok.
  123. */