PhysX API 初览

PhysX API 初览

 

结构

SDK使用标准C++实现所有的接口,结构上,SDK是以类层次的方式组织起来的,每个具有一定功能的类都给客户程序员提供了高效的接口,这些接口都是高效的抽象基类。与这些类同时提供的还有一些全局的工具函数。

约定

每一个接口类都定义了一系列的方法(函数),下面是类编码时遵循的编程约定:

1,所有的类都定义在和类名相同的一个头文件下。

2,类型名和类名都是以大写字母开头。

3,所有的接口类都是使用前缀”Nx”命名。

4,函数方法以及变量都是用小写字母命名。

5,返回值或者参数值可能出现NULL的地方,使用的是指针语法(pointer (*) syntax)编码的,所以,程序人员应当在调用的函数返回一个指针时检查NULL值。

6,同样,在返回值和参数值可能出现NULL的地方,可能使用引用语法(reference (&) syntax)编码,在这种情况下,编程人员和SDK都不会检查NULL值,因为这样的语法在C++中是不合法的。

7,当SDK需要用户实现一些功能函数时(比如内存管理),用户应当能实现这些接口。这种策略与C语言中的回调函数相似。

数据类型

为了提供一定的便捷性,SDK使用了大小确定的类型定义,这些类型定义在头文件Foundation/NxSimpleTypes.h下。

SDK中包含的NxVec3, NxMat34, NxMat33,以及NxQuat类来代表3元向量,3 x 4矩阵,3 x 3矩阵,以及四元数。这些数据元被设定为单精度浮点数(32位),这些就是用户在使用SDK时会碰到的数据类型。

SDK中的数学库同样提供了一个宽泛的可选择的数据类型,以及数据格式转换函数,使通过使用这些工具,程序人员能够将自己的数学库很好的与SDK中的数学库沟通起来。

单位

SDK中不需要使用任何的真实世界的单位,SDK中使用3种类型的基本单位:质量,时间,和长度,由这三个基本可以组合成任意的需要的单位,约定基本物理量的质量为千克(Kg),时间为秒(s),长度为米(m)。

API参考

Nxvec3,NxMat33,NxMat34,NxQuat

你可能感兴趣的:(PhysX API 初览)