Panda3D
 All Classes Functions Variables Enumerations
physxDebugGeomNode.I
1 // Filename: physxDebugGeomNode.I
2 // Created by: enn0x (15Sep09)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 
16 
17 ////////////////////////////////////////////////////////////////////
18 // Function: PhysxDebugGeomNode::Constructor
19 // Access: Published
20 // Description:
21 ////////////////////////////////////////////////////////////////////
22 INLINE PhysxDebugGeomNode::
23 PhysxDebugGeomNode() : GeomNode("debug") {
24 
25  _scale = 1.0f;
26 
27  _vdata = new GeomVertexData("", GeomVertexFormat::get_v3c4(), Geom::UH_stream);
28 
29  // Lines
30  _prim_lines = new GeomLines(Geom::UH_stream);
31  _prim_lines->set_shade_model(Geom::SM_uniform);
32 
33  _geom_lines = new Geom(_vdata);
34  _geom_lines->add_primitive(_prim_lines);
35 
36  this->add_geom(_geom_lines);
37 
38  // Triangles
39  _prim_triangles = new GeomTriangles(Geom::UH_stream);
40  _prim_triangles->set_shade_model(Geom::SM_uniform);
41 
42  _geom_triangles = new Geom(_vdata);
43  _geom_triangles->add_primitive(_prim_triangles);
44 
45  this->add_geom(_geom_triangles);
46 }
47 
48 ////////////////////////////////////////////////////////////////////
49 // Function: PhysxDebugGeomNode::Destructor
50 // Access: Published
51 // Description:
52 ////////////////////////////////////////////////////////////////////
53 INLINE PhysxDebugGeomNode::
54 ~PhysxDebugGeomNode() {
55 
56 }
57 
58 ////////////////////////////////////////////////////////////////////
59 // Function: PhysxDebugGeomNode::visualize_world_axes
60 // Access: Published
61 // Description:
62 ////////////////////////////////////////////////////////////////////
63 INLINE void PhysxDebugGeomNode::
64 visualize_world_axes(bool value) {
65 
66  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_WORLD_AXES, value);
67 }
68 
69 ////////////////////////////////////////////////////////////////////
70 // Function: PhysxDebugGeomNode::visualize_body_axes
71 // Access: Published
72 // Description:
73 ////////////////////////////////////////////////////////////////////
74 INLINE void PhysxDebugGeomNode::
75 visualize_body_axes(bool value) {
76 
77  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_AXES, value);
78 }
79 
80 ////////////////////////////////////////////////////////////////////
81 // Function: PhysxDebugGeomNode::visualize_body_mass_axes
82 // Access: Published
83 // Description:
84 ////////////////////////////////////////////////////////////////////
85 INLINE void PhysxDebugGeomNode::
86 visualize_body_mass_axes(bool value) {
87 
88  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_MASS_AXES, value);
89 }
90 
91 ////////////////////////////////////////////////////////////////////
92 // Function: PhysxDebugGeomNode::visualize_body_lin_velocity
93 // Access: Published
94 // Description:
95 ////////////////////////////////////////////////////////////////////
96 INLINE void PhysxDebugGeomNode::
97 visualize_body_lin_velocity(bool value) {
98 
99  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_LIN_VELOCITY, value);
100 }
101 
102 ////////////////////////////////////////////////////////////////////
103 // Function: PhysxDebugGeomNode::visualize_body_ang_velocity
104 // Access: Published
105 // Description:
106 ////////////////////////////////////////////////////////////////////
107 INLINE void PhysxDebugGeomNode::
108 visualize_body_ang_velocity(bool value) {
109 
110  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_ANG_VELOCITY, value);
111 }
112 
113 ////////////////////////////////////////////////////////////////////
114 // Function: PhysxDebugGeomNode::visualize_body_joint_groups
115 // Access: Published
116 // Description:
117 ////////////////////////////////////////////////////////////////////
118 INLINE void PhysxDebugGeomNode::
119 visualize_body_joint_groups(bool value) {
120 
121  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_BODY_JOINT_GROUPS, value);
122 }
123 
124 ////////////////////////////////////////////////////////////////////
125 // Function: PhysxDebugGeomNode::visualize_joint_local_axes
126 // Access: Published
127 // Description:
128 ////////////////////////////////////////////////////////////////////
129 INLINE void PhysxDebugGeomNode::
130 visualize_joint_local_axes(bool value) {
131 
132  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_LOCAL_AXES, value);
133 }
134 
135 ////////////////////////////////////////////////////////////////////
136 // Function: PhysxDebugGeomNode::visualize_joint_world_axes
137 // Access: Published
138 // Description:
139 ////////////////////////////////////////////////////////////////////
140 INLINE void PhysxDebugGeomNode::
141 visualize_joint_world_axes(bool value) {
142 
143  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_WORLD_AXES, value);
144 }
145 
146 ////////////////////////////////////////////////////////////////////
147 // Function: PhysxDebugGeomNode::visualize_joint_limits
148 // Access: Published
149 // Description:
150 ////////////////////////////////////////////////////////////////////
151 INLINE void PhysxDebugGeomNode::
152 visualize_joint_limits(bool value) {
153 
154  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_JOINT_LIMITS, value);
155 }
156 
157 ////////////////////////////////////////////////////////////////////
158 // Function: PhysxDebugGeomNode::visualize_contact_point
159 // Access: Published
160 // Description:
161 ////////////////////////////////////////////////////////////////////
162 INLINE void PhysxDebugGeomNode::
163 visualize_contact_point(bool value) {
164 
165  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_POINT, value);
166 }
167 
168 ////////////////////////////////////////////////////////////////////
169 // Function: PhysxDebugGeomNode::visualize_contact_normal
170 // Access: Published
171 // Description:
172 ////////////////////////////////////////////////////////////////////
173 INLINE void PhysxDebugGeomNode::
174 visualize_contact_normal(bool value) {
175 
176  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_NORMAL, value);
177 }
178 
179 ////////////////////////////////////////////////////////////////////
180 // Function: PhysxDebugGeomNode::visualize_contact_error
181 // Access: Published
182 // Description:
183 ////////////////////////////////////////////////////////////////////
184 INLINE void PhysxDebugGeomNode::
185 visualize_contact_error(bool value) {
186 
187  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_ERROR, value);
188 }
189 
190 ////////////////////////////////////////////////////////////////////
191 // Function: PhysxDebugGeomNode::visualize_contact_force
192 // Access: Published
193 // Description:
194 ////////////////////////////////////////////////////////////////////
195 INLINE void PhysxDebugGeomNode::
196 visualize_contact_force(bool value) {
197 
198  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CONTACT_FORCE, value);
199 }
200 
201 ////////////////////////////////////////////////////////////////////
202 // Function: PhysxDebugGeomNode::visualize_actor_axes
203 // Access: Published
204 // Description:
205 ////////////////////////////////////////////////////////////////////
206 INLINE void PhysxDebugGeomNode::
207 visualize_actor_axes(bool value) {
208 
209  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_ACTOR_AXES, value);
210 }
211 
212 ////////////////////////////////////////////////////////////////////
213 // Function: PhysxDebugGeomNode::visualize_collision_aabbs
214 // Access: Published
215 // Description:
216 ////////////////////////////////////////////////////////////////////
217 INLINE void PhysxDebugGeomNode::
218 visualize_collision_aabbs(bool value) {
219 
220  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_AABBS, value);
221 }
222 
223 ////////////////////////////////////////////////////////////////////
224 // Function: PhysxDebugGeomNode::visualize_collision_shapes
225 // Access: Published
226 // Description:
227 ////////////////////////////////////////////////////////////////////
228 INLINE void PhysxDebugGeomNode::
229 visualize_collision_shapes(bool value) {
230 
231  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SHAPES, value);
232 }
233 
234 ////////////////////////////////////////////////////////////////////
235 // Function: PhysxDebugGeomNode::visualize_collision_axes
236 // Access: Published
237 // Description:
238 ////////////////////////////////////////////////////////////////////
239 INLINE void PhysxDebugGeomNode::
240 visualize_collision_axes(bool value) {
241 
242  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_AXES, value);
243 }
244 
245 ////////////////////////////////////////////////////////////////////
246 // Function: PhysxDebugGeomNode::visualize_collision_compounds
247 // Access: Published
248 // Description:
249 ////////////////////////////////////////////////////////////////////
250 INLINE void PhysxDebugGeomNode::
251 visualize_collision_compounds(bool value) {
252 
253  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_COMPOUNDS, value);
254 }
255 
256 ////////////////////////////////////////////////////////////////////
257 // Function: PhysxDebugGeomNode::visualize_collision_vnormals
258 // Access: Published
259 // Description:
260 ////////////////////////////////////////////////////////////////////
261 INLINE void PhysxDebugGeomNode::
262 visualize_collision_vnormals(bool value) {
263 
264  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_VNORMALS, value);
265 }
266 
267 ////////////////////////////////////////////////////////////////////
268 // Function: PhysxDebugGeomNode::visualize_collision_fnormals
269 // Access: Published
270 // Description:
271 ////////////////////////////////////////////////////////////////////
272 INLINE void PhysxDebugGeomNode::
273 visualize_collision_fnormals(bool value) {
274 
275  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_FNORMALS, value);
276 }
277 
278 ////////////////////////////////////////////////////////////////////
279 // Function: PhysxDebugGeomNode::visualize_collision_edges
280 // Access: Published
281 // Description:
282 ////////////////////////////////////////////////////////////////////
283 INLINE void PhysxDebugGeomNode::
284 visualize_collision_edges(bool value) {
285 
286  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_EDGES, value);
287 }
288 
289 ////////////////////////////////////////////////////////////////////
290 // Function: PhysxDebugGeomNode::visualize_collision_spheres
291 // Access: Published
292 // Description:
293 ////////////////////////////////////////////////////////////////////
294 INLINE void PhysxDebugGeomNode::
295 visualize_collision_spheres(bool value) {
296 
297  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SPHERES, value);
298 }
299 
300 ////////////////////////////////////////////////////////////////////
301 // Function: PhysxDebugGeomNode::visualize_collision_static
302 // Access: Published
303 // Description:
304 ////////////////////////////////////////////////////////////////////
305 INLINE void PhysxDebugGeomNode::
306 visualize_collision_static(bool value) {
307 
308  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_STATIC, value);
309 }
310 
311 ////////////////////////////////////////////////////////////////////
312 // Function: PhysxDebugGeomNode::visualize_collision_dynamic
313 // Access: Published
314 // Description:
315 ////////////////////////////////////////////////////////////////////
316 INLINE void PhysxDebugGeomNode::
317 visualize_collision_dynamic(bool value) {
318 
319  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_DYNAMIC, value);
320 }
321 
322 ////////////////////////////////////////////////////////////////////
323 // Function: PhysxDebugGeomNode::visualize_collision_free
324 // Access: Published
325 // Description:
326 ////////////////////////////////////////////////////////////////////
327 INLINE void PhysxDebugGeomNode::
328 visualize_collision_free(bool value) {
329 
330  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_FREE, value);
331 }
332 
333 ////////////////////////////////////////////////////////////////////
334 // Function: PhysxDebugGeomNode::visualize_collision_ccd
335 // Access: Published
336 // Description:
337 ////////////////////////////////////////////////////////////////////
338 INLINE void PhysxDebugGeomNode::
339 visualize_collision_ccd(bool value) {
340 
341  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_CCD, value);
342 }
343 
344 ////////////////////////////////////////////////////////////////////
345 // Function: PhysxDebugGeomNode::visualize_collision_skeletons
346 // Access: Published
347 // Description:
348 ////////////////////////////////////////////////////////////////////
349 INLINE void PhysxDebugGeomNode::
350 visualize_collision_skeletons(bool value) {
351 
352  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_COLLISION_SKELETONS, value);
353 }
354 
355 ////////////////////////////////////////////////////////////////////
356 // Function: PhysxDebugGeomNode::visualize_cloth_mesh
357 // Access: Published
358 // Description:
359 ////////////////////////////////////////////////////////////////////
360 INLINE void PhysxDebugGeomNode::
361 visualize_cloth_mesh(bool value) {
362 
363  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CLOTH_MESH, value);
364 }
365 
366 ////////////////////////////////////////////////////////////////////
367 // Function: PhysxDebugGeomNode::visualize_cloth_validbounds
368 // Access: Published
369 // Description:
370 ////////////////////////////////////////////////////////////////////
371 INLINE void PhysxDebugGeomNode::
372 visualize_cloth_validbounds(bool value) {
373 
374  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_CLOTH_VALIDBOUNDS, value);
375 }
376 
377 ////////////////////////////////////////////////////////////////////
378 // Function: PhysxDebugGeomNode::visualize_softbody_mesh
379 // Access: Published
380 // Description:
381 ////////////////////////////////////////////////////////////////////
382 INLINE void PhysxDebugGeomNode::
383 visualize_softbody_mesh(bool value) {
384 
385  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_SOFTBODY_MESH, value);
386 }
387 
388 ////////////////////////////////////////////////////////////////////
389 // Function: PhysxDebugGeomNode::visualize_softbody_validbounds
390 // Access: Published
391 // Description:
392 ////////////////////////////////////////////////////////////////////
393 INLINE void PhysxDebugGeomNode::
394 visualize_softbody_validbounds(bool value) {
395 
396  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_SOFTBODY_VALIDBOUNDS, value);
397 }
398 
399 ////////////////////////////////////////////////////////////////////
400 // Function: PhysxDebugGeomNode::visualize_force_fields
401 // Access: Published
402 // Description:
403 ////////////////////////////////////////////////////////////////////
404 INLINE void PhysxDebugGeomNode::
405 visualize_force_fields(bool value) {
406 
407  NxGetPhysicsSDK()->setParameter(NX_VISUALIZE_FORCE_FIELDS, value);
408 }
409 
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
A container for geometry primitives.
Definition: geom.h:58
Defines a series of disconnected line segments.
Definition: geomLines.h:25
Defines a series of disconnected triangles.
Definition: geomTriangles.h:25
A node that holds Geom objects, renderable pieces of geometry.
Definition: geomNode.h:37
void add_geom(Geom *geom, const RenderState *state=RenderState::make_empty())
Adds a new Geom to the node.
Definition: geomNode.cxx:642