52 void set_parameter(PhysxParameter param,
float value);
53 float get_parameter(PhysxParameter param);
55 bool is_hardware_available();
56 unsigned int get_num_ppus();
57 unsigned int get_hw_version();
58 const char *get_internal_version();
60 unsigned int get_num_scenes()
const;
63 MAKE_SEQ(get_scenes, get_num_scenes, get_scene);
65 unsigned int get_num_height_fields();
68 MAKE_SEQ(get_height_fields, get_num_height_fields, get_height_field);
70 unsigned int get_num_convex_meshes();
72 MAKE_SEQ(get_convex_meshes, get_num_convex_meshes, get_convex_mesh);
74 unsigned int get_num_triangle_meshes();
76 MAKE_SEQ(get_triangle_meshes, get_num_triangle_meshes, get_triangle_mesh);
78 unsigned int get_num_cloth_meshes();
80 MAKE_SEQ(get_cloth_meshes, get_num_cloth_meshes, get_cloth_mesh);
82 unsigned int get_num_soft_body_meshes();
84 MAKE_SEQ(get_soft_body_meshes, get_num_soft_body_meshes, get_soft_body_mesh);
86 unsigned int get_num_ccd_skeletons();
89 MAKE_SEQ(get_ccd_skeletons, get_num_ccd_skeletons, get_ccd_skeleton);
91 INLINE
void ls()
const;
92 INLINE
void ls(std::ostream &out,
int indent_level=0)
const;
95 INLINE NxPhysicsSDK *get_sdk()
const;
105 INLINE
static NxVec3 vec3_to_nxVec3(
const LVector3f &v);
106 INLINE
static LVector3f nxVec3_to_vec3(
const NxVec3 &v);
107 INLINE
static NxExtendedVec3 vec3_to_nxExtVec3(
const LVector3f &v);
108 INLINE
static LVector3f nxExtVec3_to_vec3(
const NxExtendedVec3 &v);
109 INLINE
static NxVec3 point3_to_nxVec3(
const LPoint3f &p);
110 INLINE
static LPoint3f nxVec3_to_point3(
const NxVec3 &p);
111 INLINE
static NxExtendedVec3 point3_to_nxExtVec3(
const LPoint3f &p);
112 INLINE
static LPoint3f nxExtVec3_to_point3(
const NxExtendedVec3 &p);
113 INLINE
static NxQuat quat_to_nxQuat(
const LQuaternionf &q);
114 INLINE
static LQuaternionf nxQuat_to_quat(
const NxQuat &q);
115 INLINE
static NxMat34 mat4_to_nxMat34(
const LMatrix4f &m);
116 INLINE
static LMatrix4f nxMat34_to_mat4(
const NxMat34 &m);
117 INLINE
static NxMat33 mat3_to_nxMat33(
const LMatrix3f &m);
118 INLINE
static LMatrix3f nxMat33_to_mat3(
const NxMat33 &m);
120 INLINE
static void update_vec3_from_nxVec3(LVector3f &v,
const NxVec3 &nVec);
121 INLINE
static void update_point3_from_nxVec3(LPoint3f &p,
const NxVec3 &nVec);
128 class PhysxOutputStream :
public NxUserOutputStream {
129 void reportError(NxErrorCode code,
const char *message,
const char *file,
int line);
130 NxAssertResponse reportAssertViolation(
const char *message,
const char *file,
int line);
131 void print(
const char *message);
132 const char *get_error_code_string(NxErrorCode code);
134 static PhysxOutputStream _outputStream;
136 static const char *get_sdk_error_string(
const NxSDKCreateError &error);