@@ -19,16 +19,12 @@ namespace Node
19
19
20
20
macro_attr (Position,Ogre::Vector3)
21
21
macro_attr (Scale,Ogre::Vector3)
22
- macro_attr (Orientation,Ogre::Quaternion);
22
+ macro_attr (Orientation,Ogre::Quaternion)
23
23
24
- singlereturn (getName )
24
+ macro_attr (Listener,Ogre::Node::Listener* )
25
25
26
- /*
27
- */
28
- VALUE _numChildren (VALUE self)
29
- {
30
- return UINT2NUM (_self->numChildren ());
31
- }
26
+ singlereturn (getName)
27
+ singlereturn (numChildren)
32
28
33
29
/*
34
30
*/
@@ -58,20 +54,6 @@ VALUE _inspect(VALUE self)
58
54
return rb_f_sprintf (3 ,array);
59
55
}
60
56
61
- /*
62
- */
63
- VALUE _getListener (VALUE self)
64
- {
65
- Ogre::Node::Listener *temp = _self->getListener ();
66
- return temp ? wrap (temp) : Qnil;
67
- }
68
- /*
69
- */
70
- VALUE _setListener (VALUE self,VALUE val)
71
- {
72
- _self->setListener (wrap<Ogre::Node::Listener*>(val));
73
- return val;
74
- }
75
57
/*
76
58
*/
77
59
VALUE _each (VALUE self)
@@ -152,6 +134,35 @@ VALUE _createChild(int argc,VALUE *argv,VALUE self)
152
134
}
153
135
}
154
136
137
+ /*
138
+ */
139
+ VALUE _roll (int argc,VALUE *argv,VALUE self)
140
+ {
141
+ VALUE angle,space;
142
+ rb_scan_args (argc, argv, " 11" ,&angle,&space);
143
+ _self->roll (wrap<Ogre::Radian>(angle),wrapenum<Ogre::Node::TransformSpace>(space));
144
+ return self;
145
+ }
146
+ /*
147
+ */
148
+ VALUE _yaw (int argc,VALUE *argv,VALUE self)
149
+ {
150
+ VALUE angle,space;
151
+ rb_scan_args (argc, argv, " 11" ,&angle,&space);
152
+ _self->yaw (wrap<Ogre::Radian>(angle),wrapenum<Ogre::Node::TransformSpace>(space));
153
+ return self;
154
+ }
155
+ /*
156
+ */
157
+ VALUE _pitch (int argc,VALUE *argv,VALUE self)
158
+ {
159
+ VALUE angle,space;
160
+ rb_scan_args (argc, argv, " 11" ,&angle,&space);
161
+ _self->pitch (wrap<Ogre::Radian>(angle),wrapenum<Ogre::Node::TransformSpace>(space));
162
+ return self;
163
+ }
164
+
165
+
155
166
}
156
167
}
157
168
void Init_OgreNode (VALUE rb_mOgre)
@@ -182,11 +193,22 @@ void Init_OgreNode(VALUE rb_mOgre)
182
193
183
194
rb_define_attr_method (rb_cOgreNode," position" ,_getPosition,_setPosition);
184
195
rb_define_attr_method (rb_cOgreNode," scale" ,_getScale,_setScale);
185
-
196
+
197
+
198
+ rb_define_method (rb_cOgreNode," roll" ,RUBY_METHOD_FUNC (_roll),-1 );
199
+ rb_define_method (rb_cOgreNode," yaw" ,RUBY_METHOD_FUNC (_yaw),-1 );
200
+ rb_define_method (rb_cOgreNode," pitch" ,RUBY_METHOD_FUNC (_pitch),-1 );
201
+
186
202
187
203
rb_define_method (rb_cOgreNode," each" ,RUBY_METHOD_FUNC (_each),0 );
188
204
rb_include_module (rb_cOgreNode,rb_mEnumerable);
189
205
rb_define_method (rb_cOgreNode," []" ,RUBY_METHOD_FUNC (_getChild),1 );
190
206
191
207
registerklass<Ogre::Node>(rb_cOgreNode);
208
+
209
+ registerenum<Ogre::Node::TransformSpace>(" Ogre::Node::TransformSpace" )
210
+ .add (Ogre::Node::TS_LOCAL," local" )
211
+ .add (Ogre::Node::TS_PARENT," parent" )
212
+ .add (Ogre::Node::TS_WORLD," world" );
213
+
192
214
}
0 commit comments