7 #ifndef __grass_Blade__ 8 #define __grass_Blade__ 25 e_boundingSphere=0x00,
27 e_rayCastOneStep=0x02,
28 e_rayCastHalvsies=0x03
32 virtual ~
Blade(
void) {}
34 void setTime(Real a_t) { m_t=a_t; }
35 Real time(
void)
const {
return m_t; }
37 void setTimeStep(Real a_h) { m_h=a_h; }
38 Real timeStep(
void)
const {
return m_h; }
40 void setTension(Real a_tension) { m_tension=a_tension; }
41 Real tension(
void)
const {
return m_tension; }
43 void setTensionRandom(Real a_tensionRandom)
44 { m_tensionRandom=a_tensionRandom; }
45 Real tensionRandom(
void)
const 46 {
return m_tensionRandom; }
48 void setRestoration(Real a_restoration)
49 { m_restoration=a_restoration; }
50 Real restoration(
void)
const 51 {
return m_restoration; }
53 void setRestorationRandom(Real a_restorationRandom)
54 { m_restorationRandom=a_restorationRandom; }
55 Real restorationRandom(
void)
const 56 {
return m_restorationRandom; }
58 void setDrag(Real a_drag) { m_drag=a_drag; }
59 Real drag(
void)
const {
return m_drag; }
61 void setDragRandom(Real a_dragRandom)
62 { m_dragRandom=a_dragRandom; }
63 Real dragRandom(
void)
const 64 {
return m_dragRandom; }
66 void setBend(Real a_bend) { m_bend=a_bend; }
67 Real bend(
void)
const {
return m_bend; }
69 void setGrabbing(BWORD a_grabbing)
70 { m_grabbing=a_grabbing; }
71 BWORD grabbing(
void)
const 72 {
return m_grabbing; }
74 void setGrabBias(Real a_grabBias){ m_grabBias=a_grabBias; }
75 Real grabBias(
void)
const {
return m_grabBias; }
77 void setGrabBiasRandom(Real a_grabBiasRandom)
78 { m_grabBiasRandom=a_grabBiasRandom; }
79 Real grabBiasRandom(
void)
const 80 {
return m_grabBiasRandom; }
82 void setCollisionGap(Real a_collisionGap)
83 { m_collisionGap=a_collisionGap; }
84 Real collisionGap(
void)
const 85 {
return m_collisionGap; }
87 void setMass(Real a_mass) { m_mass=a_mass; }
88 Real mass(
void)
const {
return m_mass; }
90 void setWind(Real a_wind)
95 void setTurbulence(Real a_turbulence)
96 { m_turbulence=a_turbulence; }
97 Real turbulence(
void)
const 98 {
return m_turbulence; }
100 void setBuckling(BWORD a_buckling)
101 { m_buckling=a_buckling; }
102 BWORD buckling(
void)
const 103 {
return m_buckling; }
105 void setBreakAngle(Real a_breakAngle)
106 { m_breakAngle=a_breakAngle; }
107 Real breakAngle(
void)
const 108 {
return m_breakAngle; }
110 void setBreakAngleRandom(Real a_breakAngleRandom)
111 { m_breakAngleRandom=a_breakAngleRandom; }
112 Real breakAngleRandom(
void)
const 113 {
return m_breakAngleRandom; }
115 void setElasticAngle(Real a_elasticAngle)
116 { m_elasticAngle=a_elasticAngle; }
117 Real elasticAngle(
void)
const 118 {
return m_elasticAngle; }
120 void setElasticAngleRandom(Real a_elasticAngleRandom)
121 { m_elasticAngleRandom=a_elasticAngleRandom; }
122 Real elasticAngleRandom(
void)
const 123 {
return m_elasticAngleRandom; }
125 void setPopAngle(Real a_popAngle)
126 { m_popAngle=a_popAngle; }
127 Real popAngle(
void)
const 128 {
return m_popAngle; }
130 void setPopAngleRandom(Real a_popAngleRandom)
131 { m_popAngleRandom=a_popAngleRandom; }
132 Real popAngleRandom(
void)
const 133 {
return m_popAngleRandom; }
135 void setRecoveryAngle(Real a_recoveryAngle)
136 { m_recoveryAngle=a_recoveryAngle; }
137 Real recoveryAngle(
void)
const 138 {
return m_recoveryAngle; }
140 void setRecoveryAngleRandom(Real a_recoveryAngleRandom)
141 { m_recoveryAngleRandom=a_recoveryAngleRandom; }
142 Real recoveryAngleRandom(
void)
const 143 {
return m_recoveryAngleRandom; }
145 void setHalfingSteps(I32 a_halfingSteps)
146 { m_halfingSteps=a_halfingSteps; }
147 I32 halfingSteps(
void)
148 {
return m_halfingSteps; }
150 void setCollisionMethod(CollisionMethod a_method)
151 { m_method=a_method; }
152 CollisionMethod collisionMethod(
void)
156 { m_spCollider=a_spSurfaceI; }
158 {
return m_spCollider; }
161 { m_spDriver=a_spSurfaceI; }
163 {
return m_spDriver; }
166 { m_spDeformed=a_spSurfaceI; }
168 {
return m_spDeformed; }
170 void setDrawDebug(
sp<DrawI> a_spDrawDebug)
171 { m_spDrawDebug=a_spDrawDebug; }
173 void storeAsRest(U32 a_index);
176 void step(U32 a_index);
183 Array<I32>& bindFace(
void) {
return m_bindFace; }
187 {
return m_locationRef; }
189 {
return m_locationDef; }
195 Contact(
void) { clear(); }
214 BWORD active(
void) {
return m_active; }
224 void computeAngles(U32 a_index,
Vector4& a_rAngle,
250 Real m_tensionRandom;
252 Real m_restorationRandom;
258 Real m_grabBiasRandom;
266 Real m_breakAngleRandom;
268 Real m_elasticAngleRandom;
270 Real m_popAngleRandom;
271 Real m_recoveryAngle;
272 Real m_recoveryAngleRandom;
273 CollisionMethod m_method;
kernel
Definition: namespace.dox:3
Wrapper for std::vector.
Definition: Array.h:21
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
minimal semi-implicit curve sim
Definition: Blade.h:20