ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +3 -0
  3. data/Rakefile +14 -2
  4. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
  5. data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
  6. data/bindings/bullet/interface/bullet_wrap.h +7 -7
  7. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  8. data/lib/bullet.so +0 -0
  9. data/lib/ruby-bullet/version.rb +1 -1
  10. data/ruby-bullet.gemspec +0 -3
  11. metadata +169 -444
  12. data/deps/include/bullet/Bullet-C-Api.h +0 -176
  13. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
  14. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
  15. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
  16. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
  17. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
  18. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
  19. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
  20. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
  21. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
  22. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
  23. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
  24. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
  25. data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
  26. data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
  27. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
  28. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
  29. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
  30. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
  31. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
  32. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
  33. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
  34. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
  35. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
  36. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
  37. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
  38. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
  39. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
  40. data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
  41. data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
  42. data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
  43. data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
  44. data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
  45. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
  46. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
  47. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
  48. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
  49. data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
  50. data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
  51. data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
  52. data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
  53. data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
  54. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
  55. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
  56. data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
  57. data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
  58. data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
  59. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
  60. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
  61. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
  62. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
  63. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
  64. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
  65. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
  66. data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
  67. data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
  68. data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
  69. data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
  70. data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
  71. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
  72. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
  73. data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
  74. data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
  75. data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
  76. data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
  77. data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
  78. data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
  79. data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
  80. data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
  81. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
  82. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
  83. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
  84. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
  85. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
  86. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
  87. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
  88. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
  89. data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
  90. data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
  91. data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
  92. data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
  93. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
  94. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
  95. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
  96. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
  97. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
  98. data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
  99. data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
  100. data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
  101. data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
  102. data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
  103. data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
  104. data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
  105. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
  106. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
  107. data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
  108. data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
  109. data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
  110. data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
  111. data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
  112. data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
  113. data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
  114. data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
  115. data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
  116. data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
  117. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
  118. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
  119. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
  120. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
  121. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
  122. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
  123. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
  124. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
  125. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
  126. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
  127. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
  128. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
  129. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
  130. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
  131. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
  132. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
  133. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
  134. data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
  135. data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
  136. data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
  137. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
  138. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
  139. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
  140. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
  141. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
  142. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
  143. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
  144. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
  145. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
  146. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
  147. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
  148. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
  149. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
  150. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
  151. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
  152. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
  153. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
  154. data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
  155. data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
  156. data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
  157. data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
  158. data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
  159. data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
  160. data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
  161. data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
  162. data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
  163. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
  164. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
  165. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
  166. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
  167. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
  168. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
  169. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
  170. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
  171. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
  172. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
  173. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
  174. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
  175. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
  176. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
  177. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
  178. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
  179. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
  180. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
  181. data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
  182. data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
  183. data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
  184. data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
  185. data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
  186. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
  187. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
  188. data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
  189. data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
  190. data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
  191. data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
  192. data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
  193. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
  194. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
  195. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
  196. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
  197. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
  198. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
  199. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
  200. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
  201. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
  202. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
  203. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
  204. data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
  205. data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
  206. data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
  207. data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
  208. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
  209. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
  210. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
  211. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
  212. data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
  213. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
  214. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
  215. data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
  216. data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
  217. data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
  218. data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
  219. data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
  220. data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
  221. data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
  222. data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
  223. data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
  224. data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
  225. data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
  226. data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
  227. data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
  228. data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
  229. data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
  230. data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
  231. data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
  232. data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
  233. data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
  234. data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
  235. data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
  236. data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
  237. data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
  238. data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
  239. data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
  240. data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
  241. data/deps/include/bullet/LinearMath/btList.h +0 -73
  242. data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
  243. data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
  244. data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
  245. data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
  246. data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
  247. data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
  248. data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
  249. data/deps/include/bullet/LinearMath/btRandom.h +0 -42
  250. data/deps/include/bullet/LinearMath/btScalar.h +0 -539
  251. data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
  252. data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
  253. data/deps/include/bullet/LinearMath/btTransform.h +0 -307
  254. data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
  255. data/deps/include/bullet/LinearMath/btVector3.h +0 -766
  256. data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
  257. data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
  258. data/deps/include/bullet/MiniCL/cl.h +0 -867
  259. data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
  260. data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
  261. data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
  262. data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
  263. data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
  264. data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
  265. data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
  266. data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
  267. data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
  268. data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
  269. data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
  270. data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
  271. data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
  272. data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
  273. data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
  274. data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
  275. data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
  276. data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
  277. data/deps/include/bullet/vectormath/vmInclude.h +0 -27
  278. data/deps/lib/libBulletCollision.a +0 -0
  279. data/deps/lib/libBulletDynamics.a +0 -0
  280. data/deps/lib/libBulletMultiThreaded.a +0 -0
  281. data/deps/lib/libBulletSoftBody.a +0 -0
  282. data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
  283. data/deps/lib/libLinearMath.a +0 -0
  284. data/deps/lib/libMiniCL.a +0 -0
@@ -1,1872 +0,0 @@
1
- /*
2
- Copyright (C) 2009 Sony Computer Entertainment Inc.
3
- All rights reserved.
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
-
15
- */
16
-
17
- #ifndef _VECTORMATH_AOS_CPP_H
18
- #define _VECTORMATH_AOS_CPP_H
19
-
20
- #include <math.h>
21
-
22
- #ifdef _VECTORMATH_DEBUG
23
- #include <stdio.h>
24
- #endif
25
-
26
- namespace Vectormath {
27
-
28
- namespace Aos {
29
-
30
- //-----------------------------------------------------------------------------
31
- // Forward Declarations
32
- //
33
-
34
- class Vector3;
35
- class Vector4;
36
- class Point3;
37
- class Quat;
38
- class Matrix3;
39
- class Matrix4;
40
- class Transform3;
41
-
42
- // A 3-D vector in array-of-structures format
43
- //
44
- class Vector3
45
- {
46
- float mX;
47
- float mY;
48
- float mZ;
49
- #ifndef __GNUC__
50
- float d;
51
- #endif
52
-
53
- public:
54
- // Default constructor; does no initialization
55
- //
56
- inline Vector3( ) { };
57
-
58
- // Copy a 3-D vector
59
- //
60
- inline Vector3( const Vector3 & vec );
61
-
62
- // Construct a 3-D vector from x, y, and z elements
63
- //
64
- inline Vector3( float x, float y, float z );
65
-
66
- // Copy elements from a 3-D point into a 3-D vector
67
- //
68
- explicit inline Vector3( const Point3 & pnt );
69
-
70
- // Set all elements of a 3-D vector to the same scalar value
71
- //
72
- explicit inline Vector3( float scalar );
73
-
74
- // Assign one 3-D vector to another
75
- //
76
- inline Vector3 & operator =( const Vector3 & vec );
77
-
78
- // Set the x element of a 3-D vector
79
- //
80
- inline Vector3 & setX( float x );
81
-
82
- // Set the y element of a 3-D vector
83
- //
84
- inline Vector3 & setY( float y );
85
-
86
- // Set the z element of a 3-D vector
87
- //
88
- inline Vector3 & setZ( float z );
89
-
90
- // Get the x element of a 3-D vector
91
- //
92
- inline float getX( ) const;
93
-
94
- // Get the y element of a 3-D vector
95
- //
96
- inline float getY( ) const;
97
-
98
- // Get the z element of a 3-D vector
99
- //
100
- inline float getZ( ) const;
101
-
102
- // Set an x, y, or z element of a 3-D vector by index
103
- //
104
- inline Vector3 & setElem( int idx, float value );
105
-
106
- // Get an x, y, or z element of a 3-D vector by index
107
- //
108
- inline float getElem( int idx ) const;
109
-
110
- // Subscripting operator to set or get an element
111
- //
112
- inline float & operator []( int idx );
113
-
114
- // Subscripting operator to get an element
115
- //
116
- inline float operator []( int idx ) const;
117
-
118
- // Add two 3-D vectors
119
- //
120
- inline const Vector3 operator +( const Vector3 & vec ) const;
121
-
122
- // Subtract a 3-D vector from another 3-D vector
123
- //
124
- inline const Vector3 operator -( const Vector3 & vec ) const;
125
-
126
- // Add a 3-D vector to a 3-D point
127
- //
128
- inline const Point3 operator +( const Point3 & pnt ) const;
129
-
130
- // Multiply a 3-D vector by a scalar
131
- //
132
- inline const Vector3 operator *( float scalar ) const;
133
-
134
- // Divide a 3-D vector by a scalar
135
- //
136
- inline const Vector3 operator /( float scalar ) const;
137
-
138
- // Perform compound assignment and addition with a 3-D vector
139
- //
140
- inline Vector3 & operator +=( const Vector3 & vec );
141
-
142
- // Perform compound assignment and subtraction by a 3-D vector
143
- //
144
- inline Vector3 & operator -=( const Vector3 & vec );
145
-
146
- // Perform compound assignment and multiplication by a scalar
147
- //
148
- inline Vector3 & operator *=( float scalar );
149
-
150
- // Perform compound assignment and division by a scalar
151
- //
152
- inline Vector3 & operator /=( float scalar );
153
-
154
- // Negate all elements of a 3-D vector
155
- //
156
- inline const Vector3 operator -( ) const;
157
-
158
- // Construct x axis
159
- //
160
- static inline const Vector3 xAxis( );
161
-
162
- // Construct y axis
163
- //
164
- static inline const Vector3 yAxis( );
165
-
166
- // Construct z axis
167
- //
168
- static inline const Vector3 zAxis( );
169
-
170
- }
171
- #ifdef __GNUC__
172
- __attribute__ ((aligned(16)))
173
- #endif
174
- ;
175
-
176
- // Multiply a 3-D vector by a scalar
177
- //
178
- inline const Vector3 operator *( float scalar, const Vector3 & vec );
179
-
180
- // Multiply two 3-D vectors per element
181
- //
182
- inline const Vector3 mulPerElem( const Vector3 & vec0, const Vector3 & vec1 );
183
-
184
- // Divide two 3-D vectors per element
185
- // NOTE:
186
- // Floating-point behavior matches standard library function divf4.
187
- //
188
- inline const Vector3 divPerElem( const Vector3 & vec0, const Vector3 & vec1 );
189
-
190
- // Compute the reciprocal of a 3-D vector per element
191
- // NOTE:
192
- // Floating-point behavior matches standard library function recipf4.
193
- //
194
- inline const Vector3 recipPerElem( const Vector3 & vec );
195
-
196
- // Compute the square root of a 3-D vector per element
197
- // NOTE:
198
- // Floating-point behavior matches standard library function sqrtf4.
199
- //
200
- inline const Vector3 sqrtPerElem( const Vector3 & vec );
201
-
202
- // Compute the reciprocal square root of a 3-D vector per element
203
- // NOTE:
204
- // Floating-point behavior matches standard library function rsqrtf4.
205
- //
206
- inline const Vector3 rsqrtPerElem( const Vector3 & vec );
207
-
208
- // Compute the absolute value of a 3-D vector per element
209
- //
210
- inline const Vector3 absPerElem( const Vector3 & vec );
211
-
212
- // Copy sign from one 3-D vector to another, per element
213
- //
214
- inline const Vector3 copySignPerElem( const Vector3 & vec0, const Vector3 & vec1 );
215
-
216
- // Maximum of two 3-D vectors per element
217
- //
218
- inline const Vector3 maxPerElem( const Vector3 & vec0, const Vector3 & vec1 );
219
-
220
- // Minimum of two 3-D vectors per element
221
- //
222
- inline const Vector3 minPerElem( const Vector3 & vec0, const Vector3 & vec1 );
223
-
224
- // Maximum element of a 3-D vector
225
- //
226
- inline float maxElem( const Vector3 & vec );
227
-
228
- // Minimum element of a 3-D vector
229
- //
230
- inline float minElem( const Vector3 & vec );
231
-
232
- // Compute the sum of all elements of a 3-D vector
233
- //
234
- inline float sum( const Vector3 & vec );
235
-
236
- // Compute the dot product of two 3-D vectors
237
- //
238
- inline float dot( const Vector3 & vec0, const Vector3 & vec1 );
239
-
240
- // Compute the square of the length of a 3-D vector
241
- //
242
- inline float lengthSqr( const Vector3 & vec );
243
-
244
- // Compute the length of a 3-D vector
245
- //
246
- inline float length( const Vector3 & vec );
247
-
248
- // Normalize a 3-D vector
249
- // NOTE:
250
- // The result is unpredictable when all elements of vec are at or near zero.
251
- //
252
- inline const Vector3 normalize( const Vector3 & vec );
253
-
254
- // Compute cross product of two 3-D vectors
255
- //
256
- inline const Vector3 cross( const Vector3 & vec0, const Vector3 & vec1 );
257
-
258
- // Outer product of two 3-D vectors
259
- //
260
- inline const Matrix3 outer( const Vector3 & vec0, const Vector3 & vec1 );
261
-
262
- // Pre-multiply a row vector by a 3x3 matrix
263
- //
264
- inline const Vector3 rowMul( const Vector3 & vec, const Matrix3 & mat );
265
-
266
- // Cross-product matrix of a 3-D vector
267
- //
268
- inline const Matrix3 crossMatrix( const Vector3 & vec );
269
-
270
- // Create cross-product matrix and multiply
271
- // NOTE:
272
- // Faster than separately creating a cross-product matrix and multiplying.
273
- //
274
- inline const Matrix3 crossMatrixMul( const Vector3 & vec, const Matrix3 & mat );
275
-
276
- // Linear interpolation between two 3-D vectors
277
- // NOTE:
278
- // Does not clamp t between 0 and 1.
279
- //
280
- inline const Vector3 lerp( float t, const Vector3 & vec0, const Vector3 & vec1 );
281
-
282
- // Spherical linear interpolation between two 3-D vectors
283
- // NOTE:
284
- // The result is unpredictable if the vectors point in opposite directions.
285
- // Does not clamp t between 0 and 1.
286
- //
287
- inline const Vector3 slerp( float t, const Vector3 & unitVec0, const Vector3 & unitVec1 );
288
-
289
- // Conditionally select between two 3-D vectors
290
- //
291
- inline const Vector3 select( const Vector3 & vec0, const Vector3 & vec1, bool select1 );
292
-
293
- // Load x, y, and z elements from the first three words of a float array.
294
- //
295
- //
296
- inline void loadXYZ( Vector3 & vec, const float * fptr );
297
-
298
- // Store x, y, and z elements of a 3-D vector in the first three words of a float array.
299
- // Memory area of previous 16 bytes and next 32 bytes from fptr might be accessed
300
- //
301
- inline void storeXYZ( const Vector3 & vec, float * fptr );
302
-
303
- // Load three-half-floats as a 3-D vector
304
- // NOTE:
305
- // This transformation does not support either denormalized numbers or NaNs.
306
- //
307
- inline void loadHalfFloats( Vector3 & vec, const unsigned short * hfptr );
308
-
309
- // Store a 3-D vector as half-floats. Memory area of previous 16 bytes and next 32 bytes from <code><i>hfptr</i></code> might be accessed.
310
- // NOTE:
311
- // This transformation does not support either denormalized numbers or NaNs. Memory area of previous 16 bytes and next 32 bytes from hfptr might be accessed.
312
- //
313
- inline void storeHalfFloats( const Vector3 & vec, unsigned short * hfptr );
314
-
315
- #ifdef _VECTORMATH_DEBUG
316
-
317
- // Print a 3-D vector
318
- // NOTE:
319
- // Function is only defined when _VECTORMATH_DEBUG is defined.
320
- //
321
- inline void print( const Vector3 & vec );
322
-
323
- // Print a 3-D vector and an associated string identifier
324
- // NOTE:
325
- // Function is only defined when _VECTORMATH_DEBUG is defined.
326
- //
327
- inline void print( const Vector3 & vec, const char * name );
328
-
329
- #endif
330
-
331
- // A 4-D vector in array-of-structures format
332
- //
333
- class Vector4
334
- {
335
- float mX;
336
- float mY;
337
- float mZ;
338
- float mW;
339
-
340
- public:
341
- // Default constructor; does no initialization
342
- //
343
- inline Vector4( ) { };
344
-
345
- // Copy a 4-D vector
346
- //
347
- inline Vector4( const Vector4 & vec );
348
-
349
- // Construct a 4-D vector from x, y, z, and w elements
350
- //
351
- inline Vector4( float x, float y, float z, float w );
352
-
353
- // Construct a 4-D vector from a 3-D vector and a scalar
354
- //
355
- inline Vector4( const Vector3 & xyz, float w );
356
-
357
- // Copy x, y, and z from a 3-D vector into a 4-D vector, and set w to 0
358
- //
359
- explicit inline Vector4( const Vector3 & vec );
360
-
361
- // Copy x, y, and z from a 3-D point into a 4-D vector, and set w to 1
362
- //
363
- explicit inline Vector4( const Point3 & pnt );
364
-
365
- // Copy elements from a quaternion into a 4-D vector
366
- //
367
- explicit inline Vector4( const Quat & quat );
368
-
369
- // Set all elements of a 4-D vector to the same scalar value
370
- //
371
- explicit inline Vector4( float scalar );
372
-
373
- // Assign one 4-D vector to another
374
- //
375
- inline Vector4 & operator =( const Vector4 & vec );
376
-
377
- // Set the x, y, and z elements of a 4-D vector
378
- // NOTE:
379
- // This function does not change the w element.
380
- //
381
- inline Vector4 & setXYZ( const Vector3 & vec );
382
-
383
- // Get the x, y, and z elements of a 4-D vector
384
- //
385
- inline const Vector3 getXYZ( ) const;
386
-
387
- // Set the x element of a 4-D vector
388
- //
389
- inline Vector4 & setX( float x );
390
-
391
- // Set the y element of a 4-D vector
392
- //
393
- inline Vector4 & setY( float y );
394
-
395
- // Set the z element of a 4-D vector
396
- //
397
- inline Vector4 & setZ( float z );
398
-
399
- // Set the w element of a 4-D vector
400
- //
401
- inline Vector4 & setW( float w );
402
-
403
- // Get the x element of a 4-D vector
404
- //
405
- inline float getX( ) const;
406
-
407
- // Get the y element of a 4-D vector
408
- //
409
- inline float getY( ) const;
410
-
411
- // Get the z element of a 4-D vector
412
- //
413
- inline float getZ( ) const;
414
-
415
- // Get the w element of a 4-D vector
416
- //
417
- inline float getW( ) const;
418
-
419
- // Set an x, y, z, or w element of a 4-D vector by index
420
- //
421
- inline Vector4 & setElem( int idx, float value );
422
-
423
- // Get an x, y, z, or w element of a 4-D vector by index
424
- //
425
- inline float getElem( int idx ) const;
426
-
427
- // Subscripting operator to set or get an element
428
- //
429
- inline float & operator []( int idx );
430
-
431
- // Subscripting operator to get an element
432
- //
433
- inline float operator []( int idx ) const;
434
-
435
- // Add two 4-D vectors
436
- //
437
- inline const Vector4 operator +( const Vector4 & vec ) const;
438
-
439
- // Subtract a 4-D vector from another 4-D vector
440
- //
441
- inline const Vector4 operator -( const Vector4 & vec ) const;
442
-
443
- // Multiply a 4-D vector by a scalar
444
- //
445
- inline const Vector4 operator *( float scalar ) const;
446
-
447
- // Divide a 4-D vector by a scalar
448
- //
449
- inline const Vector4 operator /( float scalar ) const;
450
-
451
- // Perform compound assignment and addition with a 4-D vector
452
- //
453
- inline Vector4 & operator +=( const Vector4 & vec );
454
-
455
- // Perform compound assignment and subtraction by a 4-D vector
456
- //
457
- inline Vector4 & operator -=( const Vector4 & vec );
458
-
459
- // Perform compound assignment and multiplication by a scalar
460
- //
461
- inline Vector4 & operator *=( float scalar );
462
-
463
- // Perform compound assignment and division by a scalar
464
- //
465
- inline Vector4 & operator /=( float scalar );
466
-
467
- // Negate all elements of a 4-D vector
468
- //
469
- inline const Vector4 operator -( ) const;
470
-
471
- // Construct x axis
472
- //
473
- static inline const Vector4 xAxis( );
474
-
475
- // Construct y axis
476
- //
477
- static inline const Vector4 yAxis( );
478
-
479
- // Construct z axis
480
- //
481
- static inline const Vector4 zAxis( );
482
-
483
- // Construct w axis
484
- //
485
- static inline const Vector4 wAxis( );
486
-
487
- }
488
- #ifdef __GNUC__
489
- __attribute__ ((aligned(16)))
490
- #endif
491
- ;
492
-
493
- // Multiply a 4-D vector by a scalar
494
- //
495
- inline const Vector4 operator *( float scalar, const Vector4 & vec );
496
-
497
- // Multiply two 4-D vectors per element
498
- //
499
- inline const Vector4 mulPerElem( const Vector4 & vec0, const Vector4 & vec1 );
500
-
501
- // Divide two 4-D vectors per element
502
- // NOTE:
503
- // Floating-point behavior matches standard library function divf4.
504
- //
505
- inline const Vector4 divPerElem( const Vector4 & vec0, const Vector4 & vec1 );
506
-
507
- // Compute the reciprocal of a 4-D vector per element
508
- // NOTE:
509
- // Floating-point behavior matches standard library function recipf4.
510
- //
511
- inline const Vector4 recipPerElem( const Vector4 & vec );
512
-
513
- // Compute the square root of a 4-D vector per element
514
- // NOTE:
515
- // Floating-point behavior matches standard library function sqrtf4.
516
- //
517
- inline const Vector4 sqrtPerElem( const Vector4 & vec );
518
-
519
- // Compute the reciprocal square root of a 4-D vector per element
520
- // NOTE:
521
- // Floating-point behavior matches standard library function rsqrtf4.
522
- //
523
- inline const Vector4 rsqrtPerElem( const Vector4 & vec );
524
-
525
- // Compute the absolute value of a 4-D vector per element
526
- //
527
- inline const Vector4 absPerElem( const Vector4 & vec );
528
-
529
- // Copy sign from one 4-D vector to another, per element
530
- //
531
- inline const Vector4 copySignPerElem( const Vector4 & vec0, const Vector4 & vec1 );
532
-
533
- // Maximum of two 4-D vectors per element
534
- //
535
- inline const Vector4 maxPerElem( const Vector4 & vec0, const Vector4 & vec1 );
536
-
537
- // Minimum of two 4-D vectors per element
538
- //
539
- inline const Vector4 minPerElem( const Vector4 & vec0, const Vector4 & vec1 );
540
-
541
- // Maximum element of a 4-D vector
542
- //
543
- inline float maxElem( const Vector4 & vec );
544
-
545
- // Minimum element of a 4-D vector
546
- //
547
- inline float minElem( const Vector4 & vec );
548
-
549
- // Compute the sum of all elements of a 4-D vector
550
- //
551
- inline float sum( const Vector4 & vec );
552
-
553
- // Compute the dot product of two 4-D vectors
554
- //
555
- inline float dot( const Vector4 & vec0, const Vector4 & vec1 );
556
-
557
- // Compute the square of the length of a 4-D vector
558
- //
559
- inline float lengthSqr( const Vector4 & vec );
560
-
561
- // Compute the length of a 4-D vector
562
- //
563
- inline float length( const Vector4 & vec );
564
-
565
- // Normalize a 4-D vector
566
- // NOTE:
567
- // The result is unpredictable when all elements of vec are at or near zero.
568
- //
569
- inline const Vector4 normalize( const Vector4 & vec );
570
-
571
- // Outer product of two 4-D vectors
572
- //
573
- inline const Matrix4 outer( const Vector4 & vec0, const Vector4 & vec1 );
574
-
575
- // Linear interpolation between two 4-D vectors
576
- // NOTE:
577
- // Does not clamp t between 0 and 1.
578
- //
579
- inline const Vector4 lerp( float t, const Vector4 & vec0, const Vector4 & vec1 );
580
-
581
- // Spherical linear interpolation between two 4-D vectors
582
- // NOTE:
583
- // The result is unpredictable if the vectors point in opposite directions.
584
- // Does not clamp t between 0 and 1.
585
- //
586
- inline const Vector4 slerp( float t, const Vector4 & unitVec0, const Vector4 & unitVec1 );
587
-
588
- // Conditionally select between two 4-D vectors
589
- //
590
- inline const Vector4 select( const Vector4 & vec0, const Vector4 & vec1, bool select1 );
591
-
592
- // Load x, y, z, and w elements from the first four words of a float array.
593
- //
594
- //
595
- inline void loadXYZW( Vector4 & vec, const float * fptr );
596
-
597
- // Store x, y, z, and w elements of a 4-D vector in the first four words of a float array.
598
- // Memory area of previous 16 bytes and next 32 bytes from fptr might be accessed
599
- //
600
- inline void storeXYZW( const Vector4 & vec, float * fptr );
601
-
602
- // Load four-half-floats as a 4-D vector
603
- // NOTE:
604
- // This transformation does not support either denormalized numbers or NaNs.
605
- //
606
- inline void loadHalfFloats( Vector4 & vec, const unsigned short * hfptr );
607
-
608
- // Store a 4-D vector as half-floats. Memory area of previous 16 bytes and next 32 bytes from <code><i>hfptr</i></code> might be accessed.
609
- // NOTE:
610
- // This transformation does not support either denormalized numbers or NaNs. Memory area of previous 16 bytes and next 32 bytes from hfptr might be accessed.
611
- //
612
- inline void storeHalfFloats( const Vector4 & vec, unsigned short * hfptr );
613
-
614
- #ifdef _VECTORMATH_DEBUG
615
-
616
- // Print a 4-D vector
617
- // NOTE:
618
- // Function is only defined when _VECTORMATH_DEBUG is defined.
619
- //
620
- inline void print( const Vector4 & vec );
621
-
622
- // Print a 4-D vector and an associated string identifier
623
- // NOTE:
624
- // Function is only defined when _VECTORMATH_DEBUG is defined.
625
- //
626
- inline void print( const Vector4 & vec, const char * name );
627
-
628
- #endif
629
-
630
- // A 3-D point in array-of-structures format
631
- //
632
- class Point3
633
- {
634
- float mX;
635
- float mY;
636
- float mZ;
637
- #ifndef __GNUC__
638
- float d;
639
- #endif
640
-
641
- public:
642
- // Default constructor; does no initialization
643
- //
644
- inline Point3( ) { };
645
-
646
- // Copy a 3-D point
647
- //
648
- inline Point3( const Point3 & pnt );
649
-
650
- // Construct a 3-D point from x, y, and z elements
651
- //
652
- inline Point3( float x, float y, float z );
653
-
654
- // Copy elements from a 3-D vector into a 3-D point
655
- //
656
- explicit inline Point3( const Vector3 & vec );
657
-
658
- // Set all elements of a 3-D point to the same scalar value
659
- //
660
- explicit inline Point3( float scalar );
661
-
662
- // Assign one 3-D point to another
663
- //
664
- inline Point3 & operator =( const Point3 & pnt );
665
-
666
- // Set the x element of a 3-D point
667
- //
668
- inline Point3 & setX( float x );
669
-
670
- // Set the y element of a 3-D point
671
- //
672
- inline Point3 & setY( float y );
673
-
674
- // Set the z element of a 3-D point
675
- //
676
- inline Point3 & setZ( float z );
677
-
678
- // Get the x element of a 3-D point
679
- //
680
- inline float getX( ) const;
681
-
682
- // Get the y element of a 3-D point
683
- //
684
- inline float getY( ) const;
685
-
686
- // Get the z element of a 3-D point
687
- //
688
- inline float getZ( ) const;
689
-
690
- // Set an x, y, or z element of a 3-D point by index
691
- //
692
- inline Point3 & setElem( int idx, float value );
693
-
694
- // Get an x, y, or z element of a 3-D point by index
695
- //
696
- inline float getElem( int idx ) const;
697
-
698
- // Subscripting operator to set or get an element
699
- //
700
- inline float & operator []( int idx );
701
-
702
- // Subscripting operator to get an element
703
- //
704
- inline float operator []( int idx ) const;
705
-
706
- // Subtract a 3-D point from another 3-D point
707
- //
708
- inline const Vector3 operator -( const Point3 & pnt ) const;
709
-
710
- // Add a 3-D point to a 3-D vector
711
- //
712
- inline const Point3 operator +( const Vector3 & vec ) const;
713
-
714
- // Subtract a 3-D vector from a 3-D point
715
- //
716
- inline const Point3 operator -( const Vector3 & vec ) const;
717
-
718
- // Perform compound assignment and addition with a 3-D vector
719
- //
720
- inline Point3 & operator +=( const Vector3 & vec );
721
-
722
- // Perform compound assignment and subtraction by a 3-D vector
723
- //
724
- inline Point3 & operator -=( const Vector3 & vec );
725
-
726
- }
727
- #ifdef __GNUC__
728
- __attribute__ ((aligned(16)))
729
- #endif
730
- ;
731
-
732
- // Multiply two 3-D points per element
733
- //
734
- inline const Point3 mulPerElem( const Point3 & pnt0, const Point3 & pnt1 );
735
-
736
- // Divide two 3-D points per element
737
- // NOTE:
738
- // Floating-point behavior matches standard library function divf4.
739
- //
740
- inline const Point3 divPerElem( const Point3 & pnt0, const Point3 & pnt1 );
741
-
742
- // Compute the reciprocal of a 3-D point per element
743
- // NOTE:
744
- // Floating-point behavior matches standard library function recipf4.
745
- //
746
- inline const Point3 recipPerElem( const Point3 & pnt );
747
-
748
- // Compute the square root of a 3-D point per element
749
- // NOTE:
750
- // Floating-point behavior matches standard library function sqrtf4.
751
- //
752
- inline const Point3 sqrtPerElem( const Point3 & pnt );
753
-
754
- // Compute the reciprocal square root of a 3-D point per element
755
- // NOTE:
756
- // Floating-point behavior matches standard library function rsqrtf4.
757
- //
758
- inline const Point3 rsqrtPerElem( const Point3 & pnt );
759
-
760
- // Compute the absolute value of a 3-D point per element
761
- //
762
- inline const Point3 absPerElem( const Point3 & pnt );
763
-
764
- // Copy sign from one 3-D point to another, per element
765
- //
766
- inline const Point3 copySignPerElem( const Point3 & pnt0, const Point3 & pnt1 );
767
-
768
- // Maximum of two 3-D points per element
769
- //
770
- inline const Point3 maxPerElem( const Point3 & pnt0, const Point3 & pnt1 );
771
-
772
- // Minimum of two 3-D points per element
773
- //
774
- inline const Point3 minPerElem( const Point3 & pnt0, const Point3 & pnt1 );
775
-
776
- // Maximum element of a 3-D point
777
- //
778
- inline float maxElem( const Point3 & pnt );
779
-
780
- // Minimum element of a 3-D point
781
- //
782
- inline float minElem( const Point3 & pnt );
783
-
784
- // Compute the sum of all elements of a 3-D point
785
- //
786
- inline float sum( const Point3 & pnt );
787
-
788
- // Apply uniform scale to a 3-D point
789
- //
790
- inline const Point3 scale( const Point3 & pnt, float scaleVal );
791
-
792
- // Apply non-uniform scale to a 3-D point
793
- //
794
- inline const Point3 scale( const Point3 & pnt, const Vector3 & scaleVec );
795
-
796
- // Scalar projection of a 3-D point on a unit-length 3-D vector
797
- //
798
- inline float projection( const Point3 & pnt, const Vector3 & unitVec );
799
-
800
- // Compute the square of the distance of a 3-D point from the coordinate-system origin
801
- //
802
- inline float distSqrFromOrigin( const Point3 & pnt );
803
-
804
- // Compute the distance of a 3-D point from the coordinate-system origin
805
- //
806
- inline float distFromOrigin( const Point3 & pnt );
807
-
808
- // Compute the square of the distance between two 3-D points
809
- //
810
- inline float distSqr( const Point3 & pnt0, const Point3 & pnt1 );
811
-
812
- // Compute the distance between two 3-D points
813
- //
814
- inline float dist( const Point3 & pnt0, const Point3 & pnt1 );
815
-
816
- // Linear interpolation between two 3-D points
817
- // NOTE:
818
- // Does not clamp t between 0 and 1.
819
- //
820
- inline const Point3 lerp( float t, const Point3 & pnt0, const Point3 & pnt1 );
821
-
822
- // Conditionally select between two 3-D points
823
- //
824
- inline const Point3 select( const Point3 & pnt0, const Point3 & pnt1, bool select1 );
825
-
826
- // Load x, y, and z elements from the first three words of a float array.
827
- //
828
- //
829
- inline void loadXYZ( Point3 & pnt, const float * fptr );
830
-
831
- // Store x, y, and z elements of a 3-D point in the first three words of a float array.
832
- // Memory area of previous 16 bytes and next 32 bytes from fptr might be accessed
833
- //
834
- inline void storeXYZ( const Point3 & pnt, float * fptr );
835
-
836
- // Load three-half-floats as a 3-D point
837
- // NOTE:
838
- // This transformation does not support either denormalized numbers or NaNs.
839
- //
840
- inline void loadHalfFloats( Point3 & pnt, const unsigned short * hfptr );
841
-
842
- // Store a 3-D point as half-floats. Memory area of previous 16 bytes and next 32 bytes from <code><i>hfptr</i></code> might be accessed.
843
- // NOTE:
844
- // This transformation does not support either denormalized numbers or NaNs. Memory area of previous 16 bytes and next 32 bytes from hfptr might be accessed.
845
- //
846
- inline void storeHalfFloats( const Point3 & pnt, unsigned short * hfptr );
847
-
848
- #ifdef _VECTORMATH_DEBUG
849
-
850
- // Print a 3-D point
851
- // NOTE:
852
- // Function is only defined when _VECTORMATH_DEBUG is defined.
853
- //
854
- inline void print( const Point3 & pnt );
855
-
856
- // Print a 3-D point and an associated string identifier
857
- // NOTE:
858
- // Function is only defined when _VECTORMATH_DEBUG is defined.
859
- //
860
- inline void print( const Point3 & pnt, const char * name );
861
-
862
- #endif
863
-
864
- // A quaternion in array-of-structures format
865
- //
866
- class Quat
867
- {
868
- float mX;
869
- float mY;
870
- float mZ;
871
- float mW;
872
-
873
- public:
874
- // Default constructor; does no initialization
875
- //
876
- inline Quat( ) { };
877
-
878
- // Copy a quaternion
879
- //
880
- inline Quat( const Quat & quat );
881
-
882
- // Construct a quaternion from x, y, z, and w elements
883
- //
884
- inline Quat( float x, float y, float z, float w );
885
-
886
- // Construct a quaternion from a 3-D vector and a scalar
887
- //
888
- inline Quat( const Vector3 & xyz, float w );
889
-
890
- // Copy elements from a 4-D vector into a quaternion
891
- //
892
- explicit inline Quat( const Vector4 & vec );
893
-
894
- // Convert a rotation matrix to a unit-length quaternion
895
- //
896
- explicit inline Quat( const Matrix3 & rotMat );
897
-
898
- // Set all elements of a quaternion to the same scalar value
899
- //
900
- explicit inline Quat( float scalar );
901
-
902
- // Assign one quaternion to another
903
- //
904
- inline Quat & operator =( const Quat & quat );
905
-
906
- // Set the x, y, and z elements of a quaternion
907
- // NOTE:
908
- // This function does not change the w element.
909
- //
910
- inline Quat & setXYZ( const Vector3 & vec );
911
-
912
- // Get the x, y, and z elements of a quaternion
913
- //
914
- inline const Vector3 getXYZ( ) const;
915
-
916
- // Set the x element of a quaternion
917
- //
918
- inline Quat & setX( float x );
919
-
920
- // Set the y element of a quaternion
921
- //
922
- inline Quat & setY( float y );
923
-
924
- // Set the z element of a quaternion
925
- //
926
- inline Quat & setZ( float z );
927
-
928
- // Set the w element of a quaternion
929
- //
930
- inline Quat & setW( float w );
931
-
932
- // Get the x element of a quaternion
933
- //
934
- inline float getX( ) const;
935
-
936
- // Get the y element of a quaternion
937
- //
938
- inline float getY( ) const;
939
-
940
- // Get the z element of a quaternion
941
- //
942
- inline float getZ( ) const;
943
-
944
- // Get the w element of a quaternion
945
- //
946
- inline float getW( ) const;
947
-
948
- // Set an x, y, z, or w element of a quaternion by index
949
- //
950
- inline Quat & setElem( int idx, float value );
951
-
952
- // Get an x, y, z, or w element of a quaternion by index
953
- //
954
- inline float getElem( int idx ) const;
955
-
956
- // Subscripting operator to set or get an element
957
- //
958
- inline float & operator []( int idx );
959
-
960
- // Subscripting operator to get an element
961
- //
962
- inline float operator []( int idx ) const;
963
-
964
- // Add two quaternions
965
- //
966
- inline const Quat operator +( const Quat & quat ) const;
967
-
968
- // Subtract a quaternion from another quaternion
969
- //
970
- inline const Quat operator -( const Quat & quat ) const;
971
-
972
- // Multiply two quaternions
973
- //
974
- inline const Quat operator *( const Quat & quat ) const;
975
-
976
- // Multiply a quaternion by a scalar
977
- //
978
- inline const Quat operator *( float scalar ) const;
979
-
980
- // Divide a quaternion by a scalar
981
- //
982
- inline const Quat operator /( float scalar ) const;
983
-
984
- // Perform compound assignment and addition with a quaternion
985
- //
986
- inline Quat & operator +=( const Quat & quat );
987
-
988
- // Perform compound assignment and subtraction by a quaternion
989
- //
990
- inline Quat & operator -=( const Quat & quat );
991
-
992
- // Perform compound assignment and multiplication by a quaternion
993
- //
994
- inline Quat & operator *=( const Quat & quat );
995
-
996
- // Perform compound assignment and multiplication by a scalar
997
- //
998
- inline Quat & operator *=( float scalar );
999
-
1000
- // Perform compound assignment and division by a scalar
1001
- //
1002
- inline Quat & operator /=( float scalar );
1003
-
1004
- // Negate all elements of a quaternion
1005
- //
1006
- inline const Quat operator -( ) const;
1007
-
1008
- // Construct an identity quaternion
1009
- //
1010
- static inline const Quat identity( );
1011
-
1012
- // Construct a quaternion to rotate between two unit-length 3-D vectors
1013
- // NOTE:
1014
- // The result is unpredictable if unitVec0 and unitVec1 point in opposite directions.
1015
- //
1016
- static inline const Quat rotation( const Vector3 & unitVec0, const Vector3 & unitVec1 );
1017
-
1018
- // Construct a quaternion to rotate around a unit-length 3-D vector
1019
- //
1020
- static inline const Quat rotation( float radians, const Vector3 & unitVec );
1021
-
1022
- // Construct a quaternion to rotate around the x axis
1023
- //
1024
- static inline const Quat rotationX( float radians );
1025
-
1026
- // Construct a quaternion to rotate around the y axis
1027
- //
1028
- static inline const Quat rotationY( float radians );
1029
-
1030
- // Construct a quaternion to rotate around the z axis
1031
- //
1032
- static inline const Quat rotationZ( float radians );
1033
-
1034
- }
1035
- #ifdef __GNUC__
1036
- __attribute__ ((aligned(16)))
1037
- #endif
1038
- ;
1039
-
1040
- // Multiply a quaternion by a scalar
1041
- //
1042
- inline const Quat operator *( float scalar, const Quat & quat );
1043
-
1044
- // Compute the conjugate of a quaternion
1045
- //
1046
- inline const Quat conj( const Quat & quat );
1047
-
1048
- // Use a unit-length quaternion to rotate a 3-D vector
1049
- //
1050
- inline const Vector3 rotate( const Quat & unitQuat, const Vector3 & vec );
1051
-
1052
- // Compute the dot product of two quaternions
1053
- //
1054
- inline float dot( const Quat & quat0, const Quat & quat1 );
1055
-
1056
- // Compute the norm of a quaternion
1057
- //
1058
- inline float norm( const Quat & quat );
1059
-
1060
- // Compute the length of a quaternion
1061
- //
1062
- inline float length( const Quat & quat );
1063
-
1064
- // Normalize a quaternion
1065
- // NOTE:
1066
- // The result is unpredictable when all elements of quat are at or near zero.
1067
- //
1068
- inline const Quat normalize( const Quat & quat );
1069
-
1070
- // Linear interpolation between two quaternions
1071
- // NOTE:
1072
- // Does not clamp t between 0 and 1.
1073
- //
1074
- inline const Quat lerp( float t, const Quat & quat0, const Quat & quat1 );
1075
-
1076
- // Spherical linear interpolation between two quaternions
1077
- // NOTE:
1078
- // Interpolates along the shortest path between orientations.
1079
- // Does not clamp t between 0 and 1.
1080
- //
1081
- inline const Quat slerp( float t, const Quat & unitQuat0, const Quat & unitQuat1 );
1082
-
1083
- // Spherical quadrangle interpolation
1084
- //
1085
- inline const Quat squad( float t, const Quat & unitQuat0, const Quat & unitQuat1, const Quat & unitQuat2, const Quat & unitQuat3 );
1086
-
1087
- // Conditionally select between two quaternions
1088
- //
1089
- inline const Quat select( const Quat & quat0, const Quat & quat1, bool select1 );
1090
-
1091
- // Load x, y, z, and w elements from the first four words of a float array.
1092
- //
1093
- //
1094
- inline void loadXYZW( Quat & quat, const float * fptr );
1095
-
1096
- // Store x, y, z, and w elements of a quaternion in the first four words of a float array.
1097
- // Memory area of previous 16 bytes and next 32 bytes from fptr might be accessed
1098
- //
1099
- inline void storeXYZW( const Quat & quat, float * fptr );
1100
-
1101
- #ifdef _VECTORMATH_DEBUG
1102
-
1103
- // Print a quaternion
1104
- // NOTE:
1105
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1106
- //
1107
- inline void print( const Quat & quat );
1108
-
1109
- // Print a quaternion and an associated string identifier
1110
- // NOTE:
1111
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1112
- //
1113
- inline void print( const Quat & quat, const char * name );
1114
-
1115
- #endif
1116
-
1117
- // A 3x3 matrix in array-of-structures format
1118
- //
1119
- class Matrix3
1120
- {
1121
- Vector3 mCol0;
1122
- Vector3 mCol1;
1123
- Vector3 mCol2;
1124
-
1125
- public:
1126
- // Default constructor; does no initialization
1127
- //
1128
- inline Matrix3( ) { };
1129
-
1130
- // Copy a 3x3 matrix
1131
- //
1132
- inline Matrix3( const Matrix3 & mat );
1133
-
1134
- // Construct a 3x3 matrix containing the specified columns
1135
- //
1136
- inline Matrix3( const Vector3 & col0, const Vector3 & col1, const Vector3 & col2 );
1137
-
1138
- // Construct a 3x3 rotation matrix from a unit-length quaternion
1139
- //
1140
- explicit inline Matrix3( const Quat & unitQuat );
1141
-
1142
- // Set all elements of a 3x3 matrix to the same scalar value
1143
- //
1144
- explicit inline Matrix3( float scalar );
1145
-
1146
- // Assign one 3x3 matrix to another
1147
- //
1148
- inline Matrix3 & operator =( const Matrix3 & mat );
1149
-
1150
- // Set column 0 of a 3x3 matrix
1151
- //
1152
- inline Matrix3 & setCol0( const Vector3 & col0 );
1153
-
1154
- // Set column 1 of a 3x3 matrix
1155
- //
1156
- inline Matrix3 & setCol1( const Vector3 & col1 );
1157
-
1158
- // Set column 2 of a 3x3 matrix
1159
- //
1160
- inline Matrix3 & setCol2( const Vector3 & col2 );
1161
-
1162
- // Get column 0 of a 3x3 matrix
1163
- //
1164
- inline const Vector3 getCol0( ) const;
1165
-
1166
- // Get column 1 of a 3x3 matrix
1167
- //
1168
- inline const Vector3 getCol1( ) const;
1169
-
1170
- // Get column 2 of a 3x3 matrix
1171
- //
1172
- inline const Vector3 getCol2( ) const;
1173
-
1174
- // Set the column of a 3x3 matrix referred to by the specified index
1175
- //
1176
- inline Matrix3 & setCol( int col, const Vector3 & vec );
1177
-
1178
- // Set the row of a 3x3 matrix referred to by the specified index
1179
- //
1180
- inline Matrix3 & setRow( int row, const Vector3 & vec );
1181
-
1182
- // Get the column of a 3x3 matrix referred to by the specified index
1183
- //
1184
- inline const Vector3 getCol( int col ) const;
1185
-
1186
- // Get the row of a 3x3 matrix referred to by the specified index
1187
- //
1188
- inline const Vector3 getRow( int row ) const;
1189
-
1190
- // Subscripting operator to set or get a column
1191
- //
1192
- inline Vector3 & operator []( int col );
1193
-
1194
- // Subscripting operator to get a column
1195
- //
1196
- inline const Vector3 operator []( int col ) const;
1197
-
1198
- // Set the element of a 3x3 matrix referred to by column and row indices
1199
- //
1200
- inline Matrix3 & setElem( int col, int row, float val );
1201
-
1202
- // Get the element of a 3x3 matrix referred to by column and row indices
1203
- //
1204
- inline float getElem( int col, int row ) const;
1205
-
1206
- // Add two 3x3 matrices
1207
- //
1208
- inline const Matrix3 operator +( const Matrix3 & mat ) const;
1209
-
1210
- // Subtract a 3x3 matrix from another 3x3 matrix
1211
- //
1212
- inline const Matrix3 operator -( const Matrix3 & mat ) const;
1213
-
1214
- // Negate all elements of a 3x3 matrix
1215
- //
1216
- inline const Matrix3 operator -( ) const;
1217
-
1218
- // Multiply a 3x3 matrix by a scalar
1219
- //
1220
- inline const Matrix3 operator *( float scalar ) const;
1221
-
1222
- // Multiply a 3x3 matrix by a 3-D vector
1223
- //
1224
- inline const Vector3 operator *( const Vector3 & vec ) const;
1225
-
1226
- // Multiply two 3x3 matrices
1227
- //
1228
- inline const Matrix3 operator *( const Matrix3 & mat ) const;
1229
-
1230
- // Perform compound assignment and addition with a 3x3 matrix
1231
- //
1232
- inline Matrix3 & operator +=( const Matrix3 & mat );
1233
-
1234
- // Perform compound assignment and subtraction by a 3x3 matrix
1235
- //
1236
- inline Matrix3 & operator -=( const Matrix3 & mat );
1237
-
1238
- // Perform compound assignment and multiplication by a scalar
1239
- //
1240
- inline Matrix3 & operator *=( float scalar );
1241
-
1242
- // Perform compound assignment and multiplication by a 3x3 matrix
1243
- //
1244
- inline Matrix3 & operator *=( const Matrix3 & mat );
1245
-
1246
- // Construct an identity 3x3 matrix
1247
- //
1248
- static inline const Matrix3 identity( );
1249
-
1250
- // Construct a 3x3 matrix to rotate around the x axis
1251
- //
1252
- static inline const Matrix3 rotationX( float radians );
1253
-
1254
- // Construct a 3x3 matrix to rotate around the y axis
1255
- //
1256
- static inline const Matrix3 rotationY( float radians );
1257
-
1258
- // Construct a 3x3 matrix to rotate around the z axis
1259
- //
1260
- static inline const Matrix3 rotationZ( float radians );
1261
-
1262
- // Construct a 3x3 matrix to rotate around the x, y, and z axes
1263
- //
1264
- static inline const Matrix3 rotationZYX( const Vector3 & radiansXYZ );
1265
-
1266
- // Construct a 3x3 matrix to rotate around a unit-length 3-D vector
1267
- //
1268
- static inline const Matrix3 rotation( float radians, const Vector3 & unitVec );
1269
-
1270
- // Construct a rotation matrix from a unit-length quaternion
1271
- //
1272
- static inline const Matrix3 rotation( const Quat & unitQuat );
1273
-
1274
- // Construct a 3x3 matrix to perform scaling
1275
- //
1276
- static inline const Matrix3 scale( const Vector3 & scaleVec );
1277
-
1278
- };
1279
- // Multiply a 3x3 matrix by a scalar
1280
- //
1281
- inline const Matrix3 operator *( float scalar, const Matrix3 & mat );
1282
-
1283
- // Append (post-multiply) a scale transformation to a 3x3 matrix
1284
- // NOTE:
1285
- // Faster than creating and multiplying a scale transformation matrix.
1286
- //
1287
- inline const Matrix3 appendScale( const Matrix3 & mat, const Vector3 & scaleVec );
1288
-
1289
- // Prepend (pre-multiply) a scale transformation to a 3x3 matrix
1290
- // NOTE:
1291
- // Faster than creating and multiplying a scale transformation matrix.
1292
- //
1293
- inline const Matrix3 prependScale( const Vector3 & scaleVec, const Matrix3 & mat );
1294
-
1295
- // Multiply two 3x3 matrices per element
1296
- //
1297
- inline const Matrix3 mulPerElem( const Matrix3 & mat0, const Matrix3 & mat1 );
1298
-
1299
- // Compute the absolute value of a 3x3 matrix per element
1300
- //
1301
- inline const Matrix3 absPerElem( const Matrix3 & mat );
1302
-
1303
- // Transpose of a 3x3 matrix
1304
- //
1305
- inline const Matrix3 transpose( const Matrix3 & mat );
1306
-
1307
- // Compute the inverse of a 3x3 matrix
1308
- // NOTE:
1309
- // Result is unpredictable when the determinant of mat is equal to or near 0.
1310
- //
1311
- inline const Matrix3 inverse( const Matrix3 & mat );
1312
-
1313
- // Determinant of a 3x3 matrix
1314
- //
1315
- inline float determinant( const Matrix3 & mat );
1316
-
1317
- // Conditionally select between two 3x3 matrices
1318
- //
1319
- inline const Matrix3 select( const Matrix3 & mat0, const Matrix3 & mat1, bool select1 );
1320
-
1321
- #ifdef _VECTORMATH_DEBUG
1322
-
1323
- // Print a 3x3 matrix
1324
- // NOTE:
1325
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1326
- //
1327
- inline void print( const Matrix3 & mat );
1328
-
1329
- // Print a 3x3 matrix and an associated string identifier
1330
- // NOTE:
1331
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1332
- //
1333
- inline void print( const Matrix3 & mat, const char * name );
1334
-
1335
- #endif
1336
-
1337
- // A 4x4 matrix in array-of-structures format
1338
- //
1339
- class Matrix4
1340
- {
1341
- Vector4 mCol0;
1342
- Vector4 mCol1;
1343
- Vector4 mCol2;
1344
- Vector4 mCol3;
1345
-
1346
- public:
1347
- // Default constructor; does no initialization
1348
- //
1349
- inline Matrix4( ) { };
1350
-
1351
- // Copy a 4x4 matrix
1352
- //
1353
- inline Matrix4( const Matrix4 & mat );
1354
-
1355
- // Construct a 4x4 matrix containing the specified columns
1356
- //
1357
- inline Matrix4( const Vector4 & col0, const Vector4 & col1, const Vector4 & col2, const Vector4 & col3 );
1358
-
1359
- // Construct a 4x4 matrix from a 3x4 transformation matrix
1360
- //
1361
- explicit inline Matrix4( const Transform3 & mat );
1362
-
1363
- // Construct a 4x4 matrix from a 3x3 matrix and a 3-D vector
1364
- //
1365
- inline Matrix4( const Matrix3 & mat, const Vector3 & translateVec );
1366
-
1367
- // Construct a 4x4 matrix from a unit-length quaternion and a 3-D vector
1368
- //
1369
- inline Matrix4( const Quat & unitQuat, const Vector3 & translateVec );
1370
-
1371
- // Set all elements of a 4x4 matrix to the same scalar value
1372
- //
1373
- explicit inline Matrix4( float scalar );
1374
-
1375
- // Assign one 4x4 matrix to another
1376
- //
1377
- inline Matrix4 & operator =( const Matrix4 & mat );
1378
-
1379
- // Set the upper-left 3x3 submatrix
1380
- // NOTE:
1381
- // This function does not change the bottom row elements.
1382
- //
1383
- inline Matrix4 & setUpper3x3( const Matrix3 & mat3 );
1384
-
1385
- // Get the upper-left 3x3 submatrix of a 4x4 matrix
1386
- //
1387
- inline const Matrix3 getUpper3x3( ) const;
1388
-
1389
- // Set translation component
1390
- // NOTE:
1391
- // This function does not change the bottom row elements.
1392
- //
1393
- inline Matrix4 & setTranslation( const Vector3 & translateVec );
1394
-
1395
- // Get the translation component of a 4x4 matrix
1396
- //
1397
- inline const Vector3 getTranslation( ) const;
1398
-
1399
- // Set column 0 of a 4x4 matrix
1400
- //
1401
- inline Matrix4 & setCol0( const Vector4 & col0 );
1402
-
1403
- // Set column 1 of a 4x4 matrix
1404
- //
1405
- inline Matrix4 & setCol1( const Vector4 & col1 );
1406
-
1407
- // Set column 2 of a 4x4 matrix
1408
- //
1409
- inline Matrix4 & setCol2( const Vector4 & col2 );
1410
-
1411
- // Set column 3 of a 4x4 matrix
1412
- //
1413
- inline Matrix4 & setCol3( const Vector4 & col3 );
1414
-
1415
- // Get column 0 of a 4x4 matrix
1416
- //
1417
- inline const Vector4 getCol0( ) const;
1418
-
1419
- // Get column 1 of a 4x4 matrix
1420
- //
1421
- inline const Vector4 getCol1( ) const;
1422
-
1423
- // Get column 2 of a 4x4 matrix
1424
- //
1425
- inline const Vector4 getCol2( ) const;
1426
-
1427
- // Get column 3 of a 4x4 matrix
1428
- //
1429
- inline const Vector4 getCol3( ) const;
1430
-
1431
- // Set the column of a 4x4 matrix referred to by the specified index
1432
- //
1433
- inline Matrix4 & setCol( int col, const Vector4 & vec );
1434
-
1435
- // Set the row of a 4x4 matrix referred to by the specified index
1436
- //
1437
- inline Matrix4 & setRow( int row, const Vector4 & vec );
1438
-
1439
- // Get the column of a 4x4 matrix referred to by the specified index
1440
- //
1441
- inline const Vector4 getCol( int col ) const;
1442
-
1443
- // Get the row of a 4x4 matrix referred to by the specified index
1444
- //
1445
- inline const Vector4 getRow( int row ) const;
1446
-
1447
- // Subscripting operator to set or get a column
1448
- //
1449
- inline Vector4 & operator []( int col );
1450
-
1451
- // Subscripting operator to get a column
1452
- //
1453
- inline const Vector4 operator []( int col ) const;
1454
-
1455
- // Set the element of a 4x4 matrix referred to by column and row indices
1456
- //
1457
- inline Matrix4 & setElem( int col, int row, float val );
1458
-
1459
- // Get the element of a 4x4 matrix referred to by column and row indices
1460
- //
1461
- inline float getElem( int col, int row ) const;
1462
-
1463
- // Add two 4x4 matrices
1464
- //
1465
- inline const Matrix4 operator +( const Matrix4 & mat ) const;
1466
-
1467
- // Subtract a 4x4 matrix from another 4x4 matrix
1468
- //
1469
- inline const Matrix4 operator -( const Matrix4 & mat ) const;
1470
-
1471
- // Negate all elements of a 4x4 matrix
1472
- //
1473
- inline const Matrix4 operator -( ) const;
1474
-
1475
- // Multiply a 4x4 matrix by a scalar
1476
- //
1477
- inline const Matrix4 operator *( float scalar ) const;
1478
-
1479
- // Multiply a 4x4 matrix by a 4-D vector
1480
- //
1481
- inline const Vector4 operator *( const Vector4 & vec ) const;
1482
-
1483
- // Multiply a 4x4 matrix by a 3-D vector
1484
- //
1485
- inline const Vector4 operator *( const Vector3 & vec ) const;
1486
-
1487
- // Multiply a 4x4 matrix by a 3-D point
1488
- //
1489
- inline const Vector4 operator *( const Point3 & pnt ) const;
1490
-
1491
- // Multiply two 4x4 matrices
1492
- //
1493
- inline const Matrix4 operator *( const Matrix4 & mat ) const;
1494
-
1495
- // Multiply a 4x4 matrix by a 3x4 transformation matrix
1496
- //
1497
- inline const Matrix4 operator *( const Transform3 & tfrm ) const;
1498
-
1499
- // Perform compound assignment and addition with a 4x4 matrix
1500
- //
1501
- inline Matrix4 & operator +=( const Matrix4 & mat );
1502
-
1503
- // Perform compound assignment and subtraction by a 4x4 matrix
1504
- //
1505
- inline Matrix4 & operator -=( const Matrix4 & mat );
1506
-
1507
- // Perform compound assignment and multiplication by a scalar
1508
- //
1509
- inline Matrix4 & operator *=( float scalar );
1510
-
1511
- // Perform compound assignment and multiplication by a 4x4 matrix
1512
- //
1513
- inline Matrix4 & operator *=( const Matrix4 & mat );
1514
-
1515
- // Perform compound assignment and multiplication by a 3x4 transformation matrix
1516
- //
1517
- inline Matrix4 & operator *=( const Transform3 & tfrm );
1518
-
1519
- // Construct an identity 4x4 matrix
1520
- //
1521
- static inline const Matrix4 identity( );
1522
-
1523
- // Construct a 4x4 matrix to rotate around the x axis
1524
- //
1525
- static inline const Matrix4 rotationX( float radians );
1526
-
1527
- // Construct a 4x4 matrix to rotate around the y axis
1528
- //
1529
- static inline const Matrix4 rotationY( float radians );
1530
-
1531
- // Construct a 4x4 matrix to rotate around the z axis
1532
- //
1533
- static inline const Matrix4 rotationZ( float radians );
1534
-
1535
- // Construct a 4x4 matrix to rotate around the x, y, and z axes
1536
- //
1537
- static inline const Matrix4 rotationZYX( const Vector3 & radiansXYZ );
1538
-
1539
- // Construct a 4x4 matrix to rotate around a unit-length 3-D vector
1540
- //
1541
- static inline const Matrix4 rotation( float radians, const Vector3 & unitVec );
1542
-
1543
- // Construct a rotation matrix from a unit-length quaternion
1544
- //
1545
- static inline const Matrix4 rotation( const Quat & unitQuat );
1546
-
1547
- // Construct a 4x4 matrix to perform scaling
1548
- //
1549
- static inline const Matrix4 scale( const Vector3 & scaleVec );
1550
-
1551
- // Construct a 4x4 matrix to perform translation
1552
- //
1553
- static inline const Matrix4 translation( const Vector3 & translateVec );
1554
-
1555
- // Construct viewing matrix based on eye position, position looked at, and up direction
1556
- //
1557
- static inline const Matrix4 lookAt( const Point3 & eyePos, const Point3 & lookAtPos, const Vector3 & upVec );
1558
-
1559
- // Construct a perspective projection matrix
1560
- //
1561
- static inline const Matrix4 perspective( float fovyRadians, float aspect, float zNear, float zFar );
1562
-
1563
- // Construct a perspective projection matrix based on frustum
1564
- //
1565
- static inline const Matrix4 frustum( float left, float right, float bottom, float top, float zNear, float zFar );
1566
-
1567
- // Construct an orthographic projection matrix
1568
- //
1569
- static inline const Matrix4 orthographic( float left, float right, float bottom, float top, float zNear, float zFar );
1570
-
1571
- };
1572
- // Multiply a 4x4 matrix by a scalar
1573
- //
1574
- inline const Matrix4 operator *( float scalar, const Matrix4 & mat );
1575
-
1576
- // Append (post-multiply) a scale transformation to a 4x4 matrix
1577
- // NOTE:
1578
- // Faster than creating and multiplying a scale transformation matrix.
1579
- //
1580
- inline const Matrix4 appendScale( const Matrix4 & mat, const Vector3 & scaleVec );
1581
-
1582
- // Prepend (pre-multiply) a scale transformation to a 4x4 matrix
1583
- // NOTE:
1584
- // Faster than creating and multiplying a scale transformation matrix.
1585
- //
1586
- inline const Matrix4 prependScale( const Vector3 & scaleVec, const Matrix4 & mat );
1587
-
1588
- // Multiply two 4x4 matrices per element
1589
- //
1590
- inline const Matrix4 mulPerElem( const Matrix4 & mat0, const Matrix4 & mat1 );
1591
-
1592
- // Compute the absolute value of a 4x4 matrix per element
1593
- //
1594
- inline const Matrix4 absPerElem( const Matrix4 & mat );
1595
-
1596
- // Transpose of a 4x4 matrix
1597
- //
1598
- inline const Matrix4 transpose( const Matrix4 & mat );
1599
-
1600
- // Compute the inverse of a 4x4 matrix
1601
- // NOTE:
1602
- // Result is unpredictable when the determinant of mat is equal to or near 0.
1603
- //
1604
- inline const Matrix4 inverse( const Matrix4 & mat );
1605
-
1606
- // Compute the inverse of a 4x4 matrix, which is expected to be an affine matrix
1607
- // NOTE:
1608
- // This can be used to achieve better performance than a general inverse when the specified 4x4 matrix meets the given restrictions. The result is unpredictable when the determinant of mat is equal to or near 0.
1609
- //
1610
- inline const Matrix4 affineInverse( const Matrix4 & mat );
1611
-
1612
- // Compute the inverse of a 4x4 matrix, which is expected to be an affine matrix with an orthogonal upper-left 3x3 submatrix
1613
- // NOTE:
1614
- // This can be used to achieve better performance than a general inverse when the specified 4x4 matrix meets the given restrictions.
1615
- //
1616
- inline const Matrix4 orthoInverse( const Matrix4 & mat );
1617
-
1618
- // Determinant of a 4x4 matrix
1619
- //
1620
- inline float determinant( const Matrix4 & mat );
1621
-
1622
- // Conditionally select between two 4x4 matrices
1623
- //
1624
- inline const Matrix4 select( const Matrix4 & mat0, const Matrix4 & mat1, bool select1 );
1625
-
1626
- #ifdef _VECTORMATH_DEBUG
1627
-
1628
- // Print a 4x4 matrix
1629
- // NOTE:
1630
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1631
- //
1632
- inline void print( const Matrix4 & mat );
1633
-
1634
- // Print a 4x4 matrix and an associated string identifier
1635
- // NOTE:
1636
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1637
- //
1638
- inline void print( const Matrix4 & mat, const char * name );
1639
-
1640
- #endif
1641
-
1642
- // A 3x4 transformation matrix in array-of-structures format
1643
- //
1644
- class Transform3
1645
- {
1646
- Vector3 mCol0;
1647
- Vector3 mCol1;
1648
- Vector3 mCol2;
1649
- Vector3 mCol3;
1650
-
1651
- public:
1652
- // Default constructor; does no initialization
1653
- //
1654
- inline Transform3( ) { };
1655
-
1656
- // Copy a 3x4 transformation matrix
1657
- //
1658
- inline Transform3( const Transform3 & tfrm );
1659
-
1660
- // Construct a 3x4 transformation matrix containing the specified columns
1661
- //
1662
- inline Transform3( const Vector3 & col0, const Vector3 & col1, const Vector3 & col2, const Vector3 & col3 );
1663
-
1664
- // Construct a 3x4 transformation matrix from a 3x3 matrix and a 3-D vector
1665
- //
1666
- inline Transform3( const Matrix3 & tfrm, const Vector3 & translateVec );
1667
-
1668
- // Construct a 3x4 transformation matrix from a unit-length quaternion and a 3-D vector
1669
- //
1670
- inline Transform3( const Quat & unitQuat, const Vector3 & translateVec );
1671
-
1672
- // Set all elements of a 3x4 transformation matrix to the same scalar value
1673
- //
1674
- explicit inline Transform3( float scalar );
1675
-
1676
- // Assign one 3x4 transformation matrix to another
1677
- //
1678
- inline Transform3 & operator =( const Transform3 & tfrm );
1679
-
1680
- // Set the upper-left 3x3 submatrix
1681
- //
1682
- inline Transform3 & setUpper3x3( const Matrix3 & mat3 );
1683
-
1684
- // Get the upper-left 3x3 submatrix of a 3x4 transformation matrix
1685
- //
1686
- inline const Matrix3 getUpper3x3( ) const;
1687
-
1688
- // Set translation component
1689
- //
1690
- inline Transform3 & setTranslation( const Vector3 & translateVec );
1691
-
1692
- // Get the translation component of a 3x4 transformation matrix
1693
- //
1694
- inline const Vector3 getTranslation( ) const;
1695
-
1696
- // Set column 0 of a 3x4 transformation matrix
1697
- //
1698
- inline Transform3 & setCol0( const Vector3 & col0 );
1699
-
1700
- // Set column 1 of a 3x4 transformation matrix
1701
- //
1702
- inline Transform3 & setCol1( const Vector3 & col1 );
1703
-
1704
- // Set column 2 of a 3x4 transformation matrix
1705
- //
1706
- inline Transform3 & setCol2( const Vector3 & col2 );
1707
-
1708
- // Set column 3 of a 3x4 transformation matrix
1709
- //
1710
- inline Transform3 & setCol3( const Vector3 & col3 );
1711
-
1712
- // Get column 0 of a 3x4 transformation matrix
1713
- //
1714
- inline const Vector3 getCol0( ) const;
1715
-
1716
- // Get column 1 of a 3x4 transformation matrix
1717
- //
1718
- inline const Vector3 getCol1( ) const;
1719
-
1720
- // Get column 2 of a 3x4 transformation matrix
1721
- //
1722
- inline const Vector3 getCol2( ) const;
1723
-
1724
- // Get column 3 of a 3x4 transformation matrix
1725
- //
1726
- inline const Vector3 getCol3( ) const;
1727
-
1728
- // Set the column of a 3x4 transformation matrix referred to by the specified index
1729
- //
1730
- inline Transform3 & setCol( int col, const Vector3 & vec );
1731
-
1732
- // Set the row of a 3x4 transformation matrix referred to by the specified index
1733
- //
1734
- inline Transform3 & setRow( int row, const Vector4 & vec );
1735
-
1736
- // Get the column of a 3x4 transformation matrix referred to by the specified index
1737
- //
1738
- inline const Vector3 getCol( int col ) const;
1739
-
1740
- // Get the row of a 3x4 transformation matrix referred to by the specified index
1741
- //
1742
- inline const Vector4 getRow( int row ) const;
1743
-
1744
- // Subscripting operator to set or get a column
1745
- //
1746
- inline Vector3 & operator []( int col );
1747
-
1748
- // Subscripting operator to get a column
1749
- //
1750
- inline const Vector3 operator []( int col ) const;
1751
-
1752
- // Set the element of a 3x4 transformation matrix referred to by column and row indices
1753
- //
1754
- inline Transform3 & setElem( int col, int row, float val );
1755
-
1756
- // Get the element of a 3x4 transformation matrix referred to by column and row indices
1757
- //
1758
- inline float getElem( int col, int row ) const;
1759
-
1760
- // Multiply a 3x4 transformation matrix by a 3-D vector
1761
- //
1762
- inline const Vector3 operator *( const Vector3 & vec ) const;
1763
-
1764
- // Multiply a 3x4 transformation matrix by a 3-D point
1765
- //
1766
- inline const Point3 operator *( const Point3 & pnt ) const;
1767
-
1768
- // Multiply two 3x4 transformation matrices
1769
- //
1770
- inline const Transform3 operator *( const Transform3 & tfrm ) const;
1771
-
1772
- // Perform compound assignment and multiplication by a 3x4 transformation matrix
1773
- //
1774
- inline Transform3 & operator *=( const Transform3 & tfrm );
1775
-
1776
- // Construct an identity 3x4 transformation matrix
1777
- //
1778
- static inline const Transform3 identity( );
1779
-
1780
- // Construct a 3x4 transformation matrix to rotate around the x axis
1781
- //
1782
- static inline const Transform3 rotationX( float radians );
1783
-
1784
- // Construct a 3x4 transformation matrix to rotate around the y axis
1785
- //
1786
- static inline const Transform3 rotationY( float radians );
1787
-
1788
- // Construct a 3x4 transformation matrix to rotate around the z axis
1789
- //
1790
- static inline const Transform3 rotationZ( float radians );
1791
-
1792
- // Construct a 3x4 transformation matrix to rotate around the x, y, and z axes
1793
- //
1794
- static inline const Transform3 rotationZYX( const Vector3 & radiansXYZ );
1795
-
1796
- // Construct a 3x4 transformation matrix to rotate around a unit-length 3-D vector
1797
- //
1798
- static inline const Transform3 rotation( float radians, const Vector3 & unitVec );
1799
-
1800
- // Construct a rotation matrix from a unit-length quaternion
1801
- //
1802
- static inline const Transform3 rotation( const Quat & unitQuat );
1803
-
1804
- // Construct a 3x4 transformation matrix to perform scaling
1805
- //
1806
- static inline const Transform3 scale( const Vector3 & scaleVec );
1807
-
1808
- // Construct a 3x4 transformation matrix to perform translation
1809
- //
1810
- static inline const Transform3 translation( const Vector3 & translateVec );
1811
-
1812
- };
1813
- // Append (post-multiply) a scale transformation to a 3x4 transformation matrix
1814
- // NOTE:
1815
- // Faster than creating and multiplying a scale transformation matrix.
1816
- //
1817
- inline const Transform3 appendScale( const Transform3 & tfrm, const Vector3 & scaleVec );
1818
-
1819
- // Prepend (pre-multiply) a scale transformation to a 3x4 transformation matrix
1820
- // NOTE:
1821
- // Faster than creating and multiplying a scale transformation matrix.
1822
- //
1823
- inline const Transform3 prependScale( const Vector3 & scaleVec, const Transform3 & tfrm );
1824
-
1825
- // Multiply two 3x4 transformation matrices per element
1826
- //
1827
- inline const Transform3 mulPerElem( const Transform3 & tfrm0, const Transform3 & tfrm1 );
1828
-
1829
- // Compute the absolute value of a 3x4 transformation matrix per element
1830
- //
1831
- inline const Transform3 absPerElem( const Transform3 & tfrm );
1832
-
1833
- // Inverse of a 3x4 transformation matrix
1834
- // NOTE:
1835
- // Result is unpredictable when the determinant of the left 3x3 submatrix is equal to or near 0.
1836
- //
1837
- inline const Transform3 inverse( const Transform3 & tfrm );
1838
-
1839
- // Compute the inverse of a 3x4 transformation matrix, expected to have an orthogonal upper-left 3x3 submatrix
1840
- // NOTE:
1841
- // This can be used to achieve better performance than a general inverse when the specified 3x4 transformation matrix meets the given restrictions.
1842
- //
1843
- inline const Transform3 orthoInverse( const Transform3 & tfrm );
1844
-
1845
- // Conditionally select between two 3x4 transformation matrices
1846
- //
1847
- inline const Transform3 select( const Transform3 & tfrm0, const Transform3 & tfrm1, bool select1 );
1848
-
1849
- #ifdef _VECTORMATH_DEBUG
1850
-
1851
- // Print a 3x4 transformation matrix
1852
- // NOTE:
1853
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1854
- //
1855
- inline void print( const Transform3 & tfrm );
1856
-
1857
- // Print a 3x4 transformation matrix and an associated string identifier
1858
- // NOTE:
1859
- // Function is only defined when _VECTORMATH_DEBUG is defined.
1860
- //
1861
- inline void print( const Transform3 & tfrm, const char * name );
1862
-
1863
- #endif
1864
-
1865
- } // namespace Aos
1866
- } // namespace Vectormath
1867
-
1868
- #include "vec_aos.h"
1869
- #include "quat_aos.h"
1870
- #include "mat_aos.h"
1871
-
1872
- #endif