source: GTP/trunk/App/Games/Jungle_Rumble/src/physic/physics/include/NxSphericalJoint.h @ 1378

Revision 1378, 3.4 KB checked in by giegl, 18 years ago (diff)

GTPD - Jungle Rumble - integrate into GTP SVN structure

Line 
1#ifndef NX_PHYSICS_NXSPHERICALJOINT
2#define NX_PHYSICS_NXSPHERICALJOINT
3/*----------------------------------------------------------------------------*\
4|
5|                                               Public Interface to NovodeX Technology
6|
7|                                                            www.novodex.com
8|
9\*----------------------------------------------------------------------------*/
10/** \addtogroup physics
11  @{
12*/
13
14#include "NxSphericalJointDesc.h"
15
16#include "NxJoint.h"
17
18/**
19 \brief A sphere joint constrains two points on two bodies to coincide.
20
21 This point, specified in world space (this guarantees that the points coincide
22 to start with) is the only parameter that has to be specified.
23
24 \image html sphericalJoint.png
25
26 <h3>Creation</h3>
27
28 Example:
29
30 \include NxSphericalJoint_Create.cpp
31
32 <h3>Visulizations:</h3>
33\li #NX_VISUALIZE_JOINT_LOCAL_AXES
34\li #NX_VISUALIZE_JOINT_WORLD_AXES
35\li #NX_VISUALIZE_JOINT_LIMITS
36\li #NX_VISUALIZE_JOINT_ERROR
37\li #NX_VISUALIZE_JOINT_FORCE
38\li #NX_VISUALIZE_JOINT_REDUCED
39
40 @see NxSphericalJointDesc NxScene.createJoint() NxJoint
41*/
42
43class NxSphericalJoint: public NxJoint
44        {
45        public:
46
47        /**
48        \brief Use this for changing a significant number of joint parameters at once.
49
50        Use the set() methods for changing only a single property at once.
51
52        \param[in] desc The descriptor used to set the state of the object.
53
54        <b>Platform:</b>
55        \li PC SW: Yes
56        \li PPU  : No
57        \li PS3  : Yes
58        \li XB360: Yes
59
60        @see NxSphericalJointDesc saveToDesc()
61        */
62        virtual void loadFromDesc(const NxSphericalJointDesc &desc) = 0;
63
64        /**
65        \brief Writes all of the object's attributes to the desc struct 
66
67        \param[out] desc The descriptor used to retrieve the state of the object.
68
69        <b>Platform:</b>
70        \li PC SW: Yes
71        \li PPU  : No
72        \li PS3  : Yes
73        \li XB360: Yes
74
75        @see NxSphericalJointDesc loadFromDesc()
76        */
77        virtual void saveToDesc(NxSphericalJointDesc &desc) = 0;
78
79        /**
80        \brief Sets the flags to enable/disable the spring/motor/limit.
81       
82        This is a combination of the bits defined by ::NxRevoluteJointFlag.
83
84        \param[in] flags The new value for the joint flags.
85
86        <b>Platform:</b>
87        \li PC SW: Yes
88        \li PPU  : No
89        \li PS3  : Yes
90        \li XB360: Yes
91
92        @see NxRevoluteJointFlag getFlags()
93        */
94        virtual void setFlags(NxU32 flags) = 0;
95
96        /**
97        \brief Returns the current flag settings.
98
99        \return The flags associated with the joint.
100
101        <b>Platform:</b>
102        \li PC SW: Yes
103        \li PPU  : No
104        \li PS3  : Yes
105        \li XB360: Yes
106
107        @see getFlags() NxRevoluteJointFlag
108        */
109        virtual NxU32 getFlags() = 0;
110
111        /**
112        \brief Sets the joint projection mode.
113
114        \param[in] projectionMode The new projection mode for the joint. See #NxJointProjectionMode.
115
116        <b>Platform:</b>
117        \li PC SW: Yes
118        \li PPU  : No
119        \li PS3  : Yes
120        \li XB360: Yes
121
122        @see getProjectionMode() NxJointProjectionMode
123        */
124        virtual void setProjectionMode(NxJointProjectionMode projectionMode) = 0;
125
126        /**
127        \brief Returns the current flag settings.
128
129        \return The joints projection mode. See #NxJointProjectionMode.
130
131        <b>Platform:</b>
132        \li PC SW: Yes
133        \li PPU  : No
134        \li PS3  : Yes
135        \li XB360: Yes
136
137        @see setProjectionMode() NxJointProjectionMode
138        */
139        virtual NxJointProjectionMode getProjectionMode() = 0;
140        };
141
142/** @} */
143#endif
144
145
146//AGCOPYRIGHTBEGIN
147///////////////////////////////////////////////////////////////////////////
148// Copyright © 2005 AGEIA Technologies.
149// All rights reserved. www.ageia.com
150///////////////////////////////////////////////////////////////////////////
151//AGCOPYRIGHTEND
152
Note: See TracBrowser for help on using the repository browser.