Panda3D
|
00001 // Filename: physxDebugGeomNode.I 00002 // Created by: enn0x (15Sep09) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 00016 00017 //////////////////////////////////////////////////////////////////// 00018 // Function: PhysxDebugGeomNode::Constructor 00019 // Access: Published 00020 // Description: 00021 //////////////////////////////////////////////////////////////////// 00022 INLINE PhysxDebugGeomNode:: 00023 PhysxDebugGeomNode() : GeomNode("debug") { 00024 00025 _scale = 1.0f; 00026 00027 _vdata = new GeomVertexData("", GeomVertexFormat::get_v3c4(), Geom::UH_stream); 00028 00029 // Lines 00030 _prim_lines = new GeomLines(Geom::UH_stream); 00031 _prim_lines->set_shade_model(Geom::SM_uniform); 00032 00033 _geom_lines = new Geom(_vdata); 00034 _geom_lines->add_primitive(_prim_lines); 00035 00036 this->add_geom(_geom_lines); 00037 00038 // Triangles 00039 _prim_triangles = new GeomTriangles(Geom::UH_stream); 00040 _prim_triangles->set_shade_model(Geom::SM_uniform); 00041 00042 _geom_triangles = new Geom(_vdata); 00043 _geom_triangles->add_primitive(_prim_triangles); 00044 00045 this->add_geom(_geom_triangles); 00046 } 00047 00048 //////////////////////////////////////////////////////////////////// 00049 // Function: PhysxDebugGeomNode::Destructor 00050 // Access: Published 00051 // Description: 00052 //////////////////////////////////////////////////////////////////// 00053 INLINE PhysxDebugGeomNode:: 00054 ~PhysxDebugGeomNode() { 00055 00056 } 00057 00058 //////////////////////////////////////////////////////////////////// 00059 // Function: PhysxDebugGeomNode::visualize_world_axes 00060 // Access: Published 00061 // Description: 00062 //////////////////////////////////////////////////////////////////// 00063 INLINE void PhysxDebugGeomNode:: 00064 visualize_world_axes(bool value) { 00065 00066 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_WORLD_AXES, value); 00067 } 00068 00069 //////////////////////////////////////////////////////////////////// 00070 // Function: PhysxDebugGeomNode::visualize_body_axes 00071 // Access: Published 00072 // Description: 00073 //////////////////////////////////////////////////////////////////// 00074 INLINE void PhysxDebugGeomNode:: 00075 visualize_body_axes(bool value) { 00076 00077 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_AXES, value); 00078 } 00079 00080 //////////////////////////////////////////////////////////////////// 00081 // Function: PhysxDebugGeomNode::visualize_body_mass_axes 00082 // Access: Published 00083 // Description: 00084 //////////////////////////////////////////////////////////////////// 00085 INLINE void PhysxDebugGeomNode:: 00086 visualize_body_mass_axes(bool value) { 00087 00088 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_MASS_AXES, value); 00089 } 00090 00091 //////////////////////////////////////////////////////////////////// 00092 // Function: PhysxDebugGeomNode::visualize_body_lin_velocity 00093 // Access: Published 00094 // Description: 00095 //////////////////////////////////////////////////////////////////// 00096 INLINE void PhysxDebugGeomNode:: 00097 visualize_body_lin_velocity(bool value) { 00098 00099 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_LIN_VELOCITY, value); 00100 } 00101 00102 //////////////////////////////////////////////////////////////////// 00103 // Function: PhysxDebugGeomNode::visualize_body_ang_velocity 00104 // Access: Published 00105 // Description: 00106 //////////////////////////////////////////////////////////////////// 00107 INLINE void PhysxDebugGeomNode:: 00108 visualize_body_ang_velocity(bool value) { 00109 00110 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_ANG_VELOCITY, value); 00111 } 00112 00113 //////////////////////////////////////////////////////////////////// 00114 // Function: PhysxDebugGeomNode::visualize_body_joint_groups 00115 // Access: Published 00116 // Description: 00117 //////////////////////////////////////////////////////////////////// 00118 INLINE void PhysxDebugGeomNode:: 00119 visualize_body_joint_groups(bool value) { 00120 00121 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_JOINT_GROUPS, value); 00122 } 00123 00124 //////////////////////////////////////////////////////////////////// 00125 // Function: PhysxDebugGeomNode::visualize_joint_local_axes 00126 // Access: Published 00127 // Description: 00128 //////////////////////////////////////////////////////////////////// 00129 INLINE void PhysxDebugGeomNode:: 00130 visualize_joint_local_axes(bool value) { 00131 00132 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_LOCAL_AXES, value); 00133 } 00134 00135 //////////////////////////////////////////////////////////////////// 00136 // Function: PhysxDebugGeomNode::visualize_joint_world_axes 00137 // Access: Published 00138 // Description: 00139 //////////////////////////////////////////////////////////////////// 00140 INLINE void PhysxDebugGeomNode:: 00141 visualize_joint_world_axes(bool value) { 00142 00143 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_WORLD_AXES, value); 00144 } 00145 00146 //////////////////////////////////////////////////////////////////// 00147 // Function: PhysxDebugGeomNode::visualize_joint_limits 00148 // Access: Published 00149 // Description: 00150 //////////////////////////////////////////////////////////////////// 00151 INLINE void PhysxDebugGeomNode:: 00152 visualize_joint_limits(bool value) { 00153 00154 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_LIMITS, value); 00155 } 00156 00157 //////////////////////////////////////////////////////////////////// 00158 // Function: PhysxDebugGeomNode::visualize_contact_point 00159 // Access: Published 00160 // Description: 00161 //////////////////////////////////////////////////////////////////// 00162 INLINE void PhysxDebugGeomNode:: 00163 visualize_contact_point(bool value) { 00164 00165 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_POINT, value); 00166 } 00167 00168 //////////////////////////////////////////////////////////////////// 00169 // Function: PhysxDebugGeomNode::visualize_contact_normal 00170 // Access: Published 00171 // Description: 00172 //////////////////////////////////////////////////////////////////// 00173 INLINE void PhysxDebugGeomNode:: 00174 visualize_contact_normal(bool value) { 00175 00176 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_NORMAL, value); 00177 } 00178 00179 //////////////////////////////////////////////////////////////////// 00180 // Function: PhysxDebugGeomNode::visualize_contact_error 00181 // Access: Published 00182 // Description: 00183 //////////////////////////////////////////////////////////////////// 00184 INLINE void PhysxDebugGeomNode:: 00185 visualize_contact_error(bool value) { 00186 00187 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_ERROR, value); 00188 } 00189 00190 //////////////////////////////////////////////////////////////////// 00191 // Function: PhysxDebugGeomNode::visualize_contact_force 00192 // Access: Published 00193 // Description: 00194 //////////////////////////////////////////////////////////////////// 00195 INLINE void PhysxDebugGeomNode:: 00196 visualize_contact_force(bool value) { 00197 00198 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_FORCE, value); 00199 } 00200 00201 //////////////////////////////////////////////////////////////////// 00202 // Function: PhysxDebugGeomNode::visualize_actor_axes 00203 // Access: Published 00204 // Description: 00205 //////////////////////////////////////////////////////////////////// 00206 INLINE void PhysxDebugGeomNode:: 00207 visualize_actor_axes(bool value) { 00208 00209 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_ACTOR_AXES, value); 00210 } 00211 00212 //////////////////////////////////////////////////////////////////// 00213 // Function: PhysxDebugGeomNode::visualize_collision_aabbs 00214 // Access: Published 00215 // Description: 00216 //////////////////////////////////////////////////////////////////// 00217 INLINE void PhysxDebugGeomNode:: 00218 visualize_collision_aabbs(bool value) { 00219 00220 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_AABBS, value); 00221 } 00222 00223 //////////////////////////////////////////////////////////////////// 00224 // Function: PhysxDebugGeomNode::visualize_collision_shapes 00225 // Access: Published 00226 // Description: 00227 //////////////////////////////////////////////////////////////////// 00228 INLINE void PhysxDebugGeomNode:: 00229 visualize_collision_shapes(bool value) { 00230 00231 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SHAPES, value); 00232 } 00233 00234 //////////////////////////////////////////////////////////////////// 00235 // Function: PhysxDebugGeomNode::visualize_collision_axes 00236 // Access: Published 00237 // Description: 00238 //////////////////////////////////////////////////////////////////// 00239 INLINE void PhysxDebugGeomNode:: 00240 visualize_collision_axes(bool value) { 00241 00242 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_AXES, value); 00243 } 00244 00245 //////////////////////////////////////////////////////////////////// 00246 // Function: PhysxDebugGeomNode::visualize_collision_compounds 00247 // Access: Published 00248 // Description: 00249 //////////////////////////////////////////////////////////////////// 00250 INLINE void PhysxDebugGeomNode:: 00251 visualize_collision_compounds(bool value) { 00252 00253 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_COMPOUNDS, value); 00254 } 00255 00256 //////////////////////////////////////////////////////////////////// 00257 // Function: PhysxDebugGeomNode::visualize_collision_vnormals 00258 // Access: Published 00259 // Description: 00260 //////////////////////////////////////////////////////////////////// 00261 INLINE void PhysxDebugGeomNode:: 00262 visualize_collision_vnormals(bool value) { 00263 00264 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_VNORMALS, value); 00265 } 00266 00267 //////////////////////////////////////////////////////////////////// 00268 // Function: PhysxDebugGeomNode::visualize_collision_fnormals 00269 // Access: Published 00270 // Description: 00271 //////////////////////////////////////////////////////////////////// 00272 INLINE void PhysxDebugGeomNode:: 00273 visualize_collision_fnormals(bool value) { 00274 00275 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_FNORMALS, value); 00276 } 00277 00278 //////////////////////////////////////////////////////////////////// 00279 // Function: PhysxDebugGeomNode::visualize_collision_edges 00280 // Access: Published 00281 // Description: 00282 //////////////////////////////////////////////////////////////////// 00283 INLINE void PhysxDebugGeomNode:: 00284 visualize_collision_edges(bool value) { 00285 00286 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_EDGES, value); 00287 } 00288 00289 //////////////////////////////////////////////////////////////////// 00290 // Function: PhysxDebugGeomNode::visualize_collision_spheres 00291 // Access: Published 00292 // Description: 00293 //////////////////////////////////////////////////////////////////// 00294 INLINE void PhysxDebugGeomNode:: 00295 visualize_collision_spheres(bool value) { 00296 00297 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SPHERES, value); 00298 } 00299 00300 //////////////////////////////////////////////////////////////////// 00301 // Function: PhysxDebugGeomNode::visualize_collision_static 00302 // Access: Published 00303 // Description: 00304 //////////////////////////////////////////////////////////////////// 00305 INLINE void PhysxDebugGeomNode:: 00306 visualize_collision_static(bool value) { 00307 00308 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_STATIC, value); 00309 } 00310 00311 //////////////////////////////////////////////////////////////////// 00312 // Function: PhysxDebugGeomNode::visualize_collision_dynamic 00313 // Access: Published 00314 // Description: 00315 //////////////////////////////////////////////////////////////////// 00316 INLINE void PhysxDebugGeomNode:: 00317 visualize_collision_dynamic(bool value) { 00318 00319 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_DYNAMIC, value); 00320 } 00321 00322 //////////////////////////////////////////////////////////////////// 00323 // Function: PhysxDebugGeomNode::visualize_collision_free 00324 // Access: Published 00325 // Description: 00326 //////////////////////////////////////////////////////////////////// 00327 INLINE void PhysxDebugGeomNode:: 00328 visualize_collision_free(bool value) { 00329 00330 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_FREE, value); 00331 } 00332 00333 //////////////////////////////////////////////////////////////////// 00334 // Function: PhysxDebugGeomNode::visualize_collision_ccd 00335 // Access: Published 00336 // Description: 00337 //////////////////////////////////////////////////////////////////// 00338 INLINE void PhysxDebugGeomNode:: 00339 visualize_collision_ccd(bool value) { 00340 00341 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_CCD, value); 00342 } 00343 00344 //////////////////////////////////////////////////////////////////// 00345 // Function: PhysxDebugGeomNode::visualize_collision_skeletons 00346 // Access: Published 00347 // Description: 00348 //////////////////////////////////////////////////////////////////// 00349 INLINE void PhysxDebugGeomNode:: 00350 visualize_collision_skeletons(bool value) { 00351 00352 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SKELETONS, value); 00353 } 00354 00355 //////////////////////////////////////////////////////////////////// 00356 // Function: PhysxDebugGeomNode::visualize_cloth_mesh 00357 // Access: Published 00358 // Description: 00359 //////////////////////////////////////////////////////////////////// 00360 INLINE void PhysxDebugGeomNode:: 00361 visualize_cloth_mesh(bool value) { 00362 00363 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CLOTH_MESH, value); 00364 } 00365 00366 //////////////////////////////////////////////////////////////////// 00367 // Function: PhysxDebugGeomNode::visualize_cloth_validbounds 00368 // Access: Published 00369 // Description: 00370 //////////////////////////////////////////////////////////////////// 00371 INLINE void PhysxDebugGeomNode:: 00372 visualize_cloth_validbounds(bool value) { 00373 00374 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CLOTH_VALIDBOUNDS, value); 00375 } 00376 00377 //////////////////////////////////////////////////////////////////// 00378 // Function: PhysxDebugGeomNode::visualize_softbody_mesh 00379 // Access: Published 00380 // Description: 00381 //////////////////////////////////////////////////////////////////// 00382 INLINE void PhysxDebugGeomNode:: 00383 visualize_softbody_mesh(bool value) { 00384 00385 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_SOFTBODY_MESH, value); 00386 } 00387 00388 //////////////////////////////////////////////////////////////////// 00389 // Function: PhysxDebugGeomNode::visualize_softbody_validbounds 00390 // Access: Published 00391 // Description: 00392 //////////////////////////////////////////////////////////////////// 00393 INLINE void PhysxDebugGeomNode:: 00394 visualize_softbody_validbounds(bool value) { 00395 00396 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_SOFTBODY_VALIDBOUNDS, value); 00397 } 00398 00399 //////////////////////////////////////////////////////////////////// 00400 // Function: PhysxDebugGeomNode::visualize_force_fields 00401 // Access: Published 00402 // Description: 00403 //////////////////////////////////////////////////////////////////// 00404 INLINE void PhysxDebugGeomNode:: 00405 visualize_force_fields(bool value) { 00406 00407 NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_FORCE_FIELDS, value); 00408 } 00409