14 #ifndef PHYSXMANAGER_H 15 #define PHYSXMANAGER_H 33 class PhysxOutputStream;
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);
141 #endif // PHYSXMANAGER_H Descriptor for PhysxScene.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The central interface to the PhysX subsystem.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A scene is a collection of bodies, constraints, and effectors which can interact.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Descriptor class for height fields.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class exists just to provide scoping for the enums shared by PhysX classes.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.